uipath 2.1.37__tar.gz → 2.1.38__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 (266) hide show
  1. {uipath-2.1.37 → uipath-2.1.38}/PKG-INFO +1 -1
  2. {uipath-2.1.37 → uipath-2.1.38}/pyproject.toml +1 -1
  3. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_dev/_terminal/__init__.py +1 -1
  4. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_dev/_terminal/_components/_chat.py +20 -12
  5. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_dev/_terminal/_components/_details.py +6 -3
  6. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_dev/_terminal/_styles/terminal.tcss +4 -3
  7. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_dev/_terminal/_utils/_chat.py +36 -34
  8. {uipath-2.1.37 → uipath-2.1.38}/uv.lock +1 -1
  9. {uipath-2.1.37 → uipath-2.1.38}/.cursorrules +0 -0
  10. {uipath-2.1.37 → uipath-2.1.38}/.editorconfig +0 -0
  11. {uipath-2.1.37 → uipath-2.1.38}/.gitattributes +0 -0
  12. {uipath-2.1.37 → uipath-2.1.38}/.github/workflows/cd.yml +0 -0
  13. {uipath-2.1.37 → uipath-2.1.38}/.github/workflows/ci.yml +0 -0
  14. {uipath-2.1.37 → uipath-2.1.38}/.github/workflows/commitlint.yml +0 -0
  15. {uipath-2.1.37 → uipath-2.1.38}/.github/workflows/lint.yml +0 -0
  16. {uipath-2.1.37 → uipath-2.1.38}/.github/workflows/publish-dev.yml +0 -0
  17. {uipath-2.1.37 → uipath-2.1.38}/.github/workflows/publish-docs.yml +0 -0
  18. {uipath-2.1.37 → uipath-2.1.38}/.github/workflows/slack.yml +0 -0
  19. {uipath-2.1.37 → uipath-2.1.38}/.github/workflows/test.yml +0 -0
  20. {uipath-2.1.37 → uipath-2.1.38}/.gitignore +0 -0
  21. {uipath-2.1.37 → uipath-2.1.38}/.pre-commit-config.yaml +0 -0
  22. {uipath-2.1.37 → uipath-2.1.38}/.python-version +0 -0
  23. {uipath-2.1.37 → uipath-2.1.38}/.vscode/extensions.json +0 -0
  24. {uipath-2.1.37 → uipath-2.1.38}/.vscode/launch.json +0 -0
  25. {uipath-2.1.37 → uipath-2.1.38}/.vscode/settings.json +0 -0
  26. {uipath-2.1.37 → uipath-2.1.38}/CONTRIBUTING.md +0 -0
  27. {uipath-2.1.37 → uipath-2.1.38}/LICENSE +0 -0
  28. {uipath-2.1.37 → uipath-2.1.38}/README.md +0 -0
  29. {uipath-2.1.37 → uipath-2.1.38}/docs/CONTRIBUTING.md +0 -0
  30. {uipath-2.1.37 → uipath-2.1.38}/docs/FAQ.md +0 -0
  31. {uipath-2.1.37 → uipath-2.1.38}/docs/assets/env-preparation-failed-dark.png +0 -0
  32. {uipath-2.1.37 → uipath-2.1.38}/docs/assets/env-preparation-failed-light.png +0 -0
  33. {uipath-2.1.37 → uipath-2.1.38}/docs/assets/favicon.png +0 -0
  34. {uipath-2.1.37 → uipath-2.1.38}/docs/assets/logo-dark.svg +0 -0
  35. {uipath-2.1.37 → uipath-2.1.38}/docs/assets/logo-light.svg +0 -0
  36. {uipath-2.1.37 → uipath-2.1.38}/docs/cli/index.md +0 -0
  37. {uipath-2.1.37 → uipath-2.1.38}/docs/core/actions.md +0 -0
  38. {uipath-2.1.37 → uipath-2.1.38}/docs/core/assets/cloud_env_var_dark.gif +0 -0
  39. {uipath-2.1.37 → uipath-2.1.38}/docs/core/assets/cloud_env_var_light.gif +0 -0
  40. {uipath-2.1.37 → uipath-2.1.38}/docs/core/assets/cloud_env_var_secret_dark.png +0 -0
  41. {uipath-2.1.37 → uipath-2.1.38}/docs/core/assets/cloud_env_var_secret_light.png +0 -0
  42. {uipath-2.1.37 → uipath-2.1.38}/docs/core/assets/copy_path_dark.png +0 -0
  43. {uipath-2.1.37 → uipath-2.1.38}/docs/core/assets/copy_path_light.png +0 -0
  44. {uipath-2.1.37 → uipath-2.1.38}/docs/core/assets.md +0 -0
  45. {uipath-2.1.37 → uipath-2.1.38}/docs/core/attachments.md +0 -0
  46. {uipath-2.1.37 → uipath-2.1.38}/docs/core/buckets.md +0 -0
  47. {uipath-2.1.37 → uipath-2.1.38}/docs/core/connections.md +0 -0
  48. {uipath-2.1.37 → uipath-2.1.38}/docs/core/context_grounding.md +0 -0
  49. {uipath-2.1.37 → uipath-2.1.38}/docs/core/environment_variables.md +0 -0
  50. {uipath-2.1.37 → uipath-2.1.38}/docs/core/getting_started.md +0 -0
  51. {uipath-2.1.37 → uipath-2.1.38}/docs/core/jobs.md +0 -0
  52. {uipath-2.1.37 → uipath-2.1.38}/docs/core/llm_gateway.md +0 -0
  53. {uipath-2.1.37 → uipath-2.1.38}/docs/core/processes.md +0 -0
  54. {uipath-2.1.37 → uipath-2.1.38}/docs/core/queues.md +0 -0
  55. {uipath-2.1.37 → uipath-2.1.38}/docs/core/traced.md +0 -0
  56. {uipath-2.1.37 → uipath-2.1.38}/docs/hooks.py +0 -0
  57. {uipath-2.1.37 → uipath-2.1.38}/docs/index.md +0 -0
  58. {uipath-2.1.37 → uipath-2.1.38}/docs/javascripts/extra.js +0 -0
  59. {uipath-2.1.37 → uipath-2.1.38}/docs/overrides/main.html +0 -0
  60. {uipath-2.1.37 → uipath-2.1.38}/docs/overrides/partials/actions.html +0 -0
  61. {uipath-2.1.37 → uipath-2.1.38}/docs/overrides/partials/logo.html +0 -0
  62. {uipath-2.1.37 → uipath-2.1.38}/docs/release_policy.md +0 -0
  63. {uipath-2.1.37 → uipath-2.1.38}/docs/sample_images/google-ADK-agent/agent-output.png +0 -0
  64. {uipath-2.1.37 → uipath-2.1.38}/docs/stylesheets/extra.css +0 -0
  65. {uipath-2.1.37 → uipath-2.1.38}/justfile +0 -0
  66. {uipath-2.1.37 → uipath-2.1.38}/mkdocs.yml +0 -0
  67. {uipath-2.1.37 → uipath-2.1.38}/py.typed +0 -0
  68. {uipath-2.1.37 → uipath-2.1.38}/samples/event-trigger/.python-version +0 -0
  69. {uipath-2.1.37 → uipath-2.1.38}/samples/event-trigger/README.md +0 -0
  70. {uipath-2.1.37 → uipath-2.1.38}/samples/event-trigger/main.py +0 -0
  71. {uipath-2.1.37 → uipath-2.1.38}/samples/event-trigger/pyproject.toml +0 -0
  72. {uipath-2.1.37 → uipath-2.1.38}/samples/google-ADK-agent/.env.example +0 -0
  73. {uipath-2.1.37 → uipath-2.1.38}/samples/google-ADK-agent/README.md +0 -0
  74. {uipath-2.1.37 → uipath-2.1.38}/samples/google-ADK-agent/input.json +0 -0
  75. {uipath-2.1.37 → uipath-2.1.38}/samples/google-ADK-agent/multi_tool_agent/__init__.py +0 -0
  76. {uipath-2.1.37 → uipath-2.1.38}/samples/google-ADK-agent/multi_tool_agent/agent.py +0 -0
  77. {uipath-2.1.37 → uipath-2.1.38}/samples/google-ADK-agent/pyproject.toml +0 -0
  78. {uipath-2.1.37 → uipath-2.1.38}/samples/google-ADK-agent/uv.lock +0 -0
  79. {uipath-2.1.37 → uipath-2.1.38}/scripts/debug_test.py +0 -0
  80. {uipath-2.1.37 → uipath-2.1.38}/scripts/lint_httpx_client.py +0 -0
  81. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/__init__.py +0 -0
  82. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/README.md +0 -0
  83. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/__init__.py +0 -0
  84. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_auth/_auth_server.py +0 -0
  85. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_auth/_client_credentials.py +0 -0
  86. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_auth/_models.py +0 -0
  87. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
  88. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_auth/_portal_service.py +0 -0
  89. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_auth/_url_utils.py +0 -0
  90. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_auth/_utils.py +0 -0
  91. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_auth/auth_config.json +0 -0
  92. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_auth/index.html +0 -0
  93. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_auth/localhost.crt +0 -0
  94. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_auth/localhost.key +0 -0
  95. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_dev/_terminal/_components/_history.py +0 -0
  96. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_dev/_terminal/_components/_json_input.py +0 -0
  97. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_dev/_terminal/_components/_new.py +0 -0
  98. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_dev/_terminal/_models/_execution.py +0 -0
  99. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_dev/_terminal/_models/_messages.py +0 -0
  100. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_dev/_terminal/_utils/_exporter.py +0 -0
  101. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_dev/_terminal/_utils/_logger.py +0 -0
  102. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_evals/_evaluators/__init__.py +0 -0
  103. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_evals/_evaluators/_deterministic_evaluator_base.py +0 -0
  104. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_evals/_evaluators/_evaluator_base.py +0 -0
  105. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_evals/_evaluators/_evaluator_factory.py +0 -0
  106. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_evals/_evaluators/_exact_match_evaluator.py +0 -0
  107. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_evals/_evaluators/_json_similarity_evaluator.py +0 -0
  108. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_evals/_evaluators/_llm_as_judge_evaluator.py +0 -0
  109. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_evals/_evaluators/_trajectory_evaluator.py +0 -0
  110. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_evals/_models/__init__.py +0 -0
  111. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_evals/_models/_evaluation_set.py +0 -0
  112. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_evals/_models/_evaluators.py +0 -0
  113. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_evals/evaluation_service.py +0 -0
  114. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_evals/progress_reporter.py +0 -0
  115. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_push/sw_file_handler.py +0 -0
  116. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_runtime/_contracts.py +0 -0
  117. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_runtime/_escalation.py +0 -0
  118. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_runtime/_hitl.py +0 -0
  119. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_runtime/_logging.py +0 -0
  120. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_runtime/_runtime.py +0 -0
  121. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
  122. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_templates/.rels.template +0 -0
  123. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
  124. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_templates/main.py.template +0 -0
  125. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
  126. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_utils/_common.py +0 -0
  127. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_utils/_console.py +0 -0
  128. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_utils/_constants.py +0 -0
  129. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_utils/_debug.py +0 -0
  130. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_utils/_folders.py +0 -0
  131. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_utils/_input_args.py +0 -0
  132. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
  133. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_utils/_processes.py +0 -0
  134. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_utils/_project_files.py +0 -0
  135. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_utils/_studio_project.py +0 -0
  136. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_utils/_tracing.py +0 -0
  137. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/_utils/_uv_helpers.py +0 -0
  138. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/cli_auth.py +0 -0
  139. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/cli_deploy.py +0 -0
  140. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/cli_dev.py +0 -0
  141. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/cli_eval.py +0 -0
  142. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/cli_init.py +0 -0
  143. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/cli_invoke.py +0 -0
  144. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/cli_new.py +0 -0
  145. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/cli_pack.py +0 -0
  146. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/cli_publish.py +0 -0
  147. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/cli_pull.py +0 -0
  148. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/cli_push.py +0 -0
  149. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/cli_run.py +0 -0
  150. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/middlewares.py +0 -0
  151. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_cli/spinner.py +0 -0
  152. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_config.py +0 -0
  153. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_execution_context.py +0 -0
  154. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_folder_context.py +0 -0
  155. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_services/__init__.py +0 -0
  156. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_services/_base_service.py +0 -0
  157. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_services/actions_service.py +0 -0
  158. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_services/api_client.py +0 -0
  159. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_services/assets_service.py +0 -0
  160. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_services/attachments_service.py +0 -0
  161. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_services/buckets_service.py +0 -0
  162. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_services/connections_service.py +0 -0
  163. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_services/context_grounding_service.py +0 -0
  164. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_services/folder_service.py +0 -0
  165. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_services/jobs_service.py +0 -0
  166. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_services/llm_gateway_service.py +0 -0
  167. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_services/processes_service.py +0 -0
  168. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_services/queues_service.py +0 -0
  169. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_uipath.py +0 -0
  170. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_utils/__init__.py +0 -0
  171. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_utils/_endpoint.py +0 -0
  172. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_utils/_infer_bindings.py +0 -0
  173. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_utils/_logs.py +0 -0
  174. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_utils/_read_overwrites.py +0 -0
  175. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_utils/_request_override.py +0 -0
  176. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_utils/_request_spec.py +0 -0
  177. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_utils/_ssl_context.py +0 -0
  178. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_utils/_url.py +0 -0
  179. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_utils/_user_agent.py +0 -0
  180. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/_utils/constants.py +0 -0
  181. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/agent/conversation/__init__.py +0 -0
  182. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/agent/conversation/async_stream.py +0 -0
  183. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/agent/conversation/citation.py +0 -0
  184. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/agent/conversation/content.py +0 -0
  185. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/agent/conversation/conversation.py +0 -0
  186. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/agent/conversation/event.py +0 -0
  187. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/agent/conversation/exchange.py +0 -0
  188. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/agent/conversation/message.py +0 -0
  189. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/agent/conversation/meta.py +0 -0
  190. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/agent/conversation/tool.py +0 -0
  191. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/models/__init__.py +0 -0
  192. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/models/action_schema.py +0 -0
  193. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/models/actions.py +0 -0
  194. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/models/assets.py +0 -0
  195. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/models/attachment.py +0 -0
  196. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/models/buckets.py +0 -0
  197. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/models/connections.py +0 -0
  198. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/models/context_grounding.py +0 -0
  199. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/models/context_grounding_index.py +0 -0
  200. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/models/errors.py +0 -0
  201. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/models/exceptions.py +0 -0
  202. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/models/interrupt_models.py +0 -0
  203. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/models/job.py +0 -0
  204. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/models/llm_gateway.py +0 -0
  205. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/models/processes.py +0 -0
  206. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/models/queues.py +0 -0
  207. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/py.typed +0 -0
  208. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/telemetry/__init__.py +0 -0
  209. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/telemetry/_constants.py +0 -0
  210. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/telemetry/_track.py +0 -0
  211. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/tracing/__init__.py +0 -0
  212. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/tracing/_otel_exporters.py +0 -0
  213. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/tracing/_traced.py +0 -0
  214. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/tracing/_utils.py +0 -0
  215. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/utils/__init__.py +0 -0
  216. {uipath-2.1.37 → uipath-2.1.38}/src/uipath/utils/_endpoints_manager.py +0 -0
  217. {uipath-2.1.37 → uipath-2.1.38}/tests/__init__.py +0 -0
  218. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/conftest.py +0 -0
  219. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/evaluators/test_json_similarity_evaluator.py +0 -0
  220. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/mocks/bindings_script.py +0 -0
  221. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/mocks/pyproject.toml +0 -0
  222. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/mocks/simple_script.py +0 -0
  223. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/mocks/uipath-mock.json +0 -0
  224. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/mocks/uipath-simple-script-mock.json +0 -0
  225. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/test_auth.py +0 -0
  226. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/test_hitl.py +0 -0
  227. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/test_init.py +0 -0
  228. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/test_input_args.py +0 -0
  229. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/test_invoke.py +0 -0
  230. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/test_new.py +0 -0
  231. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/test_pack.py +0 -0
  232. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/test_portal_service_ensure_valid_token.py +0 -0
  233. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/test_portal_service_refresh_token.py +0 -0
  234. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/test_publish.py +0 -0
  235. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/test_pull.py +0 -0
  236. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/test_push.py +0 -0
  237. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/test_run.py +0 -0
  238. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/test_utils.py +0 -0
  239. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/utils/common.py +0 -0
  240. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/utils/project_details.py +0 -0
  241. {uipath-2.1.37 → uipath-2.1.38}/tests/cli/utils/uipath_json.py +0 -0
  242. {uipath-2.1.37 → uipath-2.1.38}/tests/conftest.py +0 -0
  243. {uipath-2.1.37 → uipath-2.1.38}/tests/sdk/services/conftest.py +0 -0
  244. {uipath-2.1.37 → uipath-2.1.38}/tests/sdk/services/test_actions_service.py +0 -0
  245. {uipath-2.1.37 → uipath-2.1.38}/tests/sdk/services/test_api_client.py +0 -0
  246. {uipath-2.1.37 → uipath-2.1.38}/tests/sdk/services/test_assets_service.py +0 -0
  247. {uipath-2.1.37 → uipath-2.1.38}/tests/sdk/services/test_attachments_service.py +0 -0
  248. {uipath-2.1.37 → uipath-2.1.38}/tests/sdk/services/test_base_service.py +0 -0
  249. {uipath-2.1.37 → uipath-2.1.38}/tests/sdk/services/test_buckets_service.py +0 -0
  250. {uipath-2.1.37 → uipath-2.1.38}/tests/sdk/services/test_connections_service.py +0 -0
  251. {uipath-2.1.37 → uipath-2.1.38}/tests/sdk/services/test_context_grounding_service.py +0 -0
  252. {uipath-2.1.37 → uipath-2.1.38}/tests/sdk/services/test_folder_service.py +0 -0
  253. {uipath-2.1.37 → uipath-2.1.38}/tests/sdk/services/test_jobs_service.py +0 -0
  254. {uipath-2.1.37 → uipath-2.1.38}/tests/sdk/services/test_llm_integration.py +0 -0
  255. {uipath-2.1.37 → uipath-2.1.38}/tests/sdk/services/test_llm_schema_cleanup.py +0 -0
  256. {uipath-2.1.37 → uipath-2.1.38}/tests/sdk/services/test_llm_service.py +0 -0
  257. {uipath-2.1.37 → uipath-2.1.38}/tests/sdk/services/test_processes_service.py +0 -0
  258. {uipath-2.1.37 → uipath-2.1.38}/tests/sdk/services/test_queues_service.py +0 -0
  259. {uipath-2.1.37 → uipath-2.1.38}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
  260. {uipath-2.1.37 → uipath-2.1.38}/tests/sdk/test_bindings_inference.py +0 -0
  261. {uipath-2.1.37 → uipath-2.1.38}/tests/sdk/test_config.py +0 -0
  262. {uipath-2.1.37 → uipath-2.1.38}/tests/sdk/test_overwrites.py +0 -0
  263. {uipath-2.1.37 → uipath-2.1.38}/tests/tracing/test_otel_exporters.py +0 -0
  264. {uipath-2.1.37 → uipath-2.1.38}/tests/tracing/test_span_utils.py +0 -0
  265. {uipath-2.1.37 → uipath-2.1.38}/tests/tracing/test_traced.py +0 -0
  266. {uipath-2.1.37 → uipath-2.1.38}/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.37
