arize-phoenix 8.27.0__tar.gz → 8.28.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 (378) hide show
  1. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/PKG-INFO +1 -1
  2. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/Project.py +3 -3
  3. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/main.py +4 -2
  4. arize_phoenix-8.28.0/src/phoenix/server/static/.vite/manifest.json +87 -0
  5. arize_phoenix-8.27.0/src/phoenix/server/static/assets/components-5gUEIUXK.js → arize_phoenix-8.28.0/src/phoenix/server/static/assets/components-BEtrHoeq.js +1 -1
  6. arize_phoenix-8.27.0/src/phoenix/server/static/assets/index-DGZD-cFK.js → arize_phoenix-8.28.0/src/phoenix/server/static/assets/index-Cdj4_6tq.js +1 -1
  7. arize_phoenix-8.27.0/src/phoenix/server/static/assets/pages-DnCVNcjp.js → arize_phoenix-8.28.0/src/phoenix/server/static/assets/pages-CZ0wMeOx.js +1 -2
  8. arize_phoenix-8.27.0/src/phoenix/server/static/assets/vendor-C77BEnnR.js → arize_phoenix-8.28.0/src/phoenix/server/static/assets/vendor-BfhM_F1u.js +178 -178
  9. arize_phoenix-8.27.0/src/phoenix/server/static/assets/vendor-arizeai-CMLBpPBs.js → arize_phoenix-8.28.0/src/phoenix/server/static/assets/vendor-arizeai-CxXYQNUl.js +1 -1
  10. arize_phoenix-8.27.0/src/phoenix/server/static/assets/vendor-codemirror-DT1ReytN.js → arize_phoenix-8.28.0/src/phoenix/server/static/assets/vendor-codemirror-B0NIFPOL.js +1 -1
  11. arize_phoenix-8.27.0/src/phoenix/server/static/assets/vendor-recharts-ByEcbiML.js → arize_phoenix-8.28.0/src/phoenix/server/static/assets/vendor-recharts-CrrDFWK1.js +1 -1
  12. arize_phoenix-8.27.0/src/phoenix/server/static/assets/vendor-shiki-DEgpVt4G.js → arize_phoenix-8.28.0/src/phoenix/server/static/assets/vendor-shiki-C5bJ-RPf.js +1 -1
  13. arize_phoenix-8.28.0/src/phoenix/version.py +1 -0
  14. arize_phoenix-8.27.0/src/phoenix/server/static/.vite/manifest.json +0 -87
  15. arize_phoenix-8.27.0/src/phoenix/version.py +0 -1
  16. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/.gitignore +0 -0
  17. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/IP_NOTICE +0 -0
  18. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/LICENSE +0 -0
  19. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/README.md +0 -0
  20. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/pyproject.toml +0 -0
  21. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/__init__.py +0 -0
  22. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/auth.py +0 -0
  23. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/config.py +0 -0
  24. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/core/__init__.py +0 -0
  25. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/core/embedding_dimension.py +0 -0
  26. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/core/model.py +0 -0
  27. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/core/model_schema.py +0 -0
  28. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/core/model_schema_adapter.py +0 -0
  29. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/datetime_utils.py +0 -0
  30. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/README.md +0 -0
  31. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/__init__.py +0 -0
  32. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/alembic.ini +0 -0
  33. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/bulk_inserter.py +0 -0
  34. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/engines.py +0 -0
  35. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/enums.py +0 -0
  36. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/facilitator.py +0 -0
  37. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/helpers.py +0 -0
  38. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/insertion/__init__.py +0 -0
  39. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/insertion/constants.py +0 -0
  40. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/insertion/dataset.py +0 -0
  41. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/insertion/document_annotation.py +0 -0
  42. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/insertion/evaluation.py +0 -0
  43. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/insertion/helpers.py +0 -0
  44. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/insertion/span.py +0 -0
  45. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/insertion/span_annotation.py +0 -0
  46. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/insertion/trace_annotation.py +0 -0
  47. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/insertion/types.py +0 -0
  48. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/migrate.py +0 -0
  49. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/migrations/__init__.py +0 -0
  50. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/migrations/data_migration_scripts/__init__.py +0 -0
  51. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/migrations/data_migration_scripts/populate_project_sessions.py +0 -0
  52. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/migrations/env.py +0 -0
  53. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/migrations/script.py.mako +0 -0
  54. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/migrations/versions/10460e46d750_datasets.py +0 -0
  55. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/migrations/versions/3be8647b87d8_add_token_columns_to_spans_table.py +0 -0
  56. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/migrations/versions/4ded9e43755f_create_project_sessions_table.py +0 -0
  57. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/migrations/versions/bc8fea3c2bc8_add_prompt_tables.py +0 -0
  58. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/migrations/versions/cd164e83824f_users_and_tokens.py +0 -0
  59. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/migrations/versions/cf03bd6bae1d_init.py +0 -0
  60. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/models.py +0 -0
  61. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/types/__init__.py +0 -0
  62. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/types/identifier.py +0 -0
  63. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/db/types/model_provider.py +0 -0
  64. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/exceptions.py +0 -0
  65. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/experiments/__init__.py +0 -0
  66. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/experiments/evaluators/__init__.py +0 -0
  67. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/experiments/evaluators/base.py +0 -0
  68. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/experiments/evaluators/code_evaluators.py +0 -0
  69. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/experiments/evaluators/llm_evaluators.py +0 -0
  70. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/experiments/evaluators/utils.py +0 -0
  71. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/experiments/functions.py +0 -0
  72. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/experiments/tracing.py +0 -0
  73. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/experiments/types.py +0 -0
  74. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/experiments/utils.py +0 -0
  75. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/inferences/__init__.py +0 -0
  76. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/inferences/errors.py +0 -0
  77. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/inferences/fixtures.py +0 -0
  78. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/inferences/inferences.py +0 -0
  79. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/inferences/schema.py +0 -0
  80. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/inferences/validation.py +0 -0
  81. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/logging/__init__.py +0 -0
  82. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/logging/_config.py +0 -0
  83. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/logging/_filter.py +0 -0
  84. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/logging/_formatter.py +0 -0
  85. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/metrics/README.md +0 -0
  86. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/metrics/__init__.py +0 -0
  87. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/metrics/binning.py +0 -0
  88. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/metrics/metrics.py +0 -0
  89. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/metrics/mixins.py +0 -0
  90. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/metrics/retrieval_metrics.py +0 -0
  91. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/metrics/timeseries.py +0 -0
  92. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/metrics/wrappers.py +0 -0
  93. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/pointcloud/__init__.py +0 -0
  94. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/pointcloud/clustering.py +0 -0
  95. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/pointcloud/pointcloud.py +0 -0
  96. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/pointcloud/projectors.py +0 -0
  97. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/pointcloud/umap_parameters.py +0 -0
  98. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/py.typed +0 -0
  99. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/__init__.py +0 -0
  100. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/README.md +0 -0
  101. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/__init__.py +0 -0
  102. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/auth.py +0 -0
  103. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/context.py +0 -0
  104. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/__init__.py +0 -0
  105. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/annotation_summaries.py +0 -0
  106. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/average_experiment_run_latency.py +0 -0
  107. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/cache/__init__.py +0 -0
  108. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/cache/two_tier_cache.py +0 -0
  109. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/dataset_example_revisions.py +0 -0
  110. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/dataset_example_spans.py +0 -0
  111. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/document_evaluation_summaries.py +0 -0
  112. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/document_evaluations.py +0 -0
  113. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/document_retrieval_metrics.py +0 -0
  114. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/experiment_annotation_summaries.py +0 -0
  115. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/experiment_error_rates.py +0 -0
  116. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/experiment_run_annotations.py +0 -0
  117. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/experiment_run_counts.py +0 -0
  118. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/experiment_sequence_number.py +0 -0
  119. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/latency_ms_quantile.py +0 -0
  120. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/min_start_or_max_end_times.py +0 -0
  121. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/num_child_spans.py +0 -0
  122. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/num_spans_per_trace.py +0 -0
  123. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/project_by_name.py +0 -0
  124. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/prompt_version_sequence_number.py +0 -0
  125. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/record_counts.py +0 -0
  126. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/session_io.py +0 -0
  127. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/session_num_traces.py +0 -0
  128. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/session_num_traces_with_error.py +0 -0
  129. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/session_token_usages.py +0 -0
  130. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/session_trace_latency_ms_quantile.py +0 -0
  131. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/span_annotations.py +0 -0
  132. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/span_by_id.py +0 -0
  133. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/span_dataset_examples.py +0 -0
  134. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/span_descendants.py +0 -0
  135. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/span_projects.py +0 -0
  136. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/table_fields.py +0 -0
  137. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/token_counts.py +0 -0
  138. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/trace_by_trace_ids.py +0 -0
  139. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/trace_root_spans.py +0 -0
  140. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/user_roles.py +0 -0
  141. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/dataloaders/users.py +0 -0
  142. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/exceptions.py +0 -0
  143. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/helpers/__init__.py +0 -0
  144. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/helpers/dataset_helpers.py +0 -0
  145. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/helpers/experiment_run_filters.py +0 -0
  146. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/helpers/playground_clients.py +0 -0
  147. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/helpers/playground_registry.py +0 -0
  148. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/helpers/playground_spans.py +0 -0
  149. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/helpers/prompts/__init__.py +0 -0
  150. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/helpers/prompts/conversions/__init__.py +0 -0
  151. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/helpers/prompts/conversions/anthropic.py +0 -0
  152. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/helpers/prompts/conversions/openai.py +0 -0
  153. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/helpers/prompts/models.py +0 -0
  154. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/AddExamplesToDatasetInput.py +0 -0
  155. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/AddSpansToDatasetInput.py +0 -0
  156. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/ChatCompletionInput.py +0 -0
  157. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/ChatCompletionMessageInput.py +0 -0
  158. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/ClearProjectInput.py +0 -0
  159. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/ClusterInput.py +0 -0
  160. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/Coordinates.py +0 -0
  161. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/CreateDatasetInput.py +0 -0
  162. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/CreateSpanAnnotationInput.py +0 -0
  163. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/CreateTraceAnnotationInput.py +0 -0
  164. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/DataQualityMetricInput.py +0 -0
  165. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/DatasetExampleInput.py +0 -0
  166. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/DatasetSort.py +0 -0
  167. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/DatasetVersionSort.py +0 -0
  168. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/DeleteAnnotationsInput.py +0 -0
  169. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/DeleteDatasetExamplesInput.py +0 -0
  170. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/DeleteDatasetInput.py +0 -0
  171. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/DeleteExperimentsInput.py +0 -0
  172. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/DimensionFilter.py +0 -0
  173. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/DimensionInput.py +0 -0
  174. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/GenerativeModelInput.py +0 -0
  175. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/Granularity.py +0 -0
  176. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/InvocationParameters.py +0 -0
  177. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/PatchAnnotationInput.py +0 -0
  178. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/PatchDatasetExamplesInput.py +0 -0
  179. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/PatchDatasetInput.py +0 -0
  180. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/PerformanceMetricInput.py +0 -0
  181. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/ProjectSessionSort.py +0 -0
  182. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/PromptTemplateOptions.py +0 -0
  183. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/PromptVersionInput.py +0 -0
  184. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/SpanAnnotationSort.py +0 -0
  185. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/SpanSort.py +0 -0
  186. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/TimeRange.py +0 -0
  187. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/TraceAnnotationSort.py +0 -0
  188. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/UserRoleInput.py +0 -0
  189. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/input_types/__init__.py +0 -0
  190. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/interceptor.py +0 -0
  191. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/mutations/__init__.py +0 -0
  192. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/mutations/api_key_mutations.py +0 -0
  193. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/mutations/chat_mutations.py +0 -0
  194. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/mutations/dataset_mutations.py +0 -0
  195. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/mutations/experiment_mutations.py +0 -0
  196. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/mutations/export_events_mutations.py +0 -0
  197. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/mutations/project_mutations.py +0 -0
  198. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/mutations/prompt_label_mutations.py +0 -0
  199. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/mutations/prompt_mutations.py +0 -0
  200. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/mutations/prompt_version_tag_mutations.py +0 -0
  201. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/mutations/span_annotations_mutations.py +0 -0
  202. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/mutations/trace_annotations_mutations.py +0 -0
  203. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/mutations/trace_mutations.py +0 -0
  204. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/mutations/user_mutations.py +0 -0
  205. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/openapi/__init__.py +0 -0
  206. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/openapi/main.py +0 -0
  207. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/openapi/schema.py +0 -0
  208. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/queries.py +0 -0
  209. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/routers/__init__.py +0 -0
  210. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/routers/auth.py +0 -0
  211. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/routers/embeddings.py +0 -0
  212. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/routers/oauth2.py +0 -0
  213. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/routers/utils.py +0 -0
  214. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/routers/v1/__init__.py +0 -0
  215. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/routers/v1/datasets.py +0 -0
  216. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/routers/v1/evaluations.py +0 -0
  217. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/routers/v1/experiment_evaluations.py +0 -0
  218. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/routers/v1/experiment_runs.py +0 -0
  219. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/routers/v1/experiments.py +0 -0
  220. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/routers/v1/models.py +0 -0
  221. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/routers/v1/projects.py +0 -0
  222. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/routers/v1/prompts.py +0 -0
  223. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/routers/v1/spans.py +0 -0
  224. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/routers/v1/traces.py +0 -0
  225. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/routers/v1/utils.py +0 -0
  226. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/schema.py +0 -0
  227. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/subscriptions.py +0 -0
  228. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/Annotation.py +0 -0
  229. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/AnnotationSummary.py +0 -0
  230. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/AnnotatorKind.py +0 -0
  231. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/ApiKey.py +0 -0
  232. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/AuthMethod.py +0 -0
  233. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/ChatCompletionMessageRole.py +0 -0
  234. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/ChatCompletionSubscriptionPayload.py +0 -0
  235. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/Cluster.py +0 -0
  236. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/CreateDatasetPayload.py +0 -0
  237. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/DataQualityMetric.py +0 -0
  238. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/Dataset.py +0 -0
  239. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/DatasetExample.py +0 -0
  240. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/DatasetExampleRevision.py +0 -0
  241. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/DatasetValues.py +0 -0
  242. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/DatasetVersion.py +0 -0
  243. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/Dimension.py +0 -0
  244. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/DimensionDataType.py +0 -0
  245. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/DimensionShape.py +0 -0
  246. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/DimensionType.py +0 -0
  247. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/DimensionWithValue.py +0 -0
  248. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/DocumentEvaluationSummary.py +0 -0
  249. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/DocumentRetrievalMetrics.py +0 -0
  250. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/EmbeddingDimension.py +0 -0
  251. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/EmbeddingMetadata.py +0 -0
  252. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/Evaluation.py +0 -0
  253. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/EvaluationSummary.py +0 -0
  254. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/Event.py +0 -0
  255. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/EventMetadata.py +0 -0
  256. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/ExampleRevisionInterface.py +0 -0
  257. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/Experiment.py +0 -0
  258. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/ExperimentAnnotationSummary.py +0 -0
  259. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/ExperimentComparison.py +0 -0
  260. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/ExperimentRun.py +0 -0
  261. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/ExperimentRunAnnotation.py +0 -0
  262. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/ExportedFile.py +0 -0
  263. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/Functionality.py +0 -0
  264. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/GenerativeModel.py +0 -0
  265. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/GenerativeProvider.py +0 -0
  266. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/Identifier.py +0 -0
  267. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/Inferences.py +0 -0
  268. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/InferencesRole.py +0 -0
  269. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/LabelFraction.py +0 -0
  270. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/MimeType.py +0 -0
  271. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/Model.py +0 -0
  272. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/NumericRange.py +0 -0
  273. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/PerformanceMetric.py +0 -0
  274. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/ProjectSession.py +0 -0
  275. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/Prompt.py +0 -0
  276. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/PromptLabel.py +0 -0
  277. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/PromptResponse.py +0 -0
  278. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/PromptVersion.py +0 -0
  279. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/PromptVersionTag.py +0 -0
  280. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/PromptVersionTemplate.py +0 -0
  281. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/ResponseFormat.py +0 -0
  282. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/Retrieval.py +0 -0
  283. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/ScalarDriftMetricEnum.py +0 -0
  284. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/Segments.py +0 -0
  285. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/SortDir.py +0 -0
  286. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/Span.py +0 -0
  287. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/SpanAnnotation.py +0 -0
  288. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/SpanIOValue.py +0 -0
  289. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/SystemApiKey.py +0 -0
  290. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/TimeSeries.py +0 -0
  291. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/TokenUsage.py +0 -0
  292. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/ToolDefinition.py +0 -0
  293. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/Trace.py +0 -0
  294. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/TraceAnnotation.py +0 -0
  295. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/UMAPPoints.py +0 -0
  296. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/User.py +0 -0
  297. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/UserApiKey.py +0 -0
  298. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/UserRole.py +0 -0
  299. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/ValidationResult.py +0 -0
  300. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/VectorDriftMetricEnum.py +0 -0
  301. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/__init__.py +0 -0
  302. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/node.py +0 -0
  303. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/types/pagination.py +0 -0
  304. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/api/utils.py +0 -0
  305. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/app.py +0 -0
  306. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/bearer_auth.py +0 -0
  307. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/dml_event.py +0 -0
  308. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/dml_event_handler.py +0 -0
  309. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/email/__init__.py +0 -0
  310. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/email/sender.py +0 -0
  311. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/email/templates/__init__.py +0 -0
  312. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/email/templates/password_reset.html +0 -0
  313. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/email/templates/welcome.html +0 -0
  314. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/email/types.py +0 -0
  315. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/grpc_server.py +0 -0
  316. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/jwt_store.py +0 -0
  317. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/middleware/__init__.py +0 -0
  318. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/middleware/gzip.py +0 -0
  319. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/oauth2.py +0 -0
  320. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/openapi/__init__.py +0 -0
  321. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/prometheus.py +0 -0
  322. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/rate_limiters.py +0 -0
  323. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/static/apple-touch-icon-114x114.png +0 -0
  324. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/static/apple-touch-icon-120x120.png +0 -0
  325. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/static/apple-touch-icon-144x144.png +0 -0
  326. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/static/apple-touch-icon-152x152.png +0 -0
  327. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/static/apple-touch-icon-180x180.png +0 -0
  328. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/static/apple-touch-icon-72x72.png +0 -0
  329. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/static/apple-touch-icon-76x76.png +0 -0
  330. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/static/apple-touch-icon.png +0 -0
  331. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/static/assets/vendor-Cg6lcjUC.css +0 -0
  332. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/static/assets/vendor-three-C5WAXd5r.js +0 -0
  333. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/static/favicon.ico +0 -0
  334. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/static/modernizr.js +0 -0
  335. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/telemetry.py +0 -0
  336. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/templates/__init__.py +0 -0
  337. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/templates/index.html +0 -0
  338. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/thread_server.py +0 -0
  339. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/server/types.py +0 -0
  340. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/services.py +0 -0
  341. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/session/__init__.py +0 -0
  342. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/session/client.py +0 -0
  343. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/session/data_extractor.py +0 -0
  344. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/session/evaluation.py +0 -0
  345. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/session/session.py +0 -0
  346. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/settings.py +0 -0
  347. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/__init__.py +0 -0
  348. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/attributes.py +0 -0
  349. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/dsl/README.md +0 -0
  350. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/dsl/__init__.py +0 -0
  351. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/dsl/filter.py +0 -0
  352. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/dsl/helpers.py +0 -0
  353. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/dsl/query.py +0 -0
  354. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/errors.py +0 -0
  355. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/evaluation_conventions.py +0 -0
  356. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/exporter.py +0 -0
  357. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/fixtures.py +0 -0
  358. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/otel.py +0 -0
  359. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/projects.py +0 -0
  360. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/schemas.py +0 -0
  361. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/span_evaluations.py +0 -0
  362. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/span_json_decoder.py +0 -0
  363. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/span_json_encoder.py +0 -0
  364. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/trace_dataset.py +0 -0
  365. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/utils.py +0 -0
  366. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/v1/__init__.py +0 -0
  367. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/v1/evaluation_pb2.py +0 -0
  368. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/trace/v1/evaluation_pb2.pyi +0 -0
  369. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/utilities/__init__.py +0 -0
  370. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/utilities/client.py +0 -0
  371. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/utilities/deprecation.py +0 -0
  372. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/utilities/error_handling.py +0 -0
  373. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/utilities/json.py +0 -0
  374. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/utilities/logging.py +0 -0
  375. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/utilities/project.py +0 -0
  376. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/utilities/re.py +0 -0
  377. {arize_phoenix-8.27.0 → arize_phoenix-8.28.0}/src/phoenix/utilities/span_store.py +0 -0
  378. {arize_phoenix-8.27.0 → arize_phoenix-8.28.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.27.0
3
+ Version: 8.28.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
@@ -138,7 +138,7 @@ class Project(Node):
138
138
  info: Info[Context, None],
139
139
  time_range: Optional[TimeRange] = UNSET,
140
140
  filter_condition: Optional[str] = UNSET,
141
- ) -> int:
141
+ ) -> float:
142
142
  return await info.context.data_loaders.token_counts.load(
143
143
  ("total", self.project_rowid, time_range, filter_condition),
144
144
  )
