From 77ea2f0763cd1d080e096db5294bef369062a3f9 Mon Sep 17 00:00:00 2001 From: Ionut Mihalache Date: Thu, 23 Jul 2026 21:54:53 +0300 Subject: [PATCH 1/2] feat(agent): add http-request internal tool type Co-Authored-By: Claude Fable 5 --- packages/uipath/pyproject.toml | 2 +- packages/uipath/src/uipath/agent/models/agent.py | 10 ++++++++++ packages/uipath/uv.lock | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/uipath/pyproject.toml b/packages/uipath/pyproject.toml index b35e51aee..9c5cf81ca 100644 --- a/packages/uipath/pyproject.toml +++ b/packages/uipath/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "uipath" -version = "2.13.15" +version = "2.13.16" description = "Python SDK and CLI for UiPath Platform, enabling programmatic interaction with automation services, process management, and deployment tools." readme = { file = "README.md", content-type = "text/markdown" } requires-python = ">=3.11" diff --git a/packages/uipath/src/uipath/agent/models/agent.py b/packages/uipath/src/uipath/agent/models/agent.py index 033bb04ed..1798d3da3 100644 --- a/packages/uipath/src/uipath/agent/models/agent.py +++ b/packages/uipath/src/uipath/agent/models/agent.py @@ -127,6 +127,7 @@ class AgentInternalToolType(str, CaseInsensitiveEnum): ANALYZE_FILES = "analyze-attachments" DEEP_RAG = "deep-rag" BATCH_TRANSFORM = "batch-transform" + HTTP_REQUEST = "http-request" class AgentEscalationRecipientType(str, CaseInsensitiveEnum): @@ -1046,11 +1047,20 @@ class AgentInternalBatchTransformToolProperties(BaseResourceProperties): settings: AgentInternalBatchTransformSettings = Field(..., alias="settings") +class AgentInternalHttpRequestProperties(BaseResourceProperties): + """Agent internal http request tool properties model.""" + + tool_type: Literal[AgentInternalToolType.HTTP_REQUEST] = Field( + alias="toolType", default=AgentInternalToolType.HTTP_REQUEST, frozen=True + ) + + AgentInternalToolProperties = Annotated[ Union[ AgentInternalAnalyzeFilesToolProperties, AgentInternalDeepRagToolProperties, AgentInternalBatchTransformToolProperties, + AgentInternalHttpRequestProperties, ], Field(discriminator="tool_type"), _case_insensitive_enum_validator("tool_type", AgentInternalToolType, "toolType"), diff --git a/packages/uipath/uv.lock b/packages/uipath/uv.lock index 796ffb972..7af888cf9 100644 --- a/packages/uipath/uv.lock +++ b/packages/uipath/uv.lock @@ -2598,7 +2598,7 @@ wheels = [ [[package]] name = "uipath" -version = "2.13.15" +version = "2.13.16" source = { editable = "." } dependencies = [ { name = "applicationinsights" }, From 47e17afaaee1a0e1a852d9d91699b865984809bc Mon Sep 17 00:00:00 2001 From: Ionut Mihalache Date: Thu, 23 Jul 2026 22:05:31 +0300 Subject: [PATCH 2/2] test(agent): cover http-request internal tool deserialization Co-Authored-By: Claude Fable 5 --- .../uipath/src/uipath/agent/models/agent.py | 4 +-- .../uipath/tests/agent/models/test_agent.py | 28 +++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/packages/uipath/src/uipath/agent/models/agent.py b/packages/uipath/src/uipath/agent/models/agent.py index 1798d3da3..86a0de739 100644 --- a/packages/uipath/src/uipath/agent/models/agent.py +++ b/packages/uipath/src/uipath/agent/models/agent.py @@ -1047,7 +1047,7 @@ class AgentInternalBatchTransformToolProperties(BaseResourceProperties): settings: AgentInternalBatchTransformSettings = Field(..., alias="settings") -class AgentInternalHttpRequestProperties(BaseResourceProperties): +class AgentInternalHttpRequestToolProperties(BaseResourceProperties): """Agent internal http request tool properties model.""" tool_type: Literal[AgentInternalToolType.HTTP_REQUEST] = Field( @@ -1060,7 +1060,7 @@ class AgentInternalHttpRequestProperties(BaseResourceProperties): AgentInternalAnalyzeFilesToolProperties, AgentInternalDeepRagToolProperties, AgentInternalBatchTransformToolProperties, - AgentInternalHttpRequestProperties, + AgentInternalHttpRequestToolProperties, ], Field(discriminator="tool_type"), _case_insensitive_enum_validator("tool_type", AgentInternalToolType, "toolType"), diff --git a/packages/uipath/tests/agent/models/test_agent.py b/packages/uipath/tests/agent/models/test_agent.py index 5d62149a9..4333dec38 100644 --- a/packages/uipath/tests/agent/models/test_agent.py +++ b/packages/uipath/tests/agent/models/test_agent.py @@ -27,6 +27,7 @@ AgentIntegrationToolResourceConfig, AgentInternalBatchTransformToolProperties, AgentInternalDeepRagToolProperties, + AgentInternalHttpRequestToolProperties, AgentInternalToolResourceConfig, AgentInternalToolType, AgentIxpExtractionResourceConfig, @@ -3157,6 +3158,24 @@ def test_case_insensitive_enums(self): "description": "Test batch transform tool", "isEnabled": True, }, + { + "$resourceType": "Tool", + "type": "Internal", + "inputSchema": { + "type": "object", + "properties": {}, + }, + "outputSchema": {"type": "object", "properties": {}}, + "arguments": {}, + "settings": {"timeout": 0, "maxAttempts": 0, "retryDelay": 0}, + "properties": { + "toolType": "Http-Request", + }, + "argumentProperties": {}, + "name": "HTTP Request Tool", + "description": "Test http request tool", + "isEnabled": True, + }, ], "guardrails": [ { @@ -3279,6 +3298,15 @@ def test_case_insensitive_enums(self): == BatchTransformWebSearchGrounding.ENABLED ) + http_request_tool = config.resources[5] + assert isinstance(http_request_tool, AgentInternalToolResourceConfig) + assert isinstance( + http_request_tool.properties, AgentInternalHttpRequestToolProperties + ) + assert ( + http_request_tool.properties.tool_type == AgentInternalToolType.HTTP_REQUEST + ) + assert config.guardrails is not None custom_guardrail = config.guardrails[0] assert isinstance(custom_guardrail, AgentCustomGuardrail)