3
+ Version: 2.1.38
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.37"
3
+ version = "2.1.38"
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"
@@ -295,7 +295,7 @@ class UiPathDevTerminal(App[Any]):
295
295
  if not updated_chat_message:
296
296
  return
297
297
  details_panel = self.app.query_one("#details-panel", RunDetailsPanel)
298
- details_panel.add_chat_message(updated_chat_message, execution_id)
298
+ details_panel.add_chat_message(event, updated_chat_message, execution_id)
299
299
 
300
300
  def _add_info_log(self, run: ExecutionRun, message: str):
301
301
  """Add info log to run."""
@@ -6,6 +6,7 @@ from textual.containers import Container, Vertical, VerticalScroll
6
6
  from textual.widgets import Input, Markdown
7
7
 
8
8
  from uipath.agent.conversation import (
9
+ UiPathConversationEvent,
9
10
  UiPathConversationMessage,
10
11
  UiPathExternalValue,
11
12
  UiPathInlineValue,
@@ -17,11 +18,11 @@ class Prompt(Markdown):
17
18
 
18
19
 
19
20
  class Response(Markdown):
20
- BORDER_TITLE = "ai"
21
+ BORDER_TITLE = "🤖 ai"
21
22
 
22
23
 
23
24
  class Tool(Markdown):
24
- BORDER_TITLE = "tool"
25
+ BORDER_TITLE = "🛠️ tool"
25
26
 
26
27
 
27
28
  class ChatPanel(Container):
@@ -43,38 +44,40 @@ class ChatPanel(Container):
43
44
  id="chat-input",
44
45
  )