@@ -149,7 +149,7 @@ class Project(Node):
149
149
  info: Info[Context, None],
150
150
  time_range: Optional[TimeRange] = UNSET,
151
151
  filter_condition: Optional[str] = UNSET,
152
- ) -> int:
152
+ ) -> float:
153
153
  return await info.context.data_loaders.token_counts.load(
154
154
  ("prompt", self.project_rowid, time_range, filter_condition),
155
155
  )
@@ -160,7 +160,7 @@ class Project(Node):
160
160
  info: Info[Context, None],
161
161
  time_range: Optional[TimeRange] = UNSET,
162
162
  filter_condition: Optional[str] = UNSET,
163
- ) -> int:
163
+ ) -> float:
164
164
  return await info.context.data_loaders.token_counts.load(
165
165
  ("completion", self.project_rowid, time_range, filter_condition),
166
166
  )
@@ -420,8 +420,10 @@ def main() -> None:
420
420
  server = Server(config=Config(app, host=host, port=port, root_path=host_root_path)) # type: ignore
421
421
  Thread(target=_write_pid_file_when_ready, args=(server,), daemon=True).start()
422
422
 
423
- # Start the server
424
- server.run()
423
+ try:
424
+ server.run()
425
+ except KeyboardInterrupt:
426
+ pass # don't bother the user with a stack trace on Ctrl-C
425
427
 
426
428
 
427
429
  def initialize_settings() -> None:
