Repository navigation
feat(cli): push entry-points.json through the EntryPoints endpoint - #1981
Open
vldcmp-uipath wants to merge 3 commits into
Open
vldcmp-uipath wants to merge 3 commits into
vldcmp-uipath wants to merge 3 commits into
Conversation
`uipath push` uploaded entry-points.json inside the structural migration,
like any other file. Studio Web treats that as a plain file write: it emits a
file-modified notification only. The entry-points-changed notification, which
designers that invoke the project (for example a Flow node bound to the
function) rely on to refresh the project's inputs and outputs, is raised only
by `POST api/Project/{id}/FileOperations/EntryPoints`.
Push now keeps entry-points.json out of the structural migration and writes it
through that endpoint once the source files have landed, so the announced
contract always matches the uploaded code. An unchanged file is neither
re-uploaded nor re-announced.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014t9fy6ZwVkHzR85DoT8Voq
The previous commit's `uv lock` run came from a different uv release and rewrote the lock revision and key order. Only the package version changes. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014t9fy6ZwVkHzR85DoT8Voq
Uses the anyio.Path read the CLI already relies on elsewhere, which also clears the SonarCloud finding on blocking open() in an async function. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014t9fy6ZwVkHzR85DoT8Voq
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The multipart assertions use a malformed ID-field match and check a filename omitted from modified resources, allowing tests to pass even if entry-points.json is sent through both endpoints.
1 open issue
What changed in this PR
Updates uipath push to write entry-points.json through Studio Web’s dedicated endpoint, allowing consuming designers to refresh their input and output definitions.
Changes:
- Upload changed entry points after the structural migration, while skipping unchanged content.
- Add endpoint, payload, lock-header, and upload-order test coverage.
- Bump
uipathto version 2.15.2.
| File | Description |
|---|---|
packages/uipath/uv.lock |
Aligns the locked package version with 2.15.2. |
packages/uipath/tests/cli/test_push.py |
Updates mocks and tests entry-point uploads and unchanged-file handling. |
packages/uipath/src/uipath/_cli/_utils/_studio_project.py |
Adds a lock-aware EntryPoints API method. |
packages/uipath/src/uipath/_cli/_push/sw_file_handler.py |
Separates entry-point uploads from structural migration. |
packages/uipath/pyproject.toml |
Bumps the package version to 2.15.2. |
Review effort: Balanced
Comment on lines
+2166
to
+2168
| assert ( | ||
| b"ModifiedResources[0].Id\r\n\r\n898" not in migration_request.content | ||
| ) |
|
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.




Why
uipath pushuploadsentry-points.jsoninside the structural migration, like any other file. Studio Web treats that as a plain file write and emits only a file-modified notification. The entry-points-changed notification is raised only byPOST api/Project/{id}/FileOperations/EntryPoints(FileOperationsService.AddProjectEntryPointsFileContentAsync→SendProjectEntryPointsChanged).Designers that invoke the project rely on that notification. A Flow node bound to a Python function keeps the stale
inputDefinitionafter a push until the solution is reloaded and the Flow editor is re-opened. TypeScript functions do not hit this because the Function Builder MFE regeneratesentry-points.jsonthroughsetEntryPoints; Python has no equivalent writer.What changes
StudioClient.set_entry_points_async(content):POST …/FileOperations/EntryPointswith the raw JSON body and the project lock key (@with_lock_retry), returning the file id.SwFileHandler._process_file_uploads: the rootentry-points.jsonis kept out of the structural migration. Once the migration has landed, the file is written through the new method, so the announced contract always matches the uploaded sources. An unchanged file (same normalized hash as the remote copy) is neither re-uploaded nor re-announced. Progress messages are unchanged.uv.lockupdated to match.Generated by Claude Code