arize-phoenix 12.7.0__tar.gz → 12.7.1__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 (489) hide show
  1. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/PKG-INFO +1 -1
  2. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/static/.vite/manifest.json +9 -9
  3. arize_phoenix-12.7.0/src/phoenix/server/static/assets/components-X_GtZhnz.js → arize_phoenix-12.7.1/src/phoenix/server/static/assets/components-BLK5vehh.js +2 -2
  4. arize_phoenix-12.7.0/src/phoenix/server/static/assets/index-BCtFqQdo.js → arize_phoenix-12.7.1/src/phoenix/server/static/assets/index-BP0Shd90.js +1 -1
  5. arize_phoenix-12.7.0/src/phoenix/server/static/assets/pages-Dl8TWyNq.js → arize_phoenix-12.7.1/src/phoenix/server/static/assets/pages-DIVgyYyy.js +12 -14
  6. arize_phoenix-12.7.1/src/phoenix/version.py +1 -0
  7. arize_phoenix-12.7.0/src/phoenix/version.py +0 -1
  8. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/.gitignore +0 -0
  9. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/IP_NOTICE +0 -0
  10. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/LICENSE +0 -0
  11. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/README.md +0 -0
  12. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/pyproject.toml +0 -0
  13. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/__init__.py +0 -0
  14. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/auth.py +0 -0
  15. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/config.py +0 -0
  16. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/core/__init__.py +0 -0
  17. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/core/embedding_dimension.py +0 -0
  18. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/core/model.py +0 -0
  19. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/core/model_schema.py +0 -0
  20. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/core/model_schema_adapter.py +0 -0
  21. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/datetime_utils.py +0 -0
  22. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/README.md +0 -0
  23. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/__init__.py +0 -0
  24. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/alembic.ini +0 -0
  25. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/bulk_inserter.py +0 -0
  26. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/constants.py +0 -0
  27. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/engines.py +0 -0
  28. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/enums.py +0 -0
  29. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/facilitator.py +0 -0
  30. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/helpers.py +0 -0
  31. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/insertion/__init__.py +0 -0
  32. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/insertion/constants.py +0 -0
  33. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/insertion/dataset.py +0 -0
  34. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/insertion/document_annotation.py +0 -0
  35. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/insertion/evaluation.py +0 -0
  36. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/insertion/helpers.py +0 -0
  37. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/insertion/session_annotation.py +0 -0
  38. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/insertion/span.py +0 -0
  39. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/insertion/span_annotation.py +0 -0
  40. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/insertion/trace_annotation.py +0 -0
  41. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/insertion/types.py +0 -0
  42. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrate.py +0 -0
  43. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/__init__.py +0 -0
  44. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/data_migration_scripts/__init__.py +0 -0
  45. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/data_migration_scripts/populate_project_sessions.py +0 -0
  46. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/env.py +0 -0
  47. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/script.py.mako +0 -0
  48. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/01a8342c9cdf_add_user_id_on_datasets.py +0 -0
  49. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/0df286449799_add_session_annotations_table.py +0 -0
  50. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/10460e46d750_datasets.py +0 -0
  51. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/272b66ff50f8_drop_single_indices.py +0 -0
  52. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/2f9d1a65945f_annotation_config_migration.py +0 -0
  53. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/3be8647b87d8_add_token_columns_to_spans_table.py +0 -0
  54. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/4ded9e43755f_create_project_sessions_table.py +0 -0
  55. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/58228d933c91_dataset_labels.py +0 -0
  56. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/699f655af132_experiment_tags.py +0 -0
  57. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/6a88424799fe_update_users_with_auth_method.py +0 -0
  58. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/735d3d93c33e_add_composite_indices.py +0 -0
  59. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/8a3764fe7f1a_change_jsonb_to_json_for_prompts.py +0 -0
  60. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/a20694b15f82_cost.py +0 -0
  61. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/ab513d89518b_add_user_id_on_dataset_versions.py +0 -0
  62. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/bb8139330879_create_project_trace_retention_policies_table.py +0 -0
  63. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/bc8fea3c2bc8_add_prompt_tables.py +0 -0
  64. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/cd164e83824f_users_and_tokens.py +0 -0
  65. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/cf03bd6bae1d_init.py +0 -0
  66. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/d0690a79ea51_users_on_experiments.py +0 -0
  67. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/deb2c81c0bb2_dataset_splits.py +0 -0
  68. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/migrations/versions/e76cbd66ffc3_add_experiments_dataset_examples.py +0 -0
  69. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/models.py +0 -0
  70. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/pg_config.py +0 -0
  71. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/types/__init__.py +0 -0
  72. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/types/annotation_configs.py +0 -0
  73. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/types/db_models.py +0 -0
  74. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/types/identifier.py +0 -0
  75. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/types/model_provider.py +0 -0
  76. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/types/token_price_customization.py +0 -0
  77. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/db/types/trace_retention.py +0 -0
  78. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/exceptions.py +0 -0
  79. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/experiments/__init__.py +0 -0
  80. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/experiments/evaluators/__init__.py +0 -0
  81. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/experiments/evaluators/base.py +0 -0
  82. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/experiments/evaluators/code_evaluators.py +0 -0
  83. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/experiments/evaluators/llm_evaluators.py +0 -0
  84. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/experiments/evaluators/utils.py +0 -0
  85. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/experiments/functions.py +0 -0
  86. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/experiments/tracing.py +0 -0
  87. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/experiments/types.py +0 -0
  88. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/experiments/utils.py +0 -0
  89. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/inferences/__init__.py +0 -0
  90. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/inferences/errors.py +0 -0
  91. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/inferences/fixtures.py +0 -0
  92. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/inferences/inferences.py +0 -0
  93. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/inferences/schema.py +0 -0
  94. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/inferences/validation.py +0 -0
  95. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/logging/__init__.py +0 -0
  96. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/logging/_config.py +0 -0
  97. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/logging/_filter.py +0 -0
  98. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/logging/_formatter.py +0 -0
  99. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/metrics/README.md +0 -0
  100. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/metrics/__init__.py +0 -0
  101. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/metrics/binning.py +0 -0
  102. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/metrics/metrics.py +0 -0
  103. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/metrics/mixins.py +0 -0
  104. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/metrics/retrieval_metrics.py +0 -0
  105. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/metrics/timeseries.py +0 -0
  106. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/metrics/wrappers.py +0 -0
  107. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/pointcloud/__init__.py +0 -0
  108. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/pointcloud/clustering.py +0 -0
  109. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/pointcloud/pointcloud.py +0 -0
  110. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/pointcloud/projectors.py +0 -0
  111. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/pointcloud/umap_parameters.py +0 -0
  112. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/py.typed +0 -0
  113. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/__init__.py +0 -0
  114. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/README.md +0 -0
  115. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/__init__.py +0 -0
  116. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/auth.py +0 -0
  117. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/auth_messages.py +0 -0
  118. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/context.py +0 -0
  119. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/__init__.py +0 -0
  120. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/annotation_configs_by_project.py +0 -0
  121. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/annotation_summaries.py +0 -0
  122. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/average_experiment_repeated_run_group_latency.py +0 -0
  123. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/average_experiment_run_latency.py +0 -0
  124. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/cache/__init__.py +0 -0
  125. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/cache/two_tier_cache.py +0 -0
  126. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/dataset_dataset_splits.py +0 -0
  127. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/dataset_example_revisions.py +0 -0
  128. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/dataset_example_spans.py +0 -0
  129. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/dataset_example_splits.py +0 -0
  130. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/dataset_examples_and_versions_by_experiment_run.py +0 -0
  131. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/dataset_labels.py +0 -0
  132. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/document_evaluation_summaries.py +0 -0
  133. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/document_evaluations.py +0 -0
  134. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/document_retrieval_metrics.py +0 -0
  135. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/experiment_annotation_summaries.py +0 -0
  136. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/experiment_dataset_splits.py +0 -0
  137. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/experiment_error_rates.py +0 -0
  138. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/experiment_repeated_run_group_annotation_summaries.py +0 -0
  139. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/experiment_repeated_run_groups.py +0 -0
  140. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/experiment_run_annotations.py +0 -0
  141. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/experiment_run_counts.py +0 -0
  142. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/experiment_sequence_number.py +0 -0
  143. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/last_used_times_by_generative_model_id.py +0 -0
  144. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/latency_ms_quantile.py +0 -0
  145. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/min_start_or_max_end_times.py +0 -0
  146. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/num_child_spans.py +0 -0
  147. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/num_spans_per_trace.py +0 -0
  148. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/project_by_name.py +0 -0
  149. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/project_ids_by_trace_retention_policy_id.py +0 -0
  150. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/prompt_version_sequence_number.py +0 -0
  151. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/record_counts.py +0 -0
  152. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/session_annotations_by_session.py +0 -0
  153. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/session_io.py +0 -0
  154. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/session_num_traces.py +0 -0
  155. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/session_num_traces_with_error.py +0 -0
  156. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/session_token_usages.py +0 -0
  157. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/session_trace_latency_ms_quantile.py +0 -0
  158. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/span_annotations.py +0 -0
  159. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/span_by_id.py +0 -0
  160. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/span_cost_by_span.py +0 -0
  161. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/span_cost_detail_summary_entries_by_generative_model.py +0 -0
  162. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/span_cost_detail_summary_entries_by_project_session.py +0 -0
  163. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/span_cost_detail_summary_entries_by_span.py +0 -0
  164. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/span_cost_detail_summary_entries_by_trace.py +0 -0
  165. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/span_cost_details_by_span_cost.py +0 -0
  166. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/span_cost_summary_by_experiment.py +0 -0
  167. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/span_cost_summary_by_experiment_repeated_run_group.py +0 -0
  168. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/span_cost_summary_by_experiment_run.py +0 -0
  169. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/span_cost_summary_by_generative_model.py +0 -0
  170. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/span_cost_summary_by_project.py +0 -0
  171. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/span_cost_summary_by_project_session.py +0 -0
  172. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/span_cost_summary_by_trace.py +0 -0
  173. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/span_costs.py +0 -0
  174. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/span_dataset_examples.py +0 -0
  175. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/span_descendants.py +0 -0
  176. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/span_projects.py +0 -0
  177. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/table_fields.py +0 -0
  178. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/token_counts.py +0 -0
  179. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/trace_annotations_by_trace.py +0 -0
  180. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/trace_by_trace_ids.py +0 -0
  181. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/trace_retention_policy_id_by_project_id.py +0 -0
  182. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/trace_root_spans.py +0 -0
  183. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/types.py +0 -0
  184. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/user_roles.py +0 -0
  185. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/dataloaders/users.py +0 -0
  186. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/exceptions.py +0 -0
  187. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/helpers/__init__.py +0 -0
  188. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/helpers/annotations.py +0 -0
  189. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/helpers/dataset_helpers.py +0 -0
  190. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/helpers/experiment_run_filters.py +0 -0
  191. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/helpers/playground_clients.py +0 -0
  192. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/helpers/playground_registry.py +0 -0
  193. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/helpers/playground_spans.py +0 -0
  194. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/helpers/playground_users.py +0 -0
  195. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/helpers/prompts/__init__.py +0 -0
  196. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/helpers/prompts/conversions/__init__.py +0 -0
  197. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/helpers/prompts/conversions/anthropic.py +0 -0
  198. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/helpers/prompts/conversions/aws.py +0 -0
  199. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/helpers/prompts/conversions/openai.py +0 -0
  200. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/helpers/prompts/models.py +0 -0
  201. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/AddExamplesToDatasetInput.py +0 -0
  202. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/AddSpansToDatasetInput.py +0 -0
  203. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/AnnotationFilter.py +0 -0
  204. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/ChatCompletionInput.py +0 -0
  205. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/ChatCompletionMessageInput.py +0 -0
  206. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/ClearProjectInput.py +0 -0
  207. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/ClusterInput.py +0 -0
  208. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/Coordinates.py +0 -0
  209. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/CreateDatasetInput.py +0 -0
  210. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/CreateProjectInput.py +0 -0
  211. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/CreateProjectSessionAnnotationInput.py +0 -0
  212. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/CreateSpanAnnotationInput.py +0 -0
  213. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/CreateTraceAnnotationInput.py +0 -0
  214. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/DataQualityMetricInput.py +0 -0
  215. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/DatasetExampleInput.py +0 -0
  216. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/DatasetFilter.py +0 -0
  217. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/DatasetSort.py +0 -0
  218. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/DatasetVersionSort.py +0 -0
  219. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/DeleteAnnotationsInput.py +0 -0
  220. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/DeleteDatasetExamplesInput.py +0 -0
  221. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/DeleteDatasetInput.py +0 -0
  222. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/DeleteExperimentsInput.py +0 -0
  223. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/DimensionFilter.py +0 -0
  224. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/DimensionInput.py +0 -0
  225. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/ExperimentRunSort.py +0 -0
  226. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/GenerativeCredentialInput.py +0 -0
  227. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/GenerativeModelInput.py +0 -0
  228. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/Granularity.py +0 -0
  229. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/InvocationParameters.py +0 -0
  230. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/PatchAnnotationInput.py +0 -0
  231. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/PatchDatasetExamplesInput.py +0 -0
  232. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/PatchDatasetInput.py +0 -0
  233. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/PerformanceMetricInput.py +0 -0
  234. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/ProjectFilter.py +0 -0
  235. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/ProjectSessionSort.py +0 -0
  236. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/ProjectSort.py +0 -0
  237. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/PromptFilter.py +0 -0
  238. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/PromptTemplateOptions.py +0 -0
  239. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/PromptVersionInput.py +0 -0
  240. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/SpanAnnotationSort.py +0 -0
  241. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/SpanSort.py +0 -0
  242. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/TimeBinConfig.py +0 -0
  243. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/TimeRange.py +0 -0
  244. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/TraceAnnotationSort.py +0 -0
  245. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/UpdateAnnotationInput.py +0 -0
  246. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/UserRoleInput.py +0 -0
  247. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/input_types/__init__.py +0 -0
  248. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/interceptor.py +0 -0
  249. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/mutations/__init__.py +0 -0
  250. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/mutations/annotation_config_mutations.py +0 -0
  251. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/mutations/api_key_mutations.py +0 -0
  252. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/mutations/chat_mutations.py +0 -0
  253. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/mutations/dataset_label_mutations.py +0 -0
  254. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/mutations/dataset_mutations.py +0 -0
  255. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/mutations/dataset_split_mutations.py +0 -0
  256. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/mutations/experiment_mutations.py +0 -0
  257. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/mutations/export_events_mutations.py +0 -0
  258. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/mutations/model_mutations.py +0 -0
  259. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/mutations/project_mutations.py +0 -0
  260. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/mutations/project_session_annotations_mutations.py +0 -0
  261. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/mutations/project_trace_retention_policy_mutations.py +0 -0
  262. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/mutations/prompt_label_mutations.py +0 -0
  263. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/mutations/prompt_mutations.py +0 -0
  264. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/mutations/prompt_version_tag_mutations.py +0 -0
  265. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/mutations/span_annotations_mutations.py +0 -0
  266. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/mutations/trace_annotations_mutations.py +0 -0
  267. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/mutations/trace_mutations.py +0 -0
  268. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/mutations/user_mutations.py +0 -0
  269. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/openapi/__init__.py +0 -0
  270. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/openapi/main.py +0 -0
  271. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/openapi/schema.py +0 -0
  272. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/queries.py +0 -0
  273. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/__init__.py +0 -0
  274. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/auth.py +0 -0
  275. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/embeddings.py +0 -0
  276. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/oauth2.py +0 -0
  277. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/utils.py +0 -0
  278. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/v1/__init__.py +0 -0
  279. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/v1/annotation_configs.py +0 -0
  280. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/v1/annotations.py +0 -0
  281. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/v1/datasets.py +0 -0
  282. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/v1/documents.py +0 -0
  283. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/v1/evaluations.py +0 -0
  284. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/v1/experiment_evaluations.py +0 -0
  285. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/v1/experiment_runs.py +0 -0
  286. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/v1/experiments.py +0 -0
  287. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/v1/models.py +0 -0
  288. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/v1/projects.py +0 -0
  289. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/v1/prompts.py +0 -0
  290. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/v1/sessions.py +0 -0
  291. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/v1/spans.py +0 -0
  292. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/v1/traces.py +0 -0
  293. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/v1/users.py +0 -0
  294. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/routers/v1/utils.py +0 -0
  295. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/schema.py +0 -0
  296. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/subscriptions.py +0 -0
  297. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/Annotation.py +0 -0
  298. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/AnnotationConfig.py +0 -0
  299. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/AnnotationSource.py +0 -0
  300. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/AnnotationSummary.py +0 -0
  301. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/AnnotatorKind.py +0 -0
  302. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/ApiKey.py +0 -0
  303. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/AuthMethod.py +0 -0
  304. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/ChatCompletionMessageRole.py +0 -0
  305. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/ChatCompletionSubscriptionPayload.py +0 -0
  306. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/Cluster.py +0 -0
  307. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/CostBreakdown.py +0 -0
  308. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/CreateDatasetPayload.py +0 -0
  309. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/CronExpression.py +0 -0
  310. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/DataQualityMetric.py +0 -0
  311. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/Dataset.py +0 -0
  312. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/DatasetExample.py +0 -0
  313. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/DatasetExampleRevision.py +0 -0
  314. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/DatasetExperimentAnnotationSummary.py +0 -0
  315. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/DatasetLabel.py +0 -0
  316. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/DatasetSplit.py +0 -0
  317. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/DatasetValues.py +0 -0
  318. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/DatasetVersion.py +0 -0
  319. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/Dimension.py +0 -0
  320. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/DimensionDataType.py +0 -0
  321. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/DimensionShape.py +0 -0
  322. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/DimensionType.py +0 -0
  323. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/DimensionWithValue.py +0 -0
  324. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/DocumentAnnotation.py +0 -0
  325. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/DocumentEvaluationSummary.py +0 -0
  326. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/DocumentRetrievalMetrics.py +0 -0
  327. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/EmbeddingDimension.py +0 -0
  328. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/EmbeddingMetadata.py +0 -0
  329. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/EvaluationSummary.py +0 -0
  330. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/Event.py +0 -0
  331. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/EventMetadata.py +0 -0
  332. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/ExampleRevisionInterface.py +0 -0
  333. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/Experiment.py +0 -0
  334. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/ExperimentAnnotationSummary.py +0 -0
  335. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/ExperimentComparison.py +0 -0
  336. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/ExperimentRepeatedRunGroup.py +0 -0
  337. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/ExperimentRepeatedRunGroupAnnotationSummary.py +0 -0
  338. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/ExperimentRun.py +0 -0
  339. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/ExperimentRunAnnotation.py +0 -0
  340. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/ExportedFile.py +0 -0
  341. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/Functionality.py +0 -0
  342. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/GenerativeModel.py +0 -0
  343. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/GenerativeProvider.py +0 -0
  344. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/Identifier.py +0 -0
  345. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/InferenceModel.py +0 -0
  346. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/Inferences.py +0 -0
  347. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/InferencesRole.py +0 -0
  348. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/LabelFraction.py +0 -0
  349. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/MimeType.py +0 -0
  350. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/ModelInterface.py +0 -0
  351. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/NumericRange.py +0 -0
  352. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/PerformanceMetric.py +0 -0
  353. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/PlaygroundModel.py +0 -0
  354. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/Project.py +0 -0
  355. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/ProjectSession.py +0 -0
  356. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/ProjectSessionAnnotation.py +0 -0
  357. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/ProjectTraceRetentionPolicy.py +0 -0
  358. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/Prompt.py +0 -0
  359. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/PromptLabel.py +0 -0
  360. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/PromptResponse.py +0 -0
  361. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/PromptVersion.py +0 -0
  362. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/PromptVersionTag.py +0 -0
  363. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/PromptVersionTemplate.py +0 -0
  364. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/ResponseFormat.py +0 -0
  365. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/Retrieval.py +0 -0
  366. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/ScalarDriftMetricEnum.py +0 -0
  367. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/Segments.py +0 -0
  368. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/ServerStatus.py +0 -0
  369. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/SortDir.py +0 -0
  370. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/Span.py +0 -0
  371. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/SpanAnnotation.py +0 -0
  372. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/SpanCostDetailSummaryEntry.py +0 -0
  373. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/SpanCostSummary.py +0 -0
  374. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/SpanIOValue.py +0 -0
  375. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/SystemApiKey.py +0 -0
  376. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/TimeSeries.py +0 -0
  377. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/TokenCountPromptDetails.py +0 -0
  378. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/TokenPrice.py +0 -0
  379. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/TokenUsage.py +0 -0
  380. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/ToolDefinition.py +0 -0
  381. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/Trace.py +0 -0
  382. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/TraceAnnotation.py +0 -0
  383. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/UMAPPoints.py +0 -0
  384. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/User.py +0 -0
  385. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/UserApiKey.py +0 -0
  386. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/UserRole.py +0 -0
  387. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/ValidationResult.py +0 -0
  388. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/VectorDriftMetricEnum.py +0 -0
  389. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/__init__.py +0 -0
  390. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/node.py +0 -0
  391. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/types/pagination.py +0 -0
  392. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/api/utils.py +0 -0
  393. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/app.py +0 -0
  394. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/authorization.py +0 -0
  395. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/bearer_auth.py +0 -0
  396. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/cost_tracking/__init__.py +0 -0
  397. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/cost_tracking/cost_details_calculator.py +0 -0
  398. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/cost_tracking/cost_model_lookup.py +0 -0
  399. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/cost_tracking/helpers.py +0 -0
  400. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/cost_tracking/model_cost_manifest.json +0 -0
  401. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/cost_tracking/regex_specificity.py +0 -0
  402. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/cost_tracking/token_cost_calculator.py +0 -0
  403. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/daemons/__init__.py +0 -0
  404. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/daemons/db_disk_usage_monitor.py +0 -0
  405. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/daemons/generative_model_store.py +0 -0
  406. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/daemons/span_cost_calculator.py +0 -0
  407. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/dml_event.py +0 -0
  408. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/dml_event_handler.py +0 -0
  409. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/email/__init__.py +0 -0
  410. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/email/sender.py +0 -0
  411. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/email/templates/__init__.py +0 -0
  412. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/email/templates/db_disk_usage_notification.html +0 -0
  413. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/email/templates/password_reset.html +0 -0
  414. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/email/templates/welcome.html +0 -0
  415. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/email/types.py +0 -0
  416. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/experiments/__init__.py +0 -0
  417. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/experiments/utils.py +0 -0
  418. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/grpc_server.py +0 -0
  419. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/jwt_store.py +0 -0
  420. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/main.py +0 -0
  421. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/middleware/__init__.py +0 -0
  422. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/middleware/gzip.py +0 -0
  423. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/oauth2.py +0 -0
  424. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/openapi/__init__.py +0 -0
  425. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/prometheus.py +0 -0
  426. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/rate_limiters.py +0 -0
  427. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/retention.py +0 -0
  428. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/session_filters.py +0 -0
  429. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/static/apple-touch-icon-114x114.png +0 -0
  430. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/static/apple-touch-icon-120x120.png +0 -0
  431. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/static/apple-touch-icon-144x144.png +0 -0
  432. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/static/apple-touch-icon-152x152.png +0 -0
  433. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/static/apple-touch-icon-180x180.png +0 -0
  434. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/static/apple-touch-icon-72x72.png +0 -0
  435. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/static/apple-touch-icon-76x76.png +0 -0
  436. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/static/apple-touch-icon.png +0 -0
  437. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/static/assets/vendor-3BvTzoBp.js +0 -0
  438. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/static/assets/vendor-BGzfc4EU.css +0 -0
  439. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/static/assets/vendor-arizeai-C6_oC0y8.js +0 -0
  440. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/static/assets/vendor-codemirror-DPnZGAZA.js +0 -0
  441. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/static/assets/vendor-recharts-CjgSbsB0.js +0 -0
  442. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/static/assets/vendor-shiki-CJyhDG0E.js +0 -0
  443. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/static/assets/vendor-three-BtCyLs1w.js +0 -0
  444. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/static/favicon.ico +0 -0
  445. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/static/modernizr.js +0 -0
  446. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/telemetry.py +0 -0
  447. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/templates/__init__.py +0 -0
  448. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/templates/index.html +0 -0
  449. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/thread_server.py +0 -0
  450. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/types.py +0 -0
  451. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/server/utils.py +0 -0
  452. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/services.py +0 -0
  453. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/session/__init__.py +0 -0
  454. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/session/client.py +0 -0
  455. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/session/data_extractor.py +0 -0
  456. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/session/evaluation.py +0 -0
  457. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/session/session.py +0 -0
  458. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/settings.py +0 -0
  459. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/__init__.py +0 -0
  460. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/attributes.py +0 -0
  461. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/dsl/README.md +0 -0
  462. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/dsl/__init__.py +0 -0
  463. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/dsl/filter.py +0 -0
  464. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/dsl/helpers.py +0 -0
  465. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/dsl/query.py +0 -0
  466. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/errors.py +0 -0
  467. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/evaluation_conventions.py +0 -0
  468. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/exporter.py +0 -0
  469. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/fixtures.py +0 -0
  470. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/otel.py +0 -0
  471. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/projects.py +0 -0
  472. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/schemas.py +0 -0
  473. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/span_evaluations.py +0 -0
  474. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/span_json_decoder.py +0 -0
  475. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/span_json_encoder.py +0 -0
  476. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/trace_dataset.py +0 -0
  477. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/utils.py +0 -0
  478. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/v1/__init__.py +0 -0
  479. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/v1/evaluation_pb2.py +0 -0
  480. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/trace/v1/evaluation_pb2.pyi +0 -0
  481. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/utilities/__init__.py +0 -0
  482. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/utilities/client.py +0 -0
  483. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/utilities/error_handling.py +0 -0
  484. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/utilities/json.py +0 -0
  485. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/utilities/logging.py +0 -0
  486. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/utilities/project.py +0 -0
  487. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/utilities/re.py +0 -0
  488. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/src/phoenix/utilities/span_store.py +0 -0
  489. {arize_phoenix-12.7.0 → arize_phoenix-12.7.1}/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: 12.7.0
3
+ Version: 12.7.1
4
4
  Summary: AI Observability and Evaluation
5
5
  Project-URL: Documentation, https://arize.com/docs/phoenix/
6
6
  Project-URL: Issues, https://github.com/Arize-ai/phoenix/issues
@@ -1,21 +1,21 @@
1
1
  {
2
- "_components-X_GtZhnz.js": {
3
- "file": "assets/components-X_GtZhnz.js",
2
+ "_components-BLK5vehh.js": {
3
+ "file": "assets/components-BLK5vehh.js",
4
4
  "name": "components",
5
5
  "imports": [
6
6
  "_vendor-3BvTzoBp.js",
7
- "_pages-Dl8TWyNq.js",
7
+ "_pages-DIVgyYyy.js",
8
8
  "_vendor-arizeai-C6_oC0y8.js",
9
9
  "_vendor-codemirror-DPnZGAZA.js",
10
10
  "_vendor-three-BtCyLs1w.js"
11
11
  ]
12
12
  },
13
- "_pages-Dl8TWyNq.js": {
14
- "file": "assets/pages-Dl8TWyNq.js",
13
+ "_pages-DIVgyYyy.js": {
14
+ "file": "assets/pages-DIVgyYyy.js",
15
15
  "name": "pages",
16
16
  "imports": [
17
17
  "_vendor-3BvTzoBp.js",
18
- "_components-X_GtZhnz.js",
18
+ "_components-BLK5vehh.js",
19
19
  "_vendor-arizeai-C6_oC0y8.js",
20
20
  "_vendor-codemirror-DPnZGAZA.js",
21
21
  "_vendor-recharts-CjgSbsB0.js"
@@ -75,15 +75,15 @@
75
75
  "name": "vendor-three"
76
76
  },
77
77
  "index.tsx": {
78
- "file": "assets/index-BCtFqQdo.js",
78
+ "file": "assets/index-BP0Shd90.js",
79
79
  "name": "index",
80
80
  "src": "index.tsx",
81
81
  "isEntry": true,
82
82
  "imports": [
83
83
  "_vendor-3BvTzoBp.js",
84
84
  "_vendor-arizeai-C6_oC0y8.js",
85
- "_pages-Dl8TWyNq.js",
86
- "_components-X_GtZhnz.js",
85
+ "_pages-DIVgyYyy.js",
86
+ "_components-BLK5vehh.js",
87
87
  "_vendor-three-BtCyLs1w.js",
88
88
  "_vendor-codemirror-DPnZGAZA.js",
89
89
  "_vendor-shiki-CJyhDG0E.js",
@@ -1,4 +1,4 @@
1
- import{r as m,j as e,u as Vt,a as vn,e as ma,s as Wa,b as qa,c as Bn,d as ht,f as x1,g as rn,h as w1,i as T1,k as ft,$ as I1,l as z1,m as An,p as wa,n as Jn,R as pn,o as A,q as Pt,t as Hn,v as A1,C as ba,w as F1,x as M1,L as hi,y as fi,z as bi,A as Qe,B as hn,D as te,E as D1,F as Ln,G as E1,H as K1,I as Ye,J as dn,K as X,M as _1,N as pe,O as Fn,P as Un,Q as yi,S as Pn,T as Ta,U as p,V as s,W as vi,X as H,Y as Ci,Z as O,_ as ki,a0 as Li,a1 as V1,a2 as Ve,a3 as P1,a4 as R1,a5 as fn,a6 as N1,a7 as B,a8 as Be,a9 as P,aa as G,ab as ee,ac as Si,ad as xi,ae as O1,af as wi,ag as $1,ah as Ti,ai as B1,aj as H1,ak as Ii,al as j1,am as Z1,an as U1,ao as zi,ap as G1,aq as Rt,ar as Q1,as as De,at as Ai,au as Ce,av as W1,aw as q1,ax as Pe,ay as bt,az as yt,aA as vt,aB as j,aC as en,aD as Tl,aE as Fi,aF as Mi,aG as X1,aH as Y1,aI as J1,aJ as es,aK as ns,aL as as,aM as Di,aN as ts,aO as ls,aP as is,aQ as rs,aR as os,aS as ss,aT as cs,aU as ds,aV as us,aW as Nt,aX as re,aY as gs,aZ as ms,a_ as Ei,a$ as ps,b0 as hs,b1 as fs,b2 as bs,b3 as ys,b4 as vs,b5 as Cs,b6 as ks,b7 as Ue,b8 as Ki,b9 as Il,ba as Ls,bb as _i,bc as fe,bd as Ss,be as ea,bf as xs,bg as zl,bh as ws,bi as Ts,bj as Is,bk as Mn,bl as zs,bm as As,bn as Fs,bo as Ms,bp as ne,bq as Ds,br as Ot,bs as Gn,bt as $t,bu as Vi,bv as Es,bw as Ks,bx as Ia,by as _s,bz as Vs,bA as Ps,bB as Rs,bC as Ns,bD as Pi,bE as Ct,bF as Os,bG as $s,bH as Bs,bI as Hs,bJ as js,bK as Al,bL as Zs,bM as Xa,bN as Us,bO as Gs,bP as Qs,bQ as Ws,bR as qs,bS as Xs,bT as Ys,bU as Js,bV as ec,bW as nc}from"./vendor-3BvTzoBp.js";import{a as Fl,R as ac,b as tc,c as lc,m as ic,T as rc,d as oc,A as sc,S as Ri,e as cc,f as dc,g as uc,u as gc}from"./pages-Dl8TWyNq.js";import{_ as mc,F as Ni,a as pc,T as hc}from"./vendor-arizeai-C6_oC0y8.js";import{L as Oi,a as $i,j as Bi,E as Bt,k as Hi,d as ji,l as kt,b as fc,c as bc,e as yc,h as vc,f as Cc,s as kc,g as na,i as aa,R as ta,m as Zi,n as Lc,p as Sc,o as xc}from"./vendor-codemirror-DPnZGAZA.js";import{V as wc}from"./vendor-three-BtCyLs1w.js";const Ui=(function(){var n={defaultValue:null,kind:"LocalArgument",name:"clusters"},a={defaultValue:null,kind:"LocalArgument",name:"dataQualityMetricColumnName"},t={defaultValue:null,kind:"LocalArgument",name:"fetchDataQualityMetric"},l={defaultValue:null,kind:"LocalArgument",name:"fetchPerformanceMetric"},i={defaultValue:null,kind:"LocalArgument",name:"performanceMetric"},r=[{alias:null,args:null,kind:"ScalarField",name:"primaryValue",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"referenceValue",storageKey:null}],o=[{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:r,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:r,storageKey:null}]}],storageKey:null}];return{fragment:{argumentDefinitions:[n,a,t,l,i],kind:"Fragment",metadata:null,name:"pointCloudStore_clusterMetricsQuery",selections:o,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[n,t,a,l,i],kind:"Operation",name:"pointCloudStore_clusterMetricsQuery",selections:o},params:{cacheID:"86666967012812887ac0a0149d2d2535",id:null,metadata:{},name:"pointCloudStore_clusterMetricsQuery",operationKind:"query",text:`query pointCloudStore_clusterMetricsQuery(
1
+ import{r as m,j as e,u as Vt,a as vn,e as ma,s as Wa,b as qa,c as Bn,d as ht,f as x1,g as rn,h as w1,i as T1,k as ft,$ as I1,l as z1,m as An,p as wa,n as Jn,R as pn,o as A,q as Pt,t as Hn,v as A1,C as ba,w as F1,x as M1,L as hi,y as fi,z as bi,A as Qe,B as hn,D as te,E as D1,F as Ln,G as E1,H as K1,I as Ye,J as dn,K as X,M as _1,N as pe,O as Fn,P as Un,Q as yi,S as Pn,T as Ta,U as p,V as s,W as vi,X as H,Y as Ci,Z as O,_ as ki,a0 as Li,a1 as V1,a2 as Ve,a3 as P1,a4 as R1,a5 as fn,a6 as N1,a7 as B,a8 as Be,a9 as P,aa as G,ab as ee,ac as Si,ad as xi,ae as O1,af as wi,ag as $1,ah as Ti,ai as B1,aj as H1,ak as Ii,al as j1,am as Z1,an as U1,ao as zi,ap as G1,aq as Rt,ar as Q1,as as De,at as Ai,au as Ce,av as W1,aw as q1,ax as Pe,ay as bt,az as yt,aA as vt,aB as j,aC as en,aD as Tl,aE as Fi,aF as Mi,aG as X1,aH as Y1,aI as J1,aJ as es,aK as ns,aL as as,aM as Di,aN as ts,aO as ls,aP as is,aQ as rs,aR as os,aS as ss,aT as cs,aU as ds,aV as us,aW as Nt,aX as re,aY as gs,aZ as ms,a_ as Ei,a$ as ps,b0 as hs,b1 as fs,b2 as bs,b3 as ys,b4 as vs,b5 as Cs,b6 as ks,b7 as Ue,b8 as Ki,b9 as Il,ba as Ls,bb as _i,bc as fe,bd as Ss,be as ea,bf as xs,bg as zl,bh as ws,bi as Ts,bj as Is,bk as Mn,bl as zs,bm as As,bn as Fs,bo as Ms,bp as ne,bq as Ds,br as Ot,bs as Gn,bt as $t,bu as Vi,bv as Es,bw as Ks,bx as Ia,by as _s,bz as Vs,bA as Ps,bB as Rs,bC as Ns,bD as Pi,bE as Ct,bF as Os,bG as $s,bH as Bs,bI as Hs,bJ as js,bK as Al,bL as Zs,bM as Xa,bN as Us,bO as Gs,bP as Qs,bQ as Ws,bR as qs,bS as Xs,bT as Ys,bU as Js,bV as ec,bW as nc}from"./vendor-3BvTzoBp.js";import{a as Fl,R as ac,b as tc,c as lc,m as ic,T as rc,d as oc,A as sc,S as Ri,e as cc,f as dc,g as uc,u as gc}from"./pages-DIVgyYyy.js";import{_ as mc,F as Ni,a as pc,T as hc}from"./vendor-arizeai-C6_oC0y8.js";import{L as Oi,a as $i,j as Bi,E as Bt,k as Hi,d as ji,l as kt,b as fc,c as bc,e as yc,h as vc,f as Cc,s as kc,g as na,i as aa,R as ta,m as Zi,n as Lc,p as Sc,o as xc}from"./vendor-codemirror-DPnZGAZA.js";import{V as wc}from"./vendor-three-BtCyLs1w.js";const Ui=(function(){var n={defaultValue:null,kind:"LocalArgument",name:"clusters"},a={defaultValue:null,kind:"LocalArgument",name:"dataQualityMetricColumnName"},t={defaultValue:null,kind:"LocalArgument",name:"fetchDataQualityMetric"},l={defaultValue:null,kind:"LocalArgument",name:"fetchPerformanceMetric"},i={defaultValue:null,kind:"LocalArgument",name:"performanceMetric"},r=[{alias:null,args:null,kind:"ScalarField",name:"primaryValue",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"referenceValue",storageKey:null}],o=[{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:r,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:r,storageKey:null}]}],storageKey:null}];return{fragment:{argumentDefinitions:[n,a,t,l,i],kind:"Fragment",metadata:null,name:"pointCloudStore_clusterMetricsQuery",selections:o,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[n,t,a,l,i],kind:"Operation",name:"pointCloudStore_clusterMetricsQuery",selections:o},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
@@ -175,7 +175,7 @@ fragment ViewerContext_viewer on Query {
175
175
  ...APIKeysTableFragment
176
176
  }
177
177
  }
178
- `}}})();tr.hash="d85505e5f9dffd2a1c791f8e0007ab61";const lr={argumentDefinitions:[],kind:"Fragment",metadata:{refetch:{connection:null,fragmentPathInResult:[],operation:tr}},name:"ViewerContext_viewer",selections:[{alias:null,args:null,concreteType:"User",kind:"LinkedField",name:"viewer",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"username",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"email",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"profilePictureUrl",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"isManagementUser",storageKey:null},{alias:null,args:null,concreteType:"UserRole",kind:"LinkedField",name:"role",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null}],storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"authMethod",storageKey:null},{args:null,kind:"FragmentSpread",name:"APIKeysTableFragment"}],storageKey:null}],type:"Query",abstractKey:null};lr.hash="d85505e5f9dffd2a1c791f8e0007ab61";const ir=pn.createContext({viewer:null,refetchViewer:()=>{}});function Dn(){const n=pn.useContext(ir);if(n==null)throw new Error("useViewer must be used within a ViewerProvider");return n}function Hc(){var a;const{viewer:n}=Dn();return!(n&&((a=n==null?void 0:n.role)==null?void 0:a.name)!=="ADMIN")}function j8({query:n,children:a}){const[t,l]=A.useRefetchableFragment(lr,n),i=()=>{m.startTransition(()=>{l({},{fetchPolicy:"network-only"})})};return e(ir.Provider,{value:{viewer:t.viewer,refetchViewer:i},children:a})}function jc(n){return n.endsWith("/")?n.slice(0,-1):n}const Zc=jc(window.Config.basename),En=`${window.location.protocol}//${window.location.host}${Zc}`,Z8=window.Config.platformVersion,Qn="returnUrl";function Kl(n,a){const t=new URL(n,window.location.origin);return a.forEach((l,i)=>{t.searchParams.append(i,l)}),t.pathname+t.search}function rr(){const n=window.Config.basename,a=n==null||n===""||n==="/",t=n!=null&&n.startsWith("/")&&!n.endsWith("/");if(!(a||t))throw new Error(`Invalid basename: ${n}`);const l=window.location.pathname,i=window.location.origin,r=new URLSearchParams(window.location.search);if(a){const o=new URL("/login",i);return o.searchParams.set(Qn,Kl(l,r)),o.pathname+o.search}if(l.startsWith(n)){const o=l.slice(n.length);if(o===""||o.startsWith("/")){const d=new URL(n+"/login",i);return d.searchParams.set(Qn,Kl(o,r)),d.pathname+d.search}}return n+"/login"}function Uc(n){const a=window.Config.basename,t=a==null||a===""||a==="/",l=a!=null&&a.startsWith("/")&&!a.endsWith("/");if(!(t||l))throw new Error(`Invalid basename: ${a}`);return t?n:a+n}const U8=({path:n,searchParams:a})=>{const l=new URL(window.location.href).searchParams.get(Qn),i=new URLSearchParams(a||{});l&&i.set(Qn,l);const r=i.toString();return`${n}${r?`?${r}`:""}`},Gc=n=>!(typeof n!="string"||!n.startsWith("/")||n.replace(/\\/g,"/").startsWith("//")),Qc=n=>Gc(n)?n:"/",G8=()=>{const n=new URL(window.location.href);return Qc(n.searchParams.get(Qn))},Wc=En+"/auth/refresh";class _l extends Error{constructor(){super("Unauthorized")}}async function qc(n,a){try{return await fetch(n,a).then(t=>{if(t.status===401)throw new _l;return t})}catch(t){if(t instanceof _l){const l=await Xc();return Pt(l.ok,`Failed to authenticate. Please visit ${rr()} to login.`),fetch(n,a)}if(t instanceof Error&&t.name==="AbortError")throw t}throw new Error("An unexpected error occurred while fetching data")}let Rn=null;async function Xc(){return Rn||(Rn=fetch(Wc,{method:"POST"}).then(n=>n.ok?(Rn=null,Promise.resolve(n)):(window.location.href=rr(),new Promise(()=>{}))),Rn)}const or=En+"/graphql",Yc=window.Config.authenticationEnabled,sr=Yc?qc:fetch;function Jc(n,a,t){return Hn.Observable.create(l=>{const i=new AbortController;return sr(n,{...a,signal:i.signal}).then(r=>(Pt(r instanceof Response),r.json())).then(r=>{const o=t==null?void 0:t(r);if(o)throw o;l.next(r),l.complete()}).catch(r=>{r.name==="AbortError"?l.complete():l.error(r)}),()=>{i.abort()}})}const ed=(n,a,t)=>Jc(or,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:n.text,variables:a})},l=>{if(!(!ve(l)||!("errors"in l))&&Array.isArray(l.errors))return new Error(`Error fetching GraphQL query '${n.name}' with variables '${JSON.stringify(a)}': ${JSON.stringify(l.errors)}`)}),nd=A1(or,{fetch:sr}),la=new Hn.Environment({network:Hn.Network.create(ed,nd),store:new Hn.Store(new Hn.RecordSource,{gcReleaseBufferSize:20})});function cr(n){return n.includes("PRIMARY")?Ae.primary:n.includes("CORPUS")?Ae.corpus:Ae.reference}function Qt(n){const a=[],t=[],l=[];return n.forEach(i=>{const r=cr(i);r==Ae.primary?a.push(i):r==Ae.corpus?l.push(i):t.push(i)}),{primaryEventIds:a,referenceEventIds:t,corpusEventIds:l}}const ya=10,jn="unknown",dr=M1,ur=F1,ad=n=>ur[n],td=n=>dr(n/ya);var In=(n=>(n.move="move",n.select="select",n))(In||{}),Wt=(n=>(n.default="default",n.highlight="highlight",n))(Wt||{});const kn=()=>Ji()==="light"?Kc:Ec;function Q8(){const n=kn();return{coloringStrategy:Q.inferences,pointGroupVisibility:{[J.primary]:!0,[J.reference]:!0},pointGroupColors:{[J.primary]:n[0],[J.reference]:n[1],[J.corpus]:qe},metric:{type:"drift",metric:"euclideanDistance"}}}function W8(){const n=kn();return{coloringStrategy:Q.inferences,pointGroupVisibility:{[J.primary]:!0,[J.corpus]:!0},pointGroupColors:{[J.primary]:n[0],[J.corpus]:qe},metric:{type:"retrieval",metric:"queryDistance"},clusterSort:{dir:"desc",column:"primaryMetricValue"}}}function q8(){return{coloringStrategy:Q.correctness,pointGroupVisibility:{[me.correct]:!0,[me.incorrect]:!0,[me.unknown]:!0},pointGroupColors:{[me.correct]:ba.Discrete2.LightBlueOrange[0],[me.incorrect]:ba.Discrete2.LightBlueOrange[1],[me.unknown]:Cn},metric:{type:"performance",metric:"accuracyScore"},clusterSort:{dir:"asc",column:"primaryMetricValue"}}}const ld=n=>{const a={loading:!1,errorMessage:null,points:[],eventIdToDataMap:new Map,clusters:[],clusterSort:{dir:"desc",column:"driftRatio"},pointData:null,selectedEventIds:new Set,hoveredEventId:null,highlightedClusterId:null,selectedClusterId:null,canvasMode:"move",pointSizeScale:1,clusterColorMode:"default",coloringStrategy:Q.inferences,inferencesVisibility:{primary:!0,reference:!0,corpus:!0},pointGroupVisibility:{[J.primary]:!0,[J.reference]:!0,[J.corpus]:!0},pointGroupColors:{[J.primary]:kn()[0],[J.reference]:kn()[1],[J.corpus]:qe},eventIdToGroup:{},selectionDisplay:Tn.gallery,selectionGridSize:Sn.large,dimension:null,dimensionMetadata:null,umapParameters:{minDist:Ic,nNeighbors:Tc,nSamples:zc},hdbscanParameters:{minClusterSize:Ac,clusterMinSamples:Mc,clusterSelectionEpsilon:Dc},clustersLoading:!1,metric:{type:"drift",metric:"euclideanDistance"},selectionSearchText:""},t=(l,i)=>({...a,...n,setInitialData:async({points:r,clusters:o,retrievals:c})=>{const d=i(),u=new Map,g=c.reduce((b,y)=>{const{queryId:v}=y;return b[v]?b[v].push(y):b[v]=[y],b},{});r.forEach(b=>{b={...b,retrievals:g[b.eventId]??[]},u.set(b.eventId,b)});const h=o.map(Pl).sort(tt(d.clusterSort));l({loading:!1,points:r,eventIdToDataMap:u,clusters:h,clustersLoading:!1,selectedEventIds:new Set,selectedClusterId:null,pointData:null,eventIdToGroup:ln({points:r,coloringStrategy:d.coloringStrategy,pointsData:d.pointData??{},dimension:d.dimension||null,dimensionMetadata:d.dimensionMetadata})});const f=await od(r.map(b=>b.eventId)).catch(()=>l({errorMessage:"Failed to load the point events"}));f&&l({pointData:f,clusters:h,clustersLoading:!1,eventIdToGroup:ln({points:r,coloringStrategy:d.coloringStrategy,pointsData:f??{},dimension:d.dimension||null,dimensionMetadata:d.dimensionMetadata})})},setClusters:r=>{const o=i(),c=r.map(Pl).sort(tt(o.clusterSort));l({clusters:c,clustersLoading:!1,selectedClusterId:null,highlightedClusterId:null})},setClusterSort:r=>{const c=[...i().clusters].sort(tt(r));l({clusterSort:r,clusters:c})},setSelectedEventIds:r=>l({selectedEventIds:r,selectionSearchText:""}),setHoveredEventId:r=>l({hoveredEventId:r}),setHighlightedClusterId:r=>l({highlightedClusterId:r}),setSelectedClusterId:r=>l({selectedClusterId:r,highlightedClusterId:null}),setPointSizeScale:r=>l({pointSizeScale:r}),setCanvasMode:r=>l({canvasMode:r}),setClusterColorMode:r=>l({clusterColorMode:r}),setColoringStrategy:r=>{const o=i();switch(l({coloringStrategy:r}),r){case Q.correctness:l({pointGroupVisibility:{[me.correct]:!0,[me.incorrect]:!0,[me.unknown]:!0},pointGroupColors:{[me.correct]:ba.Discrete2.LightBlueOrange[0],[me.incorrect]:ba.Discrete2.LightBlueOrange[1],[me.unknown]:Cn},dimension:null,dimensionMetadata:null,eventIdToGroup:ln({points:o.points,coloringStrategy:r,pointsData:o.pointData??{},dimension:o.dimension||null,dimensionMetadata:o.dimensionMetadata})});break;case Q.inferences:{l({pointGroupVisibility:{[J.primary]:!0,[J.reference]:!0,[J.corpus]:!0},pointGroupColors:{[J.primary]:kn()[0],[J.reference]:kn()[1],[J.corpus]:qe},dimension:null,dimensionMetadata:null,eventIdToGroup:ln({points:o.points,coloringStrategy:r,pointsData:o.pointData??{},dimension:o.dimension||null,dimensionMetadata:o.dimensionMetadata})});break}case Q.dimension:{l({pointGroupVisibility:{unknown:!0},pointGroupColors:{unknown:Cn},dimension:null,dimensionMetadata:null,eventIdToGroup:ln({points:o.points,coloringStrategy:r,pointsData:o.pointData??{},dimension:o.dimension||null,dimensionMetadata:o.dimensionMetadata})});break}default:N()}},inferencesVisibility:{primary:!0,reference:!0,corpus:!0},setInferencesVisibility:r=>l({inferencesVisibility:r}),setPointGroupVisibility:r=>l({pointGroupVisibility:r}),selectionDisplay:Tn.gallery,setSelectionDisplay:r=>l({selectionDisplay:r}),setSelectionGridSize:r=>l({selectionGridSize:r}),reset:()=>{l({points:[],clusters:[],selectedEventIds:new Set,selectedClusterId:null,eventIdToGroup:{}})},setDimension:async r=>{const o=i();l({dimension:r,dimensionMetadata:null});const c=await rd(r).catch(()=>l({errorMessage:"Failed to load the dimension metadata"}));if(c){if(l({dimensionMetadata:c}),c.categories&&c.categories.length){const d=c.categories.length,g=d<=ur.length?ad:h=>dr(h/d);l({pointGroupVisibility:{...c.categories.reduce((h,f)=>({...h,[f]:!0}),{}),unknown:!0},pointGroupColors:{...c.categories.reduce((h,f,b)=>({...h,[f]:g(b)}),{}),unknown:Cn},eventIdToGroup:ln({points:o.points,coloringStrategy:o.coloringStrategy,pointsData:o.pointData??{},dimension:r,dimensionMetadata:c})})}else if(c.interval!==null){const d=gr(c.interval);l({pointGroupVisibility:{...d.reduce((u,g)=>({...u,[g.name]:!0}),{}),unknown:!0},pointGroupColors:{...d.reduce((u,g,h)=>({...u,[g.name]:td(h)}),{}),unknown:Cn},eventIdToGroup:ln({points:o.points,coloringStrategy:o.coloringStrategy,pointsData:o.pointData??{},dimension:r,dimensionMetadata:c})})}}},setDimensionMetadata:r=>l({dimensionMetadata:r}),setUMAPParameters:r=>l({umapParameters:r}),setHDBSCANParameters:async r=>{const o=i();l({hdbscanParameters:r,clustersLoading:!0});const c=await sd({metric:o.metric,points:o.points,hdbscanParameters:r});o.setClusters(c)},getHDSCANParameters:()=>i().hdbscanParameters,getMetric:()=>i().metric,setErrorMessage:r=>l({errorMessage:r}),setLoading:r=>l({loading:r}),setMetric:async r=>{const o=i();l({metric:r,clustersLoading:!0});const c=await cd({metric:r,clusters:o.clusters,hdbscanParameters:o.hdbscanParameters});o.setClusters(c)},setSelectionSearchText:r=>l({selectionSearchText:r})});return An()(Jn(t))},Vl=new Intl.NumberFormat([],{maximumFractionDigits:2});function id({min:n,max:a}){return`${Vl.format(n)} - ${Vl.format(a)}`}function gr({min:n,max:a}){const l=(a-n)/ya,i=[];for(let r=0;r<ya;r++){const o=n+r*l,c=n+(r+1)*l;i.push({min:o,max:c,name:id({min:o,max:c})})}return i}function at({numericGroupIntervals:n,numericValue:a}){let t=jn,l=n.findIndex(i=>a>=i.min&&a<i.max);return l=l===-1?ya-1:l,t=n[l].name,t}function ln(n){const{points:a,coloringStrategy:t,pointsData:l,dimension:i,dimensionMetadata:r}=n,o={},c=a.map(d=>d.eventId);switch(t){case Q.inferences:{const{primaryEventIds:d,referenceEventIds:u,corpusEventIds:g}=Qt(c);d.forEach(h=>{o[h]=J.primary}),u.forEach(h=>{o[h]=J.reference}),g.forEach(h=>{o[h]=J.corpus});break}case Q.correctness:{a.forEach(d=>{let u=me.unknown;const{predictionLabel:g,actualLabel:h}=d.eventMetadata;g!==null&&h!==null&&(u=g===h?me.correct:me.incorrect),o[d.eventId]=u});break}case Q.dimension:{let d;r&&(r==null?void 0:r.interval)!==null&&(d=gr(r.interval));const u=(i==null?void 0:i.type)==="prediction"&&(i==null?void 0:i.dataType)==="categorical",g=(i==null?void 0:i.type)==="prediction"&&(i==null?void 0:i.dataType)==="numeric",h=(i==null?void 0:i.type)==="actual"&&(i==null?void 0:i.dataType)==="categorical",f=(i==null?void 0:i.type)==="actual"&&(i==null?void 0:i.dataType)==="numeric";a.forEach(b=>{let y=jn;const v=l[b.eventId];if(i!=null&&v!=null)if(u)y=v.eventMetadata.predictionLabel??jn;else if(g){if(d==null)throw new Error("Cannot color by prediction score without numeric group intervals");const L=v.eventMetadata.predictionScore;typeof L=="number"&&(y=at({numericGroupIntervals:d,numericValue:L}))}else if(f){if(d==null)throw new Error("Cannot color by actual score without numeric group intervals");const L=v.eventMetadata.actualScore;typeof L=="number"&&(y=at({numericGroupIntervals:d,numericValue:L}))}else if(h)y=v.eventMetadata.actualLabel??jn;else{const L=v.dimensions.find(w=>w.dimension.name===i.name);if(L!=null&&i.dataType==="categorical")y=L.value??jn;else if(L!=null&&i.dataType==="numeric"&&d!=null){const w=typeof(L==null?void 0:L.value)=="string"?parseFloat(L.value):null;typeof w=="number"&&(y=at({numericGroupIntervals:d,numericValue:w}))}}o[b.eventId]=y});break}default:N()}return o}async function rd(n){const a=await A.fetchQuery(la,Wi,{id:n.id,getDimensionMinMax:n.dataType==="numeric",getDimensionCategories:n.dataType==="categorical"}).toPromise(),t=a==null?void 0:a.dimension;if(!n)throw new Error("Dimension not found");let l=null;return typeof(t==null?void 0:t.min)=="number"&&typeof(t==null?void 0:t.max)=="number"&&(l={min:t.min,max:t.max}),{interval:l,categories:(t==null?void 0:t.categories)??null}}async function od(n){var u,g,h,f,b,y;const{primaryEventIds:a,referenceEventIds:t,corpusEventIds:l}=Qt([...n]),i=await A.fetchQuery(la,Qi,{primaryEventIds:a,referenceEventIds:t,corpusEventIds:l}).toPromise(),r=((g=(u=i==null?void 0:i.model)==null?void 0:u.primaryInferences)==null?void 0:g.events)??[],o=((f=(h=i==null?void 0:i.model)==null?void 0:h.referenceInferences)==null?void 0:f.events)??[],c=((y=(b=i==null?void 0:i.model)==null?void 0:b.corpusInferences)==null?void 0:y.events)??[];return[...r,...o,...c].reduce((v,k)=>(v[k.id]=k,v),{})}async function sd({metric:n,points:a,hdbscanParameters:t}){const l=await A.fetchQuery(la,Gi,{eventIds:a.map(i=>i.eventId),coordinates:a.map(i=>({x:i.position[0],y:i.position[1],z:i.position[2]})),fetchDataQualityMetric:n.type==="dataQuality",dataQualityMetricColumnName:n.type==="dataQuality"?n.dimension.name:null,fetchPerformanceMetric:n.type==="performance",performanceMetric:n.type==="performance"?n.metric:"accuracyScore",...t},{fetchPolicy:"network-only"}).toPromise();return(l==null?void 0:l.hdbscanClustering)??[]}async function cd({metric:n,clusters:a,hdbscanParameters:t}){const l=await A.fetchQuery(la,Ui,{clusters:a.map(i=>({id:i.id,eventIds:i.eventIds})),fetchDataQualityMetric:n.type==="dataQuality",dataQualityMetricColumnName:n.type==="dataQuality"?n.dimension.name:null,fetchPerformanceMetric:n.type==="performance",performanceMetric:n.type==="performance"?n.metric:"accuracyScore",...t},{fetchPolicy:"network-only"}).toPromise();return(l==null?void 0:l.clusters)??[]}const tt=n=>(a,t)=>{const{dir:l,column:i}=n,r=l==="asc",o=a[i],c=t[i];return o==null?1:c==null?-1:o>c?r?1:-1:o<c?r?-1:1:0};function Pl(n){let a=n.driftRatio,t=null;return n.dataQualityMetric?(a=n.dataQualityMetric.primaryValue,t=n.dataQualityMetric.referenceValue):n.performanceMetric?(a=n.performanceMetric.primaryValue,t=n.performanceMetric.referenceValue):n.primaryToCorpusRatio!=null&&(a=(n.primaryToCorpusRatio+1)/2*100),{...n,size:n.eventIds.length,primaryMetricValue:a,referenceMetricValue:t}}const dd=({projectId:n,tableId:a})=>`arize-phoenix-tracing-${n}-${a}`,X8=n=>{const a=t=>({...n,columnVisibility:{metadata:!1},columnSizing:{metadata:200},annotationColumnVisibility:{},setColumnVisibility:l=>{t({columnVisibility:l})},setAnnotationColumnVisibility:l=>{t({annotationColumnVisibility:l})},setColumnSizing:l=>{t(typeof l=="function"?i=>({columnSizing:l(i.columnSizing)}):{columnSizing:l})}});return An()(wa(Jn(a),{name:dd(n)}))},Xe={NONE:"NONE",FString:"F_STRING",Mustache:"MUSTACHE"},Y8={OPENAI:"OpenAI",AZURE_OPENAI:"Azure OpenAI",ANTHROPIC:"Anthropic",GOOGLE:"Google",DEEPSEEK:"DeepSeek",XAI:"xAI",OLLAMA:"Ollama",AWS:"AWS Bedrock"},mr="OPENAI",ud="gpt-4o",gd="user",J8=["2024-10-01-preview","2024-09-01-preview","2024-08-01-preview","2024-07-01-preview","2024-06-01","2024-05-01-preview","2024-04-01-preview","2024-03-01-preview","2024-02-15-preview","2024-02-01","2023-10-01-preview","2023-09-01-preview","2023-08-01-preview","2023-07-01-preview","2023-06-01-preview","2023-05-15","2023-03-15-preview"],eg={user:["user","human"],ai:["assistant","bot","ai","model"],system:["system","developer"],tool:["tool"]},Lt={OPENAI:[{envVarName:"OPENAI_API_KEY",isRequired:!0}],AZURE_OPENAI:[{envVarName:"AZURE_OPENAI_API_KEY",isRequired:!0}],ANTHROPIC:[{envVarName:"ANTHROPIC_API_KEY",isRequired:!0}],GOOGLE:[{envVarName:"GEMINI_API_KEY",isRequired:!0}],DEEPSEEK:[{envVarName:"DEEPSEEK_API_KEY",isRequired:!0}],XAI:[{envVarName:"XAI_API_KEY",isRequired:!0}],OLLAMA:[],AWS:[{envVarName:"AWS_ACCESS_KEY_ID",isRequired:!0},{envVarName:"AWS_SECRET_ACCESS_KEY",isRequired:!0},{envVarName:"AWS_SESSION_TOKEN",isRequired:!1}]},pr=({parser:n,text:a})=>{const t=n.parse(a),l=[],i=t.cursor();do if(i.name==="Variable"){const r=a.slice(i.node.from,i.node.to).trim();l.push(r)}while(i.next());return l},hr=({parser:n,text:a,variables:t,postFormat:l})=>{if(!a)return"";let i=a,r=n.parse(i),o=r.cursor();do if(o.name==="Variable"){const c=i.slice(o.node.from,o.node.to).trim(),d=o.node.parent;c in t&&(i=`${i.slice(0,d.from)}${t[c]}${i.slice(d.to)}`,r=n.parse(i),o=r.cursor())}while(o.next());return l&&(i=l(i)),i},md=hi.deserialize({version:14,states:"!WQQOPOOOcOQO'#C^OOOO'#Cb'#CbQQOPOOOOOO'#Cc'#CcOhOQO,58xOOOO-E6`-E6`OOOO-E6a-E6aOOOO1G.d1G.d",stateData:"v~ORPOXQOYQOZQO[QO~OSSO~OSSOTWO~OZRX[X~",goto:"iWPPXPPP]cTQORQRORURQTPRVT",nodeNames:"⚠ FStringTemplate Template LBrace Variable RBrace",maxTerm:12,skippedNodes:[0],repeatNodeCount:2,tokenData:"%[~RaXY!WYZ!W]^!Wpq!Wqr!Wrs!]sw!Wwx!bx#O!W#O#P!i#P#o!W#o#p$c#p#q!W#q#r$|#r;'S!W;'S;=`%U<%lO!W~!]OX~~!bO[~~!iOX~[~~!lYrs!W!P!Q!W#O#P!W#U#V!W#Y#Z!W#b#c!W#f#g!W#h#i!W#i#j#[#o#p$^~#_R!Q![#h!c!i#h#T#Z#h~#kR!Q![#t!c!i#t#T#Z#t~#wR!Q![$Q!c!i$Q#T#Z$Q~$TR!Q![!W!c!i!W#T#Z!W~$cOZ~~$jQR~X~#o#p$p#q#r$w~$wOZ~[~~$|OY~~%RPX~#q#r!]~%XP;=`<%l!W",tokenizers:[1,new fi("!p~RVO#Oh#O#P!P#P#qh#q#r!j#r;'Sh;'S;=`y<%lOh~mSS~O#qh#r;'Sh;'S;=`y<%lOh~|P;=`<%lh~!UTS~O#qh#q#r!e#r;'Sh;'S;=`y<%lOh~!jOS~~!oOT~~",77)],topRules:{FStringTemplate:[0,1]},tokenPrec:32}),qt=Oi.define({parser:md.configure({props:[bi({"Template/LBrace":Qe.quote,"Template/RBrace":Qe.quote,"Template/Variable":Qe.variableName,"⚠":Qe.invalid})]}),languageData:{}}),pd=({text:n,variables:a})=>hr({parser:qt.parser,text:n,variables:a,postFormat:t=>t.replaceAll("\\{","{").replaceAll("{{","{").replaceAll("}}","}")}),hd=n=>pr({parser:qt.parser,text:n});function fd(){return new $i(qt)}const bd=hi.deserialize({version:14,states:"!WQQOPOOOcOQO'#C^OOOO'#Cb'#CbQQOPOOOOOO'#Cc'#CcOhOQO,58xOOOO-E6`-E6`OOOO-E6a-E6aOOOO1G.d1G.d",stateData:"v~ORPOXQOYQOZQO[QO~OSSO~OSSOTWO~OZRX[X~",goto:"iWPPXPPP]cTQORQRORURQTPRVT",nodeNames:"⚠ MustacheLikeTemplate Template LBrace Variable RBrace",maxTerm:12,skippedNodes:[0],repeatNodeCount:2,tokenData:"%W~RaXY!WYZ!W]^!Wpq!Wqr!Wrs!]sw!Wwx!bx#O!W#O#P!i#P#o!W#o#p$c#p#q!W#q#r!b#r;'S!W;'S;=`%Q<%lO!W~!]OX~~!bO[~~!iOX~[~~!lYrs!W!P!Q!W#O#P!W#U#V!W#Y#Z!W#b#c!W#f#g!W#h#i!W#i#j#[#o#p$^~#_R!Q![#h!c!i#h#T#Z#h~#kR!Q![#t!c!i#t#T#Z#t~#wR!Q![$Q!c!i$Q#T#Z$Q~$TR!Q![!W!c!i!W#T#Z!W~$cOZ~~$jPX~[~#o#p$m~$rPR~#q#r$u~$xP#q#r${~%QOY~~%TP;=`<%l!W",tokenizers:[1,new fi("#e~RVO#oh#o#p!P#p#qh#q#r#X#r;'Sh;'S;=`y<%lOh~mSS~O#qh#r;'Sh;'S;=`y<%lOh~|P;=`<%lh~!USS~O#q!b#r;'S!b;'S;=`#R<%lO!b~!gVS~O#O!b#O#P!b#P#q!b#q#r!|#r;'S!b;'S;=`#R<%lO!b~#ROS~~#UP;=`<%l!b~#[P#q#r#_~#dOT~~",112)],topRules:{MustacheLikeTemplate:[0,1]},tokenPrec:32}),Xt=Oi.define({parser:bd.configure({props:[bi({"Template/LBrace":Qe.quote,"Template/RBrace":Qe.quote,"Template/Variable":Qe.variableName,"Template/⚠":Qe.invalid})]}),languageData:{}}),yd=({text:n,variables:a})=>hr({parser:Xt.parser,text:n,variables:a,postFormat:t=>t.replaceAll("\\{{","{{")}),vd=n=>pr({parser:Xt.parser,text:n});function Cd(){return new $i(Xt)}const ng=n=>{switch(n){case Xe.FString:return{format:pd,extractVariables:hd};case Xe.Mustache:return{format:yd,extractVariables:vd};case Xe.NONE:return{format:({text:a})=>a,extractVariables:()=>[]};default:N()}},kd=hn([te(),D1(),Ln(),E1()]),va=K1(()=>hn([kd,Ye(va),dn(va)])),Rl=X({type:_1(["string","number","boolean","object","array","null","integer"]).describe("The type of the parameter"),description:te().optional().describe("A description of the parameter"),enum:Ye(te()).optional().describe("The allowed values")}).passthrough().describe("A map of parameter names to their definitions"),Yt=X({type:pe("object"),properties:dn(hn([Rl,X({anyOf:Ye(Rl)}).describe("A list of possible parameter names to their definitions")])).optional(),required:Ye(te()).optional().describe("The required parameters"),additionalProperties:Ln().optional().describe("Whether or not additional properties are allowed in the schema")}).passthrough(),ia=X({type:pe("function").describe("The type of the tool"),function:X({name:te().describe("The name of the function"),description:te().optional().describe("A description of the function"),parameters:Yt.extend({strict:Ln().optional().describe("Whether or not the arguments should exactly match the function definition, only supported for OpenAI models")}).describe("The parameters that the function accepts")}).passthrough().describe("The function definition")}).passthrough(),ag=Fn(ia,{removeAdditionalStrategy:"passthrough"}),Da=X({name:te(),description:te(),input_schema:Yt}),tg=Fn(Da,{removeAdditionalStrategy:"passthrough"}),Ea=X({toolSpec:X({name:te(),description:te().min(1),inputSchema:X({json:Yt})})}),lg=Fn(Ea,{removeAdditionalStrategy:"passthrough"}),Ld=Ea.transform(n=>({type:"function",function:{name:n.toolSpec.name,description:n.toolSpec.description,parameters:n.toolSpec.inputSchema.json}})),Sd=ia.transform(n=>({toolSpec:{name:n.function.name,description:n.function.description??n.function.name,inputSchema:{json:n.function.parameters}}})),xd=Da.transform(n=>({type:"function",function:{name:n.name,description:n.description,parameters:n.input_schema}})),wd=ia.transform(n=>({name:n.function.name,description:n.function.description??n.function.name,input_schema:n.function.parameters})),fr=hn([ia,Da,Ea,va]),Td=n=>{const{success:a,data:t}=ia.safeParse(n);if(a)return{provider:"OPENAI",validatedToolDefinition:t};const{success:l,data:i}=Da.safeParse(n);if(l)return{provider:"ANTHROPIC",validatedToolDefinition:i};const{success:r,data:o}=Ea.safeParse(n);return r?{provider:"AWS",validatedToolDefinition:o}:{provider:"UNKNOWN",validatedToolDefinition:null}},lt=n=>{const{provider:a,validatedToolDefinition:t}=Td(n);switch(a){case"AZURE_OPENAI":case"OPENAI":return t;case"ANTHROPIC":return xd.parse(t);case"AWS":return Ld.parse(t);case"UNKNOWN":return null;default:N()}},Nl=({toolDefinition:n,targetProvider:a})=>{switch(a){case"AZURE_OPENAI":case"OPENAI":case"DEEPSEEK":case"XAI":case"OLLAMA":return n;case"ANTHROPIC":return wd.parse(n);case"AWS":return Sd.parse(n);case"GOOGLE":return n;default:N()}};function ig(n){return{type:"function",function:{name:`new_function_${n}`,description:"a description",parameters:{type:"object",properties:{new_arg:{type:"string"}},required:[]}}}}function rg(n){return{name:`new_function_${n}`,description:"a description",input_schema:{type:"object",properties:{new_arg:{type:"string"}},required:[]}}}function og(n){return{toolSpec:{name:`new_function_${n}`,description:"a description",inputSchema:{json:{type:"object",properties:{new_arg:{type:"string"}},required:[]}}}}}const sg=n=>{const a=fr.safeParse(n);return!a.success||a.data===null||!ve(a.data)?null:"function"in a.data&&ve(a.data.function)&&"name"in a.data.function&&typeof a.data.function.name=="string"?a.data.function.name:"name"in a.data&&typeof a.data.name=="string"?a.data.name:null},cg=n=>{const a=fr.safeParse(n);return!a.success||a.data===null||!ve(a.data)?null:"function"in a.data&&ve(a.data.function)&&"description"in a.data.function&&typeof a.data.function.description=="string"?a.data.function.description:"description"in a.data&&typeof a.data.description=="string"?a.data.description:null};function Id({str:n,excludePrimitives:a=!1,excludeArray:t=!1,excludeNull:l=!1}){try{const i=JSON.parse(n);if(a&&typeof i!="object"||t&&Array.isArray(i)||l&&i===null)return!1}catch{return!1}return!0}function zd(n){return Id({str:n,excludeArray:!0,excludePrimitives:!0})}function Ka(n){try{return{json:JSON.parse(n)}}catch(a){return{json:null,parseError:a}}}function dg(...n){try{return{json:JSON.stringify(...n)}}catch(a){return{json:null,stringifyError:a}}}function br(n,a="",t="."){const l={};for(const[i,r]of Object.entries(n)){const o=a?`${a}${t}${i}`:i;r&&typeof r=="object"?Object.assign(l,br(r,o,t)):l[o]=r}return l}function ug(n,a="."){try{const t=JSON.parse(n);return typeof t!="object"?{}:br(t,"",a)}catch{}return{}}const ra=X({id:te().describe("The ID of the tool call"),type:pe("function").describe("The type of the tool call").default("function"),function:X({name:te().describe("The name of the function"),arguments:dn(Un()).describe("The arguments for the function")}).describe("The function that is being called").passthrough()}),Ad=Ye(ra),gg=Fn(Ad,{removeAdditionalStrategy:"passthrough"}),_a=X({toolUse:X({toolUseId:te().describe("The ID of the tool call"),name:te().describe("The name of the tool"),input:dn(Un()).describe("The input for the tool")})}),Fd=Ye(_a),mg=Fn(Fd,{removeAdditionalStrategy:"passthrough"}),Md=ra.transform(n=>({toolUse:{toolUseId:n.id,name:n.function.name,input:n.function.arguments}})),Dd=_a.transform(n=>({id:n.toolUse.toolUseId,type:"function",function:{name:n.toolUse.name,arguments:n.toolUse.input}})),Va=X({id:te().describe("The ID of the tool call"),type:pe("tool_use"),name:te().describe("The name of the tool"),input:dn(Un()).describe("The input for the tool")}).passthrough(),Ed=Ye(Va),pg=Fn(Ed,{removeAdditionalStrategy:"passthrough"}),Kd=Va.transform(n=>({id:n.id,type:"function",function:{name:n.name,arguments:n.input}})),_d=ra.transform(n=>({id:n.id,type:"tool_use",name:n.function.name,input:typeof n.function.arguments=="string"?{[n.function.arguments]:n.function.arguments}:n.function.arguments??{}})),Vd=hn([ra,Va,_a,va]);Ye(Vd);const Pd=n=>{const{success:a,data:t}=ra.safeParse(n);if(a)return{provider:"OPENAI",validatedToolCall:t};const{success:l,data:i}=Va.safeParse(n);if(l)return{provider:"ANTHROPIC",validatedToolCall:i};const{success:r,data:o}=_a.safeParse(n);return r?{provider:"AWS",validatedToolCall:o}:{provider:"UNKNOWN",validatedToolCall:null}},cn=n=>{const{provider:a,validatedToolCall:t}=Pd(n);switch(a){case"AZURE_OPENAI":case"OPENAI":return t;case"ANTHROPIC":return Kd.parse(t);case"AWS":return Dd.parse(t);case"UNKNOWN":return null;default:N()}},St=({toolCall:n,targetProvider:a})=>{switch(a){case"AZURE_OPENAI":case"OPENAI":case"DEEPSEEK":case"XAI":case"OLLAMA":return n;case"AWS":return Md.parse(n);case"ANTHROPIC":return _d.parse(n);case"GOOGLE":return n;default:N()}},hg=(n,a)=>{const t=cn({id:n.toolCall.toolCallId,function:{name:n.toolCall.toolCall.name,arguments:Ka(n.toolCall.toolCall.arguments).json||""}});return t?St({toolCall:t,targetProvider:a}):null};function fg(){return{id:"",type:"function",function:{name:"",arguments:{}}}}function bg(){return{id:"",type:"tool_use",name:"",input:{}}}const Jt=X({id:te().optional(),name:te().optional(),arguments:dn(Un()).optional(),function:X({name:te().optional(),arguments:dn(Un()).optional()}).optional()});function yg(n){let a=n;typeof n=="string"&&(a=Ka(n).json);const t=cn(a);if(t)return t.id;const l=Jt.safeParse(a);return l.success?l.data.id??l.data.name??null:null}function vg(n){var i;let a=n;typeof n=="string"&&(a=Ka(n).json);const t=cn(a);if(t)return t.function.name;const l=Jt.safeParse(a);return l.success?((i=l.data.function)==null?void 0:i.name)??l.data.name??l.data.id??null:null}function Cg(n){var i;let a=n;typeof n=="string"&&(a=Ka(n).json);const t=cn(a);if(t)return t.function.arguments;const l=Jt.safeParse(a);return l.success?l.data.arguments??((i=l.data.function)==null?void 0:i.arguments)??null:null}const Pa=Pc()(hn([pe("auto"),pe("none"),pe("required"),X({type:pe("function"),function:X({name:te()})})]));yi("type",[X({type:pe("auto")}),X({type:pe("any")}),X({type:pe("tool"),name:te()}),X({type:pe("none")})]);const el=yi("type",[X({type:pe("none")}),X({type:pe("auto"),disable_parallel_tool_use:Ln().optional()}),X({type:pe("any"),disable_parallel_tool_use:Ln().optional()}),X({type:pe("tool"),name:te(),disable_parallel_tool_use:Ln().optional()})]),Rd=el.transform(n=>{switch(n.type){case"any":return"required";case"auto":return"auto";case"tool":return n.name?{type:"function",function:{name:n.name}}:"auto";case"none":return"none";default:return"auto"}}),Nd=Pa.transform(n=>{if(ve(n))return{type:"tool",name:n.function.name};switch(n){case"none":return{type:"none"};case"auto":return{type:"auto"};case"required":return{type:"any"};default:N()}}),Od=Pa.transform(n=>{if(ve(n))return{type:"tool",name:n.function.name};switch(n){case"none":return{type:"none"};case"auto":return{type:"auto"};case"required":return{type:"any"};default:N()}});hn([Pa,el]);const $d=n=>{const{success:a,data:t}=Pa.safeParse(n);if(a)return{provider:"OPENAI",toolChoice:t};const{success:l,data:i}=el.safeParse(n);return l?{provider:"ANTHROPIC",toolChoice:i}:{provider:null,toolChoice:null}},Bd=n=>{const{provider:a,toolChoice:t}=$d(n);if(a==null||t==null)throw new Error("Could not detect provider of tool choice");switch(a){case"AZURE_OPENAI":case"OPENAI":return t;case"ANTHROPIC":return Rd.parse(t);default:N()}},Hd=({toolChoice:n,targetProvider:a})=>{switch(a){case"AZURE_OPENAI":case"OPENAI":case"DEEPSEEK":case"XAI":case"OLLAMA":return n;case"AWS":return Nd.parse(n);case"ANTHROPIC":return Od.parse(n);case"GOOGLE":return n;default:N()}},jd=({toolChoice:n,targetProvider:a})=>{try{const t=Bd(n);return Hd({toolChoice:t,targetProvider:a})}catch{return null}},Ol=n=>n,$l=n=>n,Bl=n=>n,Zd=n=>ve(n)?"function"in n&&ve(n.function)&&"name"in n.function&&typeof n.function.name=="string"?n.function.name:"name"in n&&typeof n.name=="string"?n.name:null:null,Ud=({instanceTools:n,provider:a})=>n.map(t=>{switch(a){case"OPENAI":case"DEEPSEEK":case"XAI":case"OLLAMA":case"AZURE_OPENAI":{const l=lt(t.definition);return{...t,definition:l??t.definition}}case"ANTHROPIC":{const l=lt(t.definition),i=l?Nl({toolDefinition:l,targetProvider:a}):t.definition;return{...t,definition:i}}case"AWS":{const l=lt(t.definition),i=l?Nl({toolDefinition:l,targetProvider:a}):t.definition;return{...t,definition:i}}case"GOOGLE":return t;default:N()}}),Gd=({toolCalls:n,provider:a})=>{if(n!=null)return n.map(t=>{switch(a){case"OPENAI":case"DEEPSEEK":case"XAI":case"OLLAMA":case"AZURE_OPENAI":return cn(t)??t;case"ANTHROPIC":{const l=cn(t);return l!=null?St({toolCall:l,targetProvider:a}):t}case"AWS":{const l=cn(t);return l!=null?St({toolCall:l,targetProvider:a}):t}case"GOOGLE":return t;default:N()}})};let Qd=0,Wd=0,qd=1,Xd=0;const yr=()=>Qd++,Ca=()=>qd++,kg=()=>Xd++,Yd=()=>Wd++,vr=()=>({__type:"chat",messages:[{id:Ca(),role:"system",content:"You are a chatbot"},{id:Ca(),role:"user",content:"{{question}}"}]}),nl=n=>({template:{__type:"chat",messageIds:n.messages.map(a=>a.id)},messages:n.messages.reduce((a,t)=>(a[t.id]=t,a),{})}),Jd={__type:"text_completion",prompt:"{{question}}"},e0=()=>({model:{provider:mr,modelName:ud,invocationParameters:[],supportedInvocationParameters:[]},tools:[],toolChoice:"auto",output:void 0,spanId:null,activeRunId:null});function n0(){const n=vr(),a=nl(n);return{instance:{id:yr(),template:a.template,...e0()},instanceMessages:a.messages}}function Lg(){return{type:"json_schema",json_schema:{name:"response",schema:{type:"object",properties:{},required:[],additionalProperties:!1},strict:!0}}}function a0(n){if(n.instances!=null&&n.instances.length>0){let o={};return{instances:n.instances.map(d=>{if(d.template.__type==="chat"){const u=nl(d.template);return o={...o,...u.messages},{...d,template:u.template}}return d}),instanceMessages:o}}const{instance:a,instanceMessages:t}=n0(),l=Object.values(n.modelConfigByProvider);if(!(l.length>0))return{instances:[a],instanceMessages:t};const r=l.find(o=>o.provider===mr)??l[0];return a.model={...a.model,...r},{instances:[a],instanceMessages:t}}const Sg=n=>{const{instances:a,instanceMessages:t}=a0(n);return An(Jn((i,r)=>({streaming:!0,repetitions:1,operationType:"chat",inputMode:"manual",dirtyInstances:{},input:{variablesValueCache:{}},templateFormat:Xe.Mustache,...n,instances:a,allInstanceMessages:t,setInput:o=>{i({input:o})},setOperationType:o=>{if(o==="chat"){const c=[];let d={};r().instances.forEach(u=>{const g=vr(),h=nl(g);d={...d,...h.messages},c.push({...u,template:h.template})}),i({instances:c,allInstanceMessages:d})}else i({instances:r().instances.map(c=>({...c,template:Jd}))});i({operationType:o})},addInstance:()=>{const o=r().instances,c=r().allInstanceMessages,d=r().instances[0];if(!d)return;let u=[],g={};if(d.template.__type==="chat"){const f=d.template.messageIds.map(b=>c[b]).map(b=>({...b,id:Ca()}));u=f.map(b=>b.id),g=f.reduce((b,y)=>(b[y.id]=y,b),{})}i({allInstanceMessages:{...c,...g},instances:[...o,{...d,...d.template.__type==="chat"?{template:{...d.template,messageIds:u}}:{},id:yr(),activeRunId:null,experimentId:null,spanId:null}]})},updateModelSupportedInvocationParameters:({instanceId:o,supportedInvocationParameters:c,modelConfigByProvider:d})=>{const u=r().instances;i({instances:u.map(g=>{if(g.id===o){const{baseUrl:h,endpoint:f,apiVersion:b,region:y}=d[g.model.provider]??{},v=lc(g.model.invocationParameters,c),k=ic(v,c);return{...g,model:{...g.model,baseUrl:g.model.baseUrl??h,endpoint:g.model.endpoint??f,apiVersion:g.model.apiVersion??b,region:g.model.region??y,supportedInvocationParameters:c,invocationParameters:k},tools:c.find(L=>L.canonicalName===rc)?g.tools:[]}}return g})})},updateProvider:({instanceId:o,provider:c,modelConfigByProvider:d})=>{const u=r().instances,g=u.find(k=>k.id===o);if(!g||g.model.provider===c)return;const h=d[c],f=g.model.invocationParameters.find(k=>k.canonicalName===ac||k.invocationName===tc),b=k=>k==="OLLAMA"?"http://localhost:11434/v1":null,y={model:(()=>{const k={...g.model},L={modelName:null,baseUrl:b(c),apiVersion:null,endpoint:null,region:null,customHeaders:null};return{...k,...L,...h||{},...h&&{invocationParameters:[...h.invocationParameters,...f?[f]:[]]},provider:c}})(),toolChoice:jd({toolChoice:g.toolChoice,targetProvider:c})??void 0,tools:Ud({instanceTools:g.tools,provider:c})},v={};g.template.__type==="chat"&&g.template.messageIds.forEach(k=>{const L=r().allInstanceMessages[k];L&&(v[k]={...L,toolCalls:Gd({toolCalls:L.toolCalls,provider:c})})}),i({allInstanceMessages:{...r().allInstanceMessages,...v},dirtyInstances:{...r().dirtyInstances,[o]:!0},instances:u.map(k=>k.id===o?{...k,...y}:k)})},updateModel:({instanceId:o,patch:c})=>{const d=r().instances;d.find(g=>g.id===o)&&i({dirtyInstances:{...r().dirtyInstances,[o]:!0},instances:d.map(g=>g.id===o?{...g,model:{...g.model,...c}}:g)})},deleteInstance:o=>{const c=r().instances;i({instances:c.filter(d=>d.id!==o),dirtyInstances:{...r().dirtyInstances,[o]:!1}})},addMessage:({playgroundInstanceId:o,messages:c})=>{const d=r().instances;let u=[];Array.isArray(c)?u=c:c?u=[c]:u=[{id:Ca(),role:gd,content:""}],i({allInstanceMessages:{...r().allInstanceMessages,...u.reduce((g,h)=>(g[h.id]=h,g),{})},dirtyInstances:{...r().dirtyInstances,[o]:!0},instances:d.map(g=>g.id===o&&(g!=null&&g.template)&&(g==null?void 0:g.template.__type)==="chat"?{...g,template:{...g.template,messageIds:[...g.template.messageIds,...u.map(h=>h.id)]}}:g)})},updateMessage:({messageId:o,patch:c,instanceId:d})=>{const u=r().allInstanceMessages;i({allInstanceMessages:{...u,[o]:{...u[o],...c}},dirtyInstances:{...r().dirtyInstances,[d]:!0}})},deleteMessage:({instanceId:o,messageId:c})=>{const d=r().instances,u=r().allInstanceMessages;i({allInstanceMessages:Object.fromEntries(Object.entries(u).filter(([,{id:g}])=>g!==c)),dirtyInstances:{...r().dirtyInstances,[o]:!0},instances:d.map(g=>g.id===o&&(g!=null&&g.template)&&(g==null?void 0:g.template.__type)==="chat"?{...g,template:{...g.template,messageIds:g.template.messageIds.filter(h=>h!==c)}}:g)})},updateInstance:({instanceId:o,patch:c,dirty:d})=>{const u=r().instances;i({dirtyInstances:{...r().dirtyInstances,...d!=null?{[o]:d}:{}},instances:u.map(g=>g.id===o?{...g,...c}:g)})},runPlaygroundInstances:()=>{const o=r().instances;i({instances:o.map(c=>({...c,activeRunId:Yd(),spanId:null}))})},cancelPlaygroundInstances:()=>{const o=r().instances;i({instances:o.map(c=>({...c,activeRunId:null,spanId:null}))})},markPlaygroundInstanceComplete:o=>{const c=r().instances;i({instances:c.map(d=>d.id===o?{...d,activeRunId:null}:d)})},setTemplateFormat:o=>{i({templateFormat:o})},setVariableValue:(o,c)=>{const d=r().input;i({input:{...d,variablesValueCache:{...d.variablesValueCache,[o]:c}}})},setStreaming:o=>{i({streaming:o})},setRepetitions:o=>{i({repetitions:o})},updateInstanceModelInvocationParameters:({instanceId:o,invocationParameters:c})=>{r().instances.find(u=>u.id===o)&&i({dirtyInstances:{...r().dirtyInstances,[o]:!0},instances:r().instances.map(u=>u.id===o?{...u,model:{...u.model,invocationParameters:c}}:u)})},upsertInvocationParameterInput:({instanceId:o,invocationParameterInput:c})=>{const d=r().instances.find(g=>g.id===o);if(!d)return;const u=d.model.invocationParameters.find(g=>Fl(g,c));i(u?{dirtyInstances:{...r().dirtyInstances,[o]:!0},instances:r().instances.map(g=>g.id===o?{...g,model:{...g.model,invocationParameters:g.model.invocationParameters.map(h=>Fl(h,c)?c:h)}}:g)}:{dirtyInstances:{...r().dirtyInstances,[o]:!0},instances:r().instances.map(g=>g.id===o?{...g,model:{...g.model,invocationParameters:[...g.model.invocationParameters,c]}}:g)})},deleteInvocationParameterInput:({instanceId:o,invocationParameterInputInvocationName:c})=>{r().instances.find(u=>u.id===o)&&i({dirtyInstances:{...r().dirtyInstances,[o]:!0},instances:r().instances.map(u=>u.id===o?{...u,model:{...u.model,invocationParameters:u.model.invocationParameters.filter(g=>g.invocationName!==c)}}:u)})},setDirty:(o,c)=>{i({dirtyInstances:{...r().dirtyInstances,[o]:c}})}})))};function t0(n){return n==="OPENAI"||n==="AZURE_OPENAI"||n==="ANTHROPIC"||n==="GOOGLE"||n==="DEEPSEEK"||n==="XAI"||n==="OLLAMA"||n==="AWS"}function xg(n){switch(n){case"OPENAI":return"OpenAI";case"AZURE_OPENAI":return"Azure OpenAI";case"ANTHROPIC":return"Anthropic";case"GOOGLE":return"Google";case"DEEPSEEK":return"DeepSeek";case"XAI":return"XAI";case"OLLAMA":return"Ollama";case"AWS":return"AWS";default:N()}}function wg(n){switch(n){case"OPENAI":return Pn.OPENAI.toString();case"AZURE_OPENAI":return Pn.AZURE.toString();case"ANTHROPIC":return Pn.ANTHROPIC.toString();case"GOOGLE":return Pn.GOOGLE.toString();case"AWS":return Pn.AWS.toString();case"DEEPSEEK":return"deepseek";case"XAI":return"xai";case"OLLAMA":throw new Error("Ollama is not supported");default:N()}}function l0(n){return typeof n=="object"&&n!==null&&Object.keys(n).length>0&&Object.keys(n).every(a=>a in Lt)&&Object.values(n).every(a=>typeof a=="string")}function i0(n){const a={};for(const t of Object.keys(n))t0(t)&&Lt[t].length===1&&(a[t]={[Lt[t][0].envVarName]:n[t]});return a}const Tg=n=>{const a=t=>({setCredential:({provider:l,envVarName:i,value:r})=>{t(o=>({[l]:{...o[l],[i]:r}}))},...n});return An()(wa(Jn(a),{version:1,name:"arize-phoenix-credentials",migrate:t=>{if(l0(t))return i0(t)}}))};function Ra(n){return e("div",{onClick:a=>a.stopPropagation(),css:p`
178
+ `}}})();tr.hash="d85505e5f9dffd2a1c791f8e0007ab61";const lr={argumentDefinitions:[],kind:"Fragment",metadata:{refetch:{connection:null,fragmentPathInResult:[],operation:tr}},name:"ViewerContext_viewer",selections:[{alias:null,args:null,concreteType:"User",kind:"LinkedField",name:"viewer",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"username",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"email",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"profilePictureUrl",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"isManagementUser",storageKey:null},{alias:null,args:null,concreteType:"UserRole",kind:"LinkedField",name:"role",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null}],storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"authMethod",storageKey:null},{args:null,kind:"FragmentSpread",name:"APIKeysTableFragment"}],storageKey:null}],type:"Query",abstractKey:null};lr.hash="d85505e5f9dffd2a1c791f8e0007ab61";const ir=pn.createContext({viewer:null,refetchViewer:()=>{}});function Dn(){const n=pn.useContext(ir);if(n==null)throw new Error("useViewer must be used within a ViewerProvider");return n}function Hc(){var a;const{viewer:n}=Dn();return!(n&&((a=n==null?void 0:n.role)==null?void 0:a.name)!=="ADMIN")}function j8({query:n,children:a}){const[t,l]=A.useRefetchableFragment(lr,n),i=m.useCallback(()=>{m.startTransition(()=>{l({},{fetchPolicy:"network-only"})})},[l]);return e(ir.Provider,{value:{viewer:t.viewer,refetchViewer:i},children:a})}function jc(n){return n.endsWith("/")?n.slice(0,-1):n}const Zc=jc(window.Config.basename),En=`${window.location.protocol}//${window.location.host}${Zc}`,Z8=window.Config.platformVersion,Qn="returnUrl";function Kl(n,a){const t=new URL(n,window.location.origin);return a.forEach((l,i)=>{t.searchParams.append(i,l)}),t.pathname+t.search}function rr(){const n=window.Config.basename,a=n==null||n===""||n==="/",t=n!=null&&n.startsWith("/")&&!n.endsWith("/");if(!(a||t))throw new Error(`Invalid basename: ${n}`);const l=window.location.pathname,i=window.location.origin,r=new URLSearchParams(window.location.search);if(a){const o=new URL("/login",i);return o.searchParams.set(Qn,Kl(l,r)),o.pathname+o.search}if(l.startsWith(n)){const o=l.slice(n.length);if(o===""||o.startsWith("/")){const d=new URL(n+"/login",i);return d.searchParams.set(Qn,Kl(o,r)),d.pathname+d.search}}return n+"/login"}function Uc(n){const a=window.Config.basename,t=a==null||a===""||a==="/",l=a!=null&&a.startsWith("/")&&!a.endsWith("/");if(!(t||l))throw new Error(`Invalid basename: ${a}`);return t?n:a+n}const U8=({path:n,searchParams:a})=>{const l=new URL(window.location.href).searchParams.get(Qn),i=new URLSearchParams(a||{});l&&i.set(Qn,l);const r=i.toString();return`${n}${r?`?${r}`:""}`},Gc=n=>!(typeof n!="string"||!n.startsWith("/")||n.replace(/\\/g,"/").startsWith("//")),Qc=n=>Gc(n)?n:"/",G8=()=>{const n=new URL(window.location.href);return Qc(n.searchParams.get(Qn))},Wc=En+"/auth/refresh";class _l extends Error{constructor(){super("Unauthorized")}}async function qc(n,a){try{return await fetch(n,a).then(t=>{if(t.status===401)throw new _l;return t})}catch(t){if(t instanceof _l){const l=await Xc();return Pt(l.ok,`Failed to authenticate. Please visit ${rr()} to login.`),fetch(n,a)}if(t instanceof Error&&t.name==="AbortError")throw t}throw new Error("An unexpected error occurred while fetching data")}let Rn=null;async function Xc(){return Rn||(Rn=fetch(Wc,{method:"POST"}).then(n=>n.ok?(Rn=null,Promise.resolve(n)):(window.location.href=rr(),new Promise(()=>{}))),Rn)}const or=En+"/graphql",Yc=window.Config.authenticationEnabled,sr=Yc?qc:fetch;function Jc(n,a,t){return Hn.Observable.create(l=>{const i=new AbortController;return sr(n,{...a,signal:i.signal}).then(r=>(Pt(r instanceof Response),r.json())).then(r=>{const o=t==null?void 0:t(r);if(o)throw o;l.next(r),l.complete()}).catch(r=>{r.name==="AbortError"?l.complete():l.error(r)}),()=>{i.abort()}})}const ed=(n,a,t)=>Jc(or,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:n.text,variables:a})},l=>{if(!(!ve(l)||!("errors"in l))&&Array.isArray(l.errors))return new Error(`Error fetching GraphQL query '${n.name}' with variables '${JSON.stringify(a)}': ${JSON.stringify(l.errors)}`)}),nd=A1(or,{fetch:sr}),la=new Hn.Environment({network:Hn.Network.create(ed,nd),store:new Hn.Store(new Hn.RecordSource,{gcReleaseBufferSize:20})});function cr(n){return n.includes("PRIMARY")?Ae.primary:n.includes("CORPUS")?Ae.corpus:Ae.reference}function Qt(n){const a=[],t=[],l=[];return n.forEach(i=>{const r=cr(i);r==Ae.primary?a.push(i):r==Ae.corpus?l.push(i):t.push(i)}),{primaryEventIds:a,referenceEventIds:t,corpusEventIds:l}}const ya=10,jn="unknown",dr=M1,ur=F1,ad=n=>ur[n],td=n=>dr(n/ya);var In=(n=>(n.move="move",n.select="select",n))(In||{}),Wt=(n=>(n.default="default",n.highlight="highlight",n))(Wt||{});const kn=()=>Ji()==="light"?Kc:Ec;function Q8(){const n=kn();return{coloringStrategy:Q.inferences,pointGroupVisibility:{[J.primary]:!0,[J.reference]:!0},pointGroupColors:{[J.primary]:n[0],[J.reference]:n[1],[J.corpus]:qe},metric:{type:"drift",metric:"euclideanDistance"}}}function W8(){const n=kn();return{coloringStrategy:Q.inferences,pointGroupVisibility:{[J.primary]:!0,[J.corpus]:!0},pointGroupColors:{[J.primary]:n[0],[J.corpus]:qe},metric:{type:"retrieval",metric:"queryDistance"},clusterSort:{dir:"desc",column:"primaryMetricValue"}}}function q8(){return{coloringStrategy:Q.correctness,pointGroupVisibility:{[me.correct]:!0,[me.incorrect]:!0,[me.unknown]:!0},pointGroupColors:{[me.correct]:ba.Discrete2.LightBlueOrange[0],[me.incorrect]:ba.Discrete2.LightBlueOrange[1],[me.unknown]:Cn},metric:{type:"performance",metric:"accuracyScore"},clusterSort:{dir:"asc",column:"primaryMetricValue"}}}const ld=n=>{const a={loading:!1,errorMessage:null,points:[],eventIdToDataMap:new Map,clusters:[],clusterSort:{dir:"desc",column:"driftRatio"},pointData:null,selectedEventIds:new Set,hoveredEventId:null,highlightedClusterId:null,selectedClusterId:null,canvasMode:"move",pointSizeScale:1,clusterColorMode:"default",coloringStrategy:Q.inferences,inferencesVisibility:{primary:!0,reference:!0,corpus:!0},pointGroupVisibility:{[J.primary]:!0,[J.reference]:!0,[J.corpus]:!0},pointGroupColors:{[J.primary]:kn()[0],[J.reference]:kn()[1],[J.corpus]:qe},eventIdToGroup:{},selectionDisplay:Tn.gallery,selectionGridSize:Sn.large,dimension:null,dimensionMetadata:null,umapParameters:{minDist:Ic,nNeighbors:Tc,nSamples:zc},hdbscanParameters:{minClusterSize:Ac,clusterMinSamples:Mc,clusterSelectionEpsilon:Dc},clustersLoading:!1,metric:{type:"drift",metric:"euclideanDistance"},selectionSearchText:""},t=(l,i)=>({...a,...n,setInitialData:async({points:r,clusters:o,retrievals:c})=>{const d=i(),u=new Map,g=c.reduce((b,y)=>{const{queryId:v}=y;return b[v]?b[v].push(y):b[v]=[y],b},{});r.forEach(b=>{b={...b,retrievals:g[b.eventId]??[]},u.set(b.eventId,b)});const h=o.map(Pl).sort(tt(d.clusterSort));l({loading:!1,points:r,eventIdToDataMap:u,clusters:h,clustersLoading:!1,selectedEventIds:new Set,selectedClusterId:null,pointData:null,eventIdToGroup:ln({points:r,coloringStrategy:d.coloringStrategy,pointsData:d.pointData??{},dimension:d.dimension||null,dimensionMetadata:d.dimensionMetadata})});const f=await od(r.map(b=>b.eventId)).catch(()=>l({errorMessage:"Failed to load the point events"}));f&&l({pointData:f,clusters:h,clustersLoading:!1,eventIdToGroup:ln({points:r,coloringStrategy:d.coloringStrategy,pointsData:f??{},dimension:d.dimension||null,dimensionMetadata:d.dimensionMetadata})})},setClusters:r=>{const o=i(),c=r.map(Pl).sort(tt(o.clusterSort));l({clusters:c,clustersLoading:!1,selectedClusterId:null,highlightedClusterId:null})},setClusterSort:r=>{const c=[...i().clusters].sort(tt(r));l({clusterSort:r,clusters:c})},setSelectedEventIds:r=>l({selectedEventIds:r,selectionSearchText:""}),setHoveredEventId:r=>l({hoveredEventId:r}),setHighlightedClusterId:r=>l({highlightedClusterId:r}),setSelectedClusterId:r=>l({selectedClusterId:r,highlightedClusterId:null}),setPointSizeScale:r=>l({pointSizeScale:r}),setCanvasMode:r=>l({canvasMode:r}),setClusterColorMode:r=>l({clusterColorMode:r}),setColoringStrategy:r=>{const o=i();switch(l({coloringStrategy:r}),r){case Q.correctness:l({pointGroupVisibility:{[me.correct]:!0,[me.incorrect]:!0,[me.unknown]:!0},pointGroupColors:{[me.correct]:ba.Discrete2.LightBlueOrange[0],[me.incorrect]:ba.Discrete2.LightBlueOrange[1],[me.unknown]:Cn},dimension:null,dimensionMetadata:null,eventIdToGroup:ln({points:o.points,coloringStrategy:r,pointsData:o.pointData??{},dimension:o.dimension||null,dimensionMetadata:o.dimensionMetadata})});break;case Q.inferences:{l({pointGroupVisibility:{[J.primary]:!0,[J.reference]:!0,[J.corpus]:!0},pointGroupColors:{[J.primary]:kn()[0],[J.reference]:kn()[1],[J.corpus]:qe},dimension:null,dimensionMetadata:null,eventIdToGroup:ln({points:o.points,coloringStrategy:r,pointsData:o.pointData??{},dimension:o.dimension||null,dimensionMetadata:o.dimensionMetadata})});break}case Q.dimension:{l({pointGroupVisibility:{unknown:!0},pointGroupColors:{unknown:Cn},dimension:null,dimensionMetadata:null,eventIdToGroup:ln({points:o.points,coloringStrategy:r,pointsData:o.pointData??{},dimension:o.dimension||null,dimensionMetadata:o.dimensionMetadata})});break}default:N()}},inferencesVisibility:{primary:!0,reference:!0,corpus:!0},setInferencesVisibility:r=>l({inferencesVisibility:r}),setPointGroupVisibility:r=>l({pointGroupVisibility:r}),selectionDisplay:Tn.gallery,setSelectionDisplay:r=>l({selectionDisplay:r}),setSelectionGridSize:r=>l({selectionGridSize:r}),reset:()=>{l({points:[],clusters:[],selectedEventIds:new Set,selectedClusterId:null,eventIdToGroup:{}})},setDimension:async r=>{const o=i();l({dimension:r,dimensionMetadata:null});const c=await rd(r).catch(()=>l({errorMessage:"Failed to load the dimension metadata"}));if(c){if(l({dimensionMetadata:c}),c.categories&&c.categories.length){const d=c.categories.length,g=d<=ur.length?ad:h=>dr(h/d);l({pointGroupVisibility:{...c.categories.reduce((h,f)=>({...h,[f]:!0}),{}),unknown:!0},pointGroupColors:{...c.categories.reduce((h,f,b)=>({...h,[f]:g(b)}),{}),unknown:Cn},eventIdToGroup:ln({points:o.points,coloringStrategy:o.coloringStrategy,pointsData:o.pointData??{},dimension:r,dimensionMetadata:c})})}else if(c.interval!==null){const d=gr(c.interval);l({pointGroupVisibility:{...d.reduce((u,g)=>({...u,[g.name]:!0}),{}),unknown:!0},pointGroupColors:{...d.reduce((u,g,h)=>({...u,[g.name]:td(h)}),{}),unknown:Cn},eventIdToGroup:ln({points:o.points,coloringStrategy:o.coloringStrategy,pointsData:o.pointData??{},dimension:r,dimensionMetadata:c})})}}},setDimensionMetadata:r=>l({dimensionMetadata:r}),setUMAPParameters:r=>l({umapParameters:r}),setHDBSCANParameters:async r=>{const o=i();l({hdbscanParameters:r,clustersLoading:!0});const c=await sd({metric:o.metric,points:o.points,hdbscanParameters:r});o.setClusters(c)},getHDSCANParameters:()=>i().hdbscanParameters,getMetric:()=>i().metric,setErrorMessage:r=>l({errorMessage:r}),setLoading:r=>l({loading:r}),setMetric:async r=>{const o=i();l({metric:r,clustersLoading:!0});const c=await cd({metric:r,clusters:o.clusters,hdbscanParameters:o.hdbscanParameters});o.setClusters(c)},setSelectionSearchText:r=>l({selectionSearchText:r})});return An()(Jn(t))},Vl=new Intl.NumberFormat([],{maximumFractionDigits:2});function id({min:n,max:a}){return`${Vl.format(n)} - ${Vl.format(a)}`}function gr({min:n,max:a}){const l=(a-n)/ya,i=[];for(let r=0;r<ya;r++){const o=n+r*l,c=n+(r+1)*l;i.push({min:o,max:c,name:id({min:o,max:c})})}return i}function at({numericGroupIntervals:n,numericValue:a}){let t=jn,l=n.findIndex(i=>a>=i.min&&a<i.max);return l=l===-1?ya-1:l,t=n[l].name,t}function ln(n){const{points:a,coloringStrategy:t,pointsData:l,dimension:i,dimensionMetadata:r}=n,o={},c=a.map(d=>d.eventId);switch(t){case Q.inferences:{const{primaryEventIds:d,referenceEventIds:u,corpusEventIds:g}=Qt(c);d.forEach(h=>{o[h]=J.primary}),u.forEach(h=>{o[h]=J.reference}),g.forEach(h=>{o[h]=J.corpus});break}case Q.correctness:{a.forEach(d=>{let u=me.unknown;const{predictionLabel:g,actualLabel:h}=d.eventMetadata;g!==null&&h!==null&&(u=g===h?me.correct:me.incorrect),o[d.eventId]=u});break}case Q.dimension:{let d;r&&(r==null?void 0:r.interval)!==null&&(d=gr(r.interval));const u=(i==null?void 0:i.type)==="prediction"&&(i==null?void 0:i.dataType)==="categorical",g=(i==null?void 0:i.type)==="prediction"&&(i==null?void 0:i.dataType)==="numeric",h=(i==null?void 0:i.type)==="actual"&&(i==null?void 0:i.dataType)==="categorical",f=(i==null?void 0:i.type)==="actual"&&(i==null?void 0:i.dataType)==="numeric";a.forEach(b=>{let y=jn;const v=l[b.eventId];if(i!=null&&v!=null)if(u)y=v.eventMetadata.predictionLabel??jn;else if(g){if(d==null)throw new Error("Cannot color by prediction score without numeric group intervals");const L=v.eventMetadata.predictionScore;typeof L=="number"&&(y=at({numericGroupIntervals:d,numericValue:L}))}else if(f){if(d==null)throw new Error("Cannot color by actual score without numeric group intervals");const L=v.eventMetadata.actualScore;typeof L=="number"&&(y=at({numericGroupIntervals:d,numericValue:L}))}else if(h)y=v.eventMetadata.actualLabel??jn;else{const L=v.dimensions.find(w=>w.dimension.name===i.name);if(L!=null&&i.dataType==="categorical")y=L.value??jn;else if(L!=null&&i.dataType==="numeric"&&d!=null){const w=typeof(L==null?void 0:L.value)=="string"?parseFloat(L.value):null;typeof w=="number"&&(y=at({numericGroupIntervals:d,numericValue:w}))}}o[b.eventId]=y});break}default:N()}return o}async function rd(n){const a=await A.fetchQuery(la,Wi,{id:n.id,getDimensionMinMax:n.dataType==="numeric",getDimensionCategories:n.dataType==="categorical"}).toPromise(),t=a==null?void 0:a.dimension;if(!n)throw new Error("Dimension not found");let l=null;return typeof(t==null?void 0:t.min)=="number"&&typeof(t==null?void 0:t.max)=="number"&&(l={min:t.min,max:t.max}),{interval:l,categories:(t==null?void 0:t.categories)??null}}async function od(n){var u,g,h,f,b,y;const{primaryEventIds:a,referenceEventIds:t,corpusEventIds:l}=Qt([...n]),i=await A.fetchQuery(la,Qi,{primaryEventIds:a,referenceEventIds:t,corpusEventIds:l}).toPromise(),r=((g=(u=i==null?void 0:i.model)==null?void 0:u.primaryInferences)==null?void 0:g.events)??[],o=((f=(h=i==null?void 0:i.model)==null?void 0:h.referenceInferences)==null?void 0:f.events)??[],c=((y=(b=i==null?void 0:i.model)==null?void 0:b.corpusInferences)==null?void 0:y.events)??[];return[...r,...o,...c].reduce((v,k)=>(v[k.id]=k,v),{})}async function sd({metric:n,points:a,hdbscanParameters:t}){const l=await A.fetchQuery(la,Gi,{eventIds:a.map(i=>i.eventId),coordinates:a.map(i=>({x:i.position[0],y:i.position[1],z:i.position[2]})),fetchDataQualityMetric:n.type==="dataQuality",dataQualityMetricColumnName:n.type==="dataQuality"?n.dimension.name:null,fetchPerformanceMetric:n.type==="performance",performanceMetric:n.type==="performance"?n.metric:"accuracyScore",...t},{fetchPolicy:"network-only"}).toPromise();return(l==null?void 0:l.hdbscanClustering)??[]}async function cd({metric:n,clusters:a,hdbscanParameters:t}){const l=await A.fetchQuery(la,Ui,{clusters:a.map(i=>({id:i.id,eventIds:i.eventIds})),fetchDataQualityMetric:n.type==="dataQuality",dataQualityMetricColumnName:n.type==="dataQuality"?n.dimension.name:null,fetchPerformanceMetric:n.type==="performance",performanceMetric:n.type==="performance"?n.metric:"accuracyScore",...t},{fetchPolicy:"network-only"}).toPromise();return(l==null?void 0:l.clusters)??[]}const tt=n=>(a,t)=>{const{dir:l,column:i}=n,r=l==="asc",o=a[i],c=t[i];return o==null?1:c==null?-1:o>c?r?1:-1:o<c?r?-1:1:0};function Pl(n){let a=n.driftRatio,t=null;return n.dataQualityMetric?(a=n.dataQualityMetric.primaryValue,t=n.dataQualityMetric.referenceValue):n.performanceMetric?(a=n.performanceMetric.primaryValue,t=n.performanceMetric.referenceValue):n.primaryToCorpusRatio!=null&&(a=(n.primaryToCorpusRatio+1)/2*100),{...n,size:n.eventIds.length,primaryMetricValue:a,referenceMetricValue:t}}const dd=({projectId:n,tableId:a})=>`arize-phoenix-tracing-${n}-${a}`,X8=n=>{const a=t=>({...n,columnVisibility:{metadata:!1},columnSizing:{metadata:200},annotationColumnVisibility:{},setColumnVisibility:l=>{t({columnVisibility:l})},setAnnotationColumnVisibility:l=>{t({annotationColumnVisibility:l})},setColumnSizing:l=>{t(typeof l=="function"?i=>({columnSizing:l(i.columnSizing)}):{columnSizing:l})}});return An()(wa(Jn(a),{name:dd(n)}))},Xe={NONE:"NONE",FString:"F_STRING",Mustache:"MUSTACHE"},Y8={OPENAI:"OpenAI",AZURE_OPENAI:"Azure OpenAI",ANTHROPIC:"Anthropic",GOOGLE:"Google",DEEPSEEK:"DeepSeek",XAI:"xAI",OLLAMA:"Ollama",AWS:"AWS Bedrock"},mr="OPENAI",ud="gpt-4o",gd="user",J8=["2024-10-01-preview","2024-09-01-preview","2024-08-01-preview","2024-07-01-preview","2024-06-01","2024-05-01-preview","2024-04-01-preview","2024-03-01-preview","2024-02-15-preview","2024-02-01","2023-10-01-preview","2023-09-01-preview","2023-08-01-preview","2023-07-01-preview","2023-06-01-preview","2023-05-15","2023-03-15-preview"],eg={user:["user","human"],ai:["assistant","bot","ai","model"],system:["system","developer"],tool:["tool"]},Lt={OPENAI:[{envVarName:"OPENAI_API_KEY",isRequired:!0}],AZURE_OPENAI:[{envVarName:"AZURE_OPENAI_API_KEY",isRequired:!0}],ANTHROPIC:[{envVarName:"ANTHROPIC_API_KEY",isRequired:!0}],GOOGLE:[{envVarName:"GEMINI_API_KEY",isRequired:!0}],DEEPSEEK:[{envVarName:"DEEPSEEK_API_KEY",isRequired:!0}],XAI:[{envVarName:"XAI_API_KEY",isRequired:!0}],OLLAMA:[],AWS:[{envVarName:"AWS_ACCESS_KEY_ID",isRequired:!0},{envVarName:"AWS_SECRET_ACCESS_KEY",isRequired:!0},{envVarName:"AWS_SESSION_TOKEN",isRequired:!1}]},pr=({parser:n,text:a})=>{const t=n.parse(a),l=[],i=t.cursor();do if(i.name==="Variable"){const r=a.slice(i.node.from,i.node.to).trim();l.push(r)}while(i.next());return l},hr=({parser:n,text:a,variables:t,postFormat:l})=>{if(!a)return"";let i=a,r=n.parse(i),o=r.cursor();do if(o.name==="Variable"){const c=i.slice(o.node.from,o.node.to).trim(),d=o.node.parent;c in t&&(i=`${i.slice(0,d.from)}${t[c]}${i.slice(d.to)}`,r=n.parse(i),o=r.cursor())}while(o.next());return l&&(i=l(i)),i},md=hi.deserialize({version:14,states:"!WQQOPOOOcOQO'#C^OOOO'#Cb'#CbQQOPOOOOOO'#Cc'#CcOhOQO,58xOOOO-E6`-E6`OOOO-E6a-E6aOOOO1G.d1G.d",stateData:"v~ORPOXQOYQOZQO[QO~OSSO~OSSOTWO~OZRX[X~",goto:"iWPPXPPP]cTQORQRORURQTPRVT",nodeNames:"⚠ FStringTemplate Template LBrace Variable RBrace",maxTerm:12,skippedNodes:[0],repeatNodeCount:2,tokenData:"%[~RaXY!WYZ!W]^!Wpq!Wqr!Wrs!]sw!Wwx!bx#O!W#O#P!i#P#o!W#o#p$c#p#q!W#q#r$|#r;'S!W;'S;=`%U<%lO!W~!]OX~~!bO[~~!iOX~[~~!lYrs!W!P!Q!W#O#P!W#U#V!W#Y#Z!W#b#c!W#f#g!W#h#i!W#i#j#[#o#p$^~#_R!Q![#h!c!i#h#T#Z#h~#kR!Q![#t!c!i#t#T#Z#t~#wR!Q![$Q!c!i$Q#T#Z$Q~$TR!Q![!W!c!i!W#T#Z!W~$cOZ~~$jQR~X~#o#p$p#q#r$w~$wOZ~[~~$|OY~~%RPX~#q#r!]~%XP;=`<%l!W",tokenizers:[1,new fi("!p~RVO#Oh#O#P!P#P#qh#q#r!j#r;'Sh;'S;=`y<%lOh~mSS~O#qh#r;'Sh;'S;=`y<%lOh~|P;=`<%lh~!UTS~O#qh#q#r!e#r;'Sh;'S;=`y<%lOh~!jOS~~!oOT~~",77)],topRules:{FStringTemplate:[0,1]},tokenPrec:32}),qt=Oi.define({parser:md.configure({props:[bi({"Template/LBrace":Qe.quote,"Template/RBrace":Qe.quote,"Template/Variable":Qe.variableName,"⚠":Qe.invalid})]}),languageData:{}}),pd=({text:n,variables:a})=>hr({parser:qt.parser,text:n,variables:a,postFormat:t=>t.replaceAll("\\{","{").replaceAll("{{","{").replaceAll("}}","}")}),hd=n=>pr({parser:qt.parser,text:n});function fd(){return new $i(qt)}const bd=hi.deserialize({version:14,states:"!WQQOPOOOcOQO'#C^OOOO'#Cb'#CbQQOPOOOOOO'#Cc'#CcOhOQO,58xOOOO-E6`-E6`OOOO-E6a-E6aOOOO1G.d1G.d",stateData:"v~ORPOXQOYQOZQO[QO~OSSO~OSSOTWO~OZRX[X~",goto:"iWPPXPPP]cTQORQRORURQTPRVT",nodeNames:"⚠ MustacheLikeTemplate Template LBrace Variable RBrace",maxTerm:12,skippedNodes:[0],repeatNodeCount:2,tokenData:"%W~RaXY!WYZ!W]^!Wpq!Wqr!Wrs!]sw!Wwx!bx#O!W#O#P!i#P#o!W#o#p$c#p#q!W#q#r!b#r;'S!W;'S;=`%Q<%lO!W~!]OX~~!bO[~~!iOX~[~~!lYrs!W!P!Q!W#O#P!W#U#V!W#Y#Z!W#b#c!W#f#g!W#h#i!W#i#j#[#o#p$^~#_R!Q![#h!c!i#h#T#Z#h~#kR!Q![#t!c!i#t#T#Z#t~#wR!Q![$Q!c!i$Q#T#Z$Q~$TR!Q![!W!c!i!W#T#Z!W~$cOZ~~$jPX~[~#o#p$m~$rPR~#q#r$u~$xP#q#r${~%QOY~~%TP;=`<%l!W",tokenizers:[1,new fi("#e~RVO#oh#o#p!P#p#qh#q#r#X#r;'Sh;'S;=`y<%lOh~mSS~O#qh#r;'Sh;'S;=`y<%lOh~|P;=`<%lh~!USS~O#q!b#r;'S!b;'S;=`#R<%lO!b~!gVS~O#O!b#O#P!b#P#q!b#q#r!|#r;'S!b;'S;=`#R<%lO!b~#ROS~~#UP;=`<%l!b~#[P#q#r#_~#dOT~~",112)],topRules:{MustacheLikeTemplate:[0,1]},tokenPrec:32}),Xt=Oi.define({parser:bd.configure({props:[bi({"Template/LBrace":Qe.quote,"Template/RBrace":Qe.quote,"Template/Variable":Qe.variableName,"Template/⚠":Qe.invalid})]}),languageData:{}}),yd=({text:n,variables:a})=>hr({parser:Xt.parser,text:n,variables:a,postFormat:t=>t.replaceAll("\\{{","{{")}),vd=n=>pr({parser:Xt.parser,text:n});function Cd(){return new $i(Xt)}const ng=n=>{switch(n){case Xe.FString:return{format:pd,extractVariables:hd};case Xe.Mustache:return{format:yd,extractVariables:vd};case Xe.NONE:return{format:({text:a})=>a,extractVariables:()=>[]};default:N()}},kd=hn([te(),D1(),Ln(),E1()]),va=K1(()=>hn([kd,Ye(va),dn(va)])),Rl=X({type:_1(["string","number","boolean","object","array","null","integer"]).describe("The type of the parameter"),description:te().optional().describe("A description of the parameter"),enum:Ye(te()).optional().describe("The allowed values")}).passthrough().describe("A map of parameter names to their definitions"),Yt=X({type:pe("object"),properties:dn(hn([Rl,X({anyOf:Ye(Rl)}).describe("A list of possible parameter names to their definitions")])).optional(),required:Ye(te()).optional().describe("The required parameters"),additionalProperties:Ln().optional().describe("Whether or not additional properties are allowed in the schema")}).passthrough(),ia=X({type:pe("function").describe("The type of the tool"),function:X({name:te().describe("The name of the function"),description:te().optional().describe("A description of the function"),parameters:Yt.extend({strict:Ln().optional().describe("Whether or not the arguments should exactly match the function definition, only supported for OpenAI models")}).describe("The parameters that the function accepts")}).passthrough().describe("The function definition")}).passthrough(),ag=Fn(ia,{removeAdditionalStrategy:"passthrough"}),Da=X({name:te(),description:te(),input_schema:Yt}),tg=Fn(Da,{removeAdditionalStrategy:"passthrough"}),Ea=X({toolSpec:X({name:te(),description:te().min(1),inputSchema:X({json:Yt})})}),lg=Fn(Ea,{removeAdditionalStrategy:"passthrough"}),Ld=Ea.transform(n=>({type:"function",function:{name:n.toolSpec.name,description:n.toolSpec.description,parameters:n.toolSpec.inputSchema.json}})),Sd=ia.transform(n=>({toolSpec:{name:n.function.name,description:n.function.description??n.function.name,inputSchema:{json:n.function.parameters}}})),xd=Da.transform(n=>({type:"function",function:{name:n.name,description:n.description,parameters:n.input_schema}})),wd=ia.transform(n=>({name:n.function.name,description:n.function.description??n.function.name,input_schema:n.function.parameters})),fr=hn([ia,Da,Ea,va]),Td=n=>{const{success:a,data:t}=ia.safeParse(n);if(a)return{provider:"OPENAI",validatedToolDefinition:t};const{success:l,data:i}=Da.safeParse(n);if(l)return{provider:"ANTHROPIC",validatedToolDefinition:i};const{success:r,data:o}=Ea.safeParse(n);return r?{provider:"AWS",validatedToolDefinition:o}:{provider:"UNKNOWN",validatedToolDefinition:null}},lt=n=>{const{provider:a,validatedToolDefinition:t}=Td(n);switch(a){case"AZURE_OPENAI":case"OPENAI":return t;case"ANTHROPIC":return xd.parse(t);case"AWS":return Ld.parse(t);case"UNKNOWN":return null;default:N()}},Nl=({toolDefinition:n,targetProvider:a})=>{switch(a){case"AZURE_OPENAI":case"OPENAI":case"DEEPSEEK":case"XAI":case"OLLAMA":return n;case"ANTHROPIC":return wd.parse(n);case"AWS":return Sd.parse(n);case"GOOGLE":return n;default:N()}};function ig(n){return{type:"function",function:{name:`new_function_${n}`,description:"a description",parameters:{type:"object",properties:{new_arg:{type:"string"}},required:[]}}}}function rg(n){return{name:`new_function_${n}`,description:"a description",input_schema:{type:"object",properties:{new_arg:{type:"string"}},required:[]}}}function og(n){return{toolSpec:{name:`new_function_${n}`,description:"a description",inputSchema:{json:{type:"object",properties:{new_arg:{type:"string"}},required:[]}}}}}const sg=n=>{const a=fr.safeParse(n);return!a.success||a.data===null||!ve(a.data)?null:"function"in a.data&&ve(a.data.function)&&"name"in a.data.function&&typeof a.data.function.name=="string"?a.data.function.name:"name"in a.data&&typeof a.data.name=="string"?a.data.name:null},cg=n=>{const a=fr.safeParse(n);return!a.success||a.data===null||!ve(a.data)?null:"function"in a.data&&ve(a.data.function)&&"description"in a.data.function&&typeof a.data.function.description=="string"?a.data.function.description:"description"in a.data&&typeof a.data.description=="string"?a.data.description:null};function Id({str:n,excludePrimitives:a=!1,excludeArray:t=!1,excludeNull:l=!1}){try{const i=JSON.parse(n);if(a&&typeof i!="object"||t&&Array.isArray(i)||l&&i===null)return!1}catch{return!1}return!0}function zd(n){return Id({str:n,excludeArray:!0,excludePrimitives:!0})}function Ka(n){try{return{json:JSON.parse(n)}}catch(a){return{json:null,parseError:a}}}function dg(...n){try{return{json:JSON.stringify(...n)}}catch(a){return{json:null,stringifyError:a}}}function br(n,a="",t="."){const l={};for(const[i,r]of Object.entries(n)){const o=a?`${a}${t}${i}`:i;r&&typeof r=="object"?Object.assign(l,br(r,o,t)):l[o]=r}return l}function ug(n,a="."){try{const t=JSON.parse(n);return typeof t!="object"?{}:br(t,"",a)}catch{}return{}}const ra=X({id:te().describe("The ID of the tool call"),type:pe("function").describe("The type of the tool call").default("function"),function:X({name:te().describe("The name of the function"),arguments:dn(Un()).describe("The arguments for the function")}).describe("The function that is being called").passthrough()}),Ad=Ye(ra),gg=Fn(Ad,{removeAdditionalStrategy:"passthrough"}),_a=X({toolUse:X({toolUseId:te().describe("The ID of the tool call"),name:te().describe("The name of the tool"),input:dn(Un()).describe("The input for the tool")})}),Fd=Ye(_a),mg=Fn(Fd,{removeAdditionalStrategy:"passthrough"}),Md=ra.transform(n=>({toolUse:{toolUseId:n.id,name:n.function.name,input:n.function.arguments}})),Dd=_a.transform(n=>({id:n.toolUse.toolUseId,type:"function",function:{name:n.toolUse.name,arguments:n.toolUse.input}})),Va=X({id:te().describe("The ID of the tool call"),type:pe("tool_use"),name:te().describe("The name of the tool"),input:dn(Un()).describe("The input for the tool")}).passthrough(),Ed=Ye(Va),pg=Fn(Ed,{removeAdditionalStrategy:"passthrough"}),Kd=Va.transform(n=>({id:n.id,type:"function",function:{name:n.name,arguments:n.input}})),_d=ra.transform(n=>({id:n.id,type:"tool_use",name:n.function.name,input:typeof n.function.arguments=="string"?{[n.function.arguments]:n.function.arguments}:n.function.arguments??{}})),Vd=hn([ra,Va,_a,va]);Ye(Vd);const Pd=n=>{const{success:a,data:t}=ra.safeParse(n);if(a)return{provider:"OPENAI",validatedToolCall:t};const{success:l,data:i}=Va.safeParse(n);if(l)return{provider:"ANTHROPIC",validatedToolCall:i};const{success:r,data:o}=_a.safeParse(n);return r?{provider:"AWS",validatedToolCall:o}:{provider:"UNKNOWN",validatedToolCall:null}},cn=n=>{const{provider:a,validatedToolCall:t}=Pd(n);switch(a){case"AZURE_OPENAI":case"OPENAI":return t;case"ANTHROPIC":return Kd.parse(t);case"AWS":return Dd.parse(t);case"UNKNOWN":return null;default:N()}},St=({toolCall:n,targetProvider:a})=>{switch(a){case"AZURE_OPENAI":case"OPENAI":case"DEEPSEEK":case"XAI":case"OLLAMA":return n;case"AWS":return Md.parse(n);case"ANTHROPIC":return _d.parse(n);case"GOOGLE":return n;default:N()}},hg=(n,a)=>{const t=cn({id:n.toolCall.toolCallId,function:{name:n.toolCall.toolCall.name,arguments:Ka(n.toolCall.toolCall.arguments).json||""}});return t?St({toolCall:t,targetProvider:a}):null};function fg(){return{id:"",type:"function",function:{name:"",arguments:{}}}}function bg(){return{id:"",type:"tool_use",name:"",input:{}}}const Jt=X({id:te().optional(),name:te().optional(),arguments:dn(Un()).optional(),function:X({name:te().optional(),arguments:dn(Un()).optional()}).optional()});function yg(n){let a=n;typeof n=="string"&&(a=Ka(n).json);const t=cn(a);if(t)return t.id;const l=Jt.safeParse(a);return l.success?l.data.id??l.data.name??null:null}function vg(n){var i;let a=n;typeof n=="string"&&(a=Ka(n).json);const t=cn(a);if(t)return t.function.name;const l=Jt.safeParse(a);return l.success?((i=l.data.function)==null?void 0:i.name)??l.data.name??l.data.id??null:null}function Cg(n){var i;let a=n;typeof n=="string"&&(a=Ka(n).json);const t=cn(a);if(t)return t.function.arguments;const l=Jt.safeParse(a);return l.success?l.data.arguments??((i=l.data.function)==null?void 0:i.arguments)??null:null}const Pa=Pc()(hn([pe("auto"),pe("none"),pe("required"),X({type:pe("function"),function:X({name:te()})})]));yi("type",[X({type:pe("auto")}),X({type:pe("any")}),X({type:pe("tool"),name:te()}),X({type:pe("none")})]);const el=yi("type",[X({type:pe("none")}),X({type:pe("auto"),disable_parallel_tool_use:Ln().optional()}),X({type:pe("any"),disable_parallel_tool_use:Ln().optional()}),X({type:pe("tool"),name:te(),disable_parallel_tool_use:Ln().optional()})]),Rd=el.transform(n=>{switch(n.type){case"any":return"required";case"auto":return"auto";case"tool":return n.name?{type:"function",function:{name:n.name}}:"auto";case"none":return"none";default:return"auto"}}),Nd=Pa.transform(n=>{if(ve(n))return{type:"tool",name:n.function.name};switch(n){case"none":return{type:"none"};case"auto":return{type:"auto"};case"required":return{type:"any"};default:N()}}),Od=Pa.transform(n=>{if(ve(n))return{type:"tool",name:n.function.name};switch(n){case"none":return{type:"none"};case"auto":return{type:"auto"};case"required":return{type:"any"};default:N()}});hn([Pa,el]);const $d=n=>{const{success:a,data:t}=Pa.safeParse(n);if(a)return{provider:"OPENAI",toolChoice:t};const{success:l,data:i}=el.safeParse(n);return l?{provider:"ANTHROPIC",toolChoice:i}:{provider:null,toolChoice:null}},Bd=n=>{const{provider:a,toolChoice:t}=$d(n);if(a==null||t==null)throw new Error("Could not detect provider of tool choice");switch(a){case"AZURE_OPENAI":case"OPENAI":return t;case"ANTHROPIC":return Rd.parse(t);default:N()}},Hd=({toolChoice:n,targetProvider:a})=>{switch(a){case"AZURE_OPENAI":case"OPENAI":case"DEEPSEEK":case"XAI":case"OLLAMA":return n;case"AWS":return Nd.parse(n);case"ANTHROPIC":return Od.parse(n);case"GOOGLE":return n;default:N()}},jd=({toolChoice:n,targetProvider:a})=>{try{const t=Bd(n);return Hd({toolChoice:t,targetProvider:a})}catch{return null}},Ol=n=>n,$l=n=>n,Bl=n=>n,Zd=n=>ve(n)?"function"in n&&ve(n.function)&&"name"in n.function&&typeof n.function.name=="string"?n.function.name:"name"in n&&typeof n.name=="string"?n.name:null:null,Ud=({instanceTools:n,provider:a})=>n.map(t=>{switch(a){case"OPENAI":case"DEEPSEEK":case"XAI":case"OLLAMA":case"AZURE_OPENAI":{const l=lt(t.definition);return{...t,definition:l??t.definition}}case"ANTHROPIC":{const l=lt(t.definition),i=l?Nl({toolDefinition:l,targetProvider:a}):t.definition;return{...t,definition:i}}case"AWS":{const l=lt(t.definition),i=l?Nl({toolDefinition:l,targetProvider:a}):t.definition;return{...t,definition:i}}case"GOOGLE":return t;default:N()}}),Gd=({toolCalls:n,provider:a})=>{if(n!=null)return n.map(t=>{switch(a){case"OPENAI":case"DEEPSEEK":case"XAI":case"OLLAMA":case"AZURE_OPENAI":return cn(t)??t;case"ANTHROPIC":{const l=cn(t);return l!=null?St({toolCall:l,targetProvider:a}):t}case"AWS":{const l=cn(t);return l!=null?St({toolCall:l,targetProvider:a}):t}case"GOOGLE":return t;default:N()}})};let Qd=0,Wd=0,qd=1,Xd=0;const yr=()=>Qd++,Ca=()=>qd++,kg=()=>Xd++,Yd=()=>Wd++,vr=()=>({__type:"chat",messages:[{id:Ca(),role:"system",content:"You are a chatbot"},{id:Ca(),role:"user",content:"{{question}}"}]}),nl=n=>({template:{__type:"chat",messageIds:n.messages.map(a=>a.id)},messages:n.messages.reduce((a,t)=>(a[t.id]=t,a),{})}),Jd={__type:"text_completion",prompt:"{{question}}"},e0=()=>({model:{provider:mr,modelName:ud,invocationParameters:[],supportedInvocationParameters:[]},tools:[],toolChoice:"auto",output:void 0,spanId:null,activeRunId:null});function n0(){const n=vr(),a=nl(n);return{instance:{id:yr(),template:a.template,...e0()},instanceMessages:a.messages}}function Lg(){return{type:"json_schema",json_schema:{name:"response",schema:{type:"object",properties:{},required:[],additionalProperties:!1},strict:!0}}}function a0(n){if(n.instances!=null&&n.instances.length>0){let o={};return{instances:n.instances.map(d=>{if(d.template.__type==="chat"){const u=nl(d.template);return o={...o,...u.messages},{...d,template:u.template}}return d}),instanceMessages:o}}const{instance:a,instanceMessages:t}=n0(),l=Object.values(n.modelConfigByProvider);if(!(l.length>0))return{instances:[a],instanceMessages:t};const r=l.find(o=>o.provider===mr)??l[0];return a.model={...a.model,...r},{instances:[a],instanceMessages:t}}const Sg=n=>{const{instances:a,instanceMessages:t}=a0(n);return An(Jn((i,r)=>({streaming:!0,repetitions:1,operationType:"chat",inputMode:"manual",dirtyInstances:{},input:{variablesValueCache:{}},templateFormat:Xe.Mustache,...n,instances:a,allInstanceMessages:t,setInput:o=>{i({input:o})},setOperationType:o=>{if(o==="chat"){const c=[];let d={};r().instances.forEach(u=>{const g=vr(),h=nl(g);d={...d,...h.messages},c.push({...u,template:h.template})}),i({instances:c,allInstanceMessages:d})}else i({instances:r().instances.map(c=>({...c,template:Jd}))});i({operationType:o})},addInstance:()=>{const o=r().instances,c=r().allInstanceMessages,d=r().instances[0];if(!d)return;let u=[],g={};if(d.template.__type==="chat"){const f=d.template.messageIds.map(b=>c[b]).map(b=>({...b,id:Ca()}));u=f.map(b=>b.id),g=f.reduce((b,y)=>(b[y.id]=y,b),{})}i({allInstanceMessages:{...c,...g},instances:[...o,{...d,...d.template.__type==="chat"?{template:{...d.template,messageIds:u}}:{},id:yr(),activeRunId:null,experimentId:null,spanId:null}]})},updateModelSupportedInvocationParameters:({instanceId:o,supportedInvocationParameters:c,modelConfigByProvider:d})=>{const u=r().instances;i({instances:u.map(g=>{if(g.id===o){const{baseUrl:h,endpoint:f,apiVersion:b,region:y}=d[g.model.provider]??{},v=lc(g.model.invocationParameters,c),k=ic(v,c);return{...g,model:{...g.model,baseUrl:g.model.baseUrl??h,endpoint:g.model.endpoint??f,apiVersion:g.model.apiVersion??b,region:g.model.region??y,supportedInvocationParameters:c,invocationParameters:k},tools:c.find(L=>L.canonicalName===rc)?g.tools:[]}}return g})})},updateProvider:({instanceId:o,provider:c,modelConfigByProvider:d})=>{const u=r().instances,g=u.find(k=>k.id===o);if(!g||g.model.provider===c)return;const h=d[c],f=g.model.invocationParameters.find(k=>k.canonicalName===ac||k.invocationName===tc),b=k=>k==="OLLAMA"?"http://localhost:11434/v1":null,y={model:(()=>{const k={...g.model},L={modelName:null,baseUrl:b(c),apiVersion:null,endpoint:null,region:null,customHeaders:null};return{...k,...L,...h||{},...h&&{invocationParameters:[...h.invocationParameters,...f?[f]:[]]},provider:c}})(),toolChoice:jd({toolChoice:g.toolChoice,targetProvider:c})??void 0,tools:Ud({instanceTools:g.tools,provider:c})},v={};g.template.__type==="chat"&&g.template.messageIds.forEach(k=>{const L=r().allInstanceMessages[k];L&&(v[k]={...L,toolCalls:Gd({toolCalls:L.toolCalls,provider:c})})}),i({allInstanceMessages:{...r().allInstanceMessages,...v},dirtyInstances:{...r().dirtyInstances,[o]:!0},instances:u.map(k=>k.id===o?{...k,...y}:k)})},updateModel:({instanceId:o,patch:c})=>{const d=r().instances;d.find(g=>g.id===o)&&i({dirtyInstances:{...r().dirtyInstances,[o]:!0},instances:d.map(g=>g.id===o?{...g,model:{...g.model,...c}}:g)})},deleteInstance:o=>{const c=r().instances;i({instances:c.filter(d=>d.id!==o),dirtyInstances:{...r().dirtyInstances,[o]:!1}})},addMessage:({playgroundInstanceId:o,messages:c})=>{const d=r().instances;let u=[];Array.isArray(c)?u=c:c?u=[c]:u=[{id:Ca(),role:gd,content:""}],i({allInstanceMessages:{...r().allInstanceMessages,...u.reduce((g,h)=>(g[h.id]=h,g),{})},dirtyInstances:{...r().dirtyInstances,[o]:!0},instances:d.map(g=>g.id===o&&(g!=null&&g.template)&&(g==null?void 0:g.template.__type)==="chat"?{...g,template:{...g.template,messageIds:[...g.template.messageIds,...u.map(h=>h.id)]}}:g)})},updateMessage:({messageId:o,patch:c,instanceId:d})=>{const u=r().allInstanceMessages;i({allInstanceMessages:{...u,[o]:{...u[o],...c}},dirtyInstances:{...r().dirtyInstances,[d]:!0}})},deleteMessage:({instanceId:o,messageId:c})=>{const d=r().instances,u=r().allInstanceMessages;i({allInstanceMessages:Object.fromEntries(Object.entries(u).filter(([,{id:g}])=>g!==c)),dirtyInstances:{...r().dirtyInstances,[o]:!0},instances:d.map(g=>g.id===o&&(g!=null&&g.template)&&(g==null?void 0:g.template.__type)==="chat"?{...g,template:{...g.template,messageIds:g.template.messageIds.filter(h=>h!==c)}}:g)})},updateInstance:({instanceId:o,patch:c,dirty:d})=>{const u=r().instances;i({dirtyInstances:{...r().dirtyInstances,...d!=null?{[o]:d}:{}},instances:u.map(g=>g.id===o?{...g,...c}:g)})},runPlaygroundInstances:()=>{const o=r().instances;i({instances:o.map(c=>({...c,activeRunId:Yd(),spanId:null}))})},cancelPlaygroundInstances:()=>{const o=r().instances;i({instances:o.map(c=>({...c,activeRunId:null,spanId:null}))})},markPlaygroundInstanceComplete:o=>{const c=r().instances;i({instances:c.map(d=>d.id===o?{...d,activeRunId:null}:d)})},setTemplateFormat:o=>{i({templateFormat:o})},setVariableValue:(o,c)=>{const d=r().input;i({input:{...d,variablesValueCache:{...d.variablesValueCache,[o]:c}}})},setStreaming:o=>{i({streaming:o})},setRepetitions:o=>{i({repetitions:o})},updateInstanceModelInvocationParameters:({instanceId:o,invocationParameters:c})=>{r().instances.find(u=>u.id===o)&&i({dirtyInstances:{...r().dirtyInstances,[o]:!0},instances:r().instances.map(u=>u.id===o?{...u,model:{...u.model,invocationParameters:c}}:u)})},upsertInvocationParameterInput:({instanceId:o,invocationParameterInput:c})=>{const d=r().instances.find(g=>g.id===o);if(!d)return;const u=d.model.invocationParameters.find(g=>Fl(g,c));i(u?{dirtyInstances:{...r().dirtyInstances,[o]:!0},instances:r().instances.map(g=>g.id===o?{...g,model:{...g.model,invocationParameters:g.model.invocationParameters.map(h=>Fl(h,c)?c:h)}}:g)}:{dirtyInstances:{...r().dirtyInstances,[o]:!0},instances:r().instances.map(g=>g.id===o?{...g,model:{...g.model,invocationParameters:[...g.model.invocationParameters,c]}}:g)})},deleteInvocationParameterInput:({instanceId:o,invocationParameterInputInvocationName:c})=>{r().instances.find(u=>u.id===o)&&i({dirtyInstances:{...r().dirtyInstances,[o]:!0},instances:r().instances.map(u=>u.id===o?{...u,model:{...u.model,invocationParameters:u.model.invocationParameters.filter(g=>g.invocationName!==c)}}:u)})},setDirty:(o,c)=>{i({dirtyInstances:{...r().dirtyInstances,[o]:c}})}})))};function t0(n){return n==="OPENAI"||n==="AZURE_OPENAI"||n==="ANTHROPIC"||n==="GOOGLE"||n==="DEEPSEEK"||n==="XAI"||n==="OLLAMA"||n==="AWS"}function xg(n){switch(n){case"OPENAI":return"OpenAI";case"AZURE_OPENAI":return"Azure OpenAI";case"ANTHROPIC":return"Anthropic";case"GOOGLE":return"Google";case"DEEPSEEK":return"DeepSeek";case"XAI":return"XAI";case"OLLAMA":return"Ollama";case"AWS":return"AWS";default:N()}}function wg(n){switch(n){case"OPENAI":return Pn.OPENAI.toString();case"AZURE_OPENAI":return Pn.AZURE.toString();case"ANTHROPIC":return Pn.ANTHROPIC.toString();case"GOOGLE":return Pn.GOOGLE.toString();case"AWS":return Pn.AWS.toString();case"DEEPSEEK":return"deepseek";case"XAI":return"xai";case"OLLAMA":throw new Error("Ollama is not supported");default:N()}}function l0(n){return typeof n=="object"&&n!==null&&Object.keys(n).length>0&&Object.keys(n).every(a=>a in Lt)&&Object.values(n).every(a=>typeof a=="string")}function i0(n){const a={};for(const t of Object.keys(n))t0(t)&&Lt[t].length===1&&(a[t]={[Lt[t][0].envVarName]:n[t]});return a}const Tg=n=>{const a=t=>({setCredential:({provider:l,envVarName:i,value:r})=>{t(o=>({[l]:{...o[l],[i]:r}}))},...n});return An()(wa(Jn(a),{version:1,name:"arize-phoenix-credentials",migrate:t=>{if(l0(t))return i0(t)}}))};function Ra(n){return e("div",{onClick:a=>a.stopPropagation(),css:p`
179
179
  display: inline-block;
180
180
  `,children:e(Ta,{css:p`
181
181
  color: var(--ac-global-link-color);
@@ -1,4 +1,4 @@
1
- import{U as g,j as o,cJ as y,ef as x,eg as z,eh as w,V as c,cA as P,ei as a,r as k,o as S,ej as L}from"./vendor-3BvTzoBp.js";import{u as C,P as R}from"./vendor-arizeai-C6_oC0y8.js";import{L as E,h as I,r as j,i as A,j as D,F,k as T,P as M,l as G,M as t,n as _,D as O,o as V,E as N,p as W,q,s as B,t as U,v as d,w as $,x as J,y as K,z as H,B as Q,C as X,G as Y,H as Z,I as oo,J as ao,K as lo,N as m,O as p,Q as ro,U as co,V as go,W as eo,X as bo,Y as no,Z as io,_ as so,$ as to,a0 as mo,a1 as po,a2 as uo,a3 as fo,a4 as vo,a5 as ho,a6 as yo,a7 as u,a8 as xo,a9 as zo,aa as wo,ab as Po,ac as ko,ad as f,ae as v,af as So,ag as Lo,ah as Co,ai as Ro,aj as Eo,ak as Io,al as jo,am as Ao,an as Do,ao as Fo,ap as To,aq as Mo,ar as Go,as as _o,at as Oo,au as Vo,av as n,aw as No,ax as Wo,ay as qo,az as Bo,aA as Uo,aB as $o,aC as Jo,aD as Ko}from"./pages-Dl8TWyNq.js";import{g9 as Ho,d1 as Qo,W as Xo,ga as Yo}from"./components-X_GtZhnz.js";import"./vendor-three-BtCyLs1w.js";import"./vendor-codemirror-DPnZGAZA.js";import"./vendor-shiki-CJyhDG0E.js";import"./vendor-recharts-CjgSbsB0.js";(function(){const b=document.createElement("link").relList;if(b&&b.supports&&b.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const e of r)if(e.type==="childList")for(const i of e.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function h(r){const e={};return r.integrity&&(e.integrity=r.integrity),r.referrerPolicy&&(e.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?e.credentials="include":r.crossOrigin==="anonymous"?e.credentials="omit":e.credentials="same-origin",e}function s(r){if(r.ep)return;r.ep=!0;const e=h(r);fetch(r.href,e)}})();const Zo=g`
1
+ import{U as g,j as o,cJ as y,ef as x,eg as z,eh as w,V as c,cA as P,ei as a,r as k,o as S,ej as L}from"./vendor-3BvTzoBp.js";import{u as C,P as R}from"./vendor-arizeai-C6_oC0y8.js";import{L as E,h as I,r as j,i as A,j as D,F,k as T,P as M,l as G,M as t,n as _,D as O,o as V,E as N,p as W,q,s as B,t as U,v as d,w as $,x as J,y as K,z as H,B as Q,C as X,G as Y,H as Z,I as oo,J as ao,K as lo,N as m,O as p,Q as ro,U as co,V as go,W as eo,X as bo,Y as no,Z as io,_ as so,$ as to,a0 as mo,a1 as po,a2 as uo,a3 as fo,a4 as vo,a5 as ho,a6 as yo,a7 as u,a8 as xo,a9 as zo,aa as wo,ab as Po,ac as ko,ad as f,ae as v,af as So,ag as Lo,ah as Co,ai as Ro,aj as Eo,ak as Io,al as jo,am as Ao,an as Do,ao as Fo,ap as To,aq as Mo,ar as Go,as as _o,at as Oo,au as Vo,av as n,aw as No,ax as Wo,ay as qo,az as Bo,aA as Uo,aB as $o,aC as Jo,aD as Ko}from"./pages-DIVgyYyy.js";import{g9 as Ho,d1 as Qo,W as Xo,ga as Yo}from"./components-BLK5vehh.js";import"./vendor-three-BtCyLs1w.js";import"./vendor-codemirror-DPnZGAZA.js";import"./vendor-shiki-CJyhDG0E.js";import"./vendor-recharts-CjgSbsB0.js";(function(){const b=document.createElement("link").relList;if(b&&b.supports&&b.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const e of r)if(e.type==="childList")for(const i of e.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function h(r){const e={};return r.integrity&&(e.integrity=r.integrity),r.referrerPolicy&&(e.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?e.credentials="include":r.crossOrigin==="anonymous"?e.credentials="omit":e.credentials="same-origin",e}function s(r){if(r.ep)return;r.ep=!0;const e=h(r);fetch(r.href,e)}})();const Zo=g`
2
2
  :root,
3
3
  .ac-theme {
4
4
  --ac-global-dimension-scale-factor: 1;
@@ -1,4 +1,4 @@
1
- import{K as ge,D as Te,bX as He,I as Ln,B as _r,bY as An,J as xt,P as Er,bZ as wn,M as lt,E as ad,H as ld,b_ as Ba,b$ as qa,c0 as li,N as cl,O as tt,r as p,j as e,u as Et,bz as Da,V as s,a7 as se,R as ha,c1 as Ue,o as T,au as Y,bf as Be,bg as re,aC as Rn,bh as _n,bj as qe,a9 as le,c2 as Mn,q as kn,ax as pn,c3 as gr,aB as ae,aa as ue,ab as Re,be as el,U as K,X as ke,c4 as At,c5 as Vh,c6 as zh,c7 as Nh,ay as it,c8 as Os,aD as td,az as id,aA as rd,c9 as Ar,ca as $h,b7 as wt,cb as tn,bW as Ve,aq as wr,bE as pl,a8 as Ja,cc as jh,Q as Oh,bk as la,cd as Qh,bm as Bh,ce as qh,a0 as Ui,bG as rt,bu as _a,bs as In,bt as Za,cf as bn,m as sd,W as Qs,bx as od,Z as Uh,cg as Hh,ch as Hi,ci as Gi,cj as kt,aW as ci,ck as Gh,t as Rt,cl as Rr,bD as Mt,bF as dd,cm as Wh,ak as ui,cn as Jh,co as Bs,cp as Zh,cq as Xh,cr as Yh,cs as ek,ct as nk,cu as ak,cv as lk,cw as tk,cx as ik,cy as hl,T as rk,g as cd,cz as sk,bc as vi,cA as ud,cB as md,cC as ok,cD as dk,cE as ck,n as uk,cF as mk,cG as gk}from"./vendor-3BvTzoBp.js";import{s as pk,l as yk,j as Mr,a as En,i as Rl,b as fk,c as hk,d as Ia,e as Ea,f as gd,D as pd,g as yl,h as Hl,C as ti,k as kk,m as Ze,T as na,n as bk,o as Vr,p as qs,q as Sk,r as Us,t as vk,u as Fk,v as Ck,P as Vt,w as Kk,_ as ee,x as ne,y as pe,z as ye,A as fe,B as ve,E as Fe,F as C,G as Cl,H as ie,I as Tk,J as kl,K as b,L as v,M as zr,N as R,O as I,Q as Nl,R as Sn,S as te,U as yd,V as fd,W as Ne,X as Ae,Y as xe,Z as Se,$ as Hs,a0 as Gs,a1 as Ua,a2 as vn,a3 as qn,a4 as Kn,a5 as Tn,a6 as Hn,a7 as Aa,a8 as Nr,a9 as mn,aa as ln,ab as Wn,ac as ze,ad as en,ae as We,af as be,ag as sa,ah as wa,ai as zn,aj as Ge,ak as Ee,al as oe,am as oa,an as Ma,ao as hd,ap as Pn,aq as kd,ar as Cn,as as an,at as $r,au as nl,av as bd,aw as Sd,ax as $n,ay as Pe,az as we,aA as jn,aB as Lt,aC as _e,aD as dn,aE as Pk,aF as Ik,aG as vd,aH as pr,aI as jr,aJ as Fi,aK as xk,aL as Lk,aM as mi,aN as Wt,aO as Fd,aP as Qe,aQ as Ye,aR as Ml,aS as Ca,aT as Dl,aU as Dk,aV as _k,aW as Cd,aX as Me,aY as Kd,aZ as Ws,a_ as gn,a$ as ta,b0 as rn,b1 as Ek,b2 as st,b3 as ka,b4 as Jn,b5 as ya,b6 as Ak,b7 as wk,b8 as Rk,b9 as On,ba as fa,bb as Mk,bc as Qa,bd as Vk,be as Td,bf as Or,bg as Va,bh as Qr,bi as Br,bj as zk,bk as qr,bl as Nk,bm as $k,bn as jk,bo as Ok,bp as Qk,bq as Bk,br as qk,bs as Uk,bt as Hk,bu as Gk,bv as Dt,bw as Wk,bx as Kl,by as Jk,bz as $l,bA as Gn,bB as Vn,bC as Zk,bD as Ci,bE as Ki,bF as $e,bG as yr,bH as je,bI as Oe,bJ as Gl,bK as Xk,bL as Yk,bM as e0,bN as ia,bO as n0,bP as a0,bQ as l0,bR as Ti,bS as Pi,bT as Pd,bU as t0,bV as i0,bW as r0,bX as s0,bY as o0,bZ as zt,b_ as d0,b$ as Id,c0 as ba,c1 as c0,c2 as u0,c3 as m0,c4 as Ha,c5 as xd,c6 as Nn,c7 as Tl,c8 as Dn,c9 as g0,ca as ot,cb as Nt,cc as $t,cd as gi,ce as Ld,cf as Dd,cg as _d,ch as Ed,ci as Sa,cj as Ad,ck as Vl,cl as wd,cm as p0,cn as Rd,co as y0,cp as f0,cq as Md,cr as El,cs as h0,ct as Ur,cu as Ii,cv as on,cw as xi,cx as Li,cy as fr,cz as jt,cA as hr,cB as Di,cC as Ot,cD as Qn,cE as Hr,cF as k0,cG as Vd,cH as zd,cI as Js,cJ as Zs,cK as b0,cL as kr,cM as _i,cN as Xl,cO as Gr,cP as S0,cQ as v0,cR as Xa,cS as F0,cT as C0,cU as dt,cV as K0,cW as T0,cX as P0,cY as xa,cZ as Nd,c_ as ct,c$ as Ei,d0 as ut,d1 as da,d2 as I0,d3 as $d,d4 as ra,d5 as Ra,d6 as bl,d7 as Ga,d8 as jd,d9 as Wr,da as x0,db as L0,dc as D0,dd as Od,de as _0,df as Qd,dg as E0,dh as Bd,di as Jr,dj as qd,dk as A0,dl as Yl,dm as Zr,dn as Xr,dp as Ud,dq as Hd,dr as Gd,ds as w0,dt as et,du as xn,dv as Wd,dw as br,dx as Wl,dy as R0,dz as Yr,dA as M0,dB as V0,dC as z0,dD as Ai,dE as N0,dF as Jd,dG as $0,dH as j0,dI as O0,dJ as Q0,dK as B0,dL as q0,dM as U0,dN as H0,dO as G0,dP as Al,dQ as Xs,dR as nt,dS as za,dT as al,dU as es,dV as Zd,dW as Xd,dX as Ys,dY as eo,dZ as W0,d_ as J0,d$ as Ie,e0 as wi,e1 as mt,e2 as Yd,e3 as gt,e4 as pt,e5 as ec,e6 as nc,e7 as Z0,e8 as X0,e9 as ac,ea as Y0,eb,ec as nb,ed as ab,ee as lb,ef as Wa,eg as lc,eh as tb,ei as ib,ej as no,ek as rb,el as sb,em as ob,en as db,eo as cb,ep as ub,eq as tc,er as mb,es as gb,et as pb,eu as yb,ev as Xe,ew as ns,ex as ic,ey as ul,ez as bt,eA as ll,eB as fb,eC as hb,eD as rc,eE as kb,eF as sc,eG as as,eH as Ri,eI as Ka,eJ as pi,eK as bb,eL as Sr,eM as Sb,eN as vb,eO as oc,eP as dc,eQ as Fb,eR as vr,eS as cc,eT as ls,eU as ts,eV as uc,eW as Cb,eX as ao,eY as Kb,eZ as ca,e_ as ua,e$ as ma,f0 as ga,f1 as Tb,f2 as Pb,f3 as Ib,f4 as xb,f5 as Lb,f6 as Na,f7 as $a,f8 as tl,f9 as Qt,fa as Db,fb as ii,fc as _b,fd as Eb,fe as Ab,ff as wb,fg as Rb,fh as is,fi as yi,fj as Mb,fk as Vb,fl as zb,fm as lo,fn as mc,fo as Nb,fp as $b,fq as rs,fr as ss,fs as jb,ft as Jl,fu as Ob,fv as Qb,fw as Bb,fx as qb,fy as Ub,fz as Hb,fA as os,fB as fi,fC as Gb,fD as Wb,fE as gc,fF as ri,fG as Jb,fH as Zb,fI as pc,fJ as Xb,fK as Yb,fL as jl,fM as eS,fN as nS,fO as aS,fP as lS,fQ as tS,fR as si,fS as to,fT as iS,fU as Wi,fV as rS,fW as sS,fX as io,fY as ro,fZ as oS,f_ as dS,f$ as cS,g0 as uS,g1 as mS,g2 as gS,g3 as yc,g4 as pS,g5 as yS,g6 as fS,g7 as so,g8 as oo}from"./components-X_GtZhnz.js";import{T as ds,_ as Ol,a as Mi,b as fc,D as hS,A as kS}from"./vendor-arizeai-C6_oC0y8.js";import{g as Pl,i as Il,j as bS,E as hc,R as xl,k as cs,d as SS,p as Bt,q as kc}from"./vendor-codemirror-DPnZGAZA.js";import{P as us,C as ms,T as cn,a as gs,R as un,b as Ql,X as yn,Y as nn,c as fn,B as Je,A as _t,d as bc,L as Sc,e as Xn,f as pa,g as Yn,h as vS}from"./vendor-recharts-CjgSbsB0.js";const CS=4,KS="Unable to parse span input messages, expected messages which include a role and content.",TS="Unable to parse span output messages, expected messages which include a role and content.",PS="Unable to parse span output expected output.value to be present.",IS="Unable to parse span attributes, attributes must be valid JSON.",xS="Unable to parse model config, expected llm.model_name to be present.",LS="Unable to parse model config, expected llm.invocation_parameters JSON string to be present.",DS="Unable to parse invocation parameters response_format, expected llm.invocation_parameters.response_format to be a well formed json object or undefined.",_S="Unable to parse tools, expected tools to be an array of valid tools.",ES="Unable to parse prompt template variables, expected prompt template variables to be a valid JSON object string.",co={AZURE_OPENAI:[],ANTHROPIC:["claude"],OPENAI:["gpt","o1"],GOOGLE:["gemini"],DEEPSEEK:["deepseek"],XAI:["grok"],OLLAMA:[],AWS:["nova","titan"]},fl="TOOL_CHOICE",Zl="tool_choice",La="RESPONSE_FORMAT",Ta="response_format",AS=[fl,La],wS=ge({tool_call:ge({id:Te().optional(),function:ge({name:Te(),arguments:Te()}).partial()}).partial()}).partial(),vc=ge({[He.message]:ge({[An.role]:Te(),[An.content]:_r([Te(),Ln(xt(Te(),Er()))]).default(""),[An.contents]:Ln(ge({message_content:xt(Te())})).optional(),[An.tool_calls]:Ln(wS).optional(),[An.tool_call_id]:Te().optional()})}),RS=ge({[He.llm]:ge({[wn.input_messages]:Ln(vc)})}),MS=ge({[He.llm]:ge({[wn.output_messages]:Ln(vc)})}),VS=ge({[He.output]:ge({value:Te()})}),Fc=pk()(lt(["user","ai","system","tool"])),zS=ge({id:ad(),role:Fc,content:Te().optional(),toolCallId:Te().optional(),toolCalls:Ln(yk).optional()}),NS=Ln(zS),Cc=ld(()=>xt(Mr)),$S=Cc,Kc=Te().transform((n,a)=>{const{json:l}=En(n);if(!Rl(l))return a.addIssue({code:Ba.custom,message:"The invocation parameters must be a valid JSON object"}),qa;const{success:t,data:i}=$S.safeParse(l);return t?i:(a.addIssue({code:Ba.custom,message:"The invocation parameters must be a valid JSON object"}),qa)}).default("{}"),jS=ge({[He.llm]:ge({[wn.provider]:Te().optional(),[wn.model_name]:Te()})}),Tc=ge({[He.llm]:ge({[wn.invocation_parameters]:Kc})}),OS=ge({[He.llm]:ge({[wn.invocation_parameters]:Kc.pipe(ge({response_format:Cc.optional()}))})}),Pc=ge({url:ge({full:Te(),path:Te().optional()})}),QS=Te().transform((n,a)=>{const{json:l}=En(n);return l==null||!Rl(l)?(a.addIssue({code:Ba.custom,message:"The tool JSON schema must be a valid JSON object"}),qa):l}).transform((n,a)=>{const{data:l,success:t}=fk.safeParse(n);return t?l:(a.addIssue({code:Ba.custom,message:"The tool JSON schema must be a valid tool schema"}),qa)}),BS=ge({[He.llm]:ge({[wn.tools]:Ln(ge({[He.tool]:ge({[li.json_schema]:QS})}).optional()).optional()}).optional()}).optional(),qS=ld(()=>ge({type:cl("json_schema"),json_schema:ge({name:Te().describe("The name of the schema"),schema:hk.describe("The schema itself in JSON schema format"),strict:cl(!0).describe("The schema must be strict")})})),US=tt(qS,{removeAdditionalStrategy:"passthrough"}),HS=Te().transform((n,a)=>{const{json:l}=En(n);return Ia(l)?Object.entries(l).reduce((i,[r,o])=>{if(typeof o=="string")i[r]=o;else{const{json:d}=Ea(o);d!=null&&(i[r]=d)}return i},{}):(a.addIssue({code:Ba.custom,message:"The prompt template variables must be a valid JSON object"}),qa)}),GS=ge({[He.llm]:ge({[wn.prompt_template]:ge({variables:HS}).optional()}).optional()}).optional();function Ic(n){return Fc.safeParse(n).success}function ml(n){const a=n.toLowerCase();if(Ic(a))return a;for(const[l,t]of Object.entries(ti))if(t.includes(a))return l;return kk}function WS({toolCalls:n,provider:a}){if(n!=null)return n.map(({tool_call:l})=>{var i,r,o,d;if(l==null)return null;let t={};if(((i=l.function)==null?void 0:i.arguments)!=null){const{json:c}=En(l.function.arguments);Ia(c)&&(t=c)}switch(a){case"OPENAI":case"AZURE_OPENAI":case"DEEPSEEK":case"XAI":case"AWS":case"OLLAMA":return{id:l.id??"",type:"function",function:{name:((r=l.function)==null?void 0:r.name)??"",arguments:t}};case"ANTHROPIC":return{id:l.id??"",type:"tool_use",name:((o=l.function)==null?void 0:o.name)??"",input:t};case"GOOGLE":return{id:l.id??"",function:{name:((d=l.function)==null?void 0:d.name)??"",arguments:t}};default:Ze()}}).filter(l=>l!=null)}function xc({messages:n,provider:a}){return n.map(({message:l})=>{var t,i;return{id:yl(),role:l.tool_call_id!=null?ml("tool"):ml(l.role),content:Array.isArray(l.contents)?((i=(t=l.contents.find(r=>r.message_content.type==="text"))==null?void 0:t.message_content)==null?void 0:i.text)??void 0:typeof l.content=="string"?l.content:void 0,toolCalls:WS({provider:a,toolCalls:l.tool_calls}),toolCallId:l.tool_call_id}})}function JS({provider:n,parsedAttributes:a}){var t;const l=RS.safeParse(a);if(!l.success)return{messageParsingErrors:[KS],messages:null};if(n==="ANTHROPIC"){const{success:i,data:r}=Tc.safeParse(a);if(i){const o=l.data.llm.input_messages,d=(t=r.llm.invocation_parameters)==null?void 0:t.system;typeof d=="string"&&d&&(!o||o[0].message.role!=="system")&&l.data.llm.input_messages.unshift({message:{role:"system",content:d}})}}return{messageParsingErrors:[],messages:xc({provider:n,messages:l.data.llm.input_messages})}}function ZS({provider:n,parsedAttributes:a}){const l=[],t=MS.safeParse(a);if(t.success)return{output:xc({provider:n,messages:t.data.llm.output_messages}),outputParsingErrors:l};l.push(TS);const i=VS.safeParse(a);return i.success?{output:i.data.output.value,outputParsingErrors:l}:(l.push(PS),{output:void 0,outputParsingErrors:l})}function Lc(n){if(n==null)return null;switch(n.toLowerCase()){case"openai":return"OPENAI";case"anthropic":return"ANTHROPIC";case"aws":return"AWS";case"google":return"GOOGLE";case"azure":return"AZURE_OPENAI";default:return null}}function XS(n){for(const a of Object.keys(co))if(co[a].some(t=>n.includes(t)))return a;return pd}function YS(n){const{success:a,data:l}=jS.safeParse(n);if(a){const t=Lc(l.llm.provider)||XS(l.llm.model_name),{baseUrl:i}=n1(n),r=t==="AZURE_OPENAI"?e1(n):{deploymentName:null,apiVersion:null,endpoint:null},o=t==="AZURE_OPENAI"&&r.deploymentName?r.deploymentName:l.llm.model_name;return{modelConfig:{...Object.fromEntries(Object.entries({baseUrl:i,endpoint:r.endpoint,apiVersion:r.apiVersion}).filter(([d,c])=>c!==null)),modelName:o,provider:t,invocationParameters:[],supportedInvocationParameters:[]},parsingErrors:[]}}return{modelConfig:null,parsingErrors:[xS]}}function e1(n){var u;const{success:a,data:l}=T1.safeParse(n),t=a&&typeof((u=l==null?void 0:l.metadata)==null?void 0:u.ls_model_name)=="string"&&l.metadata.ls_model_name.trim()?l.metadata.ls_model_name.trim():null,{success:i,data:r}=Pc.safeParse(n),{endpoint:o,apiVersion:d,deploymentName:c}=i?P1(r.url.full):{endpoint:null,apiVersion:null,deploymentName:null};return{deploymentName:c??t,apiVersion:d,endpoint:o}}function n1(n){const{success:a,data:l}=Pc.safeParse(n);if(a)try{let i=new URL(l.url.full);if(l.url.path)try{i=new URL(l.url.full.split(l.url.path)[0])}catch{}return{baseUrl:`${i.origin}${i.pathname}`}}catch{}return{baseUrl:null}}function a1(n,a=[]){const{success:l,data:t}=Tc.safeParse(n),i=[];return l||i.push(LS),{invocationParameters:u1((t==null?void 0:t.llm.invocation_parameters)??{},a),parsingErrors:i}}function l1(n){const{success:a,data:l}=OS.safeParse(n);return a?{responseFormat:l.llm.invocation_parameters.response_format,parsingErrors:[]}:{responseFormat:void 0,parsingErrors:[DS]}}function t1(n){var a;return(((a=n==null?void 0:n.llm)==null?void 0:a.tools)??[]).map(l=>(l==null?void 0:l.tool)==null?null:{id:Hl(),definition:l.tool.json_schema}).filter(l=>l!=null)}function i1(n){var t;const{data:a,success:l}=BS.safeParse(n);return l?((t=a==null?void 0:a.llm)==null?void 0:t.tools)==null?{tools:null,parsingErrors:[]}:{tools:t1(a),parsingErrors:[]}:{tools:null,parsingErrors:[_S]}}function r1(n){var t;const{success:a,data:l}=GS.safeParse(n);return a?((t=l==null?void 0:l.llm)==null?void 0:t.prompt_template)==null?{variables:null,parsingErrors:[]}:{variables:l.llm.prompt_template.variables,parsingErrors:[]}:{variables:null,parsingErrors:[ES]}}function s1(n){const{instance:a,instanceMessages:l}=gd(),t={...a,template:{__type:"chat",messages:Object.values(l)}},{json:i,parseError:r}=En(n.attributes);if(r)return{playgroundInstance:{...t,spanId:(n==null?void 0:n.id)??null},parsingErrors:[IS]};const o=n.invocationParameters,d=YS(i);let{modelConfig:c}=d;const{parsingErrors:u}=d,{messages:y,messageParsingErrors:g}=JS({provider:(c==null?void 0:c.provider)??t.model.provider,parsedAttributes:i}),{output:m,outputParsingErrors:f}=ZS({provider:(c==null?void 0:c.provider)??t.model.provider,parsedAttributes:i}),{invocationParameters:k,parsingErrors:h}=a1(i,o),{variables:S,parsingErrors:F}=r1(i),{parsingErrors:P}=l1(i);c=c!=null?{...c,invocationParameters:P.length>0?k.filter(L=>L.invocationName!==Ta&&L.canonicalName!==La):k}:null;const{tools:D,parsingErrors:M}=i1(i),V=y==null?void 0:y.map(L=>({...L,content:L.role==="tool"?ps(L.content):L.content}));return{playgroundInstance:{...t,model:c??t.model,template:V!=null?{__type:"chat",messages:V}:t.template,output:m,spanId:n.id,tools:D??t.tools},playgroundInput:S!=null?{variablesValueCache:S}:void 0,parsingErrors:[...g,...f,...u,...M,...h,...P,...F]}}const o1=n=>NS.safeParse(n).success,Dc=({instance:n,templateFormat:a})=>{if(a==na.NONE)return[];const l=new Set,t=n.template.__type,i=bk(a);switch(t){case"chat":{n.template.messages.forEach(r=>{(r.content==null?[]:i.extractVariables(r.content)).forEach(d=>{l.add(d)})});break}case"text_completion":{i.extractVariables(n.template.prompt).forEach(o=>{l.add(o)});break}default:Ze()}return Array.from(l)},d1=({instances:n,templateFormat:a})=>a==na.NONE?[]:Array.from(new Set(n.flatMap(l=>Dc({instance:l,templateFormat:a})))),_c=({instances:n,templateFormat:a,input:l})=>{if(a==na.NONE)return{variablesMap:{},variableKeys:[]};const t=d1({instances:n,templateFormat:a}),i=l.variablesValueCache??{};return{variablesMap:t.reduce((o,d)=>(o[d]=i[d]||"",o),{}),variableKeys:t}};function Sl(n,a){return n.invocationName===a.invocationName||n.canonicalName!=null&&a.canonicalName!=null&&n.canonicalName===a.canonicalName}const c1=(n,a)=>n.filter(l=>a.some(t=>Sl(t,l))).map(l=>{var t;return{...l,invocationName:((t=a.find(i=>Sl(i,l)))==null?void 0:t.invocationName)??l.invocationName}}),yt=n=>n.replace(/_([a-z])/g,(a,l)=>l.toUpperCase()),u1=(n,a)=>Object.entries(n).map(([l,t])=>{const i=a.find(r=>r.canonicalName&&r.canonicalName.toLowerCase()===l.toLowerCase()||r.invocationName&&r.invocationName.toLowerCase()===l.toLowerCase());return i==null||i.invocationInputField==null||i.invocationName==null?null:{canonicalName:i.canonicalName,invocationName:i.invocationName,[yt(i.invocationInputField)]:t}}).filter(l=>l!=null),Ec=n=>{const{provider:a,validatedToolDefinition:l}=Ck(n.definition);switch(a){case"OPENAI":case"AZURE_OPENAI":return l.function.name;case"ANTHROPIC":return l.name;case"AWS":return l.toolSpec.name;case"UNKNOWN":return null;default:Ze()}},m1=({provider:n,toolNumber:a})=>{switch(n){case"OPENAI":case"DEEPSEEK":case"XAI":case"OLLAMA":case"AZURE_OPENAI":return{id:Hl(),definition:Us(a)};case"ANTHROPIC":return{id:Hl(),definition:Fk(a)};case"AWS":return{id:Hl(),definition:vk(a)};case"GOOGLE":return{id:Hl(),definition:Us(a)};default:Ze()}},g1=n=>{switch(n){case"OPENAI":case"AZURE_OPENAI":case"DEEPSEEK":case"XAI":case"AWS":case"OLLAMA":return qs();case"ANTHROPIC":return Sk();case"GOOGLE":return qs();default:Ze()}};function p1(n){return{content:n.content,role:y1(n.role),toolCalls:n.toolCalls,toolCallId:n.toolCallId}}function y1(n){switch(n){case"system":return"SYSTEM";case"user":return"USER";case"tool":return"TOOL";case"ai":return"AI";default:Ze()}}const Ac=n=>n.filter(a=>!(a.valueFloat!==null&&typeof a.valueFloat=="number"&&isNaN(a.valueFloat))),wc=({playgroundStore:n,instanceId:a,credentials:l})=>{var m;const{instances:t,allInstanceMessages:i}=n.getState(),r=t.find(f=>f.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(f=>i[f]).filter(f=>f!=null),d=r.model.supportedInvocationParameters;let c=Ac(r.model.invocationParameters);const u=Vr({toolChoice:r.toolChoice,targetProvider:r.model.provider});r.tools.length>0?(c=c.filter(f=>f.invocationName!==Zl&&f.canonicalName!==fl),c.push({canonicalName:fl,invocationName:Zl,valueJson:u})):c=c.filter(f=>f.invocationName!==Zl&&f.canonicalName!==fl),c=d.length?c1(c,d):c;const y=r.model.provider==="AZURE_OPENAI"?{endpoint:r.model.endpoint,apiVersion:r.model.apiVersion}:{},g=r.model.provider==="AWS"?{region:r.model.region}:{};return{messages:o.map(p1),model:{providerKey:r.model.provider,name:r.model.modelName||"",baseUrl:r.model.baseUrl,customHeaders:r.model.customHeaders,...y,...g},invocationParameters:Mc(c,r.model.provider,r.model.modelName),tools:r.tools.length?r.tools.map(f=>f.definition):void 0,credentials:f1(l,r.model.provider),promptName:(m=r.prompt)==null?void 0:m.name}},Vi=(n,a)=>{if(n.template.__type==="chat"){const{messageIds:l,...t}=n.template;return{...n,template:{...t,messages:n.template.messageIds.map(i=>a[i])}}}return n};function f1(n,a){const l=n[a],t=Vt[a];return l?t.length===0?[]:t.map(i=>({envVarName:i.envVarName,value:l[i.envVarName]??""})):[]}const h1=({playgroundStore:n,instanceId:a,credentials:l})=>{const t=wc({playgroundStore:n,instanceId:a,credentials:l}),{instances:i,templateFormat:r,input:o,allInstanceMessages:d}=n.getState(),c=i.map(y=>Vi(y,d)),{variablesMap:u}=_c({instances:c,input:o,templateFormat:r});return{...t,repetitions:1,template:{variables:u,format:r}}},uo=({playgroundStore:n,instanceId:a,credentials:l,datasetId:t,splitIds:i})=>({...wc({playgroundStore:n,instanceId:a,credentials:l}),templateFormat:n.getState().templateFormat,repetitions:n.getState().repetitions,datasetId:t,splitIds:i??null});function ps(n){if(typeof n=="string"){const a=n.startsWith('"{')||n.startsWith('"[')||n.startsWith('"\\"');try{if(a){const t=JSON.parse(n),i=typeof t=="string"?JSON.parse(t):t;return JSON.stringify(i,null,2)}}catch{}if(/^\s*[0-9{[]|true|false|null/.test(n))return n}return JSON.stringify(n,null,2)}function Rc(n,a){return a.filter(l=>l.required).every(l=>n.some(t=>Sl(t,l)))}const k1=n=>{for(const[a,l]of Object.entries(n))if(a.endsWith("DefaultValue")&&l!=null)return n[a]};function n4(n,a){const l=new Map(n.map(t=>[t.invocationName,t]));return a.forEach(t=>{var c;const i=t.invocationName,r=k1(t),o=yt(t.invocationInputField||"");if(!t.invocationName||!t.invocationInputField||!i||r==null||((c=l.get(i))==null?void 0:c[o])!=null)return;const d={canonicalName:t.canonicalName,invocationName:t.invocationName,[o]:r};l.set(i,d)}),Array.from(l.values())}const b1=ge({type:cl("enabled")}).passthrough(),S1=ge({type:lt(["any","tool"])}).passthrough(),v1=(n,a)=>{if(!a)return n;const l=n.some(t=>t.canonicalName==="ANTHROPIC_EXTENDED_THINKING"&&t.valueJson&&b1.safeParse(t.valueJson).success);return n.filter(t=>{if(t.canonicalName==="ANTHROPIC_EXTENDED_THINKING"&&!t.valueJson)return!1;if(l){if(t.canonicalName==="TEMPERATURE"||t.canonicalName==="TOP_P")return!1;if(t.canonicalName===fl)return!S1.safeParse(t.valueJson).success}return!0})},F1=["frequency_penalty","presence_penalty"],C1=n=>n.filter(l=>l.invocationName&&F1.includes(l.invocationName)?!(l.valueFloat==0||l.valueInt==0):!0),Mc=(n,a,l)=>{const t=C1(n);return a==="ANTHROPIC"?v1(t,l):t},K1=/(?:^|\/)deployments\/([^/]+)(?:\/?|$)/,T1=ge({metadata:ge({ls_model_name:Te().optional()}).optional()}).passthrough();function P1(n){try{const a=new URL(n),l=a.origin.trim(),t=a.searchParams.get("api-version"),i=t&&t.trim()?t.trim():null,o=(a.pathname||"").toString().match(K1),d=o&&o[1]?o[1].trim():null;return{endpoint:l,apiVersion:i,deploymentName:d}}catch{return{endpoint:null,apiVersion:null,deploymentName:null}}}const Vc=p.createContext(null);function a4({children:n,...a}){const[l]=p.useState(()=>Kk(a));return e(Vc.Provider,{value:l,children:n})}function zl(n,a){const l=p.useContext(Vc);if(!l)throw new Error("Missing CredentialsContext.Provider in the tree");return Et(l,n,a)}const zc="arize-phoenix-feature-flags",Ji={evaluators:!1};function I1(){const n=localStorage.getItem(zc);if(!n)return Ji;try{const a=JSON.parse(n);return Object.assign({},Ji,a)}catch{return Ji}}const Nc=p.createContext(null);function $c(){const n=ha.useContext(Nc);if(n===null)throw new Error("useFeatureFlags must be used within a FeatureFlagsProvider");return n}function x1(n){const{featureFlags:a}=$c();return a[n]}function l4(n){const[a,l]=p.useState(I1()),t=i=>{localStorage.setItem(zc,JSON.stringify(i)),l(i)};return e(Nc.Provider,{value:{featureFlags:a,setFeatureFlags:t},children:e(L1,{children:n.children})})}function L1(n){const{children:a}=n,{featureFlags:l,setFeatureFlags:t}=$c(),[i,r]=p.useState(!1);return Da("ctrl+shift+f",()=>r(!0)),s(se,{children:[a,e(ie,{isOpen:i,onOpenChange:r,children:e(ee,{size:"S",children:e(ne,{children:s(pe,{children:[s(ye,{children:[e(fe,{children:"Feature Flags"}),e(ve,{children:e(Fe,{slot:"close"})})]}),e(C,{padding:"size-100",children:Object.keys(l).map(o=>e(Cl,{isSelected:l[o],onChange:d=>t({...l,[o]:d}),children:o},o))})]})})})})]})}const jc=p.createContext(null);function D1(){const n=p.useContext(jc);if(n===null)throw new Error("useFunctionality must be used within a FunctionalityProvider");return n}function t4(n){return e(jc.Provider,{value:{authenticationEnabled:window.Config.authenticationEnabled},children:n.children})}function i4(){return e("main",{children:"Evaluators Page"})}function r4(){return s(se,{children:[e(Tk,{}),e(Ue,{})]})}const Oc={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,concreteType:"GenerativeProviderCredentialConfig",kind:"LinkedField",name:"credentialRequirements",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"envVarName",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"isRequired",storageKey:null}],storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"credentialsSet",storageKey:null}],storageKey:null}],type:"Query",abstractKey:null};Oc.hash="4062531cfa3f77e541172a44101f5331";function _1({query:n}){const a=zl(d=>d),l=T.useFragment(Oc,n),t=p.useMemo(()=>[...l.modelProviders],[l]),i=p.useMemo(()=>[{header:"Name",accessorKey:"name",cell:({row:d})=>s(b,{direction:"row",alignItems:"center",gap:"size-100",children:[e(kl,{provider:d.original.key,height:18}),d.original.name]})},{header:"Environment Variables",accessorKey:"apiKeyEnvVar",cell:({row:d})=>{const c=Vt[d.original.key],u=(c==null?void 0:c.map(y=>y.envVarName).join(", "))||d.original.credentialRequirements.map(y=>y.envVarName).join(", ")||"--";return e(v,{children:u})}},{header:"configuration",accessorKey:"credentialsSet",cell:({row:d})=>{if(!d.original.dependenciesInstalled)return e(v,{color:"warning",children:"missing dependencies"});const c=d.original.credentialRequirements;if(!zr(d.original.key))return e(v,{color:"warning",children:"unknown provider key"});const u=a[d.original.key];return c.every(({envVarName:g,isRequired:m})=>(u==null?void 0:u[g])!==void 0||!m)?e(v,{color:"success",children:"local"}):d.original.credentialsSet?e(v,{color:"success",children:"configured on the server"}):e(v,{color:"text-700",children:"not configured"})}},{header:"",accessorKey:"id",cell:({row:d})=>e(b,{direction:"row",justifyContent:"end",gap:"size-100",width:"100%",children:s(Y,{children:[e(R,{size:"S",leadingVisual:e(I,{svg:e(Nl,{})})}),e(ie,{children:e(ee,{size:"M",children:e(E1,{provider:d.original})})})]})})}],[a]),r=Be({columns:i,data:t,getCoreRowModel:qe(),getSortedRowModel:_n()}),o=r.getRowModel().rows;return e(te,{title:"AI Providers",children:s("table",{css:Sn,children:[e("thead",{children:r.getHeaderGroups().map(d=>e("tr",{children:d.headers.map(c=>e("th",{colSpan:c.colSpan,children:c.isPlaceholder?null:e("div",{children:re(c.column.columnDef.header,c.getContext())})},c.id))},d.id))}),e("tbody",{children:o.map(d=>e("tr",{children:d.getVisibleCells().map(c=>e("td",{children:re(c.column.columnDef.cell,c.getContext())},c.id))},d.id))})]})})}function E1({provider:n}){return e(ne,{children:s(pe,{children:[s(ye,{children:[s(fe,{children:["Configure ",n.name," Credentials"]}),e(ve,{children:e(Fe,{slot:"close"})})]}),s(C,{padding:"size-200",children:[e(C,{paddingBottom:"size-100",children:s(v,{size:"XS",children:["Set the credentials for the ",n.name," API. These credentials will be stored entirely in your browser and will only be sent to the server during API requests."]})}),s(Rn,{children:[e(A1,{provider:n.key}),e(C,{paddingTop:"size-200",children:s(b,{direction:"row",justifyContent:"end",gap:"size-100",children:[e(R,{variant:"default",size:"S",slot:"close",children:"Cancel"}),e(R,{variant:"primary",size:"S",slot:"close",children:"Save Credentials"})]})})]})]})]})})}function A1({provider:n}){const a=zl(i=>i.setCredential),l=Vt[n],t=zl(i=>i[n]);return e(b,{direction:"column",gap:"size-100",children:l.map(i=>s(fd,{isRequired:i.isRequired,onChange:r=>{a({provider:n,envVarName:i.envVarName,value:r})},value:(t==null?void 0:t[i.envVarName])??void 0,children:[e(le,{children:i.envVarName}),e(yd,{})]},i.envVarName))})}function s4(){const n=Mn();return kn(n),e(_1,{query:n})}const Qc={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,concreteType:"GenerativeProviderCredentialConfig",kind:"LinkedField",name:"credentialRequirements",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"envVarName",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"isRequired",storageKey:null}],storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"credentialsSet",storageKey:null}],storageKey:null}]},params:{cacheID:"1238ea27e05b70fd2c203ab4be6a1209",id:null,metadata:{},name:"settingsAIProvidersPageLoaderQuery",operationKind:"query",text:`query settingsAIProvidersPageLoaderQuery {
1
+ import{K as ge,D as Te,bX as He,I as Ln,B as _r,bY as An,J as xt,P as Er,bZ as wn,M as lt,E as ad,H as ld,b_ as Ba,b$ as qa,c0 as li,N as cl,O as tt,r as p,j as e,u as Et,bz as Da,V as s,a7 as se,R as ha,c1 as Ue,o as T,au as Y,bf as Be,bg as re,aC as Rn,bh as _n,bj as qe,a9 as le,c2 as Mn,q as kn,ax as pn,c3 as gr,aB as ae,aa as ue,ab as Re,be as el,U as K,X as ke,c4 as At,c5 as Vh,c6 as zh,c7 as Nh,ay as it,c8 as Os,aD as td,az as id,aA as rd,c9 as Ar,ca as $h,b7 as wt,cb as tn,bW as Ve,aq as wr,bE as pl,a8 as Ja,cc as jh,Q as Oh,bk as la,cd as Qh,bm as Bh,ce as qh,a0 as Ui,bG as rt,bu as _a,bs as In,bt as Za,cf as bn,m as sd,W as Qs,bx as od,Z as Uh,cg as Hh,ch as Hi,ci as Gi,cj as kt,aW as ci,ck as Gh,t as Rt,cl as Rr,bD as Mt,bF as dd,cm as Wh,ak as ui,cn as Jh,co as Bs,cp as Zh,cq as Xh,cr as Yh,cs as ek,ct as nk,cu as ak,cv as lk,cw as tk,cx as ik,cy as hl,T as rk,g as cd,cz as sk,bc as vi,cA as ud,cB as md,cC as ok,cD as dk,cE as ck,n as uk,cF as mk,cG as gk}from"./vendor-3BvTzoBp.js";import{s as pk,l as yk,j as Mr,a as En,i as Rl,b as fk,c as hk,d as Ia,e as Ea,f as gd,D as pd,g as yl,h as Hl,C as ti,k as kk,m as Ze,T as na,n as bk,o as Vr,p as qs,q as Sk,r as Us,t as vk,u as Fk,v as Ck,P as Vt,w as Kk,_ as ee,x as ne,y as pe,z as ye,A as fe,B as ve,E as Fe,F as C,G as Cl,H as ie,I as Tk,J as kl,K as b,L as v,M as zr,N as R,O as I,Q as Nl,R as Sn,S as te,U as yd,V as fd,W as Ne,X as Ae,Y as xe,Z as Se,$ as Hs,a0 as Gs,a1 as Ua,a2 as vn,a3 as qn,a4 as Kn,a5 as Tn,a6 as Hn,a7 as Aa,a8 as Nr,a9 as mn,aa as ln,ab as Wn,ac as ze,ad as en,ae as We,af as be,ag as sa,ah as wa,ai as zn,aj as Ge,ak as Ee,al as oe,am as oa,an as Ma,ao as hd,ap as Pn,aq as kd,ar as Cn,as as an,at as $r,au as nl,av as bd,aw as Sd,ax as $n,ay as Pe,az as we,aA as jn,aB as Lt,aC as _e,aD as dn,aE as Pk,aF as Ik,aG as vd,aH as pr,aI as jr,aJ as Fi,aK as xk,aL as Lk,aM as mi,aN as Wt,aO as Fd,aP as Qe,aQ as Ye,aR as Ml,aS as Ca,aT as Dl,aU as Dk,aV as _k,aW as Cd,aX as Me,aY as Kd,aZ as Ws,a_ as gn,a$ as ta,b0 as rn,b1 as Ek,b2 as st,b3 as ka,b4 as Jn,b5 as ya,b6 as Ak,b7 as wk,b8 as Rk,b9 as On,ba as fa,bb as Mk,bc as Qa,bd as Vk,be as Td,bf as Or,bg as Va,bh as Qr,bi as Br,bj as zk,bk as qr,bl as Nk,bm as $k,bn as jk,bo as Ok,bp as Qk,bq as Bk,br as qk,bs as Uk,bt as Hk,bu as Gk,bv as Dt,bw as Wk,bx as Kl,by as Jk,bz as $l,bA as Gn,bB as Vn,bC as Zk,bD as Ci,bE as Ki,bF as $e,bG as yr,bH as je,bI as Oe,bJ as Gl,bK as Xk,bL as Yk,bM as e0,bN as ia,bO as n0,bP as a0,bQ as l0,bR as Ti,bS as Pi,bT as Pd,bU as t0,bV as i0,bW as r0,bX as s0,bY as o0,bZ as zt,b_ as d0,b$ as Id,c0 as ba,c1 as c0,c2 as u0,c3 as m0,c4 as Ha,c5 as xd,c6 as Nn,c7 as Tl,c8 as Dn,c9 as g0,ca as ot,cb as Nt,cc as $t,cd as gi,ce as Ld,cf as Dd,cg as _d,ch as Ed,ci as Sa,cj as Ad,ck as Vl,cl as wd,cm as p0,cn as Rd,co as y0,cp as f0,cq as Md,cr as El,cs as h0,ct as Ur,cu as Ii,cv as on,cw as xi,cx as Li,cy as fr,cz as jt,cA as hr,cB as Di,cC as Ot,cD as Qn,cE as Hr,cF as k0,cG as Vd,cH as zd,cI as Js,cJ as Zs,cK as b0,cL as kr,cM as _i,cN as Xl,cO as Gr,cP as S0,cQ as v0,cR as Xa,cS as F0,cT as C0,cU as dt,cV as K0,cW as T0,cX as P0,cY as xa,cZ as Nd,c_ as ct,c$ as Ei,d0 as ut,d1 as da,d2 as I0,d3 as $d,d4 as ra,d5 as Ra,d6 as bl,d7 as Ga,d8 as jd,d9 as Wr,da as x0,db as L0,dc as D0,dd as Od,de as _0,df as Qd,dg as E0,dh as Bd,di as Jr,dj as qd,dk as A0,dl as Yl,dm as Zr,dn as Xr,dp as Ud,dq as Hd,dr as Gd,ds as w0,dt as et,du as xn,dv as Wd,dw as br,dx as Wl,dy as R0,dz as Yr,dA as M0,dB as V0,dC as z0,dD as Ai,dE as N0,dF as Jd,dG as $0,dH as j0,dI as O0,dJ as Q0,dK as B0,dL as q0,dM as U0,dN as H0,dO as G0,dP as Al,dQ as Xs,dR as nt,dS as za,dT as al,dU as es,dV as Zd,dW as Xd,dX as Ys,dY as eo,dZ as W0,d_ as J0,d$ as Ie,e0 as wi,e1 as mt,e2 as Yd,e3 as gt,e4 as pt,e5 as ec,e6 as nc,e7 as Z0,e8 as X0,e9 as ac,ea as Y0,eb,ec as nb,ed as ab,ee as lb,ef as Wa,eg as lc,eh as tb,ei as ib,ej as no,ek as rb,el as sb,em as ob,en as db,eo as cb,ep as ub,eq as tc,er as mb,es as gb,et as pb,eu as yb,ev as Xe,ew as ns,ex as ic,ey as ul,ez as bt,eA as ll,eB as fb,eC as hb,eD as rc,eE as kb,eF as sc,eG as as,eH as Ri,eI as Ka,eJ as pi,eK as bb,eL as Sr,eM as Sb,eN as vb,eO as oc,eP as dc,eQ as Fb,eR as vr,eS as cc,eT as ls,eU as ts,eV as uc,eW as Cb,eX as ao,eY as Kb,eZ as ca,e_ as ua,e$ as ma,f0 as ga,f1 as Tb,f2 as Pb,f3 as Ib,f4 as xb,f5 as Lb,f6 as Na,f7 as $a,f8 as tl,f9 as Qt,fa as Db,fb as ii,fc as _b,fd as Eb,fe as Ab,ff as wb,fg as Rb,fh as is,fi as yi,fj as Mb,fk as Vb,fl as zb,fm as lo,fn as mc,fo as Nb,fp as $b,fq as rs,fr as ss,fs as jb,ft as Jl,fu as Ob,fv as Qb,fw as Bb,fx as qb,fy as Ub,fz as Hb,fA as os,fB as fi,fC as Gb,fD as Wb,fE as gc,fF as ri,fG as Jb,fH as Zb,fI as pc,fJ as Xb,fK as Yb,fL as jl,fM as eS,fN as nS,fO as aS,fP as lS,fQ as tS,fR as si,fS as to,fT as iS,fU as Wi,fV as rS,fW as sS,fX as io,fY as ro,fZ as oS,f_ as dS,f$ as cS,g0 as uS,g1 as mS,g2 as gS,g3 as yc,g4 as pS,g5 as yS,g6 as fS,g7 as so,g8 as oo}from"./components-BLK5vehh.js";import{T as ds,_ as Ol,a as Mi,b as fc,D as hS,A as kS}from"./vendor-arizeai-C6_oC0y8.js";import{g as Pl,i as Il,j as bS,E as hc,R as xl,k as cs,d as SS,p as Bt,q as kc}from"./vendor-codemirror-DPnZGAZA.js";import{P as us,C as ms,T as cn,a as gs,R as un,b as Ql,X as yn,Y as nn,c as fn,B as Je,A as _t,d as bc,L as Sc,e as Xn,f as pa,g as Yn,h as vS}from"./vendor-recharts-CjgSbsB0.js";const CS=4,KS="Unable to parse span input messages, expected messages which include a role and content.",TS="Unable to parse span output messages, expected messages which include a role and content.",PS="Unable to parse span output expected output.value to be present.",IS="Unable to parse span attributes, attributes must be valid JSON.",xS="Unable to parse model config, expected llm.model_name to be present.",LS="Unable to parse model config, expected llm.invocation_parameters JSON string to be present.",DS="Unable to parse invocation parameters response_format, expected llm.invocation_parameters.response_format to be a well formed json object or undefined.",_S="Unable to parse tools, expected tools to be an array of valid tools.",ES="Unable to parse prompt template variables, expected prompt template variables to be a valid JSON object string.",co={AZURE_OPENAI:[],ANTHROPIC:["claude"],OPENAI:["gpt","o1"],GOOGLE:["gemini"],DEEPSEEK:["deepseek"],XAI:["grok"],OLLAMA:[],AWS:["nova","titan"]},fl="TOOL_CHOICE",Zl="tool_choice",La="RESPONSE_FORMAT",Ta="response_format",AS=[fl,La],wS=ge({tool_call:ge({id:Te().optional(),function:ge({name:Te(),arguments:Te()}).partial()}).partial()}).partial(),vc=ge({[He.message]:ge({[An.role]:Te(),[An.content]:_r([Te(),Ln(xt(Te(),Er()))]).default(""),[An.contents]:Ln(ge({message_content:xt(Te())})).optional(),[An.tool_calls]:Ln(wS).optional(),[An.tool_call_id]:Te().optional()})}),RS=ge({[He.llm]:ge({[wn.input_messages]:Ln(vc)})}),MS=ge({[He.llm]:ge({[wn.output_messages]:Ln(vc)})}),VS=ge({[He.output]:ge({value:Te()})}),Fc=pk()(lt(["user","ai","system","tool"])),zS=ge({id:ad(),role:Fc,content:Te().optional(),toolCallId:Te().optional(),toolCalls:Ln(yk).optional()}),NS=Ln(zS),Cc=ld(()=>xt(Mr)),$S=Cc,Kc=Te().transform((n,a)=>{const{json:l}=En(n);if(!Rl(l))return a.addIssue({code:Ba.custom,message:"The invocation parameters must be a valid JSON object"}),qa;const{success:t,data:i}=$S.safeParse(l);return t?i:(a.addIssue({code:Ba.custom,message:"The invocation parameters must be a valid JSON object"}),qa)}).default("{}"),jS=ge({[He.llm]:ge({[wn.provider]:Te().optional(),[wn.model_name]:Te()})}),Tc=ge({[He.llm]:ge({[wn.invocation_parameters]:Kc})}),OS=ge({[He.llm]:ge({[wn.invocation_parameters]:Kc.pipe(ge({response_format:Cc.optional()}))})}),Pc=ge({url:ge({full:Te(),path:Te().optional()})}),QS=Te().transform((n,a)=>{const{json:l}=En(n);return l==null||!Rl(l)?(a.addIssue({code:Ba.custom,message:"The tool JSON schema must be a valid JSON object"}),qa):l}).transform((n,a)=>{const{data:l,success:t}=fk.safeParse(n);return t?l:(a.addIssue({code:Ba.custom,message:"The tool JSON schema must be a valid tool schema"}),qa)}),BS=ge({[He.llm]:ge({[wn.tools]:Ln(ge({[He.tool]:ge({[li.json_schema]:QS})}).optional()).optional()}).optional()}).optional(),qS=ld(()=>ge({type:cl("json_schema"),json_schema:ge({name:Te().describe("The name of the schema"),schema:hk.describe("The schema itself in JSON schema format"),strict:cl(!0).describe("The schema must be strict")})})),US=tt(qS,{removeAdditionalStrategy:"passthrough"}),HS=Te().transform((n,a)=>{const{json:l}=En(n);return Ia(l)?Object.entries(l).reduce((i,[r,o])=>{if(typeof o=="string")i[r]=o;else{const{json:d}=Ea(o);d!=null&&(i[r]=d)}return i},{}):(a.addIssue({code:Ba.custom,message:"The prompt template variables must be a valid JSON object"}),qa)}),GS=ge({[He.llm]:ge({[wn.prompt_template]:ge({variables:HS}).optional()}).optional()}).optional();function Ic(n){return Fc.safeParse(n).success}function ml(n){const a=n.toLowerCase();if(Ic(a))return a;for(const[l,t]of Object.entries(ti))if(t.includes(a))return l;return kk}function WS({toolCalls:n,provider:a}){if(n!=null)return n.map(({tool_call:l})=>{var i,r,o,d;if(l==null)return null;let t={};if(((i=l.function)==null?void 0:i.arguments)!=null){const{json:c}=En(l.function.arguments);Ia(c)&&(t=c)}switch(a){case"OPENAI":case"AZURE_OPENAI":case"DEEPSEEK":case"XAI":case"AWS":case"OLLAMA":return{id:l.id??"",type:"function",function:{name:((r=l.function)==null?void 0:r.name)??"",arguments:t}};case"ANTHROPIC":return{id:l.id??"",type:"tool_use",name:((o=l.function)==null?void 0:o.name)??"",input:t};case"GOOGLE":return{id:l.id??"",function:{name:((d=l.function)==null?void 0:d.name)??"",arguments:t}};default:Ze()}}).filter(l=>l!=null)}function xc({messages:n,provider:a}){return n.map(({message:l})=>{var t,i;return{id:yl(),role:l.tool_call_id!=null?ml("tool"):ml(l.role),content:Array.isArray(l.contents)?((i=(t=l.contents.find(r=>r.message_content.type==="text"))==null?void 0:t.message_content)==null?void 0:i.text)??void 0:typeof l.content=="string"?l.content:void 0,toolCalls:WS({provider:a,toolCalls:l.tool_calls}),toolCallId:l.tool_call_id}})}function JS({provider:n,parsedAttributes:a}){var t;const l=RS.safeParse(a);if(!l.success)return{messageParsingErrors:[KS],messages:null};if(n==="ANTHROPIC"){const{success:i,data:r}=Tc.safeParse(a);if(i){const o=l.data.llm.input_messages,d=(t=r.llm.invocation_parameters)==null?void 0:t.system;typeof d=="string"&&d&&(!o||o[0].message.role!=="system")&&l.data.llm.input_messages.unshift({message:{role:"system",content:d}})}}return{messageParsingErrors:[],messages:xc({provider:n,messages:l.data.llm.input_messages})}}function ZS({provider:n,parsedAttributes:a}){const l=[],t=MS.safeParse(a);if(t.success)return{output:xc({provider:n,messages:t.data.llm.output_messages}),outputParsingErrors:l};l.push(TS);const i=VS.safeParse(a);return i.success?{output:i.data.output.value,outputParsingErrors:l}:(l.push(PS),{output:void 0,outputParsingErrors:l})}function Lc(n){if(n==null)return null;switch(n.toLowerCase()){case"openai":return"OPENAI";case"anthropic":return"ANTHROPIC";case"aws":return"AWS";case"google":return"GOOGLE";case"azure":return"AZURE_OPENAI";default:return null}}function XS(n){for(const a of Object.keys(co))if(co[a].some(t=>n.includes(t)))return a;return pd}function YS(n){const{success:a,data:l}=jS.safeParse(n);if(a){const t=Lc(l.llm.provider)||XS(l.llm.model_name),{baseUrl:i}=n1(n),r=t==="AZURE_OPENAI"?e1(n):{deploymentName:null,apiVersion:null,endpoint:null},o=t==="AZURE_OPENAI"&&r.deploymentName?r.deploymentName:l.llm.model_name;return{modelConfig:{...Object.fromEntries(Object.entries({baseUrl:i,endpoint:r.endpoint,apiVersion:r.apiVersion}).filter(([d,c])=>c!==null)),modelName:o,provider:t,invocationParameters:[],supportedInvocationParameters:[]},parsingErrors:[]}}return{modelConfig:null,parsingErrors:[xS]}}function e1(n){var u;const{success:a,data:l}=T1.safeParse(n),t=a&&typeof((u=l==null?void 0:l.metadata)==null?void 0:u.ls_model_name)=="string"&&l.metadata.ls_model_name.trim()?l.metadata.ls_model_name.trim():null,{success:i,data:r}=Pc.safeParse(n),{endpoint:o,apiVersion:d,deploymentName:c}=i?P1(r.url.full):{endpoint:null,apiVersion:null,deploymentName:null};return{deploymentName:c??t,apiVersion:d,endpoint:o}}function n1(n){const{success:a,data:l}=Pc.safeParse(n);if(a)try{let i=new URL(l.url.full);if(l.url.path)try{i=new URL(l.url.full.split(l.url.path)[0])}catch{}return{baseUrl:`${i.origin}${i.pathname}`}}catch{}return{baseUrl:null}}function a1(n,a=[]){const{success:l,data:t}=Tc.safeParse(n),i=[];return l||i.push(LS),{invocationParameters:u1((t==null?void 0:t.llm.invocation_parameters)??{},a),parsingErrors:i}}function l1(n){const{success:a,data:l}=OS.safeParse(n);return a?{responseFormat:l.llm.invocation_parameters.response_format,parsingErrors:[]}:{responseFormat:void 0,parsingErrors:[DS]}}function t1(n){var a;return(((a=n==null?void 0:n.llm)==null?void 0:a.tools)??[]).map(l=>(l==null?void 0:l.tool)==null?null:{id:Hl(),definition:l.tool.json_schema}).filter(l=>l!=null)}function i1(n){var t;const{data:a,success:l}=BS.safeParse(n);return l?((t=a==null?void 0:a.llm)==null?void 0:t.tools)==null?{tools:null,parsingErrors:[]}:{tools:t1(a),parsingErrors:[]}:{tools:null,parsingErrors:[_S]}}function r1(n){var t;const{success:a,data:l}=GS.safeParse(n);return a?((t=l==null?void 0:l.llm)==null?void 0:t.prompt_template)==null?{variables:null,parsingErrors:[]}:{variables:l.llm.prompt_template.variables,parsingErrors:[]}:{variables:null,parsingErrors:[ES]}}function s1(n){const{instance:a,instanceMessages:l}=gd(),t={...a,template:{__type:"chat",messages:Object.values(l)}},{json:i,parseError:r}=En(n.attributes);if(r)return{playgroundInstance:{...t,spanId:(n==null?void 0:n.id)??null},parsingErrors:[IS]};const o=n.invocationParameters,d=YS(i);let{modelConfig:c}=d;const{parsingErrors:u}=d,{messages:y,messageParsingErrors:g}=JS({provider:(c==null?void 0:c.provider)??t.model.provider,parsedAttributes:i}),{output:m,outputParsingErrors:f}=ZS({provider:(c==null?void 0:c.provider)??t.model.provider,parsedAttributes:i}),{invocationParameters:k,parsingErrors:h}=a1(i,o),{variables:S,parsingErrors:F}=r1(i),{parsingErrors:P}=l1(i);c=c!=null?{...c,invocationParameters:P.length>0?k.filter(L=>L.invocationName!==Ta&&L.canonicalName!==La):k}:null;const{tools:D,parsingErrors:M}=i1(i),V=y==null?void 0:y.map(L=>({...L,content:L.role==="tool"?ps(L.content):L.content}));return{playgroundInstance:{...t,model:c??t.model,template:V!=null?{__type:"chat",messages:V}:t.template,output:m,spanId:n.id,tools:D??t.tools},playgroundInput:S!=null?{variablesValueCache:S}:void 0,parsingErrors:[...g,...f,...u,...M,...h,...P,...F]}}const o1=n=>NS.safeParse(n).success,Dc=({instance:n,templateFormat:a})=>{if(a==na.NONE)return[];const l=new Set,t=n.template.__type,i=bk(a);switch(t){case"chat":{n.template.messages.forEach(r=>{(r.content==null?[]:i.extractVariables(r.content)).forEach(d=>{l.add(d)})});break}case"text_completion":{i.extractVariables(n.template.prompt).forEach(o=>{l.add(o)});break}default:Ze()}return Array.from(l)},d1=({instances:n,templateFormat:a})=>a==na.NONE?[]:Array.from(new Set(n.flatMap(l=>Dc({instance:l,templateFormat:a})))),_c=({instances:n,templateFormat:a,input:l})=>{if(a==na.NONE)return{variablesMap:{},variableKeys:[]};const t=d1({instances:n,templateFormat:a}),i=l.variablesValueCache??{};return{variablesMap:t.reduce((o,d)=>(o[d]=i[d]||"",o),{}),variableKeys:t}};function Sl(n,a){return n.invocationName===a.invocationName||n.canonicalName!=null&&a.canonicalName!=null&&n.canonicalName===a.canonicalName}const c1=(n,a)=>n.filter(l=>a.some(t=>Sl(t,l))).map(l=>{var t;return{...l,invocationName:((t=a.find(i=>Sl(i,l)))==null?void 0:t.invocationName)??l.invocationName}}),yt=n=>n.replace(/_([a-z])/g,(a,l)=>l.toUpperCase()),u1=(n,a)=>Object.entries(n).map(([l,t])=>{const i=a.find(r=>r.canonicalName&&r.canonicalName.toLowerCase()===l.toLowerCase()||r.invocationName&&r.invocationName.toLowerCase()===l.toLowerCase());return i==null||i.invocationInputField==null||i.invocationName==null?null:{canonicalName:i.canonicalName,invocationName:i.invocationName,[yt(i.invocationInputField)]:t}}).filter(l=>l!=null),Ec=n=>{const{provider:a,validatedToolDefinition:l}=Ck(n.definition);switch(a){case"OPENAI":case"AZURE_OPENAI":return l.function.name;case"ANTHROPIC":return l.name;case"AWS":return l.toolSpec.name;case"UNKNOWN":return null;default:Ze()}},m1=({provider:n,toolNumber:a})=>{switch(n){case"OPENAI":case"DEEPSEEK":case"XAI":case"OLLAMA":case"AZURE_OPENAI":return{id:Hl(),definition:Us(a)};case"ANTHROPIC":return{id:Hl(),definition:Fk(a)};case"AWS":return{id:Hl(),definition:vk(a)};case"GOOGLE":return{id:Hl(),definition:Us(a)};default:Ze()}},g1=n=>{switch(n){case"OPENAI":case"AZURE_OPENAI":case"DEEPSEEK":case"XAI":case"AWS":case"OLLAMA":return qs();case"ANTHROPIC":return Sk();case"GOOGLE":return qs();default:Ze()}};function p1(n){return{content:n.content,role:y1(n.role),toolCalls:n.toolCalls,toolCallId:n.toolCallId}}function y1(n){switch(n){case"system":return"SYSTEM";case"user":return"USER";case"tool":return"TOOL";case"ai":return"AI";default:Ze()}}const Ac=n=>n.filter(a=>!(a.valueFloat!==null&&typeof a.valueFloat=="number"&&isNaN(a.valueFloat))),wc=({playgroundStore:n,instanceId:a,credentials:l})=>{var m;const{instances:t,allInstanceMessages:i}=n.getState(),r=t.find(f=>f.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(f=>i[f]).filter(f=>f!=null),d=r.model.supportedInvocationParameters;let c=Ac(r.model.invocationParameters);const u=Vr({toolChoice:r.toolChoice,targetProvider:r.model.provider});r.tools.length>0?(c=c.filter(f=>f.invocationName!==Zl&&f.canonicalName!==fl),c.push({canonicalName:fl,invocationName:Zl,valueJson:u})):c=c.filter(f=>f.invocationName!==Zl&&f.canonicalName!==fl),c=d.length?c1(c,d):c;const y=r.model.provider==="AZURE_OPENAI"?{endpoint:r.model.endpoint,apiVersion:r.model.apiVersion}:{},g=r.model.provider==="AWS"?{region:r.model.region}:{};return{messages:o.map(p1),model:{providerKey:r.model.provider,name:r.model.modelName||"",baseUrl:r.model.baseUrl,customHeaders:r.model.customHeaders,...y,...g},invocationParameters:Mc(c,r.model.provider,r.model.modelName),tools:r.tools.length?r.tools.map(f=>f.definition):void 0,credentials:f1(l,r.model.provider),promptName:(m=r.prompt)==null?void 0:m.name}},Vi=(n,a)=>{if(n.template.__type==="chat"){const{messageIds:l,...t}=n.template;return{...n,template:{...t,messages:n.template.messageIds.map(i=>a[i])}}}return n};function f1(n,a){const l=n[a],t=Vt[a];return l?t.length===0?[]:t.map(i=>({envVarName:i.envVarName,value:l[i.envVarName]??""})):[]}const h1=({playgroundStore:n,instanceId:a,credentials:l})=>{const t=wc({playgroundStore:n,instanceId:a,credentials:l}),{instances:i,templateFormat:r,input:o,allInstanceMessages:d}=n.getState(),c=i.map(y=>Vi(y,d)),{variablesMap:u}=_c({instances:c,input:o,templateFormat:r});return{...t,repetitions:1,template:{variables:u,format:r}}},uo=({playgroundStore:n,instanceId:a,credentials:l,datasetId:t,splitIds:i})=>({...wc({playgroundStore:n,instanceId:a,credentials:l}),templateFormat:n.getState().templateFormat,repetitions:n.getState().repetitions,datasetId:t,splitIds:i??null});function ps(n){if(typeof n=="string"){const a=n.startsWith('"{')||n.startsWith('"[')||n.startsWith('"\\"');try{if(a){const t=JSON.parse(n),i=typeof t=="string"?JSON.parse(t):t;return JSON.stringify(i,null,2)}}catch{}if(/^\s*[0-9{[]|true|false|null/.test(n))return n}return JSON.stringify(n,null,2)}function Rc(n,a){return a.filter(l=>l.required).every(l=>n.some(t=>Sl(t,l)))}const k1=n=>{for(const[a,l]of Object.entries(n))if(a.endsWith("DefaultValue")&&l!=null)return n[a]};function n4(n,a){const l=new Map(n.map(t=>[t.invocationName,t]));return a.forEach(t=>{var c;const i=t.invocationName,r=k1(t),o=yt(t.invocationInputField||"");if(!t.invocationName||!t.invocationInputField||!i||r==null||((c=l.get(i))==null?void 0:c[o])!=null)return;const d={canonicalName:t.canonicalName,invocationName:t.invocationName,[o]:r};l.set(i,d)}),Array.from(l.values())}const b1=ge({type:cl("enabled")}).passthrough(),S1=ge({type:lt(["any","tool"])}).passthrough(),v1=(n,a)=>{if(!a)return n;const l=n.some(t=>t.canonicalName==="ANTHROPIC_EXTENDED_THINKING"&&t.valueJson&&b1.safeParse(t.valueJson).success);return n.filter(t=>{if(t.canonicalName==="ANTHROPIC_EXTENDED_THINKING"&&!t.valueJson)return!1;if(l){if(t.canonicalName==="TEMPERATURE"||t.canonicalName==="TOP_P")return!1;if(t.canonicalName===fl)return!S1.safeParse(t.valueJson).success}return!0})},F1=["frequency_penalty","presence_penalty"],C1=n=>n.filter(l=>l.invocationName&&F1.includes(l.invocationName)?!(l.valueFloat==0||l.valueInt==0):!0),Mc=(n,a,l)=>{const t=C1(n);return a==="ANTHROPIC"?v1(t,l):t},K1=/(?:^|\/)deployments\/([^/]+)(?:\/?|$)/,T1=ge({metadata:ge({ls_model_name:Te().optional()}).optional()}).passthrough();function P1(n){try{const a=new URL(n),l=a.origin.trim(),t=a.searchParams.get("api-version"),i=t&&t.trim()?t.trim():null,o=(a.pathname||"").toString().match(K1),d=o&&o[1]?o[1].trim():null;return{endpoint:l,apiVersion:i,deploymentName:d}}catch{return{endpoint:null,apiVersion:null,deploymentName:null}}}const Vc=p.createContext(null);function a4({children:n,...a}){const[l]=p.useState(()=>Kk(a));return e(Vc.Provider,{value:l,children:n})}function zl(n,a){const l=p.useContext(Vc);if(!l)throw new Error("Missing CredentialsContext.Provider in the tree");return Et(l,n,a)}const zc="arize-phoenix-feature-flags",Ji={evaluators:!1};function I1(){const n=localStorage.getItem(zc);if(!n)return Ji;try{const a=JSON.parse(n);return Object.assign({},Ji,a)}catch{return Ji}}const Nc=p.createContext(null);function $c(){const n=ha.useContext(Nc);if(n===null)throw new Error("useFeatureFlags must be used within a FeatureFlagsProvider");return n}function x1(n){const{featureFlags:a}=$c();return a[n]}function l4(n){const[a,l]=p.useState(I1()),t=i=>{localStorage.setItem(zc,JSON.stringify(i)),l(i)};return e(Nc.Provider,{value:{featureFlags:a,setFeatureFlags:t},children:e(L1,{children:n.children})})}function L1(n){const{children:a}=n,{featureFlags:l,setFeatureFlags:t}=$c(),[i,r]=p.useState(!1);return Da("ctrl+shift+f",()=>r(!0)),s(se,{children:[a,e(ie,{isOpen:i,onOpenChange:r,children:e(ee,{size:"S",children:e(ne,{children:s(pe,{children:[s(ye,{children:[e(fe,{children:"Feature Flags"}),e(ve,{children:e(Fe,{slot:"close"})})]}),e(C,{padding:"size-100",children:Object.keys(l).map(o=>e(Cl,{isSelected:l[o],onChange:d=>t({...l,[o]:d}),children:o},o))})]})})})})]})}const jc=p.createContext(null);function D1(){const n=p.useContext(jc);if(n===null)throw new Error("useFunctionality must be used within a FunctionalityProvider");return n}function t4(n){return e(jc.Provider,{value:{authenticationEnabled:window.Config.authenticationEnabled},children:n.children})}function i4(){return e("main",{children:"Evaluators Page"})}function r4(){return s(se,{children:[e(Tk,{}),e(Ue,{})]})}const Oc={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,concreteType:"GenerativeProviderCredentialConfig",kind:"LinkedField",name:"credentialRequirements",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"envVarName",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"isRequired",storageKey:null}],storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"credentialsSet",storageKey:null}],storageKey:null}],type:"Query",abstractKey:null};Oc.hash="4062531cfa3f77e541172a44101f5331";function _1({query:n}){const a=zl(d=>d),l=T.useFragment(Oc,n),t=p.useMemo(()=>[...l.modelProviders],[l]),i=p.useMemo(()=>[{header:"Name",accessorKey:"name",cell:({row:d})=>s(b,{direction:"row",alignItems:"center",gap:"size-100",children:[e(kl,{provider:d.original.key,height:18}),d.original.name]})},{header:"Environment Variables",accessorKey:"apiKeyEnvVar",cell:({row:d})=>{const c=Vt[d.original.key],u=(c==null?void 0:c.map(y=>y.envVarName).join(", "))||d.original.credentialRequirements.map(y=>y.envVarName).join(", ")||"--";return e(v,{children:u})}},{header:"configuration",accessorKey:"credentialsSet",cell:({row:d})=>{if(!d.original.dependenciesInstalled)return e(v,{color:"warning",children:"missing dependencies"});const c=d.original.credentialRequirements;if(!zr(d.original.key))return e(v,{color:"warning",children:"unknown provider key"});const u=a[d.original.key];return c.every(({envVarName:g,isRequired:m})=>(u==null?void 0:u[g])!==void 0||!m)?e(v,{color:"success",children:"local"}):d.original.credentialsSet?e(v,{color:"success",children:"configured on the server"}):e(v,{color:"text-700",children:"not configured"})}},{header:"",accessorKey:"id",cell:({row:d})=>e(b,{direction:"row",justifyContent:"end",gap:"size-100",width:"100%",children:s(Y,{children:[e(R,{size:"S",leadingVisual:e(I,{svg:e(Nl,{})})}),e(ie,{children:e(ee,{size:"M",children:e(E1,{provider:d.original})})})]})})}],[a]),r=Be({columns:i,data:t,getCoreRowModel:qe(),getSortedRowModel:_n()}),o=r.getRowModel().rows;return e(te,{title:"AI Providers",children:s("table",{css:Sn,children:[e("thead",{children:r.getHeaderGroups().map(d=>e("tr",{children:d.headers.map(c=>e("th",{colSpan:c.colSpan,children:c.isPlaceholder?null:e("div",{children:re(c.column.columnDef.header,c.getContext())})},c.id))},d.id))}),e("tbody",{children:o.map(d=>e("tr",{children:d.getVisibleCells().map(c=>e("td",{children:re(c.column.columnDef.cell,c.getContext())},c.id))},d.id))})]})})}function E1({provider:n}){return e(ne,{children:s(pe,{children:[s(ye,{children:[s(fe,{children:["Configure ",n.name," Credentials"]}),e(ve,{children:e(Fe,{slot:"close"})})]}),s(C,{padding:"size-200",children:[e(C,{paddingBottom:"size-100",children:s(v,{size:"XS",children:["Set the credentials for the ",n.name," API. These credentials will be stored entirely in your browser and will only be sent to the server during API requests."]})}),s(Rn,{children:[e(A1,{provider:n.key}),e(C,{paddingTop:"size-200",children:s(b,{direction:"row",justifyContent:"end",gap:"size-100",children:[e(R,{variant:"default",size:"S",slot:"close",children:"Cancel"}),e(R,{variant:"primary",size:"S",slot:"close",children:"Save Credentials"})]})})]})]})]})})}function A1({provider:n}){const a=zl(i=>i.setCredential),l=Vt[n],t=zl(i=>i[n]);return e(b,{direction:"column",gap:"size-100",children:l.map(i=>s(fd,{isRequired:i.isRequired,onChange:r=>{a({provider:n,envVarName:i.envVarName,value:r})},value:(t==null?void 0:t[i.envVarName])??void 0,children:[e(le,{children:i.envVarName}),e(yd,{})]},i.envVarName))})}function s4(){const n=Mn();return kn(n),e(_1,{query:n})}const Qc={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,concreteType:"GenerativeProviderCredentialConfig",kind:"LinkedField",name:"credentialRequirements",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"envVarName",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"isRequired",storageKey:null}],storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"credentialsSet",storageKey:null}],storageKey:null}]},params:{cacheID:"1238ea27e05b70fd2c203ab4be6a1209",id:null,metadata:{},name:"settingsAIProvidersPageLoaderQuery",operationKind:"query",text:`query settingsAIProvidersPageLoaderQuery {
2
2
  ...GenerativeProvidersCard_data
3
3
  }
4
4
 
@@ -8881,32 +8881,30 @@ fragment APIKeysTableFragment on User {
8881
8881
  }
8882
8882
  id
8883
8883
  }
8884
- `}}})();hh.hash="28061ae008e197468be6fd5f2775ccb0";const kh=(function(){var n=[{defaultValue:null,kind:"LocalArgument",name:"input"}],a=[{kind:"Variable",name:"input",variableName:"input"}],l={alias:null,args:null,kind:"ScalarField",name:"__typename",storageKey:null},t={alias:null,args:null,kind:"ScalarField",name:"apiKeyId",storageKey:null},i={alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null};return{fragment:{argumentDefinitions:n,kind:"Fragment",metadata:null,name:"APIKeysTableDeleteAPIKeyMutation",selections:[{alias:null,args:a,concreteType:"DeleteApiKeyMutationPayload",kind:"LinkedField",name:"deleteUserApiKey",plural:!1,selections:[l,t,{alias:null,args:null,concreteType:"Query",kind:"LinkedField",name:"query",plural:!1,selections:[{args:null,kind:"FragmentSpread",name:"UserAPIKeysTableFragment"}],storageKey:null}],storageKey:null}],type:"Mutation",abstractKey:null},kind:"Request",operation:{argumentDefinitions:n,kind:"Operation",name:"APIKeysTableDeleteAPIKeyMutation",selections:[{alias:null,args:a,concreteType:"DeleteApiKeyMutationPayload",kind:"LinkedField",name:"deleteUserApiKey",plural:!1,selections:[l,t,{alias:null,args:null,concreteType:"Query",kind:"LinkedField",name:"query",plural:!1,selections:[{alias:null,args:null,concreteType:"UserApiKey",kind:"LinkedField",name:"userApiKeys",plural:!0,selections:[i,{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"description",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"createdAt",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"expiresAt",storageKey:null},{alias:null,args:null,concreteType:"User",kind:"LinkedField",name:"user",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"email",storageKey:null},i],storageKey:null}],storageKey:null}],storageKey:null}],storageKey:null}]},params:{cacheID:"510641f5bceb5958f37618a9f54095c3",id:null,metadata:{},name:"APIKeysTableDeleteAPIKeyMutation",operationKind:"mutation",text:`mutation APIKeysTableDeleteAPIKeyMutation(
8884
+ `}}})();hh.hash="28061ae008e197468be6fd5f2775ccb0";const kh=(function(){var n=[{defaultValue:null,kind:"LocalArgument",name:"input"}],a=[{kind:"Variable",name:"input",variableName:"input"}],l={alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null};return{fragment:{argumentDefinitions:n,kind:"Fragment",metadata:null,name:"APIKeysTableDeleteAPIKeyMutation",selections:[{alias:null,args:a,concreteType:"DeleteApiKeyMutationPayload",kind:"LinkedField",name:"deleteUserApiKey",plural:!1,selections:[{alias:null,args:null,concreteType:"Query",kind:"LinkedField",name:"query",plural:!1,selections:[{alias:null,args:null,concreteType:"User",kind:"LinkedField",name:"viewer",plural:!1,selections:[{args:null,kind:"FragmentSpread",name:"APIKeysTableFragment"}],storageKey:null}],storageKey:null}],storageKey:null}],type:"Mutation",abstractKey:null},kind:"Request",operation:{argumentDefinitions:n,kind:"Operation",name:"APIKeysTableDeleteAPIKeyMutation",selections:[{alias:null,args:a,concreteType:"DeleteApiKeyMutationPayload",kind:"LinkedField",name:"deleteUserApiKey",plural:!1,selections:[{alias:null,args:null,concreteType:"Query",kind:"LinkedField",name:"query",plural:!1,selections:[{alias:null,args:null,concreteType:"User",kind:"LinkedField",name:"viewer",plural:!1,selections:[{alias:null,args:null,concreteType:"UserApiKey",kind:"LinkedField",name:"apiKeys",plural:!0,selections:[l,{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"description",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"createdAt",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"expiresAt",storageKey:null}],storageKey:null},l],storageKey:null}],storageKey:null}],storageKey:null}]},params:{cacheID:"4bdd87573f4445b94a5d22dca4c9da3b",id:null,metadata:{},name:"APIKeysTableDeleteAPIKeyMutation",operationKind:"mutation",text:`mutation APIKeysTableDeleteAPIKeyMutation(
8885
8885
  $input: DeleteApiKeyInput!
8886
8886
  ) {
8887
8887
  deleteUserApiKey(input: $input) {
8888
- __typename
8889
- apiKeyId
8890
8888
  query {
8891
- ...UserAPIKeysTableFragment
8889
+ viewer {
8890
+ ...APIKeysTableFragment
8891
+ id
8892
+ }
8892
8893
  }
8893
8894
  }
8894
8895
  }
8895
8896
 
8896
- fragment UserAPIKeysTableFragment on Query {
8897
- userApiKeys {
8897
+ fragment APIKeysTableFragment on User {
8898
+ apiKeys {
8898
8899
  id
8899
8900
  name
8900
8901
  description
8901
8902
  createdAt
8902
8903
  expiresAt
8903
- user {
8904
- email
8905
- id
8906
- }
8907
8904
  }
8905
+ id
8908
8906
  }
8909
- `}}})();kh.hash="3a505d9d13944798a57fc873ddf0992d";const bh=(function(){var n=[{defaultValue:null,kind:"LocalArgument",name:"id"}],a=[{kind:"Variable",name:"id",variableName:"id"}],l={alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null};return{fragment:{argumentDefinitions:n,kind:"Fragment",metadata:null,name:"APIKeysTableQuery",selections:[{alias:null,args:a,concreteType:null,kind:"LinkedField",name:"node",plural:!1,selections:[{args:null,kind:"FragmentSpread",name:"APIKeysTableFragment"}],storageKey:null}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:n,kind:"Operation",name:"APIKeysTableQuery",selections:[{alias:null,args:a,concreteType:null,kind:"LinkedField",name:"node",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"__typename",storageKey:null},l,{kind:"InlineFragment",selections:[{alias:null,args:null,concreteType:"UserApiKey",kind:"LinkedField",name:"apiKeys",plural:!0,selections:[l,{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"description",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"createdAt",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"expiresAt",storageKey:null}],storageKey:null}],type:"User",abstractKey:null}],storageKey:null}]},params:{cacheID:"cdfdedf08fd777fb83fabe0bce5ab3db",id:null,metadata:{},name:"APIKeysTableQuery",operationKind:"query",text:`query APIKeysTableQuery(
8907
+ `}}})();kh.hash="8d26517ce1b7bca6482fbd3dcdd320e3";const bh=(function(){var n=[{defaultValue:null,kind:"LocalArgument",name:"id"}],a=[{kind:"Variable",name:"id",variableName:"id"}],l={alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null};return{fragment:{argumentDefinitions:n,kind:"Fragment",metadata:null,name:"APIKeysTableQuery",selections:[{alias:null,args:a,concreteType:null,kind:"LinkedField",name:"node",plural:!1,selections:[{args:null,kind:"FragmentSpread",name:"APIKeysTableFragment"}],storageKey:null}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:n,kind:"Operation",name:"APIKeysTableQuery",selections:[{alias:null,args:a,concreteType:null,kind:"LinkedField",name:"node",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"__typename",storageKey:null},l,{kind:"InlineFragment",selections:[{alias:null,args:null,concreteType:"UserApiKey",kind:"LinkedField",name:"apiKeys",plural:!0,selections:[l,{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"description",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"createdAt",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"expiresAt",storageKey:null}],storageKey:null}],type:"User",abstractKey:null}],storageKey:null}]},params:{cacheID:"cdfdedf08fd777fb83fabe0bce5ab3db",id:null,metadata:{},name:"APIKeysTableQuery",operationKind:"query",text:`query APIKeysTableQuery(
8910
8908
  $id: ID!
8911
8909
  ) {
8912
8910
  node(id: $id) {
@@ -8926,7 +8924,7 @@ fragment APIKeysTableFragment on User {
8926
8924
  }
8927
8925
  id
8928
8926
  }
8929
- `}}})();bh.hash="6c32098d55e4cba859dcec73f3ccd28c";const Sh=(function(){var n={alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null};return{argumentDefinitions:[],kind:"Fragment",metadata:{refetch:{connection:null,fragmentPathInResult:["node"],operation:bh,identifierInfo:{identifierField:"id",identifierQueryVariableName:"id"}}},name:"APIKeysTableFragment",selections:[{alias:null,args:null,concreteType:"UserApiKey",kind:"LinkedField",name:"apiKeys",plural:!0,selections:[n,{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"description",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"createdAt",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"expiresAt",storageKey:null}],storageKey:null},n],type:"User",abstractKey:null}})();Sh.hash="6c32098d55e4cba859dcec73f3ccd28c";const nd=70;function T3({query:n}){const[a,l]=T.useRefetchableFragment(Sh,n),t=xe(),[i]=T.useMutation(kh),r=p.useCallback(g=>{i({variables:{input:{id:g}},onCompleted:()=>{t({title:"API key deleted",message:"The key has been deleted and is no longer active."}),p.startTransition(()=>{l({},{fetchPolicy:"network-only"})})}})},[i,t,l]),o=p.useMemo(()=>[...a.apiKeys],[a]),d=p.useMemo(()=>[{header:"Name",accessorKey:"name",size:100,cell:Cn},{header:"Description",accessorKey:"description",cell:Cn},{header:"Created At",accessorKey:"createdAt",size:nd,cell:an},{header:"Expires At",accessorKey:"expiresAt",size:nd,cell:an},{header:"",accessorKey:"id",size:10,cell:({row:m})=>e(b,{direction:"row",justifyContent:"end",width:"100%",children:e($r,{handleDelete:()=>{r(m.original.id)}})}),meta:{textAlign:"right"}}],[r]),c=Be({columns:d,data:o,getCoreRowModel:qe()}),u=c.getRowModel().rows,y=c.getRowModel().rows.length===0;return s("table",{css:Sn,children:[e("thead",{children:c.getHeaderGroups().map(g=>e("tr",{children:g.headers.map(m=>e("th",{colSpan:m.colSpan,children:m.isPlaceholder?null:s("div",{className:m.column.getCanSort()?"sort":"",onClick:m.column.getToggleSortingHandler(),style:{left:m.getStart(),width:m.getSize()},children:[re(m.column.columnDef.header,m.getContext()),m.column.getIsSorted()?e(I,{className:"sort-icon",svg:m.column.getIsSorted()==="asc"?e(Kn,{}):e(Tn,{})}):null]})},m.id))},g.id))}),y?e(Hn,{message:"No Keys"}):e("tbody",{children:u.map(g=>e("tr",{children:g.getVisibleCells().map(m=>e("td",{children:re(m.column.columnDef.cell,m.getContext())},m.id))},g.id))})]})}function P3({viewer:n}){var d;const[a,l]=p.useState(null),t=Ae(),[i,r]=T.useMutation(hh),o=p.useCallback((c,u)=>{var y;i({variables:{input:{...c,expiresAt:((y=c.expiresAt)==null?void 0:y.toDate(it()).toISOString())||null}},onCompleted:g=>{u(),l(g)},onError:g=>{t({title:"Error creating API key",message:g.message})}})},[i,t]);return s(se,{children:[e(te,{title:"API Keys",extra:s(Y,{children:[e(R,{size:"S",leadingVisual:e(I,{svg:e(nl,{})}),children:"New Key"}),e(ie,{children:e(ee,{size:"M",children:e(bd,{onSubmit:o,isCommitting:r})})})]}),children:e(T3,{query:n})}),e(Y,{isOpen:!!a,onOpenChange:()=>l(null),children:e(ie,{children:e(ee,{size:"L",children:e(Sd,{jwt:((d=a==null?void 0:a.createUserApiKey)==null?void 0:d.jwt)??""})})})})]})}const vh=(function(){var n=[{defaultValue:null,kind:"LocalArgument",name:"input"}],a=[{alias:null,args:[{kind:"Variable",name:"input",variableName:"input"}],concreteType:"UserMutationPayload",kind:"LinkedField",name:"patchViewer",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"__typename",storageKey:null}],storageKey:null}];return{fragment:{argumentDefinitions:n,kind:"Fragment",metadata:null,name:"ViewerProfileCardMutation",selections:a,type:"Mutation",abstractKey:null},kind:"Request",operation:{argumentDefinitions:n,kind:"Operation",name:"ViewerProfileCardMutation",selections:a},params:{cacheID:"03f161df42c71b5924a8ee665e01cdce",id:null,metadata:{},name:"ViewerProfileCardMutation",operationKind:"mutation",text:`mutation ViewerProfileCardMutation(
8927
+ `}}})();bh.hash="6c32098d55e4cba859dcec73f3ccd28c";const Sh=(function(){var n={alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null};return{argumentDefinitions:[],kind:"Fragment",metadata:{refetch:{connection:null,fragmentPathInResult:["node"],operation:bh,identifierInfo:{identifierField:"id",identifierQueryVariableName:"id"}}},name:"APIKeysTableFragment",selections:[{alias:null,args:null,concreteType:"UserApiKey",kind:"LinkedField",name:"apiKeys",plural:!0,selections:[n,{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"description",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"createdAt",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"expiresAt",storageKey:null}],storageKey:null},n],type:"User",abstractKey:null}})();Sh.hash="6c32098d55e4cba859dcec73f3ccd28c";const nd=70;function T3({query:n}){const[a,l]=T.useRefetchableFragment(Sh,n),t=xe(),[i]=T.useMutation(kh),r=p.useCallback(g=>{i({variables:{input:{id:g}},onCompleted:()=>{t({title:"API key deleted",message:"The key has been deleted and is no longer active."}),p.startTransition(()=>{l({},{fetchPolicy:"store-and-network"})})}})},[i,t,l]),o=p.useMemo(()=>a.apiKeys.filter(Boolean),[a]),d=p.useMemo(()=>[{header:"Name",accessorKey:"name",size:100,cell:Cn},{header:"Description",accessorKey:"description",cell:Cn},{header:"Created At",accessorKey:"createdAt",size:nd,cell:an},{header:"Expires At",accessorKey:"expiresAt",size:nd,cell:an},{header:"",accessorKey:"id",size:10,cell:({row:m})=>e(b,{direction:"row",justifyContent:"end",width:"100%",children:e($r,{handleDelete:()=>{r(m.original.id)}})}),meta:{textAlign:"right"}}],[r]),c=Be({columns:d,data:o,getCoreRowModel:qe()}),u=c.getRowModel().rows,y=c.getRowModel().rows.length===0;return s("table",{css:Sn,children:[e("thead",{children:c.getHeaderGroups().map(g=>e("tr",{children:g.headers.map(m=>e("th",{colSpan:m.colSpan,children:m.isPlaceholder?null:s("div",{className:m.column.getCanSort()?"sort":"",onClick:m.column.getToggleSortingHandler(),style:{left:m.getStart(),width:m.getSize()},children:[re(m.column.columnDef.header,m.getContext()),m.column.getIsSorted()?e(I,{className:"sort-icon",svg:m.column.getIsSorted()==="asc"?e(Kn,{}):e(Tn,{})}):null]})},m.id))},g.id))}),y?e(Hn,{message:"No Keys"}):e("tbody",{children:u.map(g=>e("tr",{children:g.getVisibleCells().map(m=>e("td",{children:re(m.column.columnDef.cell,m.getContext())},m.id))},g.id))})]})}function P3({viewer:n}){var d;const[a,l]=p.useState(null),t=Ae(),[i,r]=T.useMutation(hh),o=p.useCallback((c,u)=>{var y;i({variables:{input:{...c,expiresAt:((y=c.expiresAt)==null?void 0:y.toDate(it()).toISOString())||null}},onCompleted:g=>{u(),l(g)},onError:g=>{t({title:"Error creating API key",message:g.message})}})},[i,t]);return s(se,{children:[e(te,{title:"API Keys",extra:s(Y,{children:[e(R,{size:"S",leadingVisual:e(I,{svg:e(nl,{})}),children:"New Key"}),e(ie,{children:e(ee,{size:"M",children:e(bd,{onSubmit:o,isCommitting:r})})})]}),children:e(T3,{query:n})}),e(Y,{isOpen:!!a,onOpenChange:()=>l(null),children:e(ie,{children:e(ee,{size:"L",children:e(Sd,{jwt:((d=a==null?void 0:a.createUserApiKey)==null?void 0:d.jwt)??""})})})})]})}const vh=(function(){var n=[{defaultValue:null,kind:"LocalArgument",name:"input"}],a=[{alias:null,args:[{kind:"Variable",name:"input",variableName:"input"}],concreteType:"UserMutationPayload",kind:"LinkedField",name:"patchViewer",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"__typename",storageKey:null}],storageKey:null}];return{fragment:{argumentDefinitions:n,kind:"Fragment",metadata:null,name:"ViewerProfileCardMutation",selections:a,type:"Mutation",abstractKey:null},kind:"Request",operation:{argumentDefinitions:n,kind:"Operation",name:"ViewerProfileCardMutation",selections:a},params:{cacheID:"03f161df42c71b5924a8ee665e01cdce",id:null,metadata:{},name:"ViewerProfileCardMutation",operationKind:"mutation",text:`mutation ViewerProfileCardMutation(
8930
8928
  $input: PatchViewerInput!
8931
8929
  ) {
8932
8930
  patchViewer(input: $input) {
@@ -8943,7 +8941,7 @@ fragment APIKeysTableFragment on User {
8943
8941
  width: 100%;
8944
8942
  margin-left: auto;
8945
8943
  margin-right: auto;
8946
- `;function S9(){const{viewer:n}=jr();return n?e("main",{css:x3,children:e("div",{css:L3,children:s(b,{direction:"column",gap:"size-200",children:[e(I3,{}),e(P3,{viewer:n})]})})}):null}function v9(){return e(Rs,{})}function F9(){const n=Mn();kn(n);const a=p.useMemo(()=>n.span.__typename==="Span"?n.span:null,[n.span]);if(!a)throw new Error("Span not found");const{playgroundInstance:l,parsingErrors:t,playgroundInput:i}=p.useMemo(()=>s1(a),[a]),r=i!=null?{input:i}:{};return s(b,{direction:"column",height:"100%",children:[e(D3,{span:a,parsingErrors:t}),e(Rs,{instances:[l],...r},a.id)]})}function D3({span:n,parsingErrors:a}){const l=Ve(),t=a&&a.length>0,[i,r]=p.useState(!0),[o,d]=p.useState(t);return s(b,{direction:"column",children:[i&&e(Me,{variant:"info",title:"LLM Span Replay",banner:!0,dismissable:!0,onDismissClick:()=>{r(!1)},extra:e(R,{leadingVisual:e(I,{svg:e(pS,{})}),onPress:()=>{l(`/projects/${n.project.id}/traces/${n.trace.traceId}?${Zn}=${n.id}`)},children:"Back to Trace"}),children:`Replay and iterate on your LLM call from your ${n.project.name} project`}),o&&t&&e(Me,{variant:"warning",banner:!0,dismissable:!0,onDismissClick:()=>{d(!1)},title:"The following errors occurred when parsing span attributes:",children:e("ul",{children:a.map(c=>e("li",{children:c},c))})})]})}const Fh=(function(){var n=[{defaultValue:null,kind:"LocalArgument",name:"spanId"}],a=[{kind:"Variable",name:"id",variableName:"spanId"}],l={alias:null,args:null,kind:"ScalarField",name:"__typename",storageKey:null},t={alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},i={alias:null,args:null,concreteType:"Project",kind:"LinkedField",name:"project",plural:!1,selections:[t,{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null}],storageKey:null},r={alias:null,args:null,kind:"ScalarField",name:"spanId",storageKey:null},o={alias:null,args:null,concreteType:"Trace",kind:"LinkedField",name:"trace",plural:!1,selections:[t,{alias:null,args:null,kind:"ScalarField",name:"traceId",storageKey:null}],storageKey:null},d={alias:null,args:null,kind:"ScalarField",name:"attributes",storageKey:null},c=[{alias:null,args:null,kind:"ScalarField",name:"invocationInputField",storageKey:null}],u={alias:null,args:null,concreteType:null,kind:"LinkedField",name:"invocationParameters",plural:!0,selections:[l,{kind:"InlineFragment",selections:[{alias:null,args:null,kind:"ScalarField",name:"invocationName",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"canonicalName",storageKey:null}],type:"InvocationParameterBase",abstractKey:"__isInvocationParameterBase"},{kind:"InlineFragment",selections:c,type:"BooleanInvocationParameter",abstractKey:null},{kind:"InlineFragment",selections:c,type:"StringInvocationParameter",abstractKey:null},{kind:"InlineFragment",selections:c,type:"BoundedFloatInvocationParameter",abstractKey:null},{kind:"InlineFragment",selections:c,type:"FloatInvocationParameter",abstractKey:null},{kind:"InlineFragment",selections:c,type:"IntInvocationParameter",abstractKey:null},{kind:"InlineFragment",selections:c,type:"JSONInvocationParameter",abstractKey:null},{kind:"InlineFragment",selections:c,type:"StringListInvocationParameter",abstractKey:null}],storageKey:null};return{fragment:{argumentDefinitions:n,kind:"Fragment",metadata:null,name:"spanPlaygroundPageLoaderQuery",selections:[{alias:"span",args:a,concreteType:null,kind:"LinkedField",name:"node",plural:!1,selections:[l,{kind:"InlineFragment",selections:[t,i,r,o,d,u],type:"Span",abstractKey:null}],storageKey:null}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:n,kind:"Operation",name:"spanPlaygroundPageLoaderQuery",selections:[{alias:"span",args:a,concreteType:null,kind:"LinkedField",name:"node",plural:!1,selections:[l,t,{kind:"InlineFragment",selections:[i,r,o,d,u],type:"Span",abstractKey:null}],storageKey:null}]},params:{cacheID:"15db907b4e1020d0625053f7530561ad",id:null,metadata:{},name:"spanPlaygroundPageLoaderQuery",operationKind:"query",text:`query spanPlaygroundPageLoaderQuery(
8944
+ `;function S9(){const{viewer:n,refetchViewer:a}=jr();return p.useEffect(()=>{a()},[a]),n?e("main",{css:x3,children:e("div",{css:L3,children:s(b,{direction:"column",gap:"size-200",children:[e(I3,{}),e(P3,{viewer:n})]})})}):null}function v9(){return e(Rs,{})}function F9(){const n=Mn();kn(n);const a=p.useMemo(()=>n.span.__typename==="Span"?n.span:null,[n.span]);if(!a)throw new Error("Span not found");const{playgroundInstance:l,parsingErrors:t,playgroundInput:i}=p.useMemo(()=>s1(a),[a]),r=i!=null?{input:i}:{};return s(b,{direction:"column",height:"100%",children:[e(D3,{span:a,parsingErrors:t}),e(Rs,{instances:[l],...r},a.id)]})}function D3({span:n,parsingErrors:a}){const l=Ve(),t=a&&a.length>0,[i,r]=p.useState(!0),[o,d]=p.useState(t);return s(b,{direction:"column",children:[i&&e(Me,{variant:"info",title:"LLM Span Replay",banner:!0,dismissable:!0,onDismissClick:()=>{r(!1)},extra:e(R,{leadingVisual:e(I,{svg:e(pS,{})}),onPress:()=>{l(`/projects/${n.project.id}/traces/${n.trace.traceId}?${Zn}=${n.id}`)},children:"Back to Trace"}),children:`Replay and iterate on your LLM call from your ${n.project.name} project`}),o&&t&&e(Me,{variant:"warning",banner:!0,dismissable:!0,onDismissClick:()=>{d(!1)},title:"The following errors occurred when parsing span attributes:",children:e("ul",{children:a.map(c=>e("li",{children:c},c))})})]})}const Fh=(function(){var n=[{defaultValue:null,kind:"LocalArgument",name:"spanId"}],a=[{kind:"Variable",name:"id",variableName:"spanId"}],l={alias:null,args:null,kind:"ScalarField",name:"__typename",storageKey:null},t={alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},i={alias:null,args:null,concreteType:"Project",kind:"LinkedField",name:"project",plural:!1,selections:[t,{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null}],storageKey:null},r={alias:null,args:null,kind:"ScalarField",name:"spanId",storageKey:null},o={alias:null,args:null,concreteType:"Trace",kind:"LinkedField",name:"trace",plural:!1,selections:[t,{alias:null,args:null,kind:"ScalarField",name:"traceId",storageKey:null}],storageKey:null},d={alias:null,args:null,kind:"ScalarField",name:"attributes",storageKey:null},c=[{alias:null,args:null,kind:"ScalarField",name:"invocationInputField",storageKey:null}],u={alias:null,args:null,concreteType:null,kind:"LinkedField",name:"invocationParameters",plural:!0,selections:[l,{kind:"InlineFragment",selections:[{alias:null,args:null,kind:"ScalarField",name:"invocationName",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"canonicalName",storageKey:null}],type:"InvocationParameterBase",abstractKey:"__isInvocationParameterBase"},{kind:"InlineFragment",selections:c,type:"BooleanInvocationParameter",abstractKey:null},{kind:"InlineFragment",selections:c,type:"StringInvocationParameter",abstractKey:null},{kind:"InlineFragment",selections:c,type:"BoundedFloatInvocationParameter",abstractKey:null},{kind:"InlineFragment",selections:c,type:"FloatInvocationParameter",abstractKey:null},{kind:"InlineFragment",selections:c,type:"IntInvocationParameter",abstractKey:null},{kind:"InlineFragment",selections:c,type:"JSONInvocationParameter",abstractKey:null},{kind:"InlineFragment",selections:c,type:"StringListInvocationParameter",abstractKey:null}],storageKey:null};return{fragment:{argumentDefinitions:n,kind:"Fragment",metadata:null,name:"spanPlaygroundPageLoaderQuery",selections:[{alias:"span",args:a,concreteType:null,kind:"LinkedField",name:"node",plural:!1,selections:[l,{kind:"InlineFragment",selections:[t,i,r,o,d,u],type:"Span",abstractKey:null}],storageKey:null}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:n,kind:"Operation",name:"spanPlaygroundPageLoaderQuery",selections:[{alias:"span",args:a,concreteType:null,kind:"LinkedField",name:"node",plural:!1,selections:[l,t,{kind:"InlineFragment",selections:[i,r,o,d,u],type:"Span",abstractKey:null}],storageKey:null}]},params:{cacheID:"15db907b4e1020d0625053f7530561ad",id:null,metadata:{},name:"spanPlaygroundPageLoaderQuery",operationKind:"query",text:`query spanPlaygroundPageLoaderQuery(
8947
8945
  $spanId: ID!
8948
8946
  ) {
8949
8947
  span: node(id: $spanId) {
@@ -0,0 +1 @@
1
+ __version__ = "12.7.1"
@@ -1 +0,0 @@
1
- __version__ = "12.7.0"
File without changes
File without changes