uipath 2.1.91__tar.gz → 2.1.92__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 (371) hide show
  1. {uipath-2.1.91 → uipath-2.1.92}/PKG-INFO +1 -1
  2. {uipath-2.1.91 → uipath-2.1.92}/pyproject.toml +1 -1
  3. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_push/sw_file_handler.py +2 -2
  4. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_runtime/_contracts.py +68 -1
  5. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_utils/_project_files.py +1 -1
  6. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_utils/_studio_project.py +17 -0
  7. uipath-2.1.92/src/uipath/_events/_events.py +147 -0
  8. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/agent/_utils.py +1 -1
  9. {uipath-2.1.91 → uipath-2.1.92}/uv.lock +1 -1
  10. uipath-2.1.91/src/uipath/_events/_events.py +0 -69
  11. {uipath-2.1.91 → uipath-2.1.92}/.claude/agents/command-tester.md +0 -0
  12. {uipath-2.1.91 → uipath-2.1.92}/.claude/commands/prepare-pr.md +0 -0
  13. {uipath-2.1.91 → uipath-2.1.92}/.cursorrules +0 -0
  14. {uipath-2.1.91 → uipath-2.1.92}/.editorconfig +0 -0
  15. {uipath-2.1.91 → uipath-2.1.92}/.gitattributes +0 -0
  16. {uipath-2.1.91 → uipath-2.1.92}/.github/labeler.yml +0 -0
  17. {uipath-2.1.91 → uipath-2.1.92}/.github/workflows/auto-label.yml +0 -0
  18. {uipath-2.1.91 → uipath-2.1.92}/.github/workflows/cd.yml +0 -0
  19. {uipath-2.1.91 → uipath-2.1.92}/.github/workflows/ci.yml +0 -0
  20. {uipath-2.1.91 → uipath-2.1.92}/.github/workflows/commitlint.yml +0 -0
  21. {uipath-2.1.91 → uipath-2.1.92}/.github/workflows/integration_tests.yml +0 -0
  22. {uipath-2.1.91 → uipath-2.1.92}/.github/workflows/lint.yml +0 -0
  23. {uipath-2.1.91 → uipath-2.1.92}/.github/workflows/publish-dev.yml +0 -0
  24. {uipath-2.1.91 → uipath-2.1.92}/.github/workflows/publish-docs.yml +0 -0
  25. {uipath-2.1.91 → uipath-2.1.92}/.github/workflows/slack.yml +0 -0
  26. {uipath-2.1.91 → uipath-2.1.92}/.github/workflows/test-uipath-langchain.yml +0 -0
  27. {uipath-2.1.91 → uipath-2.1.92}/.github/workflows/test-uipath-llamaindex.yml +0 -0
  28. {uipath-2.1.91 → uipath-2.1.92}/.github/workflows/test.yml +0 -0
  29. {uipath-2.1.91 → uipath-2.1.92}/.gitignore +0 -0
  30. {uipath-2.1.91 → uipath-2.1.92}/.pre-commit-config.yaml +0 -0
  31. {uipath-2.1.91 → uipath-2.1.92}/.python-version +0 -0
  32. {uipath-2.1.91 → uipath-2.1.92}/.vscode/extensions.json +0 -0
  33. {uipath-2.1.91 → uipath-2.1.92}/.vscode/launch.json +0 -0
  34. {uipath-2.1.91 → uipath-2.1.92}/.vscode/settings.json +0 -0
  35. {uipath-2.1.91 → uipath-2.1.92}/CONTRIBUTING.md +0 -0
  36. {uipath-2.1.91 → uipath-2.1.92}/LICENSE +0 -0
  37. {uipath-2.1.91 → uipath-2.1.92}/README.md +0 -0
  38. {uipath-2.1.91 → uipath-2.1.92}/docs/CONTRIBUTING.md +0 -0
  39. {uipath-2.1.91 → uipath-2.1.92}/docs/FAQ.md +0 -0
  40. {uipath-2.1.91 → uipath-2.1.92}/docs/assets/env-preparation-failed-dark.png +0 -0
  41. {uipath-2.1.91 → uipath-2.1.92}/docs/assets/env-preparation-failed-light.png +0 -0
  42. {uipath-2.1.91 → uipath-2.1.92}/docs/assets/favicon.png +0 -0
  43. {uipath-2.1.91 → uipath-2.1.92}/docs/assets/llms.txt +0 -0
  44. {uipath-2.1.91 → uipath-2.1.92}/docs/assets/logo-dark.svg +0 -0
  45. {uipath-2.1.91 → uipath-2.1.92}/docs/assets/logo-light.svg +0 -0
  46. {uipath-2.1.91 → uipath-2.1.92}/docs/cli/index.md +0 -0
  47. {uipath-2.1.91 → uipath-2.1.92}/docs/core/actions.md +0 -0
  48. {uipath-2.1.91 → uipath-2.1.92}/docs/core/assets/cloud_env_var_dark.gif +0 -0
  49. {uipath-2.1.91 → uipath-2.1.92}/docs/core/assets/cloud_env_var_light.gif +0 -0
  50. {uipath-2.1.91 → uipath-2.1.92}/docs/core/assets/cloud_env_var_secret_dark.png +0 -0
  51. {uipath-2.1.91 → uipath-2.1.92}/docs/core/assets/cloud_env_var_secret_light.png +0 -0
  52. {uipath-2.1.91 → uipath-2.1.92}/docs/core/assets/copy_path_dark.png +0 -0
  53. {uipath-2.1.91 → uipath-2.1.92}/docs/core/assets/copy_path_light.png +0 -0
  54. {uipath-2.1.91 → uipath-2.1.92}/docs/core/assets.md +0 -0
  55. {uipath-2.1.91 → uipath-2.1.92}/docs/core/attachments.md +0 -0
  56. {uipath-2.1.91 → uipath-2.1.92}/docs/core/buckets.md +0 -0
  57. {uipath-2.1.91 → uipath-2.1.92}/docs/core/connections.md +0 -0
  58. {uipath-2.1.91 → uipath-2.1.92}/docs/core/context_grounding.md +0 -0
  59. {uipath-2.1.91 → uipath-2.1.92}/docs/core/documents.md +0 -0
  60. {uipath-2.1.91 → uipath-2.1.92}/docs/core/documents_models.md +0 -0
  61. {uipath-2.1.91 → uipath-2.1.92}/docs/core/environment_variables.md +0 -0
  62. {uipath-2.1.91 → uipath-2.1.92}/docs/core/getting_started.md +0 -0
  63. {uipath-2.1.91 → uipath-2.1.92}/docs/core/jobs.md +0 -0
  64. {uipath-2.1.91 → uipath-2.1.92}/docs/core/llm_gateway.md +0 -0
  65. {uipath-2.1.91 → uipath-2.1.92}/docs/core/processes.md +0 -0
  66. {uipath-2.1.91 → uipath-2.1.92}/docs/core/queues.md +0 -0
  67. {uipath-2.1.91 → uipath-2.1.92}/docs/core/traced.md +0 -0
  68. {uipath-2.1.91 → uipath-2.1.92}/docs/hooks.py +0 -0
  69. {uipath-2.1.91 → uipath-2.1.92}/docs/index.md +0 -0
  70. {uipath-2.1.91 → uipath-2.1.92}/docs/javascripts/extra.js +0 -0
  71. {uipath-2.1.91 → uipath-2.1.92}/docs/overrides/main.html +0 -0
  72. {uipath-2.1.91 → uipath-2.1.92}/docs/overrides/partials/actions.html +0 -0
  73. {uipath-2.1.91 → uipath-2.1.92}/docs/overrides/partials/logo.html +0 -0
  74. {uipath-2.1.91 → uipath-2.1.92}/docs/release_policy.md +0 -0
  75. {uipath-2.1.91 → uipath-2.1.92}/docs/sample_images/google-ADK-agent/agent-output.png +0 -0
  76. {uipath-2.1.91 → uipath-2.1.92}/docs/stylesheets/extra.css +0 -0
  77. {uipath-2.1.91 → uipath-2.1.92}/justfile +0 -0
  78. {uipath-2.1.91 → uipath-2.1.92}/mkdocs.yml +0 -0
  79. {uipath-2.1.91 → uipath-2.1.92}/py.typed +0 -0
  80. {uipath-2.1.91 → uipath-2.1.92}/samples/asset-modifier-agent/.env.example +0 -0
  81. {uipath-2.1.91 → uipath-2.1.92}/samples/asset-modifier-agent/README.md +0 -0
  82. {uipath-2.1.91 → uipath-2.1.92}/samples/asset-modifier-agent/input.json +0 -0
  83. {uipath-2.1.91 → uipath-2.1.92}/samples/asset-modifier-agent/main.py +0 -0
  84. {uipath-2.1.91 → uipath-2.1.92}/samples/asset-modifier-agent/pyproject.toml +0 -0
  85. {uipath-2.1.91 → uipath-2.1.92}/samples/asset-modifier-agent/uv.lock +0 -0
  86. {uipath-2.1.91 → uipath-2.1.92}/samples/calculator/README.md +0 -0
  87. {uipath-2.1.91 → uipath-2.1.92}/samples/calculator/evals/eval-sets/default.json +0 -0
  88. {uipath-2.1.91 → uipath-2.1.92}/samples/calculator/evals/evaluators/equality.json +0 -0
  89. {uipath-2.1.91 → uipath-2.1.92}/samples/calculator/evals/evaluators/llm-as-a-judge.json +0 -0
  90. {uipath-2.1.91 → uipath-2.1.92}/samples/calculator/main.py +0 -0
  91. {uipath-2.1.91 → uipath-2.1.92}/samples/calculator/pyproject.toml +0 -0
  92. {uipath-2.1.91 → uipath-2.1.92}/samples/calculator/uipath.json +0 -0
  93. {uipath-2.1.91 → uipath-2.1.92}/samples/event-trigger/.python-version +0 -0
  94. {uipath-2.1.91 → uipath-2.1.92}/samples/event-trigger/README.md +0 -0
  95. {uipath-2.1.91 → uipath-2.1.92}/samples/event-trigger/main.py +0 -0
  96. {uipath-2.1.91 → uipath-2.1.92}/samples/event-trigger/pyproject.toml +0 -0
  97. {uipath-2.1.91 → uipath-2.1.92}/samples/google-ADK-agent/.env.example +0 -0
  98. {uipath-2.1.91 → uipath-2.1.92}/samples/google-ADK-agent/README.md +0 -0
  99. {uipath-2.1.91 → uipath-2.1.92}/samples/google-ADK-agent/input.json +0 -0
  100. {uipath-2.1.91 → uipath-2.1.92}/samples/google-ADK-agent/multi_tool_agent/__init__.py +0 -0
  101. {uipath-2.1.91 → uipath-2.1.92}/samples/google-ADK-agent/multi_tool_agent/agent.py +0 -0
  102. {uipath-2.1.91 → uipath-2.1.92}/samples/google-ADK-agent/pyproject.toml +0 -0
  103. {uipath-2.1.91 → uipath-2.1.92}/samples/google-ADK-agent/uv.lock +0 -0
  104. {uipath-2.1.91 → uipath-2.1.92}/scripts/debug_test.py +0 -0
  105. {uipath-2.1.91 → uipath-2.1.92}/scripts/lint_httpx_client.py +0 -0
  106. {uipath-2.1.91 → uipath-2.1.92}/scripts/update_agents_md.py +0 -0
  107. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/__init__.py +0 -0
  108. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/README.md +0 -0
  109. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/__init__.py +0 -0
  110. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_auth/_auth_server.py +0 -0
  111. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_auth/_auth_service.py +0 -0
  112. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_auth/_models.py +0 -0
  113. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
  114. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_auth/_portal_service.py +0 -0
  115. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_auth/_url_utils.py +0 -0
  116. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_auth/_utils.py +0 -0
  117. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_auth/auth_config.json +0 -0
  118. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_auth/index.html +0 -0
  119. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_auth/localhost.crt +0 -0
  120. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_auth/localhost.key +0 -0
  121. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_dev/_terminal/__init__.py +0 -0
  122. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_dev/_terminal/_components/_chat.py +0 -0
  123. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_dev/_terminal/_components/_details.py +0 -0
  124. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_dev/_terminal/_components/_history.py +0 -0
  125. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_dev/_terminal/_components/_json_input.py +0 -0
  126. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_dev/_terminal/_components/_new.py +0 -0
  127. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_dev/_terminal/_models/_execution.py +0 -0
  128. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_dev/_terminal/_models/_messages.py +0 -0
  129. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_dev/_terminal/_styles/terminal.tcss +0 -0
  130. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_dev/_terminal/_utils/_chat.py +0 -0
  131. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_dev/_terminal/_utils/_exporter.py +0 -0
  132. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_dev/_terminal/_utils/_logger.py +0 -0
  133. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_evals/_console_progress_reporter.py +0 -0
  134. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_evals/_evaluator_factory.py +0 -0
  135. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_evals/_models/_evaluation_set.py +0 -0
  136. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_evals/_models/_evaluator.py +0 -0
  137. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_evals/_models/_evaluator_base_params.py +0 -0
  138. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_evals/_models/_exceptions.py +0 -0
  139. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_evals/_models/_mocks.py +0 -0
  140. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_evals/_models/_output.py +0 -0
  141. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_evals/_models/_sw_reporting.py +0 -0
  142. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_evals/_progress_reporter.py +0 -0
  143. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_evals/_runtime.py +0 -0
  144. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_evals/_span_collection.py +0 -0
  145. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_evals/mocks/__init__.py +0 -0
  146. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_evals/mocks/input_mocker.py +0 -0
  147. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_evals/mocks/llm_mocker.py +0 -0
  148. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_evals/mocks/mocker.py +0 -0
  149. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_evals/mocks/mocker_factory.py +0 -0
  150. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_evals/mocks/mockito_mocker.py +0 -0
  151. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_evals/mocks/mocks.py +0 -0
  152. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_runtime/_escalation.py +0 -0
  153. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_runtime/_hitl.py +0 -0
  154. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_runtime/_logging.py +0 -0
  155. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_runtime/_runtime.py +0 -0
  156. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_runtime/_script_executor.py +0 -0
  157. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
  158. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_templates/.rels.template +0 -0
  159. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
  160. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_templates/main.py.template +0 -0
  161. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
  162. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_utils/_common.py +0 -0
  163. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_utils/_console.py +0 -0
  164. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_utils/_constants.py +0 -0
  165. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_utils/_debug.py +0 -0
  166. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_utils/_eval_set.py +0 -0
  167. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_utils/_folders.py +0 -0
  168. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_utils/_input_args.py +0 -0
  169. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
  170. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_utils/_processes.py +0 -0
  171. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_utils/_tracing.py +0 -0
  172. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/_utils/_uv_helpers.py +0 -0
  173. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/cli_auth.py +0 -0
  174. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/cli_deploy.py +0 -0
  175. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/cli_dev.py +0 -0
  176. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/cli_eval.py +0 -0
  177. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/cli_init.py +0 -0
  178. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/cli_invoke.py +0 -0
  179. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/cli_new.py +0 -0
  180. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/cli_pack.py +0 -0
  181. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/cli_publish.py +0 -0
  182. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/cli_pull.py +0 -0
  183. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/cli_push.py +0 -0
  184. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/cli_run.py +0 -0
  185. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/middlewares.py +0 -0
  186. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/models/__init__.py +0 -0
  187. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/models/runtime_schema.py +0 -0
  188. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_cli/spinner.py +0 -0
  189. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_config.py +0 -0
  190. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_events/__init__.py +0 -0
  191. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_events/_event_bus.py +0 -0
  192. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_execution_context.py +0 -0
  193. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_folder_context.py +0 -0
  194. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_resources/AGENTS.md +0 -0
  195. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_resources/CLAUDE.md +0 -0
  196. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_resources/CLI_REFERENCE.md +0 -0
  197. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_resources/REQUIRED_STRUCTURE.md +0 -0
  198. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_resources/SDK_REFERENCE.md +0 -0
  199. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_services/__init__.py +0 -0
  200. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_services/_base_service.py +0 -0
  201. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_services/actions_service.py +0 -0
  202. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_services/api_client.py +0 -0
  203. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_services/assets_service.py +0 -0
  204. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_services/attachments_service.py +0 -0
  205. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_services/buckets_service.py +0 -0
  206. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_services/connections_service.py +0 -0
  207. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_services/context_grounding_service.py +0 -0
  208. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_services/documents_service.py +0 -0
  209. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_services/entities_service.py +0 -0
  210. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_services/external_application_service.py +0 -0
  211. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_services/folder_service.py +0 -0
  212. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_services/jobs_service.py +0 -0
  213. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_services/llm_gateway_service.py +0 -0
  214. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_services/processes_service.py +0 -0
  215. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_services/queues_service.py +0 -0
  216. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_uipath.py +0 -0
  217. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_utils/__init__.py +0 -0
  218. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_utils/_auth.py +0 -0
  219. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_utils/_endpoint.py +0 -0
  220. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_utils/_infer_bindings.py +0 -0
  221. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_utils/_logs.py +0 -0
  222. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_utils/_read_overwrites.py +0 -0
  223. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_utils/_request_override.py +0 -0
  224. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_utils/_request_spec.py +0 -0
  225. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_utils/_ssl_context.py +0 -0
  226. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_utils/_url.py +0 -0
  227. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_utils/_user_agent.py +0 -0
  228. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/_utils/constants.py +0 -0
  229. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/agent/conversation/__init__.py +0 -0
  230. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/agent/conversation/async_stream.py +0 -0
  231. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/agent/conversation/citation.py +0 -0
  232. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/agent/conversation/content.py +0 -0
  233. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/agent/conversation/conversation.py +0 -0
  234. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/agent/conversation/event.py +0 -0
  235. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/agent/conversation/exchange.py +0 -0
  236. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/agent/conversation/message.py +0 -0
  237. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/agent/conversation/meta.py +0 -0
  238. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/agent/conversation/tool.py +0 -0
  239. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/agent/loop/__init__.py +0 -0
  240. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/agent/loop/prompts.py +0 -0
  241. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/agent/loop/tools.py +0 -0
  242. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/agent/models/agent.py +0 -0
  243. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/agent/models/evals.py +0 -0
  244. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/eval/_helpers/__init__.py +0 -0
  245. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/eval/_helpers/helpers.py +0 -0
  246. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/eval/evaluators/__init__.py +0 -0
  247. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/eval/evaluators/base_evaluator.py +0 -0
  248. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/eval/evaluators/deterministic_evaluator_base.py +0 -0
  249. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/eval/evaluators/exact_match_evaluator.py +0 -0
  250. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/eval/evaluators/json_similarity_evaluator.py +0 -0
  251. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/eval/evaluators/llm_as_judge_evaluator.py +0 -0
  252. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/eval/evaluators/trajectory_evaluator.py +0 -0
  253. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/eval/mocks/__init__.py +0 -0
  254. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/eval/mocks/mockable.py +0 -0
  255. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/eval/models/__init__.py +0 -0
  256. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/eval/models/models.py +0 -0
  257. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/models/__init__.py +0 -0
  258. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/models/action_schema.py +0 -0
  259. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/models/actions.py +0 -0
  260. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/models/assets.py +0 -0
  261. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/models/attachment.py +0 -0
  262. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/models/auth.py +0 -0
  263. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/models/buckets.py +0 -0
  264. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/models/connections.py +0 -0
  265. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/models/context_grounding.py +0 -0
  266. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/models/context_grounding_index.py +0 -0
  267. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/models/documents.py +0 -0
  268. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/models/entities.py +0 -0
  269. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/models/errors.py +0 -0
  270. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/models/exceptions.py +0 -0
  271. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/models/interrupt_models.py +0 -0
  272. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/models/job.py +0 -0
  273. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/models/llm_gateway.py +0 -0
  274. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/models/processes.py +0 -0
  275. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/models/queues.py +0 -0
  276. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/py.typed +0 -0
  277. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/telemetry/__init__.py +0 -0
  278. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/telemetry/_constants.py +0 -0
  279. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/telemetry/_track.py +0 -0
  280. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/tracing/__init__.py +0 -0
  281. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/tracing/_otel_exporters.py +0 -0
  282. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/tracing/_traced.py +0 -0
  283. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/tracing/_utils.py +0 -0
  284. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/utils/__init__.py +0 -0
  285. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/utils/_endpoints_manager.py +0 -0
  286. {uipath-2.1.91 → uipath-2.1.92}/src/uipath/utils/dynamic_schema.py +0 -0
  287. {uipath-2.1.91 → uipath-2.1.92}/testcases/apicalls-testcase/main.py +0 -0
  288. {uipath-2.1.91 → uipath-2.1.92}/testcases/apicalls-testcase/pyproject.toml +0 -0
  289. {uipath-2.1.91 → uipath-2.1.92}/testcases/apicalls-testcase/run.sh +0 -0
  290. {uipath-2.1.91 → uipath-2.1.92}/testcases/apicalls-testcase/src/assert.py +0 -0
  291. {uipath-2.1.91 → uipath-2.1.92}/testcases/basic-testcase/main.py +0 -0
  292. {uipath-2.1.91 → uipath-2.1.92}/testcases/basic-testcase/pyproject.toml +0 -0
  293. {uipath-2.1.91 → uipath-2.1.92}/testcases/basic-testcase/run.sh +0 -0
  294. {uipath-2.1.91 → uipath-2.1.92}/testcases/basic-testcase/src/assert.py +0 -0
  295. {uipath-2.1.91 → uipath-2.1.92}/testcases/common/validate_output.sh +0 -0
  296. {uipath-2.1.91 → uipath-2.1.92}/testcases/langchain-cross/agent.mermaid +0 -0
  297. {uipath-2.1.91 → uipath-2.1.92}/testcases/langchain-cross/langgraph.json +0 -0
  298. {uipath-2.1.91 → uipath-2.1.92}/testcases/langchain-cross/pyproject.toml +0 -0
  299. {uipath-2.1.91 → uipath-2.1.92}/testcases/langchain-cross/run.sh +0 -0
  300. {uipath-2.1.91 → uipath-2.1.92}/testcases/langchain-cross/src/assert.py +0 -0
  301. {uipath-2.1.91 → uipath-2.1.92}/testcases/langchain-cross/src/main.py +0 -0
  302. {uipath-2.1.91 → uipath-2.1.92}/testcases/llamaindex-cross/agent.mermaid +0 -0
  303. {uipath-2.1.91 → uipath-2.1.92}/testcases/llamaindex-cross/llama_index.json +0 -0
  304. {uipath-2.1.91 → uipath-2.1.92}/testcases/llamaindex-cross/pyproject.toml +0 -0
  305. {uipath-2.1.91 → uipath-2.1.92}/testcases/llamaindex-cross/run.sh +0 -0
  306. {uipath-2.1.91 → uipath-2.1.92}/testcases/llamaindex-cross/src/assert.py +0 -0
  307. {uipath-2.1.91 → uipath-2.1.92}/testcases/llamaindex-cross/src/main.py +0 -0
  308. {uipath-2.1.91 → uipath-2.1.92}/tests/__init__.py +0 -0
  309. {uipath-2.1.91 → uipath-2.1.92}/tests/agent/models/test_agent.py +0 -0
  310. {uipath-2.1.91 → uipath-2.1.92}/tests/agent/models/test_evals.py +0 -0
  311. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/conftest.py +0 -0
  312. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/eval/mocks/test_input_mocker.py +0 -0
  313. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/eval/mocks/test_mocks.py +0 -0
  314. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/evaluators/test_json_similarity_evaluator.py +0 -0
  315. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/mocks/bindings_script.py +0 -0
  316. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/mocks/pyproject.toml +0 -0
  317. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/mocks/simple_script.py +0 -0
  318. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/mocks/uipath-mock.json +0 -0
  319. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/mocks/uipath-simple-script-mock.json +0 -0
  320. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/models/test_runtime_schema.py +0 -0
  321. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/test_auth.py +0 -0
  322. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/test_hitl.py +0 -0
  323. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/test_init.py +0 -0
  324. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/test_init_agents_md.py +0 -0
  325. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/test_input_args.py +0 -0
  326. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/test_invoke.py +0 -0
  327. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/test_new.py +0 -0
  328. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/test_oidc_utils.py +0 -0
  329. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/test_pack.py +0 -0
  330. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/test_portal_service_ensure_valid_token.py +0 -0
  331. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/test_portal_service_refresh_token.py +0 -0
  332. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/test_publish.py +0 -0
  333. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/test_pull.py +0 -0
  334. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/test_push.py +0 -0
  335. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/test_run.py +0 -0
  336. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/test_utils.py +0 -0
  337. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/utils/common.py +0 -0
  338. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/utils/project_details.py +0 -0
  339. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/utils/test_dynamic_schema.py +0 -0
  340. {uipath-2.1.91 → uipath-2.1.92}/tests/cli/utils/uipath_json.py +0 -0
  341. {uipath-2.1.91 → uipath-2.1.92}/tests/conftest.py +0 -0
  342. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/conftest.py +0 -0
  343. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/test_actions_service.py +0 -0
  344. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/test_api_client.py +0 -0
  345. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/test_assets_service.py +0 -0
  346. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/test_attachments_service.py +0 -0
  347. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/test_base_service.py +0 -0
  348. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/test_buckets_service.py +0 -0
  349. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/test_connections_service.py +0 -0
  350. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/test_context_grounding_service.py +0 -0
  351. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/test_documents_service.py +0 -0
  352. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/test_entities_service.py +0 -0
  353. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/test_external_application_service.py +0 -0
  354. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/test_folder_service.py +0 -0
  355. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/test_jobs_service.py +0 -0
  356. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/test_llm_integration.py +0 -0
  357. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/test_llm_schema_cleanup.py +0 -0
  358. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/test_llm_service.py +0 -0
  359. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/test_processes_service.py +0 -0
  360. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/test_queues_service.py +0 -0
  361. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
  362. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/tests_data/documents_service/create_validation_action_response.json +0 -0
  363. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/tests_data/documents_service/extraction_response.json +0 -0
  364. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/services/tests_data/documents_service/validated_result.json +0 -0
  365. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/test_bindings_inference.py +0 -0
  366. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/test_config.py +0 -0
  367. {uipath-2.1.91 → uipath-2.1.92}/tests/sdk/test_overwrites.py +0 -0
  368. {uipath-2.1.91 → uipath-2.1.92}/tests/tracing/test_otel_exporters.py +0 -0
  369. {uipath-2.1.91 → uipath-2.1.92}/tests/tracing/test_span_utils.py +0 -0
  370. {uipath-2.1.91 → uipath-2.1.92}/tests/tracing/test_traced.py +0 -0
  371. {uipath-2.1.91 → uipath-2.1.92}/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.91
