arize-phoenix 8.4.1__tar.gz → 8.5.0__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.

Potentially problematic release.


This version of arize-phoenix might be problematic. Click here for more details.

Files changed (372) hide show
  1. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/PKG-INFO +1 -1
  2. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/context.py +2 -0
  3. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/__init__.py +2 -0
  4. arize_phoenix-8.5.0/src/phoenix/server/api/dataloaders/num_spans_per_trace.py +28 -0
  5. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/queries.py +14 -6
  6. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/Trace.py +7 -0
  7. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/app.py +2 -0
  8. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/static/.vite/manifest.json +9 -9
  9. arize_phoenix-8.4.1/src/phoenix/server/static/assets/components-CRlSj2mp.js → arize_phoenix-8.5.0/src/phoenix/server/static/assets/components-BrNPaYzp.js +1 -1
  10. arize_phoenix-8.4.1/src/phoenix/server/static/assets/index-YUNmSSFA.js → arize_phoenix-8.5.0/src/phoenix/server/static/assets/index-CRMcwhZY.js +1 -1
  11. arize_phoenix-8.4.1/src/phoenix/server/static/assets/pages-o_YaLL0c.js → arize_phoenix-8.5.0/src/phoenix/server/static/assets/pages-B8pBNWCb.js +4 -4
  12. arize_phoenix-8.5.0/src/phoenix/version.py +1 -0
  13. arize_phoenix-8.4.1/src/phoenix/version.py +0 -1
  14. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/.gitignore +0 -0
  15. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/IP_NOTICE +0 -0
  16. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/LICENSE +0 -0
  17. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/README.md +0 -0
  18. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/pyproject.toml +0 -0
  19. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/__init__.py +0 -0
  20. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/auth.py +0 -0
  21. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/config.py +0 -0
  22. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/core/__init__.py +0 -0
  23. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/core/embedding_dimension.py +0 -0
  24. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/core/model.py +0 -0
  25. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/core/model_schema.py +0 -0
  26. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/core/model_schema_adapter.py +0 -0
  27. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/datetime_utils.py +0 -0
  28. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/README.md +0 -0
  29. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/__init__.py +0 -0
  30. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/alembic.ini +0 -0
  31. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/bulk_inserter.py +0 -0
  32. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/engines.py +0 -0
  33. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/enums.py +0 -0
  34. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/facilitator.py +0 -0
  35. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/helpers.py +0 -0
  36. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/insertion/__init__.py +0 -0
  37. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/insertion/constants.py +0 -0
  38. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/insertion/dataset.py +0 -0
  39. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/insertion/document_annotation.py +0 -0
  40. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/insertion/evaluation.py +0 -0
  41. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/insertion/helpers.py +0 -0
  42. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/insertion/span.py +0 -0
  43. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/insertion/span_annotation.py +0 -0
  44. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/insertion/trace_annotation.py +0 -0
  45. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/insertion/types.py +0 -0
  46. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/migrate.py +0 -0
  47. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/migrations/__init__.py +0 -0
  48. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/migrations/data_migration_scripts/__init__.py +0 -0
  49. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/migrations/data_migration_scripts/populate_project_sessions.py +0 -0
  50. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/migrations/env.py +0 -0
  51. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/migrations/script.py.mako +0 -0
  52. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/migrations/versions/10460e46d750_datasets.py +0 -0
  53. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/migrations/versions/3be8647b87d8_add_token_columns_to_spans_table.py +0 -0
  54. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/migrations/versions/4ded9e43755f_create_project_sessions_table.py +0 -0
  55. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/migrations/versions/bc8fea3c2bc8_add_prompt_tables.py +0 -0
  56. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/migrations/versions/cd164e83824f_users_and_tokens.py +0 -0
  57. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/migrations/versions/cf03bd6bae1d_init.py +0 -0
  58. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/models.py +0 -0
  59. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/types/__init__.py +0 -0
  60. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/types/identifier.py +0 -0
  61. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/db/types/model_provider.py +0 -0
  62. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/exceptions.py +0 -0
  63. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/experiments/__init__.py +0 -0
  64. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/experiments/evaluators/__init__.py +0 -0
  65. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/experiments/evaluators/base.py +0 -0
  66. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/experiments/evaluators/code_evaluators.py +0 -0
  67. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/experiments/evaluators/llm_evaluators.py +0 -0
  68. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/experiments/evaluators/utils.py +0 -0
  69. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/experiments/functions.py +0 -0
  70. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/experiments/tracing.py +0 -0
  71. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/experiments/types.py +0 -0
  72. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/experiments/utils.py +0 -0
  73. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/inferences/__init__.py +0 -0
  74. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/inferences/errors.py +0 -0
  75. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/inferences/fixtures.py +0 -0
  76. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/inferences/inferences.py +0 -0
  77. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/inferences/schema.py +0 -0
  78. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/inferences/validation.py +0 -0
  79. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/logging/__init__.py +0 -0
  80. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/logging/_config.py +0 -0
  81. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/logging/_filter.py +0 -0
  82. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/logging/_formatter.py +0 -0
  83. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/metrics/README.md +0 -0
  84. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/metrics/__init__.py +0 -0
  85. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/metrics/binning.py +0 -0
  86. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/metrics/metrics.py +0 -0
  87. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/metrics/mixins.py +0 -0
  88. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/metrics/retrieval_metrics.py +0 -0
  89. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/metrics/timeseries.py +0 -0
  90. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/metrics/wrappers.py +0 -0
  91. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/pointcloud/__init__.py +0 -0
  92. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/pointcloud/clustering.py +0 -0
  93. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/pointcloud/pointcloud.py +0 -0
  94. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/pointcloud/projectors.py +0 -0
  95. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/pointcloud/umap_parameters.py +0 -0
  96. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/py.typed +0 -0
  97. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/__init__.py +0 -0
  98. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/README.md +0 -0
  99. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/__init__.py +0 -0
  100. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/auth.py +0 -0
  101. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/annotation_summaries.py +0 -0
  102. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/average_experiment_run_latency.py +0 -0
  103. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/cache/__init__.py +0 -0
  104. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/cache/two_tier_cache.py +0 -0
  105. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/dataset_example_revisions.py +0 -0
  106. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/dataset_example_spans.py +0 -0
  107. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/document_evaluation_summaries.py +0 -0
  108. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/document_evaluations.py +0 -0
  109. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/document_retrieval_metrics.py +0 -0
  110. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/experiment_annotation_summaries.py +0 -0
  111. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/experiment_error_rates.py +0 -0
  112. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/experiment_run_annotations.py +0 -0
  113. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/experiment_run_counts.py +0 -0
  114. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/experiment_sequence_number.py +0 -0
  115. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/latency_ms_quantile.py +0 -0
  116. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/min_start_or_max_end_times.py +0 -0
  117. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/num_child_spans.py +0 -0
  118. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/project_by_name.py +0 -0
  119. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/prompt_version_sequence_number.py +0 -0
  120. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/record_counts.py +0 -0
  121. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/session_io.py +0 -0
  122. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/session_num_traces.py +0 -0
  123. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/session_num_traces_with_error.py +0 -0
  124. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/session_token_usages.py +0 -0
  125. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/session_trace_latency_ms_quantile.py +0 -0
  126. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/span_annotations.py +0 -0
  127. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/span_by_id.py +0 -0
  128. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/span_dataset_examples.py +0 -0
  129. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/span_descendants.py +0 -0
  130. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/span_projects.py +0 -0
  131. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/table_fields.py +0 -0
  132. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/token_counts.py +0 -0
  133. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/trace_by_trace_ids.py +0 -0
  134. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/trace_root_spans.py +0 -0
  135. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/user_roles.py +0 -0
  136. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/dataloaders/users.py +0 -0
  137. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/exceptions.py +0 -0
  138. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/helpers/__init__.py +0 -0
  139. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/helpers/dataset_helpers.py +0 -0
  140. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/helpers/experiment_run_filters.py +0 -0
  141. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/helpers/playground_clients.py +0 -0
  142. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/helpers/playground_registry.py +0 -0
  143. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/helpers/playground_spans.py +0 -0
  144. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/helpers/prompts/__init__.py +0 -0
  145. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/helpers/prompts/conversions/__init__.py +0 -0
  146. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/helpers/prompts/conversions/anthropic.py +0 -0
  147. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/helpers/prompts/conversions/openai.py +0 -0
  148. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/helpers/prompts/models.py +0 -0
  149. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/AddExamplesToDatasetInput.py +0 -0
  150. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/AddSpansToDatasetInput.py +0 -0
  151. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/ChatCompletionInput.py +0 -0
  152. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/ChatCompletionMessageInput.py +0 -0
  153. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/ClearProjectInput.py +0 -0
  154. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/ClusterInput.py +0 -0
  155. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/Coordinates.py +0 -0
  156. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/CreateDatasetInput.py +0 -0
  157. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/CreateSpanAnnotationInput.py +0 -0
  158. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/CreateTraceAnnotationInput.py +0 -0
  159. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/DataQualityMetricInput.py +0 -0
  160. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/DatasetExampleInput.py +0 -0
  161. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/DatasetSort.py +0 -0
  162. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/DatasetVersionSort.py +0 -0
  163. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/DeleteAnnotationsInput.py +0 -0
  164. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/DeleteDatasetExamplesInput.py +0 -0
  165. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/DeleteDatasetInput.py +0 -0
  166. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/DeleteExperimentsInput.py +0 -0
  167. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/DimensionFilter.py +0 -0
  168. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/DimensionInput.py +0 -0
  169. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/GenerativeModelInput.py +0 -0
  170. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/Granularity.py +0 -0
  171. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/InvocationParameters.py +0 -0
  172. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/PatchAnnotationInput.py +0 -0
  173. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/PatchDatasetExamplesInput.py +0 -0
  174. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/PatchDatasetInput.py +0 -0
  175. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/PerformanceMetricInput.py +0 -0
  176. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/ProjectSessionSort.py +0 -0
  177. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/PromptTemplateOptions.py +0 -0
  178. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/PromptVersionInput.py +0 -0
  179. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/SpanAnnotationSort.py +0 -0
  180. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/SpanSort.py +0 -0
  181. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/TimeRange.py +0 -0
  182. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/TraceAnnotationSort.py +0 -0
  183. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/UserRoleInput.py +0 -0
  184. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/input_types/__init__.py +0 -0
  185. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/interceptor.py +0 -0
  186. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/mutations/__init__.py +0 -0
  187. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/mutations/api_key_mutations.py +0 -0
  188. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/mutations/chat_mutations.py +0 -0
  189. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/mutations/dataset_mutations.py +0 -0
  190. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/mutations/experiment_mutations.py +0 -0
  191. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/mutations/export_events_mutations.py +0 -0
  192. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/mutations/project_mutations.py +0 -0
  193. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/mutations/prompt_label_mutations.py +0 -0
  194. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/mutations/prompt_mutations.py +0 -0
  195. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/mutations/prompt_version_tag_mutations.py +0 -0
  196. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/mutations/span_annotations_mutations.py +0 -0
  197. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/mutations/trace_annotations_mutations.py +0 -0
  198. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/mutations/user_mutations.py +0 -0
  199. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/openapi/__init__.py +0 -0
  200. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/openapi/main.py +0 -0
  201. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/openapi/schema.py +0 -0
  202. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/routers/__init__.py +0 -0
  203. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/routers/auth.py +0 -0
  204. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/routers/embeddings.py +0 -0
  205. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/routers/oauth2.py +0 -0
  206. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/routers/utils.py +0 -0
  207. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/routers/v1/__init__.py +0 -0
  208. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/routers/v1/datasets.py +0 -0
  209. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/routers/v1/evaluations.py +0 -0
  210. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/routers/v1/experiment_evaluations.py +0 -0
  211. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/routers/v1/experiment_runs.py +0 -0
  212. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/routers/v1/experiments.py +0 -0
  213. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/routers/v1/models.py +0 -0
  214. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/routers/v1/prompts.py +0 -0
  215. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/routers/v1/spans.py +0 -0
  216. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/routers/v1/traces.py +0 -0
  217. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/routers/v1/utils.py +0 -0
  218. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/schema.py +0 -0
  219. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/subscriptions.py +0 -0
  220. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/Annotation.py +0 -0
  221. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/AnnotationSummary.py +0 -0
  222. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/AnnotatorKind.py +0 -0
  223. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/ApiKey.py +0 -0
  224. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/AuthMethod.py +0 -0
  225. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/ChatCompletionMessageRole.py +0 -0
  226. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/ChatCompletionSubscriptionPayload.py +0 -0
  227. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/Cluster.py +0 -0
  228. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/CreateDatasetPayload.py +0 -0
  229. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/DataQualityMetric.py +0 -0
  230. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/Dataset.py +0 -0
  231. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/DatasetExample.py +0 -0
  232. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/DatasetExampleRevision.py +0 -0
  233. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/DatasetValues.py +0 -0
  234. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/DatasetVersion.py +0 -0
  235. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/Dimension.py +0 -0
  236. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/DimensionDataType.py +0 -0
  237. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/DimensionShape.py +0 -0
  238. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/DimensionType.py +0 -0
  239. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/DimensionWithValue.py +0 -0
  240. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/DocumentEvaluationSummary.py +0 -0
  241. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/DocumentRetrievalMetrics.py +0 -0
  242. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/EmbeddingDimension.py +0 -0
  243. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/EmbeddingMetadata.py +0 -0
  244. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/Evaluation.py +0 -0
  245. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/EvaluationSummary.py +0 -0
  246. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/Event.py +0 -0
  247. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/EventMetadata.py +0 -0
  248. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/ExampleRevisionInterface.py +0 -0
  249. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/Experiment.py +0 -0
  250. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/ExperimentAnnotationSummary.py +0 -0
  251. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/ExperimentComparison.py +0 -0
  252. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/ExperimentRun.py +0 -0
  253. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/ExperimentRunAnnotation.py +0 -0
  254. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/ExportedFile.py +0 -0
  255. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/Functionality.py +0 -0
  256. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/GenerativeModel.py +0 -0
  257. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/GenerativeProvider.py +0 -0
  258. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/Identifier.py +0 -0
  259. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/Inferences.py +0 -0
  260. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/InferencesRole.py +0 -0
  261. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/LabelFraction.py +0 -0
  262. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/MimeType.py +0 -0
  263. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/Model.py +0 -0
  264. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/NumericRange.py +0 -0
  265. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/PerformanceMetric.py +0 -0
  266. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/Project.py +0 -0
  267. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/ProjectSession.py +0 -0
  268. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/Prompt.py +0 -0
  269. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/PromptLabel.py +0 -0
  270. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/PromptResponse.py +0 -0
  271. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/PromptVersion.py +0 -0
  272. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/PromptVersionTag.py +0 -0
  273. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/PromptVersionTemplate.py +0 -0
  274. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/ResponseFormat.py +0 -0
  275. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/Retrieval.py +0 -0
  276. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/ScalarDriftMetricEnum.py +0 -0
  277. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/Segments.py +0 -0
  278. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/SortDir.py +0 -0
  279. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/Span.py +0 -0
  280. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/SpanAnnotation.py +0 -0
  281. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/SpanIOValue.py +0 -0
  282. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/SystemApiKey.py +0 -0
  283. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/TimeSeries.py +0 -0
  284. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/TokenUsage.py +0 -0
  285. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/ToolDefinition.py +0 -0
  286. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/TraceAnnotation.py +0 -0
  287. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/UMAPPoints.py +0 -0
  288. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/User.py +0 -0
  289. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/UserApiKey.py +0 -0
  290. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/UserRole.py +0 -0
  291. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/ValidationResult.py +0 -0
  292. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/VectorDriftMetricEnum.py +0 -0
  293. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/__init__.py +0 -0
  294. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/node.py +0 -0
  295. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/types/pagination.py +0 -0
  296. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/api/utils.py +0 -0
  297. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/bearer_auth.py +0 -0
  298. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/dml_event.py +0 -0
  299. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/dml_event_handler.py +0 -0
  300. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/email/__init__.py +0 -0
  301. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/email/sender.py +0 -0
  302. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/email/templates/__init__.py +0 -0
  303. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/email/templates/password_reset.html +0 -0
  304. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/email/types.py +0 -0
  305. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/grpc_server.py +0 -0
  306. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/jwt_store.py +0 -0
  307. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/main.py +0 -0
  308. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/oauth2.py +0 -0
  309. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/openapi/__init__.py +0 -0
  310. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/prometheus.py +0 -0
  311. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/rate_limiters.py +0 -0
  312. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/static/apple-touch-icon-114x114.png +0 -0
  313. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/static/apple-touch-icon-120x120.png +0 -0
  314. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/static/apple-touch-icon-144x144.png +0 -0
  315. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/static/apple-touch-icon-152x152.png +0 -0
  316. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/static/apple-touch-icon-180x180.png +0 -0
  317. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/static/apple-touch-icon-72x72.png +0 -0
  318. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/static/apple-touch-icon-76x76.png +0 -0
  319. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/static/apple-touch-icon.png +0 -0
  320. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/static/assets/vendor-CRRq3WgM.js +0 -0
  321. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/static/assets/vendor-Cg6lcjUC.css +0 -0
  322. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/static/assets/vendor-arizeai-Dq64X_0o.js +0 -0
  323. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/static/assets/vendor-codemirror-C1oevlym.js +0 -0
  324. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/static/assets/vendor-recharts-CPj01S89.js +0 -0
  325. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/static/assets/vendor-shiki-aY7rz1pm.js +0 -0
  326. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/static/assets/vendor-three-C-AGeJYv.js +0 -0
  327. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/static/favicon.ico +0 -0
  328. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/static/modernizr.js +0 -0
  329. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/telemetry.py +0 -0
  330. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/templates/__init__.py +0 -0
  331. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/templates/index.html +0 -0
  332. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/thread_server.py +0 -0
  333. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/server/types.py +0 -0
  334. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/services.py +0 -0
  335. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/session/__init__.py +0 -0
  336. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/session/client.py +0 -0
  337. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/session/data_extractor.py +0 -0
  338. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/session/evaluation.py +0 -0
  339. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/session/session.py +0 -0
  340. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/settings.py +0 -0
  341. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/__init__.py +0 -0
  342. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/attributes.py +0 -0
  343. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/dsl/README.md +0 -0
  344. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/dsl/__init__.py +0 -0
  345. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/dsl/filter.py +0 -0
  346. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/dsl/helpers.py +0 -0
  347. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/dsl/query.py +0 -0
  348. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/errors.py +0 -0
  349. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/evaluation_conventions.py +0 -0
  350. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/exporter.py +0 -0
  351. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/fixtures.py +0 -0
  352. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/otel.py +0 -0
  353. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/projects.py +0 -0
  354. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/schemas.py +0 -0
  355. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/span_evaluations.py +0 -0
  356. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/span_json_decoder.py +0 -0
  357. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/span_json_encoder.py +0 -0
  358. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/trace_dataset.py +0 -0
  359. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/utils.py +0 -0
  360. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/v1/__init__.py +0 -0
  361. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/v1/evaluation_pb2.py +0 -0
  362. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/trace/v1/evaluation_pb2.pyi +0 -0
  363. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/utilities/__init__.py +0 -0
  364. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/utilities/client.py +0 -0
  365. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/utilities/deprecation.py +0 -0
  366. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/utilities/error_handling.py +0 -0
  367. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/utilities/json.py +0 -0
  368. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/utilities/logging.py +0 -0
  369. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/utilities/project.py +0 -0
  370. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/utilities/re.py +0 -0
  371. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/utilities/span_store.py +0 -0
  372. {arize_phoenix-8.4.1 → arize_phoenix-8.5.0}/src/phoenix/utilities/template_formatters.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arize-phoenix
