uipath 2.1.66__tar.gz → 2.1.67__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 (312) hide show
  1. {uipath-2.1.66 → uipath-2.1.67}/PKG-INFO +1 -1
  2. {uipath-2.1.66 → uipath-2.1.67}/pyproject.toml +1 -1
  3. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_evals/_evaluator_factory.py +18 -2
  4. uipath-2.1.67/src/uipath/_cli/_evals/_models/_trajectory_span.py +115 -0
  5. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_evals/_runtime.py +1 -0
  6. uipath-2.1.67/src/uipath/eval/evaluators/trajectory_evaluator.py +159 -0
  7. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/eval/models/models.py +1 -0
  8. {uipath-2.1.66 → uipath-2.1.67}/uv.lock +1 -1
  9. uipath-2.1.66/src/uipath/eval/evaluators/trajectory_evaluator.py +0 -36
  10. {uipath-2.1.66 → uipath-2.1.67}/.cursorrules +0 -0
  11. {uipath-2.1.66 → uipath-2.1.67}/.editorconfig +0 -0
  12. {uipath-2.1.66 → uipath-2.1.67}/.gitattributes +0 -0
  13. {uipath-2.1.66 → uipath-2.1.67}/.github/workflows/cd.yml +0 -0
  14. {uipath-2.1.66 → uipath-2.1.67}/.github/workflows/ci.yml +0 -0
  15. {uipath-2.1.66 → uipath-2.1.67}/.github/workflows/commitlint.yml +0 -0
  16. {uipath-2.1.66 → uipath-2.1.67}/.github/workflows/integration_tests.yml +0 -0
  17. {uipath-2.1.66 → uipath-2.1.67}/.github/workflows/lint.yml +0 -0
  18. {uipath-2.1.66 → uipath-2.1.67}/.github/workflows/publish-dev.yml +0 -0
  19. {uipath-2.1.66 → uipath-2.1.67}/.github/workflows/publish-docs.yml +0 -0
  20. {uipath-2.1.66 → uipath-2.1.67}/.github/workflows/slack.yml +0 -0
  21. {uipath-2.1.66 → uipath-2.1.67}/.github/workflows/test.yml +0 -0
  22. {uipath-2.1.66 → uipath-2.1.67}/.gitignore +0 -0
  23. {uipath-2.1.66 → uipath-2.1.67}/.pre-commit-config.yaml +0 -0
  24. {uipath-2.1.66 → uipath-2.1.67}/.python-version +0 -0
  25. {uipath-2.1.66 → uipath-2.1.67}/.vscode/extensions.json +0 -0
  26. {uipath-2.1.66 → uipath-2.1.67}/.vscode/launch.json +0 -0
  27. {uipath-2.1.66 → uipath-2.1.67}/.vscode/settings.json +0 -0
  28. {uipath-2.1.66 → uipath-2.1.67}/CONTRIBUTING.md +0 -0
  29. {uipath-2.1.66 → uipath-2.1.67}/LICENSE +0 -0
  30. {uipath-2.1.66 → uipath-2.1.67}/README.md +0 -0
  31. {uipath-2.1.66 → uipath-2.1.67}/docs/CONTRIBUTING.md +0 -0
  32. {uipath-2.1.66 → uipath-2.1.67}/docs/FAQ.md +0 -0
  33. {uipath-2.1.66 → uipath-2.1.67}/docs/assets/env-preparation-failed-dark.png +0 -0
  34. {uipath-2.1.66 → uipath-2.1.67}/docs/assets/env-preparation-failed-light.png +0 -0
  35. {uipath-2.1.66 → uipath-2.1.67}/docs/assets/favicon.png +0 -0
  36. {uipath-2.1.66 → uipath-2.1.67}/docs/assets/logo-dark.svg +0 -0
  37. {uipath-2.1.66 → uipath-2.1.67}/docs/assets/logo-light.svg +0 -0
  38. {uipath-2.1.66 → uipath-2.1.67}/docs/cli/index.md +0 -0
  39. {uipath-2.1.66 → uipath-2.1.67}/docs/core/actions.md +0 -0
  40. {uipath-2.1.66 → uipath-2.1.67}/docs/core/assets/cloud_env_var_dark.gif +0 -0
  41. {uipath-2.1.66 → uipath-2.1.67}/docs/core/assets/cloud_env_var_light.gif +0 -0
  42. {uipath-2.1.66 → uipath-2.1.67}/docs/core/assets/cloud_env_var_secret_dark.png +0 -0
  43. {uipath-2.1.66 → uipath-2.1.67}/docs/core/assets/cloud_env_var_secret_light.png +0 -0
  44. {uipath-2.1.66 → uipath-2.1.67}/docs/core/assets/copy_path_dark.png +0 -0
  45. {uipath-2.1.66 → uipath-2.1.67}/docs/core/assets/copy_path_light.png +0 -0
  46. {uipath-2.1.66 → uipath-2.1.67}/docs/core/assets.md +0 -0
  47. {uipath-2.1.66 → uipath-2.1.67}/docs/core/attachments.md +0 -0
  48. {uipath-2.1.66 → uipath-2.1.67}/docs/core/buckets.md +0 -0
  49. {uipath-2.1.66 → uipath-2.1.67}/docs/core/connections.md +0 -0
  50. {uipath-2.1.66 → uipath-2.1.67}/docs/core/context_grounding.md +0 -0
  51. {uipath-2.1.66 → uipath-2.1.67}/docs/core/environment_variables.md +0 -0
  52. {uipath-2.1.66 → uipath-2.1.67}/docs/core/getting_started.md +0 -0
  53. {uipath-2.1.66 → uipath-2.1.67}/docs/core/jobs.md +0 -0
  54. {uipath-2.1.66 → uipath-2.1.67}/docs/core/llm_gateway.md +0 -0
  55. {uipath-2.1.66 → uipath-2.1.67}/docs/core/processes.md +0 -0
  56. {uipath-2.1.66 → uipath-2.1.67}/docs/core/queues.md +0 -0
  57. {uipath-2.1.66 → uipath-2.1.67}/docs/core/traced.md +0 -0
  58. {uipath-2.1.66 → uipath-2.1.67}/docs/hooks.py +0 -0
  59. {uipath-2.1.66 → uipath-2.1.67}/docs/index.md +0 -0
  60. {uipath-2.1.66 → uipath-2.1.67}/docs/javascripts/extra.js +0 -0
  61. {uipath-2.1.66 → uipath-2.1.67}/docs/overrides/main.html +0 -0
  62. {uipath-2.1.66 → uipath-2.1.67}/docs/overrides/partials/actions.html +0 -0
  63. {uipath-2.1.66 → uipath-2.1.67}/docs/overrides/partials/logo.html +0 -0
  64. {uipath-2.1.66 → uipath-2.1.67}/docs/release_policy.md +0 -0
  65. {uipath-2.1.66 → uipath-2.1.67}/docs/sample_images/google-ADK-agent/agent-output.png +0 -0
  66. {uipath-2.1.66 → uipath-2.1.67}/docs/stylesheets/extra.css +0 -0
  67. {uipath-2.1.66 → uipath-2.1.67}/justfile +0 -0
  68. {uipath-2.1.66 → uipath-2.1.67}/mkdocs.yml +0 -0
  69. {uipath-2.1.66 → uipath-2.1.67}/py.typed +0 -0
  70. {uipath-2.1.66 → uipath-2.1.67}/samples/calculator/README.md +0 -0
  71. {uipath-2.1.66 → uipath-2.1.67}/samples/calculator/main.py +0 -0
  72. {uipath-2.1.66 → uipath-2.1.67}/samples/calculator/pyproject.toml +0 -0
  73. {uipath-2.1.66 → uipath-2.1.67}/samples/event-trigger/.python-version +0 -0
  74. {uipath-2.1.66 → uipath-2.1.67}/samples/event-trigger/README.md +0 -0
  75. {uipath-2.1.66 → uipath-2.1.67}/samples/event-trigger/main.py +0 -0
  76. {uipath-2.1.66 → uipath-2.1.67}/samples/event-trigger/pyproject.toml +0 -0
  77. {uipath-2.1.66 → uipath-2.1.67}/samples/google-ADK-agent/.env.example +0 -0
  78. {uipath-2.1.66 → uipath-2.1.67}/samples/google-ADK-agent/README.md +0 -0
  79. {uipath-2.1.66 → uipath-2.1.67}/samples/google-ADK-agent/input.json +0 -0
  80. {uipath-2.1.66 → uipath-2.1.67}/samples/google-ADK-agent/multi_tool_agent/__init__.py +0 -0
  81. {uipath-2.1.66 → uipath-2.1.67}/samples/google-ADK-agent/multi_tool_agent/agent.py +0 -0
  82. {uipath-2.1.66 → uipath-2.1.67}/samples/google-ADK-agent/pyproject.toml +0 -0
  83. {uipath-2.1.66 → uipath-2.1.67}/samples/google-ADK-agent/uv.lock +0 -0
  84. {uipath-2.1.66 → uipath-2.1.67}/scripts/debug_test.py +0 -0
  85. {uipath-2.1.66 → uipath-2.1.67}/scripts/lint_httpx_client.py +0 -0
  86. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/__init__.py +0 -0
  87. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/README.md +0 -0
  88. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/__init__.py +0 -0
  89. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_auth/_auth_server.py +0 -0
  90. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_auth/_auth_service.py +0 -0
  91. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_auth/_client_credentials.py +0 -0
  92. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_auth/_models.py +0 -0
  93. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
  94. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_auth/_portal_service.py +0 -0
  95. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_auth/_url_utils.py +0 -0
  96. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_auth/_utils.py +0 -0
  97. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_auth/auth_config.json +0 -0
  98. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_auth/index.html +0 -0
  99. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_auth/localhost.crt +0 -0
  100. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_auth/localhost.key +0 -0
  101. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_dev/_terminal/__init__.py +0 -0
  102. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_dev/_terminal/_components/_chat.py +0 -0
  103. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_dev/_terminal/_components/_details.py +0 -0
  104. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_dev/_terminal/_components/_history.py +0 -0
  105. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_dev/_terminal/_components/_json_input.py +0 -0
  106. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_dev/_terminal/_components/_new.py +0 -0
  107. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_dev/_terminal/_models/_execution.py +0 -0
  108. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_dev/_terminal/_models/_messages.py +0 -0
  109. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_dev/_terminal/_styles/terminal.tcss +0 -0
  110. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_dev/_terminal/_utils/_chat.py +0 -0
  111. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_dev/_terminal/_utils/_exporter.py +0 -0
  112. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_dev/_terminal/_utils/_logger.py +0 -0
  113. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_evals/_models/_evaluation_set.py +0 -0
  114. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_evals/_models/_evaluator_base_params.py +0 -0
  115. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_evals/_models/_output.py +0 -0
  116. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_evals/_models/_sw_reporting.py +0 -0
  117. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_evals/_progress_reporter.py +0 -0
  118. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_push/sw_file_handler.py +0 -0
  119. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_runtime/_contracts.py +0 -0
  120. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_runtime/_escalation.py +0 -0
  121. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_runtime/_hitl.py +0 -0
  122. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_runtime/_logging.py +0 -0
  123. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_runtime/_runtime.py +0 -0
  124. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_runtime/_script_executor.py +0 -0
  125. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
  126. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_templates/.rels.template +0 -0
  127. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
  128. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_templates/main.py.template +0 -0
  129. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
  130. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_utils/_common.py +0 -0
  131. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_utils/_console.py +0 -0
  132. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_utils/_constants.py +0 -0
  133. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_utils/_debug.py +0 -0
  134. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_utils/_eval_set.py +0 -0
  135. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_utils/_folders.py +0 -0
  136. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_utils/_input_args.py +0 -0
  137. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
  138. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_utils/_processes.py +0 -0
  139. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_utils/_project_files.py +0 -0
  140. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_utils/_studio_project.py +0 -0
  141. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_utils/_tracing.py +0 -0
  142. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/_utils/_uv_helpers.py +0 -0
  143. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/cli_auth.py +0 -0
  144. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/cli_deploy.py +0 -0
  145. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/cli_dev.py +0 -0
  146. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/cli_eval.py +0 -0
  147. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/cli_init.py +0 -0
  148. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/cli_invoke.py +0 -0
  149. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/cli_new.py +0 -0
  150. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/cli_pack.py +0 -0
  151. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/cli_publish.py +0 -0
  152. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/cli_pull.py +0 -0
  153. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/cli_push.py +0 -0
  154. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/cli_run.py +0 -0
  155. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/middlewares.py +0 -0
  156. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_cli/spinner.py +0 -0
  157. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_config.py +0 -0
  158. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_events/__init__.py +0 -0
  159. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_events/_event_bus.py +0 -0
  160. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_events/_events.py +0 -0
  161. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_execution_context.py +0 -0
  162. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_folder_context.py +0 -0
  163. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_resources/AGENTS.md +0 -0
  164. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_services/__init__.py +0 -0
  165. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_services/_base_service.py +0 -0
  166. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_services/actions_service.py +0 -0
  167. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_services/api_client.py +0 -0
  168. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_services/assets_service.py +0 -0
  169. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_services/attachments_service.py +0 -0
  170. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_services/buckets_service.py +0 -0
  171. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_services/connections_service.py +0 -0
  172. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_services/context_grounding_service.py +0 -0
  173. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_services/entities_service.py +0 -0
  174. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_services/folder_service.py +0 -0
  175. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_services/jobs_service.py +0 -0
  176. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_services/llm_gateway_service.py +0 -0
  177. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_services/processes_service.py +0 -0
  178. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_services/queues_service.py +0 -0
  179. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_uipath.py +0 -0
  180. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_utils/__init__.py +0 -0
  181. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_utils/_endpoint.py +0 -0
  182. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_utils/_infer_bindings.py +0 -0
  183. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_utils/_logs.py +0 -0
  184. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_utils/_read_overwrites.py +0 -0
  185. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_utils/_request_override.py +0 -0
  186. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_utils/_request_spec.py +0 -0
  187. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_utils/_ssl_context.py +0 -0
  188. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_utils/_url.py +0 -0
  189. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_utils/_user_agent.py +0 -0
  190. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/_utils/constants.py +0 -0
  191. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/agent/_utils.py +0 -0
  192. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/agent/conversation/__init__.py +0 -0
  193. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/agent/conversation/async_stream.py +0 -0
  194. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/agent/conversation/citation.py +0 -0
  195. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/agent/conversation/content.py +0 -0
  196. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/agent/conversation/conversation.py +0 -0
  197. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/agent/conversation/event.py +0 -0
  198. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/agent/conversation/exchange.py +0 -0
  199. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/agent/conversation/message.py +0 -0
  200. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/agent/conversation/meta.py +0 -0
  201. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/agent/conversation/tool.py +0 -0
  202. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/agent/models/agent.py +0 -0
  203. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/eval/_helpers/__init__.py +0 -0
  204. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/eval/_helpers/helpers.py +0 -0
  205. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/eval/evaluators/__init__.py +0 -0
  206. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/eval/evaluators/base_evaluator.py +0 -0
  207. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/eval/evaluators/deterministic_evaluator_base.py +0 -0
  208. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/eval/evaluators/exact_match_evaluator.py +0 -0
  209. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/eval/evaluators/json_similarity_evaluator.py +0 -0
  210. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/eval/evaluators/llm_as_judge_evaluator.py +0 -0
  211. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/eval/models/__init__.py +0 -0
  212. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/models/__init__.py +0 -0
  213. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/models/action_schema.py +0 -0
  214. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/models/actions.py +0 -0
  215. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/models/assets.py +0 -0
  216. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/models/attachment.py +0 -0
  217. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/models/buckets.py +0 -0
  218. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/models/connections.py +0 -0
  219. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/models/context_grounding.py +0 -0
  220. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/models/context_grounding_index.py +0 -0
  221. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/models/entities.py +0 -0
  222. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/models/errors.py +0 -0
  223. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/models/exceptions.py +0 -0
  224. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/models/interrupt_models.py +0 -0
  225. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/models/job.py +0 -0
  226. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/models/llm_gateway.py +0 -0
  227. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/models/processes.py +0 -0
  228. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/models/queues.py +0 -0
  229. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/py.typed +0 -0
  230. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/telemetry/__init__.py +0 -0
  231. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/telemetry/_constants.py +0 -0
  232. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/telemetry/_track.py +0 -0
  233. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/tracing/__init__.py +0 -0
  234. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/tracing/_otel_exporters.py +0 -0
  235. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/tracing/_traced.py +0 -0
  236. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/tracing/_utils.py +0 -0
  237. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/utils/__init__.py +0 -0
  238. {uipath-2.1.66 → uipath-2.1.67}/src/uipath/utils/_endpoints_manager.py +0 -0
  239. {uipath-2.1.66 → uipath-2.1.67}/testcases/apicalls-testcase/main.py +0 -0
  240. {uipath-2.1.66 → uipath-2.1.67}/testcases/apicalls-testcase/pyproject.toml +0 -0
  241. {uipath-2.1.66 → uipath-2.1.67}/testcases/apicalls-testcase/run.sh +0 -0
  242. {uipath-2.1.66 → uipath-2.1.67}/testcases/apicalls-testcase/src/assert.py +0 -0
  243. {uipath-2.1.66 → uipath-2.1.67}/testcases/basic-testcase/main.py +0 -0
  244. {uipath-2.1.66 → uipath-2.1.67}/testcases/basic-testcase/pyproject.toml +0 -0
  245. {uipath-2.1.66 → uipath-2.1.67}/testcases/basic-testcase/run.sh +0 -0
  246. {uipath-2.1.66 → uipath-2.1.67}/testcases/basic-testcase/src/assert.py +0 -0
  247. {uipath-2.1.66 → uipath-2.1.67}/testcases/common/validate_output.sh +0 -0
  248. {uipath-2.1.66 → uipath-2.1.67}/testcases/langchain-cross/agent.mermaid +0 -0
  249. {uipath-2.1.66 → uipath-2.1.67}/testcases/langchain-cross/langgraph.json +0 -0
  250. {uipath-2.1.66 → uipath-2.1.67}/testcases/langchain-cross/pyproject.toml +0 -0
  251. {uipath-2.1.66 → uipath-2.1.67}/testcases/langchain-cross/run.sh +0 -0
  252. {uipath-2.1.66 → uipath-2.1.67}/testcases/langchain-cross/src/assert.py +0 -0
  253. {uipath-2.1.66 → uipath-2.1.67}/testcases/langchain-cross/src/main.py +0 -0
  254. {uipath-2.1.66 → uipath-2.1.67}/testcases/llamaindex-cross/agent.mermaid +0 -0
  255. {uipath-2.1.66 → uipath-2.1.67}/testcases/llamaindex-cross/llama_index.json +0 -0
  256. {uipath-2.1.66 → uipath-2.1.67}/testcases/llamaindex-cross/pyproject.toml +0 -0
  257. {uipath-2.1.66 → uipath-2.1.67}/testcases/llamaindex-cross/run.sh +0 -0
  258. {uipath-2.1.66 → uipath-2.1.67}/testcases/llamaindex-cross/src/assert.py +0 -0
  259. {uipath-2.1.66 → uipath-2.1.67}/testcases/llamaindex-cross/src/main.py +0 -0
  260. {uipath-2.1.66 → uipath-2.1.67}/tests/__init__.py +0 -0
  261. {uipath-2.1.66 → uipath-2.1.67}/tests/agent/models/test_agent.py +0 -0
  262. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/conftest.py +0 -0
  263. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/evaluators/test_json_similarity_evaluator.py +0 -0
  264. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/mocks/bindings_script.py +0 -0
  265. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/mocks/pyproject.toml +0 -0
  266. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/mocks/simple_script.py +0 -0
  267. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/mocks/uipath-mock.json +0 -0
  268. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/mocks/uipath-simple-script-mock.json +0 -0
  269. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/test_auth.py +0 -0
  270. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/test_hitl.py +0 -0
  271. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/test_init.py +0 -0
  272. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/test_init_agents_md.py +0 -0
  273. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/test_input_args.py +0 -0
  274. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/test_invoke.py +0 -0
  275. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/test_new.py +0 -0
  276. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/test_pack.py +0 -0
  277. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/test_portal_service_ensure_valid_token.py +0 -0
  278. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/test_portal_service_refresh_token.py +0 -0
  279. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/test_publish.py +0 -0
  280. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/test_pull.py +0 -0
  281. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/test_push.py +0 -0
  282. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/test_run.py +0 -0
  283. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/test_utils.py +0 -0
  284. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/utils/common.py +0 -0
  285. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/utils/project_details.py +0 -0
  286. {uipath-2.1.66 → uipath-2.1.67}/tests/cli/utils/uipath_json.py +0 -0
  287. {uipath-2.1.66 → uipath-2.1.67}/tests/conftest.py +0 -0
  288. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/services/conftest.py +0 -0
  289. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/services/test_actions_service.py +0 -0
  290. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/services/test_api_client.py +0 -0
  291. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/services/test_assets_service.py +0 -0
  292. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/services/test_attachments_service.py +0 -0
  293. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/services/test_base_service.py +0 -0
  294. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/services/test_buckets_service.py +0 -0
  295. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/services/test_connections_service.py +0 -0
  296. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/services/test_context_grounding_service.py +0 -0
  297. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/services/test_entities_service.py +0 -0
  298. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/services/test_folder_service.py +0 -0
  299. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/services/test_jobs_service.py +0 -0
  300. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/services/test_llm_integration.py +0 -0
  301. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/services/test_llm_schema_cleanup.py +0 -0
  302. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/services/test_llm_service.py +0 -0
  303. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/services/test_processes_service.py +0 -0
  304. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/services/test_queues_service.py +0 -0
  305. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
  306. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/test_bindings_inference.py +0 -0
  307. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/test_config.py +0 -0
  308. {uipath-2.1.66 → uipath-2.1.67}/tests/sdk/test_overwrites.py +0 -0
  309. {uipath-2.1.66 → uipath-2.1.67}/tests/tracing/test_otel_exporters.py +0 -0
  310. {uipath-2.1.66 → uipath-2.1.67}/tests/tracing/test_span_utils.py +0 -0
  311. {uipath-2.1.66 → uipath-2.1.67}/tests/tracing/test_traced.py +0 -0
  312. {uipath-2.1.66 → uipath-2.1.67}/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.66
