uipath 2.1.32__tar.gz → 2.1.34__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 (256) hide show
  1. {uipath-2.1.32 → uipath-2.1.34}/PKG-INFO +1 -1
  2. {uipath-2.1.32 → uipath-2.1.34}/pyproject.toml +1 -1
  3. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_dev/_terminal/__init__.py +4 -2
  4. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_dev/_terminal/_components/_details.py +76 -35
  5. uipath-2.1.34/src/uipath/_cli/_dev/_terminal/_components/_json_input.py +23 -0
  6. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_dev/_terminal/_components/_new.py +3 -1
  7. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_dev/_terminal/_components/_resume.py +6 -2
  8. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_dev/_terminal/_models/_execution.py +1 -0
  9. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_dev/_terminal/_styles/terminal.tcss +9 -0
  10. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_utils/_project_files.py +6 -5
  11. uipath-2.1.34/src/uipath/_cli/cli_dev.py +44 -0
  12. {uipath-2.1.32 → uipath-2.1.34}/uv.lock +1 -1
  13. uipath-2.1.32/src/uipath/_cli/cli_dev.py +0 -44
  14. {uipath-2.1.32 → uipath-2.1.34}/.cursorrules +0 -0
  15. {uipath-2.1.32 → uipath-2.1.34}/.editorconfig +0 -0
  16. {uipath-2.1.32 → uipath-2.1.34}/.gitattributes +0 -0
  17. {uipath-2.1.32 → uipath-2.1.34}/.github/workflows/cd.yml +0 -0
  18. {uipath-2.1.32 → uipath-2.1.34}/.github/workflows/ci.yml +0 -0
  19. {uipath-2.1.32 → uipath-2.1.34}/.github/workflows/commitlint.yml +0 -0
  20. {uipath-2.1.32 → uipath-2.1.34}/.github/workflows/lint.yml +0 -0
  21. {uipath-2.1.32 → uipath-2.1.34}/.github/workflows/publish-dev.yml +0 -0
  22. {uipath-2.1.32 → uipath-2.1.34}/.github/workflows/publish-docs.yml +0 -0
  23. {uipath-2.1.32 → uipath-2.1.34}/.github/workflows/slack.yml +0 -0
  24. {uipath-2.1.32 → uipath-2.1.34}/.github/workflows/test.yml +0 -0
  25. {uipath-2.1.32 → uipath-2.1.34}/.gitignore +0 -0
  26. {uipath-2.1.32 → uipath-2.1.34}/.pre-commit-config.yaml +0 -0
  27. {uipath-2.1.32 → uipath-2.1.34}/.python-version +0 -0
  28. {uipath-2.1.32 → uipath-2.1.34}/.vscode/extensions.json +0 -0
  29. {uipath-2.1.32 → uipath-2.1.34}/.vscode/launch.json +0 -0
  30. {uipath-2.1.32 → uipath-2.1.34}/.vscode/settings.json +0 -0
  31. {uipath-2.1.32 → uipath-2.1.34}/CONTRIBUTING.md +0 -0
  32. {uipath-2.1.32 → uipath-2.1.34}/LICENSE +0 -0
  33. {uipath-2.1.32 → uipath-2.1.34}/README.md +0 -0
  34. {uipath-2.1.32 → uipath-2.1.34}/docs/CONTRIBUTING.md +0 -0
  35. {uipath-2.1.32 → uipath-2.1.34}/docs/FAQ.md +0 -0
  36. {uipath-2.1.32 → uipath-2.1.34}/docs/assets/env-preparation-failed-dark.png +0 -0
  37. {uipath-2.1.32 → uipath-2.1.34}/docs/assets/env-preparation-failed-light.png +0 -0
  38. {uipath-2.1.32 → uipath-2.1.34}/docs/assets/favicon.png +0 -0
  39. {uipath-2.1.32 → uipath-2.1.34}/docs/assets/logo-dark.svg +0 -0
  40. {uipath-2.1.32 → uipath-2.1.34}/docs/assets/logo-light.svg +0 -0
  41. {uipath-2.1.32 → uipath-2.1.34}/docs/cli/index.md +0 -0
  42. {uipath-2.1.32 → uipath-2.1.34}/docs/core/actions.md +0 -0
  43. {uipath-2.1.32 → uipath-2.1.34}/docs/core/assets/cloud_env_var_dark.gif +0 -0
  44. {uipath-2.1.32 → uipath-2.1.34}/docs/core/assets/cloud_env_var_light.gif +0 -0
  45. {uipath-2.1.32 → uipath-2.1.34}/docs/core/assets/cloud_env_var_secret_dark.png +0 -0
  46. {uipath-2.1.32 → uipath-2.1.34}/docs/core/assets/cloud_env_var_secret_light.png +0 -0
  47. {uipath-2.1.32 → uipath-2.1.34}/docs/core/assets/copy_path_dark.png +0 -0
  48. {uipath-2.1.32 → uipath-2.1.34}/docs/core/assets/copy_path_light.png +0 -0
  49. {uipath-2.1.32 → uipath-2.1.34}/docs/core/assets.md +0 -0
  50. {uipath-2.1.32 → uipath-2.1.34}/docs/core/attachments.md +0 -0
  51. {uipath-2.1.32 → uipath-2.1.34}/docs/core/buckets.md +0 -0
  52. {uipath-2.1.32 → uipath-2.1.34}/docs/core/connections.md +0 -0
  53. {uipath-2.1.32 → uipath-2.1.34}/docs/core/context_grounding.md +0 -0
  54. {uipath-2.1.32 → uipath-2.1.34}/docs/core/environment_variables.md +0 -0
  55. {uipath-2.1.32 → uipath-2.1.34}/docs/core/getting_started.md +0 -0
  56. {uipath-2.1.32 → uipath-2.1.34}/docs/core/jobs.md +0 -0
  57. {uipath-2.1.32 → uipath-2.1.34}/docs/core/llm_gateway.md +0 -0
  58. {uipath-2.1.32 → uipath-2.1.34}/docs/core/processes.md +0 -0
  59. {uipath-2.1.32 → uipath-2.1.34}/docs/core/queues.md +0 -0
  60. {uipath-2.1.32 → uipath-2.1.34}/docs/core/traced.md +0 -0
  61. {uipath-2.1.32 → uipath-2.1.34}/docs/hooks.py +0 -0
  62. {uipath-2.1.32 → uipath-2.1.34}/docs/index.md +0 -0
  63. {uipath-2.1.32 → uipath-2.1.34}/docs/javascripts/extra.js +0 -0
  64. {uipath-2.1.32 → uipath-2.1.34}/docs/overrides/main.html +0 -0
  65. {uipath-2.1.32 → uipath-2.1.34}/docs/overrides/partials/actions.html +0 -0
  66. {uipath-2.1.32 → uipath-2.1.34}/docs/overrides/partials/logo.html +0 -0
  67. {uipath-2.1.32 → uipath-2.1.34}/docs/release_policy.md +0 -0
  68. {uipath-2.1.32 → uipath-2.1.34}/docs/sample_images/google-ADK-agent/agent-output.png +0 -0
  69. {uipath-2.1.32 → uipath-2.1.34}/docs/stylesheets/extra.css +0 -0
  70. {uipath-2.1.32 → uipath-2.1.34}/justfile +0 -0
  71. {uipath-2.1.32 → uipath-2.1.34}/mkdocs.yml +0 -0
  72. {uipath-2.1.32 → uipath-2.1.34}/py.typed +0 -0
  73. {uipath-2.1.32 → uipath-2.1.34}/samples/event-trigger/.python-version +0 -0
  74. {uipath-2.1.32 → uipath-2.1.34}/samples/event-trigger/README.md +0 -0
  75. {uipath-2.1.32 → uipath-2.1.34}/samples/event-trigger/main.py +0 -0
  76. {uipath-2.1.32 → uipath-2.1.34}/samples/event-trigger/pyproject.toml +0 -0
  77. {uipath-2.1.32 → uipath-2.1.34}/samples/google-ADK-agent/.env.example +0 -0
  78. {uipath-2.1.32 → uipath-2.1.34}/samples/google-ADK-agent/README.md +0 -0
  79. {uipath-2.1.32 → uipath-2.1.34}/samples/google-ADK-agent/input.json +0 -0
  80. {uipath-2.1.32 → uipath-2.1.34}/samples/google-ADK-agent/multi_tool_agent/__init__.py +0 -0
  81. {uipath-2.1.32 → uipath-2.1.34}/samples/google-ADK-agent/multi_tool_agent/agent.py +0 -0
  82. {uipath-2.1.32 → uipath-2.1.34}/samples/google-ADK-agent/pyproject.toml +0 -0
  83. {uipath-2.1.32 → uipath-2.1.34}/samples/google-ADK-agent/uv.lock +0 -0
  84. {uipath-2.1.32 → uipath-2.1.34}/scripts/debug_test.py +0 -0
  85. {uipath-2.1.32 → uipath-2.1.34}/scripts/lint_httpx_client.py +0 -0
  86. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/__init__.py +0 -0
  87. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/README.md +0 -0
  88. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/__init__.py +0 -0
  89. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_auth/_auth_server.py +0 -0
  90. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_auth/_client_credentials.py +0 -0
  91. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_auth/_models.py +0 -0
  92. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
  93. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_auth/_portal_service.py +0 -0
  94. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_auth/_url_utils.py +0 -0
  95. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_auth/_utils.py +0 -0
  96. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_auth/auth_config.json +0 -0
  97. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_auth/index.html +0 -0
  98. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_auth/localhost.crt +0 -0
  99. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_auth/localhost.key +0 -0
  100. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_dev/_terminal/_components/_history.py +0 -0
  101. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_dev/_terminal/_models/_messages.py +0 -0
  102. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_dev/_terminal/_traces/_exporter.py +0 -0
  103. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_dev/_terminal/_traces/_logger.py +0 -0
  104. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_evals/_evaluators/__init__.py +0 -0
  105. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_evals/_evaluators/_deterministic_evaluator_base.py +0 -0
  106. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_evals/_evaluators/_evaluator_base.py +0 -0
  107. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_evals/_evaluators/_evaluator_factory.py +0 -0
  108. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_evals/_evaluators/_exact_match_evaluator.py +0 -0
  109. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_evals/_evaluators/_json_similarity_evaluator.py +0 -0
  110. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_evals/_evaluators/_llm_as_judge_evaluator.py +0 -0
  111. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_evals/_evaluators/_trajectory_evaluator.py +0 -0
  112. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_evals/_models/__init__.py +0 -0
  113. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_evals/_models/_evaluation_set.py +0 -0
  114. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_evals/_models/_evaluators.py +0 -0
  115. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_evals/evaluation_service.py +0 -0
  116. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_evals/progress_reporter.py +0 -0
  117. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_push/sw_file_handler.py +0 -0
  118. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_runtime/_contracts.py +0 -0
  119. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_runtime/_escalation.py +0 -0
  120. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_runtime/_hitl.py +0 -0
  121. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_runtime/_logging.py +0 -0
  122. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_runtime/_runtime.py +0 -0
  123. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
  124. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_templates/.rels.template +0 -0
  125. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
  126. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_templates/main.py.template +0 -0
  127. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
  128. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_utils/_common.py +0 -0
  129. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_utils/_console.py +0 -0
  130. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_utils/_constants.py +0 -0
  131. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_utils/_debug.py +0 -0
  132. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_utils/_folders.py +0 -0
  133. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_utils/_input_args.py +0 -0
  134. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
  135. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_utils/_processes.py +0 -0
  136. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_utils/_studio_project.py +0 -0
  137. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_utils/_tracing.py +0 -0
  138. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/_utils/_uv_helpers.py +0 -0
  139. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/cli_auth.py +0 -0
  140. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/cli_deploy.py +0 -0
  141. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/cli_eval.py +0 -0
  142. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/cli_init.py +0 -0
  143. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/cli_invoke.py +0 -0
  144. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/cli_new.py +0 -0
  145. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/cli_pack.py +0 -0
  146. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/cli_publish.py +0 -0
  147. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/cli_pull.py +0 -0
  148. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/cli_push.py +0 -0
  149. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/cli_run.py +0 -0
  150. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/middlewares.py +0 -0
  151. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_cli/spinner.py +0 -0
  152. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_config.py +0 -0
  153. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_execution_context.py +0 -0
  154. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_folder_context.py +0 -0
  155. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_services/__init__.py +0 -0
  156. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_services/_base_service.py +0 -0
  157. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_services/actions_service.py +0 -0
  158. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_services/api_client.py +0 -0
  159. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_services/assets_service.py +0 -0
  160. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_services/attachments_service.py +0 -0
  161. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_services/buckets_service.py +0 -0
  162. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_services/connections_service.py +0 -0
  163. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_services/context_grounding_service.py +0 -0
  164. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_services/folder_service.py +0 -0
  165. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_services/jobs_service.py +0 -0
  166. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_services/llm_gateway_service.py +0 -0
  167. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_services/processes_service.py +0 -0
  168. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_services/queues_service.py +0 -0
  169. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_uipath.py +0 -0
  170. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_utils/__init__.py +0 -0
  171. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_utils/_endpoint.py +0 -0
  172. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_utils/_infer_bindings.py +0 -0
  173. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_utils/_logs.py +0 -0
  174. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_utils/_read_overwrites.py +0 -0
  175. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_utils/_request_override.py +0 -0
  176. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_utils/_request_spec.py +0 -0
  177. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_utils/_ssl_context.py +0 -0
  178. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_utils/_url.py +0 -0
  179. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_utils/_user_agent.py +0 -0
  180. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/_utils/constants.py +0 -0
  181. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/models/__init__.py +0 -0
  182. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/models/action_schema.py +0 -0
  183. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/models/actions.py +0 -0
  184. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/models/assets.py +0 -0
  185. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/models/attachment.py +0 -0
  186. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/models/buckets.py +0 -0
  187. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/models/connections.py +0 -0
  188. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/models/context_grounding.py +0 -0
  189. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/models/context_grounding_index.py +0 -0
  190. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/models/errors.py +0 -0
  191. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/models/exceptions.py +0 -0
  192. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/models/interrupt_models.py +0 -0
  193. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/models/job.py +0 -0
  194. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/models/llm_gateway.py +0 -0
  195. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/models/processes.py +0 -0
  196. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/models/queues.py +0 -0
  197. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/py.typed +0 -0
  198. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/telemetry/__init__.py +0 -0
  199. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/telemetry/_constants.py +0 -0
  200. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/telemetry/_track.py +0 -0
  201. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/tracing/__init__.py +0 -0
  202. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/tracing/_otel_exporters.py +0 -0
  203. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/tracing/_traced.py +0 -0
  204. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/tracing/_utils.py +0 -0
  205. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/utils/__init__.py +0 -0
  206. {uipath-2.1.32 → uipath-2.1.34}/src/uipath/utils/_endpoints_manager.py +0 -0
  207. {uipath-2.1.32 → uipath-2.1.34}/tests/__init__.py +0 -0
  208. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/conftest.py +0 -0
  209. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/evaluators/test_json_similarity_evaluator.py +0 -0
  210. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/mocks/bindings_script.py +0 -0
  211. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/mocks/pyproject.toml +0 -0
  212. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/mocks/simple_script.py +0 -0
  213. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/mocks/uipath-mock.json +0 -0
  214. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/mocks/uipath-simple-script-mock.json +0 -0
  215. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/test_auth.py +0 -0
  216. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/test_hitl.py +0 -0
  217. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/test_init.py +0 -0
  218. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/test_input_args.py +0 -0
  219. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/test_invoke.py +0 -0
  220. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/test_new.py +0 -0
  221. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/test_pack.py +0 -0
  222. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/test_portal_service_ensure_valid_token.py +0 -0
  223. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/test_portal_service_refresh_token.py +0 -0
  224. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/test_publish.py +0 -0
  225. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/test_pull.py +0 -0
  226. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/test_push.py +0 -0
  227. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/test_run.py +0 -0
  228. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/test_utils.py +0 -0
  229. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/utils/common.py +0 -0
  230. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/utils/project_details.py +0 -0
  231. {uipath-2.1.32 → uipath-2.1.34}/tests/cli/utils/uipath_json.py +0 -0
  232. {uipath-2.1.32 → uipath-2.1.34}/tests/conftest.py +0 -0
  233. {uipath-2.1.32 → uipath-2.1.34}/tests/sdk/services/conftest.py +0 -0
  234. {uipath-2.1.32 → uipath-2.1.34}/tests/sdk/services/test_actions_service.py +0 -0
  235. {uipath-2.1.32 → uipath-2.1.34}/tests/sdk/services/test_api_client.py +0 -0
  236. {uipath-2.1.32 → uipath-2.1.34}/tests/sdk/services/test_assets_service.py +0 -0
  237. {uipath-2.1.32 → uipath-2.1.34}/tests/sdk/services/test_attachments_service.py +0 -0
  238. {uipath-2.1.32 → uipath-2.1.34}/tests/sdk/services/test_base_service.py +0 -0
  239. {uipath-2.1.32 → uipath-2.1.34}/tests/sdk/services/test_buckets_service.py +0 -0
  240. {uipath-2.1.32 → uipath-2.1.34}/tests/sdk/services/test_connections_service.py +0 -0
  241. {uipath-2.1.32 → uipath-2.1.34}/tests/sdk/services/test_context_grounding_service.py +0 -0
  242. {uipath-2.1.32 → uipath-2.1.34}/tests/sdk/services/test_folder_service.py +0 -0
  243. {uipath-2.1.32 → uipath-2.1.34}/tests/sdk/services/test_jobs_service.py +0 -0
  244. {uipath-2.1.32 → uipath-2.1.34}/tests/sdk/services/test_llm_integration.py +0 -0
  245. {uipath-2.1.32 → uipath-2.1.34}/tests/sdk/services/test_llm_schema_cleanup.py +0 -0
  246. {uipath-2.1.32 → uipath-2.1.34}/tests/sdk/services/test_llm_service.py +0 -0
  247. {uipath-2.1.32 → uipath-2.1.34}/tests/sdk/services/test_processes_service.py +0 -0
  248. {uipath-2.1.32 → uipath-2.1.34}/tests/sdk/services/test_queues_service.py +0 -0
  249. {uipath-2.1.32 → uipath-2.1.34}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
  250. {uipath-2.1.32 → uipath-2.1.34}/tests/sdk/test_bindings_inference.py +0 -0
  251. {uipath-2.1.32 → uipath-2.1.34}/tests/sdk/test_config.py +0 -0
  252. {uipath-2.1.32 → uipath-2.1.34}/tests/sdk/test_overwrites.py +0 -0
  253. {uipath-2.1.32 → uipath-2.1.34}/tests/tracing/test_otel_exporters.py +0 -0
  254. {uipath-2.1.32 → uipath-2.1.34}/tests/tracing/test_span_utils.py +0 -0
  255. {uipath-2.1.32 → uipath-2.1.34}/tests/tracing/test_traced.py +0 -0
  256. {uipath-2.1.32 → uipath-2.1.34}/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.32