45
46
 
46
- def add_chat_message(self, chat_msg: UiPathConversationMessage) -> None:
47
+ def add_chat_message(
48
+ self, event: UiPathConversationEvent, chat_msg: UiPathConversationMessage
49
+ ) -> None:
47
50
  """Add or update a chat message bubble."""
48
51
  chat_view = self.query_one("#chat-view")
49
52
 
50
53
  widget_cls: Union[type[Prompt], type[Response], type[Tool]]
51
54
  if chat_msg.role == "user":
52
55
  widget_cls = Prompt
53
- prefix = "👤"
54
56
  elif chat_msg.role == "assistant":
55
57
  widget_cls = Response
56
- prefix = "🤖"
57
58
  else:
58
59
  widget_cls = Response
59
- prefix = "⚒️"
60
60
 
61
61
  parts: List[str] = []
62
62
  if chat_msg.content_parts:
63
63
  for part in chat_msg.content_parts:
64
- if part.mime_type.startswith("text/"):
64
+ if (
65
+ part.mime_type.startswith("text/")
66
+ or part.mime_type == "application/json"
67
+ ):
65
68
  if isinstance(part.data, UiPathInlineValue):
66
69
  parts.append(part.data.inline or "")
67
70
  elif isinstance(part.data, UiPathExternalValue):
