Skip to content

feat: add isTransactionRoot to UiPathRuntimeSchema#146

Merged
vldcmp-uipath merged 2 commits into
mainfrom
feat/schema-is-transaction-root
Jul 7, 2026
Merged

feat: add isTransactionRoot to UiPathRuntimeSchema#146
vldcmp-uipath merged 2 commits into
mainfrom
feat/schema-is-transaction-root

Conversation

@vldcmp-uipath

Copy link
Copy Markdown
Contributor

Summary

  • Declare is_transaction_root (serialized as isTransactionRoot) as an optional field on UiPathRuntimeSchema.
  • When unset it is omitted from model_dump(by_alias=True, exclude_unset=True), matching the nullable (bool?) contract of platform consumers reading entry-points.json.
  • Bump version to 0.12.2.

Motivation

uipath init (uipath-python) stamps isTransactionRoot: true on every entrypoint in entry-points.json when uipath.json has runtimeOptions._uipathVerticalSolution: true.

Tests

  • 3 new tests in tests/test_schema.py: unset → key absent, set via python name → serializes under the camelCase alias, validates from alias on read-back.

🤖 Generated with Claude Code

vldcmp-uipath and others added 2 commits July 7, 2026 13:41
Declares is_transaction_root (alias isTransactionRoot) as an optional
field on the runtime schema so 'uipath init' can stamp vertical-solution
entrypoints in entry-points.json with a typed assignment instead of an
extra-field workaround. Unset, the field is omitted from serialization,
matching the nullable consumer contract.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 7, 2026 10:44
@vldcmp-uipath vldcmp-uipath requested a review from a team as a code owner July 7, 2026 10:44

Copilot AI left a comment

Copy link
Copy Markdown

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 extends the runtime entrypoint schema to support an optional isTransactionRoot flag (mapped to is_transaction_root in Python) and bumps the package version to 0.12.2, aligning serialization behavior with platform consumers that treat the field as nullable/optional.

Changes:

  • Add optional is_transaction_root: bool | None to UiPathRuntimeSchema, serialized as isTransactionRoot and omitted when unset via exclude_unset=True.
  • Add tests covering omission when unset, serialization under the alias, and validation from the alias.
  • Bump project/version metadata to 0.12.2 (including lockfile).

Reviewed changes

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

File Description
uv.lock Updates locked package version to 0.12.2.
tests/test_schema.py Adds tests verifying isTransactionRoot omission/serialization/validation behavior.
src/uipath/runtime/schema.py Introduces the optional is_transaction_root field with isTransactionRoot alias.
pyproject.toml Bumps project version to 0.12.2.

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

@sonarqubecloud

sonarqubecloud Bot commented Jul 7, 2026

Copy link
Copy Markdown

@vldcmp-uipath vldcmp-uipath merged commit 31c8aa1 into main Jul 7, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants