uipath 2.1.29__tar.gz → 2.1.31__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.
Files changed (253) hide show
  1. {uipath-2.1.29 → uipath-2.1.31}/PKG-INFO +1 -1
  2. {uipath-2.1.29 → uipath-2.1.31}/pyproject.toml +1 -1
  3. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_dev/_terminal/__init__.py +15 -0
  4. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_dev/_terminal/_components/_details.py +34 -33
  5. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_dev/_terminal/_models/_execution.py +2 -0
  6. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_runtime/_contracts.py +1 -1
  7. {uipath-2.1.29 → uipath-2.1.31}/uv.lock +1 -1
  8. {uipath-2.1.29 → uipath-2.1.31}/.cursorrules +0 -0
  9. {uipath-2.1.29 → uipath-2.1.31}/.editorconfig +0 -0
  10. {uipath-2.1.29 → uipath-2.1.31}/.gitattributes +0 -0
  11. {uipath-2.1.29 → uipath-2.1.31}/.github/workflows/cd.yml +0 -0
  12. {uipath-2.1.29 → uipath-2.1.31}/.github/workflows/ci.yml +0 -0
  13. {uipath-2.1.29 → uipath-2.1.31}/.github/workflows/commitlint.yml +0 -0
  14. {uipath-2.1.29 → uipath-2.1.31}/.github/workflows/lint.yml +0 -0
  15. {uipath-2.1.29 → uipath-2.1.31}/.github/workflows/publish-dev.yml +0 -0
  16. {uipath-2.1.29 → uipath-2.1.31}/.github/workflows/publish-docs.yml +0 -0
  17. {uipath-2.1.29 → uipath-2.1.31}/.github/workflows/slack.yml +0 -0
  18. {uipath-2.1.29 → uipath-2.1.31}/.github/workflows/test.yml +0 -0
  19. {uipath-2.1.29 → uipath-2.1.31}/.gitignore +0 -0
  20. {uipath-2.1.29 → uipath-2.1.31}/.pre-commit-config.yaml +0 -0
  21. {uipath-2.1.29 → uipath-2.1.31}/.python-version +0 -0
  22. {uipath-2.1.29 → uipath-2.1.31}/.vscode/extensions.json +0 -0
  23. {uipath-2.1.29 → uipath-2.1.31}/.vscode/launch.json +0 -0
  24. {uipath-2.1.29 → uipath-2.1.31}/.vscode/settings.json +0 -0
  25. {uipath-2.1.29 → uipath-2.1.31}/CONTRIBUTING.md +0 -0
  26. {uipath-2.1.29 → uipath-2.1.31}/LICENSE +0 -0
  27. {uipath-2.1.29 → uipath-2.1.31}/README.md +0 -0
  28. {uipath-2.1.29 → uipath-2.1.31}/docs/CONTRIBUTING.md +0 -0
  29. {uipath-2.1.29 → uipath-2.1.31}/docs/FAQ.md +0 -0
  30. {uipath-2.1.29 → uipath-2.1.31}/docs/assets/env-preparation-failed-dark.png +0 -0
  31. {uipath-2.1.29 → uipath-2.1.31}/docs/assets/env-preparation-failed-light.png +0 -0
  32. {uipath-2.1.29 → uipath-2.1.31}/docs/assets/favicon.png +0 -0
  33. {uipath-2.1.29 → uipath-2.1.31}/docs/assets/logo-dark.svg +0 -0
  34. {uipath-2.1.29 → uipath-2.1.31}/docs/assets/logo-light.svg +0 -0
  35. {uipath-2.1.29 → uipath-2.1.31}/docs/cli/index.md +0 -0
  36. {uipath-2.1.29 → uipath-2.1.31}/docs/core/actions.md +0 -0
  37. {uipath-2.1.29 → uipath-2.1.31}/docs/core/assets/cloud_env_var_dark.gif +0 -0
  38. {uipath-2.1.29 → uipath-2.1.31}/docs/core/assets/cloud_env_var_light.gif +0 -0
  39. {uipath-2.1.29 → uipath-2.1.31}/docs/core/assets/cloud_env_var_secret_dark.png +0 -0
  40. {uipath-2.1.29 → uipath-2.1.31}/docs/core/assets/cloud_env_var_secret_light.png +0 -0
  41. {uipath-2.1.29 → uipath-2.1.31}/docs/core/assets/copy_path_dark.png +0 -0
  42. {uipath-2.1.29 → uipath-2.1.31}/docs/core/assets/copy_path_light.png +0 -0
  43. {uipath-2.1.29 → uipath-2.1.31}/docs/core/assets.md +0 -0
  44. {uipath-2.1.29 → uipath-2.1.31}/docs/core/attachments.md +0 -0
  45. {uipath-2.1.29 → uipath-2.1.31}/docs/core/buckets.md +0 -0
  46. {uipath-2.1.29 → uipath-2.1.31}/docs/core/connections.md +0 -0
  47. {uipath-2.1.29 → uipath-2.1.31}/docs/core/context_grounding.md +0 -0
  48. {uipath-2.1.29 → uipath-2.1.31}/docs/core/environment_variables.md +0 -0
  49. {uipath-2.1.29 → uipath-2.1.31}/docs/core/getting_started.md +0 -0
  50. {uipath-2.1.29 → uipath-2.1.31}/docs/core/jobs.md +0 -0
  51. {uipath-2.1.29 → uipath-2.1.31}/docs/core/llm_gateway.md +0 -0
  52. {uipath-2.1.29 → uipath-2.1.31}/docs/core/processes.md +0 -0
  53. {uipath-2.1.29 → uipath-2.1.31}/docs/core/queues.md +0 -0
  54. {uipath-2.1.29 → uipath-2.1.31}/docs/core/traced.md +0 -0
  55. {uipath-2.1.29 → uipath-2.1.31}/docs/hooks.py +0 -0
  56. {uipath-2.1.29 → uipath-2.1.31}/docs/index.md +0 -0
  57. {uipath-2.1.29 → uipath-2.1.31}/docs/javascripts/extra.js +0 -0
  58. {uipath-2.1.29 → uipath-2.1.31}/docs/overrides/main.html +0 -0
  59. {uipath-2.1.29 → uipath-2.1.31}/docs/overrides/partials/actions.html +0 -0
  60. {uipath-2.1.29 → uipath-2.1.31}/docs/overrides/partials/logo.html +0 -0
  61. {uipath-2.1.29 → uipath-2.1.31}/docs/release_policy.md +0 -0
  62. {uipath-2.1.29 → uipath-2.1.31}/docs/sample_images/google-ADK-agent/agent-output.png +0 -0
  63. {uipath-2.1.29 → uipath-2.1.31}/docs/stylesheets/extra.css +0 -0
  64. {uipath-2.1.29 → uipath-2.1.31}/justfile +0 -0
  65. {uipath-2.1.29 → uipath-2.1.31}/mkdocs.yml +0 -0
  66. {uipath-2.1.29 → uipath-2.1.31}/py.typed +0 -0
  67. {uipath-2.1.29 → uipath-2.1.31}/samples/event-trigger/.python-version +0 -0
  68. {uipath-2.1.29 → uipath-2.1.31}/samples/event-trigger/README.md +0 -0
  69. {uipath-2.1.29 → uipath-2.1.31}/samples/event-trigger/main.py +0 -0
  70. {uipath-2.1.29 → uipath-2.1.31}/samples/event-trigger/pyproject.toml +0 -0
  71. {uipath-2.1.29 → uipath-2.1.31}/samples/google-ADK-agent/.env.example +0 -0
  72. {uipath-2.1.29 → uipath-2.1.31}/samples/google-ADK-agent/README.md +0 -0
  73. {uipath-2.1.29 → uipath-2.1.31}/samples/google-ADK-agent/input.json +0 -0
  74. {uipath-2.1.29 → uipath-2.1.31}/samples/google-ADK-agent/multi_tool_agent/__init__.py +0 -0
  75. {uipath-2.1.29 → uipath-2.1.31}/samples/google-ADK-agent/multi_tool_agent/agent.py +0 -0
  76. {uipath-2.1.29 → uipath-2.1.31}/samples/google-ADK-agent/pyproject.toml +0 -0
  77. {uipath-2.1.29 → uipath-2.1.31}/samples/google-ADK-agent/uv.lock +0 -0
  78. {uipath-2.1.29 → uipath-2.1.31}/scripts/debug_test.py +0 -0
  79. {uipath-2.1.29 → uipath-2.1.31}/scripts/lint_httpx_client.py +0 -0
  80. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/__init__.py +0 -0
  81. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/README.md +0 -0
  82. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/__init__.py +0 -0
  83. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_auth/_auth_server.py +0 -0
  84. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_auth/_client_credentials.py +0 -0
  85. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_auth/_models.py +0 -0
  86. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
  87. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_auth/_portal_service.py +0 -0
  88. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_auth/_url_utils.py +0 -0
  89. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_auth/_utils.py +0 -0
  90. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_auth/auth_config.json +0 -0
  91. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_auth/index.html +0 -0
  92. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_auth/localhost.crt +0 -0
  93. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_auth/localhost.key +0 -0
  94. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_dev/_terminal/_components/_history.py +0 -0
  95. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_dev/_terminal/_components/_new.py +0 -0
  96. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_dev/_terminal/_models/_messages.py +0 -0
  97. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_dev/_terminal/_styles/terminal.tcss +0 -0
  98. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_dev/_terminal/_traces/_exporter.py +0 -0
  99. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_dev/_terminal/_traces/_logger.py +0 -0
  100. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_evals/_evaluators/__init__.py +0 -0
  101. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_evals/_evaluators/_deterministic_evaluator_base.py +0 -0
  102. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_evals/_evaluators/_evaluator_base.py +0 -0
  103. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_evals/_evaluators/_evaluator_factory.py +0 -0
  104. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_evals/_evaluators/_exact_match_evaluator.py +0 -0
  105. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_evals/_evaluators/_json_similarity_evaluator.py +0 -0
  106. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_evals/_evaluators/_llm_as_judge_evaluator.py +0 -0
  107. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_evals/_evaluators/_trajectory_evaluator.py +0 -0
  108. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_evals/_models/__init__.py +0 -0
  109. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_evals/_models/_evaluation_set.py +0 -0
  110. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_evals/_models/_evaluators.py +0 -0
  111. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_evals/evaluation_service.py +0 -0
  112. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_evals/progress_reporter.py +0 -0
  113. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_push/sw_file_handler.py +0 -0
  114. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_runtime/_escalation.py +0 -0
  115. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_runtime/_hitl.py +0 -0
  116. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_runtime/_logging.py +0 -0
  117. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_runtime/_runtime.py +0 -0
  118. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
  119. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_templates/.rels.template +0 -0
  120. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
  121. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_templates/main.py.template +0 -0
  122. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
  123. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_utils/_common.py +0 -0
  124. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_utils/_console.py +0 -0
  125. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_utils/_constants.py +0 -0
  126. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_utils/_debug.py +0 -0
  127. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_utils/_folders.py +0 -0
  128. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_utils/_input_args.py +0 -0
  129. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
  130. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_utils/_processes.py +0 -0
  131. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_utils/_project_files.py +0 -0
  132. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_utils/_studio_project.py +0 -0
  133. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_utils/_tracing.py +0 -0
  134. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/_utils/_uv_helpers.py +0 -0
  135. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/cli_auth.py +0 -0
  136. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/cli_deploy.py +0 -0
  137. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/cli_dev.py +0 -0
  138. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/cli_eval.py +0 -0
  139. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/cli_init.py +0 -0
  140. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/cli_invoke.py +0 -0
  141. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/cli_new.py +0 -0
  142. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/cli_pack.py +0 -0
  143. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/cli_publish.py +0 -0
  144. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/cli_pull.py +0 -0
  145. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/cli_push.py +0 -0
  146. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/cli_run.py +0 -0
  147. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/middlewares.py +0 -0
  148. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_cli/spinner.py +0 -0
  149. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_config.py +0 -0
  150. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_execution_context.py +0 -0
  151. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_folder_context.py +0 -0
  152. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_services/__init__.py +0 -0
  153. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_services/_base_service.py +0 -0
  154. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_services/actions_service.py +0 -0
  155. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_services/api_client.py +0 -0
  156. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_services/assets_service.py +0 -0
  157. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_services/attachments_service.py +0 -0
  158. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_services/buckets_service.py +0 -0
  159. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_services/connections_service.py +0 -0
  160. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_services/context_grounding_service.py +0 -0
  161. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_services/folder_service.py +0 -0
  162. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_services/jobs_service.py +0 -0
  163. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_services/llm_gateway_service.py +0 -0
  164. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_services/processes_service.py +0 -0
  165. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_services/queues_service.py +0 -0
  166. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_uipath.py +0 -0
  167. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_utils/__init__.py +0 -0
  168. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_utils/_endpoint.py +0 -0
  169. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_utils/_infer_bindings.py +0 -0
  170. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_utils/_logs.py +0 -0
  171. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_utils/_read_overwrites.py +0 -0
  172. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_utils/_request_override.py +0 -0
  173. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_utils/_request_spec.py +0 -0
  174. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_utils/_ssl_context.py +0 -0
  175. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_utils/_url.py +0 -0
  176. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_utils/_user_agent.py +0 -0
  177. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/_utils/constants.py +0 -0
  178. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/models/__init__.py +0 -0
  179. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/models/action_schema.py +0 -0
  180. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/models/actions.py +0 -0
  181. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/models/assets.py +0 -0
  182. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/models/attachment.py +0 -0
  183. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/models/buckets.py +0 -0
  184. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/models/connections.py +0 -0
  185. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/models/context_grounding.py +0 -0
  186. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/models/context_grounding_index.py +0 -0
  187. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/models/errors.py +0 -0
  188. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/models/exceptions.py +0 -0
  189. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/models/interrupt_models.py +0 -0
  190. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/models/job.py +0 -0
  191. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/models/llm_gateway.py +0 -0
  192. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/models/processes.py +0 -0
  193. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/models/queues.py +0 -0
  194. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/py.typed +0 -0
  195. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/telemetry/__init__.py +0 -0
  196. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/telemetry/_constants.py +0 -0
  197. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/telemetry/_track.py +0 -0
  198. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/tracing/__init__.py +0 -0
  199. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/tracing/_otel_exporters.py +0 -0
  200. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/tracing/_traced.py +0 -0
  201. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/tracing/_utils.py +0 -0
  202. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/utils/__init__.py +0 -0
  203. {uipath-2.1.29 → uipath-2.1.31}/src/uipath/utils/_endpoints_manager.py +0 -0
  204. {uipath-2.1.29 → uipath-2.1.31}/tests/__init__.py +0 -0
  205. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/conftest.py +0 -0
  206. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/evaluators/test_json_similarity_evaluator.py +0 -0
  207. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/mocks/bindings_script.py +0 -0
  208. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/mocks/pyproject.toml +0 -0
  209. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/mocks/simple_script.py +0 -0
  210. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/mocks/uipath-mock.json +0 -0
  211. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/mocks/uipath-simple-script-mock.json +0 -0
  212. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/test_auth.py +0 -0
  213. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/test_hitl.py +0 -0
  214. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/test_init.py +0 -0
  215. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/test_input_args.py +0 -0
  216. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/test_invoke.py +0 -0
  217. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/test_new.py +0 -0
  218. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/test_pack.py +0 -0
  219. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/test_portal_service_ensure_valid_token.py +0 -0
  220. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/test_portal_service_refresh_token.py +0 -0
  221. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/test_publish.py +0 -0
  222. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/test_pull.py +0 -0
  223. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/test_push.py +0 -0
  224. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/test_run.py +0 -0
  225. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/test_utils.py +0 -0
  226. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/utils/common.py +0 -0
  227. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/utils/project_details.py +0 -0
  228. {uipath-2.1.29 → uipath-2.1.31}/tests/cli/utils/uipath_json.py +0 -0
  229. {uipath-2.1.29 → uipath-2.1.31}/tests/conftest.py +0 -0
  230. {uipath-2.1.29 → uipath-2.1.31}/tests/sdk/services/conftest.py +0 -0
  231. {uipath-2.1.29 → uipath-2.1.31}/tests/sdk/services/test_actions_service.py +0 -0
  232. {uipath-2.1.29 → uipath-2.1.31}/tests/sdk/services/test_api_client.py +0 -0
  233. {uipath-2.1.29 → uipath-2.1.31}/tests/sdk/services/test_assets_service.py +0 -0
  234. {uipath-2.1.29 → uipath-2.1.31}/tests/sdk/services/test_attachments_service.py +0 -0
  235. {uipath-2.1.29 → uipath-2.1.31}/tests/sdk/services/test_base_service.py +0 -0
  236. {uipath-2.1.29 → uipath-2.1.31}/tests/sdk/services/test_buckets_service.py +0 -0
  237. {uipath-2.1.29 → uipath-2.1.31}/tests/sdk/services/test_connections_service.py +0 -0
  238. {uipath-2.1.29 → uipath-2.1.31}/tests/sdk/services/test_context_grounding_service.py +0 -0
  239. {uipath-2.1.29 → uipath-2.1.31}/tests/sdk/services/test_folder_service.py +0 -0
  240. {uipath-2.1.29 → uipath-2.1.31}/tests/sdk/services/test_jobs_service.py +0 -0
  241. {uipath-2.1.29 → uipath-2.1.31}/tests/sdk/services/test_llm_integration.py +0 -0
  242. {uipath-2.1.29 → uipath-2.1.31}/tests/sdk/services/test_llm_schema_cleanup.py +0 -0
  243. {uipath-2.1.29 → uipath-2.1.31}/tests/sdk/services/test_llm_service.py +0 -0
  244. {uipath-2.1.29 → uipath-2.1.31}/tests/sdk/services/test_processes_service.py +0 -0
  245. {uipath-2.1.29 → uipath-2.1.31}/tests/sdk/services/test_queues_service.py +0 -0
  246. {uipath-2.1.29 → uipath-2.1.31}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
  247. {uipath-2.1.29 → uipath-2.1.31}/tests/sdk/test_bindings_inference.py +0 -0
  248. {uipath-2.1.29 → uipath-2.1.31}/tests/sdk/test_config.py +0 -0
  249. {uipath-2.1.29 → uipath-2.1.31}/tests/sdk/test_overwrites.py +0 -0
  250. {uipath-2.1.29 → uipath-2.1.31}/tests/tracing/test_otel_exporters.py +0 -0
  251. {uipath-2.1.29 → uipath-2.1.31}/tests/tracing/test_span_utils.py +0 -0
  252. {uipath-2.1.29 → uipath-2.1.31}/tests/tracing/test_traced.py +0 -0
  253. {uipath-2.1.29 → uipath-2.1.31}/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.29