68
- # maybe fetch from URL or just show a placeholder
69
71
  parts.append(f"[external: {part.data.url}]")
70
72
 
71
73
  text_block = "\n".join(parts).strip()
72
- content_lines = [f"{prefix} {text_block}"] if text_block else []
74
+ content_lines = [f"{text_block}"] if text_block else []
73
75
 
74
76
  if chat_msg.tool_calls:
77
+ widget_cls = Tool
75
78
  for call in chat_msg.tool_calls:
76
- args = call.arguments
77
- content_lines.append(f"🛠 **{call.name}**\n{args}")
79
+ status_icon = "✓" if call.result else "⚙"
80
+ content_lines.append(f" {status_icon} **{call.name}**")
78
81
 
79
82
  if not content_lines:
80
83
  return
@@ -86,7 +89,12 @@ class ChatPanel(Container):
86
89
  last_update = self._last_update_time.get(chat_msg.message_id, 0.0)
87
90
 
88
91
  if existing:
89
- if now - last_update > 0.15:
92
+ should_update = (
93
+ event.exchange
94
+ and event.exchange.message
95
+ and event.exchange.message.end is not None
96
+ )
97
+ if should_update or now - last_update > 0.15:
90
98
  existing.update(content)
91
99
  self._last_update_time[chat_msg.message_id] = now
