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.

Files changed (376) hide show
  1. {uipath-2.1.98 → uipath-2.1.100}/PKG-INFO +1 -1
  2. uipath-2.1.100/docs/AutomationSuite.md +150 -0
  3. {uipath-2.1.98 → uipath-2.1.100}/mkdocs.yml +1 -0
  4. {uipath-2.1.98 → uipath-2.1.100}/pyproject.toml +2 -4
  5. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_init.py +44 -11
  6. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_resources/CLI_REFERENCE.md +1 -0
  7. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/documents_service.py +4 -0
  8. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/models/agent.py +4 -33
  9. uipath-2.1.100/src/uipath/models/guardrails.py +469 -0
  10. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/job.py +1 -1
  11. {uipath-2.1.98 → uipath-2.1.100}/tests/agent/models/test_agent.py +197 -0
  12. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_init_agents_md.py +60 -20
  13. {uipath-2.1.98 → uipath-2.1.100}/uv.lock +1 -1
  14. {uipath-2.1.98 → uipath-2.1.100}/.claude/agents/command-tester.md +0 -0
  15. {uipath-2.1.98 → uipath-2.1.100}/.claude/commands/prepare-pr.md +0 -0
  16. {uipath-2.1.98 → uipath-2.1.100}/.cursorrules +0 -0
  17. {uipath-2.1.98 → uipath-2.1.100}/.editorconfig +0 -0
  18. {uipath-2.1.98 → uipath-2.1.100}/.gitattributes +0 -0
  19. {uipath-2.1.98 → uipath-2.1.100}/.github/labeler.yml +0 -0
  20. {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/auto-label.yml +0 -0
  21. {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/cd.yml +0 -0
  22. {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/ci.yml +0 -0
  23. {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/commitlint.yml +0 -0
  24. {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/integration_tests.yml +0 -0
  25. {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/lint.yml +0 -0
  26. {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/publish-dev.yml +0 -0
  27. {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/publish-docs.yml +0 -0
  28. {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/slack.yml +0 -0
  29. {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/test-uipath-langchain.yml +0 -0
  30. {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/test-uipath-llamaindex.yml +0 -0
  31. {uipath-2.1.98 → uipath-2.1.100}/.github/workflows/test.yml +0 -0
  32. {uipath-2.1.98 → uipath-2.1.100}/.gitignore +0 -0
  33. {uipath-2.1.98 → uipath-2.1.100}/.pre-commit-config.yaml +0 -0
  34. {uipath-2.1.98 → uipath-2.1.100}/.python-version +0 -0
  35. {uipath-2.1.98 → uipath-2.1.100}/.vscode/extensions.json +0 -0
  36. {uipath-2.1.98 → uipath-2.1.100}/.vscode/launch.json +0 -0
  37. {uipath-2.1.98 → uipath-2.1.100}/.vscode/settings.json +0 -0
  38. {uipath-2.1.98 → uipath-2.1.100}/CONTRIBUTING.md +0 -0
  39. {uipath-2.1.98 → uipath-2.1.100}/LICENSE +0 -0
  40. {uipath-2.1.98 → uipath-2.1.100}/README.md +0 -0
  41. {uipath-2.1.98 → uipath-2.1.100}/docs/CONTRIBUTING.md +0 -0
  42. {uipath-2.1.98 → uipath-2.1.100}/docs/FAQ.md +0 -0
  43. {uipath-2.1.98 → uipath-2.1.100}/docs/assets/env-preparation-failed-dark.png +0 -0
  44. {uipath-2.1.98 → uipath-2.1.100}/docs/assets/env-preparation-failed-light.png +0 -0
  45. {uipath-2.1.98 → uipath-2.1.100}/docs/assets/favicon.png +0 -0
  46. {uipath-2.1.98 → uipath-2.1.100}/docs/assets/llms.txt +0 -0
  47. {uipath-2.1.98 → uipath-2.1.100}/docs/assets/logo-dark.svg +0 -0
  48. {uipath-2.1.98 → uipath-2.1.100}/docs/assets/logo-light.svg +0 -0
  49. {uipath-2.1.98 → uipath-2.1.100}/docs/cli/index.md +0 -0
  50. {uipath-2.1.98 → uipath-2.1.100}/docs/core/actions.md +0 -0
  51. {uipath-2.1.98 → uipath-2.1.100}/docs/core/assets/cloud_env_var_dark.gif +0 -0
  52. {uipath-2.1.98 → uipath-2.1.100}/docs/core/assets/cloud_env_var_light.gif +0 -0
  53. {uipath-2.1.98 → uipath-2.1.100}/docs/core/assets/cloud_env_var_secret_dark.png +0 -0
  54. {uipath-2.1.98 → uipath-2.1.100}/docs/core/assets/cloud_env_var_secret_light.png +0 -0
  55. {uipath-2.1.98 → uipath-2.1.100}/docs/core/assets/copy_path_dark.png +0 -0
  56. {uipath-2.1.98 → uipath-2.1.100}/docs/core/assets/copy_path_light.png +0 -0
  57. {uipath-2.1.98 → uipath-2.1.100}/docs/core/assets.md +0 -0
  58. {uipath-2.1.98 → uipath-2.1.100}/docs/core/attachments.md +0 -0
  59. {uipath-2.1.98 → uipath-2.1.100}/docs/core/buckets.md +0 -0
  60. {uipath-2.1.98 → uipath-2.1.100}/docs/core/connections.md +0 -0
  61. {uipath-2.1.98 → uipath-2.1.100}/docs/core/context_grounding.md +0 -0
  62. {uipath-2.1.98 → uipath-2.1.100}/docs/core/documents.md +0 -0
  63. {uipath-2.1.98 → uipath-2.1.100}/docs/core/documents_models.md +0 -0
  64. {uipath-2.1.98 → uipath-2.1.100}/docs/core/environment_variables.md +0 -0
  65. {uipath-2.1.98 → uipath-2.1.100}/docs/core/getting_started.md +0 -0
  66. {uipath-2.1.98 → uipath-2.1.100}/docs/core/jobs.md +0 -0
  67. {uipath-2.1.98 → uipath-2.1.100}/docs/core/llm_gateway.md +0 -0
  68. {uipath-2.1.98 → uipath-2.1.100}/docs/core/processes.md +0 -0
  69. {uipath-2.1.98 → uipath-2.1.100}/docs/core/queues.md +0 -0
  70. {uipath-2.1.98 → uipath-2.1.100}/docs/core/traced.md +0 -0
  71. {uipath-2.1.98 → uipath-2.1.100}/docs/hooks.py +0 -0
  72. {uipath-2.1.98 → uipath-2.1.100}/docs/index.md +0 -0
  73. {uipath-2.1.98 → uipath-2.1.100}/docs/javascripts/extra.js +0 -0
  74. {uipath-2.1.98 → uipath-2.1.100}/docs/overrides/main.html +0 -0
  75. {uipath-2.1.98 → uipath-2.1.100}/docs/overrides/partials/actions.html +0 -0
  76. {uipath-2.1.98 → uipath-2.1.100}/docs/overrides/partials/logo.html +0 -0
  77. {uipath-2.1.98 → uipath-2.1.100}/docs/release_policy.md +0 -0
  78. {uipath-2.1.98 → uipath-2.1.100}/docs/sample_images/google-ADK-agent/agent-output.png +0 -0
  79. {uipath-2.1.98 → uipath-2.1.100}/docs/stylesheets/extra.css +0 -0
  80. {uipath-2.1.98 → uipath-2.1.100}/justfile +0 -0
  81. {uipath-2.1.98 → uipath-2.1.100}/py.typed +0 -0
  82. {uipath-2.1.98 → uipath-2.1.100}/samples/asset-modifier-agent/.env.example +0 -0
  83. {uipath-2.1.98 → uipath-2.1.100}/samples/asset-modifier-agent/README.md +0 -0
  84. {uipath-2.1.98 → uipath-2.1.100}/samples/asset-modifier-agent/input.json +0 -0
  85. {uipath-2.1.98 → uipath-2.1.100}/samples/asset-modifier-agent/main.py +0 -0
  86. {uipath-2.1.98 → uipath-2.1.100}/samples/asset-modifier-agent/pyproject.toml +0 -0
  87. {uipath-2.1.98 → uipath-2.1.100}/samples/asset-modifier-agent/uv.lock +0 -0
  88. {uipath-2.1.98 → uipath-2.1.100}/samples/calculator/README.md +0 -0
  89. {uipath-2.1.98 → uipath-2.1.100}/samples/calculator/evals/eval-sets/default.json +0 -0
  90. {uipath-2.1.98 → uipath-2.1.100}/samples/calculator/evals/evaluators/equality.json +0 -0
  91. {uipath-2.1.98 → uipath-2.1.100}/samples/calculator/evals/evaluators/llm-as-a-judge.json +0 -0
  92. {uipath-2.1.98 → uipath-2.1.100}/samples/calculator/main.py +0 -0
  93. {uipath-2.1.98 → uipath-2.1.100}/samples/calculator/pyproject.toml +0 -0
  94. {uipath-2.1.98 → uipath-2.1.100}/samples/calculator/uipath.json +0 -0
  95. {uipath-2.1.98 → uipath-2.1.100}/samples/event-trigger/.python-version +0 -0
  96. {uipath-2.1.98 → uipath-2.1.100}/samples/event-trigger/README.md +0 -0
  97. {uipath-2.1.98 → uipath-2.1.100}/samples/event-trigger/main.py +0 -0
  98. {uipath-2.1.98 → uipath-2.1.100}/samples/event-trigger/pyproject.toml +0 -0
  99. {uipath-2.1.98 → uipath-2.1.100}/samples/google-ADK-agent/.env.example +0 -0
  100. {uipath-2.1.98 → uipath-2.1.100}/samples/google-ADK-agent/README.md +0 -0
  101. {uipath-2.1.98 → uipath-2.1.100}/samples/google-ADK-agent/input.json +0 -0
  102. {uipath-2.1.98 → uipath-2.1.100}/samples/google-ADK-agent/multi_tool_agent/__init__.py +0 -0
  103. {uipath-2.1.98 → uipath-2.1.100}/samples/google-ADK-agent/multi_tool_agent/agent.py +0 -0
  104. {uipath-2.1.98 → uipath-2.1.100}/samples/google-ADK-agent/pyproject.toml +0 -0
  105. {uipath-2.1.98 → uipath-2.1.100}/samples/google-ADK-agent/uv.lock +0 -0
  106. {uipath-2.1.98 → uipath-2.1.100}/scripts/debug_test.py +0 -0
  107. {uipath-2.1.98 → uipath-2.1.100}/scripts/lint_httpx_client.py +0 -0
  108. {uipath-2.1.98 → uipath-2.1.100}/scripts/update_agents_md.py +0 -0
  109. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/__init__.py +0 -0
  110. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/README.md +0 -0
  111. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/__init__.py +0 -0
  112. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/_auth_server.py +0 -0
  113. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/_auth_service.py +0 -0
  114. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/_models.py +0 -0
  115. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
  116. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/_portal_service.py +0 -0
  117. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/_url_utils.py +0 -0
  118. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/_utils.py +0 -0
  119. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/auth_config.json +0 -0
  120. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/index.html +0 -0
  121. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/localhost.crt +0 -0
  122. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_auth/localhost.key +0 -0
  123. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_debug/_bridge.py +0 -0
  124. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_debug/_runtime.py +0 -0
  125. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/__init__.py +0 -0
  126. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_components/_chat.py +0 -0
  127. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_components/_details.py +0 -0
  128. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_components/_history.py +0 -0
  129. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_components/_json_input.py +0 -0
  130. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_components/_new.py +0 -0
  131. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_models/_execution.py +0 -0
  132. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_models/_messages.py +0 -0
  133. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_styles/terminal.tcss +0 -0
  134. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_utils/_chat.py +0 -0
  135. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_utils/_exporter.py +0 -0
  136. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_dev/_terminal/_utils/_logger.py +0 -0
  137. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_console_progress_reporter.py +0 -0
  138. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_evaluator_factory.py +0 -0
  139. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_models/_evaluation_set.py +0 -0
  140. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_models/_evaluator.py +0 -0
  141. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_models/_evaluator_base_params.py +0 -0
  142. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_models/_exceptions.py +0 -0
  143. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_models/_mocks.py +0 -0
  144. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_models/_output.py +0 -0
  145. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_models/_sw_reporting.py +0 -0
  146. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_progress_reporter.py +0 -0
  147. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_runtime.py +0 -0
  148. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/_span_collection.py +0 -0
  149. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/mocks/__init__.py +0 -0
  150. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/mocks/input_mocker.py +0 -0
  151. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/mocks/llm_mocker.py +0 -0
  152. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/mocks/mocker.py +0 -0
  153. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/mocks/mocker_factory.py +0 -0
  154. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/mocks/mockito_mocker.py +0 -0
  155. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_evals/mocks/mocks.py +0 -0
  156. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_push/sw_file_handler.py +0 -0
  157. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_runtime/_contracts.py +0 -0
  158. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_runtime/_escalation.py +0 -0
  159. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_runtime/_hitl.py +0 -0
  160. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_runtime/_logging.py +0 -0
  161. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_runtime/_runtime.py +0 -0
  162. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_runtime/_runtime_factory.py +0 -0
  163. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_runtime/_script_executor.py +0 -0
  164. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
  165. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_templates/.rels.template +0 -0
  166. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
  167. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_templates/main.py.template +0 -0
  168. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
  169. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_common.py +0 -0
  170. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_console.py +0 -0
  171. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_constants.py +0 -0
  172. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_debug.py +0 -0
  173. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_eval_set.py +0 -0
  174. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_folders.py +0 -0
  175. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_input_args.py +0 -0
  176. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
  177. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_processes.py +0 -0
  178. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_project_files.py +0 -0
  179. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_studio_project.py +0 -0
  180. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_tracing.py +0 -0
  181. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/_utils/_uv_helpers.py +0 -0
  182. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_auth.py +0 -0
  183. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_debug.py +0 -0
  184. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_deploy.py +0 -0
  185. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_dev.py +0 -0
  186. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_eval.py +0 -0
  187. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_invoke.py +0 -0
  188. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_new.py +0 -0
  189. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_pack.py +0 -0
  190. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_publish.py +0 -0
  191. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_pull.py +0 -0
  192. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_push.py +0 -0
  193. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/cli_run.py +0 -0
  194. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/middlewares.py +0 -0
  195. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/models/__init__.py +0 -0
  196. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/models/runtime_schema.py +0 -0
  197. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_cli/spinner.py +0 -0
  198. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_config.py +0 -0
  199. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_events/__init__.py +0 -0
  200. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_events/_event_bus.py +0 -0
  201. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_events/_events.py +0 -0
  202. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_execution_context.py +0 -0
  203. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_folder_context.py +0 -0
  204. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_resources/AGENTS.md +0 -0
  205. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_resources/CLAUDE.md +0 -0
  206. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_resources/REQUIRED_STRUCTURE.md +0 -0
  207. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_resources/SDK_REFERENCE.md +0 -0
  208. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/__init__.py +0 -0
  209. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/_base_service.py +0 -0
  210. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/actions_service.py +0 -0
  211. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/api_client.py +0 -0
  212. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/assets_service.py +0 -0
  213. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/attachments_service.py +0 -0
  214. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/buckets_service.py +0 -0
  215. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/connections_service.py +0 -0
  216. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/context_grounding_service.py +0 -0
  217. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/entities_service.py +0 -0
  218. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/external_application_service.py +0 -0
  219. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/folder_service.py +0 -0
  220. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/jobs_service.py +0 -0
  221. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/llm_gateway_service.py +0 -0
  222. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/processes_service.py +0 -0
  223. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_services/queues_service.py +0 -0
  224. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_uipath.py +0 -0
  225. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/__init__.py +0 -0
  226. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/_auth.py +0 -0
  227. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/_endpoint.py +0 -0
  228. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/_infer_bindings.py +0 -0
  229. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/_logs.py +0 -0
  230. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/_read_overwrites.py +0 -0
  231. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/_request_override.py +0 -0
  232. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/_request_spec.py +0 -0
  233. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/_ssl_context.py +0 -0
  234. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/_url.py +0 -0
  235. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/_user_agent.py +0 -0
  236. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/_utils/constants.py +0 -0
  237. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/_utils.py +0 -0
  238. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/conversation/__init__.py +0 -0
  239. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/conversation/async_stream.py +0 -0
  240. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/conversation/citation.py +0 -0
  241. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/conversation/content.py +0 -0
  242. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/conversation/conversation.py +0 -0
  243. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/conversation/event.py +0 -0
  244. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/conversation/exchange.py +0 -0
  245. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/conversation/message.py +0 -0
  246. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/conversation/meta.py +0 -0
  247. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/conversation/tool.py +0 -0
  248. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/loop/__init__.py +0 -0
  249. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/loop/prompts.py +0 -0
  250. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/loop/tools.py +0 -0
  251. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/agent/models/evals.py +0 -0
  252. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/_helpers/__init__.py +0 -0
  253. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/_helpers/helpers.py +0 -0
  254. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/evaluators/__init__.py +0 -0
  255. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/evaluators/base_evaluator.py +0 -0
  256. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/evaluators/deterministic_evaluator_base.py +0 -0
  257. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/evaluators/exact_match_evaluator.py +0 -0
  258. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/evaluators/json_similarity_evaluator.py +0 -0
  259. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/evaluators/llm_as_judge_evaluator.py +0 -0
  260. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/evaluators/trajectory_evaluator.py +0 -0
  261. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/mocks/__init__.py +0 -0
  262. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/mocks/mockable.py +0 -0
  263. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/models/__init__.py +0 -0
  264. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/eval/models/models.py +0 -0
  265. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/__init__.py +0 -0
  266. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/action_schema.py +0 -0
  267. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/actions.py +0 -0
  268. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/assets.py +0 -0
  269. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/attachment.py +0 -0
  270. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/auth.py +0 -0
  271. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/buckets.py +0 -0
  272. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/connections.py +0 -0
  273. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/context_grounding.py +0 -0
  274. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/context_grounding_index.py +0 -0
  275. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/documents.py +0 -0
  276. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/entities.py +0 -0
  277. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/errors.py +0 -0
  278. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/exceptions.py +0 -0
  279. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/interrupt_models.py +0 -0
  280. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/llm_gateway.py +0 -0
  281. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/processes.py +0 -0
  282. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/models/queues.py +0 -0
  283. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/py.typed +0 -0
  284. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/telemetry/__init__.py +0 -0
  285. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/telemetry/_constants.py +0 -0
  286. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/telemetry/_track.py +0 -0
  287. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/tracing/__init__.py +0 -0
  288. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/tracing/_otel_exporters.py +0 -0
  289. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/tracing/_traced.py +0 -0
  290. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/tracing/_utils.py +0 -0
  291. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/utils/__init__.py +0 -0
  292. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/utils/_endpoints_manager.py +0 -0
  293. {uipath-2.1.98 → uipath-2.1.100}/src/uipath/utils/dynamic_schema.py +0 -0
  294. {uipath-2.1.98 → uipath-2.1.100}/testcases/apicalls-testcase/main.py +0 -0
  295. {uipath-2.1.98 → uipath-2.1.100}/testcases/apicalls-testcase/pyproject.toml +0 -0
  296. {uipath-2.1.98 → uipath-2.1.100}/testcases/apicalls-testcase/run.sh +0 -0
  297. {uipath-2.1.98 → uipath-2.1.100}/testcases/apicalls-testcase/src/assert.py +0 -0
  298. {uipath-2.1.98 → uipath-2.1.100}/testcases/basic-testcase/main.py +0 -0
  299. {uipath-2.1.98 → uipath-2.1.100}/testcases/basic-testcase/pyproject.toml +0 -0
  300. {uipath-2.1.98 → uipath-2.1.100}/testcases/basic-testcase/run.sh +0 -0
  301. {uipath-2.1.98 → uipath-2.1.100}/testcases/basic-testcase/src/assert.py +0 -0
  302. {uipath-2.1.98 → uipath-2.1.100}/testcases/common/validate_output.sh +0 -0
  303. {uipath-2.1.98 → uipath-2.1.100}/testcases/langchain-cross/agent.mermaid +0 -0
  304. {uipath-2.1.98 → uipath-2.1.100}/testcases/langchain-cross/langgraph.json +0 -0
  305. {uipath-2.1.98 → uipath-2.1.100}/testcases/langchain-cross/pyproject.toml +0 -0
  306. {uipath-2.1.98 → uipath-2.1.100}/testcases/langchain-cross/run.sh +0 -0
  307. {uipath-2.1.98 → uipath-2.1.100}/testcases/langchain-cross/src/assert.py +0 -0
  308. {uipath-2.1.98 → uipath-2.1.100}/testcases/langchain-cross/src/main.py +0 -0
  309. {uipath-2.1.98 → uipath-2.1.100}/testcases/llamaindex-cross/agent.mermaid +0 -0
  310. {uipath-2.1.98 → uipath-2.1.100}/testcases/llamaindex-cross/llama_index.json +0 -0
  311. {uipath-2.1.98 → uipath-2.1.100}/testcases/llamaindex-cross/pyproject.toml +0 -0
  312. {uipath-2.1.98 → uipath-2.1.100}/testcases/llamaindex-cross/run.sh +0 -0
  313. {uipath-2.1.98 → uipath-2.1.100}/testcases/llamaindex-cross/src/assert.py +0 -0
  314. {uipath-2.1.98 → uipath-2.1.100}/testcases/llamaindex-cross/src/main.py +0 -0
  315. {uipath-2.1.98 → uipath-2.1.100}/tests/__init__.py +0 -0
  316. {uipath-2.1.98 → uipath-2.1.100}/tests/agent/models/test_evals.py +0 -0
  317. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/conftest.py +0 -0
  318. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/eval/mocks/test_input_mocker.py +0 -0
  319. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/eval/mocks/test_mocks.py +0 -0
  320. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/evaluators/test_json_similarity_evaluator.py +0 -0
  321. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/mocks/bindings_script.py +0 -0
  322. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/mocks/pyproject.toml +0 -0
  323. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/mocks/simple_script.py +0 -0
  324. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/mocks/uipath-mock.json +0 -0
  325. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/mocks/uipath-simple-script-mock.json +0 -0
  326. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/models/test_runtime_schema.py +0 -0
  327. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_auth.py +0 -0
  328. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_hitl.py +0 -0
  329. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_init.py +0 -0
  330. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_input_args.py +0 -0
  331. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_invoke.py +0 -0
  332. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_new.py +0 -0
  333. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_oidc_utils.py +0 -0
  334. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_pack.py +0 -0
  335. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_portal_service_ensure_valid_token.py +0 -0
  336. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_portal_service_refresh_token.py +0 -0
  337. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_publish.py +0 -0
  338. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_pull.py +0 -0
  339. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_push.py +0 -0
  340. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_run.py +0 -0
  341. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/test_utils.py +0 -0
  342. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/utils/common.py +0 -0
  343. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/utils/project_details.py +0 -0
  344. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/utils/test_dynamic_schema.py +0 -0
  345. {uipath-2.1.98 → uipath-2.1.100}/tests/cli/utils/uipath_json.py +0 -0
  346. {uipath-2.1.98 → uipath-2.1.100}/tests/conftest.py +0 -0
  347. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/conftest.py +0 -0
  348. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_actions_service.py +0 -0
  349. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_api_client.py +0 -0
  350. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_assets_service.py +0 -0
  351. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_attachments_service.py +0 -0
  352. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_base_service.py +0 -0
  353. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_buckets_service.py +0 -0
  354. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_connections_service.py +0 -0
  355. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_context_grounding_service.py +0 -0
  356. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_documents_service.py +0 -0
  357. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_entities_service.py +0 -0
  358. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_external_application_service.py +0 -0
  359. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_folder_service.py +0 -0
  360. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_jobs_service.py +0 -0
  361. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_llm_integration.py +0 -0
  362. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_llm_schema_cleanup.py +0 -0
  363. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_llm_service.py +0 -0
  364. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_processes_service.py +0 -0
  365. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_queues_service.py +0 -0
  366. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
  367. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/tests_data/documents_service/create_validation_action_response.json +0 -0
  368. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/tests_data/documents_service/extraction_response.json +0 -0
  369. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/services/tests_data/documents_service/validated_result.json +0 -0
  370. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/test_bindings_inference.py +0 -0
  371. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/test_config.py +0 -0
  372. {uipath-2.1.98 → uipath-2.1.100}/tests/sdk/test_overwrites.py +0 -0
  373. {uipath-2.1.98 → uipath-2.1.100}/tests/tracing/test_otel_exporters.py +0 -0
  374. {uipath-2.1.98 → uipath-2.1.100}/tests/tracing/test_span_utils.py +0 -0
  375. {uipath-2.1.98 → uipath-2.1.100}/tests/tracing/test_traced.py +0 -0
  376. {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.98
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
+ ```
@@ -89,6 +89,7 @@ nav:
89
89
  - Sample Agents: https://github.com/UiPath/uipath-llamaindex-python/tree/main/samples
90
90
  - How To Contribute: CONTRIBUTING.md
91
91
  - FAQ: FAQ.md
92
+ - Automation Suite: AutomationSuite.md
92
93
  - Release Policy: release_policy.md
93
94
 
94
95
  plugins:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "uipath"
3
- version = "2.1.98"
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(target_directory: str, file_name: str) -> None:
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
- if os.path.exists(target_path):
73
- logger.debug(f"File '{target_path}' already exists.")
74
- return
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
- console.success(f"Created {click.style('AGENTS.md', fg='cyan')} file.")
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={"infer_bindings": infer_bindings},
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"