3
+ Version: 2.1.67
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.66"
3
+ version = "2.1.67"
4
4
  description = "Python SDK and CLI for UiPath Platform, enabling programmatic interaction with automation services, process management, and deployment tools."
5
5
  readme = { file = "README.md", content-type = "text/markdown" }
6
6
  requires-python = ">=3.10"
@@ -123,6 +123,22 @@ class EvaluatorFactory:
123
123
  @staticmethod
124
124
  def _create_trajectory_evaluator(
125
125
  base_params: EvaluatorBaseParams, data: Dict[str, Any]
126
- ) -> TrajectoryEvaluator[Any]:
126
+ ) -> TrajectoryEvaluator:
127
127
  """Create a trajectory evaluator."""
128
- raise NotImplementedError()
128
+ prompt = data.get("prompt", "")
129
+ if not prompt:
130
+ raise ValueError("Trajectory evaluator must include 'prompt' field")
131
+
132
+ model = data.get("model", "")
133
+ if not model:
134
+ raise ValueError("LLM evaluator must include 'model' field")
135
+ if model == "same-as-agent":
136
+ raise ValueError(
137
+ "'same-as-agent' model option is not supported by coded agents evaluations. Please select a specific model for the evaluator."
138
+ )
139
+
140
+ return TrajectoryEvaluator(
141
+ **base_params.model_dump(),
142
+ prompt=prompt,
143
+ model=model,
144
+ )
@@ -0,0 +1,115 @@
1
+ """Trajectory evaluation span model for serializing span data in evaluations."""
2
+
3
+ from dataclasses import dataclass
4
+ from typing import Any, Dict, List, Optional
5
+
6
+ from opentelemetry.sdk.trace import ReadableSpan
7
+ from pydantic import BaseModel
8
+
9
+
10
+ @dataclass
11
+ class TrajectoryEvaluationSpan:
12
+ """Simplified span representation for trajectory evaluation.
13
+
14
+ Contains span information needed for evaluating agent execution paths,
15
+ excluding timestamps which are not useful for trajectory analysis.
16
+ """
17
+
18
+ name: str
19
+ status: str
20
+ attributes: Dict[str, Any]
21
+ parent_name: Optional[str] = None
22
+ events: Optional[List[Dict[str, Any]]] = None
23
+
24
+ def __post_init__(self):
25
+ """Initialize default values."""
26
+ if self.events is None:
27
+ self.events = []
28
+
29
+ @classmethod
30
+ def from_readable_span(
31
+ cls, span: ReadableSpan, parent_spans: Optional[Dict[int, str]] = None
32
+ ) -> "TrajectoryEvaluationSpan":
33
+ """Convert a ReadableSpan to a TrajectoryEvaluationSpan.
34
+
35
+ Args:
36
+ span: The OpenTelemetry ReadableSpan to convert
37
+ parent_spans: Optional mapping of span IDs to names for parent lookup
38
+
39
+ Returns:
40
+ TrajectoryEvaluationSpan with relevant data extracted
41
+ """
42
+ # Extract status
43
+ status_map = {0: "unset", 1: "ok", 2: "error"}
44
+ status = status_map.get(span.status.status_code.value, "unknown")
45
+
46
+ # Extract attributes - keep all attributes for now
47
+ attributes = {}
48
+ if span.attributes:
49
+ attributes = dict(span.attributes)
50
+
51
+ # Get parent name if available
52
+ parent_name = None
53
+ if span.parent and parent_spans and span.parent.span_id in parent_spans:
54
+ parent_name = parent_spans[span.parent.span_id]
55
+
56
+ # Extract events (without timestamps)
57
+ events = []
58
+ if hasattr(span, "events") and span.events:
59
+ for event in span.events:
60
+ event_data = {
61
+ "name": event.name,
62
+ "attributes": dict(event.attributes) if event.attributes else {},
63
+ }
64
+ events.append(event_data)
65
+
66
+ return cls(
67
+ name=span.name,
68
+ status=status,
69
+ attributes=attributes,
70
+ parent_name=parent_name,
71
+ events=events,
72
+ )
73
+
74
+ def to_dict(self) -> Dict[str, Any]:
75
+ """Convert to dictionary for JSON serialization."""
76
+ return {
77
+ "name": self.name,
78
+ "status": self.status,
79
+ "parent_name": self.parent_name,
80
+ "attributes": self.attributes,
81
+ "events": self.events,
82
+ }
83
+
84
+
85
+ class TrajectoryEvaluationTrace(BaseModel):
86
+ """Container for a collection of trajectory evaluation spans."""
87
+
88
+ spans: List[TrajectoryEvaluationSpan]
89
+
90
+ @classmethod
91
+ def from_readable_spans(
92
+ cls, spans: List[ReadableSpan]
93
+ ) -> "TrajectoryEvaluationTrace":
94
+ """Convert a list of ReadableSpans to TrajectoryEvaluationTrace.
95
+
96
+ Args:
97
+ spans: List of OpenTelemetry ReadableSpans to convert
98
+
99
+ Returns:
100
+ TrajectoryEvaluationTrace with converted spans
101
+ """
102
+ # Create a mapping of span IDs to names for parent lookup
103
+ span_id_to_name = {span.get_span_context().span_id: span.name for span in spans}
104
+
105
+ evaluation_spans = [
106
+ TrajectoryEvaluationSpan.from_readable_span(span, span_id_to_name)
107
+ for span in spans
108
+ ]
109
+
110
+ return cls(spans=evaluation_spans)
111
+
112
+ class Config:
113
+ """Pydantic configuration."""
114
+
115
+ arbitrary_types_allowed = True
@@ -264,6 +264,7 @@ class UiPathEvalRuntime(UiPathBaseRuntime, Generic[T, C]):
264
264
  agent_input=eval_item.inputs,
