uipath 2.1.38__tar.gz → 2.1.39__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.38 → uipath-2.1.39}/PKG-INFO +1 -1
  2. {uipath-2.1.38 → uipath-2.1.39}/pyproject.toml +1 -1
  3. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_runtime/_hitl.py +2 -1
  4. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_services/jobs_service.py +48 -0
  5. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_services/processes_service.py +90 -14
  6. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_uipath.py +7 -2
  7. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/models/job.py +2 -0
  8. {uipath-2.1.38 → uipath-2.1.39}/tests/sdk/services/test_jobs_service.py +447 -0
  9. {uipath-2.1.38 → uipath-2.1.39}/tests/sdk/services/test_processes_service.py +205 -1
  10. {uipath-2.1.38 → uipath-2.1.39}/uv.lock +1 -1
  11. {uipath-2.1.38 → uipath-2.1.39}/.cursorrules +0 -0
  12. {uipath-2.1.38 → uipath-2.1.39}/.editorconfig +0 -0
  13. {uipath-2.1.38 → uipath-2.1.39}/.gitattributes +0 -0
  14. {uipath-2.1.38 → uipath-2.1.39}/.github/workflows/cd.yml +0 -0
  15. {uipath-2.1.38 → uipath-2.1.39}/.github/workflows/ci.yml +0 -0
  16. {uipath-2.1.38 → uipath-2.1.39}/.github/workflows/commitlint.yml +0 -0
  17. {uipath-2.1.38 → uipath-2.1.39}/.github/workflows/lint.yml +0 -0
  18. {uipath-2.1.38 → uipath-2.1.39}/.github/workflows/publish-dev.yml +0 -0
  19. {uipath-2.1.38 → uipath-2.1.39}/.github/workflows/publish-docs.yml +0 -0
  20. {uipath-2.1.38 → uipath-2.1.39}/.github/workflows/slack.yml +0 -0
  21. {uipath-2.1.38 → uipath-2.1.39}/.github/workflows/test.yml +0 -0
  22. {uipath-2.1.38 → uipath-2.1.39}/.gitignore +0 -0
  23. {uipath-2.1.38 → uipath-2.1.39}/.pre-commit-config.yaml +0 -0
  24. {uipath-2.1.38 → uipath-2.1.39}/.python-version +0 -0
  25. {uipath-2.1.38 → uipath-2.1.39}/.vscode/extensions.json +0 -0
  26. {uipath-2.1.38 → uipath-2.1.39}/.vscode/launch.json +0 -0
  27. {uipath-2.1.38 → uipath-2.1.39}/.vscode/settings.json +0 -0
  28. {uipath-2.1.38 → uipath-2.1.39}/CONTRIBUTING.md +0 -0
  29. {uipath-2.1.38 → uipath-2.1.39}/LICENSE +0 -0
  30. {uipath-2.1.38 → uipath-2.1.39}/README.md +0 -0
  31. {uipath-2.1.38 → uipath-2.1.39}/docs/CONTRIBUTING.md +0 -0
  32. {uipath-2.1.38 → uipath-2.1.39}/docs/FAQ.md +0 -0
  33. {uipath-2.1.38 → uipath-2.1.39}/docs/assets/env-preparation-failed-dark.png +0 -0
  34. {uipath-2.1.38 → uipath-2.1.39}/docs/assets/env-preparation-failed-light.png +0 -0
  35. {uipath-2.1.38 → uipath-2.1.39}/docs/assets/favicon.png +0 -0
  36. {uipath-2.1.38 → uipath-2.1.39}/docs/assets/logo-dark.svg +0 -0
  37. {uipath-2.1.38 → uipath-2.1.39}/docs/assets/logo-light.svg +0 -0
  38. {uipath-2.1.38 → uipath-2.1.39}/docs/cli/index.md +0 -0
  39. {uipath-2.1.38 → uipath-2.1.39}/docs/core/actions.md +0 -0
  40. {uipath-2.1.38 → uipath-2.1.39}/docs/core/assets/cloud_env_var_dark.gif +0 -0
  41. {uipath-2.1.38 → uipath-2.1.39}/docs/core/assets/cloud_env_var_light.gif +0 -0
  42. {uipath-2.1.38 → uipath-2.1.39}/docs/core/assets/cloud_env_var_secret_dark.png +0 -0
  43. {uipath-2.1.38 → uipath-2.1.39}/docs/core/assets/cloud_env_var_secret_light.png +0 -0
  44. {uipath-2.1.38 → uipath-2.1.39}/docs/core/assets/copy_path_dark.png +0 -0
  45. {uipath-2.1.38 → uipath-2.1.39}/docs/core/assets/copy_path_light.png +0 -0
  46. {uipath-2.1.38 → uipath-2.1.39}/docs/core/assets.md +0 -0
  47. {uipath-2.1.38 → uipath-2.1.39}/docs/core/attachments.md +0 -0
  48. {uipath-2.1.38 → uipath-2.1.39}/docs/core/buckets.md +0 -0
  49. {uipath-2.1.38 → uipath-2.1.39}/docs/core/connections.md +0 -0
  50. {uipath-2.1.38 → uipath-2.1.39}/docs/core/context_grounding.md +0 -0
  51. {uipath-2.1.38 → uipath-2.1.39}/docs/core/environment_variables.md +0 -0
  52. {uipath-2.1.38 → uipath-2.1.39}/docs/core/getting_started.md +0 -0
  53. {uipath-2.1.38 → uipath-2.1.39}/docs/core/jobs.md +0 -0
  54. {uipath-2.1.38 → uipath-2.1.39}/docs/core/llm_gateway.md +0 -0
  55. {uipath-2.1.38 → uipath-2.1.39}/docs/core/processes.md +0 -0
  56. {uipath-2.1.38 → uipath-2.1.39}/docs/core/queues.md +0 -0
  57. {uipath-2.1.38 → uipath-2.1.39}/docs/core/traced.md +0 -0
  58. {uipath-2.1.38 → uipath-2.1.39}/docs/hooks.py +0 -0
  59. {uipath-2.1.38 → uipath-2.1.39}/docs/index.md +0 -0
  60. {uipath-2.1.38 → uipath-2.1.39}/docs/javascripts/extra.js +0 -0
  61. {uipath-2.1.38 → uipath-2.1.39}/docs/overrides/main.html +0 -0
  62. {uipath-2.1.38 → uipath-2.1.39}/docs/overrides/partials/actions.html +0 -0
  63. {uipath-2.1.38 → uipath-2.1.39}/docs/overrides/partials/logo.html +0 -0
  64. {uipath-2.1.38 → uipath-2.1.39}/docs/release_policy.md +0 -0
  65. {uipath-2.1.38 → uipath-2.1.39}/docs/sample_images/google-ADK-agent/agent-output.png +0 -0
  66. {uipath-2.1.38 → uipath-2.1.39}/docs/stylesheets/extra.css +0 -0
  67. {uipath-2.1.38 → uipath-2.1.39}/justfile +0 -0
  68. {uipath-2.1.38 → uipath-2.1.39}/mkdocs.yml +0 -0
  69. {uipath-2.1.38 → uipath-2.1.39}/py.typed +0 -0
  70. {uipath-2.1.38 → uipath-2.1.39}/samples/event-trigger/.python-version +0 -0
  71. {uipath-2.1.38 → uipath-2.1.39}/samples/event-trigger/README.md +0 -0
  72. {uipath-2.1.38 → uipath-2.1.39}/samples/event-trigger/main.py +0 -0
  73. {uipath-2.1.38 → uipath-2.1.39}/samples/event-trigger/pyproject.toml +0 -0
  74. {uipath-2.1.38 → uipath-2.1.39}/samples/google-ADK-agent/.env.example +0 -0
  75. {uipath-2.1.38 → uipath-2.1.39}/samples/google-ADK-agent/README.md +0 -0
  76. {uipath-2.1.38 → uipath-2.1.39}/samples/google-ADK-agent/input.json +0 -0
  77. {uipath-2.1.38 → uipath-2.1.39}/samples/google-ADK-agent/multi_tool_agent/__init__.py +0 -0
  78. {uipath-2.1.38 → uipath-2.1.39}/samples/google-ADK-agent/multi_tool_agent/agent.py +0 -0
  79. {uipath-2.1.38 → uipath-2.1.39}/samples/google-ADK-agent/pyproject.toml +0 -0
  80. {uipath-2.1.38 → uipath-2.1.39}/samples/google-ADK-agent/uv.lock +0 -0
  81. {uipath-2.1.38 → uipath-2.1.39}/scripts/debug_test.py +0 -0
  82. {uipath-2.1.38 → uipath-2.1.39}/scripts/lint_httpx_client.py +0 -0
  83. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/__init__.py +0 -0
  84. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/README.md +0 -0
  85. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/__init__.py +0 -0
  86. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_auth/_auth_server.py +0 -0
  87. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_auth/_client_credentials.py +0 -0
  88. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_auth/_models.py +0 -0
  89. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
  90. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_auth/_portal_service.py +0 -0
  91. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_auth/_url_utils.py +0 -0
  92. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_auth/_utils.py +0 -0
  93. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_auth/auth_config.json +0 -0
  94. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_auth/index.html +0 -0
  95. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_auth/localhost.crt +0 -0
  96. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_auth/localhost.key +0 -0
  97. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_dev/_terminal/__init__.py +0 -0
  98. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_dev/_terminal/_components/_chat.py +0 -0
  99. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_dev/_terminal/_components/_details.py +0 -0
  100. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_dev/_terminal/_components/_history.py +0 -0
  101. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_dev/_terminal/_components/_json_input.py +0 -0
  102. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_dev/_terminal/_components/_new.py +0 -0
  103. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_dev/_terminal/_models/_execution.py +0 -0
  104. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_dev/_terminal/_models/_messages.py +0 -0
  105. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_dev/_terminal/_styles/terminal.tcss +0 -0
  106. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_dev/_terminal/_utils/_chat.py +0 -0
  107. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_dev/_terminal/_utils/_exporter.py +0 -0
  108. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_dev/_terminal/_utils/_logger.py +0 -0
  109. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_evals/_evaluators/__init__.py +0 -0
  110. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_evals/_evaluators/_deterministic_evaluator_base.py +0 -0
  111. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_evals/_evaluators/_evaluator_base.py +0 -0
  112. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_evals/_evaluators/_evaluator_factory.py +0 -0
  113. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_evals/_evaluators/_exact_match_evaluator.py +0 -0
  114. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_evals/_evaluators/_json_similarity_evaluator.py +0 -0
  115. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_evals/_evaluators/_llm_as_judge_evaluator.py +0 -0
  116. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_evals/_evaluators/_trajectory_evaluator.py +0 -0
  117. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_evals/_models/__init__.py +0 -0
  118. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_evals/_models/_evaluation_set.py +0 -0
  119. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_evals/_models/_evaluators.py +0 -0
  120. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_evals/evaluation_service.py +0 -0
  121. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_evals/progress_reporter.py +0 -0
  122. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_push/sw_file_handler.py +0 -0
  123. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_runtime/_contracts.py +0 -0
  124. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_runtime/_escalation.py +0 -0
  125. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_runtime/_logging.py +0 -0
  126. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_runtime/_runtime.py +0 -0
  127. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
  128. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_templates/.rels.template +0 -0
  129. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
  130. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_templates/main.py.template +0 -0
  131. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
  132. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_utils/_common.py +0 -0
  133. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_utils/_console.py +0 -0
  134. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_utils/_constants.py +0 -0
  135. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_utils/_debug.py +0 -0
  136. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_utils/_folders.py +0 -0
  137. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_utils/_input_args.py +0 -0
  138. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
  139. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_utils/_processes.py +0 -0
  140. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_utils/_project_files.py +0 -0
  141. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_utils/_studio_project.py +0 -0
  142. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_utils/_tracing.py +0 -0
  143. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/_utils/_uv_helpers.py +0 -0
  144. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/cli_auth.py +0 -0
  145. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/cli_deploy.py +0 -0
  146. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/cli_dev.py +0 -0
  147. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/cli_eval.py +0 -0
  148. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/cli_init.py +0 -0
  149. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/cli_invoke.py +0 -0
  150. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/cli_new.py +0 -0
  151. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/cli_pack.py +0 -0
  152. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/cli_publish.py +0 -0
  153. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/cli_pull.py +0 -0
  154. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/cli_push.py +0 -0
  155. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/cli_run.py +0 -0
  156. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/middlewares.py +0 -0
  157. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_cli/spinner.py +0 -0
  158. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_config.py +0 -0
  159. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_execution_context.py +0 -0
  160. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_folder_context.py +0 -0
  161. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_services/__init__.py +0 -0
  162. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_services/_base_service.py +0 -0
  163. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_services/actions_service.py +0 -0
  164. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_services/api_client.py +0 -0
  165. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_services/assets_service.py +0 -0
  166. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_services/attachments_service.py +0 -0
  167. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_services/buckets_service.py +0 -0
  168. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_services/connections_service.py +0 -0
  169. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_services/context_grounding_service.py +0 -0
  170. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_services/folder_service.py +0 -0
  171. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_services/llm_gateway_service.py +0 -0
  172. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_services/queues_service.py +0 -0
  173. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_utils/__init__.py +0 -0
  174. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_utils/_endpoint.py +0 -0
  175. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_utils/_infer_bindings.py +0 -0
  176. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_utils/_logs.py +0 -0
  177. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_utils/_read_overwrites.py +0 -0
  178. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_utils/_request_override.py +0 -0
  179. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_utils/_request_spec.py +0 -0
  180. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_utils/_ssl_context.py +0 -0
  181. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_utils/_url.py +0 -0
  182. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_utils/_user_agent.py +0 -0
  183. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/_utils/constants.py +0 -0
  184. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/agent/conversation/__init__.py +0 -0
  185. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/agent/conversation/async_stream.py +0 -0
  186. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/agent/conversation/citation.py +0 -0
  187. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/agent/conversation/content.py +0 -0
  188. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/agent/conversation/conversation.py +0 -0
  189. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/agent/conversation/event.py +0 -0
  190. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/agent/conversation/exchange.py +0 -0
  191. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/agent/conversation/message.py +0 -0
  192. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/agent/conversation/meta.py +0 -0
  193. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/agent/conversation/tool.py +0 -0
  194. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/models/__init__.py +0 -0
  195. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/models/action_schema.py +0 -0
  196. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/models/actions.py +0 -0
  197. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/models/assets.py +0 -0
  198. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/models/attachment.py +0 -0
  199. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/models/buckets.py +0 -0
  200. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/models/connections.py +0 -0
  201. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/models/context_grounding.py +0 -0
  202. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/models/context_grounding_index.py +0 -0
  203. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/models/errors.py +0 -0
  204. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/models/exceptions.py +0 -0
  205. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/models/interrupt_models.py +0 -0
  206. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/models/llm_gateway.py +0 -0
  207. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/models/processes.py +0 -0
  208. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/models/queues.py +0 -0
  209. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/py.typed +0 -0
  210. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/telemetry/__init__.py +0 -0
  211. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/telemetry/_constants.py +0 -0
  212. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/telemetry/_track.py +0 -0
  213. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/tracing/__init__.py +0 -0
  214. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/tracing/_otel_exporters.py +0 -0
  215. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/tracing/_traced.py +0 -0
  216. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/tracing/_utils.py +0 -0
  217. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/utils/__init__.py +0 -0
  218. {uipath-2.1.38 → uipath-2.1.39}/src/uipath/utils/_endpoints_manager.py +0 -0
  219. {uipath-2.1.38 → uipath-2.1.39}/tests/__init__.py +0 -0
  220. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/conftest.py +0 -0
  221. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/evaluators/test_json_similarity_evaluator.py +0 -0
  222. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/mocks/bindings_script.py +0 -0
  223. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/mocks/pyproject.toml +0 -0
  224. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/mocks/simple_script.py +0 -0
  225. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/mocks/uipath-mock.json +0 -0
  226. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/mocks/uipath-simple-script-mock.json +0 -0
  227. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/test_auth.py +0 -0
  228. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/test_hitl.py +0 -0
  229. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/test_init.py +0 -0
  230. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/test_input_args.py +0 -0
  231. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/test_invoke.py +0 -0
  232. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/test_new.py +0 -0
  233. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/test_pack.py +0 -0
  234. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/test_portal_service_ensure_valid_token.py +0 -0
  235. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/test_portal_service_refresh_token.py +0 -0
  236. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/test_publish.py +0 -0
  237. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/test_pull.py +0 -0
  238. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/test_push.py +0 -0
  239. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/test_run.py +0 -0
  240. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/test_utils.py +0 -0
  241. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/utils/common.py +0 -0
  242. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/utils/project_details.py +0 -0
  243. {uipath-2.1.38 → uipath-2.1.39}/tests/cli/utils/uipath_json.py +0 -0
  244. {uipath-2.1.38 → uipath-2.1.39}/tests/conftest.py +0 -0
  245. {uipath-2.1.38 → uipath-2.1.39}/tests/sdk/services/conftest.py +0 -0
  246. {uipath-2.1.38 → uipath-2.1.39}/tests/sdk/services/test_actions_service.py +0 -0
  247. {uipath-2.1.38 → uipath-2.1.39}/tests/sdk/services/test_api_client.py +0 -0
  248. {uipath-2.1.38 → uipath-2.1.39}/tests/sdk/services/test_assets_service.py +0 -0
  249. {uipath-2.1.38 → uipath-2.1.39}/tests/sdk/services/test_attachments_service.py +0 -0
  250. {uipath-2.1.38 → uipath-2.1.39}/tests/sdk/services/test_base_service.py +0 -0
  251. {uipath-2.1.38 → uipath-2.1.39}/tests/sdk/services/test_buckets_service.py +0 -0
  252. {uipath-2.1.38 → uipath-2.1.39}/tests/sdk/services/test_connections_service.py +0 -0
  253. {uipath-2.1.38 → uipath-2.1.39}/tests/sdk/services/test_context_grounding_service.py +0 -0
  254. {uipath-2.1.38 → uipath-2.1.39}/tests/sdk/services/test_folder_service.py +0 -0
  255. {uipath-2.1.38 → uipath-2.1.39}/tests/sdk/services/test_llm_integration.py +0 -0
  256. {uipath-2.1.38 → uipath-2.1.39}/tests/sdk/services/test_llm_schema_cleanup.py +0 -0
  257. {uipath-2.1.38 → uipath-2.1.39}/tests/sdk/services/test_llm_service.py +0 -0
  258. {uipath-2.1.38 → uipath-2.1.39}/tests/sdk/services/test_queues_service.py +0 -0
  259. {uipath-2.1.38 → uipath-2.1.39}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
  260. {uipath-2.1.38 → uipath-2.1.39}/tests/sdk/test_bindings_inference.py +0 -0
  261. {uipath-2.1.38 → uipath-2.1.39}/tests/sdk/test_config.py +0 -0
  262. {uipath-2.1.38 → uipath-2.1.39}/tests/sdk/test_overwrites.py +0 -0
  263. {uipath-2.1.38 → uipath-2.1.39}/tests/tracing/test_otel_exporters.py +0 -0
  264. {uipath-2.1.38 → uipath-2.1.39}/tests/tracing/test_span_utils.py +0 -0
  265. {uipath-2.1.38 → uipath-2.1.39}/tests/tracing/test_traced.py +0 -0
  266. {uipath-2.1.38 → uipath-2.1.39}/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.38