3
+ Version: 2.1.31
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.29"
3
+ version = "2.1.31"
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"
@@ -1,5 +1,6 @@
1
1
  import asyncio
2
2
  import json
3
+ import traceback
3
4
  from datetime import datetime
4
5
  from os import environ as env
5
6
  from pathlib import Path
@@ -12,7 +13,9 @@ from textual.containers import Container, Horizontal
12
13
  from textual.widgets import Button, ListView
13
14
 
14
15
  from ..._runtime._contracts import (
16
+ UiPathErrorContract,
15
17
  UiPathRuntimeContext,
18
+ UiPathRuntimeError,
16
19
  UiPathRuntimeFactory,
17
20
  )
18
21
  from ._components._details import RunDetailsPanel
@@ -159,11 +162,23 @@ class UiPathDevTerminal(App[Any]):
159
162
  run.status = "completed"
160
163
  run.end_time = datetime.now()
161
164
 
165
+ except UiPathRuntimeError as e:
166
+ error_msg = (
167
+ f"{e.error_info.code}: {e.error_info.title}\n{e.error_info.detail}"
168
+ )
169
+ self._add_error_log(run, error_msg)
170
+ run.status = "failed"
171
+ run.end_time = datetime.now()
172
+ run.error = e.error_info
173
+
162
174
  except Exception as e:
