Repository navigation
feat(agent): classifier tool with typesafe and openai providers - #1937
Conversation
There was a problem hiding this comment.
🟡 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.
a4a8ab9 to
c627e1c
Compare
Epixa-Dogfood ReviewReview unavailable: Not reviewed: What this PR doesThe pull request author describes the intended change as follows: feat(agent): classifier tool with typesafe and Epixa runtime providers This review did not reuse a local review of this change. Set up Epixa local review. Full review: c627e1c |
| OR_VENDOR_COMPLETION_ENDPOINT = ( | ||
| "orchestrator_/llm/raw/vendor/{vendor}/model/{model}/completions" | ||
| ) | ||
| OR_VENDOR_DECISION_ENDPOINT = ( |
There was a problem hiding this comment.
OR is no longer needed, was just temporary, and it's now deprecated, please remove and maybe add a coment about other or routes that are deprecated
c627e1c to
95e9f90
Compare
🚨 Heads up:
|
andreiancuta-uipath
left a comment
There was a problem hiding this comment.
thought: The models/agent.py file is getting large. We might want to think about splitting it.
…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 proxies it
as llm/raw/vendor/{vendor}/model/{model}/decisions, and
EndpointManager.get_vendor_decisions_endpoint() returns that route.
There is no Orchestrator variant: the orchestrator_/llm routes are no longer
used, and a comment on UiPathEndpoints now says so.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
95e9f90 to
b7d380e
Compare
🚨 Heads up:
|
|



Summary
jev-classifierinternal tool type becomesclassifier. Its settings hold the model and its provider, both required:typesafefor Jev,openaifor OpenAI's Decisions API.choices, score with labeledlevels, 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 AgentHub's raw vendor decisions route,agenthub_/llm/raw/vendor/{vendor}/model/{model}/decisions. There is no Orchestrator variant: theorchestrator_/llmroutes are no longer used, and a comment onUiPathEndpointsnow says so.uipathto 2.14.40 anduipath-platformto 0.2.38.Why
OpenAI released a Decisions API that answers typed classification questions the way Jev does. The LLM Gateway now serves both on a
/decisionsroute; Jev's/completionsroute is deprecated. One classifier tool with a provider is simpler for agent authors than two near-identical tools.Breaking for the Jev tool:
jev-classifierno 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.test_endpoints_manager.pychecks that the decisions endpoint is AgentHub's whateverUIPATH_LLM_SERVICEsays.🤖 Generated with Claude Code