Conversation
1f6de07 to
33c8807
Compare
There was a problem hiding this comment.
Pull request overview
This PR updates the uipath-mcp package to align with the new UiPath 2.2 runtime model. The changes refactor the codebase to use the new runtime protocol-based architecture instead of the previous middleware-based approach.
Key changes:
- Migrates from middleware-based execution to runtime factory pattern
- Refactors runtime to implement
UiPathRuntimeProtocolwithexecute()andstream()methods - Updates import paths from
uipath._clitouipath.platformanduipath.runtime
Reviewed changes
Copilot reviewed 13 out of 14 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/uipath_mcp/middlewares.py | Removes init and run middleware registrations |
| src/uipath_mcp/_cli/cli_run.py | Deletes entire run middleware implementation |
| src/uipath_mcp/_cli/cli_init.py | Deletes entire init middleware implementation |
| src/uipath_mcp/_cli/_utils/_config.py | Adds type annotation for command field |
| src/uipath_mcp/_cli/_templates/server.py.template | Simplifies template by removing many example tool functions |
| src/uipath_mcp/_cli/_runtime/_session.py | Updates imports and adds type cast for command parameter |
| src/uipath_mcp/_cli/_runtime/_runtime.py | Major refactor to implement runtime protocol, adds factory pattern support, and streaming capabilities |
| src/uipath_mcp/_cli/_runtime/_factory.py | Adds new factory class for creating MCP runtime instances |
| src/uipath_mcp/_cli/_runtime/_exception.py | Updates import path for error classes |
| src/uipath_mcp/_cli/_runtime/_context.py | Removes UiPathMcpRuntimeContext class, keeps only UiPathServerType enum |
| src/uipath_mcp/_cli/_runtime/init.py | Adds factory registration and exports |
| pyproject.toml | Updates uipath dependency version and adds local development source |
| .vscode/settings.json | Adds new VS Code workspace configuration |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
90495a9 to
e7df223
Compare
e7df223 to
80f2f3b
Compare
80f2f3b to
6c8f026
Compare
6c8f026 to
ce27d27
Compare
ce27d27 to
141dd08
Compare
| self.trace_provider = TracerProvider() | ||
| trace.set_tracer_provider(self.trace_provider) | ||
| self.trace_provider.add_span_processor( | ||
| async def emit_state(node_name: str, payload: dict[str, Any]) -> None: |
There was a problem hiding this comment.
let's remove streaming events, it complicates things unnecessarily
| with open(config_path, "r") as f: | ||
| config: dict[str, Any] = json.load(f) | ||
|
|
||
| config_runtime = config.get("runtime", {}) |
There was a problem hiding this comment.
this should be a part of the UiPathRuntimeContext, let's do something similar to what we did for conversational agents: https://github.com/UiPath/uipath-runtime-python/blob/main/src/uipath/runtime/context.py#L319
This PR updates the uipath-mcp package to align with the new UiPath 2.2 runtime model. The changes refactor the codebase to use the new runtime protocol-based architecture instead of the previous middleware-based approach.
Key changes:
Development Package