3
- Version: 8.4.1
3
+ Version: 8.5.0
4
4
  Summary: AI Observability and Evaluation
5
5
  Project-URL: Documentation, https://docs.arize.com/phoenix/
6
6
  Project-URL: Issues, https://github.com/Arize-ai/phoenix/issues
@@ -30,6 +30,7 @@ from phoenix.server.api.dataloaders import (
30
30
  LatencyMsQuantileDataLoader,
31
31
  MinStartOrMaxEndTimeDataLoader,
32
32
  NumChildSpansDataLoader,
33
+ NumSpansPerTraceDataLoader,
33
34
  ProjectByNameDataLoader,
34
35
  PromptVersionSequenceNumberDataLoader,
35
36
  RecordCountDataLoader,
@@ -78,6 +79,7 @@ class DataLoaders:
78
79
  latency_ms_quantile: LatencyMsQuantileDataLoader
79
80
  min_start_or_max_end_times: MinStartOrMaxEndTimeDataLoader
80
81
  num_child_spans: NumChildSpansDataLoader
82
+ num_spans_per_trace: NumSpansPerTraceDataLoader
81
83
  project_fields: TableFieldsDataLoader
82
84
  prompt_version_sequence_number: PromptVersionSequenceNumberDataLoader
83
85
  record_counts: RecordCountDataLoader
@@ -18,6 +18,7 @@ from .experiment_sequence_number import ExperimentSequenceNumberDataLoader
18
18
  from .latency_ms_quantile import LatencyMsQuantileCache, LatencyMsQuantileDataLoader
19
19
  from .min_start_or_max_end_times import MinStartOrMaxEndTimeCache, MinStartOrMaxEndTimeDataLoader
20
20
  from .num_child_spans import NumChildSpansDataLoader
21
+ from .num_spans_per_trace import NumSpansPerTraceDataLoader
21
22
  from .project_by_name import ProjectByNameDataLoader
22
23
  from .prompt_version_sequence_number import PromptVersionSequenceNumberDataLoader
23
24
  from .record_counts import RecordCountCache, RecordCountDataLoader
@@ -55,6 +56,7 @@ __all__ = [
55
56
  "LatencyMsQuantileDataLoader",
56
57
  "MinStartOrMaxEndTimeDataLoader",
57
58
  "NumChildSpansDataLoader",
59
+ "NumSpansPerTraceDataLoader",
58
60
  "PromptVersionSequenceNumberDataLoader",
59
61
  "RecordCountDataLoader",
60
62
  "SessionIODataLoader",
@@ -0,0 +1,28 @@
1
+ from typing import Iterable
2
+
3
+ from sqlalchemy import func, select
4
+ from strawberry.dataloader import DataLoader
5
+ from typing_extensions import TypeAlias
6
+
7
+ from phoenix.db.models import Span, Trace
8
+ from phoenix.server.types import DbSessionFactory
9
+
10
+ TraceRowId: TypeAlias = int
11
+
12
+ Key: TypeAlias = TraceRowId
13
+ Result: TypeAlias = int
14
+
15
+
16
+ class NumSpansPerTraceDataLoader(DataLoader[Key, Result]):
17
+ def __init__(self, db: DbSessionFactory) -> None:
18
+ super().__init__(load_fn=self._load_fn)
19
+ self._db = db
20
+
21
+ async def _load_fn(self, keys: Iterable[Key]) -> list[Result]:
22
+ stmt = (
23
+ select(Trace.id, func.count()).join(Span).where(Trace.id.in_(keys)).group_by(Trace.id)
24
+ )
25
+ async with self._db() as session:
26
+ data = await session.stream(stmt)
27
+ result: dict[Key, Result] = {id_: cnt async for id_, cnt in data}
28
+ return [result.get(id_, 0) for id_ in keys]
@@ -86,7 +86,7 @@ class ModelsInput:
86
86
  @strawberry.type
87
87
  class DbTableStats:
88
88
  table_name: str
89
- num_bytes: int
89
+ num_bytes: float
90
90
 
91
91
 
92
92
  @strawberry.type
@@ -796,9 +796,13 @@ class Query:
796
796
  ) -> list[DbTableStats]:
797
797
  if info.context.db.dialect is SupportedSQLDialect.SQLITE:
798
798
  stmt = text("SELECT name, sum(pgsize) FROM dbstat group by name;")
799
- async with info.context.db() as session:
800
- stats = cast(Iterable[tuple[str, int]], await session.execute(stmt))
801
- stats = _consolidate_sqlite_db_table_stats(stats)
799
+ try:
800
+ async with info.context.db() as session:
801
+ stats = cast(Iterable[tuple[str, int]], await session.execute(stmt))
802
+ stats = _consolidate_sqlite_db_table_stats(stats)
803
+ except Exception:
804
+ # TODO: temporary workaround until we can reproduce the error
805
+ return []
802
806
  elif info.context.db.dialect is SupportedSQLDialect.POSTGRESQL:
803
807
  stmt = text(f"""\
804
808
  SELECT c.relname, pg_total_relation_size(c.oid)
@@ -807,8 +811,12 @@ class Query:
807
811
  WHERE c.relkind = 'r'
808
812
  AND n.nspname = '{getenv(ENV_PHOENIX_SQL_DATABASE_SCHEMA) or "public"}';
809
813
  """)
810
- async with info.context.db() as session:
811
- stats = cast(Iterable[tuple[str, int]], await session.execute(stmt))
814
+ try:
815
+ async with info.context.db() as session:
816
+ stats = cast(Iterable[tuple[str, int]], await session.execute(stmt))
817
+ except Exception:
818
+ # TODO: temporary workaround until we can reproduce the error
819
+ return []
812
820
  else:
813
821
  assert_never(info.context.db.dialect)
814
822
  return [
@@ -171,6 +171,13 @@ class Trace(Node):
171
171
  return None
172
172
  return Span(span_rowid=span_rowid)
173
173
 
174
+ @strawberry.field
175
+ async def num_spans(
176
+ self,
177
+ info: Info[Context, None],
178
+ ) -> int:
179
+ return await info.context.data_loaders.num_spans_per_trace.load(self.trace_rowid)
180
+
174
181
  @strawberry.field
175
182
  async def spans(
176
183
  self,
@@ -86,6 +86,7 @@ from phoenix.server.api.dataloaders import (
86
86
  LatencyMsQuantileDataLoader,
87
87
  MinStartOrMaxEndTimeDataLoader,
88
88
  NumChildSpansDataLoader,
89
+ NumSpansPerTraceDataLoader,
89
90
  ProjectByNameDataLoader,
90
91
  PromptVersionSequenceNumberDataLoader,
91
92
  RecordCountDataLoader,
@@ -616,6 +617,7 @@ def create_graphql_router(
616
617
  ),
617
618
  ),
618
619
  num_child_spans=NumChildSpansDataLoader(db),
620
+ num_spans_per_trace=NumSpansPerTraceDataLoader(db),
619
621
  project_fields=TableFieldsDataLoader(db, models.Project),
620
622
  prompt_version_sequence_number=PromptVersionSequenceNumberDataLoader(db),
621
623
  record_counts=RecordCountDataLoader(
@@ -1,22 +1,22 @@
1
1
  {
2
- "_components-CRlSj2mp.js": {
3
- "file": "assets/components-CRlSj2mp.js",
2
+ "_components-BrNPaYzp.js": {
3
+ "file": "assets/components-BrNPaYzp.js",
4
4
  "name": "components",
5
5
  "imports": [
6
6
  "_vendor-CRRq3WgM.js",
7
- "_pages-o_YaLL0c.js",
7
+ "_pages-B8pBNWCb.js",
8
8
  "_vendor-arizeai-Dq64X_0o.js",
9
9
  "_vendor-codemirror-C1oevlym.js",
10
10
  "_vendor-three-C-AGeJYv.js"
11
11
  ]
12
12
  },
13
- "_pages-o_YaLL0c.js": {
14
- "file": "assets/pages-o_YaLL0c.js",
13
+ "_pages-B8pBNWCb.js": {
14
+ "file": "assets/pages-B8pBNWCb.js",
15
15
  "name": "pages",
16
16
  "imports": [
17
17
  "_vendor-CRRq3WgM.js",
18
18
  "_vendor-arizeai-Dq64X_0o.js",
19
- "_components-CRlSj2mp.js",
19
+ "_components-BrNPaYzp.js",
20
20
  "_vendor-codemirror-C1oevlym.js",
21
21
  "_vendor-recharts-CPj01S89.js"
22
22
  ]
@@ -69,15 +69,15 @@
69
69
  "name": "vendor-three"
70
70
  },
71
71
  "index.tsx": {
72
- "file": "assets/index-YUNmSSFA.js",
72
+ "file": "assets/index-CRMcwhZY.js",
73
73
  "name": "index",
74
74
  "src": "index.tsx",
75
75
  "isEntry": true,
76
76
  "imports": [
77
77
  "_vendor-CRRq3WgM.js",
78
78
  "_vendor-arizeai-Dq64X_0o.js",
79
- "_pages-o_YaLL0c.js",
80
- "_components-CRlSj2mp.js",
79
+ "_pages-B8pBNWCb.js",
80
+ "_components-BrNPaYzp.js",
81
81
  "_vendor-three-C-AGeJYv.js",
82
82
  "_vendor-codemirror-C1oevlym.js",
83
83
  "_vendor-shiki-aY7rz1pm.js",
@@ -1,4 +1,4 @@
1
- import{r as g,R as j,j as e,u as ba,a as Me,e as a1,s as V1,b as D1,c as $e,d as Q1,f as gi,g as fe,h as hi,i as fi,k as q1,l,m as Ci,n as Te,C as o1,o as We,p as Qe,q as bi,t as vi,v as R,w as ln,L as va,x as ya,y as La,z as ce,A as v,B as g1,D as sn,E as p,F as wa,$ as yi,G as xa,H as ka,I as xe,J as Li,K as cn,M as wi,N as xi,O as q,P as X1,Q as O,S as K,T as N,U as Sa,V as Ma,W as ki,X as h1,Y as Ta,Z as Si,_ as Mi,a0 as Ti,a1 as Ii,a2 as Ai,a3 as zi,a4 as Ei,a5 as Vi,a6 as f1,a7 as Di,a8 as Pi,a9 as Oi,aa as _i,ab as ke,ac as Y1,ad as J1,ae as en,af as F,ag as Oe,ah as _n,ai as Fi,aj as Ri,ak as Ni,al as Ia,am as Hi,an as _,ao as Aa,ap as Ki,aq as ze,ar as dn,as as $i,at as un,au as Bi,av as Zi,aw as Gi,ax as ji,ay as Ui,az as Wi,aA as Fn,aB as Qi,aC as qi,aD as Xi,aE as Rn,aF as Yi,aG as Ji,aH as er,aI as P1,aJ as nr,aK as ar,aL as tr,aM as ir,aN as rr,aO as or,aP as lr,aQ as sr,aR as cr,aS as dr}from"./vendor-CRRq3WgM.js";import{a as Nn,R as ur,b as mr,c as pr,m as gr,T as hr,u as fr}from"./pages-o_YaLL0c.js";import{u as Cr,_ as za,a as re,T as X,E as Ea,b as br,c as vr,d as Se,D as C1,e as ye,f as yr,g as _e,A as qe,C as b1,P as mn,F as Lr,L as ve,h as Va,i as l1,j as v1,I as pn,k as gn,l as Da,m as wr,n as xr,o as Pa,p as kr,q as Sr,r as Mr,s as Oa,t as _a,v as Tr,w as Ir,x as Hn,y as Ar}from"./vendor-arizeai-Dq64X_0o.js";import{L as Fa,a as Ra,j as Na,E as hn,k as Ha,d as Ka,l as nn,b as $a,h as zr,c as Er,e as Vr,f as Dr,g as Pr,i as Or,s as _r,m as Ba,n as Xe,R as Ye,p as Fr,o as Rr}from"./vendor-codemirror-C1oevlym.js";import{V as Nr}from"./vendor-three-C-AGeJYv.js";const Za=function(){var n={defaultValue:null,kind:"LocalArgument",name:"clusters"},a={defaultValue:null,kind:"LocalArgument",name:"dataQualityMetricColumnName"},t={defaultValue:null,kind:"LocalArgument",name:"fetchDataQualityMetric"},i={defaultValue:null,kind:"LocalArgument",name:"fetchPerformanceMetric"},r={defaultValue:null,kind:"LocalArgument",name:"performanceMetric"},o=[{alias:null,args:null,kind:"ScalarField",name:"primaryValue",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"referenceValue",storageKey:null}],s=[{alias:null,args:[{kind:"Variable",name:"clusters",variableName:"clusters"}],concreteType:"Cluster",kind:"LinkedField",name:"clusters",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"eventIds",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"driftRatio",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"primaryToCorpusRatio",storageKey:null},{condition:"fetchDataQualityMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"columnName",variableName:"dataQualityMetricColumnName"},{kind:"Literal",name:"metric",value:"mean"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"dataQualityMetric",plural:!1,selections:o,storageKey:null}]},{condition:"fetchPerformanceMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"metric",variableName:"performanceMetric"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"performanceMetric",plural:!1,selections:o,storageKey:null}]}],storageKey:null}];return{fragment:{argumentDefinitions:[n,a,t,i,r],kind:"Fragment",metadata:null,name:"pointCloudStore_clusterMetricsQuery",selections:s,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[n,t,a,i,r],kind:"Operation",name:"pointCloudStore_clusterMetricsQuery",selections:s},params:{cacheID:"86666967012812887ac0a0149d2d2535",id:null,metadata:{},name:"pointCloudStore_clusterMetricsQuery",operationKind:"query",text:`query pointCloudStore_clusterMetricsQuery(
1
+ import{r as g,R as j,j as e,u as ba,a as Me,e as a1,s as V1,b as D1,c as $e,d as Q1,f as gi,g as fe,h as hi,i as fi,k as q1,l,m as Ci,n as Te,C as o1,o as We,p as Qe,q as bi,t as vi,v as R,w as ln,L as va,x as ya,y as La,z as ce,A as v,B as g1,D as sn,E as p,F as wa,$ as yi,G as xa,H as ka,I as xe,J as Li,K as cn,M as wi,N as xi,O as q,P as X1,Q as O,S as K,T as N,U as Sa,V as Ma,W as ki,X as h1,Y as Ta,Z as Si,_ as Mi,a0 as Ti,a1 as Ii,a2 as Ai,a3 as zi,a4 as Ei,a5 as Vi,a6 as f1,a7 as Di,a8 as Pi,a9 as Oi,aa as _i,ab as ke,ac as Y1,ad as J1,ae as en,af as F,ag as Oe,ah as _n,ai as Fi,aj as Ri,ak as Ni,al as Ia,am as Hi,an as _,ao as Aa,ap as Ki,aq as ze,ar as dn,as as $i,at as un,au as Bi,av as Zi,aw as Gi,ax as ji,ay as Ui,az as Wi,aA as Fn,aB as Qi,aC as qi,aD as Xi,aE as Rn,aF as Yi,aG as Ji,aH as er,aI as P1,aJ as nr,aK as ar,aL as tr,aM as ir,aN as rr,aO as or,aP as lr,aQ as sr,aR as cr,aS as dr}from"./vendor-CRRq3WgM.js";import{a as Nn,R as ur,b as mr,c as pr,m as gr,T as hr,u as fr}from"./pages-B8pBNWCb.js";import{u as Cr,_ as za,a as re,T as X,E as Ea,b as br,c as vr,d as Se,D as C1,e as ye,f as yr,g as _e,A as qe,C as b1,P as mn,F as Lr,L as ve,h as Va,i as l1,j as v1,I as pn,k as gn,l as Da,m as wr,n as xr,o as Pa,p as kr,q as Sr,r as Mr,s as Oa,t as _a,v as Tr,w as Ir,x as Hn,y as Ar}from"./vendor-arizeai-Dq64X_0o.js";import{L as Fa,a as Ra,j as Na,E as hn,k as Ha,d as Ka,l as nn,b as $a,h as zr,c as Er,e as Vr,f as Dr,g as Pr,i as Or,s as _r,m as Ba,n as Xe,R as Ye,p as Fr,o as Rr}from"./vendor-codemirror-C1oevlym.js";import{V as Nr}from"./vendor-three-C-AGeJYv.js";const Za=function(){var n={defaultValue:null,kind:"LocalArgument",name:"clusters"},a={defaultValue:null,kind:"LocalArgument",name:"dataQualityMetricColumnName"},t={defaultValue:null,kind:"LocalArgument",name:"fetchDataQualityMetric"},i={defaultValue:null,kind:"LocalArgument",name:"fetchPerformanceMetric"},r={defaultValue:null,kind:"LocalArgument",name:"performanceMetric"},o=[{alias:null,args:null,kind:"ScalarField",name:"primaryValue",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"referenceValue",storageKey:null}],s=[{alias:null,args:[{kind:"Variable",name:"clusters",variableName:"clusters"}],concreteType:"Cluster",kind:"LinkedField",name:"clusters",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"eventIds",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"driftRatio",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"primaryToCorpusRatio",storageKey:null},{condition:"fetchDataQualityMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"columnName",variableName:"dataQualityMetricColumnName"},{kind:"Literal",name:"metric",value:"mean"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"dataQualityMetric",plural:!1,selections:o,storageKey:null}]},{condition:"fetchPerformanceMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"metric",variableName:"performanceMetric"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"performanceMetric",plural:!1,selections:o,storageKey:null}]}],storageKey:null}];return{fragment:{argumentDefinitions:[n,a,t,i,r],kind:"Fragment",metadata:null,name:"pointCloudStore_clusterMetricsQuery",selections:s,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[n,t,a,i,r],kind:"Operation",name:"pointCloudStore_clusterMetricsQuery",selections:s},params:{cacheID:"86666967012812887ac0a0149d2d2535",id:null,metadata:{},name:"pointCloudStore_clusterMetricsQuery",operationKind:"query",text:`query pointCloudStore_clusterMetricsQuery(
2
2
  $clusters: [ClusterInput!]!
3
3
  $fetchDataQualityMetric: Boolean!
4
4
  $dataQualityMetricColumnName: String
@@ -1,4 +1,4 @@
1
- import{r as t,j as o,ba as z,l as c,O as w,R as P,E as b,cm as k,e1 as S,e2 as F,e3 as L,e4 as l,v as C,e5 as E}from"./vendor-CRRq3WgM.js";import{d as R,J as I,D as T,V as j,W as _}from"./vendor-arizeai-Dq64X_0o.js";import{L as A,r as D,d as O,e as G,F as N,f as V,P as M,h as W,M as m,g as U,D as q,i as B,E as J,j as K,k as $,p as H,l as Y,n as p,o as Q,q as X,s as Z,S as oo,t as lo,v as ao,w as ro,x as co,y as u,z as f,A as y,B as go,C as eo,G as bo,H as no,I as io,J as so,K as to,N as mo,O as po,Q as uo,U as fo,V as yo,W as ho,X as vo,Y as xo,Z as zo,_ as wo,$ as Po,a0 as ko,a1 as So,a2 as Fo,a3 as Lo,a4 as Co,a5 as Eo,a6 as Ro,a7 as Io,a8 as To,a9 as jo,aa as _o,ab as Ao,ac as Do}from"./pages-o_YaLL0c.js";import{W as Oo,dB as Go,b9 as No,U as Vo,dC as Mo,dD as Wo}from"./components-CRlSj2mp.js";import"./vendor-three-C-AGeJYv.js";import"./vendor-codemirror-C1oevlym.js";import"./vendor-shiki-aY7rz1pm.js";import"./vendor-recharts-CPj01S89.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const g of r)if(g.type==="childList")for(const n of g.addedNodes)n.tagName==="LINK"&&n.rel==="modulepreload"&&s(n)}).observe(document,{childList:!0,subtree:!0});function i(r){const g={};return r.integrity&&(g.integrity=r.integrity),r.referrerPolicy&&(g.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?g.credentials="include":r.crossOrigin==="anonymous"?g.credentials="omit":g.credentials="same-origin",g}function s(r){if(r.ep)return;r.ep=!0;const g=i(r);fetch(r.href,g)}})();const h="arize-phoenix-feature-flags",d={__RESET__:!1};function Uo(){const a=localStorage.getItem(h);if(!a)return d;try{const e=JSON.parse(a);return Object.assign({},d,e)}catch{return d}}const v=t.createContext(null);function qo(){const a=P.useContext(v);if(a===null)throw new Error("useFeatureFlags must be used within a FeatureFlagsProvider");return a}function Bo(a){const[e,i]=t.useState(Uo()),s=r=>{localStorage.setItem(h,JSON.stringify(r)),i(r)};return o(v.Provider,{value:{featureFlags:e,setFeatureFlags:s},children:o(Jo,{children:a.children})})}function Jo(a){const{children:e}=a,{featureFlags:i,setFeatureFlags:s}=qo(),[r,g]=t.useState(!1);return z("ctrl+shift+f",()=>g(!0)),c(w,{children:[e,o(T,{type:"modal",isDismissable:!0,onDismiss:()=>g(!1),children:r&&o(R,{title:"Feature Flags",children:o(Oo,{height:"size-1000",padding:"size-100",children:Object.keys(i).map(n=>o(I,{isSelected:i[n],onChange:x=>s({...i,[n]:x}),children:n},n))})})})]})}const Ko=b`
1
+ import{r as t,j as o,ba as z,l as c,O as w,R as P,E as b,cm as k,e1 as S,e2 as F,e3 as L,e4 as l,v as C,e5 as E}from"./vendor-CRRq3WgM.js";import{d as R,J as I,D as T,V as j,W as _}from"./vendor-arizeai-Dq64X_0o.js";import{L as A,r as D,d as O,e as G,F as N,f as V,P as M,h as W,M as m,g as U,D as q,i as B,E as J,j as K,k as $,p as H,l as Y,n as p,o as Q,q as X,s as Z,S as oo,t as lo,v as ao,w as ro,x as co,y as u,z as f,A as y,B as go,C as eo,G as bo,H as no,I as io,J as so,K as to,N as mo,O as po,Q as uo,U as fo,V as yo,W as ho,X as vo,Y as xo,Z as zo,_ as wo,$ as Po,a0 as ko,a1 as So,a2 as Fo,a3 as Lo,a4 as Co,a5 as Eo,a6 as Ro,a7 as Io,a8 as To,a9 as jo,aa as _o,ab as Ao,ac as Do}from"./pages-B8pBNWCb.js";import{W as Oo,dB as Go,b9 as No,U as Vo,dC as Mo,dD as Wo}from"./components-BrNPaYzp.js";import"./vendor-three-C-AGeJYv.js";import"./vendor-codemirror-C1oevlym.js";import"./vendor-shiki-aY7rz1pm.js";import"./vendor-recharts-CPj01S89.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const g of r)if(g.type==="childList")for(const n of g.addedNodes)n.tagName==="LINK"&&n.rel==="modulepreload"&&s(n)}).observe(document,{childList:!0,subtree:!0});function i(r){const g={};return r.integrity&&(g.integrity=r.integrity),r.referrerPolicy&&(g.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?g.credentials="include":r.crossOrigin==="anonymous"?g.credentials="omit":g.credentials="same-origin",g}function s(r){if(r.ep)return;r.ep=!0;const g=i(r);fetch(r.href,g)}})();const h="arize-phoenix-feature-flags",d={__RESET__:!1};function Uo(){const a=localStorage.getItem(h);if(!a)return d;try{const e=JSON.parse(a);return Object.assign({},d,e)}catch{return d}}const v=t.createContext(null);function qo(){const a=P.useContext(v);if(a===null)throw new Error("useFeatureFlags must be used within a FeatureFlagsProvider");return a}function Bo(a){const[e,i]=t.useState(Uo()),s=r=>{localStorage.setItem(h,JSON.stringify(r)),i(r)};return o(v.Provider,{value:{featureFlags:e,setFeatureFlags:s},children:o(Jo,{children:a.children})})}function Jo(a){const{children:e}=a,{featureFlags:i,setFeatureFlags:s}=qo(),[r,g]=t.useState(!1);return z("ctrl+shift+f",()=>g(!0)),c(w,{children:[e,o(T,{type:"modal",isDismissable:!0,onDismiss:()=>g(!1),children:r&&o(R,{title:"Feature Flags",children:o(Oo,{height:"size-1000",padding:"size-100",children:Object.keys(i).map(n=>o(I,{isSelected:i[n],onChange:x=>s({...i,[n]:x}),children:n},n))})})})]})}const Ko=b`
2
2
  :root {
3
3
  --ac-global-dimension-scale-factor: 1;
4
4
  --ac-global-dimension-size-0: 0px;
@@ -1,4 +1,4 @@
1
- import{A as L,aT as pe,aU as $e,aV as Oe,aW as ol,B as ul,r as m,j as e,R as Ie,u as Wa,E as T,l as s,aX as Le,al as re,O as H,v as I,aY as ju,ab as ze,a7 as dt,ag as Ye,af as G,Q as W,ar as ca,a8 as ct,aZ as cn,a_ as qu,am as Bu,a$ as Uu,H as oi,S as te,T as Ce,b0 as ut,aw as xe,az as De,aA as Z,b1 as we,b2 as Tn,b3 as Pn,b4 as hn,o as Ji,I as Hu,b5 as Gu,b6 as ql,b7 as Bl,b8 as Ma,b9 as Be,n as Ja,ba as Wu,an as oe,aF as Zi,bb as Ju,bc as di,bd as Zu,be as Xu,bf as Yu,bg as em,bh as nm,bi as am,bj as lm,bk as tm,bl as im,bm as Ue,bn as Ba,D as rm,bo as sm,bp as tl,ax as kn,g as Xi,bq as om,aq as mt,br as dm,bs as Yi,bt as er,bu as cm,ah as um,ac as pt,bv as mm,ad as pm,ae as gm,bw as ym,p as fm,bx as ci}from"./vendor-CRRq3WgM.js";import{z as ml,B as pl,C as Q,L as va,d as Y,w as Ge,x as le,G as un,D as ee,A as ge,H as gt,q as gl,P as ua,e as qe,f as ma,T as ye,E as yl,a as Me,s as Gn,t as Ia,y as yt,c as Wn,J as xa,p as hm,g as ft,v as fl,K as km,n as hl,h as Jn,M as bm,N as Sm,O as vm,Q as ht,R as kt,j as ui,S as Fm,l as Cm,I as Km,k as mi,i as Tm,u as Pm,U as Im}from"./vendor-arizeai-Dq64X_0o.js";import{s as xm,l as Dm,j as bt,a as Ee,i as St,b as nr,c as _m,d as qn,e as In,f as ar,D as lr,g as jn,h as ja,k as Lm,m as ke,T as Je,n as wm,o as vt,p as pi,q as Em,r as gi,t as Vm,u as Mm,v as Rm,N as Am,w as Nm,L as fe,x as Te,y as Za,B as zm,_ as k,z as vn,I as _,C as $m,G as tr,A as Ft,P as pa,M as ir,E as kl,S as rr,F as Om,H as Qm,J as jm,K as qm,O as Bm,Q as Um,R as Hm,U as be,V as v,W as F,X as de,Y as lt,Z as ce,$ as ue,a0 as Ze,a1 as Gm,a2 as Wm,a3 as Jm,a4 as en,a5 as Se,a6 as Pe,a7 as M,a8 as ie,a9 as J,aa as Zm,ab as Xm,ac as Ym,ad as ep,ae as bl,af as Sl,ag as sr,ah as np,ai as ap,aj as lp,ak as se,al as vl,am as tp,an as or,ao as dr,ap as Ct,aq as Qe,ar as ip,as as Kt,at as rp,au as sp,av as op,aw as Cn,ax as je,ay as ln,az as cr,aA as Fl,aB as Re,aC as Zn,aD as Ke,aE as Ae,aF as Da,aG as wn,aH as xn,aI as Cl,aJ as Xn,aK as Kl,aL as ur,aM as nn,aN as mr,aO as dp,aP as Tt,aQ as ia,aR as $n,aS as cp,aT as up,aU as pr,aV as gr,aW as Tl,aX as gn,aY as Yn,aZ as tn,a_ as rn,a$ as mp,b0 as pp,b1 as Ua,b2 as gp,b3 as Fa,b4 as We,b5 as Pt,b6 as yp,b7 as fp,b8 as Pl,b9 as En,ba as hp,bb as kp,bc as It,bd as an,be as yn,bf as _a,bg as xt,bh as yr,bi as bp,bj as fr,bk as Sp,bl as Dt,bm as Xa,bn as hr,bo as kr,bp as br,bq as He,br as Sr,bs as bn,bt as tt,bu as vp,bv as _t,bw as Lt,bx as wt,by as Fp,bz as Cp,bA as Kp,bB as Tp,bC as qa,bD as vr,bE as Pp,bF as Fr,bG as sn,bH as Ip,bI as xp,bJ as Dp,bK as _p,bL as Lp,bM as wp,bN as Ep,bO as Et,bP as Vp,bQ as Mp,bR as Cr,bS as Kr,bT as yi,bU as Sn,bV as Vn,bW as Vt,bX as Tr,bY as Pr,bZ as fi,b_ as hi,b$ as Rp,c0 as Ap,c1 as U,c2 as Ir,c3 as Mt,c4 as Il,c5 as La,c6 as xr,c7 as wa,c8 as Ea,c9 as Dr,ca as Mn,cb as Ne,cc as xl,cd as Rn,ce as Np,cf as zp,cg as $p,ch as Op,ci as Qp,cj as on,ck as dn,cl as jp,cm as qp,cn as _r,co as Bp,cp as Up,cq as ki,cr as Hp,cs as Gp,ct as Wp,cu as Jp,cv as Zp,cw as Xp,cx as Lr,cy as Yp,cz as eg,cA as ng,cB as ag,cC as lg,cD as oa,cE as Rt,cF as wr,cG as Sa,cH as it,cI as Dl,cJ as Er,cK as Vr,cL as Ul,cM as tg,cN as Mr,cO as ig,cP as At,cQ as _l,cR as mn,cS as rg,cT as Rr,cU as Ar,cV as Nr,cW as sg,cX as og,cY as zr,cZ as Bn,c_ as dg,c$ as bi,d0 as cg,d1 as ug,d2 as mg,d3 as pg,d4 as gg,d5 as $r,d6 as yg,d7 as Ca,d8 as rt,d9 as fg,da as Or,db as hg,dc as kg,dd as bg,de as Ll,df as Qr,dg as Si,dh as Sg,di as vg,dj as Nt,dk as jr,dl as qr,dm as Fg,dn as st,dp as Cg,dq as Kg,dr as il,ds as Tg,dt as Pg,du as Br,dv as Ur,dw as Ig,dx as xg,dy as Dg,dz as vi,dA as Fi}from"./components-CRlSj2mp.js";import{n as ea,j as _g,E as Hr,R as na,k as zt,d as Lg,m as wg,p as Ya,q as Gr}from"./vendor-codemirror-C1oevlym.js";import{R as An,C as el,X as aa,Y as fn,a as la,T as Nn,B as Ta,A as Ha,b as Wr,c as $t,L as Jr,d as Eg,P as Zr,e as Xr,f as Yr}from"./vendor-recharts-CPj01S89.js";const Vg=4,Mg={user:["user","human"],ai:["assistant","bot","ai"],system:["system"],tool:["tool"]},Rg="Unable to parse span input messages, expected messages which include a role and content.",Ag="Unable to parse span output messages, expected messages which include a role and content.",Ng="Unable to parse span output expected output.value to be present.",zg="Unable to parse span attributes, attributes must be valid JSON.",$g="Unable to parse model config, expected llm.model_name to be present.",Og="Unable to parse model config, expected llm.invocation_parameters JSON string to be present.",Qg="Unable to parse invocation parameters response_format, expected llm.invocation_parameters.response_format to be a well formed json object or undefined.",jg="Unable to parse tools, expected tools to be an array of valid tools.",qg="Unable to parse prompt template variables, expected prompt template variables to be a valid JSON object string.",Ci={AZURE_OPENAI:[],ANTHROPIC:["claude"],OPENAI:["gpt","o1"],GOOGLE:["gemini"]},ra="TOOL_CHOICE",Ka="tool_choice",Dn="RESPONSE_FORMAT",Kn="response_format",Bg=[ra,Dn],Ug=L.object({tool_call:L.object({id:L.string().optional(),function:L.object({name:L.string(),arguments:L.string()}).partial()}).partial()}).partial(),es=L.object({[pe.message]:L.object({[$e.role]:L.string(),[$e.content]:L.union([L.string(),L.array(L.record(L.string(),L.unknown()))]).default(""),[$e.tool_calls]:L.array(Ug).optional(),[$e.tool_call_id]:L.string().optional()})}),Hg=L.object({[pe.llm]:L.object({[Oe.input_messages]:L.array(es)})}),Gg=L.object({[pe.llm]:L.object({[Oe.output_messages]:L.array(es)})}),Wg=L.object({[pe.output]:L.object({value:L.string()})}),ns=xm()(L.enum(["user","ai","system","tool"])),Jg=L.object({id:L.number(),role:ns,content:L.string().optional(),toolCallId:L.string().optional(),toolCalls:L.array(Dm).optional()}),Zg=L.array(Jg),Ot=L.lazy(()=>L.record(bt)),Xg=Ot,as=L.string().transform((n,a)=>{const{json:l}=Ee(n);if(!St(l))return a.addIssue({code:L.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),L.NEVER;const{success:t,data:i}=Xg.safeParse(l);return t?i:(a.addIssue({code:L.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),L.NEVER)}).default("{}"),Yg=L.object({[pe.llm]:L.object({[Oe.provider]:L.string().optional(),[Oe.model_name]:L.string()})}),ls=L.object({[pe.llm]:L.object({[Oe.invocation_parameters]:as})}),ey=L.object({[pe.llm]:L.object({[Oe.invocation_parameters]:as.pipe(L.object({response_format:Ot.optional()}))})}),ny=L.object({url:L.object({full:L.string(),path:L.string().optional()})}),ay=L.string().transform((n,a)=>{const{json:l}=Ee(n);return l==null||!St(l)?(a.addIssue({code:L.ZodIssueCode.custom,message:"The tool JSON schema must be a valid JSON object"}),L.NEVER):l}).transform((n,a)=>{const{data:l,success:t}=nr.safeParse(n);return t?l:(a.addIssue({code:L.ZodIssueCode.custom,message:"The tool JSON schema must be a valid tool schema"}),L.NEVER)}),ly=L.object({[pe.llm]:L.object({[Oe.tools]:L.array(L.object({[pe.tool]:L.object({[ol.json_schema]:ay})}).optional()).optional()}).optional()}).optional(),ty=L.lazy(()=>L.object({type:L.literal("json_schema"),json_schema:L.object({name:L.string().describe("The name of the schema"),schema:_m.describe("The schema itself in JSON schema format"),strict:L.literal(!0).describe("The schema must be strict")})})),iy=ul(ty,{removeAdditionalStrategy:"passthrough"}),ry=L.string().transform((n,a)=>{const{json:l}=Ee(n);return qn(l)?Object.entries(l).reduce((i,[r,o])=>{if(typeof o=="string")i[r]=o;else{const{json:d}=In(o);d!=null&&(i[r]=d)}return i},{}):(a.addIssue({code:L.ZodIssueCode.custom,message:"The prompt template variables must be a valid JSON object"}),L.NEVER)}),sy=L.object({[pe.llm]:L.object({[Oe.prompt_template]:L.object({variables:ry}).optional()}).optional()}).optional();function ts(n){return ns.safeParse(n).success}function On(n){const a=n.toLowerCase();if(ts(a))return a;for(const[l,t]of Object.entries(Mg))if(t.includes(a))return l;return Lm}function oy({toolCalls:n,provider:a}){if(n!=null)return n.map(({tool_call:l})=>{var i,r,o,d;if(l==null)return null;let t={};if(((i=l.function)==null?void 0:i.arguments)!=null){const{json:c}=Ee(l.function.arguments);qn(c)&&(t=c)}switch(a){case"OPENAI":case"AZURE_OPENAI":return{id:l.id??"",type:"function",function:{name:((r=l.function)==null?void 0:r.name)??"",arguments:t}};case"ANTHROPIC":return{id:l.id??"",type:"tool_use",name:((o=l.function)==null?void 0:o.name)??"",input:t};case"GOOGLE":return{id:l.id??"",function:{name:((d=l.function)==null?void 0:d.name)??"",arguments:t}};default:ke()}}).filter(l=>l!=null)}function is({messages:n,provider:a}){return n.map(({message:l})=>({id:jn(),role:l.tool_call_id!=null?On("tool"):On(l.role),content:typeof l.content=="string"?l.content:void 0,toolCalls:oy({provider:a,toolCalls:l.tool_calls}),toolCallId:l.tool_call_id}))}function dy({provider:n,parsedAttributes:a}){var t;const l=Hg.safeParse(a);if(!l.success)return{messageParsingErrors:[Rg],messages:null};if(n==="ANTHROPIC"){const{success:i,data:r}=ls.safeParse(a);if(i){const o=l.data.llm.input_messages,d=(t=r.llm.invocation_parameters)==null?void 0:t.system;typeof d=="string"&&d&&(!o||o[0].message.role!=="system")&&l.data.llm.input_messages.unshift({message:{role:"system",content:d}})}}return{messageParsingErrors:[],messages:is({provider:n,messages:l.data.llm.input_messages})}}function cy({provider:n,parsedAttributes:a}){const l=[],t=Gg.safeParse(a);if(t.success)return{output:is({provider:n,messages:t.data.llm.output_messages}),outputParsingErrors:l};l.push(Ag);const i=Wg.safeParse(a);return i.success?{output:i.data.output.value,outputParsingErrors:l}:(l.push(Ng),{output:void 0,outputParsingErrors:l})}function rs(n){if(n==null)return null;switch(n.toLowerCase()){case"openai":return"OPENAI";case"anthropic":return"ANTHROPIC";case"google":return"GOOGLE";case"azure":return"AZURE_OPENAI";default:return null}}function uy(n){for(const a of Object.keys(Ci))if(Ci[a].some(t=>n.includes(t)))return a;return lr}function my(n){const{success:a,data:l}=Yg.safeParse(n);if(a){const t=rs(l.llm.provider)||uy(l.llm.model_name),i=py(n);return{modelConfig:{...Object.fromEntries(Object.entries(i).filter(([r,o])=>o!==null)),modelName:l.llm.model_name,provider:t,invocationParameters:[],supportedInvocationParameters:[]},parsingErrors:[]}}return{modelConfig:null,parsingErrors:[$g]}}function py(n){const{success:a,data:l}=ny.safeParse(n);if(a)try{const t=new URL(l.url.full);let i=t;if(l.url.path)try{i=new URL(l.url.full.split(l.url.path)[0])}catch{}return{baseUrl:`${i.origin}${i.pathname}`,endpoint:t.origin,apiVersion:t.searchParams.get("api-version")||null}}catch{}return{baseUrl:null,apiVersion:null,endpoint:null}}function gy(n,a=[]){const{success:l,data:t}=ls.safeParse(n),i=[];return l||i.push(Og),{invocationParameters:Cy((t==null?void 0:t.llm.invocation_parameters)??{},a),parsingErrors:i}}function yy(n){const{success:a,data:l}=ey.safeParse(n);return a?{responseFormat:l.llm.invocation_parameters.response_format,parsingErrors:[]}:{responseFormat:void 0,parsingErrors:[Qg]}}function fy(n){var a;return(((a=n==null?void 0:n.llm)==null?void 0:a.tools)??[]).map(l=>(l==null?void 0:l.tool)==null?null:{id:ja(),definition:l.tool.json_schema}).filter(l=>l!=null)}function hy(n){var t;const{data:a,success:l}=ly.safeParse(n);return l?((t=a==null?void 0:a.llm)==null?void 0:t.tools)==null?{tools:null,parsingErrors:[]}:{tools:fy(a),parsingErrors:[]}:{tools:null,parsingErrors:[jg]}}function ky(n){var t;const{success:a,data:l}=sy.safeParse(n);return a?((t=l==null?void 0:l.llm)==null?void 0:t.prompt_template)==null?{variables:null,parsingErrors:[]}:{variables:l.llm.prompt_template.variables,parsingErrors:[]}:{variables:null,parsingErrors:[qg]}}function by(n){const{instance:a,instanceMessages:l}=ar(),t={...a,template:{__type:"chat",messages:Object.values(l)}},{json:i,parseError:r}=Ee(n.attributes);if(r)return{playgroundInstance:{...t,spanId:(n==null?void 0:n.id)??null},parsingErrors:[zg]};const o=n.invocationParameters,d=my(i);let{modelConfig:c}=d;const{parsingErrors:p}=d,{messages:y,messageParsingErrors:u}=dy({provider:(c==null?void 0:c.provider)??t.model.provider,parsedAttributes:i}),{output:g,outputParsingErrors:f}=cy({provider:(c==null?void 0:c.provider)??t.model.provider,parsedAttributes:i}),{invocationParameters:h,parsingErrors:b}=gy(i,o),{variables:S,parsingErrors:C}=ky(i),{parsingErrors:P}=yy(i);c=c!=null?{...c,invocationParameters:P.length>0?h.filter(K=>K.invocationName!==Kn&&K.canonicalName!==Dn):h}:null;const{tools:D,parsingErrors:w}=hy(i);return{playgroundInstance:{...t,model:c??t.model,template:y!=null?{__type:"chat",messages:y}:t.template,output:g,spanId:n.id,tools:D??t.tools},playgroundInput:S!=null?{variablesValueCache:S}:void 0,parsingErrors:[...u,...f,...p,...w,...b,...P,...C]}}const Sy=n=>Zg.safeParse(n).success,ss=({instance:n,templateFormat:a})=>{if(a==Je.NONE)return[];const l=new Set,t=n.template.__type,i=wm(a);switch(t){case"chat":{n.template.messages.forEach(r=>{(r.content==null?[]:i.extractVariables(r.content)).forEach(d=>{l.add(d)})});break}case"text_completion":{i.extractVariables(n.template.prompt).forEach(o=>{l.add(o)});break}default:ke()}return Array.from(l)},vy=({instances:n,templateFormat:a})=>a==Je.NONE?[]:Array.from(new Set(n.flatMap(l=>ss({instance:l,templateFormat:a})))),os=({instances:n,templateFormat:a,input:l})=>{if(a==Je.NONE)return{variablesMap:{},variableKeys:[]};const t=vy({instances:n,templateFormat:a}),i=l.variablesValueCache??{};return{variablesMap:t.reduce((o,d)=>(o[d]=i[d]||"",o),{}),variableKeys:t}};function Un(n,a){return n.invocationName===a.invocationName||n.canonicalName!=null&&a.canonicalName!=null&&n.canonicalName===a.canonicalName}const Fy=(n,a)=>n.filter(l=>a.some(t=>Un(t,l))).map(l=>{var t;return{...l,invocationName:((t=a.find(i=>Un(i,l)))==null?void 0:t.invocationName)??l.invocationName}}),Va=n=>n.replace(/_([a-z])/g,(a,l)=>l.toUpperCase()),Cy=(n,a)=>Object.entries(n).map(([l,t])=>{const i=a.find(r=>r.canonicalName&&r.canonicalName.toLowerCase()===l.toLowerCase()||r.invocationName&&r.invocationName.toLowerCase()===l.toLowerCase());return i==null||i.invocationInputField==null||i.invocationName==null?null:{canonicalName:i.canonicalName,invocationName:i.invocationName,[Va(i.invocationInputField)]:t}}).filter(l=>l!=null),ds=n=>{const{provider:a,validatedToolDefinition:l}=Mm(n.definition);switch(a){case"OPENAI":case"AZURE_OPENAI":return l.function.name;case"ANTHROPIC":return l.name;case"UNKNOWN":return null;default:ke()}},Ky=({provider:n,toolNumber:a})=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return{id:ja(),definition:gi(a)};case"ANTHROPIC":return{id:ja(),definition:Vm(a)};case"GOOGLE":return{id:ja(),definition:gi(a)};default:ke()}},Ty=n=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return pi();case"ANTHROPIC":return Em();case"GOOGLE":return pi();default:ke()}};function Py(n){return{content:n.content,role:Iy(n.role),toolCalls:n.toolCalls,toolCallId:n.toolCallId}}function Iy(n){switch(n){case"system":return"SYSTEM";case"user":return"USER";case"tool":return"TOOL";case"ai":return"AI";default:ke()}}const cs=({playgroundStore:n,instanceId:a,credentials:l})=>{var u;const{instances:t,allInstanceMessages:i}=n.getState(),r=t.find(g=>g.id===a);if(!r)throw new Error(`No instance found for id ${a}`);if(r.template.__type!=="chat")throw new Error("We only support chat templates for now");const o=r.template.messageIds.map(g=>i[g]).filter(g=>g!=null),d=r.model.supportedInvocationParameters;let c=[...r.model.invocationParameters];const p=vt({toolChoice:r.toolChoice,targetProvider:r.model.provider});r.tools.length>0?(c=c.filter(g=>g.invocationName!==Ka&&g.canonicalName!==ra),c.push({canonicalName:ra,invocationName:Ka,valueJson:p})):c=c.filter(g=>g.invocationName!==Ka&&g.canonicalName!==ra),c=d.length?Fy(c,d):c;const y=r.model.provider==="AZURE_OPENAI"?{endpoint:r.model.endpoint,apiVersion:r.model.apiVersion}:{};return{messages:o.map(Py),model:{providerKey:r.model.provider,name:r.model.modelName||"",baseUrl:r.model.baseUrl,...y},invocationParameters:c,tools:r.tools.length?r.tools.map(g=>g.definition):void 0,apiKey:l[r.model.provider]||null,promptName:(u=r.prompt)==null?void 0:u.name}},wl=(n,a)=>{if(n.template.__type==="chat"){const{messageIds:l,...t}=n.template;return{...n,template:{...t,messages:n.template.messageIds.map(i=>a[i])}}}return n},xy=({playgroundStore:n,instanceId:a,credentials:l})=>{const t=cs({playgroundStore:n,instanceId:a,credentials:l}),{instances:i,templateFormat:r,input:o,allInstanceMessages:d}=n.getState(),c=i.map(y=>wl(y,d)),{variablesMap:p}=os({instances:c,input:o,templateFormat:r});return{...t,template:{variables:p,format:r}}},Ki=({playgroundStore:n,instanceId:a,credentials:l,datasetId:t})=>({...cs({playgroundStore:n,instanceId:a,credentials:l}),templateFormat:n.getState().templateFormat,datasetId:t});function El(n){if(n===""||typeof n>"u")return"{}";if(typeof n=="string"){const a=n.startsWith('"{')||n.startsWith('"[')||n.startsWith('"\\"');try{if(a){const t=JSON.parse(n),i=typeof t=="string"?JSON.parse(t):t;return JSON.stringify(i,null,2)}}catch{}if(/^\s*[0-9{[]|true|false|null/.test(n))return n}return JSON.stringify(n,null,2)}function us(n,a){return a.filter(l=>l.required).every(l=>n.some(t=>Un(t,l)))}const Dy=n=>{for(const[a,l]of Object.entries(n))if(a.endsWith("DefaultValue")&&l!=null)return n[a]};function Qv(n,a){const l=new Map(n.map(t=>[t.invocationName,t]));return a.forEach(t=>{var c;const i=t.invocationName,r=Dy(t),o=Va(t.invocationInputField||"");if(!t.invocationName||!t.invocationInputField||!i||r==null||((c=l.get(i))==null?void 0:c[o])!=null)return;const d={canonicalName:t.canonicalName,invocationName:t.invocationName,[o]:r};l.set(i,d)}),Array.from(l.values())}const ms=m.createContext(null);function jv({children:n,...a}){const[l]=m.useState(()=>Rm(a));return e(ms.Provider,{value:l,children:n})}function Pa(n,a){const l=Ie.useContext(ms);if(!l)throw new Error("Missing CredentialsContext.Provider in the tree");return Wa(l,n,a)}const ps=m.createContext(null);function _y(){const n=m.useContext(ps);if(n===null)throw new Error("useFunctionality must be used within a FunctionalityProvider");return n}function qv(n){return e(ps.Provider,{value:{authenticationEnabled:window.Config.authenticationEnabled},children:n.children})}const Ly=T`
1
+ import{A as L,aT as pe,aU as $e,aV as Oe,aW as ol,B as ul,r as m,j as e,R as Ie,u as Wa,E as T,l as s,aX as Le,al as re,O as H,v as I,aY as ju,ab as ze,a7 as dt,ag as Ye,af as G,Q as W,ar as ca,a8 as ct,aZ as cn,a_ as qu,am as Bu,a$ as Uu,H as oi,S as te,T as Ce,b0 as ut,aw as xe,az as De,aA as Z,b1 as we,b2 as Tn,b3 as Pn,b4 as hn,o as Ji,I as Hu,b5 as Gu,b6 as ql,b7 as Bl,b8 as Ma,b9 as Be,n as Ja,ba as Wu,an as oe,aF as Zi,bb as Ju,bc as di,bd as Zu,be as Xu,bf as Yu,bg as em,bh as nm,bi as am,bj as lm,bk as tm,bl as im,bm as Ue,bn as Ba,D as rm,bo as sm,bp as tl,ax as kn,g as Xi,bq as om,aq as mt,br as dm,bs as Yi,bt as er,bu as cm,ah as um,ac as pt,bv as mm,ad as pm,ae as gm,bw as ym,p as fm,bx as ci}from"./vendor-CRRq3WgM.js";import{z as ml,B as pl,C as Q,L as va,d as Y,w as Ge,x as le,G as un,D as ee,A as ge,H as gt,q as gl,P as ua,e as qe,f as ma,T as ye,E as yl,a as Me,s as Gn,t as Ia,y as yt,c as Wn,J as xa,p as hm,g as ft,v as fl,K as km,n as hl,h as Jn,M as bm,N as Sm,O as vm,Q as ht,R as kt,j as ui,S as Fm,l as Cm,I as Km,k as mi,i as Tm,u as Pm,U as Im}from"./vendor-arizeai-Dq64X_0o.js";import{s as xm,l as Dm,j as bt,a as Ee,i as St,b as nr,c as _m,d as qn,e as In,f as ar,D as lr,g as jn,h as ja,k as Lm,m as ke,T as Je,n as wm,o as vt,p as pi,q as Em,r as gi,t as Vm,u as Mm,v as Rm,N as Am,w as Nm,L as fe,x as Te,y as Za,B as zm,_ as k,z as vn,I as _,C as $m,G as tr,A as Ft,P as pa,M as ir,E as kl,S as rr,F as Om,H as Qm,J as jm,K as qm,O as Bm,Q as Um,R as Hm,U as be,V as v,W as F,X as de,Y as lt,Z as ce,$ as ue,a0 as Ze,a1 as Gm,a2 as Wm,a3 as Jm,a4 as en,a5 as Se,a6 as Pe,a7 as M,a8 as ie,a9 as J,aa as Zm,ab as Xm,ac as Ym,ad as ep,ae as bl,af as Sl,ag as sr,ah as np,ai as ap,aj as lp,ak as se,al as vl,am as tp,an as or,ao as dr,ap as Ct,aq as Qe,ar as ip,as as Kt,at as rp,au as sp,av as op,aw as Cn,ax as je,ay as ln,az as cr,aA as Fl,aB as Re,aC as Zn,aD as Ke,aE as Ae,aF as Da,aG as wn,aH as xn,aI as Cl,aJ as Xn,aK as Kl,aL as ur,aM as nn,aN as mr,aO as dp,aP as Tt,aQ as ia,aR as $n,aS as cp,aT as up,aU as pr,aV as gr,aW as Tl,aX as gn,aY as Yn,aZ as tn,a_ as rn,a$ as mp,b0 as pp,b1 as Ua,b2 as gp,b3 as Fa,b4 as We,b5 as Pt,b6 as yp,b7 as fp,b8 as Pl,b9 as En,ba as hp,bb as kp,bc as It,bd as an,be as yn,bf as _a,bg as xt,bh as yr,bi as bp,bj as fr,bk as Sp,bl as Dt,bm as Xa,bn as hr,bo as kr,bp as br,bq as He,br as Sr,bs as bn,bt as tt,bu as vp,bv as _t,bw as Lt,bx as wt,by as Fp,bz as Cp,bA as Kp,bB as Tp,bC as qa,bD as vr,bE as Pp,bF as Fr,bG as sn,bH as Ip,bI as xp,bJ as Dp,bK as _p,bL as Lp,bM as wp,bN as Ep,bO as Et,bP as Vp,bQ as Mp,bR as Cr,bS as Kr,bT as yi,bU as Sn,bV as Vn,bW as Vt,bX as Tr,bY as Pr,bZ as fi,b_ as hi,b$ as Rp,c0 as Ap,c1 as U,c2 as Ir,c3 as Mt,c4 as Il,c5 as La,c6 as xr,c7 as wa,c8 as Ea,c9 as Dr,ca as Mn,cb as Ne,cc as xl,cd as Rn,ce as Np,cf as zp,cg as $p,ch as Op,ci as Qp,cj as on,ck as dn,cl as jp,cm as qp,cn as _r,co as Bp,cp as Up,cq as ki,cr as Hp,cs as Gp,ct as Wp,cu as Jp,cv as Zp,cw as Xp,cx as Lr,cy as Yp,cz as eg,cA as ng,cB as ag,cC as lg,cD as oa,cE as Rt,cF as wr,cG as Sa,cH as it,cI as Dl,cJ as Er,cK as Vr,cL as Ul,cM as tg,cN as Mr,cO as ig,cP as At,cQ as _l,cR as mn,cS as rg,cT as Rr,cU as Ar,cV as Nr,cW as sg,cX as og,cY as zr,cZ as Bn,c_ as dg,c$ as bi,d0 as cg,d1 as ug,d2 as mg,d3 as pg,d4 as gg,d5 as $r,d6 as yg,d7 as Ca,d8 as rt,d9 as fg,da as Or,db as hg,dc as kg,dd as bg,de as Ll,df as Qr,dg as Si,dh as Sg,di as vg,dj as Nt,dk as jr,dl as qr,dm as Fg,dn as st,dp as Cg,dq as Kg,dr as il,ds as Tg,dt as Pg,du as Br,dv as Ur,dw as Ig,dx as xg,dy as Dg,dz as vi,dA as Fi}from"./components-BrNPaYzp.js";import{n as ea,j as _g,E as Hr,R as na,k as zt,d as Lg,m as wg,p as Ya,q as Gr}from"./vendor-codemirror-C1oevlym.js";import{R as An,C as el,X as aa,Y as fn,a as la,T as Nn,B as Ta,A as Ha,b as Wr,c as $t,L as Jr,d as Eg,P as Zr,e as Xr,f as Yr}from"./vendor-recharts-CPj01S89.js";const Vg=4,Mg={user:["user","human"],ai:["assistant","bot","ai"],system:["system"],tool:["tool"]},Rg="Unable to parse span input messages, expected messages which include a role and content.",Ag="Unable to parse span output messages, expected messages which include a role and content.",Ng="Unable to parse span output expected output.value to be present.",zg="Unable to parse span attributes, attributes must be valid JSON.",$g="Unable to parse model config, expected llm.model_name to be present.",Og="Unable to parse model config, expected llm.invocation_parameters JSON string to be present.",Qg="Unable to parse invocation parameters response_format, expected llm.invocation_parameters.response_format to be a well formed json object or undefined.",jg="Unable to parse tools, expected tools to be an array of valid tools.",qg="Unable to parse prompt template variables, expected prompt template variables to be a valid JSON object string.",Ci={AZURE_OPENAI:[],ANTHROPIC:["claude"],OPENAI:["gpt","o1"],GOOGLE:["gemini"]},ra="TOOL_CHOICE",Ka="tool_choice",Dn="RESPONSE_FORMAT",Kn="response_format",Bg=[ra,Dn],Ug=L.object({tool_call:L.object({id:L.string().optional(),function:L.object({name:L.string(),arguments:L.string()}).partial()}).partial()}).partial(),es=L.object({[pe.message]:L.object({[$e.role]:L.string(),[$e.content]:L.union([L.string(),L.array(L.record(L.string(),L.unknown()))]).default(""),[$e.tool_calls]:L.array(Ug).optional(),[$e.tool_call_id]:L.string().optional()})}),Hg=L.object({[pe.llm]:L.object({[Oe.input_messages]:L.array(es)})}),Gg=L.object({[pe.llm]:L.object({[Oe.output_messages]:L.array(es)})}),Wg=L.object({[pe.output]:L.object({value:L.string()})}),ns=xm()(L.enum(["user","ai","system","tool"])),Jg=L.object({id:L.number(),role:ns,content:L.string().optional(),toolCallId:L.string().optional(),toolCalls:L.array(Dm).optional()}),Zg=L.array(Jg),Ot=L.lazy(()=>L.record(bt)),Xg=Ot,as=L.string().transform((n,a)=>{const{json:l}=Ee(n);if(!St(l))return a.addIssue({code:L.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),L.NEVER;const{success:t,data:i}=Xg.safeParse(l);return t?i:(a.addIssue({code:L.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),L.NEVER)}).default("{}"),Yg=L.object({[pe.llm]:L.object({[Oe.provider]:L.string().optional(),[Oe.model_name]:L.string()})}),ls=L.object({[pe.llm]:L.object({[Oe.invocation_parameters]:as})}),ey=L.object({[pe.llm]:L.object({[Oe.invocation_parameters]:as.pipe(L.object({response_format:Ot.optional()}))})}),ny=L.object({url:L.object({full:L.string(),path:L.string().optional()})}),ay=L.string().transform((n,a)=>{const{json:l}=Ee(n);return l==null||!St(l)?(a.addIssue({code:L.ZodIssueCode.custom,message:"The tool JSON schema must be a valid JSON object"}),L.NEVER):l}).transform((n,a)=>{const{data:l,success:t}=nr.safeParse(n);return t?l:(a.addIssue({code:L.ZodIssueCode.custom,message:"The tool JSON schema must be a valid tool schema"}),L.NEVER)}),ly=L.object({[pe.llm]:L.object({[Oe.tools]:L.array(L.object({[pe.tool]:L.object({[ol.json_schema]:ay})}).optional()).optional()}).optional()}).optional(),ty=L.lazy(()=>L.object({type:L.literal("json_schema"),json_schema:L.object({name:L.string().describe("The name of the schema"),schema:_m.describe("The schema itself in JSON schema format"),strict:L.literal(!0).describe("The schema must be strict")})})),iy=ul(ty,{removeAdditionalStrategy:"passthrough"}),ry=L.string().transform((n,a)=>{const{json:l}=Ee(n);return qn(l)?Object.entries(l).reduce((i,[r,o])=>{if(typeof o=="string")i[r]=o;else{const{json:d}=In(o);d!=null&&(i[r]=d)}return i},{}):(a.addIssue({code:L.ZodIssueCode.custom,message:"The prompt template variables must be a valid JSON object"}),L.NEVER)}),sy=L.object({[pe.llm]:L.object({[Oe.prompt_template]:L.object({variables:ry}).optional()}).optional()}).optional();function ts(n){return ns.safeParse(n).success}function On(n){const a=n.toLowerCase();if(ts(a))return a;for(const[l,t]of Object.entries(Mg))if(t.includes(a))return l;return Lm}function oy({toolCalls:n,provider:a}){if(n!=null)return n.map(({tool_call:l})=>{var i,r,o,d;if(l==null)return null;let t={};if(((i=l.function)==null?void 0:i.arguments)!=null){const{json:c}=Ee(l.function.arguments);qn(c)&&(t=c)}switch(a){case"OPENAI":case"AZURE_OPENAI":return{id:l.id??"",type:"function",function:{name:((r=l.function)==null?void 0:r.name)??"",arguments:t}};case"ANTHROPIC":return{id:l.id??"",type:"tool_use",name:((o=l.function)==null?void 0:o.name)??"",input:t};case"GOOGLE":return{id:l.id??"",function:{name:((d=l.function)==null?void 0:d.name)??"",arguments:t}};default:ke()}}).filter(l=>l!=null)}function is({messages:n,provider:a}){return n.map(({message:l})=>({id:jn(),role:l.tool_call_id!=null?On("tool"):On(l.role),content:typeof l.content=="string"?l.content:void 0,toolCalls:oy({provider:a,toolCalls:l.tool_calls}),toolCallId:l.tool_call_id}))}function dy({provider:n,parsedAttributes:a}){var t;const l=Hg.safeParse(a);if(!l.success)return{messageParsingErrors:[Rg],messages:null};if(n==="ANTHROPIC"){const{success:i,data:r}=ls.safeParse(a);if(i){const o=l.data.llm.input_messages,d=(t=r.llm.invocation_parameters)==null?void 0:t.system;typeof d=="string"&&d&&(!o||o[0].message.role!=="system")&&l.data.llm.input_messages.unshift({message:{role:"system",content:d}})}}return{messageParsingErrors:[],messages:is({provider:n,messages:l.data.llm.input_messages})}}function cy({provider:n,parsedAttributes:a}){const l=[],t=Gg.safeParse(a);if(t.success)return{output:is({provider:n,messages:t.data.llm.output_messages}),outputParsingErrors:l};l.push(Ag);const i=Wg.safeParse(a);return i.success?{output:i.data.output.value,outputParsingErrors:l}:(l.push(Ng),{output:void 0,outputParsingErrors:l})}function rs(n){if(n==null)return null;switch(n.toLowerCase()){case"openai":return"OPENAI";case"anthropic":return"ANTHROPIC";case"google":return"GOOGLE";case"azure":return"AZURE_OPENAI";default:return null}}function uy(n){for(const a of Object.keys(Ci))if(Ci[a].some(t=>n.includes(t)))return a;return lr}function my(n){const{success:a,data:l}=Yg.safeParse(n);if(a){const t=rs(l.llm.provider)||uy(l.llm.model_name),i=py(n);return{modelConfig:{...Object.fromEntries(Object.entries(i).filter(([r,o])=>o!==null)),modelName:l.llm.model_name,provider:t,invocationParameters:[],supportedInvocationParameters:[]},parsingErrors:[]}}return{modelConfig:null,parsingErrors:[$g]}}function py(n){const{success:a,data:l}=ny.safeParse(n);if(a)try{const t=new URL(l.url.full);let i=t;if(l.url.path)try{i=new URL(l.url.full.split(l.url.path)[0])}catch{}return{baseUrl:`${i.origin}${i.pathname}`,endpoint:t.origin,apiVersion:t.searchParams.get("api-version")||null}}catch{}return{baseUrl:null,apiVersion:null,endpoint:null}}function gy(n,a=[]){const{success:l,data:t}=ls.safeParse(n),i=[];return l||i.push(Og),{invocationParameters:Cy((t==null?void 0:t.llm.invocation_parameters)??{},a),parsingErrors:i}}function yy(n){const{success:a,data:l}=ey.safeParse(n);return a?{responseFormat:l.llm.invocation_parameters.response_format,parsingErrors:[]}:{responseFormat:void 0,parsingErrors:[Qg]}}function fy(n){var a;return(((a=n==null?void 0:n.llm)==null?void 0:a.tools)??[]).map(l=>(l==null?void 0:l.tool)==null?null:{id:ja(),definition:l.tool.json_schema}).filter(l=>l!=null)}function hy(n){var t;const{data:a,success:l}=ly.safeParse(n);return l?((t=a==null?void 0:a.llm)==null?void 0:t.tools)==null?{tools:null,parsingErrors:[]}:{tools:fy(a),parsingErrors:[]}:{tools:null,parsingErrors:[jg]}}function ky(n){var t;const{success:a,data:l}=sy.safeParse(n);return a?((t=l==null?void 0:l.llm)==null?void 0:t.prompt_template)==null?{variables:null,parsingErrors:[]}:{variables:l.llm.prompt_template.variables,parsingErrors:[]}:{variables:null,parsingErrors:[qg]}}function by(n){const{instance:a,instanceMessages:l}=ar(),t={...a,template:{__type:"chat",messages:Object.values(l)}},{json:i,parseError:r}=Ee(n.attributes);if(r)return{playgroundInstance:{...t,spanId:(n==null?void 0:n.id)??null},parsingErrors:[zg]};const o=n.invocationParameters,d=my(i);let{modelConfig:c}=d;const{parsingErrors:p}=d,{messages:y,messageParsingErrors:u}=dy({provider:(c==null?void 0:c.provider)??t.model.provider,parsedAttributes:i}),{output:g,outputParsingErrors:f}=cy({provider:(c==null?void 0:c.provider)??t.model.provider,parsedAttributes:i}),{invocationParameters:h,parsingErrors:b}=gy(i,o),{variables:S,parsingErrors:C}=ky(i),{parsingErrors:P}=yy(i);c=c!=null?{...c,invocationParameters:P.length>0?h.filter(K=>K.invocationName!==Kn&&K.canonicalName!==Dn):h}:null;const{tools:D,parsingErrors:w}=hy(i);return{playgroundInstance:{...t,model:c??t.model,template:y!=null?{__type:"chat",messages:y}:t.template,output:g,spanId:n.id,tools:D??t.tools},playgroundInput:S!=null?{variablesValueCache:S}:void 0,parsingErrors:[...u,...f,...p,...w,...b,...P,...C]}}const Sy=n=>Zg.safeParse(n).success,ss=({instance:n,templateFormat:a})=>{if(a==Je.NONE)return[];const l=new Set,t=n.template.__type,i=wm(a);switch(t){case"chat":{n.template.messages.forEach(r=>{(r.content==null?[]:i.extractVariables(r.content)).forEach(d=>{l.add(d)})});break}case"text_completion":{i.extractVariables(n.template.prompt).forEach(o=>{l.add(o)});break}default:ke()}return Array.from(l)},vy=({instances:n,templateFormat:a})=>a==Je.NONE?[]:Array.from(new Set(n.flatMap(l=>ss({instance:l,templateFormat:a})))),os=({instances:n,templateFormat:a,input:l})=>{if(a==Je.NONE)return{variablesMap:{},variableKeys:[]};const t=vy({instances:n,templateFormat:a}),i=l.variablesValueCache??{};return{variablesMap:t.reduce((o,d)=>(o[d]=i[d]||"",o),{}),variableKeys:t}};function Un(n,a){return n.invocationName===a.invocationName||n.canonicalName!=null&&a.canonicalName!=null&&n.canonicalName===a.canonicalName}const Fy=(n,a)=>n.filter(l=>a.some(t=>Un(t,l))).map(l=>{var t;return{...l,invocationName:((t=a.find(i=>Un(i,l)))==null?void 0:t.invocationName)??l.invocationName}}),Va=n=>n.replace(/_([a-z])/g,(a,l)=>l.toUpperCase()),Cy=(n,a)=>Object.entries(n).map(([l,t])=>{const i=a.find(r=>r.canonicalName&&r.canonicalName.toLowerCase()===l.toLowerCase()||r.invocationName&&r.invocationName.toLowerCase()===l.toLowerCase());return i==null||i.invocationInputField==null||i.invocationName==null?null:{canonicalName:i.canonicalName,invocationName:i.invocationName,[Va(i.invocationInputField)]:t}}).filter(l=>l!=null),ds=n=>{const{provider:a,validatedToolDefinition:l}=Mm(n.definition);switch(a){case"OPENAI":case"AZURE_OPENAI":return l.function.name;case"ANTHROPIC":return l.name;case"UNKNOWN":return null;default:ke()}},Ky=({provider:n,toolNumber:a})=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return{id:ja(),definition:gi(a)};case"ANTHROPIC":return{id:ja(),definition:Vm(a)};case"GOOGLE":return{id:ja(),definition:gi(a)};default:ke()}},Ty=n=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return pi();case"ANTHROPIC":return Em();case"GOOGLE":return pi();default:ke()}};function Py(n){return{content:n.content,role:Iy(n.role),toolCalls:n.toolCalls,toolCallId:n.toolCallId}}function Iy(n){switch(n){case"system":return"SYSTEM";case"user":return"USER";case"tool":return"TOOL";case"ai":return"AI";default:ke()}}const cs=({playgroundStore:n,instanceId:a,credentials:l})=>{var u;const{instances:t,allInstanceMessages:i}=n.getState(),r=t.find(g=>g.id===a);if(!r)throw new Error(`No instance found for id ${a}`);if(r.template.__type!=="chat")throw new Error("We only support chat templates for now");const o=r.template.messageIds.map(g=>i[g]).filter(g=>g!=null),d=r.model.supportedInvocationParameters;let c=[...r.model.invocationParameters];const p=vt({toolChoice:r.toolChoice,targetProvider:r.model.provider});r.tools.length>0?(c=c.filter(g=>g.invocationName!==Ka&&g.canonicalName!==ra),c.push({canonicalName:ra,invocationName:Ka,valueJson:p})):c=c.filter(g=>g.invocationName!==Ka&&g.canonicalName!==ra),c=d.length?Fy(c,d):c;const y=r.model.provider==="AZURE_OPENAI"?{endpoint:r.model.endpoint,apiVersion:r.model.apiVersion}:{};return{messages:o.map(Py),model:{providerKey:r.model.provider,name:r.model.modelName||"",baseUrl:r.model.baseUrl,...y},invocationParameters:c,tools:r.tools.length?r.tools.map(g=>g.definition):void 0,apiKey:l[r.model.provider]||null,promptName:(u=r.prompt)==null?void 0:u.name}},wl=(n,a)=>{if(n.template.__type==="chat"){const{messageIds:l,...t}=n.template;return{...n,template:{...t,messages:n.template.messageIds.map(i=>a[i])}}}return n},xy=({playgroundStore:n,instanceId:a,credentials:l})=>{const t=cs({playgroundStore:n,instanceId:a,credentials:l}),{instances:i,templateFormat:r,input:o,allInstanceMessages:d}=n.getState(),c=i.map(y=>wl(y,d)),{variablesMap:p}=os({instances:c,input:o,templateFormat:r});return{...t,template:{variables:p,format:r}}},Ki=({playgroundStore:n,instanceId:a,credentials:l,datasetId:t})=>({...cs({playgroundStore:n,instanceId:a,credentials:l}),templateFormat:n.getState().templateFormat,datasetId:t});function El(n){if(n===""||typeof n>"u")return"{}";if(typeof n=="string"){const a=n.startsWith('"{')||n.startsWith('"[')||n.startsWith('"\\"');try{if(a){const t=JSON.parse(n),i=typeof t=="string"?JSON.parse(t):t;return JSON.stringify(i,null,2)}}catch{}if(/^\s*[0-9{[]|true|false|null/.test(n))return n}return JSON.stringify(n,null,2)}function us(n,a){return a.filter(l=>l.required).every(l=>n.some(t=>Un(t,l)))}const Dy=n=>{for(const[a,l]of Object.entries(n))if(a.endsWith("DefaultValue")&&l!=null)return n[a]};function Qv(n,a){const l=new Map(n.map(t=>[t.invocationName,t]));return a.forEach(t=>{var c;const i=t.invocationName,r=Dy(t),o=Va(t.invocationInputField||"");if(!t.invocationName||!t.invocationInputField||!i||r==null||((c=l.get(i))==null?void 0:c[o])!=null)return;const d={canonicalName:t.canonicalName,invocationName:t.invocationName,[o]:r};l.set(i,d)}),Array.from(l.values())}const ms=m.createContext(null);function jv({children:n,...a}){const[l]=m.useState(()=>Rm(a));return e(ms.Provider,{value:l,children:n})}function Pa(n,a){const l=Ie.useContext(ms);if(!l)throw new Error("Missing CredentialsContext.Provider in the tree");return Wa(l,n,a)}const ps=m.createContext(null);function _y(){const n=m.useContext(ps);if(n===null)throw new Error("useFunctionality must be used within a FunctionalityProvider");return n}function qv(n){return e(ps.Provider,{value:{authenticationEnabled:window.Config.authenticationEnabled},children:n.children})}const Ly=T`
2
2
  display: flex;
3
3
  direction: row;
4
4
  height: 100vh;
@@ -3789,7 +3789,7 @@ fragment DatasetSelectorPopoverContent_datasets on Query {
3789
3789
  bottom: var(--ac-global-dimension-size-400);
3790
3790
  left: 50%;
3791
3791
  transform: translateX(-50%);
3792
- `,children:[e(Tm,{backgroundColor:"light",padding:"size-200",borderColor:"light",borderWidth:"thin",borderRadius:"medium",minWidth:"size-6000",children:s(ui,{direction:"row",justifyContent:"space-between",alignItems:"center",children:[e(Fm,{children:`${c.length} span${g?"s":""} selected`}),s(ui,{direction:"row",gap:"size-100",children:[e(M,{variant:"default",size:"S",onPress:p,children:"Cancel"}),s(ua,{placement:"top end",crossOffset:300,isOpen:o,onOpenChange:h=>{d(h)},children:[e(Cm,{variant:"primary",size:"compact",icon:e(Km,{svg:u?e(mi.LoadingOutline,{}):e(mi.DatabaseOutline,{})}),isDisabled:u,children:u?"Adding to dataset":"Add to dataset"}),e(m.Suspense,{children:e(xb,{onDatasetSelected:h=>{f(h),d(!1)},onCreateNewDataset:()=>{d(!1),t(e(Y,{title:"New Dataset",isDismissable:!0,onDismiss:()=>t(null),children:e(zr,{onDatasetCreateError:h=>{const b=Pe(h);r({title:"Dataset creation failed",message:`Failed to create dataset: ${(b==null?void 0:b[0])??h.message}`})},onDatasetCreated:h=>{t(null),i({title:"Dataset created",message:`${h.name} has been successfully created.`}),d(!0)}})}))}})})]})]})]})}),e(ee,{onDismiss:()=>{t(null)},children:l})]})}const Ga="annotations",Fn=":",hc={col:"startTime",dir:"desc"};function kc(n){let a=null,l=null;if(n.id&&n.id.startsWith(Ga)){const[,t,i]=n.id.split(Fn);l={attr:t,name:i}}else a=n.id;return{col:a,evalResultKey:l,dir:n.desc?"desc":"asc"}}const Oi=50;function _b(n){const{fetchKey:a}=ga(),l=!!er("/projects/:projectId/spans"),t=m.useRef(null),i=m.useRef(!0),[r,o]=m.useState({}),[d,c]=m.useState([]),[p,y]=m.useState(""),u=Ln($=>$.columnVisibility),g=re(),{data:f,loadNext:h,hasNext:b,isLoadingNext:S,refetch:C}=I.usePaginationFragment(lc,n.project),P=Ln($=>$.annotationColumnVisibility),D=m.useMemo(()=>Object.keys(P).filter($=>P[$]),[P]),w=m.useMemo(()=>f.spans.edges.map(({span:q})=>q),[f]),K=D.map($=>({header:$,columns:[{header:"label",accessorKey:`${Ga}${Fn}label${Fn}${$}`,cell:({row:q})=>{const N=q.original.spanAnnotations.find(B=>B.name===$);return N?N.label:null}},{header:"score",accessorKey:`${Ga}${Fn}score${Fn}${$}`,cell:({row:q})=>{const N=q.original.spanAnnotations.find(B=>B.name===$);return N?N.score:null}}]})),x=[{header:()=>s(k,{direction:"row",gap:"size-50",children:[e("span",{children:"feedback"}),s(Ia,{children:[e(ie,{level:3,weight:"heavy",children:"Feedback"}),e(Gn,{children:"Feedback includes evaluations and human annotations logged via the API or set via the UI."})]})]}),accessorKey:"spanAnnotations",enableSorting:!1,cell:({row:$})=>s(k,{direction:"row",gap:"size-50",wrap:"wrap",children:[$.original.spanAnnotations.map(q=>e(Da,{annotation:q,layout:"horizontal",width:"500px",extra:e(tc,{annotation:q}),children:e(wn,{annotation:q,annotationDisplayPreference:"label"})},q.name)),$.original.documentRetrievalMetrics.map(q=>s(H,{children:[e(Xe,{name:q.evaluationName,metric:"ndcg",score:q.ndcg},"ndcg"),e(Xe,{name:q.evaluationName,metric:"precision",score:q.precision},"precision"),e(Xe,{name:q.evaluationName,metric:"hit",score:q.hit},"hit")]}))]})},...K],E=[{id:"select",maxSize:10,header:({table:$})=>e(Bn,{checked:$.getIsAllRowsSelected(),indeterminate:$.getIsSomeRowsSelected(),onChange:$.getToggleAllRowsSelectedHandler()}),cell:({row:$})=>e(Bn,{checked:$.getIsSelected(),disabled:!$.getCanSelect(),indeterminate:$.getIsSomeSelected(),onChange:$.getToggleSelectedHandler()})},{header:"kind",accessorKey:"spanKind",maxSize:100,enableSorting:!1,cell:({getValue:$})=>e(Pt,{spanKind:$()})},{header:"name",accessorKey:"name",enableSorting:!1,cell:({getValue:$,row:q})=>{const N=q.original,{traceId:B}=N.trace;return e(Qe,{to:`${B}?selectedSpanNodeId=${N.id}`,children:$()})}},{header:"input",accessorKey:"input.value",cell:Ke,enableSorting:!1},{header:"output",accessorKey:"output.value",cell:Ke,enableSorting:!1},{header:"metadata",accessorKey:"metadata",cell:Ke,enableSorting:!1},...x,{header:"start time",accessorKey:"startTime",cell:Re},{header:"latency",accessorKey:"latencyMs",cell:({getValue:$})=>{const q=$();return q===null||typeof q!="number"?null:e(Ae,{latencyMs:q})}},{header:"total tokens",accessorKey:"tokenCountTotal",cell:({row:$,getValue:q})=>{const N=q();return N===null?"--":e(Yn,{tokenCountTotal:N,tokenCountPrompt:$.original.tokenCountPrompt||0,tokenCountCompletion:$.original.tokenCountCompletion||0})}},{header:"status",accessorKey:"statusCode",enableSorting:!1,cell:({getValue:$})=>e(Tl,{statusCode:$()})}];m.useEffect(()=>{if(i.current===!0){i.current=!1;return}l&&m.startTransition(()=>{const $=d[0];C({sort:$?kc($):hc,after:null,first:Oi,filterCondition:p},{fetchPolicy:"store-and-network"})})},[d,C,p,a,l]);const V=m.useCallback($=>{if($){const{scrollHeight:q,scrollTop:N,clientHeight:B}=$;q-N-B<300&&!S&&b&&h(Oi)}},[b,S,h]),O=xe({columns:E,data:w,state:{sorting:d,columnVisibility:u,rowSelection:r},manualSorting:!0,enableRowSelection:!0,onRowSelectionChange:o,onSortingChange:c,getCoreRowModel:De(),getSortedRowModel:kn()}),R=O.getRowModel().rows,j=O.getSelectedRowModel().rows,ne=j.map($=>$.original),me=m.useCallback(()=>{o({})},[o]),he=R.length===0,ve=O.getAllColumns().filter($=>$.columns.length===0);return s("div",{css:li,children:[e(F,{paddingTop:"size-100",paddingBottom:"size-100",paddingStart:"size-200",paddingEnd:"size-200",borderBottomColor:"grey-300",borderBottomWidth:"thin",flex:"none",children:s(k,{direction:"row",gap:"size-100",width:"100%",alignItems:"center",children:[e(uc,{onValidCondition:y}),e(sc,{columns:ve,query:f})]})}),e("div",{css:T`
3792
+ `,children:[e(Tm,{backgroundColor:"light",padding:"size-200",borderColor:"light",borderWidth:"thin",borderRadius:"medium",minWidth:"size-6000",children:s(ui,{direction:"row",justifyContent:"space-between",alignItems:"center",children:[e(Fm,{children:`${c.length} span${g?"s":""} selected`}),s(ui,{direction:"row",gap:"size-100",children:[e(M,{variant:"default",size:"S",onPress:p,children:"Cancel"}),s(ua,{placement:"top end",crossOffset:300,isOpen:o,onOpenChange:h=>{d(h)},children:[e(Cm,{variant:"primary",size:"compact",icon:e(Km,{svg:u?e(mi.LoadingOutline,{}):e(mi.DatabaseOutline,{})}),isDisabled:u,children:u?"Adding to dataset":"Add to dataset"}),e(m.Suspense,{children:e(xb,{onDatasetSelected:h=>{f(h),d(!1)},onCreateNewDataset:()=>{d(!1),t(e(Y,{title:"New Dataset",isDismissable:!0,onDismiss:()=>t(null),children:e(zr,{onDatasetCreateError:h=>{const b=Pe(h);r({title:"Dataset creation failed",message:`Failed to create dataset: ${(b==null?void 0:b[0])??h.message}`})},onDatasetCreated:h=>{t(null),i({title:"Dataset created",message:`${h.name} has been successfully created.`}),d(!0)}})}))}})})]})]})]})}),e(ee,{onDismiss:()=>{t(null)},children:l})]})}const Ga="annotations",Fn=":",hc={col:"startTime",dir:"desc"};function kc(n){let a=null,l=null;if(n.id&&n.id.startsWith(Ga)){const[,t,i]=n.id.split(Fn);l={attr:t,name:i}}else a=n.id;return{col:a,evalResultKey:l,dir:n.desc?"desc":"asc"}}const Oi=50;function _b(n){const{fetchKey:a}=ga(),l=!!er("/projects/:projectId/spans"),t=m.useRef(null),i=m.useRef(!0),[r,o]=m.useState({}),[d,c]=m.useState([]),[p,y]=m.useState(""),u=Ln($=>$.columnVisibility),g=re(),{data:f,loadNext:h,hasNext:b,isLoadingNext:S,refetch:C}=I.usePaginationFragment(lc,n.project),P=Ln($=>$.annotationColumnVisibility),D=m.useMemo(()=>Object.keys(P).filter($=>P[$]),[P]),w=m.useMemo(()=>f.spans.edges.map(({span:q})=>q),[f]),K=D.map($=>({header:$,columns:[{header:"label",accessorKey:`${Ga}${Fn}label${Fn}${$}`,cell:({row:q})=>{const N=q.original.spanAnnotations.find(B=>B.name===$);return N?N.label:null}},{header:"score",accessorKey:`${Ga}${Fn}score${Fn}${$}`,cell:({row:q})=>{const N=q.original.spanAnnotations.find(B=>B.name===$);return N?N.score:null}}]})),x=[{header:()=>s(k,{direction:"row",gap:"size-50",children:[e("span",{children:"feedback"}),s(Ia,{children:[e(ie,{level:3,weight:"heavy",children:"Feedback"}),e(Gn,{children:"Feedback includes evaluations and human annotations logged via the API or set via the UI."})]})]}),accessorKey:"spanAnnotations",enableSorting:!1,cell:({row:$})=>s(k,{direction:"row",gap:"size-50",wrap:"wrap",children:[$.original.spanAnnotations.map(q=>e(Da,{annotation:q,layout:"horizontal",width:"500px",extra:e(tc,{annotation:q}),children:e(wn,{annotation:q,annotationDisplayPreference:"label"})},q.name)),$.original.documentRetrievalMetrics.map(q=>s(H,{children:[e(Xe,{name:q.evaluationName,metric:"ndcg",score:q.ndcg},"ndcg"),e(Xe,{name:q.evaluationName,metric:"precision",score:q.precision},"precision"),e(Xe,{name:q.evaluationName,metric:"hit",score:q.hit},"hit")]}))]})},...K],E=[{id:"select",maxSize:10,header:({table:$})=>e(Bn,{checked:$.getIsAllRowsSelected(),indeterminate:$.getIsSomeRowsSelected(),onChange:$.getToggleAllRowsSelectedHandler()}),cell:({row:$})=>e(Bn,{checked:$.getIsSelected(),disabled:!$.getCanSelect(),indeterminate:$.getIsSomeSelected(),onChange:$.getToggleSelectedHandler()})},{header:"status",accessorKey:"statusCode",maxSize:30,enableSorting:!1,cell:({getValue:$})=>{const q=$();return e(k,{direction:"row",gap:"size-50",alignItems:"center",children:e(Tl,{statusCode:q})})}},{header:"kind",accessorKey:"spanKind",maxSize:100,enableSorting:!1,cell:({getValue:$})=>e(Pt,{spanKind:$()})},{header:"name",accessorKey:"name",enableSorting:!1,cell:({getValue:$,row:q})=>{const N=q.original,{traceId:B}=N.trace;return e(Qe,{to:`${B}?selectedSpanNodeId=${N.id}`,children:$()})}},{header:"input",accessorKey:"input.value",cell:Ke,enableSorting:!1},{header:"output",accessorKey:"output.value",cell:Ke,enableSorting:!1},{header:"metadata",accessorKey:"metadata",cell:Ke,enableSorting:!1},...x,{header:"start time",accessorKey:"startTime",cell:Re},{header:"latency",accessorKey:"latencyMs",cell:({getValue:$})=>{const q=$();return q===null||typeof q!="number"?null:e(Ae,{latencyMs:q})}},{header:"total tokens",accessorKey:"tokenCountTotal",cell:({row:$,getValue:q})=>{const N=q();return N===null?"--":e(Yn,{tokenCountTotal:N,tokenCountPrompt:$.original.tokenCountPrompt||0,tokenCountCompletion:$.original.tokenCountCompletion||0})}}];m.useEffect(()=>{if(i.current===!0){i.current=!1;return}l&&m.startTransition(()=>{const $=d[0];C({sort:$?kc($):hc,after:null,first:Oi,filterCondition:p},{fetchPolicy:"store-and-network"})})},[d,C,p,a,l]);const V=m.useCallback($=>{if($){const{scrollHeight:q,scrollTop:N,clientHeight:B}=$;q-N-B<300&&!S&&b&&h(Oi)}},[b,S,h]),O=xe({columns:E,data:w,state:{sorting:d,columnVisibility:u,rowSelection:r},manualSorting:!0,enableRowSelection:!0,onRowSelectionChange:o,onSortingChange:c,getCoreRowModel:De(),getSortedRowModel:kn()}),R=O.getRowModel().rows,j=O.getSelectedRowModel().rows,ne=j.map($=>$.original),me=m.useCallback(()=>{o({})},[o]),he=R.length===0,ve=O.getAllColumns().filter($=>$.columns.length===0);return s("div",{css:li,children:[e(F,{paddingTop:"size-100",paddingBottom:"size-100",paddingStart:"size-200",paddingEnd:"size-200",borderBottomColor:"grey-300",borderBottomWidth:"thin",flex:"none",children:s(k,{direction:"row",gap:"size-100",width:"100%",alignItems:"center",children:[e(uc,{onValidCondition:y}),e(sc,{columns:ve,query:f})]})}),e("div",{css:T`
3793
3793
  flex: 1 1 auto;
3794
3794
  overflow: auto;
3795
3795
  `,onScroll:$=>V($.target),ref:t,children:s("table",{css:Zn,children:[e("thead",{children:O.getHeaderGroups().map($=>e("tr",{children:$.headers.map(q=>e("th",{colSpan:q.colSpan,children:q.isPlaceholder?null:s("div",{className:q.column.getCanSort()?"cursor-pointer":"",onClick:q.column.getToggleSortingHandler(),style:{left:q.getStart(),width:q.getSize()},children:[Z(q.column.columnDef.header,q.getContext()),q.column.getIsSorted()?e(_,{className:"sort-icon",svg:q.column.getIsSorted()==="asc"?e(dn,{}):e(on,{})}):null]})},q.id))},$.id))}),he?e(ic,{projectName:f.name}):e("tbody",{children:R.map($=>e("tr",{onClick:()=>g(`${$.original.trace.traceId}?selectedSpanNodeId=${$.original.id}`),children:$.getVisibleCells().map(q=>e("td",{children:Z(q.column.columnDef.cell,q.getContext())},q.id))},$.id))})]})}),j.length?e(fc,{selectedSpans:ne,onClearSelection:me}):null]})}function Lb({queryReference:n}){const a=I.usePreloadedQuery(jd,n);return e(_b,{project:a.project})}const p2=()=>{const{spansQueryReference:n}=ai();return n?s(ii,{children:[e(ti,{children:e(m.Suspense,{fallback:e(fe,{}),children:e(Lb,{queryReference:n})})}),e(m.Suspense,{children:e(Le,{})})]}):null},bc=function(){var n={defaultValue:null,kind:"LocalArgument",name:"after"},a={defaultValue:null,kind:"LocalArgument",name:"filterCondition"},l={defaultValue:50,kind:"LocalArgument",name:"first"},t={defaultValue:null,kind:"LocalArgument",name:"id"},i={defaultValue:{col:"startTime",dir:"desc"},kind:"LocalArgument",name:"sort"},r={defaultValue:null,kind:"LocalArgument",name:"timeRange"},o=[{kind:"Variable",name:"id",variableName:"id"}],d={kind:"Variable",name:"after",variableName:"after"},c={kind:"Variable",name:"filterCondition",variableName:"filterCondition"},p={kind:"Variable",name:"first",variableName:"first"},y={kind:"Variable",name:"sort",variableName:"sort"},u={alias:null,args:null,kind:"ScalarField",name:"__typename",storageKey:null},g={alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},f={alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},h=[d,c,p,{kind:"Literal",name:"rootSpansOnly",value:!0},y,{kind:"Variable",name:"timeRange",variableName:"timeRange"}],b={alias:null,args:null,kind:"ScalarField",name:"spanKind",storageKey:null},S={alias:"statusCode",args:null,kind:"ScalarField",name:"propagatedStatusCode",storageKey:null},C={alias:null,args:null,kind:"ScalarField",name:"startTime",storageKey:null},P={alias:null,args:null,kind:"ScalarField",name:"latencyMs",storageKey:null},D={alias:null,args:null,kind:"ScalarField",name:"parentId",storageKey:null},w=[{alias:"value",args:null,kind:"ScalarField",name:"truncatedValue",storageKey:null}],K={alias:null,args:null,concreteType:"SpanIOValue",kind:"LinkedField",name:"input",plural:!1,selections:w,storageKey:null},x={alias:null,args:null,concreteType:"SpanIOValue",kind:"LinkedField",name:"output",plural:!1,selections:w,storageKey:null},E={alias:null,args:null,kind:"ScalarField",name:"spanId",storageKey:null},V={alias:null,args:null,concreteType:"Trace",kind:"LinkedField",name:"trace",plural:!1,selections:[g,{alias:null,args:null,kind:"ScalarField",name:"traceId",storageKey:null}],storageKey:null},O={alias:null,args:null,concreteType:"SpanAnnotation",kind:"LinkedField",name:"spanAnnotations",plural:!0,selections:[g,f,{alias:null,args:null,kind:"ScalarField",name:"label",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"score",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"annotatorKind",storageKey:null}],storageKey:null},R={alias:null,args:null,concreteType:"DocumentRetrievalMetrics",kind:"LinkedField",name:"documentRetrievalMetrics",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"evaluationName",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"ndcg",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"precision",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"hit",storageKey:null}],storageKey:null};return{fragment:{argumentDefinitions:[n,a,l,t,i,r],kind:"Fragment",metadata:null,name:"TracesTableQuery",selections:[{alias:null,args:o,concreteType:null,kind:"LinkedField",name:"node",plural:!1,selections:[{args:[d,c,p,y],kind:"FragmentSpread",name:"TracesTable_spans"}],storageKey:null}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[n,a,l,i,r,t],kind:"Operation",name:"TracesTableQuery",selections:[{alias:null,args:o,concreteType:null,kind:"LinkedField",name:"node",plural:!1,selections:[u,{kind:"TypeDiscriminator",abstractKey:"__isNode"},g,{kind:"InlineFragment",selections:[f,{alias:null,args:null,kind:"ScalarField",name:"spanAnnotationNames",storageKey:null},{alias:"rootSpans",args:h,concreteType:"SpanConnection",kind:"LinkedField",name:"spans",plural:!1,selections:[{alias:null,args:null,concreteType:"SpanEdge",kind:"LinkedField",name:"edges",plural:!0,selections:[{alias:"rootSpan",args:null,concreteType:"Span",kind:"LinkedField",name:"node",plural:!1,selections:[g,b,f,{alias:null,args:null,kind:"ScalarField",name:"metadata",storageKey:null},S,C,P,{alias:null,args:null,kind:"ScalarField",name:"cumulativeTokenCountTotal",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"cumulativeTokenCountPrompt",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"cumulativeTokenCountCompletion",storageKey:null},D,K,x,E,V,O,R,{alias:null,args:null,concreteType:"SpanConnection",kind:"LinkedField",name:"descendants",plural:!1,selections:[{alias:null,args:null,concreteType:"SpanEdge",kind:"LinkedField",name:"edges",plural:!0,selections:[{alias:null,args:null,concreteType:"Span",kind:"LinkedField",name:"node",plural:!1,selections:[g,b,f,S,C,P,D,{alias:"cumulativeTokenCountTotal",args:null,kind:"ScalarField",name:"tokenCountTotal",storageKey:null},{alias:"cumulativeTokenCountPrompt",args:null,kind:"ScalarField",name:"tokenCountPrompt",storageKey:null},{alias:"cumulativeTokenCountCompletion",args:null,kind:"ScalarField",name:"tokenCountCompletion",storageKey:null},K,x,E,V,O,R],storageKey:null}],storageKey:null}],storageKey:null}],storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"cursor",storageKey:null},{alias:null,args:null,concreteType:"Span",kind:"LinkedField",name:"node",plural:!1,selections:[u],storageKey:null}],storageKey:null},{alias:null,args:null,concreteType:"PageInfo",kind:"LinkedField",name:"pageInfo",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"endCursor",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"hasNextPage",storageKey:null}],storageKey:null}],storageKey:null},{alias:"rootSpans",args:h,filters:["sort","rootSpansOnly","filterCondition","timeRange"],handle:"connection",key:"TracesTable_rootSpans",kind:"LinkedHandle",name:"spans"}],type:"Project",abstractKey:null}],storageKey:null}]},params:{cacheID:"e2ee63fb508c417b87e7fe772f484712",id:null,metadata:{},name:"TracesTableQuery",operationKind:"query",text:`query TracesTableQuery(
@@ -3906,13 +3906,13 @@ fragment TracesTable_spans_1XEuU on Project {
3906
3906
  }
3907
3907
  id
3908
3908
  }
3909
- `}}}();bc.hash="0cca74f403d73787f2bc6d1963e352cc";const Sc=function(){var n=["rootSpans"],a={alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},l={alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},t={alias:null,args:null,kind:"ScalarField",name:"spanKind",storageKey:null},i={alias:"statusCode",args:null,kind:"ScalarField",name:"propagatedStatusCode",storageKey:null},r={alias:null,args:null,kind:"ScalarField",name:"startTime",storageKey:null},o={alias:null,args:null,kind:"ScalarField",name:"latencyMs",storageKey:null},d={alias:null,args:null,kind:"ScalarField",name:"parentId",storageKey:null},c=[{alias:"value",args:null,kind:"ScalarField",name:"truncatedValue",storageKey:null}],p={alias:null,args:null,concreteType:"SpanIOValue",kind:"LinkedField",name:"input",plural:!1,selections:c,storageKey:null},y={alias:null,args:null,concreteType:"SpanIOValue",kind:"LinkedField",name:"output",plural:!1,selections:c,storageKey:null},u={alias:null,args:null,kind:"ScalarField",name:"spanId",storageKey:null},g={alias:null,args:null,concreteType:"Trace",kind:"LinkedField",name:"trace",plural:!1,selections:[l,{alias:null,args:null,kind:"ScalarField",name:"traceId",storageKey:null}],storageKey:null},f={alias:null,args:null,concreteType:"SpanAnnotation",kind:"LinkedField",name:"spanAnnotations",plural:!0,selections:[l,a,{alias:null,args:null,kind:"ScalarField",name:"label",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"score",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"annotatorKind",storageKey:null}],storageKey:null},h={alias:null,args:null,concreteType:"DocumentRetrievalMetrics",kind:"LinkedField",name:"documentRetrievalMetrics",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"evaluationName",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"ndcg",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"precision",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"hit",storageKey:null}],storageKey:null};return{argumentDefinitions:[{defaultValue:null,kind:"LocalArgument",name:"after"},{defaultValue:null,kind:"LocalArgument",name:"filterCondition"},{defaultValue:50,kind:"LocalArgument",name:"first"},{defaultValue:{col:"startTime",dir:"desc"},kind:"LocalArgument",name:"sort"},{kind:"RootArgument",name:"timeRange"}],kind:"Fragment",metadata:{connection:[{count:"first",cursor:"after",direction:"forward",path:n}],refetch:{connection:{forward:{count:"first",cursor:"after"},backward:null,path:n},fragmentPathInResult:["node"],operation:bc,identifierInfo:{identifierField:"id",identifierQueryVariableName:"id"}}},name:"TracesTable_spans",selections:[a,{args:null,kind:"FragmentSpread",name:"SpanColumnSelector_annotations"},{alias:"rootSpans",args:[{kind:"Variable",name:"filterCondition",variableName:"filterCondition"},{kind:"Literal",name:"rootSpansOnly",value:!0},{kind:"Variable",name:"sort",variableName:"sort"},{kind:"Variable",name:"timeRange",variableName:"timeRange"}],concreteType:"SpanConnection",kind:"LinkedField",name:"__TracesTable_rootSpans_connection",plural:!1,selections:[{alias:null,args:null,concreteType:"SpanEdge",kind:"LinkedField",name:"edges",plural:!0,selections:[{alias:"rootSpan",args:null,concreteType:"Span",kind:"LinkedField",name:"node",plural:!1,selections:[l,t,a,{alias:null,args:null,kind:"ScalarField",name:"metadata",storageKey:null},i,r,o,{alias:null,args:null,kind:"ScalarField",name:"cumulativeTokenCountTotal",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"cumulativeTokenCountPrompt",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"cumulativeTokenCountCompletion",storageKey:null},d,p,y,u,g,f,h,{alias:null,args:null,concreteType:"SpanConnection",kind:"LinkedField",name:"descendants",plural:!1,selections:[{alias:null,args:null,concreteType:"SpanEdge",kind:"LinkedField",name:"edges",plural:!0,selections:[{alias:null,args:null,concreteType:"Span",kind:"LinkedField",name:"node",plural:!1,selections:[l,t,a,i,r,o,d,{alias:"cumulativeTokenCountTotal",args:null,kind:"ScalarField",name:"tokenCountTotal",storageKey:null},{alias:"cumulativeTokenCountPrompt",args:null,kind:"ScalarField",name:"tokenCountPrompt",storageKey:null},{alias:"cumulativeTokenCountCompletion",args:null,kind:"ScalarField",name:"tokenCountCompletion",storageKey:null},p,y,u,g,f,h],storageKey:null}],storageKey:null}],storageKey:null}],storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"cursor",storageKey:null},{alias:null,args:null,concreteType:"Span",kind:"LinkedField",name:"node",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"__typename",storageKey:null}],storageKey:null}],storageKey:null},{alias:null,args:null,concreteType:"PageInfo",kind:"LinkedField",name:"pageInfo",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"endCursor",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"hasNextPage",storageKey:null}],storageKey:null}],storageKey:null},l],type:"Project",abstractKey:null}}();Sc.hash="0cca74f403d73787f2bc6d1963e352cc";const Qi=50;function vc(n){const a=[];for(const l of n){const t={...l.span,children:vc(l.children)};a.push(t)}return a}function wb(n){const a=m.useRef(null),l=m.useRef(!0),[t,i]=m.useState({}),[r,o]=m.useState([]),[d,c]=m.useState(""),p=re(),y=!!er("/projects/:projectId/traces"),{fetchKey:u}=ga(),{data:g,loadNext:f,hasNext:h,isLoadingNext:b,refetch:S}=I.usePaginationFragment(Sc,n.project),C=Ln(N=>N.annotationColumnVisibility),P=m.useMemo(()=>Object.keys(C).filter(N=>C[N]),[C]),D=m.useMemo(()=>g.rootSpans.edges.map(({rootSpan:B})=>{const A=dg([B,...B.descendants.edges.map(({node:ae})=>ae)]),[X]=vc(A);return X}),[g]),w=P.map(N=>({header:N,columns:[{header:"label",accessorKey:`${Ga}${Fn}label${Fn}${N}`,cell:({row:B})=>{const A=B.original.spanAnnotations.find(X=>X.name===N);return A?A.label:null}},{header:"score",accessorKey:`${Ga}${Fn}score${Fn}${N}`,cell:({row:B})=>{const A=B.original.spanAnnotations.find(X=>X.name===N);return A?A.score:null}}]})),K=[{header:()=>s(k,{direction:"row",gap:"size-50",children:[e("span",{children:"feedback"}),s(Ia,{children:[e(ie,{level:3,weight:"heavy",children:"Feedback"}),e(Gn,{children:"Feedback includes evaluations and human annotations logged via the API or set via the UI."})]})]}),accessorKey:"spanAnnotations",enableSorting:!1,cell:({row:N})=>{const B=N.original.spanAnnotations.length===0&&N.original.documentRetrievalMetrics.length===0;return s(k,{direction:"row",gap:"size-50",wrap:"wrap",children:[N.original.spanAnnotations.map(A=>e(Da,{annotation:A,layout:"horizontal",width:"500px",extra:e(tc,{annotation:A}),children:e(wn,{annotation:A,annotationDisplayPreference:"label"})},A.name)),N.original.documentRetrievalMetrics.map(A=>s(m.Fragment,{children:[e(Xe,{name:A.evaluationName,metric:"ndcg",score:A.ndcg},"ndcg"),e(Xe,{name:A.evaluationName,metric:"precision",score:A.precision},"precision"),e(Xe,{name:A.evaluationName,metric:"hit",score:A.hit},"hit")]},"doc-evals")),B?"--":null]})}},...w],x=[{id:"select",maxSize:10,header:({table:N})=>e(Bn,{checked:N.getIsAllRowsSelected(),indeterminate:N.getIsSomeRowsSelected(),onChange:N.getToggleAllRowsSelectedHandler()}),cell:({row:N})=>e(Bn,{checked:N.getIsSelected(),disabled:!N.getCanSelect(),indeterminate:N.getIsSomeSelected(),onChange:N.getToggleSelectedHandler()})},{header:()=>s(k,{gap:"size-50",direction:"row",alignItems:"center",children:[e(bi,{isExpanded:j.getIsAllRowsExpanded(),onClick:j.getToggleAllRowsExpandedHandler(),"aria-label":"Expand all rows"}),"kind"]}),enableSorting:!1,accessorKey:"spanKind",maxSize:100,cell:N=>e("div",{css:T`
3909
+ `}}}();bc.hash="0cca74f403d73787f2bc6d1963e352cc";const Sc=function(){var n=["rootSpans"],a={alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},l={alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},t={alias:null,args:null,kind:"ScalarField",name:"spanKind",storageKey:null},i={alias:"statusCode",args:null,kind:"ScalarField",name:"propagatedStatusCode",storageKey:null},r={alias:null,args:null,kind:"ScalarField",name:"startTime",storageKey:null},o={alias:null,args:null,kind:"ScalarField",name:"latencyMs",storageKey:null},d={alias:null,args:null,kind:"ScalarField",name:"parentId",storageKey:null},c=[{alias:"value",args:null,kind:"ScalarField",name:"truncatedValue",storageKey:null}],p={alias:null,args:null,concreteType:"SpanIOValue",kind:"LinkedField",name:"input",plural:!1,selections:c,storageKey:null},y={alias:null,args:null,concreteType:"SpanIOValue",kind:"LinkedField",name:"output",plural:!1,selections:c,storageKey:null},u={alias:null,args:null,kind:"ScalarField",name:"spanId",storageKey:null},g={alias:null,args:null,concreteType:"Trace",kind:"LinkedField",name:"trace",plural:!1,selections:[l,{alias:null,args:null,kind:"ScalarField",name:"traceId",storageKey:null}],storageKey:null},f={alias:null,args:null,concreteType:"SpanAnnotation",kind:"LinkedField",name:"spanAnnotations",plural:!0,selections:[l,a,{alias:null,args:null,kind:"ScalarField",name:"label",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"score",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"annotatorKind",storageKey:null}],storageKey:null},h={alias:null,args:null,concreteType:"DocumentRetrievalMetrics",kind:"LinkedField",name:"documentRetrievalMetrics",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"evaluationName",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"ndcg",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"precision",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"hit",storageKey:null}],storageKey:null};return{argumentDefinitions:[{defaultValue:null,kind:"LocalArgument",name:"after"},{defaultValue:null,kind:"LocalArgument",name:"filterCondition"},{defaultValue:50,kind:"LocalArgument",name:"first"},{defaultValue:{col:"startTime",dir:"desc"},kind:"LocalArgument",name:"sort"},{kind:"RootArgument",name:"timeRange"}],kind:"Fragment",metadata:{connection:[{count:"first",cursor:"after",direction:"forward",path:n}],refetch:{connection:{forward:{count:"first",cursor:"after"},backward:null,path:n},fragmentPathInResult:["node"],operation:bc,identifierInfo:{identifierField:"id",identifierQueryVariableName:"id"}}},name:"TracesTable_spans",selections:[a,{args:null,kind:"FragmentSpread",name:"SpanColumnSelector_annotations"},{alias:"rootSpans",args:[{kind:"Variable",name:"filterCondition",variableName:"filterCondition"},{kind:"Literal",name:"rootSpansOnly",value:!0},{kind:"Variable",name:"sort",variableName:"sort"},{kind:"Variable",name:"timeRange",variableName:"timeRange"}],concreteType:"SpanConnection",kind:"LinkedField",name:"__TracesTable_rootSpans_connection",plural:!1,selections:[{alias:null,args:null,concreteType:"SpanEdge",kind:"LinkedField",name:"edges",plural:!0,selections:[{alias:"rootSpan",args:null,concreteType:"Span",kind:"LinkedField",name:"node",plural:!1,selections:[l,t,a,{alias:null,args:null,kind:"ScalarField",name:"metadata",storageKey:null},i,r,o,{alias:null,args:null,kind:"ScalarField",name:"cumulativeTokenCountTotal",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"cumulativeTokenCountPrompt",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"cumulativeTokenCountCompletion",storageKey:null},d,p,y,u,g,f,h,{alias:null,args:null,concreteType:"SpanConnection",kind:"LinkedField",name:"descendants",plural:!1,selections:[{alias:null,args:null,concreteType:"SpanEdge",kind:"LinkedField",name:"edges",plural:!0,selections:[{alias:null,args:null,concreteType:"Span",kind:"LinkedField",name:"node",plural:!1,selections:[l,t,a,i,r,o,d,{alias:"cumulativeTokenCountTotal",args:null,kind:"ScalarField",name:"tokenCountTotal",storageKey:null},{alias:"cumulativeTokenCountPrompt",args:null,kind:"ScalarField",name:"tokenCountPrompt",storageKey:null},{alias:"cumulativeTokenCountCompletion",args:null,kind:"ScalarField",name:"tokenCountCompletion",storageKey:null},p,y,u,g,f,h],storageKey:null}],storageKey:null}],storageKey:null}],storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"cursor",storageKey:null},{alias:null,args:null,concreteType:"Span",kind:"LinkedField",name:"node",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"__typename",storageKey:null}],storageKey:null}],storageKey:null},{alias:null,args:null,concreteType:"PageInfo",kind:"LinkedField",name:"pageInfo",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"endCursor",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"hasNextPage",storageKey:null}],storageKey:null}],storageKey:null},l],type:"Project",abstractKey:null}}();Sc.hash="0cca74f403d73787f2bc6d1963e352cc";const Qi=50;function vc(n){const a=[];for(const l of n){const t={...l.span,children:vc(l.children)};a.push(t)}return a}function wb(n){const a=m.useRef(null),l=m.useRef(!0),[t,i]=m.useState({}),[r,o]=m.useState([]),[d,c]=m.useState(""),p=re(),y=!!er("/projects/:projectId/traces"),{fetchKey:u}=ga(),{data:g,loadNext:f,hasNext:h,isLoadingNext:b,refetch:S}=I.usePaginationFragment(Sc,n.project),C=Ln(N=>N.annotationColumnVisibility),P=m.useMemo(()=>Object.keys(C).filter(N=>C[N]),[C]),D=m.useMemo(()=>g.rootSpans.edges.map(({rootSpan:B})=>{const A=dg([B,...B.descendants.edges.map(({node:ae})=>ae)]),[X]=vc(A);return X}),[g]),w=P.map(N=>({header:N,columns:[{header:"label",accessorKey:`${Ga}${Fn}label${Fn}${N}`,cell:({row:B})=>{const A=B.original.spanAnnotations.find(X=>X.name===N);return A?A.label:null}},{header:"score",accessorKey:`${Ga}${Fn}score${Fn}${N}`,cell:({row:B})=>{const A=B.original.spanAnnotations.find(X=>X.name===N);return A?A.score:null}}]})),K=[{header:()=>s(k,{direction:"row",gap:"size-50",children:[e("span",{children:"feedback"}),s(Ia,{children:[e(ie,{level:3,weight:"heavy",children:"Feedback"}),e(Gn,{children:"Feedback includes evaluations and human annotations logged via the API or set via the UI."})]})]}),accessorKey:"spanAnnotations",enableSorting:!1,cell:({row:N})=>{const B=N.original.spanAnnotations.length===0&&N.original.documentRetrievalMetrics.length===0;return s(k,{direction:"row",gap:"size-50",wrap:"wrap",children:[N.original.spanAnnotations.map(A=>e(Da,{annotation:A,layout:"horizontal",width:"500px",extra:e(tc,{annotation:A}),children:e(wn,{annotation:A,annotationDisplayPreference:"label"})},A.name)),N.original.documentRetrievalMetrics.map(A=>s(m.Fragment,{children:[e(Xe,{name:A.evaluationName,metric:"ndcg",score:A.ndcg},"ndcg"),e(Xe,{name:A.evaluationName,metric:"precision",score:A.precision},"precision"),e(Xe,{name:A.evaluationName,metric:"hit",score:A.hit},"hit")]},"doc-evals")),B?"--":null]})}},...w],x=[{id:"select",maxSize:10,header:({table:N})=>e(Bn,{checked:N.getIsAllRowsSelected(),indeterminate:N.getIsSomeRowsSelected(),onChange:N.getToggleAllRowsSelectedHandler()}),cell:({row:N})=>e(Bn,{checked:N.getIsSelected(),disabled:!N.getCanSelect(),indeterminate:N.getIsSomeSelected(),onChange:N.getToggleSelectedHandler()})},{header:"status",accessorKey:"statusCode",maxSize:30,enableSorting:!1,cell:({getValue:N})=>{const B=N();return e(k,{gap:"size-50",children:e(Tl,{statusCode:B})})}},{header:()=>s(k,{gap:"size-50",direction:"row",alignItems:"center",children:[e(bi,{isExpanded:j.getIsAllRowsExpanded(),onClick:j.getToggleAllRowsExpandedHandler(),"aria-label":"Expand all rows"}),"kind"]}),enableSorting:!1,accessorKey:"spanKind",maxSize:100,cell:N=>e("div",{css:T`
3910
3910
  // Since rows are flattened by default,
3911
3911
  // we can use the row.depth property
3912
3912
  // and paddingLeft to visually indicate the depth
3913
3913
  // of the row
3914
3914
  padding-left: ${N.row.depth*2}rem;
3915
- `,children:s(k,{gap:"size-50",children:[N.row.getCanExpand()?e(bi,{isExpanded:N.row.getIsExpanded(),onClick:N.row.getToggleExpandedHandler(),"aria-label":"Expand row"}):null,e(Pt,{spanKind:N.getValue()})]})})},{header:"name",accessorKey:"name",enableSorting:!1,cell:({getValue:N,row:B})=>{const{traceId:A}=B.original.trace;return e(Qe,{to:`${A}?selectedSpanNodeId=${B.original.id}`,children:N()})}},{header:"input",accessorKey:"input.value",enableSorting:!1,cell:Ke},{header:"output",accessorKey:"output.value",enableSorting:!1,cell:Ke},{header:"metadata",accessorKey:"metadata",enableSorting:!1,cell:Ke},...K,{header:"start time",accessorKey:"startTime",cell:Re},{header:"latency",accessorKey:"latencyMs",cell:({getValue:N})=>{const B=N();return B===null||typeof B!="number"?null:e(Ae,{latencyMs:B})}},{header:"total tokens",minSize:80,accessorKey:"cumulativeTokenCountTotal",cell:({row:N,getValue:B})=>{const A=B();return A===null?"--":e(Yn,{tokenCountTotal:A,tokenCountPrompt:N.original.cumulativeTokenCountPrompt||0,tokenCountCompletion:N.original.cumulativeTokenCountCompletion||0})}},{header:"status",accessorKey:"statusCode",enableSorting:!1,cell:({getValue:N})=>e(Tl,{statusCode:N()})}];m.useEffect(()=>{if(l.current===!0){l.current=!1;return}if(y){const N=r[0];m.startTransition(()=>{S({sort:N?kc(N):hc,after:null,first:Qi,filterCondition:d},{fetchPolicy:"store-and-network"})})}},[r,S,d,u,y]);const E=Ie.useCallback(N=>{if(N){const{scrollHeight:B,scrollTop:A,clientHeight:X}=N;B-A-X<300&&!b&&h&&f(Qi)}},[h,b,f]),[V,O]=m.useState({}),R=Ln(N=>N.columnVisibility),j=xe({columns:x,data:D,onExpandedChange:O,manualSorting:!0,getSubRows:N=>N.children,state:{sorting:r,expanded:V,columnVisibility:R,rowSelection:t},onRowSelectionChange:i,enableSubRowSelection:!1,onSortingChange:o,getCoreRowModel:De(),getSortedRowModel:kn(),getExpandedRowModel:Yi(),getRowId:N=>N.id}),ne=j.getRowModel().rows,me=j.getSelectedRowModel().flatRows,he=me.map(N=>N.original),ve=m.useCallback(()=>{i({})},[i]),$=ne.length===0,q=j.getAllColumns().filter(N=>N.columns.length===0);return s("div",{css:li,children:[e(F,{paddingTop:"size-100",paddingBottom:"size-100",paddingStart:"size-200",paddingEnd:"size-200",borderBottomColor:"grey-300",borderBottomWidth:"thin",flex:"none",children:s(k,{direction:"row",gap:"size-100",width:"100%",alignItems:"center",children:[e(uc,{onValidCondition:c}),e(sc,{columns:q,query:g})]})}),e("div",{css:T`
3915
+ `,children:s(k,{gap:"size-50",children:[N.row.getCanExpand()?e(bi,{isExpanded:N.row.getIsExpanded(),onClick:N.row.getToggleExpandedHandler(),"aria-label":"Expand row"}):null,e(Pt,{spanKind:N.getValue()})]})})},{header:"name",accessorKey:"name",enableSorting:!1,cell:({getValue:N,row:B})=>{const{traceId:A}=B.original.trace;return e(Qe,{to:`${A}?selectedSpanNodeId=${B.original.id}`,children:N()})}},{header:"input",accessorKey:"input.value",enableSorting:!1,cell:Ke},{header:"output",accessorKey:"output.value",enableSorting:!1,cell:Ke},{header:"metadata",accessorKey:"metadata",enableSorting:!1,cell:Ke},...K,{header:"start time",accessorKey:"startTime",cell:Re},{header:"latency",accessorKey:"latencyMs",cell:({getValue:N})=>{const B=N();return B===null||typeof B!="number"?null:e(Ae,{latencyMs:B})}},{header:"total tokens",minSize:80,accessorKey:"cumulativeTokenCountTotal",cell:({row:N,getValue:B})=>{const A=B();return A===null?"--":e(Yn,{tokenCountTotal:A,tokenCountPrompt:N.original.cumulativeTokenCountPrompt||0,tokenCountCompletion:N.original.cumulativeTokenCountCompletion||0})}}];m.useEffect(()=>{if(l.current===!0){l.current=!1;return}if(y){const N=r[0];m.startTransition(()=>{S({sort:N?kc(N):hc,after:null,first:Qi,filterCondition:d},{fetchPolicy:"store-and-network"})})}},[r,S,d,u,y]);const E=Ie.useCallback(N=>{if(N){const{scrollHeight:B,scrollTop:A,clientHeight:X}=N;B-A-X<300&&!b&&h&&f(Qi)}},[h,b,f]),[V,O]=m.useState({}),R=Ln(N=>N.columnVisibility),j=xe({columns:x,data:D,onExpandedChange:O,manualSorting:!0,getSubRows:N=>N.children,state:{sorting:r,expanded:V,columnVisibility:R,rowSelection:t},onRowSelectionChange:i,enableSubRowSelection:!1,onSortingChange:o,getCoreRowModel:De(),getSortedRowModel:kn(),getExpandedRowModel:Yi(),getRowId:N=>N.id}),ne=j.getRowModel().rows,me=j.getSelectedRowModel().flatRows,he=me.map(N=>N.original),ve=m.useCallback(()=>{i({})},[i]),$=ne.length===0,q=j.getAllColumns().filter(N=>N.columns.length===0);return s("div",{css:li,children:[e(F,{paddingTop:"size-100",paddingBottom:"size-100",paddingStart:"size-200",paddingEnd:"size-200",borderBottomColor:"grey-300",borderBottomWidth:"thin",flex:"none",children:s(k,{direction:"row",gap:"size-100",width:"100%",alignItems:"center",children:[e(uc,{onValidCondition:c}),e(sc,{columns:q,query:g})]})}),e("div",{css:T`
3916
3916
  flex: 1 1 auto;
3917
3917
  overflow: auto;
3918
3918
  `,onScroll:N=>E(N.target),ref:a,children:s("table",{css:Zn,children:[e("thead",{children:j.getHeaderGroups().map(N=>e("tr",{children:N.headers.map(B=>e("th",{colSpan:B.colSpan,children:B.isPlaceholder?null:s("div",{"data-sortable":B.column.getCanSort(),className:B.column.getCanSort()?"cursor-pointer":"",onClick:B.column.getToggleSortingHandler(),style:{left:B.getStart(),width:B.getSize()},children:[Z(B.column.columnDef.header,B.getContext()),B.column.getIsSorted()?e(_,{className:"sort-icon",svg:B.column.getIsSorted()==="asc"?e(dn,{}):e(on,{})}):null]})},B.id))},N.id))}),$?e(ic,{projectName:g.name}):e("tbody",{children:ne.map(N=>e("tr",{onClick:()=>p(`${N.original.trace.traceId}`),children:N.getVisibleCells().map(B=>e("td",{children:Z(B.column.columnDef.cell,B.getContext())},B.id))},N.id))})]})}),me.length?e(fc,{selectedSpans:he,onClearSelection:ve}):null]})}const Eb=({tracesQueryReference:n})=>{const a=I.usePreloadedQuery(Qd,n);return e(m.Suspense,{children:e(wb,{project:a.project})})},g2=()=>{const{tracesQueryReference:n}=ai();return n?s(ii,{children:[e(ti,{children:e(m.Suspense,{fallback:e(fe,{}),children:e(Eb,{tracesQueryReference:n})})}),e(m.Suspense,{children:e(Le,{})})]}):null},Fc=function(){var n=[{defaultValue:null,kind:"LocalArgument",name:"id"}],a=[{kind:"Variable",name:"id",variableName:"id"}],l={alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},t={kind:"InlineFragment",selections:[{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null}],type:"Project",abstractKey:null};return{fragment:{argumentDefinitions:n,kind:"Fragment",metadata:null,name:"projectLoaderQuery",selections:[{alias:"project",args:a,concreteType:null,kind:"LinkedField",name:"node",plural:!1,selections:[l,t],storageKey:null}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:n,kind:"Operation",name:"projectLoaderQuery",selections:[{alias:"project",args:a,concreteType:null,kind:"LinkedField",name:"node",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"__typename",storageKey:null},l,t],storageKey:null}]},params:{cacheID:"04c84b5bc2a01477851d347af75dcc11",id:null,metadata:{},name:"projectLoaderQuery",operationKind:"query",text:`query projectLoaderQuery(
@@ -0,0 +1 @@
1
+ __version__ = "8.5.0"
@@ -1 +0,0 @@
1
- __version__ = "8.4.1"
File without changes
File without changes
File without changes
File without changes