fix(voice): let the in-flight tool drain outlast a single tool call [JAR-10169] - #1867
fix(voice): let the in-flight tool drain outlast a single tool call [JAR-10169]#1867JoshParkSJ wants to merge 1 commit into
Conversation
Voice tool calls can now run up to 180s; a 30s drain abandoned any tool still in flight when the session ended, so it never got to report. 190s sits just above the tool deadline. Bumps to 2.14.7. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
361ecae to
0ee5b0c
Compare
|
🚨 Heads up:
|
There was a problem hiding this comment.
Pull request overview
Updates the UiPath Python CLI voice bridge to allow in-flight voice tool calls to finish (or hit their own timeout) after the agent/session ends, aligning the drain behavior with longer-running voice tool calls.
Changes:
- Increased the post-session in-flight tool drain cap from 30s to 190s in the voice bridge implementation.
- Bumped the
uipathpackage version from2.14.6to2.14.7. - Updated the lockfile to reflect the new package version.
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| packages/uipath/src/uipath/_cli/_chat/_voice_bridge.py | Extends the in-flight tool drain timeout to avoid dropping mid-tool-call work on session end. |
| packages/uipath/pyproject.toml | Bumps package version to 2.14.7. |
| packages/uipath/uv.lock | Updates the locked editable uipath package version to 2.14.7. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.



Part 3 of 3 for JAR-10169. Companions: uipath-agents-python#695 (the substantive fix), AgentInterfaces#1163.
_INFLIGHT_TOOL_DRAIN_AFTER_AGENT_END_TIMEOUT_SECONDS30s → 190s. Once a tool call can run 180s (#695), a drain shorter than one tool call means any session ending mid-tool abandons the in-flight task, so it never reports.Trade-off: a URT job can linger ~3 minutes after the caller hangs up if a Process tool is still running. Cancelling would not cancel the Orchestrator job anyway.
15 passedintest_voice_bridge.py; ruff clean.