3
+ Version: 2.1.92
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "uipath"
3
- version = "2.1.91"
3
+ version = "2.1.92"
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"
@@ -319,7 +319,7 @@ class SwFileHandler:
319
319
  if existing:
320
320
  try:
321
321
  entry_points_json = (
322
- await self._studio_client.download_file_async(existing.id)
322
+ await self._studio_client.download_project_file_async(existing)
323
323
  ).json()
324
324
  entry_points_json["entryPoints"] = uipath_config["entryPoints"]
325
325
 
@@ -417,7 +417,7 @@ class SwFileHandler:
417
417
  if existing:
418
418
  try:
419
419
  existing_agent_json = (
420
- await self._studio_client.download_file_async(existing.id)
420
+ await self._studio_client.download_project_file_async(existing)
421
421
  ).json()
422
422
  version_parts = existing_agent_json["metadata"]["codeVersion"].split(
423
423
  "."
@@ -8,7 +8,19 @@ import traceback
8
8
  from abc import ABC, abstractmethod
9
9
  from enum import Enum
10
10
  from functools import cached_property
11
- from typing import Any, Callable, Dict, Generic, List, Optional, Type, TypeVar, Union
11
+ from typing import (
12
+ Any,
13
+ AsyncGenerator,
14
+ Callable,
15
+ Dict,
16
+ Generic,
17
+ List,
18
+ Literal,
19
+ Optional,
20
+ Type,
21
+ TypeVar,
22
+ Union,
23
+ )
12
24
  from uuid import uuid4
13
25
 
14
26
  from opentelemetry import context as context_api
@@ -23,6 +35,7 @@ from opentelemetry.sdk.trace.export import (
23
35
  from opentelemetry.trace import Tracer
24
36
  from pydantic import BaseModel, Field
25
37
 
38
+ from uipath._events._events import BaseEvent
26
39
  from uipath.agent.conversation import UiPathConversationEvent, UiPathConversationMessage
27
40
  from uipath.tracing import TracingManager
28
41
 
@@ -143,6 +156,19 @@ class UiPathRuntimeResult(BaseModel):
143
156
  return result
144
157
 
145
158
 
159
+ class UiPathRuntimeBreakpointResult(UiPathRuntimeResult):
160
+ """Result for execution suspended at a breakpoint."""
161
+
162
+ # Force status to always be SUSPENDED
163
+ status: UiPathRuntimeStatus = Field(
164
+ default=UiPathRuntimeStatus.SUSPENDED, frozen=True
165
+ )
166
+ breakpoint_node: str # Which node the breakpoint is at
167
+ breakpoint_type: Literal["before", "after"] # Before or after the node
168
+ current_state: dict[str, Any] | Any # Current workflow state at breakpoint
169
+ next_nodes: List[str] # Which node(s) will execute next
170
+
171
+
146
172
  class UiPathConversationHandler(ABC):
147
173
  """Base delegate for handling UiPath conversation events."""
148
174
 
@@ -548,6 +574,47 @@ class UiPathBaseRuntime(ABC):
548
574
  """
549
575
  pass
550
576
 
577
+ async def stream(
578
+ self,
579
+ ) -> AsyncGenerator[Union[BaseEvent, UiPathRuntimeResult], None]:
580
+ """Stream execution events in real-time.
581
+
582
+ This is an optional method that runtimes can implement to support streaming.
583
+ If not implemented, only the execute() method will be available.
584
+
585
+ Yields framework-agnostic BaseEvent instances during execution,
586
+ with the final event being UiPathRuntimeResult.
587
+
588
+ Yields:
589
+ BaseEvent subclasses: Framework-agnostic events (MessageCreatedEvent,
590
+ AgentStateUpdatedEvent, etc.)
591
+ Final yield: UiPathRuntimeResult
592
+
593
+ Raises:
594
+ NotImplementedError: If the runtime doesn't support streaming
595
+ RuntimeError: If execution fails
596
+
597
+ Example:
598
+ async for event in runtime.stream():
599
+ if isinstance(event, UiPathRuntimeResult):
600
+ # Last event - execution complete
601
+ print(f"Status: {event.status}")
602
+ break
603
+ elif isinstance(event, MessageCreatedEvent):
604
+ # Handle message event
605
+ print(f"Message: {event.payload}")
606
+ elif isinstance(event, AgentStateUpdatedEvent):
607
+ # Handle state update
608
+ print(f"State updated by: {event.node_name}")
609
+ """
610
+ raise NotImplementedError(
611
+ f"{self.__class__.__name__} does not implement streaming. "
612
+ "Use execute() instead."
613
+ )
614
+ # This yield is unreachable but makes this a proper generator function
615
+ # Without it, the function wouldn't match the AsyncGenerator return type
616
+ yield
617
+
551
618
  @abstractmethod
552
619
  async def validate(self):
553
620
  """Validate runtime inputs."""
@@ -557,7 +557,7 @@ async def download_folder_files(
557
557
  local_path = base_path / file_path
558
558
  local_path.parent.mkdir(parents=True, exist_ok=True)
559
559
 
560
- response = await studio_client.download_file_async(remote_file.id)
560
+ response = await studio_client.download_project_file_async(remote_file)
561
561
  remote_content = response.read().decode("utf-8")
562
562
  remote_hash = compute_normalized_hash(remote_content)
563
563
 
@@ -8,6 +8,7 @@ from pydantic import BaseModel, ConfigDict, Field, field_validator
8
8
 
9
9
  from uipath._utils.constants import HEADER_SW_LOCK_KEY
10
10
  from uipath.models.exceptions import EnrichedException
11
+ from uipath.tracing import traced
11
12
 
12
13
 
13
14
  class ProjectFile(BaseModel):
@@ -231,6 +232,7 @@ class StudioSolutionsClient:
231
232
  self.uipath: UiPath = UiPath()
232
233
  self._solutions_base_url: str = f"/studio_/backend/api/Solution/{solution_id}"
233
234
 
235
+ @traced(name="create_project", run_type="uipath")
234
236
  async def create_project_async(
235
237
  self,
236
238
  project_name: str,
@@ -275,6 +277,7 @@ class StudioClient:
275
277
  f"/studio_/backend/api/Project/{project_id}/Lock"
276
278
  )
277
279
 
280
+ @traced(name="get_project_structure", run_type="uipath")
278
281
  async def get_project_structure_async(self) -> ProjectStructure:
279
282
  """Retrieve the project's file structure from UiPath Cloud.
280
283
 
@@ -293,6 +296,7 @@ class StudioClient:
293
296
 
294
297
  return ProjectStructure.model_validate(response.json())
295
298
 
299
+ @traced(name="create_folder", run_type="uipath")
296
300
  @with_lock_retry
297
301
  async def create_folder_async(
298
302
  self,
@@ -322,6 +326,7 @@ class StudioClient:
322
326
  )
323
327
  return response.json()
324
328
 
329
+ @traced(name="download_file", run_type="uipath")
325
330
  async def download_file_async(self, file_id: str) -> Any:
326
331
  response = await self.uipath.api_client.request_async(
327
332
  "GET",
@@ -330,6 +335,16 @@ class StudioClient:
330
335
  )
331
336
  return response
332
337
 
338
+ @traced(name="download_file", run_type="uipath")
339
+ async def download_project_file_async(self, file: ProjectFile) -> Any:
340
+ response = await self.uipath.api_client.request_async(
341
+ "GET",
342
+ url=f"{self.file_operations_base_url}/File/{file.id}",
343
+ scoped="org",
344
+ )
345
+ return response
346
+
347
+ @traced(name="upload_file", run_type="uipath")
333
348
  @with_lock_retry
334
349
  async def upload_file_async(
335
350
  self,
@@ -370,6 +385,7 @@ class StudioClient:
370
385
  # response contains only the uploaded file identifier
371
386
  return response.json(), action
372
387
 
388
+ @traced(name="delete_file", run_type="uipath")
373
389
  @with_lock_retry
374
390
  async def delete_item_async(
375
391
  self,
@@ -430,6 +446,7 @@ class StudioClient:
430
446
 
431
447
  return content_bytes, resolved_name
432
448
 
449
+ @traced(name="synchronize_files", run_type="uipath")
433
450
  @with_lock_retry
434
451
  async def perform_structural_migration_async(
435
452
  self,
@@ -0,0 +1,147 @@
1
+ import logging
2
+ from enum import Enum
3
+ from typing import Any, Dict, List, Optional, Union
4
+
5
+ from opentelemetry.sdk.trace import ReadableSpan
6
+ from pydantic import BaseModel, ConfigDict, Field, model_validator
7
+
8
+ from uipath._cli._evals._models._evaluation_set import EvaluationItem
9
+ from uipath.eval.models import EvalItemResult
10
+
11
+
12
+ class EvaluationEvents(str, Enum):
13
+ CREATE_EVAL_SET_RUN = "create_eval_set_run"
14
+ CREATE_EVAL_RUN = "create_eval_run"
15
+ UPDATE_EVAL_SET_RUN = "update_eval_set_run"
16
+ UPDATE_EVAL_RUN = "update_eval_run"
17
+
18
+
19
+ class EvalSetRunCreatedEvent(BaseModel):
20
+ execution_id: str
21
+ entrypoint: str
22
+ eval_set_id: str
23
+ no_of_evals: int
24
+ evaluators: List[Any]
25
+
26
+
27
+ class EvalRunCreatedEvent(BaseModel):
28
+ execution_id: str
29
+ eval_item: EvaluationItem
30
+
31
+
32
+ class EvalItemExceptionDetails(BaseModel):
33
+ model_config = ConfigDict(arbitrary_types_allowed=True)
34
+
35
+ runtime_exception: bool = False
36
+ exception: Exception
37
+
38
+
39
+ class EvalRunUpdatedEvent(BaseModel):
40
+ model_config = ConfigDict(arbitrary_types_allowed=True)
41
+
42
+ execution_id: str
43
+ eval_item: EvaluationItem
44
+ eval_results: List[EvalItemResult]
45
+ success: bool
46
+ agent_output: Any
47
+ agent_execution_time: float
48
+ spans: List[ReadableSpan]
49
+ logs: List[logging.LogRecord]
50
+ exception_details: Optional[EvalItemExceptionDetails] = None
51
+
52
+ @model_validator(mode="after")
53
+ def validate_exception_details(self):
54
+ if not self.success and self.exception_details is None:
55
+ raise ValueError("exception_details must be provided when success is False")
56
+ return self
57
+
58
+
59
+ class EvalSetRunUpdatedEvent(BaseModel):
60
+ execution_id: str
61
+ evaluator_scores: dict[str, float]
62
+
63
+
64
+ ProgressEvent = Union[
65
+ EvalSetRunCreatedEvent,
66
+ EvalRunCreatedEvent,
67
+ EvalRunUpdatedEvent,
68
+ EvalSetRunUpdatedEvent,
69
+ ]
70
+
71
+
72
+ class EventType(str, Enum):
73
+ """Types of events that can be emitted during execution."""
74
+
75
+ MESSAGE_CREATED = "message_created"
76
+ AGENT_STATE_UPDATED = "agent_state_updated"
77
+ ERROR = "error"
78
+
79
+
80
+ class BaseEvent(BaseModel):
81
+ """Base class for all UiPath events."""
82
+
83
+ model_config = ConfigDict(arbitrary_types_allowed=True)
84
+
85
+ event_type: EventType
86
+ metadata: Optional[Dict[str, Any]] = Field(
87
+ default=None, description="Additional event context"
88
+ )
89
+
90
+
91
+ class MessageCreatedEvent(BaseEvent):
92
+ """Event emitted when a message is created or streamed.
93
+
94
+ Wraps framework-specific message objects (e.g., LangChain BaseMessage,
95
+ CrewAI messages, AutoGen messages, etc.) without converting them.
96
+
97
+ Attributes:
98
+ payload: The framework-specific message object
99
+ event_type: Automatically set to MESSAGE_CREATED
100
+ metadata: Additional context (conversation_id, exchange_id, etc.)
101
+
102
+ Example:
103
+ # LangChain
104
+ event = MessageCreatedEvent(
105
+ payload=AIMessage(content="Hello"),
106
+ metadata={"conversation_id": "123"}
107
+ )
108
+
109
+ # Access the message
110
+ message = event.payload # BaseMessage
111
+ print(message.content)
112
+ """
113
+
114
+ payload: Any = Field(description="Framework-specific message object")
115
+ event_type: EventType = Field(default=EventType.MESSAGE_CREATED, frozen=True)
116
+
117
+
118
+ class AgentStateUpdatedEvent(BaseEvent):
119
+ """Event emitted when agent state is updated.
120
+
121
+ Wraps framework-specific state update objects, preserving the original
122
+ structure and data from the framework.
123
+
124
+ Attributes:
125
+ payload: The framework-specific state update (e.g., LangGraph state dict)
126
+ node_name: Name of the node/agent that produced this update (if available)
127
+ event_type: Automatically set to AGENT_STATE_UPDATED
128
+ metadata: Additional context
129
+
130
+ Example:
131
+ # LangGraph
132
+ event = AgentStateUpdatedEvent(
133
+ payload={"messages": [...], "context": "..."},
134
+ node_name="agent_node",
135
+ metadata={"conversation_id": "123"}
136
+ )
137
+
138
+ # Access the state
139
+ state = event.payload # dict
140
+ messages = state.get("messages", [])
141
+ """
142
+
143
+ payload: Dict[str, Any] = Field(description="Framework-specific state update")
144
+ node_name: Optional[str] = Field(
145
+ default=None, description="Name of the node/agent that caused this update"
146
+ )
147
+ event_type: EventType = Field(default=EventType.AGENT_STATE_UPDATED, frozen=True)
@@ -29,7 +29,7 @@ async def get_file(
29
29
  ) -> Response:
30
30
  resolved = resolve_path(folder, path)
31
31
  assert isinstance(resolved, ProjectFile), "Path file not found."
32
- return await studio_client.download_file_async(resolved.id)
32
+ return await studio_client.download_project_file_async(resolved)
33
33
 
34
34
 
35
35
  async def create_agent_project(solution_id: str, project_name: str) -> str:
@@ -2146,7 +2146,7 @@ wheels = [
2146
2146
 
2147
2147
  [[package]]
2148
2148
  name = "uipath"
2149
- version = "2.1.91"
2149
+ version = "2.1.92"
2150
2150
  source = { editable = "." }
2151
2151
  dependencies = [
2152
2152
  { name = "azure-monitor-opentelemetry" },
@@ -1,69 +0,0 @@
1
- import enum
2
- import logging
3
- from typing import Any, List, Optional, Union
4
-
5
- from opentelemetry.sdk.trace import ReadableSpan
6
- from pydantic import BaseModel, ConfigDict, model_validator
7
-
8
- from uipath._cli._evals._models._evaluation_set import EvaluationItem
9
- from uipath.eval.models import EvalItemResult
10
-
11
-
12
- class EvaluationEvents(str, enum.Enum):
13
- CREATE_EVAL_SET_RUN = "create_eval_set_run"
14
- CREATE_EVAL_RUN = "create_eval_run"
15
- UPDATE_EVAL_SET_RUN = "update_eval_set_run"
16
- UPDATE_EVAL_RUN = "update_eval_run"
17
-
18
-
19
- class EvalSetRunCreatedEvent(BaseModel):
20
- execution_id: str
21
- entrypoint: str
22
- eval_set_id: str
23
- no_of_evals: int
24
- evaluators: List[Any]
25
-
26
-
27
- class EvalRunCreatedEvent(BaseModel):
28
- execution_id: str
29
- eval_item: EvaluationItem
30
-
31
-
32
- class EvalItemExceptionDetails(BaseModel):
33
- model_config = ConfigDict(arbitrary_types_allowed=True)
34
-
35
- runtime_exception: bool = False
36
- exception: Exception
37
-
38
-
39
- class EvalRunUpdatedEvent(BaseModel):
40
- model_config = ConfigDict(arbitrary_types_allowed=True)
41
-
42
- execution_id: str
43
- eval_item: EvaluationItem
44
- eval_results: List[EvalItemResult]
45
- success: bool
46
- agent_output: Any
47
- agent_execution_time: float
48
- spans: List[ReadableSpan]
49
- logs: List[logging.LogRecord]
50
- exception_details: Optional[EvalItemExceptionDetails] = None
51
-
52
- @model_validator(mode="after")
53
- def validate_exception_details(self):
54
- if not self.success and self.exception_details is None:
55
- raise ValueError("exception_details must be provided when success is False")
56
- return self
57
-
58
-
59
- class EvalSetRunUpdatedEvent(BaseModel):
60
- execution_id: str
61
- evaluator_scores: dict[str, float]
62
-
63
-
64
- ProgressEvent = Union[
65
- EvalSetRunCreatedEvent,
66
- EvalRunCreatedEvent,
67
- EvalRunUpdatedEvent,
68
- EvalSetRunUpdatedEvent,
69
- ]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes