uipath 2.0.66__tar.gz → 2.0.67__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of uipath might be problematic. Click here for more details.
- {uipath-2.0.66 → uipath-2.0.67}/PKG-INFO +1 -1
- {uipath-2.0.66 → uipath-2.0.67}/docs/cli/index.md +36 -3
- {uipath-2.0.66 → uipath-2.0.67}/pyproject.toml +1 -1
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_services/context_grounding_service.py +4 -2
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_services/folder_service.py +8 -14
- {uipath-2.0.66 → uipath-2.0.67}/tests/sdk/services/test_context_grounding_service.py +12 -18
- {uipath-2.0.66 → uipath-2.0.67}/tests/sdk/services/test_folder_service.py +13 -15
- {uipath-2.0.66 → uipath-2.0.67}/uv.lock +1 -1
- {uipath-2.0.66 → uipath-2.0.67}/.cursorrules +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/.editorconfig +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/.gitattributes +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/.github/workflows/cd.yml +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/.github/workflows/ci.yml +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/.github/workflows/commitlint.yml +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/.github/workflows/lint.yml +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/.github/workflows/publish-dev.yml +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/.github/workflows/publish-docs.yml +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/.github/workflows/slack.yml +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/.github/workflows/test.yml +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/.gitignore +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/.pre-commit-config.yaml +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/.python-version +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/.vscode/extensions.json +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/.vscode/launch.json +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/.vscode/settings.json +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/CONTRIBUTING.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/LICENSE +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/README.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/CONTRIBUTING.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/FAQ.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/assets/env-preparation-failed-dark.png +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/assets/env-preparation-failed-light.png +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/assets/favicon.png +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/assets/logo-dark.svg +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/assets/logo-light.svg +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/core/actions.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/core/assets/cloud_env_var_dark.gif +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/core/assets/cloud_env_var_light.gif +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/core/assets/cloud_env_var_secret_dark.png +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/core/assets/cloud_env_var_secret_light.png +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/core/assets/copy_path_dark.png +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/core/assets/copy_path_light.png +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/core/assets.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/core/attachments.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/core/buckets.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/core/connections.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/core/context_grounding.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/core/environment_variables.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/core/getting_started.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/core/jobs.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/core/processes.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/core/queues.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/core/traced.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/hooks.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/javascripts/extra.js +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/langchain/chat_models.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/langchain/context_grounding.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/langchain/human_in_the_loop.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/overrides/main.html +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/overrides/partials/actions.html +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/overrides/partials/logo.html +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/release_policy.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/docs/stylesheets/extra.css +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/justfile +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/mkdocs.yml +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/py.typed +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/__init__.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/README.md +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/__init__.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_auth/_auth_server.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_auth/_models.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_auth/_portal_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_auth/_utils.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_auth/auth_config.json +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_auth/index.html +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_auth/localhost.crt +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_auth/localhost.key +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_runtime/_contracts.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_runtime/_escalation.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_runtime/_hitl.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_runtime/_logging.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_runtime/_runtime.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_templates/.rels.template +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_templates/main.py.template +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_utils/_common.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_utils/_console.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_utils/_constants.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_utils/_debug.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_utils/_folders.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_utils/_input_args.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_utils/_processes.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/_utils/_tracing.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/cli_auth.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/cli_deploy.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/cli_init.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/cli_invoke.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/cli_new.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/cli_pack.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/cli_publish.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/cli_run.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/middlewares.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_cli/spinner.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_config.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_execution_context.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_folder_context.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_services/__init__.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_services/_base_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_services/actions_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_services/api_client.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_services/assets_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_services/attachments_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_services/buckets_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_services/connections_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_services/jobs_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_services/llm_gateway_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_services/processes_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_services/queues_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_uipath.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_utils/__init__.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_utils/_endpoint.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_utils/_infer_bindings.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_utils/_logs.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_utils/_read_overwrites.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_utils/_request_override.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_utils/_request_spec.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_utils/_url.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_utils/_user_agent.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/_utils/constants.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/models/__init__.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/models/action_schema.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/models/actions.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/models/assets.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/models/attachment.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/models/buckets.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/models/connections.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/models/context_grounding.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/models/context_grounding_index.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/models/errors.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/models/exceptions.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/models/interrupt_models.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/models/job.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/models/llm_gateway.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/models/processes.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/models/queues.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/py.typed +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/telemetry/__init__.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/telemetry/_constants.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/telemetry/_track.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/tracing/__init__.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/tracing/_otel_exporters.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/tracing/_traced.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/src/uipath/tracing/_utils.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/__init__.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/cli/conftest.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/cli/mocks/bindings_script.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/cli/mocks/pyproject.toml +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/cli/mocks/simple_script.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/cli/mocks/uipath-mock.json +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/cli/mocks/uipath-simple-script-mock.json +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/cli/test_hitl.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/cli/test_init.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/cli/test_invoke.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/cli/test_new.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/cli/test_pack.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/cli/test_publish.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/cli/test_run.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/cli/test_utils.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/cli/utils/project_details.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/cli/utils/uipath_json.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/conftest.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/sdk/services/conftest.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/sdk/services/test_actions_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/sdk/services/test_api_client.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/sdk/services/test_assets_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/sdk/services/test_attachments_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/sdk/services/test_base_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/sdk/services/test_buckets_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/sdk/services/test_connections_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/sdk/services/test_jobs_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/sdk/services/test_llm_integration.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/sdk/services/test_llm_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/sdk/services/test_processes_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/sdk/services/test_queues_service.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/sdk/test_bindings_inference.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/sdk/test_config.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/sdk/test_overwrites.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/tracing/test_otel_exporters.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/tracing/test_span_utils.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/tracing/test_traced.py +0 -0
- {uipath-2.0.66 → uipath-2.0.67}/tests/tracing/test_tracing_manager.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: uipath
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.67
|
|
4
4
|
Summary: Python SDK and CLI for UiPath Platform, enabling programmatic interaction with automation services, process management, and deployment tools.
|
|
5
5
|
Project-URL: Homepage, https://uipath.com
|
|
6
6
|
Project-URL: Repository, https://github.com/UiPath/uipath-python
|
|
@@ -54,9 +54,10 @@ For step-by-step debugging with breakpoints and variable inspection (supported f
|
|
|
54
54
|
# Run agent with debugging enabled
|
|
55
55
|
uipath run [ENTRYPOINT] [INPUT] --debug
|
|
56
56
|
```
|
|
57
|
-
For vscode:
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
For vscode:
|
|
58
|
+
1. add the [debug configuration](https://github.com/UiPath/uipath-python/blob/main/.vscode/launch.json) in your `.vscode/launch.json` file.
|
|
59
|
+
2. Place breakpoints in your code where needed.
|
|
60
|
+
3. Use the shortcut `F5`, or navigate to Run -> Start Debugging -> Python Debugger: Attach.
|
|
60
61
|
|
|
61
62
|
Upon starting the debugging process, one should see the following logs in terminal:
|
|
62
63
|
```console
|
|
@@ -106,6 +107,38 @@ uipath run agent '{\"topic\":\"uipath\"}'
|
|
|
106
107
|
|
|
107
108
|
Packages your project into a `.nupkg` file that can be deployed to UiPath.
|
|
108
109
|
|
|
110
|
+
/// info
|
|
111
|
+
### Default Files Included in `.nupkg`
|
|
112
|
+
|
|
113
|
+
By default, the following file types are included in the `.nupkg` file:
|
|
114
|
+
|
|
115
|
+
- `.py`
|
|
116
|
+
- `.mermaid`
|
|
117
|
+
- `.json`
|
|
118
|
+
- `.yaml`
|
|
119
|
+
- `.yml`
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
### Including Extra Files
|
|
124
|
+
|
|
125
|
+
To include additional files, update the `uipath.json` file by adding a `settings` section. Use the following configuration format:
|
|
126
|
+
|
|
127
|
+
```json
|
|
128
|
+
{
|
|
129
|
+
"settings": {
|
|
130
|
+
"filesIncluded": [
|
|
131
|
+
"<file here>"
|
|
132
|
+
],
|
|
133
|
+
"fileExtensionsIncluded": [
|
|
134
|
+
"<new file extension to include (e.g., 'go')>"
|
|
135
|
+
]
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
///
|
|
141
|
+
|
|
109
142
|
/// warning
|
|
110
143
|
Your `pyproject.toml` must include:
|
|
111
144
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "uipath"
|
|
3
|
-
version = "2.0.
|
|
3
|
+
version = "2.0.67"
|
|
4
4
|
description = "Python SDK and CLI for UiPath Platform, enabling programmatic interaction with automation services, process management, and deployment tools."
|
|
5
5
|
readme = { file = "README.md", content-type = "text/markdown" }
|
|
6
6
|
requires-python = ">=3.10"
|
|
@@ -673,7 +673,7 @@ class ContextGroundingService(FolderContext, BaseService):
|
|
|
673
673
|
)
|
|
674
674
|
|
|
675
675
|
if folder_key is None:
|
|
676
|
-
raise ValueError("
|
|
676
|
+
raise ValueError("ContextGrounding: Failed to resolve folder key")
|
|
677
677
|
|
|
678
678
|
return folder_key
|
|
679
679
|
|
|
@@ -681,4 +681,6 @@ class ContextGroundingService(FolderContext, BaseService):
|
|
|
681
681
|
try:
|
|
682
682
|
return index.data_source.bucketName, index.data_source.folder # type: ignore
|
|
683
683
|
except AttributeError as e:
|
|
684
|
-
raise Exception(
|
|
684
|
+
raise Exception(
|
|
685
|
+
"ContextGrounding: Cannot extract bucket data from index"
|
|
686
|
+
) from e
|
|
@@ -34,25 +34,19 @@ class FolderService(BaseService):
|
|
|
34
34
|
url=spec.endpoint,
|
|
35
35
|
params=spec.params,
|
|
36
36
|
).json()
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
for item in response["PageItems"]
|
|
42
|
-
if item["FullyQualifiedName"] == folder_path
|
|
43
|
-
),
|
|
44
|
-
None,
|
|
45
|
-
)
|
|
37
|
+
try:
|
|
38
|
+
return response["value"][0]["Key"]
|
|
39
|
+
except KeyError:
|
|
40
|
+
return None
|
|
46
41
|
|
|
47
42
|
def _retrieve_spec(self, folder_path: str) -> RequestSpec:
|
|
48
43
|
folder_name = folder_path.split("/")[-1]
|
|
49
44
|
return RequestSpec(
|
|
50
45
|
method="GET",
|
|
51
|
-
endpoint=Endpoint(
|
|
52
|
-
"orchestrator_/api/FoldersNavigation/GetFoldersForCurrentUser"
|
|
53
|
-
),
|
|
46
|
+
endpoint=Endpoint("orchestrator_/odata/Folders"),
|
|
54
47
|
params={
|
|
55
|
-
"
|
|
56
|
-
"
|
|
48
|
+
"$filter": f"DisplayName eq '{folder_name}'",
|
|
49
|
+
"$top": 1,
|
|
50
|
+
"$select": "Key",
|
|
57
51
|
},
|
|
58
52
|
)
|
|
@@ -38,13 +38,12 @@ class TestContextGroundingService:
|
|
|
38
38
|
version: str,
|
|
39
39
|
) -> None:
|
|
40
40
|
httpx_mock.add_response(
|
|
41
|
-
url=f"{base_url}{org}{tenant}/orchestrator_/
|
|
41
|
+
url=f"{base_url}{org}{tenant}/orchestrator_/odata/Folders?%24filter=DisplayName+eq+%27test-folder-path%27&%24top=1&%24select=Key",
|
|
42
42
|
status_code=200,
|
|
43
43
|
json={
|
|
44
|
-
"
|
|
44
|
+
"value": [
|
|
45
45
|
{
|
|
46
46
|
"Key": "test-folder-key",
|
|
47
|
-
"FullyQualifiedName": "test-folder-path",
|
|
48
47
|
}
|
|
49
48
|
]
|
|
50
49
|
},
|
|
@@ -68,13 +67,12 @@ class TestContextGroundingService:
|
|
|
68
67
|
)
|
|
69
68
|
|
|
70
69
|
httpx_mock.add_response(
|
|
71
|
-
url=f"{base_url}{org}{tenant}/orchestrator_/
|
|
70
|
+
url=f"{base_url}{org}{tenant}/orchestrator_/odata/Folders?%24filter=DisplayName+eq+%27test-folder-path%27&%24top=1&%24select=Key",
|
|
72
71
|
status_code=200,
|
|
73
72
|
json={
|
|
74
|
-
"
|
|
73
|
+
"value": [
|
|
75
74
|
{
|
|
76
75
|
"Key": "test-folder-key",
|
|
77
|
-
"FullyQualifiedName": "test-folder-path",
|
|
78
76
|
}
|
|
79
77
|
]
|
|
80
78
|
},
|
|
@@ -132,13 +130,12 @@ class TestContextGroundingService:
|
|
|
132
130
|
version: str,
|
|
133
131
|
) -> None:
|
|
134
132
|
httpx_mock.add_response(
|
|
135
|
-
url=f"{base_url}{org}{tenant}/orchestrator_/
|
|
133
|
+
url=f"{base_url}{org}{tenant}/orchestrator_/odata/Folders?%24filter=DisplayName+eq+%27test-folder-path%27&%24top=1&%24select=Key",
|
|
136
134
|
status_code=200,
|
|
137
135
|
json={
|
|
138
|
-
"
|
|
136
|
+
"value": [
|
|
139
137
|
{
|
|
140
138
|
"Key": "test-folder-key",
|
|
141
|
-
"FullyQualifiedName": "test-folder-path",
|
|
142
139
|
}
|
|
143
140
|
]
|
|
144
141
|
},
|
|
@@ -162,13 +159,12 @@ class TestContextGroundingService:
|
|
|
162
159
|
)
|
|
163
160
|
|
|
164
161
|
httpx_mock.add_response(
|
|
165
|
-
url=f"{base_url}{org}{tenant}/orchestrator_/
|
|
162
|
+
url=f"{base_url}{org}{tenant}/orchestrator_/odata/Folders?%24filter=DisplayName+eq+%27test-folder-path%27&%24top=1&%24select=Key",
|
|
166
163
|
status_code=200,
|
|
167
164
|
json={
|
|
168
|
-
"
|
|
165
|
+
"value": [
|
|
169
166
|
{
|
|
170
167
|
"Key": "test-folder-key",
|
|
171
|
-
"FullyQualifiedName": "test-folder-path",
|
|
172
168
|
}
|
|
173
169
|
]
|
|
174
170
|
},
|
|
@@ -225,13 +221,12 @@ class TestContextGroundingService:
|
|
|
225
221
|
version: str,
|
|
226
222
|
) -> None:
|
|
227
223
|
httpx_mock.add_response(
|
|
228
|
-
url=f"{base_url}{org}{tenant}/orchestrator_/
|
|
224
|
+
url=f"{base_url}{org}{tenant}/orchestrator_/odata/Folders?%24filter=DisplayName+eq+%27test-folder-path%27&%24top=1&%24select=Key",
|
|
229
225
|
status_code=200,
|
|
230
226
|
json={
|
|
231
|
-
"
|
|
227
|
+
"value": [
|
|
232
228
|
{
|
|
233
229
|
"Key": "test-folder-key",
|
|
234
|
-
"FullyQualifiedName": "test-folder-path",
|
|
235
230
|
}
|
|
236
231
|
]
|
|
237
232
|
},
|
|
@@ -285,13 +280,12 @@ class TestContextGroundingService:
|
|
|
285
280
|
version: str,
|
|
286
281
|
) -> None:
|
|
287
282
|
httpx_mock.add_response(
|
|
288
|
-
url=f"{base_url}{org}{tenant}/orchestrator_/
|
|
283
|
+
url=f"{base_url}{org}{tenant}/orchestrator_/odata/Folders?%24filter=DisplayName+eq+%27test-folder-path%27&%24top=1&%24select=Key",
|
|
289
284
|
status_code=200,
|
|
290
285
|
json={
|
|
291
|
-
"
|
|
286
|
+
"value": [
|
|
292
287
|
{
|
|
293
288
|
"Key": "test-folder-key",
|
|
294
|
-
"FullyQualifiedName": "test-folder-path",
|
|
295
289
|
}
|
|
296
290
|
]
|
|
297
291
|
},
|
|
@@ -28,20 +28,19 @@ class TestFolderService:
|
|
|
28
28
|
version: str,
|
|
29
29
|
) -> None:
|
|
30
30
|
httpx_mock.add_response(
|
|
31
|
-
url=f"{base_url}{org}{tenant}/orchestrator_/
|
|
31
|
+
url=f"{base_url}{org}{tenant}/orchestrator_/odata/Folders?%24filter=DisplayName+eq+%27test_folder_path%27&%24top=1&%24select=Key",
|
|
32
32
|
status_code=200,
|
|
33
33
|
json={
|
|
34
|
-
"
|
|
34
|
+
"value": [
|
|
35
35
|
{
|
|
36
36
|
"Key": "test-folder-key",
|
|
37
|
-
"FullyQualifiedName": "test-folder-path",
|
|
38
37
|
}
|
|
39
38
|
]
|
|
40
39
|
},
|
|
41
40
|
)
|
|
42
41
|
|
|
43
42
|
with pytest.warns(DeprecationWarning, match="Use retrieve_key instead"):
|
|
44
|
-
folder_key = service.retrieve_key_by_folder_path("
|
|
43
|
+
folder_key = service.retrieve_key_by_folder_path("test_folder_path")
|
|
45
44
|
|
|
46
45
|
assert folder_key == "test-folder-key"
|
|
47
46
|
|
|
@@ -52,7 +51,7 @@ class TestFolderService:
|
|
|
52
51
|
assert sent_request.method == "GET"
|
|
53
52
|
assert (
|
|
54
53
|
sent_request.url
|
|
55
|
-
== f"{base_url}{org}{tenant}/orchestrator_/
|
|
54
|
+
== f"{base_url}{org}{tenant}/orchestrator_/odata/Folders?%24filter=DisplayName+eq+%27test_folder_path%27&%24top=1&%24select=Key"
|
|
56
55
|
)
|
|
57
56
|
|
|
58
57
|
assert HEADER_USER_AGENT in sent_request.headers
|
|
@@ -71,9 +70,9 @@ class TestFolderService:
|
|
|
71
70
|
version: str,
|
|
72
71
|
) -> None:
|
|
73
72
|
httpx_mock.add_response(
|
|
74
|
-
url=f"{base_url}{org}{tenant}/orchestrator_/
|
|
73
|
+
url=f"{base_url}{org}{tenant}/orchestrator_/odata/Folders?%24filter=DisplayName+eq+%27non-existent-folder%27&%24top=1&%24select=Key",
|
|
75
74
|
status_code=200,
|
|
76
|
-
json={
|
|
75
|
+
json={},
|
|
77
76
|
)
|
|
78
77
|
|
|
79
78
|
with pytest.warns(DeprecationWarning, match="Use retrieve_key instead"):
|
|
@@ -88,7 +87,7 @@ class TestFolderService:
|
|
|
88
87
|
assert sent_request.method == "GET"
|
|
89
88
|
assert (
|
|
90
89
|
sent_request.url
|
|
91
|
-
== f"{base_url}{org}{tenant}/orchestrator_/
|
|
90
|
+
== f"{base_url}{org}{tenant}/orchestrator_/odata/Folders?%24filter=DisplayName+eq+%27non-existent-folder%27&%24top=1&%24select=Key"
|
|
92
91
|
)
|
|
93
92
|
|
|
94
93
|
assert HEADER_USER_AGENT in sent_request.headers
|
|
@@ -107,13 +106,12 @@ class TestFolderService:
|
|
|
107
106
|
version: str,
|
|
108
107
|
) -> None:
|
|
109
108
|
httpx_mock.add_response(
|
|
110
|
-
url=f"{base_url}{org}{tenant}/orchestrator_/
|
|
109
|
+
url=f"{base_url}{org}{tenant}/orchestrator_/odata/Folders?%24filter=DisplayName+eq+%27test-folder-path%27&%24top=1&%24select=Key",
|
|
111
110
|
status_code=200,
|
|
112
111
|
json={
|
|
113
|
-
"
|
|
112
|
+
"value": [
|
|
114
113
|
{
|
|
115
114
|
"Key": "test-folder-key",
|
|
116
|
-
"FullyQualifiedName": "test-folder-path",
|
|
117
115
|
}
|
|
118
116
|
]
|
|
119
117
|
},
|
|
@@ -130,7 +128,7 @@ class TestFolderService:
|
|
|
130
128
|
assert sent_request.method == "GET"
|
|
131
129
|
assert (
|
|
132
130
|
sent_request.url
|
|
133
|
-
== f"{base_url}{org}{tenant}/orchestrator_/
|
|
131
|
+
== f"{base_url}{org}{tenant}/orchestrator_/odata/Folders?%24filter=DisplayName+eq+%27test-folder-path%27&%24top=1&%24select=Key"
|
|
134
132
|
)
|
|
135
133
|
|
|
136
134
|
assert HEADER_USER_AGENT in sent_request.headers
|
|
@@ -149,9 +147,9 @@ class TestFolderService:
|
|
|
149
147
|
version: str,
|
|
150
148
|
) -> None:
|
|
151
149
|
httpx_mock.add_response(
|
|
152
|
-
url=f"{base_url}{org}{tenant}/orchestrator_/
|
|
150
|
+
url=f"{base_url}{org}{tenant}/orchestrator_/odata/Folders?%24filter=DisplayName+eq+%27non-existent-folder%27&%24top=1&%24select=Key",
|
|
153
151
|
status_code=200,
|
|
154
|
-
json={
|
|
152
|
+
json={},
|
|
155
153
|
)
|
|
156
154
|
|
|
157
155
|
folder_key = service.retrieve_key_by_folder_path("non-existent-folder")
|
|
@@ -165,7 +163,7 @@ class TestFolderService:
|
|
|
165
163
|
assert sent_request.method == "GET"
|
|
166
164
|
assert (
|
|
167
165
|
sent_request.url
|
|
168
|
-
== f"{base_url}{org}{tenant}/orchestrator_/
|
|
166
|
+
== f"{base_url}{org}{tenant}/orchestrator_/odata/Folders?%24filter=DisplayName+eq+%27non-existent-folder%27&%24top=1&%24select=Key"
|
|
169
167
|
)
|
|
170
168
|
|
|
171
169
|
assert HEADER_USER_AGENT in sent_request.headers
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|