3
+ Version: 2.1.39
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.38"
3
+ version = "2.1.39"
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"
@@ -92,7 +92,8 @@ class HitlReader:
92
92
  _try_convert_to_json_format(str(job.job_error or job.info))
93
93
  or "Job error unavailable.",
94
94
  )
95
- return _try_convert_to_json_format(job.output_arguments)
95
+ output_data = await uipath.jobs.extract_output_async(job)
96
+ return _try_convert_to_json_format(output_data)
96
97
 
97
98
  case UiPathResumeTriggerType.API:
98
99
  if resume_trigger.api_resume and resume_trigger.api_resume.inbox_id:
@@ -351,6 +351,54 @@ class JobsService(FolderContext, BaseService):
351
351
  },
352
352
  )
353
353
 
354
+ def extract_output(self, job: Job) -> Optional[str]:
355
+ """Get the actual output data, downloading from attachment if necessary.
356
+
357
+ Args:
358
+ job: The job instance to fetch output data from.
359
+
360
+ Returns:
361
+ Parsed output arguments as dictionary, or None if no output
362
+ """
363
+ if job.output_file:
364
+ # Large output stored as attachment
365
+ with tempfile.TemporaryDirectory() as temp_dir:
366
+ temp_path = Path(temp_dir) / f"output_{job.output_file}"
367
+ self._attachments_service.download(
368
+ key=uuid.UUID(job.output_file), destination_path=temp_path
369
+ )
370
+ with open(temp_path, "r", encoding="utf-8") as f:
371
+ return f.read()
372
+ elif job.output_arguments:
373
+ # Small output stored inline
374
+ return job.output_arguments
375
+ else:
376
+ return None
377
+
378
+ async def extract_output_async(self, job: Job) -> Optional[str]:
379
+ """Asynchronously fetch the actual output data, downloading from attachment if necessary.
380
+
381
+ Args:
382
+ job: The job instance to fetch output data from.
383
+
384
+ Returns:
385
+ Parsed output arguments as dictionary, or None if no output
386
+ """
387
+ if job.output_file:
388
+ # Large output stored as attachment
389
+ with tempfile.TemporaryDirectory() as temp_dir:
390
+ temp_path = Path(temp_dir) / f"output_{job.output_file}"
391
+ await self._attachments_service.download_async(
392
+ key=uuid.UUID(job.output_file), destination_path=temp_path
393
+ )
394
+ with open(temp_path, "r", encoding="utf-8") as f:
395
+ return f.read()
396
+ elif job.output_arguments:
397
+ # Small output stored inline
398
+ return job.output_arguments
399
+ else:
400
+ return None
401
+
354
402
  def _resume_spec(
355
403
  self,
356
404
  *,
@@ -1,5 +1,6 @@
1
1
  import json
2
2
  import os
3
+ import uuid
3
4
  from typing import Any, Dict, Optional
4
5
 
5
6
  from .._config import Config
@@ -9,6 +10,7 @@ from .._utils import Endpoint, RequestSpec, header_folder, infer_bindings
9
10
  from .._utils.constants import ENV_JOB_ID, HEADER_JOB_KEY
10
11
  from ..models.job import Job
11
12
  from ..tracing._traced import traced
13
+ from . import AttachmentsService
12
14
  from ._base_service import BaseService
13
15
 
14
16
 
@@ -20,7 +22,13 @@ class ProcessesService(FolderContext, BaseService):
20
22
  specific business tasks.
21
23
  """
22
24
 
23
- def __init__(self, config: Config, execution_context: ExecutionContext) -> None:
25
+ def __init__(
26
+ self,
27
+ config: Config,
28
+ execution_context: ExecutionContext,
29
+ attachment_service: AttachmentsService,
30
+ ) -> None:
31
+ self._attachments_service = attachment_service
24
32
  super().__init__(config=config, execution_context=execution_context)
25
33
 
26
34
  @traced(name="processes_invoke", run_type="uipath")
@@ -65,9 +73,14 @@ class ProcessesService(FolderContext, BaseService):
65
73
  client.processes.invoke(name="MyProcess", folder_path="my-folder-key")
66
74
  ```
67
75
  """
76
+ input_data = self._handle_input_arguments(
77
+ input_arguments=input_arguments,
78
+ folder_key=folder_key,
79
+ folder_path=folder_path,
80
+ )
68
81
  spec = self._invoke_spec(
69
82
  name,
70
- input_arguments=input_arguments,
83
+ input_data=input_data,
71
84
  folder_key=folder_key,
72
85
  folder_path=folder_path,
73
86
  )
@@ -118,9 +131,14 @@ class ProcessesService(FolderContext, BaseService):
118
131
  asyncio.run(main())
119
132
  ```
120
133
  """
134
+ input_data = await self._handle_input_arguments_async(
135
+ input_arguments=input_arguments,
136
+ folder_key=folder_key,
137
+ folder_path=folder_path,
138
+ )
121
139
  spec = self._invoke_spec(
122
140
  name,
123
- input_arguments=input_arguments,
141
+ input_data=input_data,
124
142
  folder_key=folder_key,
125
143
  folder_path=folder_path,
126
144
  )
@@ -138,29 +156,87 @@ class ProcessesService(FolderContext, BaseService):
138
156
  def custom_headers(self) -> Dict[str, str]:
139
157
  return self.folder_headers
140
158
 
159
+ def _handle_input_arguments(
160
+ self,
161
+ input_arguments: Optional[Dict[str, Any]] = None,
162
+ *,
163
+ folder_key: Optional[str] = None,
164
+ folder_path: Optional[str] = None,
165
+ ) -> Dict[str, str]:
166
+ """Handle input arguments, storing as attachment if they exceed size limit.
167
+
168
+ Args:
169
+ input_arguments: The input arguments to process
170
+ folder_key: The folder key for attachment storage
171
+ folder_path: The folder path for attachment storage
172
+
173
+ Returns:
174
+ Dict containing either "InputArguments" or "InputFile" key
175
+ """
176
+ if not input_arguments:
177
+ return {"InputArguments": json.dumps({})}
178
+
179
+ # If payload exceeds limit, store as attachment
180
+ payload_json = json.dumps(input_arguments)
181
+ if len(payload_json) > 10000: # 10k char limit
182
+ attachment_id = self._attachments_service.upload(
183
+ name=f"{uuid.uuid4()}.json",
184
+ content=payload_json,
185
+ folder_key=folder_key,
186
+ folder_path=folder_path,
187
+ )
188
+ return {"InputFile": str(attachment_id)}
189
+ else:
190
+ return {"InputArguments": payload_json}
191
+
192
+ async def _handle_input_arguments_async(
193
+ self,
194
+ input_arguments: Optional[Dict[str, Any]] = None,
195
+ *,
196
+ folder_key: Optional[str] = None,
197
+ folder_path: Optional[str] = None,
198
+ ) -> Dict[str, str]:
199
+ """Handle input arguments, storing as attachment if they exceed size limit.
200
+
201
+ Args:
202
+ input_arguments: The input arguments to process
203
+ folder_key: The folder key for attachment storage
204
+ folder_path: The folder path for attachment storage
205
+
206
+ Returns:
207
+ Dict containing either "InputArguments" or "InputFile" key
208
+ """
209
+ if not input_arguments:
210
+ return {"InputArguments": json.dumps({})}
211
+
212
+ # If payload exceeds limit, store as attachment
213
+ payload_json = json.dumps(input_arguments)
214
+ if len(payload_json) > 10000: # 10k char limit
215
+ attachment_id = await self._attachments_service.upload_async(
216
+ name=f"{uuid.uuid4()}.json",
217
+ content=payload_json,
218
+ folder_key=folder_key,
219
+ folder_path=folder_path,
220
+ )
221
+ return {"InputFile": str(attachment_id)}
222
+ else:
223
+ return {"InputArguments": payload_json}
224
+
141
225
  def _invoke_spec(
142
226
  self,
143
227
  name: str,
144
- input_arguments: Optional[Dict[str, Any]] = None,
228
+ input_data: Optional[Dict[str, Any]] = None,
145
229
  *,
146
230
  folder_key: Optional[str] = None,
147
231
  folder_path: Optional[str] = None,
148
232
  ) -> RequestSpec:
233
+ input_dict = {"startInfo": {"ReleaseName": name, **(input_data or {})}}
149
234
  request_scope = RequestSpec(
150
235
  method="POST",
151
236
  endpoint=Endpoint(
152
237
  "/orchestrator_/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs"
153
238
  ),
154
- content=str(
155
- {
156
- "startInfo": {
157
- "ReleaseName": name,
158
- "InputArguments": json.dumps(input_arguments)
159
- if input_arguments
160
- else "{}",
161
- }
162
- }
163
- ),
239
+ content=str(input_dict),
164
240
  headers={
165
241
  **header_folder(folder_key, folder_path),
166
242
  },
@@ -57,6 +57,7 @@ class UiPath:
57
57
  raise SecretMissingError() from e
58
58
  self._folders_service: Optional[FolderService] = None
59
59
  self._buckets_service: Optional[BucketsService] = None
60
+ self._attachments_service: Optional[AttachmentsService] = None
60
61
 
61
62
  setup_logging(debug)
62
63
  self._execution_context = ExecutionContext()
@@ -71,11 +72,15 @@ class UiPath:
71
72
 
72
73
  @property
73
74
  def attachments(self) -> AttachmentsService:
74
- return AttachmentsService(self._config, self._execution_context)
75
+ if not self._attachments_service:
76
+ self._attachments_service = AttachmentsService(
77
+ self._config, self._execution_context
78
+ )
79
+ return self._attachments_service
75
80
 
76
81
  @property
77
82
  def processes(self) -> ProcessesService:
78
- return ProcessesService(self._config, self._execution_context)
83
+ return ProcessesService(self._config, self._execution_context, self.attachments)
79
84
 
80
85
  @property
81
86
  def actions(self) -> ActionsService:
@@ -58,7 +58,9 @@ class Job(BaseModel):
58
58
  deleter_user_id: Optional[int] = Field(default=None, alias="DeleterUserId")
59
59
  is_deleted: Optional[bool] = Field(default=None, alias="IsDeleted")
60
60
  input_arguments: Optional[str] = Field(default=None, alias="InputArguments")
61
+ input_file: Optional[str] = Field(default=None, alias="InputFile")
61
62
  output_arguments: Optional[str] = Field(default=None, alias="OutputArguments")
63
+ output_file: Optional[str] = Field(default=None, alias="OutputFile")
62
64
  host_machine_name: Optional[str] = Field(default=None, alias="HostMachineName")
63
65
  has_errors: Optional[bool] = Field(default=None, alias="HasErrors")
64
66
  has_warnings: Optional[bool] = Field(default=None, alias="HasWarnings")