@@ -42,9 +42,18 @@ class LLMGatewayBaseSettings(UiPathBaseSettings):
4242 requesting_product : str = Field (default = ..., validation_alias = "LLMGW_REQUESTING_PRODUCT" )
4343 requesting_feature : str = Field (default = ..., validation_alias = "LLMGW_REQUESTING_FEATURE" )
4444
45- # Optional fields - used for tracking and billing
46- user_id : str | None = Field (default = None , validation_alias = "LLMGW_SEMANTIC_USER_ID" )
47- action_id : str | None = Field (default = None , validation_alias = "LLMGW_ACTION_ID" )
45+ # Optional fields - situational usecase
46+ user_id : str | None = Field (
47+ default = None , validation_alias = "LLMGW_SEMANTIC_USER_ID"
48+ ) # used to apply governance rules
49+ action_id : str | None = Field (
50+ default = None , validation_alias = "LLMGW_ACTION_ID"
51+ ) # used to track the action
52+ operation_code : str | None = Field (
53+ default = None , validation_alias = "LLMGW_OPERATION_CODE"
54+ ) # used to correctly identify byo models
55+
56+ # additional headers for the request (e.g. X-UiPath-LlmGateway-Telemetry-SessionId)
4857 additional_headers : Mapping [str , str ] = Field (
4958 default_factory = dict , validation_alias = "LLMGW_ADDITIONAL_HEADERS"
5059 )
@@ -82,11 +91,15 @@ def build_auth_headers(
8291 headers = {
8392 "X-UiPath-LlmGateway-RequestingProduct" : self .requesting_product ,
8493 "X-UiPath-LlmGateway-RequestingFeature" : self .requesting_feature ,
94+ "X-UiPath-Internal-AccountId" : self .org_id ,
95+ "X-UiPath-Internal-TenantId" : self .tenant_id ,
8596 }
8697 if self .user_id :
8798 headers ["X-UiPath-LlmGateway-UserId" ] = self .user_id
8899 if self .action_id :
89100 headers ["X-UiPath-LlmGateway-ActionId" ] = self .action_id
101+ if self .operation_code :
102+ headers ["X-UiPath-LlmGateway-OperationCode" ] = self .operation_code
90103 if self .additional_headers :
91104 headers .update (self .additional_headers )
92105 return headers
0 commit comments