-
Notifications
You must be signed in to change notification settings - Fork 21
feat: add system resources resolution support #1256
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request adds support for system resources resolution in UiPath templates, specifically for system indexes. The key changes enable the StudioClient to resolve system resource overwrites before executing the runtime, and add more flexible parameter resolution logic through the new identifiers_resolver_callable parameter in the resource_override decorator.
Changes:
- Added new
SystemResourceOverwritemodel to represent system resources with folder_key instead of folder_path - Enhanced
resource_overridedecorator withidentifiers_resolver_callablefor dynamic parameter mapping - Implemented system index resolution in StudioClient that queries the UiPath API for system indexes when no explicit overwrite exists
- Removed
IngestionInProgressExceptionchecks from search methods in context grounding service - Added comprehensive tests for the new functionality
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| src/uipath/_utils/_bindings.py | Added SystemResourceOverwrite model and identifiers_resolver_callable parameter to resource_override decorator |
| src/uipath/_cli/_utils/_studio_project.py | Implemented system index resolution logic in get_resource_overwrites method |
| src/uipath/platform/context_grounding/_context_grounding_service.py | Updated search methods with identifiers_resolver_callable and added _resolve_system_index_async method; removed IngestionInProgressException checks |
| tests/sdk/test_bindings.py | Added tests for identifiers_resolver_callable with both Generic and System resource overwrites |
| tests/resource_overrides/test_resource_overrides.py | Added integration test for system index resolution from bindings |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| return RequestSpec( | ||
| method="GET", | ||
| endpoint=Endpoint("/ecs_/v2/indexes/AllSystemIndexes"), | ||
| params={"$filter": f"Name eq '{name}'"}, |
Copilot
AI
Feb 3, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The OData filter query parameter uses string interpolation with user-provided input (name) without any escaping or validation. If the name contains single quotes or other special characters, it could break the filter syntax or potentially be exploited. Consider sanitizing the name parameter by escaping single quotes or using a parameterized query approach if supported by the API.
04bb6be to
7d6bba0
Compare
System resources support for UiPath templates
StudioClient(CLI layer), before executing the runtimeidentifiers_resolver_callableinresource_overridedecorator to support more complex logic regarding dynamically replaced parametersSystemResourceOverwriteIngestionInProgressExceptionchecks (not applicable)Note: left
_resolve_system_index_asyncas a protected method to not be picked up by the docs pipeline