3
+ Version: 2.1.34
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.32"
3
+ version = "2.1.34"
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"
@@ -123,8 +123,9 @@ class UiPathDevTerminal(App[Any]):
123
123
  input = json.loads(input_data)
124
124
  except json.JSONDecodeError:
125
125
  return
126
- details_panel.current_run.input_data = input
126
+ details_panel.current_run.resume_data = input
127
127
  asyncio.create_task(self._execute_runtime(details_panel.current_run))
128
+ details_panel.switch_tab("run-tab")
128
129
 
129
130
  async def action_execute_run(self) -> None:
130
131
  """Execute a new run with UiPath runtime."""
@@ -161,7 +162,6 @@ class UiPathDevTerminal(App[Any]):
161
162
  try:
162
163
  context: UiPathRuntimeContext = self.runtime_factory.new_context(
163
164
  entrypoint=run.entrypoint,
164
- input_json=run.input_data,
165
165
  trace_id=str(uuid4()),
166
166
  execution_id=run.id,
167
167
  logs_min_level=env.get("LOG_LEVEL", "INFO"),
@@ -172,8 +172,10 @@ class UiPathDevTerminal(App[Any]):
172
172
 
173
173
  if run.status == "suspended":
174
174
  context.resume = True
175
+ context.input_json = run.resume_data
175
176
  self._add_info_log(run, f"Resuming execution: {run.entrypoint}")
176
177
  else:
178
+ context.input_json = run.input_data
177
179
  self._add_info_log(run, f"Starting execution: {run.entrypoint}")
178
180
 
179
181
  run.status = "running"
@@ -1,4 +1,3 @@
1
- import json
2
1
  from typing import Dict, List, Optional
3
2
 
4
3
  from textual.app import ComposeResult
@@ -29,14 +28,7 @@ class SpanDetailsDisplay(Container):
29
28
  details_log = self.query_one("#span-details", RichLog)
30
29
  details_log.clear()
31
30
 
32
- # Format span details
33
31
  details_log.write(f"[bold cyan]Span: {trace_msg.span_name}[/bold cyan]")
34
- details_log.write(f"[dim]Trace ID: {trace_msg.trace_id}[/dim]")
35
- details_log.write(f"[dim]Span ID: {trace_msg.span_id}[/dim]")
36
- details_log.write(f"[dim]Run ID: {trace_msg.run_id}[/dim]")
37
-
38
- if trace_msg.parent_span_id:
39
- details_log.write(f"[dim]Parent Span: {trace_msg.parent_span_id}[/dim]")
40
32
 
41
33
  details_log.write("") # Empty line
42
34
 
@@ -68,6 +60,16 @@ class SpanDetailsDisplay(Container):
68
60
  for key, value in trace_msg.attributes.items():
69
61
  details_log.write(f" {key}: {value}")
70
62
 
63
+ details_log.write("") # Empty line
64
+
65
+ # Format span details
66
+ details_log.write(f"[dim]Trace ID: {trace_msg.trace_id}[/dim]")
67
+ details_log.write(f"[dim]Span ID: {trace_msg.span_id}[/dim]")
68
+ details_log.write(f"[dim]Run ID: {trace_msg.run_id}[/dim]")
69
+
70
+ if trace_msg.parent_span_id:
71
+ details_log.write(f"[dim]Parent Span: {trace_msg.parent_span_id}[/dim]")
72
+
71
73
 
72
74
  class RunDetailsPanel(Container):
73
75
  """Panel showing traces and logs for selected run with tabbed interface."""
@@ -144,10 +146,68 @@ class RunDetailsPanel(Container):
144
146
  # Clear and rebuild traces tree using TraceMessage objects
145
147
  self._rebuild_spans_tree()
146
148
 
149
+ def switch_tab(self, tab_id: str) -> None:
150
+ """Switch to a specific tab by id (e.g. 'run-tab', 'traces-tab')."""
151
+ tabbed = self.query_one(TabbedContent)
152
+ tabbed.active = tab_id
153
+
147
154
  def _update_resume_tab(self, run: ExecutionRun) -> None:
148
155
  resume_panel = self.query_one("#resume-panel", ResumePanel)
149
156
  resume_panel.display = run.status == "suspended"
150
157
 
158
+ def _flatten_values(self, value: object, prefix: str = "") -> list[str]:
159
+ """Flatten nested dict/list structures into dot-notation paths."""
160
+ lines: list[str] = []
161
+
162
+ if value is None:
163
+ lines.append(f"{prefix}: [dim]—[/dim]" if prefix else "[dim]—[/dim]")
164
+
165
+ elif isinstance(value, dict):
166
+ if not value:
167
+ lines.append(f"{prefix}: {{}}" if prefix else "{}")
168
+ else:
169
+ for k, v in value.items():
170
+ new_prefix = f"{prefix}.{k}" if prefix else k
171
+ lines.extend(self._flatten_values(v, new_prefix))
172
+
173
+ elif isinstance(value, list):
174
+ if not value:
175
+ lines.append(f"{prefix}: []" if prefix else "[]")
176
+ else:
177
+ for i, item in enumerate(value):
178
+ new_prefix = f"{prefix}[{i}]"
179
+ lines.extend(self._flatten_values(item, new_prefix))
180
+
181
+ elif isinstance(value, str):
182
+ if prefix:
183
+ split_lines = value.splitlines()
184
+ if split_lines:
185
+ lines.append(f"{prefix}: {split_lines[0]}")
186
+ for line in split_lines[1:]:
187
+ lines.append(f"{' ' * 2}{line}")
188
+ else:
189
+ lines.extend(value.splitlines())
190
+
191
+ else:
192
+ if prefix:
193
+ lines.append(f"{prefix}: {value}")
194
+ else:
195
+ lines.append(str(value))
196
+
197
+ return lines
198
+
199
+ def _write_block(
200
+ self, log: RichLog, title: str, data: object, style: str = "white"
201
+ ) -> None:
202
+ """Pretty-print a block with flattened dot-notation paths."""
203
+ log.write(f"[bold {style}]{title.upper()}:[/bold {style}]")
204
+ log.write("[dim]" + "=" * 50 + "[/dim]")
205
+
206
+ for line in self._flatten_values(data):
207
+ log.write(line)
208
+
209
+ log.write("")
210
+
151
211
  def _show_run_details(self, run: ExecutionRun):
152
212
  """Display detailed information about the run in the Details tab."""
153
213
  self._update_resume_tab(run)
@@ -202,35 +262,16 @@ class RunDetailsPanel(Container):
202
262
 
203
263
  run_details_log.write("")
204
264
 
205
- # Input section
206
- if hasattr(run, "input_data") and run.input_data is not None:
207
- run_details_log.write("[bold green]INPUT:[/bold green]")
208
- run_details_log.write("[dim]" + "=" * 50 + "[/dim]")
209
-
210
- # Handle different input types
211
- if isinstance(run.input_data, str):
212
- run_details_log.write(run.input_data)
213
- elif isinstance(run.input_data, dict):
214
- run_details_log.write(json.dumps(run.input_data, indent=2))
215
- else:
216
- run_details_log.write(str(run.input_data))
217
-
218
- run_details_log.write("")
265
+ if hasattr(run, "input_data"):
266
+ self._write_block(run_details_log, "Input", run.input_data, style="green")
219
267
 
220
- # Output section
221
- if hasattr(run, "output_data") and run.output_data is not None:
222
- run_details_log.write("[bold magenta]OUTPUT:[/bold magenta]")
223
- run_details_log.write("[dim]" + "=" * 50 + "[/dim]")
224
-
225
- # Handle different output types
226
- if isinstance(run.output_data, str):
227
- run_details_log.write(run.output_data)
228
- elif isinstance(run.output_data, dict):
229
- run_details_log.write(json.dumps(run.output_data, indent=2))
230
- else:
231
- run_details_log.write(str(run.output_data))
268
+ if hasattr(run, "resume_data") and run.resume_data:
269
+ self._write_block(run_details_log, "Resume", run.resume_data, style="green")
232
270
 
233
- run_details_log.write("")
271
+ if hasattr(run, "output_data"):
272
+ self._write_block(
273
+ run_details_log, "Output", run.output_data, style="magenta"
274
+ )
234
275
 
235
276
  # Error section (if applicable)
236
277
  if hasattr(run, "error") and run.error:
@@ -0,0 +1,23 @@
1
+ import json
2
+
3
+ from textual.widgets import TextArea
4
+
5
+
6
+ class JsonInput(TextArea):
7
+ """TextArea that validates JSON on change."""
8
+
9
+ def validate_json(self) -> bool:
10
+ text = self.text.strip()
11
+ if not text:
12
+ self.remove_class("invalid")
13
+ return True
14
+ try:
15
+ json.loads(text)
16
+ self.remove_class("invalid")
17
+ return True
18
+ except json.JSONDecodeError:
19
+ self.add_class("invalid")
20
+ return False
21
+
22
+ def on_text_area_changed(self, event: TextArea.Changed) -> None:
23
+ self.validate_json()
@@ -7,6 +7,8 @@ from textual.containers import Container, Horizontal, Vertical
7
7
  from textual.reactive import reactive
8
8
  from textual.widgets import Button, Select, TabbedContent, TabPane, TextArea
9
9
 
10
+ from ._json_input import JsonInput
11
+
10
12
 
11
13
  def mock_json_from_schema(schema: Dict[str, Any]) -> Dict[str, Any]:
12
14
  props = schema.get("properties", {})
@@ -74,7 +76,7 @@ class NewRunPanel(Container):
74
76
  allow_blank=False,
75
77
  )
