From 9fb562063d08571315f68c79583e9a2ff453d603 Mon Sep 17 00:00:00 2001 From: Josh Park <50765702+JoshParkSJ@users.noreply.github.com> Date: Fri, 21 Aug 2026 16:56:04 -0400 Subject: [PATCH 1/3] fix(voice): let the in-flight tool drain outlast a single tool call The drain after a voice session ends was capped at 30s while a voice tool call can now run up to 180s (JAR-10169), so any call ending mid-tool always abandoned the in-flight task. Raise the cap to 190s, just above the tool deadline, so the tool reaches its own timeout and reports instead of being dropped here. Trade-off: a URT job can now linger up to ~3 minutes after the caller hangs up if a Process tool is still running. Co-Authored-By: Claude Opus 5 (1M context) --- packages/uipath/src/uipath/_cli/_chat/_voice_bridge.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/uipath/src/uipath/_cli/_chat/_voice_bridge.py b/packages/uipath/src/uipath/_cli/_chat/_voice_bridge.py index 4240f28c0..4b0597c45 100644 --- a/packages/uipath/src/uipath/_cli/_chat/_voice_bridge.py +++ b/packages/uipath/src/uipath/_cli/_chat/_voice_bridge.py @@ -32,7 +32,10 @@ _ATTEMPT_CAS_SOCKET_CONNECTION_TIMEOUT_SECONDS = 15.0 -_INFLIGHT_TOOL_DRAIN_AFTER_AGENT_END_TIMEOUT_SECONDS = 30.0 +# Must outlast a single tool call, otherwise a call that ends mid-tool always abandons the +# in-flight task. Sized just above the voice tool-call deadline (180s, JAR-10169) so the tool +# hits its own timeout and reports rather than being dropped here. +_INFLIGHT_TOOL_DRAIN_AFTER_AGENT_END_TIMEOUT_SECONDS = 190.0 class VoiceToolCallSessionError(RuntimeError): From 50051ac758a2041bff2535473d234ba8d0ba872d Mon Sep 17 00:00:00 2001 From: Josh Park <50765702+JoshParkSJ@users.noreply.github.com> Date: Fri, 21 Aug 2026 18:01:23 -0400 Subject: [PATCH 2/3] chore: bump uipath to 2.14.7 and trim the drain comment 2.14.6 is already published, so check-version-availability fails the PR and the drain fix never reaches uipath-agents-python. 2.14.7 also stays inside that repo's uipath>=2.14.4,<2.15.0 range, so a lock refresh picks it up. Co-Authored-By: Claude Opus 5 (1M context) --- packages/uipath/pyproject.toml | 2 +- packages/uipath/src/uipath/_cli/_chat/_voice_bridge.py | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/uipath/pyproject.toml b/packages/uipath/pyproject.toml index a05a22a38..c46c16201 100644 --- a/packages/uipath/pyproject.toml +++ b/packages/uipath/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "uipath" -version = "2.14.6" +version = "2.14.7" 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/_cli/_chat/_voice_bridge.py b/packages/uipath/src/uipath/_cli/_chat/_voice_bridge.py index 4b0597c45..368c38fad 100644 --- a/packages/uipath/src/uipath/_cli/_chat/_voice_bridge.py +++ b/packages/uipath/src/uipath/_cli/_chat/_voice_bridge.py @@ -32,9 +32,8 @@ _ATTEMPT_CAS_SOCKET_CONNECTION_TIMEOUT_SECONDS = 15.0 -# Must outlast a single tool call, otherwise a call that ends mid-tool always abandons the -# in-flight task. Sized just above the voice tool-call deadline (180s, JAR-10169) so the tool -# hits its own timeout and reports rather than being dropped here. +# Must outlast one tool call, or a session ending mid-tool abandons the in-flight task. +# Sits just above the 180s voice tool-call deadline (JAR-10169) so the tool reports first. _INFLIGHT_TOOL_DRAIN_AFTER_AGENT_END_TIMEOUT_SECONDS = 190.0 From 361ecaecc0ececd85408f1b4f9b64b4277697fa6 Mon Sep 17 00:00:00 2001 From: Josh Park <50765702+JoshParkSJ@users.noreply.github.com> Date: Fri, 21 Aug 2026 19:13:29 -0400 Subject: [PATCH 3/3] chore: refresh uv.lock for 2.14.7 The lint job runs `uv sync --locked --all-extras`, which refuses to re-lock, so pyproject at 2.14.7 against a lock still pinning 2.14.6 failed CI. Also drop the ticket reference from the drain comment; the constant's relationship to the tool-call deadline is the part worth keeping in the code. Co-Authored-By: Claude Opus 5 (1M context) --- packages/uipath/src/uipath/_cli/_chat/_voice_bridge.py | 2 +- packages/uipath/uv.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/uipath/src/uipath/_cli/_chat/_voice_bridge.py b/packages/uipath/src/uipath/_cli/_chat/_voice_bridge.py index 368c38fad..32f0c61b1 100644 --- a/packages/uipath/src/uipath/_cli/_chat/_voice_bridge.py +++ b/packages/uipath/src/uipath/_cli/_chat/_voice_bridge.py @@ -33,7 +33,7 @@ _ATTEMPT_CAS_SOCKET_CONNECTION_TIMEOUT_SECONDS = 15.0 # Must outlast one tool call, or a session ending mid-tool abandons the in-flight task. -# Sits just above the 180s voice tool-call deadline (JAR-10169) so the tool reports first. +# Sits just above the 180s voice tool-call deadline so the tool reports first. _INFLIGHT_TOOL_DRAIN_AFTER_AGENT_END_TIMEOUT_SECONDS = 190.0 diff --git a/packages/uipath/uv.lock b/packages/uipath/uv.lock index 4fbc8c04e..b27e0a4e2 100644 --- a/packages/uipath/uv.lock +++ b/packages/uipath/uv.lock @@ -2599,7 +2599,7 @@ wheels = [ [[package]] name = "uipath" -version = "2.14.6" +version = "2.14.7" source = { editable = "." } dependencies = [ { name = "applicationinsights" },