163
175
  error_msg = f"Execution failed: {str(e)}"
164
176
  self._add_error_log(run, error_msg)
165
177
  run.status = "failed"
166
178
  run.end_time = datetime.now()
179
+ run.error = UiPathErrorContract(
180
+ code="Unknown", title=str(e), detail=traceback.format_exc()
181
+ )
167
182
 
168
183
  self._update_run_in_history(run)
169
184
  self._update_run_details(run)
@@ -229,7 +229,10 @@ class RunDetailsPanel(Container):
229
229
  if hasattr(run, "error") and run.error:
230
230
  run_details_log.write("[bold red]ERROR:[/bold red]")
231
231
  run_details_log.write("[dim]" + "=" * 50 + "[/dim]")
232
- run_details_log.write(f"[red]{run.error}[/red]")
232
+ if run.error.code:
233
+ run_details_log.write(f"[red]Code: {run.error.code}[/red]")
234
+ run_details_log.write(f"[red]Title: {run.error.title}[/red]")
235
+ run_details_log.write(f"[red]\n{run.error.detail}[/red]")
233
236
  run_details_log.write("")
234
237
 
235
238
  # Additional metadata
@@ -272,34 +275,38 @@ class RunDetailsPanel(Container):
272
275
  spans_tree = self.query_one("#spans-tree", Tree)