76
78
 
77
- yield TextArea(
79
+ yield JsonInput(
78
80
  text=self.initial_input,
79
81
  language="json",
80
82
  id="json-input",
@@ -1,7 +1,11 @@
1
+ import json
2
+
1
3
  from textual.app import ComposeResult
2
4
  from textual.containers import Container, Horizontal, Vertical
3
5
  from textual.widgets import Button, TextArea
4
6
 
7
+ from ._json_input import JsonInput
8
+
5
9
 
6
10
  class ResumePanel(Container):
7
11
  """Panel for resuming a suspended run."""
@@ -11,8 +15,8 @@ class ResumePanel(Container):
11
15
 
12
16
  def compose(self) -> ComposeResult:
13
17
  with Vertical():
14
- yield TextArea(
15
- text="{}",
18
+ yield JsonInput(
19
+ text=json.dumps({"value": ""}, indent=2),
16
20
  language="json",
17
21
  id="resume-json-input",
18
22
  classes="input-field json-input",
@@ -16,6 +16,7 @@ class ExecutionRun:
16
16
  self.id = str(uuid4())[:8]
17
17
  self.entrypoint = entrypoint
18
18
  self.input_data = input_data
19
+ self.resume_data: Optional[Dict[str, Any]] = None
19
20
  self.output_data: Optional[Dict[str, Any]] = None
20
21
  self.start_time = datetime.now()
21
22
  self.end_time: Optional[datetime] = None
@@ -22,6 +22,11 @@ Screen {
22
22
  color: #ffaa00;
23
23
  }
24
24
 
25
+ .run-suspended {
26
+ border-left: solid #00FFFF;
27
+ color: #e0e0e0;
28
+ }
29
+
25
30
  .run-completed {
26
31
  border-left: solid #00ff88;
27
32
  color: #e0e0e0;
@@ -213,3 +218,7 @@ SpanDetailsDisplay {
213
218
  text-style: bold;
214
219
  border: none;
215
220
  }
221
+
222
+ TextArea.invalid {
223
+ border: tall red;
224
+ }
@@ -68,7 +68,7 @@ def get_project_config(directory: str) -> dict[str, str]:
68
68
  "version": toml_data["version"],
69
69
  "authors": toml_data["authors"],
70
70
  "dependencies": toml_data.get("dependencies", {}),
71
- "requires-python": toml_data.get("requires-python", {}),
71
+ "requires-python": toml_data.get("requires-python", None),
72
72
  }
73
73
 
74
74
 
@@ -104,14 +104,15 @@ def validate_config(config: dict[str, str]) -> None:
104
104
  )
105
105
 
106
106
  invalid_chars = ["&", "<", ">", '"', "'", ";"]
107
- for char in invalid_chars:
108
- if char in config["project_name"]:
109
- console.error(f"Project name contains invalid character: '{char}'")
110
-
111
107
  for char in invalid_chars:
112
108
  if char in config["description"]:
113
109
  console.error(f"Project description contains invalid character: '{char}'")
114
110
 
111
+ invalid_chars += [" "]
112
+ for char in invalid_chars:
113
+ if char in config["project_name"]:
114
+ console.error(f"Project name contains invalid character: '{char}'")
115
+
115
116
 
116
117
  def validate_config_structure(config_data: dict[str, Any]) -> None:
117
118
  """Validate the structure of uipath.json configuration.
@@ -0,0 +1,44 @@
1
+ import asyncio
2
+ from typing import Optional
3
+
4
+ import click
5
+
6
+ from ..telemetry import track
7
+ from ._dev._terminal import UiPathDevTerminal
8
+ from ._runtime._contracts import UiPathRuntimeContext, UiPathRuntimeFactory
9
+ from ._runtime._runtime import UiPathRuntime
10
+ from ._utils._console import ConsoleLogger
11
+ from .middlewares import Middlewares
12
+
13
+ console = ConsoleLogger()
14
+
15
+
16
+ @click.command()
17
+ @click.argument("interface", default="terminal")
18
+ @track
19
+ def dev(interface: Optional[str]) -> None:
20
+ """Launch interactive debugging interface."""
21
+ with console.spinner("Launching UiPath debugging terminal ..."):
22
+ result = Middlewares.next(
23
+ "dev",
24
+ interface,
25
+ )
26
+
27
+ if result.should_continue is False:
28
+ return
29
+
30
+ try:
31
+ if interface == "terminal":
32
+ runtime_factory = UiPathRuntimeFactory(
33
+ UiPathRuntime, UiPathRuntimeContext
34
+ )
35
+ app = UiPathDevTerminal(runtime_factory)
36
+ asyncio.run(app.run_async())
37
+ else:
38
+ console.error(f"Unknown interface: {interface}")
39
+ except KeyboardInterrupt:
40
+ console.info("Debug session interrupted by user")
41
+ except Exception as e:
42
+ console.error(
43
+ f"Error running debug interface: {str(e)}", include_traceback=True
44
+ )
@@ -2086,7 +2086,7 @@ wheels = [
2086
2086
 
2087
2087
  [[package]]
2088
2088
  name = "uipath"
2089
- version = "2.1.32"
2089
+ version = "2.1.34"
2090
2090
  source = { editable = "." }
2091
2091
  dependencies = [
2092
2092
  { name = "azure-monitor-opentelemetry" },
@@ -1,44 +0,0 @@
1
- import asyncio
2
- from typing import Optional
3
-
4
- import click
5
-
6
- from ..telemetry import track
7
- from ._dev._terminal import UiPathDevTerminal
8
- from ._runtime._contracts import UiPathRuntimeContext, UiPathRuntimeFactory
9
- from ._runtime._runtime import UiPathRuntime
10
- from ._utils._console import ConsoleLogger
11
- from .middlewares import Middlewares
12
-
13
- console = ConsoleLogger()
14
-
15
-
16
- @click.command()
17
- @click.argument("interface", default="terminal")
18
- @track
19
- def dev(interface: Optional[str]) -> None:
20
- """Launch interactive debugging interface."""
21
- console.info("🚀 Starting UiPath Dev Terminal...")
22
- console.info("Use 'q' to quit, 'n' for new run, 'r' to execute")
23
-
24
- result = Middlewares.next(
25
- "dev",
26
- interface,
27
- )
28
-
29
- if result.should_continue is False:
30
- return
31
-
32
- try:
33
- if interface == "terminal":
34
- runtime_factory = UiPathRuntimeFactory(UiPathRuntime, UiPathRuntimeContext)
35
- app = UiPathDevTerminal(runtime_factory)
36
- asyncio.run(app.run_async())
37
- else:
38
- console.error(f"Unknown interface: {interface}")
39
- except KeyboardInterrupt:
40
- console.info("Debug session interrupted by user")
41
- except Exception as e:
42
- console.error(
43
- f"Error running debug interface: {str(e)}", include_traceback=True
44
- )
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