Repository navigation
feat(codex-sdk): add the uipath-codex-sdk integration - #380
Open
al3xanndru wants to merge 2 commits into
Open
al3xanndru wants to merge 2 commits into
al3xanndru wants to merge 2 commits into
Conversation
Runs OpenAI Codex SDK agents on the UiPath platform. The bundled codex binary's model calls go through a loopback proxy to the tenant's LLM Gateway (OpenAI Responses passthrough), and UiPath tools are served to it from an in-process MCP tool host. - Runtime and factory on the uipath-runtime protocols, resumable through the SQLite state store: durable tools suspend the run and resume it with the platform's result, one job and one trace throughout. - UiPath tools: process and agent jobs, Action Center escalations, Integration Service activities, context grounding, DeepRAG, Batch Transform, IXP extraction with Document Validation, job attachments and Analyze Files; code factories and agent.json *_from_resource builders with argumentProperties. - MCP servers (stdio, remote, UiPath-hosted), structured output, built-in tools with a configurable sandbox. - Low-code trace schema, eval tool mocking and simulation, bindings overrides. - 19 samples, tests (offline e2e against the real codex binary). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
🟡 Changes recommended
One or more issues must be addressed before approval.
2 open issues
What changed in this PR
Introduces the Codex SDK integration into UiPath’s runtime and CLI ecosystem, with resumable execution support, platform-tool exports, tests, and runnable samples.
Changes:
- Adds runtime configuration, agent loading, gateway clients, trigger handling, and CLI scaffolding.
- Adds storage, runtime, and offline suspend/resume tests.
- Provides samples covering MCP, structured output, integrations, attachments, and durable tools.
Two blocking issues were identified: the local and remote MCP samples require explicit approval settings for their unannotated tools.
| File | Description |
|---|---|
| packages/uipath-codex-sdk/tests/test_storage.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/tests/test_immediate_tools_runtime.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/tests/test_abandoned_stream.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/tests/durable/test_cli.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/tests/durable/conftest.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/tests/durable/__init__.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/tests/contract/conftest.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/tests/contract/__init__.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/tests/_typing.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/tests/__init__.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/src/uipath_codex_sdk/tool_results.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/src/uipath_codex_sdk/runtime/triggers.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/src/uipath_codex_sdk/runtime/loader.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/src/uipath_codex_sdk/runtime/gateway/upstream.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/src/uipath_codex_sdk/runtime/errors.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/src/uipath_codex_sdk/runtime/config.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/src/uipath_codex_sdk/runtime/__init__.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/src/uipath_codex_sdk/middlewares.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/src/uipath_codex_sdk/_cli/cli_new.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/src/uipath_codex_sdk/_cli/_templates/main.py.template | Updated as part of this pull request. |
| packages/uipath-codex-sdk/src/uipath_codex_sdk/_cli/_templates/codex.json.template | Updated as part of this pull request. |
| packages/uipath-codex-sdk/src/uipath_codex_sdk/_cli/__init__.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/src/uipath_codex_sdk/__init__.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/uipath-mcp-agent/uipath.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/uipath-mcp-agent/README.md | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/uipath-mcp-agent/pyproject.toml | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/uipath-mcp-agent/main.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/uipath-mcp-agent/input.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/uipath-mcp-agent/codex.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/structured-output-agent/uipath.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/structured-output-agent/README.md | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/structured-output-agent/pyproject.toml | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/structured-output-agent/project.uiproj | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/structured-output-agent/main.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/structured-output-agent/input.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/structured-output-agent/evaluations/evaluators/json-similarity.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/structured-output-agent/evaluations/evaluators/contains-topic.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/structured-output-agent/evaluations/eval-sets/evaluation-set-default.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/structured-output-agent/codex.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/structured-output-agent/.env.example | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/slack-message-agent/uipath.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/slack-message-agent/README.md | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/slack-message-agent/pyproject.toml | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/slack-message-agent/main.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/slack-message-agent/input.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/slack-message-agent/codex.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/slack-message-agent/bindings.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/slack-message-agent/.env.example | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/remote-mcp-agent/uipath.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/remote-mcp-agent/README.md | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/remote-mcp-agent/pyproject.toml | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/remote-mcp-agent/orders_http_server.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/remote-mcp-agent/main.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/remote-mcp-agent/input.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/remote-mcp-agent/codex.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/quickstart-agent/uipath.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/quickstart-agent/README.md | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/quickstart-agent/pyproject.toml | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/quickstart-agent/main.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/quickstart-agent/input.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/quickstart-agent/codex.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/quickstart-agent/.env.example | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/process-resource-agent/uipath.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/process-resource-agent/resources/add_shipping.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/process-resource-agent/README.md | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/process-resource-agent/pyproject.toml | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/process-resource-agent/main.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/process-resource-agent/input.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/process-resource-agent/evaluations/evaluators/tool-call-order.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/process-resource-agent/evaluations/evaluators/contains.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/process-resource-agent/evaluations/eval-sets/evaluation-set-mocked.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/process-resource-agent/codex.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/process-resource-agent/.env.example | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/outlook-email-agent/uipath.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/outlook-email-agent/README.md | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/outlook-email-agent/pyproject.toml | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/outlook-email-agent/main.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/outlook-email-agent/input.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/outlook-email-agent/codex.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/outlook-email-agent/bindings.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/outlook-email-agent/.env.example | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/local-mcp-agent/uipath.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/local-mcp-agent/README.md | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/local-mcp-agent/pyproject.toml | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/local-mcp-agent/orders_server.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/local-mcp-agent/main.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/local-mcp-agent/input.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/local-mcp-agent/evaluations/evaluators/tool-call-order.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/local-mcp-agent/evaluations/evaluators/tool-call-count.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/local-mcp-agent/evaluations/evaluators/tool-call-arguments.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/local-mcp-agent/evaluations/evaluators/contains-status.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/local-mcp-agent/evaluations/eval-sets/evaluation-set-default.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/local-mcp-agent/codex.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/jira-issue-agent/uipath.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/jira-issue-agent/README.md | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/jira-issue-agent/pyproject.toml | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/jira-issue-agent/main.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/jira-issue-agent/input.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/jira-issue-agent/codex.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/jira-issue-agent/bindings.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/jira-issue-agent/.env.example | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/ixp-validation-agent/upload.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/ixp-validation-agent/uipath.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/ixp-validation-agent/README.md | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/ixp-validation-agent/pyproject.toml | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/ixp-validation-agent/main.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/ixp-validation-agent/input.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/ixp-validation-agent/evaluations/evaluators/tool-call-order.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/ixp-validation-agent/evaluations/evaluators/contains.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/ixp-validation-agent/codex.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/ixp-validation-agent/.env.example | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/integration-tool-agent/uipath.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/integration-tool-agent/pyproject.toml | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/integration-tool-agent/main.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/integration-tool-agent/input.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/integration-tool-agent/evaluations/evaluators/tool-call-order.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/integration-tool-agent/evaluations/evaluators/contains.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/integration-tool-agent/evaluations/eval-sets/evaluation-set-mocked.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/integration-tool-agent/codex.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/integration-tool-agent/bindings.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/integration-tool-agent/.env.example | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/escalation-agent/uipath.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/escalation-agent/README.md | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/escalation-agent/pyproject.toml | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/escalation-agent/main.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/escalation-agent/input.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/escalation-agent/evaluations/evaluators/tool-call-order.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/escalation-agent/evaluations/evaluators/contains.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/escalation-agent/evaluations/eval-sets/evaluation-set-mocked.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/escalation-agent/codex.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/escalation-agent/bindings.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/escalation-agent/.env.example | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/durable-process-tool/uipath.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/durable-process-tool/pyproject.toml | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/durable-process-tool/main.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/durable-process-tool/input.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/durable-process-tool/evaluations/evaluators/tool-call-order.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/durable-process-tool/evaluations/evaluators/contains.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/durable-process-tool/evaluations/eval-sets/evaluation-set-mocked.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/durable-process-tool/codex.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/durable-process-tool/bindings.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/durable-process-tool/.env.example | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-attachments-agent/upload.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-attachments-agent/uipath.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-attachments-agent/README.md | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-attachments-agent/pyproject.toml | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-attachments-agent/main.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-attachments-agent/input.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-attachments-agent/evaluations/evaluators/tool-call-order.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-attachments-agent/evaluations/evaluators/contains.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-attachments-agent/evaluations/eval-sets/evaluation-set-mocked.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-attachments-agent/codex.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-attachments-agent/.env.example | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-agent/uipath.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-agent/README.md | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-agent/pyproject.toml | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-agent/main.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-agent/input.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-agent/evaluations/evaluators/tool-call-order.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-agent/evaluations/evaluators/contains.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-agent/evaluations/eval-sets/evaluation-set-mocked.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-agent/codex.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-agent/bindings.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/deep-rag-agent/.env.example | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/context-grounding-agent/uipath.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/context-grounding-agent/README.md | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/context-grounding-agent/pyproject.toml | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/context-grounding-agent/main.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/context-grounding-agent/input.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/context-grounding-agent/evaluations/evaluators/tool-call-order.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/context-grounding-agent/evaluations/evaluators/contains.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/context-grounding-agent/evaluations/eval-sets/evaluation-set-mocked.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/context-grounding-agent/codex.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/context-grounding-agent/bindings.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/context-grounding-agent/.env.example | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/coding-agent/uipath.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/coding-agent/README.md | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/coding-agent/pyproject.toml | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/coding-agent/main.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/coding-agent/input.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/coding-agent/codex.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/coding-agent/.gitignore | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/batch-transform-attachments-agent/upload.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/batch-transform-attachments-agent/uipath.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/batch-transform-attachments-agent/reviews.csv | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/batch-transform-attachments-agent/README.md | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/batch-transform-attachments-agent/pyproject.toml | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/batch-transform-attachments-agent/main.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/batch-transform-attachments-agent/input.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/batch-transform-attachments-agent/evaluations/evaluators/tool-call-order.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/batch-transform-attachments-agent/evaluations/evaluators/contains.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/batch-transform-attachments-agent/evaluations/eval-sets/evaluation-set-mocked.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/batch-transform-attachments-agent/codex.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/batch-transform-attachments-agent/.env.example | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/analyze-files-agent/upload.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/analyze-files-agent/uipath.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/analyze-files-agent/README.md | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/analyze-files-agent/pyproject.toml | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/analyze-files-agent/main.py | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/analyze-files-agent/input.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/analyze-files-agent/evaluations/evaluators/tool-call-order.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/analyze-files-agent/evaluations/evaluators/contains.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/analyze-files-agent/evaluations/eval-sets/evaluation-set-mocked.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/analyze-files-agent/codex.json | Updated as part of this pull request. |
| packages/uipath-codex-sdk/samples/analyze-files-agent/.env.example | Updated as part of this pull request. |
| packages/uipath-codex-sdk/pyproject.toml | Updated as part of this pull request. |
| packages/uipath-codex-sdk/.python-version | Updated as part of this pull request. |
| .gitignore | Updated as part of this pull request. |
Review effort: Balanced
Comment on lines
+28
to
+30
| "orders": StdioMcpServer( | ||
| command=sys.executable, | ||
| args=[os.path.join(_HERE, "orders_server.py")], |
Comment on lines
+35
to
+36
| bearer_token_env_var="ORDERS_TOKEN", | ||
| bearer_token="demo-secret-token", |
A Codex agent becomes conversational with uipath.json runtimeOptions.isConversational (or when the platform starts it for a conversation), as in the Claude SDK integration. - One chat exchange per run. The conversation is one Codex thread whose rollout is kept in the state database under the conversation id and resumed for every new message; each exchange ends SUSPENDED with no triggers, so the chat service gets endExchange. - Assistant text streams as chat message deltas (commentary included); UiPath and MCP tool calls and shell commands render as tool cards. - A durable tool inside an exchange keeps the exchange open across the job suspension; a new message while a call is pending re-suspends on it. - Files sent in chat become job attachments (Analyze Files and the other attachment tools can read them). - One "Conversational agent run - <name>" span per exchange, with isConversational, conversationId, exchangeId and threadId. - samples/chat-agent; uipath-dev in the dev group. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.




Summary
Adds
packages/uipath-codex-sdk: run OpenAI Codex SDK agents on the UiPath platform, with the UiPath tool set LangChain and low-code agents have.The integration wraps the codex binary bundled with
openai-codexand sits in its two outbound channels:model_providerpoints at a loopback proxy that forwards each/v1/responsescall to the tenant's LLM Gateway as an OpenAI Responses passthrough (UiPathHttpxAsyncClient). No OpenAI key; OpenAI models only.uipath_tools). Immediate tools answer right away; durable tools start platform work and hold the call open.What's in it
UiPathRuntimeProtocol/ factory (registered forcodex.json), wrapped inUiPathResumableRuntimeover a SQLite store, plus aUiPathResumeTriggerHandlersubclass. A durable call suspends the run: the codex conversation (rollout) and pending calls are saved, codex is stopped, and the job resumes (possibly on another robot) with the platform's results injected under the original call ids.*_from_resourcebuilders foragent.jsonresources (includingargumentProperties):uipath.json→runtimeOptions.isConversational: one chat exchange per run on a single Codex thread kept in the state store under the conversation id (each exchange ends SUSPENDED with no triggers, so the chat service getsendExchange); streamed assistant text, tool calls as chat tool cards, files sent in chat usable by the attachment tools, durable tools inside an exchange; oneConversational agent run - <name>span per exchange. Samplesamples/chat-agent.read-onlyby default).Agent runper job across suspensions,LLM call→ gatewayModel run,Tool callwith each tool's low-code child span.--simulation.resource_override, sobindings.json/ Package Requirements remaps apply.Testing
uv run mypy --config-file pyproject.toml .,ruff check,ruff format --check: clean.pytest: 580 tests, including offline end-to-end tests against the real bundled codex binary (mock model, fake platform).argumentPropertiesfromagent.jsonuipath evalwith mocked tools of every kind, reporting to Studio Web, evals started from Studio Webgpt-5.6-terra,gpt-6.1-sol,gpt-5-mini-2025-08-07Known limitations / follow-ups
UIPATH_PARENT_SPAN_IDacross resumes).UIPATH_ACCESS_TOKEN; documented under "Built-in tools and the sandbox", fix planned (the Claude SDK integration has the same exposure).openai-codexis pinned to 0.161.x (the runtime uses some of its internals).uipath-claude-sdk).Merging publishes
uipath-codex-sdk0.1.0 (the CD workflow runs onpackages/*/pyproject.tomlchanges).🤖 Generated with Claude Code