uipath 2.1.98__tar.gz → 2.1.100__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.1.98 → uipath-2.1.100}/PKG-INFO +1 -1
- uipath-2.1.100/docs/AutomationSuite.md +150 -0
- {uipath-2.1.98 → uipath-2.1.100}/mkdocs.yml +1 -0
- {uipath-2.1.98 → uipath-2.1.100}/pyproject.toml +2 -4
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_init.py +44 -11
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_resources/CLI_REFERENCE.md +1 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/documents_service.py +4 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/models/agent.py +4 -33
- uipath-2.1.100/src/uipath/models/guardrails.py +469 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/job.py +1 -1
- {uipath-2.1.98 → uipath-2.1.100}/tests/agent/models/test_agent.py +197 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_init_agents_md.py +60 -20
- {uipath-2.1.98 → uipath-2.1.100}/uv.lock +1 -1
- {uipath-2.1.98 → uipath-2.1.100}/.claude/agents/command-tester.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.claude/commands/prepare-pr.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.cursorrules +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.editorconfig +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.gitattributes +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.github/labeler.yml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/auto-label.yml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/cd.yml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/ci.yml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/commitlint.yml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/integration_tests.yml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/lint.yml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/publish-dev.yml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/publish-docs.yml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/slack.yml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/test-uipath-langchain.yml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/test-uipath-llamaindex.yml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/test.yml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.gitignore +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.pre-commit-config.yaml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.python-version +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.vscode/extensions.json +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.vscode/launch.json +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/.vscode/settings.json +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/CONTRIBUTING.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/LICENSE +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/README.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/CONTRIBUTING.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/FAQ.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/assets/env-preparation-failed-dark.png +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/assets/env-preparation-failed-light.png +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/assets/favicon.png +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/assets/llms.txt +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/assets/logo-dark.svg +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/assets/logo-light.svg +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/cli/index.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/actions.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/assets/cloud_env_var_dark.gif +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/assets/cloud_env_var_light.gif +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/assets/cloud_env_var_secret_dark.png +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/assets/cloud_env_var_secret_light.png +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/assets/copy_path_dark.png +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/assets/copy_path_light.png +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/assets.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/attachments.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/buckets.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/connections.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/context_grounding.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/documents.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/documents_models.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/environment_variables.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/getting_started.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/jobs.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/llm_gateway.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/processes.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/queues.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/core/traced.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/hooks.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/index.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/javascripts/extra.js +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/overrides/main.html +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/overrides/partials/actions.html +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/overrides/partials/logo.html +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/release_policy.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/sample_images/google-ADK-agent/agent-output.png +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/docs/stylesheets/extra.css +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/justfile +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/py.typed +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/asset-modifier-agent/.env.example +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/asset-modifier-agent/README.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/asset-modifier-agent/input.json +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/asset-modifier-agent/main.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/asset-modifier-agent/pyproject.toml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/asset-modifier-agent/uv.lock +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/calculator/README.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/calculator/evals/eval-sets/default.json +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/calculator/evals/evaluators/equality.json +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/calculator/evals/evaluators/llm-as-a-judge.json +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/calculator/main.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/calculator/pyproject.toml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/calculator/uipath.json +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/event-trigger/.python-version +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/event-trigger/README.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/event-trigger/main.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/event-trigger/pyproject.toml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/google-ADK-agent/.env.example +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/google-ADK-agent/README.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/google-ADK-agent/input.json +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/google-ADK-agent/multi_tool_agent/__init__.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/google-ADK-agent/multi_tool_agent/agent.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/google-ADK-agent/pyproject.toml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/samples/google-ADK-agent/uv.lock +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/scripts/debug_test.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/scripts/lint_httpx_client.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/scripts/update_agents_md.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/__init__.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/README.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/__init__.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/_auth_server.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/_auth_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/_models.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/_portal_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/_url_utils.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/_utils.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/auth_config.json +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/index.html +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/localhost.crt +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/localhost.key +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_debug/_bridge.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_debug/_runtime.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/__init__.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_components/_chat.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_components/_details.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_components/_history.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_components/_json_input.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_components/_new.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_models/_execution.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_models/_messages.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_styles/terminal.tcss +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_utils/_chat.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_utils/_exporter.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_utils/_logger.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_console_progress_reporter.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_evaluator_factory.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_models/_evaluation_set.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_models/_evaluator.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_models/_evaluator_base_params.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_models/_exceptions.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_models/_mocks.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_models/_output.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_models/_sw_reporting.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_progress_reporter.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_runtime.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_span_collection.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/mocks/__init__.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/mocks/input_mocker.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/mocks/llm_mocker.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/mocks/mocker.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/mocks/mocker_factory.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/mocks/mockito_mocker.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/mocks/mocks.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_push/sw_file_handler.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_runtime/_contracts.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_runtime/_escalation.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_runtime/_hitl.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_runtime/_logging.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_runtime/_runtime.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_runtime/_runtime_factory.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_runtime/_script_executor.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_templates/.rels.template +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_templates/main.py.template +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_common.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_console.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_constants.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_debug.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_eval_set.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_folders.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_input_args.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_processes.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_project_files.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_studio_project.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_tracing.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_uv_helpers.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_auth.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_debug.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_deploy.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_dev.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_eval.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_invoke.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_new.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_pack.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_publish.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_pull.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_push.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_run.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/middlewares.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/models/__init__.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/models/runtime_schema.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/spinner.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_config.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_events/__init__.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_events/_event_bus.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_events/_events.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_execution_context.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_folder_context.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_resources/AGENTS.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_resources/CLAUDE.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_resources/REQUIRED_STRUCTURE.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_resources/SDK_REFERENCE.md +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/__init__.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/_base_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/actions_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/api_client.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/assets_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/attachments_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/buckets_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/connections_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/context_grounding_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/entities_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/external_application_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/folder_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/jobs_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/llm_gateway_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/processes_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/queues_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_uipath.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/__init__.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/_auth.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/_endpoint.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/_infer_bindings.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/_logs.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/_read_overwrites.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/_request_override.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/_request_spec.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/_ssl_context.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/_url.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/_user_agent.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/constants.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/_utils.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/conversation/__init__.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/conversation/async_stream.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/conversation/citation.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/conversation/content.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/conversation/conversation.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/conversation/event.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/conversation/exchange.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/conversation/message.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/conversation/meta.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/conversation/tool.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/loop/__init__.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/loop/prompts.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/loop/tools.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/models/evals.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/_helpers/__init__.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/_helpers/helpers.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/evaluators/__init__.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/evaluators/base_evaluator.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/evaluators/deterministic_evaluator_base.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/evaluators/exact_match_evaluator.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/evaluators/json_similarity_evaluator.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/evaluators/llm_as_judge_evaluator.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/evaluators/trajectory_evaluator.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/mocks/__init__.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/mocks/mockable.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/models/__init__.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/models/models.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/__init__.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/action_schema.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/actions.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/assets.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/attachment.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/auth.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/buckets.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/connections.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/context_grounding.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/context_grounding_index.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/documents.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/entities.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/errors.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/exceptions.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/interrupt_models.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/llm_gateway.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/processes.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/queues.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/py.typed +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/telemetry/__init__.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/telemetry/_constants.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/telemetry/_track.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/tracing/__init__.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/tracing/_otel_exporters.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/tracing/_traced.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/tracing/_utils.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/utils/__init__.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/utils/_endpoints_manager.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/src/uipath/utils/dynamic_schema.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/apicalls-testcase/main.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/apicalls-testcase/pyproject.toml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/apicalls-testcase/run.sh +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/apicalls-testcase/src/assert.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/basic-testcase/main.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/basic-testcase/pyproject.toml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/basic-testcase/run.sh +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/basic-testcase/src/assert.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/common/validate_output.sh +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/langchain-cross/agent.mermaid +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/langchain-cross/langgraph.json +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/langchain-cross/pyproject.toml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/langchain-cross/run.sh +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/langchain-cross/src/assert.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/langchain-cross/src/main.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/llamaindex-cross/agent.mermaid +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/llamaindex-cross/llama_index.json +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/llamaindex-cross/pyproject.toml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/llamaindex-cross/run.sh +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/llamaindex-cross/src/assert.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/testcases/llamaindex-cross/src/main.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/__init__.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/agent/models/test_evals.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/conftest.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/eval/mocks/test_input_mocker.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/eval/mocks/test_mocks.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/evaluators/test_json_similarity_evaluator.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/mocks/bindings_script.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/mocks/pyproject.toml +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/mocks/simple_script.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/mocks/uipath-mock.json +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/mocks/uipath-simple-script-mock.json +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/models/test_runtime_schema.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_auth.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_hitl.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_init.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_input_args.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_invoke.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_new.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_oidc_utils.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_pack.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_portal_service_ensure_valid_token.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_portal_service_refresh_token.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_publish.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_pull.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_push.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_run.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_utils.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/utils/common.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/utils/project_details.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/utils/test_dynamic_schema.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/cli/utils/uipath_json.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/conftest.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/conftest.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_actions_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_api_client.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_assets_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_attachments_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_base_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_buckets_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_connections_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_context_grounding_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_documents_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_entities_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_external_application_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_folder_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_jobs_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_llm_integration.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_llm_schema_cleanup.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_llm_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_processes_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_queues_service.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/tests_data/documents_service/create_validation_action_response.json +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/tests_data/documents_service/extraction_response.json +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/tests_data/documents_service/validated_result.json +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/test_bindings_inference.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/test_config.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/test_overwrites.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/tracing/test_otel_exporters.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/tracing/test_span_utils.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/tests/tracing/test_traced.py +0 -0
- {uipath-2.1.98 → uipath-2.1.100}/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.1.
|
|
3
|
+
Version: 2.1.100
|
|
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
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# Automation Suite
|
|
2
|
+
|
|
3
|
+
## Airgapped Deployments
|
|
4
|
+
|
|
5
|
+
Airgapped Automation Suite environments (deployments without internet access) require special configuration for Python package dependencies. You need to configure your project to use a Python package feed that is accessible within your environment.
|
|
6
|
+
|
|
7
|
+
You have two main options for managing Python packages:
|
|
8
|
+
|
|
9
|
+
1. **Use Azure DevOps Artifacts** - Leverage Azure DevOps as a Python package feed with upstream PyPI sources (suitable for environments with restricted but not fully airgapped access)
|
|
10
|
+
2. **Host your own Python package index** - Set up a self-hosted PyPI mirror or repository within your infrastructure (required for truly airgapped environments)
|
|
11
|
+
|
|
12
|
+
### Using Azure DevOps Artifacts as a Python Feed
|
|
13
|
+
|
|
14
|
+
Azure DevOps Artifacts can serve as a private Python package feed that includes packages from common public sources (PyPI). This is suitable for environments with restricted internet access where Azure DevOps services are still accessible.
|
|
15
|
+
|
|
16
|
+
#### Step 1: Create an Azure DevOps Artifacts Feed
|
|
17
|
+
|
|
18
|
+
1. Navigate to your Azure DevOps project
|
|
19
|
+
2. Go to **Artifacts**
|
|
20
|
+
3. Click **Create Feed**
|
|
21
|
+
4. Configure your feed settings and ensure you select the option to **Include packages from common public sources** (this will upstream PyPI packages)
|
|
22
|
+
|
|
23
|
+
#### Step 2: Authenticate with a Personal Access Token (PAT)
|
|
24
|
+
|
|
25
|
+
You'll need to create a Personal Access Token (PAT) to authenticate with your Azure DevOps feed.
|
|
26
|
+
|
|
27
|
+
1. Follow the [Microsoft documentation to create a PAT](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=Windows)
|
|
28
|
+
2. Ensure your PAT has at least **Packaging (Read)** permissions
|
|
29
|
+
3. Save your PAT securely - you'll need it for the next step
|
|
30
|
+
|
|
31
|
+
#### Step 3: Configure Your Project
|
|
32
|
+
|
|
33
|
+
Add the following configuration to your `pyproject.toml` file:
|
|
34
|
+
|
|
35
|
+
```toml
|
|
36
|
+
[[tool.uv.index]]
|
|
37
|
+
name = "my-feed"
|
|
38
|
+
url = "https://az:PAT_STRING@YOUR_ORG.pkgs.visualstudio.com/YourProject/_packaging/my-feed/pypi/simple/"
|
|
39
|
+
publish-url = "https://az:PAT_STRING@YOUR_ORG.pkgs.visualstudio.com/YourProject/_packaging/my-feed/pypi/upload/"
|
|
40
|
+
default = true
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Replace the following placeholders:
|
|
44
|
+
|
|
45
|
+
- **`PAT_STRING`**: Your actual Personal Access Token from Step 2
|
|
46
|
+
- **`YOUR_ORG`**: Your Azure DevOps organization name
|
|
47
|
+
- **`YourProject`**: Your Azure DevOps project name
|
|
48
|
+
- **`my-feed`**: The name of your feed (in both the `name` field and the URL)
|
|
49
|
+
|
|
50
|
+
/// tip
|
|
51
|
+
**Organization-scoped feeds**: If you're using an organization-scoped feed instead of a project-scoped feed, the URL format will be slightly different, but the same authentication logic applies. The URL will follow this pattern:
|
|
52
|
+
|
|
53
|
+
```toml
|
|
54
|
+
url = "https://az:PAT_STRING@YOUR_ORG.pkgs.visualstudio.com/_packaging/my-feed/pypi/simple/"
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Note the absence of the project name in the URL path.
|
|
58
|
+
///
|
|
59
|
+
|
|
60
|
+
/// tip
|
|
61
|
+
**Using environment variables**: You can also configure the feed URL using environment variables instead of hardcoding the PAT in `pyproject.toml`:
|
|
62
|
+
|
|
63
|
+
```toml
|
|
64
|
+
[[tool.uv.index]]
|
|
65
|
+
name = "my-feed"
|
|
66
|
+
url = "https://az:${AZURE_DEVOPS_PAT}@YOUR_ORG.pkgs.visualstudio.com/YourProject/_packaging/my-feed/pypi/simple/"
|
|
67
|
+
default = true # to use this feed as your default
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Then set the environment variable before running your commands locally:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
export AZURE_DEVOPS_PAT=your_pat_token
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**Important**: When deploying your process to UiPath, you'll need to configure these environment variables in the process settings. Navigate to your process in UiPath Orchestrator and add the environment variables (e.g., `AZURE_DEVOPS_PAT`) with their corresponding values. This ensures your process can authenticate with the external feed when running in the UiPath environment.
|
|
77
|
+
///
|
|
78
|
+
|
|
79
|
+
/// tip
|
|
80
|
+
**Specifying sources for specific packages**: If you don't want to set your custom feed as the default, you can use `[tool.uv.sources]` to specify which packages should come from your custom feed:
|
|
81
|
+
|
|
82
|
+
```toml
|
|
83
|
+
[[tool.uv.index]]
|
|
84
|
+
name = "my-feed"
|
|
85
|
+
url = "https://az:PAT_STRING@YOUR_ORG.pkgs.visualstudio.com/YourProject/_packaging/my-feed/pypi/simple/"
|
|
86
|
+
|
|
87
|
+
[tool.uv.sources]
|
|
88
|
+
uipath = { index = "my-feed" }
|
|
89
|
+
# Add other packages as needed
|
|
90
|
+
some-private-package = { index = "my-feed" }
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
This allows you to selectively pull specific packages from your custom feed while using the default PyPI for others.
|
|
94
|
+
///
|
|
95
|
+
|
|
96
|
+
#### Step 4: Install Dependencies
|
|
97
|
+
|
|
98
|
+
Once configured, you can install dependencies using `uv`:
|
|
99
|
+
|
|
100
|
+
<!-- termynal -->
|
|
101
|
+
```bash
|
|
102
|
+
> uv add uipath
|
|
103
|
+
⠋ Resolved 25 packages from my-feed
|
|
104
|
+
✓ Successfully installed uipath
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
#### Verification
|
|
108
|
+
|
|
109
|
+
To verify your feed configuration is working correctly, you can check that `uv` resolves packages from your custom feed:
|
|
110
|
+
|
|
111
|
+
<!-- termynal -->
|
|
112
|
+
```bash
|
|
113
|
+
> uv add --dry-run uipath
|
|
114
|
+
⠋ Checking package availability...
|
|
115
|
+
✓ All packages available from my-feed
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Hosting Your Own Python Package Index
|
|
119
|
+
|
|
120
|
+
For truly airgapped deployments where you need complete control over your infrastructure, you can host your own Python package index within your network. This approach eliminates any external dependencies and provides full control over the packages available in your environment.
|
|
121
|
+
|
|
122
|
+
#### Popular Self-Hosted Solutions
|
|
123
|
+
|
|
124
|
+
Several tools are available for hosting a Python package index:
|
|
125
|
+
|
|
126
|
+
- **[devpi](https://devpi.net/)** - A PyPI-compatible server with caching and mirroring capabilities
|
|
127
|
+
- **[PyPI Server](https://pypi.org/project/pypiserver/)** - A minimal PyPI-compatible server for hosting packages
|
|
128
|
+
- **[JFrog Artifactory](https://jfrog.com/artifactory/)** - Enterprise artifact repository with Python support
|
|
129
|
+
- **[Sonatype Nexus Repository](https://www.sonatype.com/products/nexus-repository)** - Universal artifact repository manager
|
|
130
|
+
- **[bandersnatch](https://github.com/pypa/bandersnatch)** - PyPI mirror client for creating a complete or filtered mirror
|
|
131
|
+
|
|
132
|
+
#### Configuration for Self-Hosted Index
|
|
133
|
+
|
|
134
|
+
Once you have your Python package index set up and accessible within your airgapped network, configure your `pyproject.toml` to point to it:
|
|
135
|
+
|
|
136
|
+
```toml
|
|
137
|
+
[[tool.uv.index]]
|
|
138
|
+
name = "internal-pypi"
|
|
139
|
+
url = "https://pypi.internal.company.com/simple/"
|
|
140
|
+
default = true
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
If your internal index requires authentication:
|
|
144
|
+
|
|
145
|
+
```toml
|
|
146
|
+
[[tool.uv.index]]
|
|
147
|
+
name = "internal-pypi"
|
|
148
|
+
url = "https://username:password@pypi.internal.company.com/simple/"
|
|
149
|
+
default = true
|
|
150
|
+
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "uipath"
|
|
3
|
-
version = "2.1.
|
|
3
|
+
version = "2.1.100"
|
|
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"
|
|
@@ -76,9 +76,7 @@ dev = [
|
|
|
76
76
|
|
|
77
77
|
[tool.hatch.build.targets.wheel]
|
|
78
78
|
packages = ["src/uipath"]
|
|
79
|
-
include = [
|
|
80
|
-
"src/uipath/_resources"
|
|
81
|
-
]
|
|
79
|
+
include = ["src/uipath/_resources"]
|
|
82
80
|
|
|
83
81
|
[tool.ruff]
|
|
84
82
|
line-length = 88
|
|
@@ -60,18 +60,25 @@ def generate_env_file(target_directory):
|
|
|
60
60
|
console.success(f"Created '{relative_path}' file.")
|
|
61
61
|
|
|
62
62
|
|
|
63
|
-
def generate_agent_md_file(
|
|
63
|
+
def generate_agent_md_file(
|
|
64
|
+
target_directory: str, file_name: str, no_agents_md_override: bool
|
|
65
|
+
) -> bool:
|
|
64
66
|
"""Generate an agent-specific file from the packaged resource.
|
|
65
67
|
|
|
66
68
|
Args:
|
|
67
69
|
target_directory: The directory where the file should be created.
|
|
68
70
|
file_name: The name of the file should be created.
|
|
71
|
+
no_agents_md_override: Whether to override existing files.
|
|
69
72
|
"""
|
|
70
73
|
target_path = os.path.join(target_directory, file_name)
|
|
71
74
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
+
will_override = os.path.exists(target_path)
|
|
76
|
+
|
|
77
|
+
if will_override and no_agents_md_override:
|
|
78
|
+
console.success(
|
|
79
|
+
f"File {click.style(target_path, fg='cyan')} already exists. Skipping."
|
|
80
|
+
)
|
|
81
|
+
return False
|
|
75
82
|
|
|
76
83
|
try:
|
|
77
84
|
source_path = importlib.resources.files("uipath._resources").joinpath(file_name)
|
|
@@ -79,15 +86,23 @@ def generate_agent_md_file(target_directory: str, file_name: str) -> None:
|
|
|
79
86
|
with importlib.resources.as_file(source_path) as s_path:
|
|
80
87
|
shutil.copy(s_path, target_path)
|
|
81
88
|
|
|
89
|
+
if will_override:
|
|
90
|
+
logger.debug(f"File '{target_path}' has been overridden.")
|
|
91
|
+
|
|
92
|
+
return will_override
|
|
93
|
+
|
|
82
94
|
except Exception as e:
|
|
83
95
|
console.warning(f"Could not create {file_name}: {e}")
|
|
84
96
|
|
|
97
|
+
return False
|
|
98
|
+
|
|
85
99
|
|
|
86
|
-
def generate_agent_md_files(target_directory: str) -> None:
|
|
100
|
+
def generate_agent_md_files(target_directory: str, no_agents_md_override: bool) -> None:
|
|
87
101
|
"""Generate an agent-specific file from the packaged resource.
|
|
88
102
|
|
|
89
103
|
Args:
|
|
90
104
|
target_directory: The directory where the files should be created.
|
|
105
|
+
no_agents_md_override: Whether to override existing files.
|
|
91
106
|
"""
|
|
92
107
|
agent_dir = os.path.join(target_directory, ".agent")
|
|
93
108
|
os.makedirs(agent_dir, exist_ok=True)
|
|
@@ -96,13 +111,21 @@ def generate_agent_md_files(target_directory: str) -> None:
|
|
|
96
111
|
|
|
97
112
|
agent_files = ["CLI_REFERENCE.md", "REQUIRED_STRUCTURE.md", "SDK_REFERENCE.md"]
|
|
98
113
|
|
|
114
|
+
any_overridden = False
|
|
115
|
+
|
|
99
116
|
for file_name in root_files:
|
|
100
|
-
generate_agent_md_file(target_directory, file_name)
|
|
117
|
+
if generate_agent_md_file(target_directory, file_name, no_agents_md_override):
|
|
118
|
+
any_overridden = True
|
|
101
119
|
|
|
102
120
|
for file_name in agent_files:
|
|
103
|
-
generate_agent_md_file(agent_dir, file_name)
|
|
121
|
+
if generate_agent_md_file(agent_dir, file_name, no_agents_md_override):
|
|
122
|
+
any_overridden = True
|
|
104
123
|
|
|
105
|
-
|
|
124
|
+
if any_overridden:
|
|
125
|
+
console.success(f"Updated {click.style('AGENTS.md', fg='cyan')} related files.")
|
|
126
|
+
return
|
|
127
|
+
|
|
128
|
+
console.success(f"Created {click.style('AGENTS.md', fg='cyan')} related files.")
|
|
106
129
|
|
|
107
130
|
|
|
108
131
|
def get_existing_settings(config_path: str) -> Optional[Dict[str, Any]]:
|
|
@@ -149,8 +172,15 @@ def write_config_file(config_data: Dict[str, Any] | RuntimeSchema) -> None:
|
|
|
149
172
|
default=True,
|
|
150
173
|
help="Infer bindings from the script.",
|
|
151
174
|
)
|
|
175
|
+
@click.option(
|
|
176
|
+
"--no-agents-md-override",
|
|
177
|
+
is_flag=True,
|
|
178
|
+
required=False,
|
|
179
|
+
default=False,
|
|
180
|
+
help="Won't override existing .agent files and AGENTS.md file.",
|
|
181
|
+
)
|
|
152
182
|
@track
|
|
153
|
-
def init(entrypoint: str, infer_bindings: bool) -> None:
|
|
183
|
+
def init(entrypoint: str, infer_bindings: bool, no_agents_md_override: bool) -> None:
|
|
154
184
|
"""Create uipath.json with input/output schemas and bindings."""
|
|
155
185
|
with console.spinner("Initializing UiPath project ..."):
|
|
156
186
|
current_directory = os.getcwd()
|
|
@@ -160,7 +190,10 @@ def init(entrypoint: str, infer_bindings: bool) -> None:
|
|
|
160
190
|
result = Middlewares.next(
|
|
161
191
|
"init",
|
|
162
192
|
entrypoint,
|
|
163
|
-
options={
|
|
193
|
+
options={
|
|
194
|
+
"infer_bindings": infer_bindings,
|
|
195
|
+
"no_agents_md_override": no_agents_md_override,
|
|
196
|
+
},
|
|
164
197
|
write_config=write_config_file,
|
|
165
198
|
)
|
|
166
199
|
|
|
@@ -175,7 +208,7 @@ def init(entrypoint: str, infer_bindings: bool) -> None:
|
|
|
175
208
|
if not result.should_continue:
|
|
176
209
|
return
|
|
177
210
|
|
|
178
|
-
generate_agent_md_files(current_directory)
|
|
211
|
+
generate_agent_md_files(current_directory, no_agents_md_override)
|
|
179
212
|
script_path = get_user_script(current_directory, entrypoint=entrypoint)
|
|
180
213
|
if not script_path:
|
|
181
214
|
return
|
|
@@ -27,6 +27,7 @@ The UiPath Python SDK provides a comprehensive CLI for managing coded agents and
|
|
|
27
27
|
| Option | Type | Default | Description |
|
|
28
28
|
|--------|------|---------|-------------|
|
|
29
29
|
| `--infer-bindings` | flag | false | Infer bindings from the script. |
|
|
30
|
+
| `--no-agents-md-override` | flag | false | Won't override existing .agent files and AGENTS.md file. |
|
|
30
31
|
|
|
31
32
|
**Usage Examples:**
|
|
32
33
|
|
|
@@ -27,6 +27,10 @@ class DocumentsService(FolderContext, BaseService):
|
|
|
27
27
|
"""Service for managing UiPath DocumentUnderstanding Document Operations.
|
|
28
28
|
|
|
29
29
|
This service provides methods to extract data from documents using UiPath's Document Understanding capabilities.
|
|
30
|
+
|
|
31
|
+
!!! warning "Preview Feature"
|
|
32
|
+
This function is currently experimental.
|
|
33
|
+
Behavior and parameters are subject to change in future versions.
|
|
30
34
|
"""
|
|
31
35
|
|
|
32
36
|
def __init__(self, config: Config, execution_context: ExecutionContext) -> None:
|
|
@@ -6,6 +6,7 @@ from typing import Annotated, Any, Dict, List, Literal, Optional, Union
|
|
|
6
6
|
from pydantic import BaseModel, ConfigDict, Discriminator, Field, Tag, field_validator
|
|
7
7
|
|
|
8
8
|
from uipath.models import Connection
|
|
9
|
+
from uipath.models.guardrails import AgentEscalationRecipient, Guardrail
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
class AgentResourceType(str, Enum):
|
|
@@ -305,39 +306,6 @@ class AgentMcpResourceConfig(BaseAgentResourceConfig):
|
|
|
305
306
|
)
|
|
306
307
|
|
|
307
308
|
|
|
308
|
-
class AgentEscalationRecipientType(str, Enum):
|
|
309
|
-
"""Enum for escalation recipient types."""
|
|
310
|
-
|
|
311
|
-
USER_ID = "UserId"
|
|
312
|
-
GROUP_ID = "GroupId"
|
|
313
|
-
USER_EMAIL = "UserEmail"
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
class AgentEscalationRecipient(BaseModel):
|
|
317
|
-
"""Recipient for escalation."""
|
|
318
|
-
|
|
319
|
-
type: Union[AgentEscalationRecipientType, str] = Field(..., alias="type")
|
|
320
|
-
value: str = Field(..., alias="value")
|
|
321
|
-
display_name: Optional[str] = Field(default=None, alias="displayName")
|
|
322
|
-
|
|
323
|
-
@field_validator("type", mode="before")
|
|
324
|
-
@classmethod
|
|
325
|
-
def normalize_type(cls, v: Any) -> str:
|
|
326
|
-
"""Normalize recipient type from int (1=UserId, 2=GroupId, 3=UserEmail) or string. Unknown integers are converted to string."""
|
|
327
|
-
if isinstance(v, int):
|
|
328
|
-
mapping = {
|
|
329
|
-
1: AgentEscalationRecipientType.USER_ID,
|
|
330
|
-
2: AgentEscalationRecipientType.GROUP_ID,
|
|
331
|
-
3: AgentEscalationRecipientType.USER_EMAIL,
|
|
332
|
-
}
|
|
333
|
-
return mapping.get(v, str(v))
|
|
334
|
-
return v
|
|
335
|
-
|
|
336
|
-
model_config = ConfigDict(
|
|
337
|
-
validate_by_name=True, validate_by_alias=True, extra="allow"
|
|
338
|
-
)
|
|
339
|
-
|
|
340
|
-
|
|
341
309
|
class AgentEscalationChannelProperties(BaseResourceProperties):
|
|
342
310
|
"""Agent escalation channel properties."""
|
|
343
311
|
|
|
@@ -508,6 +476,9 @@ class BaseAgentDefinition(BaseModel):
|
|
|
508
476
|
output_schema: Dict[str, Any] = Field(
|
|
509
477
|
..., alias="outputSchema", description="JSON schema for output arguments"
|
|
510
478
|
)
|
|
479
|
+
guardrails: Optional[List[Guardrail]] = Field(
|
|
480
|
+
None, description="List of agent guardrails"
|
|
481
|
+
)
|
|
511
482
|
|
|
512
483
|
model_config = ConfigDict(
|
|
513
484
|
validate_by_name=True, validate_by_alias=True, extra="allow"
|