@@ -0,0 +1,87 @@
1
+ {
2
+ "_components-BEtrHoeq.js": {
3
+ "file": "assets/components-BEtrHoeq.js",
4
+ "name": "components",
5
+ "imports": [
6
+ "_vendor-BfhM_F1u.js",
7
+ "_pages-CZ0wMeOx.js",
8
+ "_vendor-arizeai-CxXYQNUl.js",
9
+ "_vendor-codemirror-B0NIFPOL.js",
10
+ "_vendor-three-C5WAXd5r.js"
11
+ ]
12
+ },
13
+ "_pages-CZ0wMeOx.js": {
14
+ "file": "assets/pages-CZ0wMeOx.js",
15
+ "name": "pages",
16
+ "imports": [
17
+ "_vendor-BfhM_F1u.js",
18
+ "_vendor-arizeai-CxXYQNUl.js",
19
+ "_components-BEtrHoeq.js",
20
+ "_vendor-codemirror-B0NIFPOL.js",
21
+ "_vendor-recharts-CrrDFWK1.js"
22
+ ]
23
+ },
24
+ "_vendor-BfhM_F1u.js": {
25
+ "file": "assets/vendor-BfhM_F1u.js",
26
+ "name": "vendor",
27
+ "imports": [
28
+ "_vendor-three-C5WAXd5r.js"
29
+ ],
30
+ "css": [
31
+ "assets/vendor-Cg6lcjUC.css"
32
+ ]
33
+ },
34
+ "_vendor-Cg6lcjUC.css": {
35
+ "file": "assets/vendor-Cg6lcjUC.css",
36
+ "src": "_vendor-Cg6lcjUC.css"
37
+ },
38
+ "_vendor-arizeai-CxXYQNUl.js": {
39
+ "file": "assets/vendor-arizeai-CxXYQNUl.js",
40
+ "name": "vendor-arizeai",
41
+ "imports": [
42
+ "_vendor-BfhM_F1u.js"
43
+ ]
44
+ },
45
+ "_vendor-codemirror-B0NIFPOL.js": {
46
+ "file": "assets/vendor-codemirror-B0NIFPOL.js",
47
+ "name": "vendor-codemirror",
48
+ "imports": [
49
+ "_vendor-BfhM_F1u.js",
50
+ "_vendor-shiki-C5bJ-RPf.js"
51
+ ]
52
+ },
53
+ "_vendor-recharts-CrrDFWK1.js": {
54
+ "file": "assets/vendor-recharts-CrrDFWK1.js",
55
+ "name": "vendor-recharts",
56
+ "imports": [
57
+ "_vendor-BfhM_F1u.js"
58
+ ]
59
+ },
60
+ "_vendor-shiki-C5bJ-RPf.js": {
61
+ "file": "assets/vendor-shiki-C5bJ-RPf.js",
62
+ "name": "vendor-shiki",
63
+ "imports": [
64
+ "_vendor-BfhM_F1u.js"
65
+ ]
66
+ },
67
+ "_vendor-three-C5WAXd5r.js": {
68
+ "file": "assets/vendor-three-C5WAXd5r.js",
69
+ "name": "vendor-three"
70
+ },
71
+ "index.tsx": {
72
+ "file": "assets/index-Cdj4_6tq.js",
73
+ "name": "index",
74
+ "src": "index.tsx",
75
+ "isEntry": true,
76
+ "imports": [
77
+ "_vendor-BfhM_F1u.js",
78
+ "_vendor-arizeai-CxXYQNUl.js",
79
+ "_pages-CZ0wMeOx.js",
80
+ "_components-BEtrHoeq.js",
81
+ "_vendor-three-C5WAXd5r.js",
82
+ "_vendor-codemirror-B0NIFPOL.js",
83
+ "_vendor-shiki-C5bJ-RPf.js",
84
+ "_vendor-recharts-CrrDFWK1.js"
85
+ ]
86
+ }
87
+ }
@@ -1,4 +1,4 @@
1
- import{r as p,R as U,j as e,u as dn,a as ze,e as r1,s as P1,b as O1,c as Be,d as X1,f as wi,g as Le,h as xi,i as ki,k as Y1,l as s,m as _e,p as b1,n as Xe,o as Ze,q as Si,C as c1,t as Mi,v as Ti,w as N,L as wa,x as xa,y as ka,z as ge,A as C,B as v1,D as un,E as m,F as Sa,$ as zi,G as Ma,H as Ta,I as Ne,J as gn,K as X,M as Ii,N as Ai,O as Ei,P as K,Q as d1,S as O,T as H,U as R,V as za,W as Ia,X as Vi,Y as Aa,Z as Di,_ as Pi,a0 as Oi,a1 as Fi,a2 as _i,a3 as Ni,a4 as Ri,a5 as $i,a6 as Hi,a7 as C1,a8 as Ki,a9 as Bi,aa as Zi,ab as ji,ac as Me,ad as J1,ae as en,af as nn,ag as _,ah as Te,ai as $n,aj as Gi,ak as Ui,al as Ea,am as Wi,an as Qi,ao as qi,ap as Xi,aq as Yi,ar as Ji,as as er,at as nr,au as ar,av as tr,aw as ir,ax as F,ay as mn,az as rr,aA as or,aB as lr,aC as sr,aD as cr,aE as Hn,aF as Ee,aG as Va,aH as dr,aI as Da,aJ as ur,aK as gr,aL as pn,aM as mr,aN as pr,aO as hr,aP as fr,aQ as br,aR as vr,aS as Cr,aT as Kn,aU as yr,aV as Lr,aW as wr,aX as F1,aY as xr,aZ as kr,a_ as Sr,a$ as Mr,b0 as Tr,b1 as zr,b2 as Ir,b3 as Ar,b4 as Er}from"./vendor-C77BEnnR.js";import{a as Bn,R as Vr,b as Dr,c as Pr,m as Or,T as Fr,u as _r}from"./pages-DnCVNcjp.js";import{u as Nr,_ as Pa,a as he,T as le,E as Oa,b as Re,c as fe,d as Rr,D as y1,e as $r,f as ue,g as Hr,C as Fa,P as hn,h as _a,i as Kr,F as Na,I as Br,j as Zr,k as jr,l as Gr,m as Ur,n as Wr,o as Qr,p as qr,q as Ra,r as $a,s as Xr,t as Yr}from"./vendor-arizeai-CMLBpPBs.js";import{L as Ha,a as Ka,d as Ue,E as fn,k as Ba,b as Za,l as an,h as Jr,j as eo,c as no,e as ao,f as to,s as io,g as Ye,i as Je,R as e1,p as ro,m as oo}from"./vendor-codemirror-DT1ReytN.js";import{V as lo}from"./vendor-three-C5WAXd5r.js";const ja=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}],l=[{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:l,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[n,t,a,i,r],kind:"Operation",name:"pointCloudStore_clusterMetricsQuery",selections:l},params:{cacheID:"86666967012812887ac0a0149d2d2535",id:null,metadata:{},name:"pointCloudStore_clusterMetricsQuery",operationKind:"query",text:`query pointCloudStore_clusterMetricsQuery(
1
+ import{r as p,R as U,j as e,u as dn,a as ze,e as r1,s as P1,b as O1,c as Be,d as X1,f as wi,g as Le,h as xi,i as ki,k as Y1,l as s,m as _e,p as b1,n as Xe,o as Ze,q as Si,C as c1,t as Mi,v as Ti,w as N,L as wa,x as xa,y as ka,z as ge,A as C,B as v1,D as un,E as m,F as Sa,$ as zi,G as Ma,H as Ta,I as Ne,J as gn,K as X,M as Ii,N as Ai,O as Ei,P as K,Q as d1,S as O,T as H,U as R,V as za,W as Ia,X as Vi,Y as Aa,Z as Di,_ as Pi,a0 as Oi,a1 as Fi,a2 as _i,a3 as Ni,a4 as Ri,a5 as $i,a6 as Hi,a7 as C1,a8 as Ki,a9 as Bi,aa as Zi,ab as ji,ac as Me,ad as J1,ae as en,af as nn,ag as _,ah as Te,ai as $n,aj as Gi,ak as Ui,al as Ea,am as Wi,an as Qi,ao as qi,ap as Xi,aq as Yi,ar as Ji,as as er,at as nr,au as ar,av as tr,aw as ir,ax as F,ay as mn,az as rr,aA as or,aB as lr,aC as sr,aD as cr,aE as Hn,aF as Ee,aG as Va,aH as dr,aI as Da,aJ as ur,aK as gr,aL as pn,aM as mr,aN as pr,aO as hr,aP as fr,aQ as br,aR as vr,aS as Cr,aT as Kn,aU as yr,aV as Lr,aW as wr,aX as F1,aY as xr,aZ as kr,a_ as Sr,a$ as Mr,b0 as Tr,b1 as zr,b2 as Ir,b3 as Ar,b4 as Er}from"./vendor-BfhM_F1u.js";import{a as Bn,R as Vr,b as Dr,c as Pr,m as Or,T as Fr,u as _r}from"./pages-CZ0wMeOx.js";import{u as Nr,_ as Pa,a as he,T as le,E as Oa,b as Re,c as fe,d as Rr,D as y1,e as $r,f as ue,g as Hr,C as Fa,P as hn,h as _a,i as Kr,F as Na,I as Br,j as Zr,k as jr,l as Gr,m as Ur,n as Wr,o as Qr,p as qr,q as Ra,r as $a,s as Xr,t as Yr}from"./vendor-arizeai-CxXYQNUl.js";import{L as Ha,a as Ka,d as Ue,E as fn,k as Ba,b as Za,l as an,h as Jr,j as eo,c as no,e as ao,f as to,s as io,g as Ye,i as Je,R as e1,p as ro,m as oo}from"./vendor-codemirror-B0NIFPOL.js";import{V as lo}from"./vendor-three-C5WAXd5r.js";const ja=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}],l=[{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:l,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[n,t,a,i,r],kind:"Operation",name:"pointCloudStore_clusterMetricsQuery",selections:l},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,bp as z,l as c,P as w,R as P,E as b,cx as k,ei as S,ej as F,ek as L,bF as C,el as l,w as E,em as R}from"./vendor-C77BEnnR.js";import{c as I,x as j,D as A,K as T,M as _}from"./vendor-arizeai-CMLBpPBs.js";import{L as D,r as O,d as G,e as M,F as N,f as V,P as q,h as K,M as m,g as U,D as W,i as B,E as H,j as J,k as Y,p as $,l as X,n as p,o as Z,q as Q,s as oo,S as lo,t as ao,v as ro,w as co,x as go,y as eo,z as bo,A as u,B as f,C as y,G as no,H as io,I as so,J as to,K as mo,N as po,O as uo,Q as fo,U as yo,V as vo,W as ho,X as xo,Y as zo,Z as wo,_ as Po,$ as ko,a0 as So,a1 as Fo,a2 as Lo,a3 as Co,a4 as Eo,a5 as Ro,a6 as Io,a7 as jo,a8 as Ao,a9 as To,aa as _o,ab as Do,ac as Oo,ad as Go,ae as Mo,af as No,ag as Vo,ah as qo}from"./pages-DnCVNcjp.js";import{z as Ko,dX as Uo,bH as Wo,R as Bo,dY as Ho,dZ as Jo}from"./components-5gUEIUXK.js";import"./vendor-three-C5WAXd5r.js";import"./vendor-codemirror-DT1ReytN.js";import"./vendor-shiki-DEgpVt4G.js";import"./vendor-recharts-ByEcbiML.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 v="arize-phoenix-feature-flags",d={__RESET__:!1};function Yo(){const a=localStorage.getItem(v);if(!a)return d;try{const e=JSON.parse(a);return Object.assign({},d,e)}catch{return d}}const h=t.createContext(null);function $o(){const a=P.useContext(h);if(a===null)throw new Error("useFeatureFlags must be used within a FeatureFlagsProvider");return a}function Xo(a){const[e,i]=t.useState(Yo()),s=r=>{localStorage.setItem(v,JSON.stringify(r)),i(r)};return o(h.Provider,{value:{featureFlags:e,setFeatureFlags:s},children:o(Zo,{children:a.children})})}function Zo(a){const{children:e}=a,{featureFlags:i,setFeatureFlags:s}=$o(),[r,g]=t.useState(!1);return z("ctrl+shift+f",()=>g(!0)),c(w,{children:[e,o(A,{type:"modal",isDismissable:!0,onDismiss:()=>g(!1),children:r&&o(I,{title:"Feature Flags",children:o(Ko,{height:"size-1000",padding:"size-100",children:Object.keys(i).map(n=>o(j,{isSelected:i[n],onChange:x=>s({...i,[n]:x}),children:n},n))})})})]})}const Qo=b`
1
+ import{r as t,j as o,bp as z,l as c,P as w,R as P,E as b,cx as k,ei as S,ej as F,ek as L,bF as C,el as l,w as E,em as R}from"./vendor-BfhM_F1u.js";import{c as I,x as j,D as A,K as T,M as _}from"./vendor-arizeai-CxXYQNUl.js";import{L as D,r as O,d as G,e as M,F as N,f as V,P as q,h as K,M as m,g as U,D as W,i as B,E as H,j as J,k as Y,p as $,l as X,n as p,o as Z,q as Q,s as oo,S as lo,t as ao,v as ro,w as co,x as go,y as eo,z as bo,A as u,B as f,C as y,G as no,H as io,I as so,J as to,K as mo,N as po,O as uo,Q as fo,U as yo,V as vo,W as ho,X as xo,Y as zo,Z as wo,_ as Po,$ as ko,a0 as So,a1 as Fo,a2 as Lo,a3 as Co,a4 as Eo,a5 as Ro,a6 as Io,a7 as jo,a8 as Ao,a9 as To,aa as _o,ab as Do,ac as Oo,ad as Go,ae as Mo,af as No,ag as Vo,ah as qo}from"./pages-CZ0wMeOx.js";import{z as Ko,dX as Uo,bH as Wo,R as Bo,dY as Ho,dZ as Jo}from"./components-BEtrHoeq.js";import"./vendor-three-C5WAXd5r.js";import"./vendor-codemirror-B0NIFPOL.js";import"./vendor-shiki-C5bJ-RPf.js";import"./vendor-recharts-CrrDFWK1.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 v="arize-phoenix-feature-flags",d={__RESET__:!1};function Yo(){const a=localStorage.getItem(v);if(!a)return d;try{const e=JSON.parse(a);return Object.assign({},d,e)}catch{return d}}const h=t.createContext(null);function $o(){const a=P.useContext(h);if(a===null)throw new Error("useFeatureFlags must be used within a FeatureFlagsProvider");return a}function Xo(a){const[e,i]=t.useState(Yo()),s=r=>{localStorage.setItem(v,JSON.stringify(r)),i(r)};return o(h.Provider,{value:{featureFlags:e,setFeatureFlags:s},children:o(Zo,{children:a.children})})}function Zo(a){const{children:e}=a,{featureFlags:i,setFeatureFlags:s}=$o(),[r,g]=t.useState(!1);return z("ctrl+shift+f",()=>g(!0)),c(w,{children:[e,o(A,{type:"modal",isDismissable:!0,onDismiss:()=>g(!1),children:r&&o(I,{title:"Feature Flags",children:o(Ko,{height:"size-1000",padding:"size-100",children:Object.keys(i).map(n=>o(j,{isSelected:i[n],onChange:x=>s({...i,[n]:x}),children:n},n))})})})]})}const Qo=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 w,b5 as fe,b6 as Ae,b7 as ze,b8 as Tt,B as Dt,r as u,j as e,R as he,u as ut,w as I,l as s,aA as Le,aB as In,aD as we,aE as J,S as W,T as re,b9 as qe,ba as Je,ad as Dl,bb as Ki,ac as Qe,ah as ln,ag as G,U as xe,P as U,ax as ie,E as F,bc as Te,aI as ue,bd as Be,be as hm,a8 as _t,ay as Ca,a9 as Lt,bf as gn,bg as km,aJ as bm,bh as Sm,H as Ti,bi as mt,aP as _e,aO as Cn,bj as yn,bk as xn,m as yr,$ as vm,F as Pi,K as Cm,bl as Fm,bm as dl,bn as cl,bo as Ga,o as pt,bp as Km,aU as fr,bq as Tm,br as Ii,bs as Pm,bt as Im,bu as xm,bv as Dm,bw as _m,bx as Lm,by as wm,bz as Em,bA as Rm,bB as it,D as Mm,bC as Vm,bD as bt,g as hr,bE as Am,aF as _l,bF as kr,bG as br,bH as zm,ai as Nm,bI as $m,ae as Om,af as Qm,bJ as jm,n as qm}from"./vendor-C77BEnnR.js";import{c as Z,D as ae,C as B,t as Ll,h as Dn,b as wt,L as Et,v as Rt,w as Sr,o as wl,P as Va,f as Oe,g as la,T as ve,E as Mt,q as ia,r as Aa,a as $e,d as ra,x as Fa,s as Vt,y as Bm,i as At,z as Um,A as Hm,B as Gm,G as El,H as Rl,u as Wm,J as Jm}from"./vendor-arizeai-CMLBpPBs.js";import{s as Zm,l as Xm,j as Ml,a as Ve,i as Vl,b as Ym,c as ep,d as ea,e as Fn,f as vr,D as Cr,g as Zn,h as tt,k as np,m as Ce,T as nn,n as ap,o as Al,p as xi,q as tp,r as Di,t as lp,u as ip,v as rp,G as zt,_ as h,w as v,x as V,I as _,E as gt,y as dn,z as C,A as X,R as Ke,B as Ie,C as ke,F as De,H as Ee,J as Re,K as cn,L as un,M as mn,N as zl,O as Fe,P as _n,Q as Fr,S as He,U as ne,V as ce,W as Ge,X as Kr,Y as It,Z as Ne,$ as zn,a0 as sp,a1 as Ye,a2 as Tr,a3 as Fl,a4 as Nl,a5 as $l,a6 as op,a7 as dp,a8 as Kl,a9 as St,aa as oe,ab as Pr,ac as cp,ad as up,ae as pn,af as mp,ag as En,ah as pp,ai as Ir,aj as Nt,ak as Ka,al as Ol,am as Ql,an as xr,ao as gp,ap as yp,aq as fp,ar as hp,as as kp,at as bp,au as Sp,av as rt,aw as vp,ax as me,ay as Tl,az as pe,aA as ge,aB as an,aC as Cp,aD as Fp,aE as Kp,aF as rn,aG as se,aH as Dr,aI as Tp,aJ as Pp,aK as Ip,aL as $t,aM as Ot,aN as _r,aO as xp,aP as Dp,aQ as _p,aR as Qt,aS as Lp,aT as Lr,aU as La,aV as st,aW as Ze,aX as wp,aY as jl,aZ as fn,a_ as Ep,a$ as Rp,b0 as Mp,b1 as Mn,b2 as Se,b3 as Ue,b4 as We,b5 as wr,b6 as sa,b7 as Me,b8 as za,b9 as Nn,ba as Vn,bb as jt,bc as Na,bd as Ta,be as Er,bf as sn,bg as Rr,bh as Vp,bi as ql,bj as fa,bk as Ap,bl as Gn,bm as zp,bn as Np,bo as Bl,bp as qt,bq as $n,br as oa,bs as _i,bt as Li,bu as $p,bv as Op,bw as Qp,bx as $a,by as jp,bz as qp,bA as ot,bB as Bp,bC as lt,bD as Kn,bE as Xn,bF as Bt,bG as Ut,bH as On,bI as Up,bJ as Hp,bK as on,bL as Tn,bM as ka,bN as Ul,bO as Mr,bP as Hl,bQ as Gp,bR as Wp,bS as Jp,bT as Gl,bU as Vr,bV as Ar,bW as zr,bX as Xe,bY as Nr,bZ as $r,b_ as Pl,b$ as Zp,c0 as Wl,c1 as Jl,c2 as Or,c3 as Xp,c4 as Yp,c5 as eg,c6 as Zl,c7 as ng,c8 as ag,c9 as Xl,ca as tg,cb as Qr,cc as lg,cd as ig,ce as rg,cf as sg,cg as og,ch as dg,ci as cg,cj as Ht,ck as ug,cl as mg,cm as jr,cn as qr,co as wi,cp as pg,cq as Ln,cr as Qn,cs as Yl,ct as Br,cu as Ur,cv as Ei,cw as Ri,cx as gg,cy as yg,cz as H,cA as Hr,cB as Gt,cC as Wt,cD as Oa,cE as Gr,cF as Qa,cG as ja,cH as Wr,cI as jn,cJ as Jt,cK as fg,cL as hg,cM as kg,cN as bg,cO as Sg,cP as vg,cQ as Cg,cR as ba,cS as Jr,cT as Fg,cU as Kg,cV as Mi,cW as Tg,cX as Pg,cY as Ig,cZ as xg,c_ as Dg,c$ as _g,d0 as Zr,d1 as Lg,d2 as wg,d3 as Eg,d4 as Rg,d5 as Sa,d6 as ei,d7 as Xr,d8 as _a,d9 as Zt,da as Yr,db as es,dc as ul,dd as Mg,de as ns,df as Vg,dg as ni,dh as Xt,di as kn,dj as Ag,dk as as,dl as zg,dm as Ng,dn as ts,dp as ls,dq as $g,dr as Og,ds as is,dt as Qg,du as na,dv as jg,dw as qg,dx as Vi,dy as Bg,dz as Ug,dA as Hg,dB as Gg,dC as Wg,dD as ml,dE as Jg,dF as wa,dG as Zg,dH as Xg,dI as Yg,dJ as ey,dK as Yt,dL as rs,dM as Ai,dN as ny,dO as ay,dP as ty,dQ as ly,dR as ss,dS as iy,dT as ry,dU as sy,dV as zi,dW as Ni}from"./components-5gUEIUXK.js";import{g as da,i as ca,d as oy,E as os,R as ua,k as ai,b as dy,p as yt,n as ds}from"./vendor-codemirror-DT1ReytN.js";import{P as cs,C as us,T as qn,a as ms,R as Bn,b as ft,X as ma,Y as Pn,c as pa,B as Ra,A as dt,d as ps,e as ti,L as gs,f as cy}from"./vendor-recharts-ByEcbiML.js";const uy=4,my={user:["user","human"],ai:["assistant","bot","ai"],system:["system"],tool:["tool"]},py="Unable to parse span input messages, expected messages which include a role and content.",gy="Unable to parse span output messages, expected messages which include a role and content.",yy="Unable to parse span output expected output.value to be present.",fy="Unable to parse span attributes, attributes must be valid JSON.",hy="Unable to parse model config, expected llm.model_name to be present.",ky="Unable to parse model config, expected llm.invocation_parameters JSON string to be present.",by="Unable to parse invocation parameters response_format, expected llm.invocation_parameters.response_format to be a well formed json object or undefined.",Sy="Unable to parse tools, expected tools to be an array of valid tools.",vy="Unable to parse prompt template variables, expected prompt template variables to be a valid JSON object string.",$i={AZURE_OPENAI:[],ANTHROPIC:["claude"],OPENAI:["gpt","o1"],GOOGLE:["gemini"]},Yn="TOOL_CHOICE",Ea="tool_choice",vn="RESPONSE_FORMAT",bn="response_format",Cy=[Yn,vn],Fy=w.object({tool_call:w.object({id:w.string().optional(),function:w.object({name:w.string(),arguments:w.string()}).partial()}).partial()}).partial(),ys=w.object({[fe.message]:w.object({[Ae.role]:w.string(),[Ae.content]:w.union([w.string(),w.array(w.record(w.string(),w.unknown()))]).default(""),[Ae.tool_calls]:w.array(Fy).optional(),[Ae.tool_call_id]:w.string().optional()})}),Ky=w.object({[fe.llm]:w.object({[ze.input_messages]:w.array(ys)})}),Ty=w.object({[fe.llm]:w.object({[ze.output_messages]:w.array(ys)})}),Py=w.object({[fe.output]:w.object({value:w.string()})}),fs=Zm()(w.enum(["user","ai","system","tool"])),Iy=w.object({id:w.number(),role:fs,content:w.string().optional(),toolCallId:w.string().optional(),toolCalls:w.array(Xm).optional()}),xy=w.array(Iy),hs=w.lazy(()=>w.record(Ml)),Dy=hs,ks=w.string().transform((n,a)=>{const{json:t}=Ve(n);if(!Vl(t))return a.addIssue({code:w.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),w.NEVER;const{success:l,data:i}=Dy.safeParse(t);return l?i:(a.addIssue({code:w.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),w.NEVER)}).default("{}"),_y=w.object({[fe.llm]:w.object({[ze.provider]:w.string().optional(),[ze.model_name]:w.string()})}),bs=w.object({[fe.llm]:w.object({[ze.invocation_parameters]:ks})}),Ly=w.object({[fe.llm]:w.object({[ze.invocation_parameters]:ks.pipe(w.object({response_format:hs.optional()}))})}),wy=w.object({url:w.object({full:w.string(),path:w.string().optional()})}),Ey=w.string().transform((n,a)=>{const{json:t}=Ve(n);return t==null||!Vl(t)?(a.addIssue({code:w.ZodIssueCode.custom,message:"The tool JSON schema must be a valid JSON object"}),w.NEVER):t}).transform((n,a)=>{const{data:t,success:l}=Ym.safeParse(n);return l?t:(a.addIssue({code:w.ZodIssueCode.custom,message:"The tool JSON schema must be a valid tool schema"}),w.NEVER)}),Ry=w.object({[fe.llm]:w.object({[ze.tools]:w.array(w.object({[fe.tool]:w.object({[Tt.json_schema]:Ey})}).optional()).optional()}).optional()}).optional(),My=w.lazy(()=>w.object({type:w.literal("json_schema"),json_schema:w.object({name:w.string().describe("The name of the schema"),schema:ep.describe("The schema itself in JSON schema format"),strict:w.literal(!0).describe("The schema must be strict")})})),Vy=Dt(My,{removeAdditionalStrategy:"passthrough"}),Ay=w.string().transform((n,a)=>{const{json:t}=Ve(n);return ea(t)?Object.entries(t).reduce((i,[r,o])=>{if(typeof o=="string")i[r]=o;else{const{json:d}=Fn(o);d!=null&&(i[r]=d)}return i},{}):(a.addIssue({code:w.ZodIssueCode.custom,message:"The prompt template variables must be a valid JSON object"}),w.NEVER)}),zy=w.object({[fe.llm]:w.object({[ze.prompt_template]:w.object({variables:Ay}).optional()}).optional()}).optional();function Ss(n){return fs.safeParse(n).success}function Wn(n){const a=n.toLowerCase();if(Ss(a))return a;for(const[t,l]of Object.entries(my))if(l.includes(a))return t;return np}function Ny({toolCalls:n,provider:a}){if(n!=null)return n.map(({tool_call:t})=>{var i,r,o,d;if(t==null)return null;let l={};if(((i=t.function)==null?void 0:i.arguments)!=null){const{json:c}=Ve(t.function.arguments);ea(c)&&(l=c)}switch(a){case"OPENAI":case"AZURE_OPENAI":return{id:t.id??"",type:"function",function:{name:((r=t.function)==null?void 0:r.name)??"",arguments:l}};case"ANTHROPIC":return{id:t.id??"",type:"tool_use",name:((o=t.function)==null?void 0:o.name)??"",input:l};case"GOOGLE":return{id:t.id??"",function:{name:((d=t.function)==null?void 0:d.name)??"",arguments:l}};default:Ce()}}).filter(t=>t!=null)}function vs({messages:n,provider:a}){return n.map(({message:t})=>({id:Zn(),role:t.tool_call_id!=null?Wn("tool"):Wn(t.role),content:typeof t.content=="string"?t.content:void 0,toolCalls:Ny({provider:a,toolCalls:t.tool_calls}),toolCallId:t.tool_call_id}))}function $y({provider:n,parsedAttributes:a}){var l;const t=Ky.safeParse(a);if(!t.success)return{messageParsingErrors:[py],messages:null};if(n==="ANTHROPIC"){const{success:i,data:r}=bs.safeParse(a);if(i){const o=t.data.llm.input_messages,d=(l=r.llm.invocation_parameters)==null?void 0:l.system;typeof d=="string"&&d&&(!o||o[0].message.role!=="system")&&t.data.llm.input_messages.unshift({message:{role:"system",content:d}})}}return{messageParsingErrors:[],messages:vs({provider:n,messages:t.data.llm.input_messages})}}function Oy({provider:n,parsedAttributes:a}){const t=[],l=Ty.safeParse(a);if(l.success)return{output:vs({provider:n,messages:l.data.llm.output_messages}),outputParsingErrors:t};t.push(gy);const i=Py.safeParse(a);return i.success?{output:i.data.output.value,outputParsingErrors:t}:(t.push(yy),{output:void 0,outputParsingErrors:t})}function Cs(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 Qy(n){for(const a of Object.keys($i))if($i[a].some(l=>n.includes(l)))return a;return Cr}function jy(n){const{success:a,data:t}=_y.safeParse(n);if(a){const l=Cs(t.llm.provider)||Qy(t.llm.model_name),i=qy(n);return{modelConfig:{...Object.fromEntries(Object.entries(i).filter(([r,o])=>o!==null)),modelName:t.llm.model_name,provider:l,invocationParameters:[],supportedInvocationParameters:[]},parsingErrors:[]}}return{modelConfig:null,parsingErrors:[hy]}}function qy(n){const{success:a,data:t}=wy.safeParse(n);if(a)try{const l=new URL(t.url.full);let i=l;if(t.url.path)try{i=new URL(t.url.full.split(t.url.path)[0])}catch{}return{baseUrl:`${i.origin}${i.pathname}`,endpoint:l.origin,apiVersion:l.searchParams.get("api-version")||null}}catch{}return{baseUrl:null,apiVersion:null,endpoint:null}}function By(n,a=[]){const{success:t,data:l}=bs.safeParse(n),i=[];return t||i.push(ky),{invocationParameters:ef((l==null?void 0:l.llm.invocation_parameters)??{},a),parsingErrors:i}}function Uy(n){const{success:a,data:t}=Ly.safeParse(n);return a?{responseFormat:t.llm.invocation_parameters.response_format,parsingErrors:[]}:{responseFormat:void 0,parsingErrors:[by]}}function Hy(n){var a;return(((a=n==null?void 0:n.llm)==null?void 0:a.tools)??[]).map(t=>(t==null?void 0:t.tool)==null?null:{id:tt(),definition:t.tool.json_schema}).filter(t=>t!=null)}function Gy(n){var l;const{data:a,success:t}=Ry.safeParse(n);return t?((l=a==null?void 0:a.llm)==null?void 0:l.tools)==null?{tools:null,parsingErrors:[]}:{tools:Hy(a),parsingErrors:[]}:{tools:null,parsingErrors:[Sy]}}function Wy(n){var l;const{success:a,data:t}=zy.safeParse(n);return a?((l=t==null?void 0:t.llm)==null?void 0:l.prompt_template)==null?{variables:null,parsingErrors:[]}:{variables:t.llm.prompt_template.variables,parsingErrors:[]}:{variables:null,parsingErrors:[vy]}}function Jy(n){const{instance:a,instanceMessages:t}=vr(),l={...a,template:{__type:"chat",messages:Object.values(t)}},{json:i,parseError:r}=Ve(n.attributes);if(r)return{playgroundInstance:{...l,spanId:(n==null?void 0:n.id)??null},parsingErrors:[fy]};const o=n.invocationParameters,d=jy(i);let{modelConfig:c}=d;const{parsingErrors:p}=d,{messages:f,messageParsingErrors:m}=$y({provider:(c==null?void 0:c.provider)??l.model.provider,parsedAttributes:i}),{output:g,outputParsingErrors:y}=Oy({provider:(c==null?void 0:c.provider)??l.model.provider,parsedAttributes:i}),{invocationParameters:k,parsingErrors:b}=By(i,o),{variables:S,parsingErrors:K}=Wy(i),{parsingErrors:T}=Uy(i);c=c!=null?{...c,invocationParameters:T.length>0?k.filter(D=>D.invocationName!==bn&&D.canonicalName!==vn):k}:null;const{tools:x,parsingErrors:L}=Gy(i),P=f==null?void 0:f.map(D=>({...D,content:D.role==="tool"?li(D.content):D.content}));return{playgroundInstance:{...l,model:c??l.model,template:P!=null?{__type:"chat",messages:P}:l.template,output:g,spanId:n.id,tools:x??l.tools},playgroundInput:S!=null?{variablesValueCache:S}:void 0,parsingErrors:[...m,...y,...p,...L,...b,...T,...K]}}const Zy=n=>xy.safeParse(n).success,Fs=({instance:n,templateFormat:a})=>{if(a==nn.NONE)return[];const t=new Set,l=n.template.__type,i=ap(a);switch(l){case"chat":{n.template.messages.forEach(r=>{(r.content==null?[]:i.extractVariables(r.content)).forEach(d=>{t.add(d)})});break}case"text_completion":{i.extractVariables(n.template.prompt).forEach(o=>{t.add(o)});break}default:Ce()}return Array.from(t)},Xy=({instances:n,templateFormat:a})=>a==nn.NONE?[]:Array.from(new Set(n.flatMap(t=>Fs({instance:t,templateFormat:a})))),Ks=({instances:n,templateFormat:a,input:t})=>{if(a==nn.NONE)return{variablesMap:{},variableKeys:[]};const l=Xy({instances:n,templateFormat:a}),i=t.variablesValueCache??{};return{variablesMap:l.reduce((o,d)=>(o[d]=i[d]||"",o),{}),variableKeys:l}};function aa(n,a){return n.invocationName===a.invocationName||n.canonicalName!=null&&a.canonicalName!=null&&n.canonicalName===a.canonicalName}const Yy=(n,a)=>n.filter(t=>a.some(l=>aa(l,t))).map(t=>{var l;return{...t,invocationName:((l=a.find(i=>aa(i,t)))==null?void 0:l.invocationName)??t.invocationName}}),qa=n=>n.replace(/_([a-z])/g,(a,t)=>t.toUpperCase()),ef=(n,a)=>Object.entries(n).map(([t,l])=>{const i=a.find(r=>r.canonicalName&&r.canonicalName.toLowerCase()===t.toLowerCase()||r.invocationName&&r.invocationName.toLowerCase()===t.toLowerCase());return i==null||i.invocationInputField==null||i.invocationName==null?null:{canonicalName:i.canonicalName,invocationName:i.invocationName,[qa(i.invocationInputField)]:l}}).filter(t=>t!=null),Ts=n=>{const{provider:a,validatedToolDefinition:t}=ip(n.definition);switch(a){case"OPENAI":case"AZURE_OPENAI":return t.function.name;case"ANTHROPIC":return t.name;case"UNKNOWN":return null;default:Ce()}},nf=({provider:n,toolNumber:a})=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return{id:tt(),definition:Di(a)};case"ANTHROPIC":return{id:tt(),definition:lp(a)};case"GOOGLE":return{id:tt(),definition:Di(a)};default:Ce()}},af=n=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return xi();case"ANTHROPIC":return tp();case"GOOGLE":return xi();default:Ce()}};function tf(n){return{content:n.content,role:lf(n.role),toolCalls:n.toolCalls,toolCallId:n.toolCallId}}function lf(n){switch(n){case"system":return"SYSTEM";case"user":return"USER";case"tool":return"TOOL";case"ai":return"AI";default:Ce()}}const Ps=({playgroundStore:n,instanceId:a,credentials:t})=>{var m;const{instances:l,allInstanceMessages:i}=n.getState(),r=l.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=Al({toolChoice:r.toolChoice,targetProvider:r.model.provider});r.tools.length>0?(c=c.filter(g=>g.invocationName!==Ea&&g.canonicalName!==Yn),c.push({canonicalName:Yn,invocationName:Ea,valueJson:p})):c=c.filter(g=>g.invocationName!==Ea&&g.canonicalName!==Yn),c=d.length?Yy(c,d):c;const f=r.model.provider==="AZURE_OPENAI"?{endpoint:r.model.endpoint,apiVersion:r.model.apiVersion}:{};return{messages:o.map(tf),model:{providerKey:r.model.provider,name:r.model.modelName||"",baseUrl:r.model.baseUrl,...f},invocationParameters:xs(c,r.model.provider,r.model.modelName),tools:r.tools.length?r.tools.map(g=>g.definition):void 0,apiKey:t[r.model.provider]||null,promptName:(m=r.prompt)==null?void 0:m.name}},el=(n,a)=>{if(n.template.__type==="chat"){const{messageIds:t,...l}=n.template;return{...n,template:{...l,messages:n.template.messageIds.map(i=>a[i])}}}return n},rf=({playgroundStore:n,instanceId:a,credentials:t})=>{const l=Ps({playgroundStore:n,instanceId:a,credentials:t}),{instances:i,templateFormat:r,input:o,allInstanceMessages:d}=n.getState(),c=i.map(f=>el(f,d)),{variablesMap:p}=Ks({instances:c,input:o,templateFormat:r});return{...l,template:{variables:p,format:r}}},Oi=({playgroundStore:n,instanceId:a,credentials:t,datasetId:l})=>({...Ps({playgroundStore:n,instanceId:a,credentials:t}),templateFormat:n.getState().templateFormat,datasetId:l});function li(n){if(typeof n=="string"){const a=n.startsWith('"{')||n.startsWith('"[')||n.startsWith('"\\"');try{if(a){const l=JSON.parse(n),i=typeof l=="string"?JSON.parse(l):l;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 Is(n,a){return a.filter(t=>t.required).every(t=>n.some(l=>aa(l,t)))}const sf=n=>{for(const[a,t]of Object.entries(n))if(a.endsWith("DefaultValue")&&t!=null)return n[a]};function WC(n,a){const t=new Map(n.map(l=>[l.invocationName,l]));return a.forEach(l=>{var c;const i=l.invocationName,r=sf(l),o=qa(l.invocationInputField||"");if(!l.invocationName||!l.invocationInputField||!i||r==null||((c=t.get(i))==null?void 0:c[o])!=null)return;const d={canonicalName:l.canonicalName,invocationName:l.invocationName,[o]:r};t.set(i,d)}),Array.from(t.values())}const of=w.object({type:w.literal("enabled")}).passthrough(),df=w.object({type:w.enum(["any","tool"])}).passthrough(),cf=(n,a)=>{if(!a)return n;const t=n.some(l=>l.canonicalName==="ANTHROPIC_EXTENDED_THINKING"&&l.valueJson&&of.safeParse(l.valueJson).success);return n.filter(l=>{if(l.canonicalName==="ANTHROPIC_EXTENDED_THINKING"&&!l.valueJson)return!1;if(t){if(l.canonicalName==="TEMPERATURE"||l.canonicalName==="TOP_P")return!1;if(l.canonicalName===Yn)return!df.safeParse(l.valueJson).success}return!0})},xs=(n,a,t)=>a==="ANTHROPIC"?cf(n,t):n,Ds=u.createContext(null);function JC({children:n,...a}){const[t]=u.useState(()=>rp(a));return e(Ds.Provider,{value:t,children:n})}function Ma(n,a){const t=he.useContext(Ds);if(!t)throw new Error("Missing CredentialsContext.Provider in the tree");return ut(t,n,a)}const _s=u.createContext(null);function uf(){const n=u.useContext(_s);if(n===null)throw new Error("useFunctionality must be used within a FunctionalityProvider");return n}function ZC(n){return e(_s.Provider,{value:{authenticationEnabled:window.Config.authenticationEnabled},children:n.children})}const Ls={argumentDefinitions:[],kind:"Fragment",metadata:null,name:"GenerativeProvidersCard_data",selections:[{alias:null,args:null,concreteType:"GenerativeProvider",kind:"LinkedField",name:"modelProviders",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"key",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"dependenciesInstalled",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"dependencies",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"apiKeyEnvVar",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"apiKeySet",storageKey:null}],storageKey:null}],type:"Query",abstractKey:null};Ls.hash="0168d590171b96e7a2e41449a41754be";function mf({query:n}){const[a,t]=u.useState(null),l=Ma(f=>f),i=Ma(f=>f.setCredential),r=I.useFragment(Ls,n),o=u.useMemo(()=>[...r.modelProviders],[r]),d=u.useMemo(()=>[{header:"Name",accessorKey:"name",cell:({row:f})=>s(h,{direction:"row",alignItems:"center",gap:"size-100",children:[e(zt,{provider:f.original.key,height:18}),f.original.name]})},{header:"Environment Variable",accessorKey:"apiKeyEnvVar",cell:({row:f})=>e(v,{children:f.original.apiKeyEnvVar})},{header:"configuration",accessorKey:"apiKeySet",cell:({row:f})=>f.original.dependenciesInstalled?l[f.original.key]?e(v,{color:"success",children:"local"}):f.original.apiKeySet?e(v,{color:"success",children:"configured on the server"}):e(v,{color:"text-700",children:"not configured"}):e(v,{color:"warning",children:"missing dependencies"})},{header:"",accessorKey:"id",cell:({row:f})=>e(h,{direction:"row",justifyContent:"end",gap:"size-100",width:"100%",children:e(V,{size:"S",leadingVisual:e(_,{svg:e(gt,{})}),onPress:()=>{t(f.original)}})})}],[l]),c=Le({columns:d,data:o,getCoreRowModel:we(),getSortedRowModel:In()}),p=c.getRowModel().rows;return s(B,{title:"AI Providers",bodyStyle:{padding:0},variant:"compact",children:[s("table",{css:dn,children:[e("thead",{children:c.getHeaderGroups().map(f=>e("tr",{children:f.headers.map(m=>e("th",{colSpan:m.colSpan,children:m.isPlaceholder?null:e("div",{children:J(m.column.columnDef.header,m.getContext())})},m.id))},f.id))}),e("tbody",{children:p.map(f=>e("tr",{children:f.getVisibleCells().map(m=>e("td",{children:J(m.column.columnDef.cell,m.getContext())},m.id))},f.id))})]}),e(ae,{type:"modal",isDismissable:!0,onDismiss:()=>t(null),children:a&&s(Z,{title:`Set ${a.name} API Key`,size:"S",children:[s(C,{padding:"size-200",children:[e(C,{paddingBottom:"size-100",children:s(v,{size:"XS",children:["Set the credentials for the ",a.name," API. These credentials will be stored entirely in your browser and will only be sent to the server during API requests."]})}),s(X,{onChange:f=>{i({provider:a.key,value:f})},value:l[a.key],type:"password",children:[e(W,{children:`${a.name} API Key`}),e(re,{placeholder:`e.g. ${a.apiKeyEnvVar}`}),e(v,{slot:"description",children:"The API key will be stored locally in your browser"})]})]}),e(C,{paddingX:"size-200",paddingY:"size-100",borderTopWidth:"thin",borderColor:"light",children:e(h,{direction:"row",justifyContent:"end",gap:"size-100",children:e(V,{variant:"primary",size:"S",onPress:()=>{t(null)},children:"Set API Key"})})})]})})]})}function XC(){const n=qe();return Je(n),e(mf,{query:n})}const ws={fragment:{argumentDefinitions:[],kind:"Fragment",metadata:null,name:"settingsAIProvidersPageLoaderQuery",selections:[{args:null,kind:"FragmentSpread",name:"GenerativeProvidersCard_data"}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[],kind:"Operation",name:"settingsAIProvidersPageLoaderQuery",selections:[{alias:null,args:null,concreteType:"GenerativeProvider",kind:"LinkedField",name:"modelProviders",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"key",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"dependenciesInstalled",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"dependencies",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"apiKeyEnvVar",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"apiKeySet",storageKey:null}],storageKey:null}]},params:{cacheID:"cc6e19e54ea894e905970362ee382e43",id:null,metadata:{},name:"settingsAIProvidersPageLoaderQuery",operationKind:"query",text:`query settingsAIProvidersPageLoaderQuery {
1
+ import{A as w,b5 as fe,b6 as Ae,b7 as ze,b8 as Tt,B as Dt,r as u,j as e,R as he,u as ut,w as I,l as s,aA as Le,aB as In,aD as we,aE as J,S as W,T as re,b9 as qe,ba as Je,ad as Dl,bb as Ki,ac as Qe,ah as ln,ag as G,U as xe,P as U,ax as ie,E as F,bc as Te,aI as ue,bd as Be,be as hm,a8 as _t,ay as Ca,a9 as Lt,bf as gn,bg as km,aJ as bm,bh as Sm,H as Ti,bi as mt,aP as _e,aO as Cn,bj as yn,bk as xn,m as yr,$ as vm,F as Pi,K as Cm,bl as Fm,bm as dl,bn as cl,bo as Ga,o as pt,bp as Km,aU as fr,bq as Tm,br as Ii,bs as Pm,bt as Im,bu as xm,bv as Dm,bw as _m,bx as Lm,by as wm,bz as Em,bA as Rm,bB as it,D as Mm,bC as Vm,bD as bt,g as hr,bE as Am,aF as _l,bF as kr,bG as br,bH as zm,ai as Nm,bI as $m,ae as Om,af as Qm,bJ as jm,n as qm}from"./vendor-BfhM_F1u.js";import{c as Z,D as ae,C as B,t as Ll,h as Dn,b as wt,L as Et,v as Rt,w as Sr,o as wl,P as Va,f as Oe,g as la,T as ve,E as Mt,q as ia,r as Aa,a as $e,d as ra,x as Fa,s as Vt,y as Bm,i as At,z as Um,A as Hm,B as Gm,G as El,H as Rl,u as Wm,J as Jm}from"./vendor-arizeai-CxXYQNUl.js";import{s as Zm,l as Xm,j as Ml,a as Ve,i as Vl,b as Ym,c as ep,d as ea,e as Fn,f as vr,D as Cr,g as Zn,h as tt,k as np,m as Ce,T as nn,n as ap,o as Al,p as xi,q as tp,r as Di,t as lp,u as ip,v as rp,G as zt,_ as h,w as v,x as V,I as _,E as gt,y as dn,z as C,A as X,R as Ke,B as Ie,C as ke,F as De,H as Ee,J as Re,K as cn,L as un,M as mn,N as zl,O as Fe,P as _n,Q as Fr,S as He,U as ne,V as ce,W as Ge,X as Kr,Y as It,Z as Ne,$ as zn,a0 as sp,a1 as Ye,a2 as Tr,a3 as Fl,a4 as Nl,a5 as $l,a6 as op,a7 as dp,a8 as Kl,a9 as St,aa as oe,ab as Pr,ac as cp,ad as up,ae as pn,af as mp,ag as En,ah as pp,ai as Ir,aj as Nt,ak as Ka,al as Ol,am as Ql,an as xr,ao as gp,ap as yp,aq as fp,ar as hp,as as kp,at as bp,au as Sp,av as rt,aw as vp,ax as me,ay as Tl,az as pe,aA as ge,aB as an,aC as Cp,aD as Fp,aE as Kp,aF as rn,aG as se,aH as Dr,aI as Tp,aJ as Pp,aK as Ip,aL as $t,aM as Ot,aN as _r,aO as xp,aP as Dp,aQ as _p,aR as Qt,aS as Lp,aT as Lr,aU as La,aV as st,aW as Ze,aX as wp,aY as jl,aZ as fn,a_ as Ep,a$ as Rp,b0 as Mp,b1 as Mn,b2 as Se,b3 as Ue,b4 as We,b5 as wr,b6 as sa,b7 as Me,b8 as za,b9 as Nn,ba as Vn,bb as jt,bc as Na,bd as Ta,be as Er,bf as sn,bg as Rr,bh as Vp,bi as ql,bj as fa,bk as Ap,bl as Gn,bm as zp,bn as Np,bo as Bl,bp as qt,bq as $n,br as oa,bs as _i,bt as Li,bu as $p,bv as Op,bw as Qp,bx as $a,by as jp,bz as qp,bA as ot,bB as Bp,bC as lt,bD as Kn,bE as Xn,bF as Bt,bG as Ut,bH as On,bI as Up,bJ as Hp,bK as on,bL as Tn,bM as ka,bN as Ul,bO as Mr,bP as Hl,bQ as Gp,bR as Wp,bS as Jp,bT as Gl,bU as Vr,bV as Ar,bW as zr,bX as Xe,bY as Nr,bZ as $r,b_ as Pl,b$ as Zp,c0 as Wl,c1 as Jl,c2 as Or,c3 as Xp,c4 as Yp,c5 as eg,c6 as Zl,c7 as ng,c8 as ag,c9 as Xl,ca as tg,cb as Qr,cc as lg,cd as ig,ce as rg,cf as sg,cg as og,ch as dg,ci as cg,cj as Ht,ck as ug,cl as mg,cm as jr,cn as qr,co as wi,cp as pg,cq as Ln,cr as Qn,cs as Yl,ct as Br,cu as Ur,cv as Ei,cw as Ri,cx as gg,cy as yg,cz as H,cA as Hr,cB as Gt,cC as Wt,cD as Oa,cE as Gr,cF as Qa,cG as ja,cH as Wr,cI as jn,cJ as Jt,cK as fg,cL as hg,cM as kg,cN as bg,cO as Sg,cP as vg,cQ as Cg,cR as ba,cS as Jr,cT as Fg,cU as Kg,cV as Mi,cW as Tg,cX as Pg,cY as Ig,cZ as xg,c_ as Dg,c$ as _g,d0 as Zr,d1 as Lg,d2 as wg,d3 as Eg,d4 as Rg,d5 as Sa,d6 as ei,d7 as Xr,d8 as _a,d9 as Zt,da as Yr,db as es,dc as ul,dd as Mg,de as ns,df as Vg,dg as ni,dh as Xt,di as kn,dj as Ag,dk as as,dl as zg,dm as Ng,dn as ts,dp as ls,dq as $g,dr as Og,ds as is,dt as Qg,du as na,dv as jg,dw as qg,dx as Vi,dy as Bg,dz as Ug,dA as Hg,dB as Gg,dC as Wg,dD as ml,dE as Jg,dF as wa,dG as Zg,dH as Xg,dI as Yg,dJ as ey,dK as Yt,dL as rs,dM as Ai,dN as ny,dO as ay,dP as ty,dQ as ly,dR as ss,dS as iy,dT as ry,dU as sy,dV as zi,dW as Ni}from"./components-BEtrHoeq.js";import{g as da,i as ca,d as oy,E as os,R as ua,k as ai,b as dy,p as yt,n as ds}from"./vendor-codemirror-B0NIFPOL.js";import{P as cs,C as us,T as qn,a as ms,R as Bn,b as ft,X as ma,Y as Pn,c as pa,B as Ra,A as dt,d as ps,e as ti,L as gs,f as cy}from"./vendor-recharts-CrrDFWK1.js";const uy=4,my={user:["user","human"],ai:["assistant","bot","ai"],system:["system"],tool:["tool"]},py="Unable to parse span input messages, expected messages which include a role and content.",gy="Unable to parse span output messages, expected messages which include a role and content.",yy="Unable to parse span output expected output.value to be present.",fy="Unable to parse span attributes, attributes must be valid JSON.",hy="Unable to parse model config, expected llm.model_name to be present.",ky="Unable to parse model config, expected llm.invocation_parameters JSON string to be present.",by="Unable to parse invocation parameters response_format, expected llm.invocation_parameters.response_format to be a well formed json object or undefined.",Sy="Unable to parse tools, expected tools to be an array of valid tools.",vy="Unable to parse prompt template variables, expected prompt template variables to be a valid JSON object string.",$i={AZURE_OPENAI:[],ANTHROPIC:["claude"],OPENAI:["gpt","o1"],GOOGLE:["gemini"]},Yn="TOOL_CHOICE",Ea="tool_choice",vn="RESPONSE_FORMAT",bn="response_format",Cy=[Yn,vn],Fy=w.object({tool_call:w.object({id:w.string().optional(),function:w.object({name:w.string(),arguments:w.string()}).partial()}).partial()}).partial(),ys=w.object({[fe.message]:w.object({[Ae.role]:w.string(),[Ae.content]:w.union([w.string(),w.array(w.record(w.string(),w.unknown()))]).default(""),[Ae.tool_calls]:w.array(Fy).optional(),[Ae.tool_call_id]:w.string().optional()})}),Ky=w.object({[fe.llm]:w.object({[ze.input_messages]:w.array(ys)})}),Ty=w.object({[fe.llm]:w.object({[ze.output_messages]:w.array(ys)})}),Py=w.object({[fe.output]:w.object({value:w.string()})}),fs=Zm()(w.enum(["user","ai","system","tool"])),Iy=w.object({id:w.number(),role:fs,content:w.string().optional(),toolCallId:w.string().optional(),toolCalls:w.array(Xm).optional()}),xy=w.array(Iy),hs=w.lazy(()=>w.record(Ml)),Dy=hs,ks=w.string().transform((n,a)=>{const{json:t}=Ve(n);if(!Vl(t))return a.addIssue({code:w.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),w.NEVER;const{success:l,data:i}=Dy.safeParse(t);return l?i:(a.addIssue({code:w.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),w.NEVER)}).default("{}"),_y=w.object({[fe.llm]:w.object({[ze.provider]:w.string().optional(),[ze.model_name]:w.string()})}),bs=w.object({[fe.llm]:w.object({[ze.invocation_parameters]:ks})}),Ly=w.object({[fe.llm]:w.object({[ze.invocation_parameters]:ks.pipe(w.object({response_format:hs.optional()}))})}),wy=w.object({url:w.object({full:w.string(),path:w.string().optional()})}),Ey=w.string().transform((n,a)=>{const{json:t}=Ve(n);return t==null||!Vl(t)?(a.addIssue({code:w.ZodIssueCode.custom,message:"The tool JSON schema must be a valid JSON object"}),w.NEVER):t}).transform((n,a)=>{const{data:t,success:l}=Ym.safeParse(n);return l?t:(a.addIssue({code:w.ZodIssueCode.custom,message:"The tool JSON schema must be a valid tool schema"}),w.NEVER)}),Ry=w.object({[fe.llm]:w.object({[ze.tools]:w.array(w.object({[fe.tool]:w.object({[Tt.json_schema]:Ey})}).optional()).optional()}).optional()}).optional(),My=w.lazy(()=>w.object({type:w.literal("json_schema"),json_schema:w.object({name:w.string().describe("The name of the schema"),schema:ep.describe("The schema itself in JSON schema format"),strict:w.literal(!0).describe("The schema must be strict")})})),Vy=Dt(My,{removeAdditionalStrategy:"passthrough"}),Ay=w.string().transform((n,a)=>{const{json:t}=Ve(n);return ea(t)?Object.entries(t).reduce((i,[r,o])=>{if(typeof o=="string")i[r]=o;else{const{json:d}=Fn(o);d!=null&&(i[r]=d)}return i},{}):(a.addIssue({code:w.ZodIssueCode.custom,message:"The prompt template variables must be a valid JSON object"}),w.NEVER)}),zy=w.object({[fe.llm]:w.object({[ze.prompt_template]:w.object({variables:Ay}).optional()}).optional()}).optional();function Ss(n){return fs.safeParse(n).success}function Wn(n){const a=n.toLowerCase();if(Ss(a))return a;for(const[t,l]of Object.entries(my))if(l.includes(a))return t;return np}function Ny({toolCalls:n,provider:a}){if(n!=null)return n.map(({tool_call:t})=>{var i,r,o,d;if(t==null)return null;let l={};if(((i=t.function)==null?void 0:i.arguments)!=null){const{json:c}=Ve(t.function.arguments);ea(c)&&(l=c)}switch(a){case"OPENAI":case"AZURE_OPENAI":return{id:t.id??"",type:"function",function:{name:((r=t.function)==null?void 0:r.name)??"",arguments:l}};case"ANTHROPIC":return{id:t.id??"",type:"tool_use",name:((o=t.function)==null?void 0:o.name)??"",input:l};case"GOOGLE":return{id:t.id??"",function:{name:((d=t.function)==null?void 0:d.name)??"",arguments:l}};default:Ce()}}).filter(t=>t!=null)}function vs({messages:n,provider:a}){return n.map(({message:t})=>({id:Zn(),role:t.tool_call_id!=null?Wn("tool"):Wn(t.role),content:typeof t.content=="string"?t.content:void 0,toolCalls:Ny({provider:a,toolCalls:t.tool_calls}),toolCallId:t.tool_call_id}))}function $y({provider:n,parsedAttributes:a}){var l;const t=Ky.safeParse(a);if(!t.success)return{messageParsingErrors:[py],messages:null};if(n==="ANTHROPIC"){const{success:i,data:r}=bs.safeParse(a);if(i){const o=t.data.llm.input_messages,d=(l=r.llm.invocation_parameters)==null?void 0:l.system;typeof d=="string"&&d&&(!o||o[0].message.role!=="system")&&t.data.llm.input_messages.unshift({message:{role:"system",content:d}})}}return{messageParsingErrors:[],messages:vs({provider:n,messages:t.data.llm.input_messages})}}function Oy({provider:n,parsedAttributes:a}){const t=[],l=Ty.safeParse(a);if(l.success)return{output:vs({provider:n,messages:l.data.llm.output_messages}),outputParsingErrors:t};t.push(gy);const i=Py.safeParse(a);return i.success?{output:i.data.output.value,outputParsingErrors:t}:(t.push(yy),{output:void 0,outputParsingErrors:t})}function Cs(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 Qy(n){for(const a of Object.keys($i))if($i[a].some(l=>n.includes(l)))return a;return Cr}function jy(n){const{success:a,data:t}=_y.safeParse(n);if(a){const l=Cs(t.llm.provider)||Qy(t.llm.model_name),i=qy(n);return{modelConfig:{...Object.fromEntries(Object.entries(i).filter(([r,o])=>o!==null)),modelName:t.llm.model_name,provider:l,invocationParameters:[],supportedInvocationParameters:[]},parsingErrors:[]}}return{modelConfig:null,parsingErrors:[hy]}}function qy(n){const{success:a,data:t}=wy.safeParse(n);if(a)try{const l=new URL(t.url.full);let i=l;if(t.url.path)try{i=new URL(t.url.full.split(t.url.path)[0])}catch{}return{baseUrl:`${i.origin}${i.pathname}`,endpoint:l.origin,apiVersion:l.searchParams.get("api-version")||null}}catch{}return{baseUrl:null,apiVersion:null,endpoint:null}}function By(n,a=[]){const{success:t,data:l}=bs.safeParse(n),i=[];return t||i.push(ky),{invocationParameters:ef((l==null?void 0:l.llm.invocation_parameters)??{},a),parsingErrors:i}}function Uy(n){const{success:a,data:t}=Ly.safeParse(n);return a?{responseFormat:t.llm.invocation_parameters.response_format,parsingErrors:[]}:{responseFormat:void 0,parsingErrors:[by]}}function Hy(n){var a;return(((a=n==null?void 0:n.llm)==null?void 0:a.tools)??[]).map(t=>(t==null?void 0:t.tool)==null?null:{id:tt(),definition:t.tool.json_schema}).filter(t=>t!=null)}function Gy(n){var l;const{data:a,success:t}=Ry.safeParse(n);return t?((l=a==null?void 0:a.llm)==null?void 0:l.tools)==null?{tools:null,parsingErrors:[]}:{tools:Hy(a),parsingErrors:[]}:{tools:null,parsingErrors:[Sy]}}function Wy(n){var l;const{success:a,data:t}=zy.safeParse(n);return a?((l=t==null?void 0:t.llm)==null?void 0:l.prompt_template)==null?{variables:null,parsingErrors:[]}:{variables:t.llm.prompt_template.variables,parsingErrors:[]}:{variables:null,parsingErrors:[vy]}}function Jy(n){const{instance:a,instanceMessages:t}=vr(),l={...a,template:{__type:"chat",messages:Object.values(t)}},{json:i,parseError:r}=Ve(n.attributes);if(r)return{playgroundInstance:{...l,spanId:(n==null?void 0:n.id)??null},parsingErrors:[fy]};const o=n.invocationParameters,d=jy(i);let{modelConfig:c}=d;const{parsingErrors:p}=d,{messages:f,messageParsingErrors:m}=$y({provider:(c==null?void 0:c.provider)??l.model.provider,parsedAttributes:i}),{output:g,outputParsingErrors:y}=Oy({provider:(c==null?void 0:c.provider)??l.model.provider,parsedAttributes:i}),{invocationParameters:k,parsingErrors:b}=By(i,o),{variables:S,parsingErrors:K}=Wy(i),{parsingErrors:T}=Uy(i);c=c!=null?{...c,invocationParameters:T.length>0?k.filter(D=>D.invocationName!==bn&&D.canonicalName!==vn):k}:null;const{tools:x,parsingErrors:L}=Gy(i),P=f==null?void 0:f.map(D=>({...D,content:D.role==="tool"?li(D.content):D.content}));return{playgroundInstance:{...l,model:c??l.model,template:P!=null?{__type:"chat",messages:P}:l.template,output:g,spanId:n.id,tools:x??l.tools},playgroundInput:S!=null?{variablesValueCache:S}:void 0,parsingErrors:[...m,...y,...p,...L,...b,...T,...K]}}const Zy=n=>xy.safeParse(n).success,Fs=({instance:n,templateFormat:a})=>{if(a==nn.NONE)return[];const t=new Set,l=n.template.__type,i=ap(a);switch(l){case"chat":{n.template.messages.forEach(r=>{(r.content==null?[]:i.extractVariables(r.content)).forEach(d=>{t.add(d)})});break}case"text_completion":{i.extractVariables(n.template.prompt).forEach(o=>{t.add(o)});break}default:Ce()}return Array.from(t)},Xy=({instances:n,templateFormat:a})=>a==nn.NONE?[]:Array.from(new Set(n.flatMap(t=>Fs({instance:t,templateFormat:a})))),Ks=({instances:n,templateFormat:a,input:t})=>{if(a==nn.NONE)return{variablesMap:{},variableKeys:[]};const l=Xy({instances:n,templateFormat:a}),i=t.variablesValueCache??{};return{variablesMap:l.reduce((o,d)=>(o[d]=i[d]||"",o),{}),variableKeys:l}};function aa(n,a){return n.invocationName===a.invocationName||n.canonicalName!=null&&a.canonicalName!=null&&n.canonicalName===a.canonicalName}const Yy=(n,a)=>n.filter(t=>a.some(l=>aa(l,t))).map(t=>{var l;return{...t,invocationName:((l=a.find(i=>aa(i,t)))==null?void 0:l.invocationName)??t.invocationName}}),qa=n=>n.replace(/_([a-z])/g,(a,t)=>t.toUpperCase()),ef=(n,a)=>Object.entries(n).map(([t,l])=>{const i=a.find(r=>r.canonicalName&&r.canonicalName.toLowerCase()===t.toLowerCase()||r.invocationName&&r.invocationName.toLowerCase()===t.toLowerCase());return i==null||i.invocationInputField==null||i.invocationName==null?null:{canonicalName:i.canonicalName,invocationName:i.invocationName,[qa(i.invocationInputField)]:l}}).filter(t=>t!=null),Ts=n=>{const{provider:a,validatedToolDefinition:t}=ip(n.definition);switch(a){case"OPENAI":case"AZURE_OPENAI":return t.function.name;case"ANTHROPIC":return t.name;case"UNKNOWN":return null;default:Ce()}},nf=({provider:n,toolNumber:a})=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return{id:tt(),definition:Di(a)};case"ANTHROPIC":return{id:tt(),definition:lp(a)};case"GOOGLE":return{id:tt(),definition:Di(a)};default:Ce()}},af=n=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return xi();case"ANTHROPIC":return tp();case"GOOGLE":return xi();default:Ce()}};function tf(n){return{content:n.content,role:lf(n.role),toolCalls:n.toolCalls,toolCallId:n.toolCallId}}function lf(n){switch(n){case"system":return"SYSTEM";case"user":return"USER";case"tool":return"TOOL";case"ai":return"AI";default:Ce()}}const Ps=({playgroundStore:n,instanceId:a,credentials:t})=>{var m;const{instances:l,allInstanceMessages:i}=n.getState(),r=l.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=Al({toolChoice:r.toolChoice,targetProvider:r.model.provider});r.tools.length>0?(c=c.filter(g=>g.invocationName!==Ea&&g.canonicalName!==Yn),c.push({canonicalName:Yn,invocationName:Ea,valueJson:p})):c=c.filter(g=>g.invocationName!==Ea&&g.canonicalName!==Yn),c=d.length?Yy(c,d):c;const f=r.model.provider==="AZURE_OPENAI"?{endpoint:r.model.endpoint,apiVersion:r.model.apiVersion}:{};return{messages:o.map(tf),model:{providerKey:r.model.provider,name:r.model.modelName||"",baseUrl:r.model.baseUrl,...f},invocationParameters:xs(c,r.model.provider,r.model.modelName),tools:r.tools.length?r.tools.map(g=>g.definition):void 0,apiKey:t[r.model.provider]||null,promptName:(m=r.prompt)==null?void 0:m.name}},el=(n,a)=>{if(n.template.__type==="chat"){const{messageIds:t,...l}=n.template;return{...n,template:{...l,messages:n.template.messageIds.map(i=>a[i])}}}return n},rf=({playgroundStore:n,instanceId:a,credentials:t})=>{const l=Ps({playgroundStore:n,instanceId:a,credentials:t}),{instances:i,templateFormat:r,input:o,allInstanceMessages:d}=n.getState(),c=i.map(f=>el(f,d)),{variablesMap:p}=Ks({instances:c,input:o,templateFormat:r});return{...l,template:{variables:p,format:r}}},Oi=({playgroundStore:n,instanceId:a,credentials:t,datasetId:l})=>({...Ps({playgroundStore:n,instanceId:a,credentials:t}),templateFormat:n.getState().templateFormat,datasetId:l});function li(n){if(typeof n=="string"){const a=n.startsWith('"{')||n.startsWith('"[')||n.startsWith('"\\"');try{if(a){const l=JSON.parse(n),i=typeof l=="string"?JSON.parse(l):l;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 Is(n,a){return a.filter(t=>t.required).every(t=>n.some(l=>aa(l,t)))}const sf=n=>{for(const[a,t]of Object.entries(n))if(a.endsWith("DefaultValue")&&t!=null)return n[a]};function WC(n,a){const t=new Map(n.map(l=>[l.invocationName,l]));return a.forEach(l=>{var c;const i=l.invocationName,r=sf(l),o=qa(l.invocationInputField||"");if(!l.invocationName||!l.invocationInputField||!i||r==null||((c=t.get(i))==null?void 0:c[o])!=null)return;const d={canonicalName:l.canonicalName,invocationName:l.invocationName,[o]:r};t.set(i,d)}),Array.from(t.values())}const of=w.object({type:w.literal("enabled")}).passthrough(),df=w.object({type:w.enum(["any","tool"])}).passthrough(),cf=(n,a)=>{if(!a)return n;const t=n.some(l=>l.canonicalName==="ANTHROPIC_EXTENDED_THINKING"&&l.valueJson&&of.safeParse(l.valueJson).success);return n.filter(l=>{if(l.canonicalName==="ANTHROPIC_EXTENDED_THINKING"&&!l.valueJson)return!1;if(t){if(l.canonicalName==="TEMPERATURE"||l.canonicalName==="TOP_P")return!1;if(l.canonicalName===Yn)return!df.safeParse(l.valueJson).success}return!0})},xs=(n,a,t)=>a==="ANTHROPIC"?cf(n,t):n,Ds=u.createContext(null);function JC({children:n,...a}){const[t]=u.useState(()=>rp(a));return e(Ds.Provider,{value:t,children:n})}function Ma(n,a){const t=he.useContext(Ds);if(!t)throw new Error("Missing CredentialsContext.Provider in the tree");return ut(t,n,a)}const _s=u.createContext(null);function uf(){const n=u.useContext(_s);if(n===null)throw new Error("useFunctionality must be used within a FunctionalityProvider");return n}function ZC(n){return e(_s.Provider,{value:{authenticationEnabled:window.Config.authenticationEnabled},children:n.children})}const Ls={argumentDefinitions:[],kind:"Fragment",metadata:null,name:"GenerativeProvidersCard_data",selections:[{alias:null,args:null,concreteType:"GenerativeProvider",kind:"LinkedField",name:"modelProviders",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"key",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"dependenciesInstalled",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"dependencies",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"apiKeyEnvVar",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"apiKeySet",storageKey:null}],storageKey:null}],type:"Query",abstractKey:null};Ls.hash="0168d590171b96e7a2e41449a41754be";function mf({query:n}){const[a,t]=u.useState(null),l=Ma(f=>f),i=Ma(f=>f.setCredential),r=I.useFragment(Ls,n),o=u.useMemo(()=>[...r.modelProviders],[r]),d=u.useMemo(()=>[{header:"Name",accessorKey:"name",cell:({row:f})=>s(h,{direction:"row",alignItems:"center",gap:"size-100",children:[e(zt,{provider:f.original.key,height:18}),f.original.name]})},{header:"Environment Variable",accessorKey:"apiKeyEnvVar",cell:({row:f})=>e(v,{children:f.original.apiKeyEnvVar})},{header:"configuration",accessorKey:"apiKeySet",cell:({row:f})=>f.original.dependenciesInstalled?l[f.original.key]?e(v,{color:"success",children:"local"}):f.original.apiKeySet?e(v,{color:"success",children:"configured on the server"}):e(v,{color:"text-700",children:"not configured"}):e(v,{color:"warning",children:"missing dependencies"})},{header:"",accessorKey:"id",cell:({row:f})=>e(h,{direction:"row",justifyContent:"end",gap:"size-100",width:"100%",children:e(V,{size:"S",leadingVisual:e(_,{svg:e(gt,{})}),onPress:()=>{t(f.original)}})})}],[l]),c=Le({columns:d,data:o,getCoreRowModel:we(),getSortedRowModel:In()}),p=c.getRowModel().rows;return s(B,{title:"AI Providers",bodyStyle:{padding:0},variant:"compact",children:[s("table",{css:dn,children:[e("thead",{children:c.getHeaderGroups().map(f=>e("tr",{children:f.headers.map(m=>e("th",{colSpan:m.colSpan,children:m.isPlaceholder?null:e("div",{children:J(m.column.columnDef.header,m.getContext())})},m.id))},f.id))}),e("tbody",{children:p.map(f=>e("tr",{children:f.getVisibleCells().map(m=>e("td",{children:J(m.column.columnDef.cell,m.getContext())},m.id))},f.id))})]}),e(ae,{type:"modal",isDismissable:!0,onDismiss:()=>t(null),children:a&&s(Z,{title:`Set ${a.name} API Key`,size:"S",children:[s(C,{padding:"size-200",children:[e(C,{paddingBottom:"size-100",children:s(v,{size:"XS",children:["Set the credentials for the ",a.name," API. These credentials will be stored entirely in your browser and will only be sent to the server during API requests."]})}),s(X,{onChange:f=>{i({provider:a.key,value:f})},value:l[a.key],type:"password",children:[e(W,{children:`${a.name} API Key`}),e(re,{placeholder:`e.g. ${a.apiKeyEnvVar}`}),e(v,{slot:"description",children:"The API key will be stored locally in your browser"})]})]}),e(C,{paddingX:"size-200",paddingY:"size-100",borderTopWidth:"thin",borderColor:"light",children:e(h,{direction:"row",justifyContent:"end",gap:"size-100",children:e(V,{variant:"primary",size:"S",onPress:()=>{t(null)},children:"Set API Key"})})})]})})]})}function XC(){const n=qe();return Je(n),e(mf,{query:n})}const ws={fragment:{argumentDefinitions:[],kind:"Fragment",metadata:null,name:"settingsAIProvidersPageLoaderQuery",selections:[{args:null,kind:"FragmentSpread",name:"GenerativeProvidersCard_data"}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[],kind:"Operation",name:"settingsAIProvidersPageLoaderQuery",selections:[{alias:null,args:null,concreteType:"GenerativeProvider",kind:"LinkedField",name:"modelProviders",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"key",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"dependenciesInstalled",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"dependencies",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"apiKeyEnvVar",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"apiKeySet",storageKey:null}],storageKey:null}]},params:{cacheID:"cc6e19e54ea894e905970362ee382e43",id:null,metadata:{},name:"settingsAIProvidersPageLoaderQuery",operationKind:"query",text:`query settingsAIProvidersPageLoaderQuery {
2
2
  ...GenerativeProvidersCard_data
3
3
  }
4
4
 
@@ -5168,7 +5168,6 @@ fragment ExperimentMultiSelector__experiments on Dataset {
5168
5168
  width: 100%;
5169
5169
  margin-left: auto;
5170
5170
  margin-right: auto;
5171
- height: 100%;
5172
5171
  `;function Q2(){const{pathname:n}=mt(),a=ue(),t=n.split("/settings")[1].replace("/",""),l=u.useCallback(i=>{typeof i=="string"&&a(`/settings/${i}`,{replace:!0})},[a]);return t?e("main",{css:kC,children:e("div",{css:bC,children:s(Ge,{selectedKey:t,onSelectionChange:l,children:[s(He,{children:[e(ne,{id:"general",children:"General"}),e(ne,{id:"providers",children:"AI Providers"})]}),e(ce,{id:"general",padded:!0,children:e(Te,{})}),e(ce,{id:"providers",padded:!0,children:e(Te,{})}),e(ce,{id:"annotations",padded:!0,children:e(B,{title:"Annotations Settings",variant:"compact",children:s(h,{direction:"column",gap:"size-200",children:[e(v,{children:"Annotation settings and configurations will be available here."}),e(v,{children:"Configure annotation types, labels, and workflows for your projects."})]})})})]})})}):e(kr,{to:"/settings/general",replace:!0})}const Yu={fragment:{argumentDefinitions:[],kind:"Fragment",metadata:null,name:"settingsGeneralPageLoaderQuery",selections:[{args:null,kind:"FragmentSpread",name:"DBUsagePieChart_data"}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[],kind:"Operation",name:"settingsGeneralPageLoaderQuery",selections:[{alias:null,args:null,concreteType:"DbTableStats",kind:"LinkedField",name:"dbTableStats",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"tableName",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"numBytes",storageKey:null}],storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"dbStorageCapacityBytes",storageKey:null}]},params:{cacheID:"b23054c72be2f3ddc335774d54407667",id:null,metadata:{},name:"settingsGeneralPageLoaderQuery",operationKind:"query",text:`query settingsGeneralPageLoaderQuery {
5173
5172
  ...DBUsagePieChart_data
5174
5173
  }