273
276
  root = spans_tree.root
274
277
 
275
- # Group spans by parent relationship
276
- root_spans = []
277
- child_spans: Dict[str, List[TraceMessage]] = {}
278
-
279
- for trace_msg in trace_messages:
280
- if not trace_msg.parent_span_id:
281
- root_spans.append(trace_msg)
282
- else:
283
- if trace_msg.parent_span_id not in child_spans:
284
- child_spans[trace_msg.parent_span_id] = []
285
- child_spans[trace_msg.parent_span_id].append(trace_msg)
278
+ # Filter out spans without parents (artificial root spans)
279
+ spans_by_id = {
280
+ msg.span_id: msg for msg in trace_messages if msg.parent_span_id is not None
281
+ }
286
282
 
287
- # Build tree recursively
283
+ # Build parent-to-children mapping once upfront
284
+ children_by_parent: Dict[str, List[TraceMessage]] = {}
285
+ for msg in spans_by_id.values():
286
+ if msg.parent_span_id:
287
+ if msg.parent_span_id not in children_by_parent:
288
+ children_by_parent[msg.parent_span_id] = []
289
+ children_by_parent[msg.parent_span_id].append(msg)
290
+
291
+ # Find root spans (parent doesn't exist in our filtered data)
292
+ root_spans = [
293
+ msg
294
+ for msg in trace_messages
295
+ if msg.parent_span_id and msg.parent_span_id not in spans_by_id
296
+ ]
297
+
298
+ # Build tree recursively for each root span
288
299
  for root_span in sorted(root_spans, key=lambda x: x.timestamp):
