Skip to content

feat(cli): carry ResumeVersion and ForceStop on the IPC job DTOs [ROBO-5779] - #1838

Merged
eduard-dumitru merged 1 commit into
mainfrom
feat/ROBO-5779-runjob-stopjob-dtos
Jul 31, 2026
Merged

feat(cli): carry ResumeVersion and ForceStop on the IPC job DTOs [ROBO-5779]#1838
eduard-dumitru merged 1 commit into
mainfrom
feat/ROBO-5779-runjob-stopjob-dtos

Conversation

@eduard-dumitru

Copy link
Copy Markdown
Contributor

The .NET handler tracks a run as (JobKey, ResumeVersion) — a resumed job reuses the same JobKey with an incremented version — but neither field ever reached the Python runtime, so StopJob could not tell one run of a job from another. The handler also holds forceStop and was discarding it.

Rename StartJob to RunJob: it awaits the job and returns its result rather than dispatching it, so the old name described the wrong semantics.

BREAKING CHANGE: the uipath-ipc contract changed. StartJob(PythonRunRequest) is now RunJob(RunJobRequest) and StopJob(jobKey) is now StopJob(StopJobRequest). Peers on the previous contract must be updated; the .NET side lands alongside.

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’s optional IPC runtime channel to match the updated uipath-ipc/.NET contract by introducing DTOs that carry ResumeVersion and ForceStop, and by renaming StartJobRunJob to reflect the call’s “await to completion” semantics.

Changes:

  • Renamed the IPC job execution method from StartJob to RunJob and updated result/DTO types accordingly.
  • Added IPC DTO fields (ResumeVersion, ForceStop) to ensure the Python runtime receives the full stop/run identifiers and flags.
  • Expanded IPC tests to validate both DTO binding tolerance and actual field transit via a spy IPC server.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
packages/uipath/uv.lock Updates the locked uipath package version to 2.13.21.
packages/uipath/pyproject.toml Bumps the uipath package version to 2.13.21.
packages/uipath/src/uipath/_cli/cli_server.py Re-exports the renamed IPC contract types (RunJob*, StopJobRequest).
packages/uipath/src/uipath/_cli/cli_server_ipc.py Implements the new IPC contract/DTOs and logs run identity using (JobKey, ResumeVersion).
packages/uipath/tests/cli/test_server_ipc.py Updates IPC tests for RunJob/StopJob DTOs and adds spy-server assertions for field transit.

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

@eduard-dumitru
eduard-dumitru force-pushed the feat/ROBO-5779-runjob-stopjob-dtos branch from c9a7753 to cdc70a7 Compare July 31, 2026 14:13
…BO-5779]

The .NET handler tracks a run as (JobKey, ResumeVersion) — a resumed job reuses
the same JobKey with an incremented version — but neither field ever reached the
Python runtime, so StopJob could not tell one run of a job from another. The
handler also holds forceStop and was discarding it.

Rename StartJob to RunJob: it awaits the job and returns its result rather than
dispatching it, so the old name described the wrong semantics.

BREAKING CHANGE: the uipath-ipc contract changed. StartJob(PythonRunRequest) is
now RunJob(RunJobRequest) and StopJob(jobKey) is now StopJob(StopJobRequest).
Peers on the previous contract must be updated; the .NET side lands alongside.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@eduard-dumitru
eduard-dumitru force-pushed the feat/ROBO-5779-runjob-stopjob-dtos branch from cdc70a7 to 5c5b6e9 Compare July 31, 2026 15:05
@sonarqubecloud

Copy link
Copy Markdown

@eduard-dumitru
eduard-dumitru merged commit 06f5403 into main Jul 31, 2026
130 of 131 checks passed
@eduard-dumitru
eduard-dumitru deleted the feat/ROBO-5779-runjob-stopjob-dtos branch July 31, 2026 15:10
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