265
265
  agent_output=execution_output.result.output or {},
266
266
  agent_trace=execution_output.spans,
267
+ expected_agent_behavior=eval_item.expected_agent_behavior,
267
268
  )
268
269
 
269
270
  result = await evaluator.evaluate(
@@ -0,0 +1,159 @@
1
+ """Trajectory evaluator for analyzing execution paths and decision sequences."""
2
+
3
+ import json
4
+ from typing import Any, Optional
5
+
6
+ from opentelemetry.sdk.trace import ReadableSpan
7
+ from pydantic import field_validator
8
+
9
+ from uipath._cli._evals._models._trajectory_span import TrajectoryEvaluationTrace
10
+ from uipath.eval.models import EvaluationResult
11
+
12
+ from ..._services import UiPathLlmChatService
13
+ from ..._utils.constants import COMMUNITY_agents_SUFFIX
14
+ from ..models.models import AgentExecution, LLMResponse, NumericEvaluationResult
15
+ from .base_evaluator import BaseEvaluator
16
+
17
+
18
+ class TrajectoryEvaluator(BaseEvaluator[dict[str, Any]]):
19
+ """Evaluator that analyzes the trajectory/path taken to reach outputs."""
20
+
21
+ prompt: str
22
+ model: str
23
+ expected_agent_behavior_placeholder: str = "{{ExpectedAgentBehavior}}"
24
+ agent_run_history_placeholder: str = "{{AgentRunHistory}}"
25
+ llm: Optional[UiPathLlmChatService] = None
26
+
27
+ @field_validator("prompt")
28
+ @classmethod
29
+ def validate_prompt_placeholder(cls, v: str) -> str:
30
+ """Validate that prompt contains required placeholders."""
31
+ if "{{ExpectedAgentBehavior}}" not in v or "{{AgentRunHistory}}" not in v:
32
+ raise ValueError(
33
+ "Prompt must contain {ExpectedAgentBehavior} and {{AgentRunHistory}} placeholders"
34
+ )
35
+ return v
36
+
37
+ def model_post_init(self, __context):
38
+ """Initialize the LLM service after model creation."""
39
+ super().model_post_init(__context)
40
+ self._initialize_llm()
41
+
42
+ def _initialize_llm(self):
43
+ """Initialize the LLM used for evaluation."""
44
+ from uipath import UiPath
45
+
46
+ uipath = UiPath()
47
+ self.llm = uipath.llm
48
+
49
+ async def evaluate(
50
+ self,
51
+ agent_execution: AgentExecution,
52
+ evaluation_criteria: dict[str, Any],
53
+ ) -> EvaluationResult:
54
+ """Evaluate using trajectory analysis.
55
+
56
+ Analyzes the execution path and decision sequence taken by the agent.
57
+
58
+ Args:
59
+ agent_execution: The execution details containing:
60
+ - agent_input: The input received by the agent
61
+ - actual_output: The actual output from the agent
62
+ - agent_trace: The execution spans to use for the evaluation
63
+ - expected_agent_behavior: The expected agent behavior
64
+ evaluation_criteria: The criteria to evaluate
65
+ Returns:
66
+ EvaluationResult: Score based on trajectory analysis
67
+
68
+ Raises:
69
+ NotImplementedError: This evaluator is not yet implemented
70
+ """
71
+ evaluation_prompt = self._create_evaluation_prompt(
72
+ expected_agent_behavior=agent_execution.expected_agent_behavior,
73
+ agent_run_history=agent_execution.agent_trace,
74
+ )
75
+
76
+ llm_response = await self._get_llm_response(evaluation_prompt)
77
+
78
+ return NumericEvaluationResult(
79
+ score=llm_response.score,
80
+ details=llm_response.justification,
81
+ )
82
+
83
+ def _create_evaluation_prompt(
84
+ self,
85
+ expected_agent_behavior: Any,
86
+ agent_run_history: Any,
87
+ ) -> str:
88
+ """Create the evaluation prompt for the LLM."""
89
+ formatted_prompt = self.prompt.replace(
90
+ self.expected_agent_behavior_placeholder,
91
+ str(expected_agent_behavior),
92
+ )
93
+
94
+ # Trim extra properties from the spans (such as timestamps which are not relevant to the eval)
95
+ if (
96
+ isinstance(agent_run_history, list)
97
+ and agent_run_history
98
+ and isinstance(agent_run_history[0], ReadableSpan)
99
+ ):
100
+ trajectory_trace = TrajectoryEvaluationTrace.from_readable_spans(
101
+ agent_run_history
102
+ )
103
+ agent_run_history = str(trajectory_trace.spans)
104
+ else:
105
+ agent_run_history = str(agent_run_history)
106
+
107
+ formatted_prompt = formatted_prompt.replace(
108
+ self.agent_run_history_placeholder,
109
+ agent_run_history,
110
+ )
111
+
112
+ return formatted_prompt
113
+
114
+ async def _get_llm_response(self, evaluation_prompt: str) -> LLMResponse:
115
+ """Get response from the LLM.
116
+
117
+ Args:
118
+ evaluation_prompt: The formatted prompt to send to the LLM
119
+
120
+ Returns:
121
+ LLMResponse with score and justification
122
+ """
123
+ if not self.llm:
124
+ raise ValueError("LLM service not initialized")
125
+
126
+ model = self.model
127
+ if model.endswith(COMMUNITY_agents_SUFFIX):
128
+ model = model.replace(COMMUNITY_agents_SUFFIX, "")
129
+
130
+ # Prepare the request
131
+ request_data = {
132
+ "model": model,
133
+ "messages": [{"role": "user", "content": evaluation_prompt}],
134
+ "response_format": {
135
+ "type": "json_schema",
136
+ "json_schema": {
137
+ "name": "evaluation_response",
138
+ "schema": {
139
+ "type": "object",
140
+ "properties": {
141
+ "score": {
142
+ "type": "number",
143
+ "minimum": 0,
144
+ "maximum": 100,
145
+ "description": "Score between 0 and 100",
146
+ },
147
+ "justification": {
148
+ "type": "string",
149
+ "description": "Explanation for the score",
150
+ },
151
+ },
152
+ "required": ["score", "justification"],
153
+ },
154
+ },
155
+ },
156
+ }
157
+
158
+ response = await self.llm.chat_completions(**request_data)
159
+ return LLMResponse(**json.loads(response.choices[-1].message.content))
@@ -15,6 +15,7 @@ class AgentExecution(BaseModel):
15
15
  agent_input: Optional[Dict[str, Any]]
16
16
  agent_output: Dict[str, Any]
17
17
  agent_trace: list[ReadableSpan]
18
+ expected_agent_behavior: Optional[str] = None
18
19
 
19
20
 
20
21
  class LLMResponse(BaseModel):
@@ -2092,7 +2092,7 @@ wheels = [
2092
2092
 
2093
2093
  [[package]]
2094
2094
  name = "uipath"
2095
- version = "2.1.66"
2095
+ version = "2.1.67"
2096
2096
  source = { editable = "." }
2097
2097
  dependencies = [
2098
2098
  { name = "azure-monitor-opentelemetry" },
@@ -1,36 +0,0 @@
1
- """Trajectory evaluator for analyzing execution paths and decision sequences."""
2
-
3
- from typing import TypeVar
4
-
5
- from uipath.eval.models import EvaluationResult
6
-
7
- from ..models.models import AgentExecution
8
- from .base_evaluator import BaseEvaluator
9
-
10
- T = TypeVar("T")
11
-
12
-
13
- class TrajectoryEvaluator(BaseEvaluator[T]):
14
- """Evaluator that analyzes the trajectory/path taken to reach outputs."""
15
-
16
- async def evaluate(
17
- self, agent_execution: AgentExecution, evaluation_criteria: T
18
- ) -> EvaluationResult:
19
- """Evaluate using trajectory analysis.
20
-
21
- Analyzes the execution path and decision sequence taken by the agent
22
- to assess the quality of the reasoning process.
23
-
24
- Args:
25
- agent_execution: The execution details containing:
26
- - agent_input: The input received by the agent
27
- - actual_output: The actual output from the agent
28
- - spans: The execution spans to use for the evaluation
29
- evaluation_criteria: The criteria to evaluate
30
- Returns:
31
- EvaluationResult: Score based on trajectory analysis
32
-
33
- Raises:
34
- NotImplementedError: This evaluator is not yet implemented
35
- """
36
- raise NotImplementedError()
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