289
- if root_span.span_id in child_spans:
290
- for child in sorted(
291
- child_spans[root_span.span_id], key=lambda x: x.timestamp
292
- ):
293
- self._add_span_node(root, child, child_spans)
300
+ self._add_span_with_children(root, root_span, children_by_parent)
294
301
 
295
- def _add_span_node(
302
+ def _add_span_with_children(
296
303
  self,
297
304
  parent_node: TreeNode[str],
298
305
  trace_msg: TraceMessage,
299
- child_spans: Dict[str, List[TraceMessage]],
306
+ children_by_parent: Dict[str, List[TraceMessage]],
300
307
  ):
301
- """Recursively add span nodes to the tree."""
302
- # Create display label for the span
308
+ """Recursively add a span and all its children."""
309
+ # Create the node for this span
303
310
  color_map = {
304
311
  "started": "🔵",
305
312
  "running": "🟡",
@@ -308,26 +315,20 @@ class RunDetailsPanel(Container):
308
315
  "error": "🔴",
309
316
  }
310
317
  status_icon = color_map.get(trace_msg.status.lower(), "⚪")
311
-
312
318
  duration_str = (
313
319
  f" ({trace_msg.duration_ms:.1f}ms)" if trace_msg.duration_ms else ""
314
320
  )
315
321
  label = f"{status_icon} {trace_msg.span_name}{duration_str}"
316
322
 
317
- # Add node to tree
318
323
  node = parent_node.add(label)
319
- node.data = trace_msg.span_id # Store span_id for reference
324
+ node.data = trace_msg.span_id
320
325
  self.span_tree_nodes[trace_msg.span_id] = node
321
-
322
326
  node.expand()
323
327
 
324
- # Add child spans (sorted by timestamp)
325
- if trace_msg.span_id in child_spans:
326
- sorted_children = sorted(
327
- child_spans[trace_msg.span_id], key=lambda x: x.timestamp
328
- )
329
- for child_span in sorted_children:
330
- self._add_span_node(node, child_span, child_spans)
328
+ # Get children from prebuilt mapping - O(1) lookup
329
+ children = children_by_parent.get(trace_msg.span_id, [])
330
+ for child in sorted(children, key=lambda x: x.timestamp):
331
+ self._add_span_with_children(node, child, children_by_parent)
331
332
 
332
333
  def on_tree_node_selected(self, event: Tree.NodeSelected[str]) -> None:
333
334
  """Handle span selection in the tree."""
@@ -3,6 +3,7 @@ from datetime import datetime
3
3
  from typing import List, Optional
4
4
  from uuid import uuid4
5
5
 
6
+ from ...._runtime._contracts import UiPathErrorContract
6
7
  from ._messages import LogMessage, TraceMessage
7
8
 
8
9
 
@@ -19,6 +20,7 @@ class ExecutionRun:
19
20
  self.status = "running" # running, completed, failed
20
21
  self.traces: List[TraceMessage] = []
21
22
  self.logs: List[LogMessage] = []
23
+ self.error: Optional[UiPathErrorContract] = None
22
24
 
23
25
  @property
24
26
  def duration(self) -> str:
@@ -523,7 +523,7 @@ class UiPathRuntimeFactory(Generic[T, C]):
523
523
  def add_instrumentor(
524
524
  self,
525
525
  instrumentor_class: Type[BaseInstrumentor],
526
- get_current_span_func: Callable[[], Optional[Span]],
526
+ get_current_span_func: Callable[[], Any],
527
527
  ) -> "UiPathRuntimeFactory[T, C]":
528
528
  """Add and instrument immediately."""
529
529
  instrumentor_class().instrument(tracer_provider=self.tracer_provider)
@@ -2086,7 +2086,7 @@ wheels = [
2086
2086
 
2087
2087
  [[package]]
2088
2088
  name = "uipath"
2089
- version = "2.1.29"
2089
+ version = "2.1.31"
2090
2090
  source = { editable = "." }
2091
2091
  dependencies = [
2092
2092
  { name = "azure-monitor-opentelemetry" },
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