Skip to content

feat(agent): [2/5] conversationMode on the conversational agent tool settings [PRODEV-1742] - #1955

Merged
ionmincu merged 2 commits into
mainfrom
feat/prodev-1742-conversation-mode
Oct 26, 2026
Merged

ionmincu merged 2 commits into
mainfrom
feat/prodev-1742-conversation-mode

Conversation

@ionmincu

@ionmincu ionmincu commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

PR stack (PRODEV-1742 conversation mode), merge in this order

  1. [1/5] UiPath/Agents#6761: schema settings.conversationMode (single | multiple, absent = single). Merged; @uipath/agents-storage-schemas 1.46.0 is released.
  2. [2/5] feat(agent): [2/5] conversationMode on the conversational agent tool settings [PRODEV-1742] #1955: settings model field (AgentConversationalAgentToolSettings). Merged; uipath 2.14.44 is published on PyPI. ← this PR
  3. [3/5] feat(a2a): [3/5] single-conversation mode for the conversational agent tool [PRODEV-1742] uipath-langchain-python#1175: single-mode tool + history-based continuation. Open; version 0.18.52 (uv.lock locks uipath 2.14.44), releases as uipath-langchain 0.18.52 once merged.
  4. [4/5] UiPath/uipath-agents-python#826: pin bump (uipath-langchain==0.18.52, uipath[ipc]>=2.14.44). Run uv lock once [3/5] has published 0.18.52.
  5. [5/5] UiPath/flow-workbench#5390: "Allow multiple conversations" toggle (default off = single). Blocked on the classifier rename PR UiPath/flow-workbench#5195, then the schema bump to 1.46.0; do NOT merge before that (1.44.0 strips conversationMode).

Summary

  • Adds AgentConversationalAgentToolSettings(AgentToolSettings) and uses it as the settings type of AgentConversationalAgentToolResourceConfig.
  • conversationMode: "single" | "multiple", optional. Absent or null parses to None; the runtime ([3/5]) treats None as "single". An unknown string (for example a mode a later release adds) is read as None with a warning, like an unknown tool type, so it does not stop the whole AgentDefinition from loading. A non-string value is still a validation error.
  • runInBackground: optional bool. It already exists in the released storage schema but wasn't modelled in Python.
  • AgentToolSettings keeps extra="allow", so old records and unknown settings still parse and round-trip.
  • Bumps uipath to 2.14.44 (the uv.lock entry for the editable package is updated too).

Test plan

  • uv run pytest tests/agent --no-cov (new TestConversationalAgentToolSettings: both modes, absent, null, unknown strings read as None with a warning (direct and through AgentDefinition, which still loads), non-strings rejected, no warning for known values, runInBackground, base settings and extras preserved, record without a settings key, alias round-trip). The new tests failed before the change (ImportError, then the unknown-string cases).
  • ruff check, ruff format --check, mypy src tests, scripts/lint_httpx_client.py

🤖 Generated with Claude Code

…settings [PRODEV-1742]

Add AgentConversationalAgentToolSettings with conversation_mode
("single" | "multiple", absent = None, treated as single by the runtime)
and run_in_background, and use it for the conversational agent tool.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A strict Literal made a conversationMode this version does not know fail the whole
AgentDefinition, unlike the lenient handling of unknown tool types, and a future third mode would
stop a new runtime from loading the agent. An unknown string now reads as None (with a warning,
and None means single); null stays None, and a non-string is still a validation error.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@ionmincu
ionmincu marked this pull request as ready for review October 26, 2026 10:01
Copilot AI balanced review requested due to automatic review settings October 26, 2026 10:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

@ionmincu
ionmincu merged commit e355f41 into main Oct 26, 2026
186 of 187 checks passed
@ionmincu
ionmincu deleted the feat/prodev-1742-conversation-mode branch October 26, 2026 12:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test:uipath-integrations test:uipath-langchain Triggers tests in the uipath-langchain-python repository test:uipath-runtime

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants