uipath 2.1.49__tar.gz → 2.1.50__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 (278) hide show
  1. {uipath-2.1.49 → uipath-2.1.50}/PKG-INFO +1 -1
  2. {uipath-2.1.49 → uipath-2.1.50}/pyproject.toml +1 -1
  3. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_services/__init__.py +2 -0
  4. uipath-2.1.50/src/uipath/_services/entities_service.py +383 -0
  5. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_uipath.py +5 -0
  6. uipath-2.1.50/src/uipath/models/entities.py +286 -0
  7. uipath-2.1.50/tests/sdk/services/test_entities_service.py +263 -0
  8. {uipath-2.1.49 → uipath-2.1.50}/uv.lock +1 -1
  9. {uipath-2.1.49 → uipath-2.1.50}/.cursorrules +0 -0
  10. {uipath-2.1.49 → uipath-2.1.50}/.editorconfig +0 -0
  11. {uipath-2.1.49 → uipath-2.1.50}/.gitattributes +0 -0
  12. {uipath-2.1.49 → uipath-2.1.50}/.github/workflows/cd.yml +0 -0
  13. {uipath-2.1.49 → uipath-2.1.50}/.github/workflows/ci.yml +0 -0
  14. {uipath-2.1.49 → uipath-2.1.50}/.github/workflows/commitlint.yml +0 -0
  15. {uipath-2.1.49 → uipath-2.1.50}/.github/workflows/lint.yml +0 -0
  16. {uipath-2.1.49 → uipath-2.1.50}/.github/workflows/publish-dev.yml +0 -0
  17. {uipath-2.1.49 → uipath-2.1.50}/.github/workflows/publish-docs.yml +0 -0
  18. {uipath-2.1.49 → uipath-2.1.50}/.github/workflows/slack.yml +0 -0
  19. {uipath-2.1.49 → uipath-2.1.50}/.github/workflows/test.yml +0 -0
  20. {uipath-2.1.49 → uipath-2.1.50}/.gitignore +0 -0
  21. {uipath-2.1.49 → uipath-2.1.50}/.pre-commit-config.yaml +0 -0
  22. {uipath-2.1.49 → uipath-2.1.50}/.python-version +0 -0
  23. {uipath-2.1.49 → uipath-2.1.50}/.vscode/extensions.json +0 -0
  24. {uipath-2.1.49 → uipath-2.1.50}/.vscode/launch.json +0 -0
  25. {uipath-2.1.49 → uipath-2.1.50}/.vscode/settings.json +0 -0
  26. {uipath-2.1.49 → uipath-2.1.50}/CONTRIBUTING.md +0 -0
  27. {uipath-2.1.49 → uipath-2.1.50}/LICENSE +0 -0
  28. {uipath-2.1.49 → uipath-2.1.50}/README.md +0 -0
  29. {uipath-2.1.49 → uipath-2.1.50}/docs/CONTRIBUTING.md +0 -0
  30. {uipath-2.1.49 → uipath-2.1.50}/docs/FAQ.md +0 -0
  31. {uipath-2.1.49 → uipath-2.1.50}/docs/assets/env-preparation-failed-dark.png +0 -0
  32. {uipath-2.1.49 → uipath-2.1.50}/docs/assets/env-preparation-failed-light.png +0 -0
  33. {uipath-2.1.49 → uipath-2.1.50}/docs/assets/favicon.png +0 -0
  34. {uipath-2.1.49 → uipath-2.1.50}/docs/assets/logo-dark.svg +0 -0
  35. {uipath-2.1.49 → uipath-2.1.50}/docs/assets/logo-light.svg +0 -0
  36. {uipath-2.1.49 → uipath-2.1.50}/docs/cli/index.md +0 -0
  37. {uipath-2.1.49 → uipath-2.1.50}/docs/core/actions.md +0 -0
  38. {uipath-2.1.49 → uipath-2.1.50}/docs/core/assets/cloud_env_var_dark.gif +0 -0
  39. {uipath-2.1.49 → uipath-2.1.50}/docs/core/assets/cloud_env_var_light.gif +0 -0
  40. {uipath-2.1.49 → uipath-2.1.50}/docs/core/assets/cloud_env_var_secret_dark.png +0 -0
  41. {uipath-2.1.49 → uipath-2.1.50}/docs/core/assets/cloud_env_var_secret_light.png +0 -0
  42. {uipath-2.1.49 → uipath-2.1.50}/docs/core/assets/copy_path_dark.png +0 -0
  43. {uipath-2.1.49 → uipath-2.1.50}/docs/core/assets/copy_path_light.png +0 -0
  44. {uipath-2.1.49 → uipath-2.1.50}/docs/core/assets.md +0 -0
  45. {uipath-2.1.49 → uipath-2.1.50}/docs/core/attachments.md +0 -0
  46. {uipath-2.1.49 → uipath-2.1.50}/docs/core/buckets.md +0 -0
  47. {uipath-2.1.49 → uipath-2.1.50}/docs/core/connections.md +0 -0
  48. {uipath-2.1.49 → uipath-2.1.50}/docs/core/context_grounding.md +0 -0
  49. {uipath-2.1.49 → uipath-2.1.50}/docs/core/environment_variables.md +0 -0
  50. {uipath-2.1.49 → uipath-2.1.50}/docs/core/getting_started.md +0 -0
  51. {uipath-2.1.49 → uipath-2.1.50}/docs/core/jobs.md +0 -0
  52. {uipath-2.1.49 → uipath-2.1.50}/docs/core/llm_gateway.md +0 -0
  53. {uipath-2.1.49 → uipath-2.1.50}/docs/core/processes.md +0 -0
  54. {uipath-2.1.49 → uipath-2.1.50}/docs/core/queues.md +0 -0
  55. {uipath-2.1.49 → uipath-2.1.50}/docs/core/traced.md +0 -0
  56. {uipath-2.1.49 → uipath-2.1.50}/docs/hooks.py +0 -0
  57. {uipath-2.1.49 → uipath-2.1.50}/docs/index.md +0 -0
  58. {uipath-2.1.49 → uipath-2.1.50}/docs/javascripts/extra.js +0 -0
  59. {uipath-2.1.49 → uipath-2.1.50}/docs/overrides/main.html +0 -0
  60. {uipath-2.1.49 → uipath-2.1.50}/docs/overrides/partials/actions.html +0 -0
  61. {uipath-2.1.49 → uipath-2.1.50}/docs/overrides/partials/logo.html +0 -0
  62. {uipath-2.1.49 → uipath-2.1.50}/docs/release_policy.md +0 -0
  63. {uipath-2.1.49 → uipath-2.1.50}/docs/sample_images/google-ADK-agent/agent-output.png +0 -0
  64. {uipath-2.1.49 → uipath-2.1.50}/docs/stylesheets/extra.css +0 -0
  65. {uipath-2.1.49 → uipath-2.1.50}/justfile +0 -0
  66. {uipath-2.1.49 → uipath-2.1.50}/mkdocs.yml +0 -0
  67. {uipath-2.1.49 → uipath-2.1.50}/py.typed +0 -0
  68. {uipath-2.1.49 → uipath-2.1.50}/samples/calculator/README.md +0 -0
  69. {uipath-2.1.49 → uipath-2.1.50}/samples/calculator/main.py +0 -0
  70. {uipath-2.1.49 → uipath-2.1.50}/samples/calculator/pyproject.toml +0 -0
  71. {uipath-2.1.49 → uipath-2.1.50}/samples/event-trigger/.python-version +0 -0
  72. {uipath-2.1.49 → uipath-2.1.50}/samples/event-trigger/README.md +0 -0
  73. {uipath-2.1.49 → uipath-2.1.50}/samples/event-trigger/main.py +0 -0
  74. {uipath-2.1.49 → uipath-2.1.50}/samples/event-trigger/pyproject.toml +0 -0
  75. {uipath-2.1.49 → uipath-2.1.50}/samples/google-ADK-agent/.env.example +0 -0
  76. {uipath-2.1.49 → uipath-2.1.50}/samples/google-ADK-agent/README.md +0 -0
  77. {uipath-2.1.49 → uipath-2.1.50}/samples/google-ADK-agent/input.json +0 -0
  78. {uipath-2.1.49 → uipath-2.1.50}/samples/google-ADK-agent/multi_tool_agent/__init__.py +0 -0
  79. {uipath-2.1.49 → uipath-2.1.50}/samples/google-ADK-agent/multi_tool_agent/agent.py +0 -0
  80. {uipath-2.1.49 → uipath-2.1.50}/samples/google-ADK-agent/pyproject.toml +0 -0
  81. {uipath-2.1.49 → uipath-2.1.50}/samples/google-ADK-agent/uv.lock +0 -0
  82. {uipath-2.1.49 → uipath-2.1.50}/scripts/debug_test.py +0 -0
  83. {uipath-2.1.49 → uipath-2.1.50}/scripts/lint_httpx_client.py +0 -0
  84. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/__init__.py +0 -0
  85. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/README.md +0 -0
  86. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/__init__.py +0 -0
  87. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_auth/_auth_server.py +0 -0
  88. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_auth/_auth_service.py +0 -0
  89. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_auth/_client_credentials.py +0 -0
  90. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_auth/_models.py +0 -0
  91. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
  92. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_auth/_portal_service.py +0 -0
  93. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_auth/_url_utils.py +0 -0
  94. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_auth/_utils.py +0 -0
  95. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_auth/auth_config.json +0 -0
  96. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_auth/index.html +0 -0
  97. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_auth/localhost.crt +0 -0
  98. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_auth/localhost.key +0 -0
  99. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_dev/_terminal/__init__.py +0 -0
  100. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_dev/_terminal/_components/_chat.py +0 -0
  101. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_dev/_terminal/_components/_details.py +0 -0
  102. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_dev/_terminal/_components/_history.py +0 -0
  103. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_dev/_terminal/_components/_json_input.py +0 -0
  104. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_dev/_terminal/_components/_new.py +0 -0
  105. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_dev/_terminal/_models/_execution.py +0 -0
  106. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_dev/_terminal/_models/_messages.py +0 -0
  107. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_dev/_terminal/_styles/terminal.tcss +0 -0
  108. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_dev/_terminal/_utils/_chat.py +0 -0
  109. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_dev/_terminal/_utils/_exporter.py +0 -0
  110. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_dev/_terminal/_utils/_logger.py +0 -0
  111. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_evals/_evaluators/__init__.py +0 -0
  112. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_evals/_evaluators/_deterministic_evaluator_base.py +0 -0
  113. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_evals/_evaluators/_evaluator_base.py +0 -0
  114. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_evals/_evaluators/_evaluator_factory.py +0 -0
  115. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_evals/_evaluators/_exact_match_evaluator.py +0 -0
  116. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_evals/_evaluators/_json_similarity_evaluator.py +0 -0
  117. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_evals/_evaluators/_llm_as_judge_evaluator.py +0 -0
  118. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_evals/_evaluators/_trajectory_evaluator.py +0 -0
  119. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_evals/_models/__init__.py +0 -0
  120. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_evals/_models/_agent_execution_output.py +0 -0
  121. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_evals/_models/_evaluation_set.py +0 -0
  122. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_evals/_models/_evaluators.py +0 -0
  123. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_evals/_runtime.py +0 -0
  124. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_evals/progress_reporter.py +0 -0
  125. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_push/sw_file_handler.py +0 -0
  126. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_runtime/_contracts.py +0 -0
  127. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_runtime/_escalation.py +0 -0
  128. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_runtime/_hitl.py +0 -0
  129. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_runtime/_logging.py +0 -0
  130. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_runtime/_runtime.py +0 -0
  131. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_runtime/_script_executor.py +0 -0
  132. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
  133. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_templates/.rels.template +0 -0
  134. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
  135. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_templates/main.py.template +0 -0
  136. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
  137. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_utils/_common.py +0 -0
  138. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_utils/_console.py +0 -0
  139. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_utils/_constants.py +0 -0
  140. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_utils/_debug.py +0 -0
  141. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_utils/_eval_set.py +0 -0
  142. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_utils/_folders.py +0 -0
  143. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_utils/_input_args.py +0 -0
  144. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
  145. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_utils/_processes.py +0 -0
  146. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_utils/_project_files.py +0 -0
  147. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_utils/_studio_project.py +0 -0
  148. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_utils/_tracing.py +0 -0
  149. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/_utils/_uv_helpers.py +0 -0
  150. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/cli_auth.py +0 -0
  151. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/cli_deploy.py +0 -0
  152. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/cli_dev.py +0 -0
  153. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/cli_eval.py +0 -0
  154. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/cli_init.py +0 -0
  155. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/cli_invoke.py +0 -0
  156. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/cli_new.py +0 -0
  157. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/cli_pack.py +0 -0
  158. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/cli_publish.py +0 -0
  159. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/cli_pull.py +0 -0
  160. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/cli_push.py +0 -0
  161. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/cli_run.py +0 -0
  162. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/middlewares.py +0 -0
  163. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_cli/spinner.py +0 -0
  164. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_config.py +0 -0
  165. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_execution_context.py +0 -0
  166. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_folder_context.py +0 -0
  167. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_services/_base_service.py +0 -0
  168. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_services/actions_service.py +0 -0
  169. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_services/api_client.py +0 -0
  170. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_services/assets_service.py +0 -0
  171. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_services/attachments_service.py +0 -0
  172. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_services/buckets_service.py +0 -0
  173. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_services/connections_service.py +0 -0
  174. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_services/context_grounding_service.py +0 -0
  175. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_services/folder_service.py +0 -0
  176. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_services/jobs_service.py +0 -0
  177. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_services/llm_gateway_service.py +0 -0
  178. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_services/processes_service.py +0 -0
  179. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_services/queues_service.py +0 -0
  180. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_utils/__init__.py +0 -0
  181. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_utils/_endpoint.py +0 -0
  182. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_utils/_infer_bindings.py +0 -0
  183. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_utils/_logs.py +0 -0
  184. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_utils/_read_overwrites.py +0 -0
  185. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_utils/_request_override.py +0 -0
  186. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_utils/_request_spec.py +0 -0
  187. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_utils/_ssl_context.py +0 -0
  188. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_utils/_url.py +0 -0
  189. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_utils/_user_agent.py +0 -0
  190. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/_utils/constants.py +0 -0
  191. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/agent/conversation/__init__.py +0 -0
  192. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/agent/conversation/async_stream.py +0 -0
  193. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/agent/conversation/citation.py +0 -0
  194. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/agent/conversation/content.py +0 -0
  195. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/agent/conversation/conversation.py +0 -0
  196. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/agent/conversation/event.py +0 -0
  197. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/agent/conversation/exchange.py +0 -0
  198. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/agent/conversation/message.py +0 -0
  199. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/agent/conversation/meta.py +0 -0
  200. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/agent/conversation/tool.py +0 -0
  201. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/eval/_helpers/__init__.py +0 -0
  202. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/eval/_helpers/helpers.py +0 -0
  203. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/models/__init__.py +0 -0
  204. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/models/action_schema.py +0 -0
  205. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/models/actions.py +0 -0
  206. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/models/assets.py +0 -0
  207. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/models/attachment.py +0 -0
  208. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/models/buckets.py +0 -0
  209. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/models/connections.py +0 -0
  210. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/models/context_grounding.py +0 -0
  211. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/models/context_grounding_index.py +0 -0
  212. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/models/errors.py +0 -0
  213. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/models/exceptions.py +0 -0
  214. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/models/interrupt_models.py +0 -0
  215. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/models/job.py +0 -0
  216. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/models/llm_gateway.py +0 -0
  217. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/models/processes.py +0 -0
  218. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/models/queues.py +0 -0
  219. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/py.typed +0 -0
  220. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/telemetry/__init__.py +0 -0
  221. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/telemetry/_constants.py +0 -0
  222. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/telemetry/_track.py +0 -0
  223. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/tracing/__init__.py +0 -0
  224. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/tracing/_otel_exporters.py +0 -0
  225. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/tracing/_traced.py +0 -0
  226. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/tracing/_utils.py +0 -0
  227. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/utils/__init__.py +0 -0
  228. {uipath-2.1.49 → uipath-2.1.50}/src/uipath/utils/_endpoints_manager.py +0 -0
  229. {uipath-2.1.49 → uipath-2.1.50}/tests/__init__.py +0 -0
  230. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/conftest.py +0 -0
  231. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/evaluators/test_json_similarity_evaluator.py +0 -0
  232. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/mocks/bindings_script.py +0 -0
  233. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/mocks/pyproject.toml +0 -0
  234. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/mocks/simple_script.py +0 -0
  235. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/mocks/uipath-mock.json +0 -0
  236. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/mocks/uipath-simple-script-mock.json +0 -0
  237. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/test_auth.py +0 -0
  238. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/test_hitl.py +0 -0
  239. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/test_init.py +0 -0
  240. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/test_input_args.py +0 -0
  241. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/test_invoke.py +0 -0
  242. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/test_new.py +0 -0
  243. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/test_pack.py +0 -0
  244. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/test_portal_service_ensure_valid_token.py +0 -0
  245. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/test_portal_service_refresh_token.py +0 -0
  246. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/test_publish.py +0 -0
  247. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/test_pull.py +0 -0
  248. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/test_push.py +0 -0
  249. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/test_run.py +0 -0
  250. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/test_utils.py +0 -0
  251. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/utils/common.py +0 -0
  252. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/utils/project_details.py +0 -0
  253. {uipath-2.1.49 → uipath-2.1.50}/tests/cli/utils/uipath_json.py +0 -0
  254. {uipath-2.1.49 → uipath-2.1.50}/tests/conftest.py +0 -0
  255. {uipath-2.1.49 → uipath-2.1.50}/tests/sdk/services/conftest.py +0 -0
  256. {uipath-2.1.49 → uipath-2.1.50}/tests/sdk/services/test_actions_service.py +0 -0
  257. {uipath-2.1.49 → uipath-2.1.50}/tests/sdk/services/test_api_client.py +0 -0
  258. {uipath-2.1.49 → uipath-2.1.50}/tests/sdk/services/test_assets_service.py +0 -0
  259. {uipath-2.1.49 → uipath-2.1.50}/tests/sdk/services/test_attachments_service.py +0 -0
  260. {uipath-2.1.49 → uipath-2.1.50}/tests/sdk/services/test_base_service.py +0 -0
  261. {uipath-2.1.49 → uipath-2.1.50}/tests/sdk/services/test_buckets_service.py +0 -0
  262. {uipath-2.1.49 → uipath-2.1.50}/tests/sdk/services/test_connections_service.py +0 -0
  263. {uipath-2.1.49 → uipath-2.1.50}/tests/sdk/services/test_context_grounding_service.py +0 -0
  264. {uipath-2.1.49 → uipath-2.1.50}/tests/sdk/services/test_folder_service.py +0 -0
  265. {uipath-2.1.49 → uipath-2.1.50}/tests/sdk/services/test_jobs_service.py +0 -0
  266. {uipath-2.1.49 → uipath-2.1.50}/tests/sdk/services/test_llm_integration.py +0 -0
  267. {uipath-2.1.49 → uipath-2.1.50}/tests/sdk/services/test_llm_schema_cleanup.py +0 -0
  268. {uipath-2.1.49 → uipath-2.1.50}/tests/sdk/services/test_llm_service.py +0 -0
  269. {uipath-2.1.49 → uipath-2.1.50}/tests/sdk/services/test_processes_service.py +0 -0
  270. {uipath-2.1.49 → uipath-2.1.50}/tests/sdk/services/test_queues_service.py +0 -0
  271. {uipath-2.1.49 → uipath-2.1.50}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
  272. {uipath-2.1.49 → uipath-2.1.50}/tests/sdk/test_bindings_inference.py +0 -0
  273. {uipath-2.1.49 → uipath-2.1.50}/tests/sdk/test_config.py +0 -0
  274. {uipath-2.1.49 → uipath-2.1.50}/tests/sdk/test_overwrites.py +0 -0
  275. {uipath-2.1.49 → uipath-2.1.50}/tests/tracing/test_otel_exporters.py +0 -0
  276. {uipath-2.1.49 → uipath-2.1.50}/tests/tracing/test_span_utils.py +0 -0
  277. {uipath-2.1.49 → uipath-2.1.50}/tests/tracing/test_traced.py +0 -0
  278. {uipath-2.1.49 → uipath-2.1.50}/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.49
3
+ Version: 2.1.50
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.49"
3
+ version = "2.1.50"
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"
@@ -5,6 +5,7 @@ from .attachments_service import AttachmentsService
5
5
  from .buckets_service import BucketsService
6
6
  from .connections_service import ConnectionsService
7
7
  from .context_grounding_service import ContextGroundingService
8
+ from .entities_service import EntitiesService
8
9
  from .folder_service import FolderService
9
10
  from .jobs_service import JobsService
10
11
  from .llm_gateway_service import UiPathLlmChatService, UiPathOpenAIService
@@ -25,4 +26,5 @@ __all__ = [
25
26
  "UiPathOpenAIService",
26
27
  "UiPathLlmChatService",
27
28
  "FolderService",
29
+ "EntitiesService",
28
30
  ]
@@ -0,0 +1,383 @@
1
+ from typing import Any, List, Optional, Type
2
+
3
+ from httpx import Response
4
+
5
+ from .._config import Config
6
+ from .._execution_context import ExecutionContext
7
+ from .._utils import Endpoint, RequestSpec
8
+ from ..models.entities import (
9
+ Entity,
10
+ EntityRecord,
11
+ EntityRecordsBatchResponse,
12
+ )
13
+ from ..tracing import traced
14
+ from ._base_service import BaseService
15
+
16
+
17
+ class EntitiesService(BaseService):
18
+ """Service for managing UiPath Data Service entities.
19
+
20
+ Entities are database tables in UiPath Data Service that can store
21
+ structured data for automation processes.
22
+ """
23
+
24
+ def __init__(self, config: Config, execution_context: ExecutionContext) -> None:
25
+ super().__init__(config=config, execution_context=execution_context)
26
+
27
+ @traced(name="entity_retrieve", run_type="uipath")
28
+ def retrieve(self, entity_key: str) -> Entity:
29
+ """Retrieve an entity by its key.
30
+
31
+ Args:
32
+ entity_key (str): The unique key/identifier of the entity.
33
+
34
+ Returns:
35
+ Entity: The entity with all its metadata and field definitions.
36
+ """
37
+ spec = self._retrieve_spec(entity_key)
38
+ response = self.request(spec.method, spec.endpoint)
39
+
40
+ return Entity.model_validate(response.json())
41
+
42
+ @traced(name="entity_retrieve", run_type="uipath")
43
+ async def retrieve_async(self, entity_key: str) -> Entity:
44
+ """Asynchronously retrieve an entity by its key.
45
+
46
+ Args:
47
+ entity_key (str): The unique key/identifier of the entity.
48
+
49
+ Returns:
50
+ Entity: The entity with all its metadata and field definitions.
51
+ """
52
+ spec = self._retrieve_spec(entity_key)
53
+
54
+ response = await self.request_async(spec.method, spec.endpoint)
55
+
56
+ return Entity.model_validate(response.json())
57
+
58
+ @traced(name="list_entities", run_type="uipath")
59
+ def list_entities(self) -> List[Entity]:
60
+ """List all entities in the Data Service.
61
+
62
+ Returns:
63
+ List[Entity]: A list of all entities with their metadata and field definitions.
64
+ """
65
+ spec = self._list_entities_spec()
66
+ response = self.request(spec.method, spec.endpoint)
67
+
68
+ entities_data = response.json()
69
+ return [Entity.model_validate(entity) for entity in entities_data]
70
+
71
+ @traced(name="list_entities", run_type="uipath")
72
+ async def list_entities_async(self) -> List[Entity]:
73
+ """Asynchronously list all entities in the Data Service.
74
+
75
+ Returns:
76
+ List[Entity]: A list of all entities with their metadata and field definitions.
77
+ """
78
+ spec = self._list_entities_spec()
79
+ response = await self.request_async(spec.method, spec.endpoint)
80
+
81
+ entities_data = response.json()
82
+ return [Entity.model_validate(entity) for entity in entities_data]
83
+
84
+ @traced(name="entity_list_records", run_type="uipath")
85
+ def list_records(
86
+ self,
87
+ entity_key: str,
88
+ schema: Optional[Type[Any]] = None, # Optional schema
89
+ start: Optional[int] = None,
90
+ limit: Optional[int] = None,
91
+ ) -> List[EntityRecord]:
92
+ """List records from an entity with optional pagination and schema validation.
93
+
94
+ Args:
95
+ entity_key (str): The unique key/identifier of the entity.
96
+ schema (Optional[Type[Any]]): Optional schema class for additional validation of records.
97
+ start (Optional[int]): Starting index for pagination.
98
+ limit (Optional[int]): Maximum number of records to return.
99
+
100
+ Returns:
101
+ List[EntityRecord]: A list of entity records.
102
+ """
103
+ # Example method to generate the API request specification (mocked here)
104
+ spec = self._list_records_spec(entity_key, start, limit)
105
+
106
+ # Make the HTTP request (assumes self.request exists)
107
+ response = self.request(spec.method, spec.endpoint, params=spec.params)
108
+
109
+ # Parse the response JSON and extract the "value" field
110
+ records_data = response.json().get("value", [])
111
+
112
+ # Validate and wrap records
113
+ return [
114
+ EntityRecord.from_data(data=record, model=schema) for record in records_data
115
+ ]
116
+
117
+ @traced(name="entity_list_records", run_type="uipath")
118
+ async def list_records_async(
119
+ self,
120
+ entity_key: str,
121
+ schema: Optional[Type[Any]] = None, # Optional schema
122
+ start: Optional[int] = None,
123
+ limit: Optional[int] = None,
124
+ ) -> List[EntityRecord]:
125
+ """Asynchronously list records from an entity with optional pagination and schema validation.
126
+
127
+ Args:
128
+ entity_key (str): The unique key/identifier of the entity.
129
+ schema (Optional[Type[Any]]): Optional schema class for additional validation of records.
130
+ start (Optional[int]): Starting index for pagination.
131
+ limit (Optional[int]): Maximum number of records to return.
132
+
133
+ Returns:
134
+ List[EntityRecord]: A list of entity records.
135
+ """
136
+ spec = self._list_records_spec(entity_key, start, limit)
137
+
138
+ # Make the HTTP request (assumes self.request exists)
139
+ response = await self.request_async(
140
+ spec.method, spec.endpoint, params=spec.params
141
+ )
142
+
143
+ # Parse the response JSON and extract the "value" field
144
+ records_data = response.json().get("value", [])
145
+
146
+ # Validate and wrap records
147
+ return [
148
+ EntityRecord.from_data(data=record, model=schema) for record in records_data
149
+ ]
150
+
151
+ @traced(name="entity_record_insert_batch", run_type="uipath")
152
+ def insert_records(
153
+ self,
154
+ entity_key: str,
155
+ records: List[Any],
156
+ schema: Optional[Type[Any]] = None,
157
+ ) -> EntityRecordsBatchResponse:
158
+ """Insert multiple records into an entity in a single batch operation.
159
+
160
+ Args:
161
+ entity_key (str): The unique key/identifier of the entity.
162
+ records (List[Any]): List of records to insert.
163
+ schema (Optional[Type[Any]]): Optional schema class for validation of records.
164
+
165
+ Returns:
166
+ EntityRecordsBatchResponse: Response containing successful and failed record operations.
167
+ """
168
+ spec = self._insert_batch_spec(entity_key, records)
169
+ response = self.request(spec.method, spec.endpoint, json=spec.json)
170
+
171
+ return self.validate_entity_batch(response, schema)
172
+
173
+ @traced(name="entity_record_insert_batch", run_type="uipath")
174
+ async def insert_records_async(
175
+ self,
176
+ entity_key: str,
177
+ records: List[Any],
178
+ schema: Optional[Type[Any]] = None,
179
+ ) -> EntityRecordsBatchResponse:
180
+ """Asynchronously insert multiple records into an entity in a single batch operation.
181
+
182
+ Args:
183
+ entity_key (str): The unique key/identifier of the entity.
184
+ records (List[Any]): List of records to insert.
185
+ schema (Optional[Type[Any]]): Optional schema class for validation of records.
186
+
187
+ Returns:
188
+ EntityRecordsBatchResponse: Response containing successful and failed record operations.
189
+ """
190
+ spec = self._insert_batch_spec(entity_key, records)
191
+ response = await self.request_async(spec.method, spec.endpoint, json=spec.json)
192
+
193
+ return self.validate_entity_batch(response, schema)
194
+
195
+ @traced(name="entity_record_update_batch", run_type="uipath")
196
+ def update_records(
197
+ self,
198
+ entity_key: str,
199
+ records: List[Any],
200
+ schema: Optional[Type[Any]] = None,
201
+ ) -> EntityRecordsBatchResponse:
202
+ """Update multiple records in an entity in a single batch operation.
203
+
204
+ Args:
205
+ entity_key (str): The unique key/identifier of the entity.
206
+ records (List[Any]): List of records to update.
207
+ schema (Optional[Type[Any]]): Optional schema class for validation of records.
208
+
209
+ Returns:
210
+ EntityRecordsBatchResponse: Response containing successful and failed record operations.
211
+ """
212
+ valid_records = [
213
+ EntityRecord.from_data(data=record.model_dump(by_alias=True), model=schema)
214
+ for record in records
215
+ ]
216
+
217
+ spec = self._update_batch_spec(entity_key, valid_records)
218
+ response = self.request(spec.method, spec.endpoint, json=spec.json)
219
+
220
+ return self.validate_entity_batch(response, schema)
221
+
222
+ @traced(name="entity_record_update_batch", run_type="uipath")
223
+ async def update_records_async(
224
+ self,
225
+ entity_key: str,
226
+ records: List[Any],
227
+ schema: Optional[Type[Any]] = None,
228
+ ) -> EntityRecordsBatchResponse:
229
+ """Asynchronously update multiple records in an entity in a single batch operation.
230
+
231
+ Args:
232
+ entity_key (str): The unique key/identifier of the entity.
233
+ records (List[Any]): List of records to update.
234
+ schema (Optional[Type[Any]]): Optional schema class for validation of records.
235
+
236
+ Returns:
237
+ EntityRecordsBatchResponse: Response containing successful and failed record operations.
238
+ """
239
+ valid_records = [
240
+ EntityRecord.from_data(data=record.model_dump(by_alias=True), model=schema)
241
+ for record in records
242
+ ]
243
+
244
+ spec = self._update_batch_spec(entity_key, valid_records)
245
+ response = await self.request_async(spec.method, spec.endpoint, json=spec.json)
246
+
247
+ return self.validate_entity_batch(response, schema)
248
+
249
+ @traced(name="entity_record_delete_batch", run_type="uipath")
250
+ def delete_records(
251
+ self,
252
+ entity_key: str,
253
+ record_ids: List[str],
254
+ ) -> EntityRecordsBatchResponse:
255
+ """Delete multiple records from an entity in a single batch operation.
256
+
257
+ Args:
258
+ entity_key (str): The unique key/identifier of the entity.
259
+ record_ids (List[str]): List of record IDs to delete.
260
+
261
+ Returns:
262
+ EntityRecordsBatchResponse: Response containing successful and failed record operations.
263
+ """
264
+ spec = self._delete_batch_spec(entity_key, record_ids)
265
+ response = self.request(spec.method, spec.endpoint, json=spec.json)
266
+
267
+ delete_records_response = EntityRecordsBatchResponse.model_validate(
268
+ response.json()
269
+ )
270
+
271
+ return delete_records_response
272
+
273
+ @traced(name="entity_record_delete_batch", run_type="uipath")
274
+ async def delete_records_async(
275
+ self,
276
+ entity_key: str,
277
+ record_ids: List[str],
278
+ ) -> EntityRecordsBatchResponse:
279
+ """Asynchronously delete multiple records from an entity in a single batch operation.
280
+
281
+ Args:
282
+ entity_key (str): The unique key/identifier of the entity.
283
+ record_ids (List[str]): List of record IDs to delete.
284
+
285
+ Returns:
286
+ EntityRecordsBatchResponse: Response containing successful and failed record operations.
287
+ """
288
+ spec = self._delete_batch_spec(entity_key, record_ids)
289
+ response = await self.request_async(spec.method, spec.endpoint, json=spec.json)
290
+
291
+ delete_records_response = EntityRecordsBatchResponse.model_validate(
292
+ response.json()
293
+ )
294
+
295
+ return delete_records_response
296
+
297
+ def validate_entity_batch(
298
+ self,
299
+ batch_response: Response,
300
+ schema: Optional[Type[Any]] = None,
301
+ ) -> EntityRecordsBatchResponse:
302
+ # Validate the response format
303
+ insert_records_response = EntityRecordsBatchResponse.model_validate(
304
+ batch_response.json()
305
+ )
306
+
307
+ # Validate individual records
308
+ validated_successful_records = [
309
+ EntityRecord.from_data(
310
+ data=successful_record.model_dump(by_alias=True), model=schema
311
+ )
312
+ for successful_record in insert_records_response.success_records
313
+ ]
314
+
315
+ validated_failed_records = [
316
+ EntityRecord.from_data(
317
+ data=failed_record.model_dump(by_alias=True), model=schema
318
+ )
319
+ for failed_record in insert_records_response.failure_records
320
+ ]
321
+
322
+ return EntityRecordsBatchResponse(
323
+ success_records=validated_successful_records,
324
+ failure_records=validated_failed_records,
325
+ )
326
+
327
+ def _retrieve_spec(
328
+ self,
329
+ entity_key: str,
330
+ ) -> RequestSpec:
331
+ return RequestSpec(
332
+ method="GET",
333
+ endpoint=Endpoint(f"datafabric_/api/Entity/{entity_key}"),
334
+ )
335
+
336
+ def _list_entities_spec(self) -> RequestSpec:
337
+ return RequestSpec(
338
+ method="GET",
339
+ endpoint=Endpoint("datafabric_/api/Entity"),
340
+ )
341
+
342
+ def _list_records_spec(
343
+ self,
344
+ entity_key: str,
345
+ start: Optional[int] = None,
346
+ limit: Optional[int] = None,
347
+ ) -> RequestSpec:
348
+ return RequestSpec(
349
+ method="GET",
350
+ endpoint=Endpoint(
351
+ f"datafabric_/api/EntityService/entity/{entity_key}/read"
352
+ ),
353
+ params=({"start": start, "limit": limit}),
354
+ )
355
+
356
+ def _insert_batch_spec(self, entity_key: str, records: List[Any]) -> RequestSpec:
357
+ return RequestSpec(
358
+ method="POST",
359
+ endpoint=Endpoint(
360
+ f"datafabric_/api/EntityService/entity/{entity_key}/insert-batch"
361
+ ),
362
+ json=[record.__dict__ for record in records],
363
+ )
364
+
365
+ def _update_batch_spec(
366
+ self, entity_key: str, records: List[EntityRecord]
367
+ ) -> RequestSpec:
368
+ return RequestSpec(
369
+ method="POST",
370
+ endpoint=Endpoint(
371
+ f"datafabric_/api/EntityService/entity/{entity_key}/update-batch"
372
+ ),
373
+ json=[record.model_dump(by_alias=True) for record in records],
374
+ )
375
+
376
+ def _delete_batch_spec(self, entity_key: str, record_ids: List[str]) -> RequestSpec:
377
+ return RequestSpec(
378
+ method="POST",
379
+ endpoint=Endpoint(
380
+ f"datafabric_/api/EntityService/entity/{entity_key}/delete-batch"
381
+ ),
382
+ json=record_ids,
383
+ )
@@ -13,6 +13,7 @@ from ._services import (
13
13
  BucketsService,
14
14
  ConnectionsService,
15
15
  ContextGroundingService,
16
+ EntitiesService,
16
17
  FolderService,
17
18
  JobsService,
18
19
  ProcessesService,
@@ -134,3 +135,7 @@ class UiPath:
134
135
  @property
135
136
  def llm(self) -> UiPathLlmChatService:
136
137
  return UiPathLlmChatService(self._config, self._execution_context)
138
+
139
+ @property
140
+ def entities(self) -> EntitiesService:
141
+ return EntitiesService(self._config, self._execution_context)