Skip to content

Conversation

@radu-mocanu
Copy link
Collaborator

@radu-mocanu radu-mocanu commented Feb 3, 2026

System resources support for UiPath templates

  1. Resolve system overwrites in StudioClient (CLI layer), before executing the runtime
  2. Add identifiers_resolver_callable in resource_override decorator to support more complex logic regarding dynamically replaced parameters
  • added new overwrite model SystemResourceOverwrite
  • removed IngestionInProgressException checks (not applicable)
  • added tests

Note: left _resolve_system_index_async as a protected method to not be picked up by the docs pipeline

@radu-mocanu radu-mocanu self-assigned this Feb 3, 2026
@github-actions github-actions bot added test:uipath-langchain Triggers tests in the uipath-langchain-python repository test:uipath-llamaindex Triggers tests in the uipath-llamaindex-python repository labels Feb 3, 2026
Copy link

Copilot AI left a 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 SystemResourceOverwrite model to represent system resources with folder_key instead of folder_path
  • Enhanced resource_override decorator with identifiers_resolver_callable for dynamic parameter mapping
  • Implemented system index resolution in StudioClient that queries the UiPath API for system indexes when no explicit overwrite exists
  • Removed IngestionInProgressException checks 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}'"},
Copy link

Copilot AI Feb 3, 2026

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.

Copilot uses AI. Check for mistakes.
@radu-mocanu radu-mocanu force-pushed the feat/system-index-support branch from 04bb6be to 7d6bba0 Compare February 3, 2026 18:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test:uipath-langchain Triggers tests in the uipath-langchain-python repository test:uipath-llamaindex Triggers tests in the uipath-llamaindex-python repository

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant