Skip to content

feat: hydrate managed workspaces in cli - #1845

Open
radu-mocanu wants to merge 2 commits into
mainfrom
feat/conversation-workspace-hydration
Open

feat: hydrate managed workspaces in cli#1845
radu-mocanu wants to merge 2 commits into
mainfrom
feat/conversation-workspace-hydration

Conversation

@radu-mocanu

Copy link
Copy Markdown
Collaborator

Summary

  • restore managed workspace files for cloud jobs across suspend and resume
  • carry workspace snapshots between conversational turns through metadata events
  • apply the same workspace behavior to run and debug executions

Why

Depends on #1843.

managed workspaces need both job-scoped suspend state and conversation-scoped snapshots, with suspended state taking precedence.

Copilot AI review requested due to automatic review settings August 5, 2026 09:40
@github-actions github-actions Bot added test:uipath-langchain Triggers tests in the uipath-langchain-python repository test:uipath-runtime test:uipath-integrations labels Aug 5, 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.

Pull request overview

This PR updates the uipath CLI runtime wiring to support managed workspace hydration for cloud jobs, restoring workspace files across suspend/resume and carrying conversation-scoped workspace snapshots via metadata events, with equivalent behavior for both run and debug executions.

Changes:

  • Bump uipath to 2.15.0 and require uipath-runtime >=0.13.0,<0.14.0.
  • Wrap runtimes in cli run and cli debug with HydrationRuntime (job-scoped) and ConversationalWorkspaceRuntime (conversation-scoped) when managed workspaces are enabled.
  • Add CLI tests asserting workspace runtime chain installation, precedence rules, and cleanup behavior.

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
packages/uipath/uv.lock Updates lockfile for uipath 2.15.0 and uipath-runtime 0.13.0.
packages/uipath/pyproject.toml Bumps package version and runtime dependency constraint.
packages/uipath/testcases/langchain-cross/pyproject.toml Extends uv overrides to include uipath-runtime version range.
packages/uipath/src/uipath/_cli/cli_run.py Adds managed-workspace hydration + conversational snapshot runtime wrapping and revised cleanup logic.
packages/uipath/src/uipath/_cli/cli_debug.py Mirrors managed-workspace wrapping behavior for debug execution chain and cleanup.
packages/uipath/tests/cli/test_run.py Adds tests for workspace runtime installation, precedence, and cleanup robustness in run.
packages/uipath/tests/cli/test_debug_simulation.py Adds tests validating workspace runtime installation in debug chain and related cleanup behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +320 to +327
client = UiPath()
workspace = Workspace.create()
workspace.path = workspace.path.resolve()
hydrator = WorkspaceHydrator(
workspace_path=workspace.path,
attachments=client.attachments,
jobs=client.jobs,
current_job_key=ctx.job_id,
Comment on lines +233 to +242
client = UiPath()
workspace = Workspace.create()
workspace.path = workspace.path.resolve()
hydrator = WorkspaceHydrator(
workspace_path=workspace.path,
attachments=client.attachments,
jobs=client.jobs,
current_job_key=ctx.job_id,
folder_key=ctx.folder_key,
)
@radu-mocanu
radu-mocanu force-pushed the feat/conversation-meta-events-bridge branch 3 times, most recently from b4a1d24 to c74d124 Compare August 6, 2026 07:31
Base automatically changed from feat/conversation-meta-events-bridge to main August 6, 2026 11:59
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.

2 participants