92
100
  chat_view.scroll_end(animate=False)
@@ -6,7 +6,7 @@ from textual.reactive import reactive
6
6
  from textual.widgets import Input, RichLog, TabbedContent, TabPane, Tree
7
7
  from textual.widgets.tree import TreeNode
8
8
 
9
- from uipath.agent.conversation import UiPathConversationMessage
9
+ from uipath.agent.conversation import UiPathConversationEvent, UiPathConversationMessage
10
10
 
11
11
  from .._models._execution import ExecutionRun
12
12
  from .._models._messages import LogMessage, TraceMessage
@@ -430,13 +430,16 @@ class RunDetailsPanel(Container):
430
430
  logs_log.write(log_msg.message)
431
431
 
432
432
  def add_chat_message(
433
- self, chat_msg: UiPathConversationMessage, run_id: str
433
+ self,
434
+ event: UiPathConversationEvent,
435
+ chat_msg: UiPathConversationMessage,
436
+ run_id: str,
434
437
  ) -> None:
435
438
  """Add a chat message to the display."""
436
439
  if not self.current_run or run_id != self.current_run.id:
437
440
  return
438
441
  chat_panel = self.query_one("#chat-panel", ChatPanel)
439
- chat_panel.add_chat_message(chat_msg)
442
+ chat_panel.add_chat_message(event, chat_msg)
440
443
 
