Skip to content

feat(agent): classifier tool with typesafe and openai providers - #1937

Open
ionut-mihalache-uipath wants to merge 2 commits into
mainfrom
ccr-2add1d15-l3b9id
Open

ionut-mihalache-uipath wants to merge 2 commits into
mainfrom
ccr-2add1d15-l3b9id

Conversation

@ionut-mihalache-uipath

Copy link
Copy Markdown
Contributor

Summary

  • The jev-classifier internal tool type becomes classifier. Its settings hold the model and its provider, both required: typesafe for Jev, openai for OpenAI's Decisions API.
  • The question models gain the OpenAI Decisions shapes (choice with choices, score with labeled levels, predicate) next to the Jev ones. Each question rejects the fields of the other question types and of the other provider.
  • EndpointManager.get_vendor_decisions_endpoint() returns the LLM Gateway's raw vendor decisions route, llm/raw/vendor/{vendor}/model/{model}/decisions, through AgentHub or Orchestrator like the other LLM endpoints.
  • Bumps uipath to 2.14.37 and uipath-platform to 0.2.36.

Why

OpenAI released a Decisions API that answers typed classification questions the way Jev does. The LLM Gateway now serves both on a /decisions route; Jev's /completions route is deprecated. One classifier tool with a provider is simpler for agent authors than two near-identical tools.

Breaking for the Jev tool: jev-classifier no longer parses. The tool is unreleased.

Testing

  • test_classifier_tool.py: 55 tests cover both providers' question shapes and the cross-provider and cross-type rejections.
  • New test_endpoints_manager.py covers the AgentHub and Orchestrator decisions routes.
  • An agent definition with one tool per provider ran end to end through the decisions route.

🤖 Generated with Claude Code

claude and others added 2 commits October 9, 2026 18:28
…esafe and openai providers

The `jev-classifier` internal tool type becomes `classifier`. Its settings hold
the model and its provider (`typesafe` for Jev, `openai` for the Decisions API),
both required. The question models gain the OpenAI Decisions shapes (choice with
choices, score with labeled levels, predicate) next to the Jev ones, and each
question rejects the fields of the other types and of the other provider.

Breaking for the unreleased Jev tool: `jev-classifier` no longer parses.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F6qDf7FQSgba7JrYH4j6jw
The LLM Gateway serves typed classification decisions (OpenAI's Decisions API,
TypeSafe's Jev) on a raw vendor route next to /completions. AgentHub and
Orchestrator proxy it as llm/raw/vendor/{vendor}/model/{model}/decisions;
EndpointManager.get_vendor_decisions_endpoint() picks between them like the
other LLM endpoints.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 9, 2026 15:31
@github-actions github-actions Bot added test:uipath-langchain Triggers tests in the uipath-langchain-python repository test:uipath-runtime test:uipath-integrations labels Oct 9, 2026

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.

🟡 Changes recommended

The uipath lockfile still records the editable uipath-platform dependency at version 0.2.35.

0 open findings

What changed in this PR

Adds a unified classifier tool supporting TypeSafe Jev and OpenAI Decisions providers.

Changes:

  • Adds provider-specific classifier question models and validation.
  • Adds vendor decisions endpoint selection and tests.
  • Bumps package versions.
File Description
packages/​uipath/​src/​uipath/​agent/​models/​agent.py Defines unified classifier models and providers.
packages/​uipath/​tests/​agent/​models/​test_classifier_tool.py Tests classifier validation and question shapes.
packages/​uipath/​pyproject.toml Bumps uipath version.
packages/​uipath/​uv.lock Updates the locked uipath version.
packages/​uipath-platform/​src/​uipath/​platform/​common/​_endpoints_manager.py Adds decisions endpoint routing.
packages/​uipath-platform/​tests/​common/​test_endpoints_manager.py Tests AgentHub and Orchestrator routes.
packages/​uipath-platform/​pyproject.toml Bumps uipath-platform version.
packages/​uipath-platform/​uv.lock Updates the locked platform version.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@sonarqubecloud

sonarqubecloud Bot commented Oct 9, 2026

Copy link
Copy Markdown

This branch has not been deployed

No deployments
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