441
444
  def clear_display(self):
442
445
  """Clear both traces and logs display."""
@@ -226,15 +226,16 @@ TextArea.invalid {
226
226
 
227
227
 
228
228
  Prompt {
229
- background: $primary 5%;
229
+ border: wide $primary-background;
230
+ background: $surface;
230
231
  color: $text;
231
232
  margin-right: 8;
232
233
  margin-left: 1;
233
234
  padding: 1 1 0 1;
234
235
  }
235
236
  Response, Tool {
236
- border: wide $success;
237
- background: $success 5%;
237
+ border: wide $primary-background;
238
+ background: $surface;
238
239
  color: $text;
239
240
  margin: 1;
240
241
  margin-left: 8;
@@ -74,9 +74,10 @@ class ConversationAggregator:
74
74
  )
75
75
  self.messages[ev.message_id] = msg
76
76
 
77
- # --- Handle content parts ---
77
+ # --- Handle content parts (text, JSON, etc.) ---
78
78
  if ev.content_part:
79
79
  cp_event = ev.content_part
80
+
80
81
  existing = next(
81
82
  (
82
83
  cp
@@ -86,27 +87,41 @@ class ConversationAggregator:
86
87
  None,
87
88
  )
88
89
 
89
- if cp_event.start:
90
+ # Start of a new content part
91
+ if cp_event.start and not existing:
92
+ new_cp = UiPathConversationContentPart(
93
+ content_part_id=cp_event.content_part_id,
94
+ mime_type=cp_event.start.mime_type,
95
+ data=UiPathInlineValue(inline=""),
96
+ citations=[],
97
+ is_transcript=None,
98
+ is_incomplete=True,
99
+ )
100
+ if msg.content_parts is None:
101
+ msg.content_parts = []
102
+ msg.content_parts.append(new_cp)
103
+ existing = new_cp
104
+
105
+ # Chunk for an existing part (or backfill if start missing)
106
+ if cp_event.chunk:
90
107
  if not existing:
108
+ new_cp = UiPathConversationContentPart(
109
+ content_part_id=cp_event.content_part_id,
110
+ mime_type="text/plain", # fallback if start missing
111
+ data=UiPathInlineValue(inline=""),
112
+ citations=[],
113
+ is_transcript=None,
114
+ is_incomplete=True,
115
+ )
91
116
  if msg.content_parts is None:
92
117
  msg.content_parts = []
93
- msg.content_parts.append(
94
- UiPathConversationContentPart(
95
- content_part_id=cp_event.content_part_id,
96
- mime_type=cp_event.start.mime_type,
97
- data=UiPathInlineValue(
98
- inline=cp_event.chunk.data
99
- if cp_event.chunk and cp_event.chunk.data
100
- else ""
101
- ),
102
- citations=[],
103
- is_transcript=None,
104
- is_incomplete=None,
105
- )
106
- )
107
- if cp_event.chunk and existing:
118
+ msg.content_parts.append(new_cp)
119
+ existing = new_cp
120
+
108
121
  if isinstance(existing.data, UiPathInlineValue):
109
122
  existing.data.inline += cp_event.chunk.data or ""
123
+
124
+ # End of a part
110
125
  if cp_event.end and existing:
111
126
  existing.is_incomplete = bool(cp_event.end.interrupted)
112
127
 
@@ -122,43 +137,31 @@ class ConversationAggregator:
122
137
  None,
123
138
  )
124
139
 
140
+ # Start of a tool call
125
141
  if tc_event.start:
126
142
  if not existing_tool_call:
127
- # create new tool call
128
143
  new_tc = UiPathConversationToolCall(
129
144
  tool_call_id=tc_event.tool_call_id,
130
145
  name=tc_event.start.tool_name,
131
- arguments=tc_event.start.arguments,
146
+ arguments=None, # args will arrive as JSON content part
132
147
  timestamp=tc_event.start.timestamp,
133
148
  result=None,
134
149
  )
135
150
  if msg.tool_calls is None:
136
151
  msg.tool_calls = []
137
152
  msg.tool_calls.append(new_tc)
153
+ existing_tool_call = new_tc
138
154
  else:
139
- # merge/update existing
140
155
  existing_tool_call.name = (
141
156
  tc_event.start.tool_name or existing_tool_call.name
142
157
  )
143
- if tc_event.start.arguments:
144
- # If Inline, append more data
145
- if isinstance(
146
- tc_event.start.arguments, UiPathInlineValue
147
- ) and isinstance(
148
- existing_tool_call.arguments, UiPathInlineValue
149
- ):
150
- existing_tool_call.arguments.inline += (
151
- tc_event.start.arguments.inline or ""
152
- )
153
- else:
154
- existing_tool_call.arguments = tc_event.start.arguments
155
158
  existing_tool_call.timestamp = (
156
159
  tc_event.start.timestamp or existing_tool_call.timestamp
157
160
  )
158
161
 
162
+ # End of a tool call
159
163
  if tc_event.end:
160
164
  if not existing_tool_call:
161
- # Shouldn't happen, but initialize if end comes first
162
165
  existing_tool_call = UiPathConversationToolCall(
163
166
  tool_call_id=tc_event.tool_call_id,
164
167
  name="", # unknown until start seen
@@ -177,7 +180,6 @@ class ConversationAggregator:
177
180
 
178
181
  # --- Update timestamps ---
179
182
  msg.updated_at = self._timestamp(ev)
180
-
181
183
  return msg
182
184
 
183
185
  def _timestamp(self, ev: UiPathConversationMessageEvent) -> str:
@@ -2092,7 +2092,7 @@ wheels = [
2092
2092
 
2093
2093
  [[package]]
2094
2094
  name = "uipath"
2095
- version = "2.1.37"
2095
+ version = "2.1.38"
2096
2096
  source = { editable = "." }
2097
2097
  dependencies = [
2098
2098
  { 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