arize-phoenix 8.13.1__tar.gz → 8.13.2__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 (373) hide show
  1. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/PKG-INFO +2 -1
  2. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/pyproject.toml +1 -0
  3. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/helpers/playground_clients.py +23 -7
  4. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/static/.vite/manifest.json +9 -9
  5. arize_phoenix-8.13.1/src/phoenix/server/static/assets/components-DvgP87AK.js → arize_phoenix-8.13.2/src/phoenix/server/static/assets/components-BwK8mVUO.js +2 -2
  6. arize_phoenix-8.13.1/src/phoenix/server/static/assets/index-CLClYeDh.js → arize_phoenix-8.13.2/src/phoenix/server/static/assets/index-Dp1bkaPS.js +1 -1
  7. arize_phoenix-8.13.1/src/phoenix/server/static/assets/pages-BnuKGq5F.js → arize_phoenix-8.13.2/src/phoenix/server/static/assets/pages-CZ1DOKbD.js +1 -1
  8. arize_phoenix-8.13.2/src/phoenix/version.py +1 -0
  9. arize_phoenix-8.13.1/src/phoenix/version.py +0 -1
  10. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/.gitignore +0 -0
  11. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/IP_NOTICE +0 -0
  12. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/LICENSE +0 -0
  13. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/README.md +0 -0
  14. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/__init__.py +0 -0
  15. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/auth.py +0 -0
  16. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/config.py +0 -0
  17. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/core/__init__.py +0 -0
  18. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/core/embedding_dimension.py +0 -0
  19. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/core/model.py +0 -0
  20. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/core/model_schema.py +0 -0
  21. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/core/model_schema_adapter.py +0 -0
  22. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/datetime_utils.py +0 -0
  23. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/README.md +0 -0
  24. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/__init__.py +0 -0
  25. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/alembic.ini +0 -0
  26. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/bulk_inserter.py +0 -0
  27. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/engines.py +0 -0
  28. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/enums.py +0 -0
  29. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/facilitator.py +0 -0
  30. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/helpers.py +0 -0
  31. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/insertion/__init__.py +0 -0
  32. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/insertion/constants.py +0 -0
  33. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/insertion/dataset.py +0 -0
  34. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/insertion/document_annotation.py +0 -0
  35. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/insertion/evaluation.py +0 -0
  36. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/insertion/helpers.py +0 -0
  37. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/insertion/span.py +0 -0
  38. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/insertion/span_annotation.py +0 -0
  39. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/insertion/trace_annotation.py +0 -0
  40. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/insertion/types.py +0 -0
  41. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/migrate.py +0 -0
  42. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/migrations/__init__.py +0 -0
  43. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/migrations/data_migration_scripts/__init__.py +0 -0
  44. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/migrations/data_migration_scripts/populate_project_sessions.py +0 -0
  45. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/migrations/env.py +0 -0
  46. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/migrations/script.py.mako +0 -0
  47. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/migrations/versions/10460e46d750_datasets.py +0 -0
  48. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/migrations/versions/3be8647b87d8_add_token_columns_to_spans_table.py +0 -0
  49. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/migrations/versions/4ded9e43755f_create_project_sessions_table.py +0 -0
  50. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/migrations/versions/bc8fea3c2bc8_add_prompt_tables.py +0 -0
  51. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/migrations/versions/cd164e83824f_users_and_tokens.py +0 -0
  52. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/migrations/versions/cf03bd6bae1d_init.py +0 -0
  53. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/models.py +0 -0
  54. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/types/__init__.py +0 -0
  55. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/types/identifier.py +0 -0
  56. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/db/types/model_provider.py +0 -0
  57. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/exceptions.py +0 -0
  58. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/experiments/__init__.py +0 -0
  59. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/experiments/evaluators/__init__.py +0 -0
  60. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/experiments/evaluators/base.py +0 -0
  61. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/experiments/evaluators/code_evaluators.py +0 -0
  62. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/experiments/evaluators/llm_evaluators.py +0 -0
  63. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/experiments/evaluators/utils.py +0 -0
  64. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/experiments/functions.py +0 -0
  65. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/experiments/tracing.py +0 -0
  66. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/experiments/types.py +0 -0
  67. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/experiments/utils.py +0 -0
  68. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/inferences/__init__.py +0 -0
  69. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/inferences/errors.py +0 -0
  70. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/inferences/fixtures.py +0 -0
  71. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/inferences/inferences.py +0 -0
  72. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/inferences/schema.py +0 -0
  73. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/inferences/validation.py +0 -0
  74. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/logging/__init__.py +0 -0
  75. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/logging/_config.py +0 -0
  76. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/logging/_filter.py +0 -0
  77. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/logging/_formatter.py +0 -0
  78. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/metrics/README.md +0 -0
  79. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/metrics/__init__.py +0 -0
  80. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/metrics/binning.py +0 -0
  81. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/metrics/metrics.py +0 -0
  82. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/metrics/mixins.py +0 -0
  83. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/metrics/retrieval_metrics.py +0 -0
  84. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/metrics/timeseries.py +0 -0
  85. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/metrics/wrappers.py +0 -0
  86. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/pointcloud/__init__.py +0 -0
  87. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/pointcloud/clustering.py +0 -0
  88. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/pointcloud/pointcloud.py +0 -0
  89. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/pointcloud/projectors.py +0 -0
  90. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/pointcloud/umap_parameters.py +0 -0
  91. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/py.typed +0 -0
  92. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/__init__.py +0 -0
  93. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/README.md +0 -0
  94. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/__init__.py +0 -0
  95. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/auth.py +0 -0
  96. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/context.py +0 -0
  97. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/__init__.py +0 -0
  98. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/annotation_summaries.py +0 -0
  99. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/average_experiment_run_latency.py +0 -0
  100. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/cache/__init__.py +0 -0
  101. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/cache/two_tier_cache.py +0 -0
  102. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/dataset_example_revisions.py +0 -0
  103. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/dataset_example_spans.py +0 -0
  104. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/document_evaluation_summaries.py +0 -0
  105. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/document_evaluations.py +0 -0
  106. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/document_retrieval_metrics.py +0 -0
  107. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/experiment_annotation_summaries.py +0 -0
  108. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/experiment_error_rates.py +0 -0
  109. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/experiment_run_annotations.py +0 -0
  110. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/experiment_run_counts.py +0 -0
  111. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/experiment_sequence_number.py +0 -0
  112. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/latency_ms_quantile.py +0 -0
  113. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/min_start_or_max_end_times.py +0 -0
  114. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/num_child_spans.py +0 -0
  115. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/num_spans_per_trace.py +0 -0
  116. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/project_by_name.py +0 -0
  117. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/prompt_version_sequence_number.py +0 -0
  118. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/record_counts.py +0 -0
  119. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/session_io.py +0 -0
  120. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/session_num_traces.py +0 -0
  121. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/session_num_traces_with_error.py +0 -0
  122. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/session_token_usages.py +0 -0
  123. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/session_trace_latency_ms_quantile.py +0 -0
  124. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/span_annotations.py +0 -0
  125. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/span_by_id.py +0 -0
  126. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/span_dataset_examples.py +0 -0
  127. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/span_descendants.py +0 -0
  128. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/span_projects.py +0 -0
  129. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/table_fields.py +0 -0
  130. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/token_counts.py +0 -0
  131. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/trace_by_trace_ids.py +0 -0
  132. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/trace_root_spans.py +0 -0
  133. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/user_roles.py +0 -0
  134. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/dataloaders/users.py +0 -0
  135. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/exceptions.py +0 -0
  136. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/helpers/__init__.py +0 -0
  137. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/helpers/dataset_helpers.py +0 -0
  138. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/helpers/experiment_run_filters.py +0 -0
  139. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/helpers/playground_registry.py +0 -0
  140. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/helpers/playground_spans.py +0 -0
  141. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/helpers/prompts/__init__.py +0 -0
  142. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/helpers/prompts/conversions/__init__.py +0 -0
  143. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/helpers/prompts/conversions/anthropic.py +0 -0
  144. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/helpers/prompts/conversions/openai.py +0 -0
  145. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/helpers/prompts/models.py +0 -0
  146. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/AddExamplesToDatasetInput.py +0 -0
  147. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/AddSpansToDatasetInput.py +0 -0
  148. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/ChatCompletionInput.py +0 -0
  149. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/ChatCompletionMessageInput.py +0 -0
  150. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/ClearProjectInput.py +0 -0
  151. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/ClusterInput.py +0 -0
  152. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/Coordinates.py +0 -0
  153. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/CreateDatasetInput.py +0 -0
  154. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/CreateSpanAnnotationInput.py +0 -0
  155. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/CreateTraceAnnotationInput.py +0 -0
  156. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/DataQualityMetricInput.py +0 -0
  157. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/DatasetExampleInput.py +0 -0
  158. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/DatasetSort.py +0 -0
  159. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/DatasetVersionSort.py +0 -0
  160. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/DeleteAnnotationsInput.py +0 -0
  161. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/DeleteDatasetExamplesInput.py +0 -0
  162. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/DeleteDatasetInput.py +0 -0
  163. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/DeleteExperimentsInput.py +0 -0
  164. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/DimensionFilter.py +0 -0
  165. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/DimensionInput.py +0 -0
  166. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/GenerativeModelInput.py +0 -0
  167. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/Granularity.py +0 -0
  168. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/InvocationParameters.py +0 -0
  169. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/PatchAnnotationInput.py +0 -0
  170. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/PatchDatasetExamplesInput.py +0 -0
  171. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/PatchDatasetInput.py +0 -0
  172. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/PerformanceMetricInput.py +0 -0
  173. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/ProjectSessionSort.py +0 -0
  174. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/PromptTemplateOptions.py +0 -0
  175. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/PromptVersionInput.py +0 -0
  176. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/SpanAnnotationSort.py +0 -0
  177. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/SpanSort.py +0 -0
  178. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/TimeRange.py +0 -0
  179. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/TraceAnnotationSort.py +0 -0
  180. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/UserRoleInput.py +0 -0
  181. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/input_types/__init__.py +0 -0
  182. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/interceptor.py +0 -0
  183. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/mutations/__init__.py +0 -0
  184. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/mutations/api_key_mutations.py +0 -0
  185. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/mutations/chat_mutations.py +0 -0
  186. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/mutations/dataset_mutations.py +0 -0
  187. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/mutations/experiment_mutations.py +0 -0
  188. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/mutations/export_events_mutations.py +0 -0
  189. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/mutations/project_mutations.py +0 -0
  190. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/mutations/prompt_label_mutations.py +0 -0
  191. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/mutations/prompt_mutations.py +0 -0
  192. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/mutations/prompt_version_tag_mutations.py +0 -0
  193. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/mutations/span_annotations_mutations.py +0 -0
  194. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/mutations/trace_annotations_mutations.py +0 -0
  195. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/mutations/trace_mutations.py +0 -0
  196. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/mutations/user_mutations.py +0 -0
  197. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/openapi/__init__.py +0 -0
  198. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/openapi/main.py +0 -0
  199. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/openapi/schema.py +0 -0
  200. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/queries.py +0 -0
  201. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/routers/__init__.py +0 -0
  202. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/routers/auth.py +0 -0
  203. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/routers/embeddings.py +0 -0
  204. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/routers/oauth2.py +0 -0
  205. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/routers/utils.py +0 -0
  206. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/routers/v1/__init__.py +0 -0
  207. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/routers/v1/datasets.py +0 -0
  208. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/routers/v1/evaluations.py +0 -0
  209. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/routers/v1/experiment_evaluations.py +0 -0
  210. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/routers/v1/experiment_runs.py +0 -0
  211. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/routers/v1/experiments.py +0 -0
  212. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/routers/v1/models.py +0 -0
  213. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/routers/v1/prompts.py +0 -0
  214. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/routers/v1/spans.py +0 -0
  215. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/routers/v1/traces.py +0 -0
  216. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/routers/v1/utils.py +0 -0
  217. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/schema.py +0 -0
  218. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/subscriptions.py +0 -0
  219. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/Annotation.py +0 -0
  220. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/AnnotationSummary.py +0 -0
  221. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/AnnotatorKind.py +0 -0
  222. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/ApiKey.py +0 -0
  223. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/AuthMethod.py +0 -0
  224. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/ChatCompletionMessageRole.py +0 -0
  225. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/ChatCompletionSubscriptionPayload.py +0 -0
  226. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/Cluster.py +0 -0
  227. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/CreateDatasetPayload.py +0 -0
  228. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/DataQualityMetric.py +0 -0
  229. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/Dataset.py +0 -0
  230. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/DatasetExample.py +0 -0
  231. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/DatasetExampleRevision.py +0 -0
  232. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/DatasetValues.py +0 -0
  233. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/DatasetVersion.py +0 -0
  234. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/Dimension.py +0 -0
  235. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/DimensionDataType.py +0 -0
  236. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/DimensionShape.py +0 -0
  237. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/DimensionType.py +0 -0
  238. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/DimensionWithValue.py +0 -0
  239. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/DocumentEvaluationSummary.py +0 -0
  240. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/DocumentRetrievalMetrics.py +0 -0
  241. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/EmbeddingDimension.py +0 -0
  242. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/EmbeddingMetadata.py +0 -0
  243. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/Evaluation.py +0 -0
  244. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/EvaluationSummary.py +0 -0
  245. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/Event.py +0 -0
  246. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/EventMetadata.py +0 -0
  247. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/ExampleRevisionInterface.py +0 -0
  248. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/Experiment.py +0 -0
  249. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/ExperimentAnnotationSummary.py +0 -0
  250. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/ExperimentComparison.py +0 -0
  251. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/ExperimentRun.py +0 -0
  252. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/ExperimentRunAnnotation.py +0 -0
  253. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/ExportedFile.py +0 -0
  254. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/Functionality.py +0 -0
  255. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/GenerativeModel.py +0 -0
  256. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/GenerativeProvider.py +0 -0
  257. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/Identifier.py +0 -0
  258. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/Inferences.py +0 -0
  259. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/InferencesRole.py +0 -0
  260. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/LabelFraction.py +0 -0
  261. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/MimeType.py +0 -0
  262. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/Model.py +0 -0
  263. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/NumericRange.py +0 -0
  264. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/PerformanceMetric.py +0 -0
  265. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/Project.py +0 -0
  266. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/ProjectSession.py +0 -0
  267. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/Prompt.py +0 -0
  268. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/PromptLabel.py +0 -0
  269. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/PromptResponse.py +0 -0
  270. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/PromptVersion.py +0 -0
  271. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/PromptVersionTag.py +0 -0
  272. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/PromptVersionTemplate.py +0 -0
  273. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/ResponseFormat.py +0 -0
  274. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/Retrieval.py +0 -0
  275. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/ScalarDriftMetricEnum.py +0 -0
  276. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/Segments.py +0 -0
  277. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/SortDir.py +0 -0
  278. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/Span.py +0 -0
  279. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/SpanAnnotation.py +0 -0
  280. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/SpanIOValue.py +0 -0
  281. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/SystemApiKey.py +0 -0
  282. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/TimeSeries.py +0 -0
  283. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/TokenUsage.py +0 -0
  284. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/ToolDefinition.py +0 -0
  285. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/Trace.py +0 -0
  286. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/TraceAnnotation.py +0 -0
  287. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/UMAPPoints.py +0 -0
  288. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/User.py +0 -0
  289. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/UserApiKey.py +0 -0
  290. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/UserRole.py +0 -0
  291. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/ValidationResult.py +0 -0
  292. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/VectorDriftMetricEnum.py +0 -0
  293. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/__init__.py +0 -0
  294. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/node.py +0 -0
  295. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/types/pagination.py +0 -0
  296. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/api/utils.py +0 -0
  297. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/app.py +0 -0
  298. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/bearer_auth.py +0 -0
  299. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/dml_event.py +0 -0
  300. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/dml_event_handler.py +0 -0
  301. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/email/__init__.py +0 -0
  302. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/email/sender.py +0 -0
  303. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/email/templates/__init__.py +0 -0
  304. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/email/templates/password_reset.html +0 -0
  305. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/email/types.py +0 -0
  306. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/grpc_server.py +0 -0
  307. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/jwt_store.py +0 -0
  308. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/main.py +0 -0
  309. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/oauth2.py +0 -0
  310. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/openapi/__init__.py +0 -0
  311. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/prometheus.py +0 -0
  312. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/rate_limiters.py +0 -0
  313. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/static/apple-touch-icon-114x114.png +0 -0
  314. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/static/apple-touch-icon-120x120.png +0 -0
  315. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/static/apple-touch-icon-144x144.png +0 -0
  316. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/static/apple-touch-icon-152x152.png +0 -0
  317. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/static/apple-touch-icon-180x180.png +0 -0
  318. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/static/apple-touch-icon-72x72.png +0 -0
  319. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/static/apple-touch-icon-76x76.png +0 -0
  320. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/static/apple-touch-icon.png +0 -0
  321. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/static/assets/vendor-Cg6lcjUC.css +0 -0
  322. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/static/assets/vendor-CwOvppSU.js +0 -0
  323. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/static/assets/vendor-arizeai-bw-hz0cw.js +0 -0
  324. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/static/assets/vendor-codemirror-Du5cjwoZ.js +0 -0
  325. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/static/assets/vendor-recharts-BMT-13Pz.js +0 -0
  326. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/static/assets/vendor-shiki-CevgDqNV.js +0 -0
  327. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/static/assets/vendor-three-C-AGeJYv.js +0 -0
  328. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/static/favicon.ico +0 -0
  329. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/static/modernizr.js +0 -0
  330. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/telemetry.py +0 -0
  331. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/templates/__init__.py +0 -0
  332. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/templates/index.html +0 -0
  333. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/thread_server.py +0 -0
  334. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/server/types.py +0 -0
  335. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/services.py +0 -0
  336. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/session/__init__.py +0 -0
  337. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/session/client.py +0 -0
  338. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/session/data_extractor.py +0 -0
  339. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/session/evaluation.py +0 -0
  340. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/session/session.py +0 -0
  341. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/settings.py +0 -0
  342. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/__init__.py +0 -0
  343. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/attributes.py +0 -0
  344. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/dsl/README.md +0 -0
  345. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/dsl/__init__.py +0 -0
  346. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/dsl/filter.py +0 -0
  347. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/dsl/helpers.py +0 -0
  348. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/dsl/query.py +0 -0
  349. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/errors.py +0 -0
  350. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/evaluation_conventions.py +0 -0
  351. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/exporter.py +0 -0
  352. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/fixtures.py +0 -0
  353. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/otel.py +0 -0
  354. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/projects.py +0 -0
  355. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/schemas.py +0 -0
  356. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/span_evaluations.py +0 -0
  357. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/span_json_decoder.py +0 -0
  358. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/span_json_encoder.py +0 -0
  359. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/trace_dataset.py +0 -0
  360. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/utils.py +0 -0
  361. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/v1/__init__.py +0 -0
  362. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/v1/evaluation_pb2.py +0 -0
  363. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/trace/v1/evaluation_pb2.pyi +0 -0
  364. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/utilities/__init__.py +0 -0
  365. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/utilities/client.py +0 -0
  366. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/utilities/deprecation.py +0 -0
  367. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/utilities/error_handling.py +0 -0
  368. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/utilities/json.py +0 -0
  369. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/utilities/logging.py +0 -0
  370. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/utilities/project.py +0 -0
  371. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/utilities/re.py +0 -0
  372. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/utilities/span_store.py +0 -0
  373. {arize_phoenix-8.13.1 → arize_phoenix-8.13.2}/src/phoenix/utilities/template_formatters.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arize-phoenix
3
- Version: 8.13.1
3
+ Version: 8.13.2
4
4
  Summary: AI Observability and Evaluation
5
5
  Project-URL: Documentation, https://docs.arize.com/phoenix/
6
6
  Project-URL: Issues, https://github.com/Arize-ai/phoenix/issues
@@ -56,6 +56,7 @@ Requires-Dist: websockets
56
56
  Requires-Dist: wrapt>=1.17.2
57
57
  Provides-Extra: container
58
58
  Requires-Dist: anthropic>=0.49.0; extra == 'container'
59
+ Requires-Dist: azure-identity; extra == 'container'
59
60
  Requires-Dist: fast-hdbscan>=0.2.0; extra == 'container'
60
61
  Requires-Dist: google-generativeai; extra == 'container'
61
62
  Requires-Dist: numba>=0.60.0; extra == 'container'
@@ -127,6 +127,7 @@ container = [
127
127
  "google-generativeai",
128
128
  "prometheus-client",
129
129
  "openai>=1.0.0",
130
+ "azure-identity",
130
131
  "opentelemetry-sdk",
131
132
  "opentelemetry-proto>=1.12.0",
132
133
  "opentelemetry-exporter-otlp",
@@ -659,17 +659,33 @@ class AzureOpenAIStreamingClient(OpenAIBaseStreamingClient):
659
659
  ):
660
660
  from openai import AsyncAzureOpenAI
661
661
 
662
- if not (api_key := api_key or getenv("AZURE_OPENAI_API_KEY")):
663
- raise BadRequest("An Azure API key is required for Azure OpenAI models")
664
662
  if not (endpoint := model.endpoint or getenv("AZURE_OPENAI_ENDPOINT")):
665
663
  raise BadRequest("An Azure endpoint is required for Azure OpenAI models")
666
664
  if not (api_version := model.api_version or getenv("OPENAI_API_VERSION")):
667
665
  raise BadRequest("An OpenAI API version is required for Azure OpenAI models")
668
- client = AsyncAzureOpenAI(
669
- api_key=api_key,
670
- azure_endpoint=endpoint,
671
- api_version=api_version,
672
- )
666
+ if api_key := api_key or getenv("AZURE_OPENAI_API_KEY"):
667
+ client = AsyncAzureOpenAI(
668
+ api_key=api_key,
669
+ azure_endpoint=endpoint,
670
+ api_version=api_version,
671
+ )
672
+ else:
673
+ try:
674
+ from azure.identity.aio import DefaultAzureCredential, get_bearer_token_provider
675
+ except ImportError:
676
+ raise BadRequest(
677
+ "Provide an API key for Azure OpenAI models or use azure-identity, see. e.g. "
678
+ "https://learn.microsoft.com/en-us/python/api/azure-identity/azure.identity.environmentcredential?view=azure-python" # noqa: E501
679
+ )
680
+
681
+ client = AsyncAzureOpenAI(
682
+ azure_ad_token_provider=get_bearer_token_provider(
683
+ DefaultAzureCredential(),
684
+ "https://cognitiveservices.azure.com/.default",
685
+ ),
686
+ azure_endpoint=endpoint,
687
+ api_version=api_version,
688
+ )
673
689
  super().__init__(client=client, model=model, api_key=api_key)
674
690
  self._attributes[LLM_PROVIDER] = OpenInferenceLLMProviderValues.AZURE.value
675
691
  self._attributes[LLM_SYSTEM] = OpenInferenceLLMSystemValues.OPENAI.value
@@ -1,22 +1,22 @@
1
1
  {
2
- "_components-DvgP87AK.js": {
3
- "file": "assets/components-DvgP87AK.js",
2
+ "_components-BwK8mVUO.js": {
3
+ "file": "assets/components-BwK8mVUO.js",
4
4
  "name": "components",
5
5
  "imports": [
6
6
  "_vendor-CwOvppSU.js",
7
- "_pages-BnuKGq5F.js",
7
+ "_pages-CZ1DOKbD.js",
8
8
  "_vendor-arizeai-bw-hz0cw.js",
9
9
  "_vendor-codemirror-Du5cjwoZ.js",
10
10
  "_vendor-three-C-AGeJYv.js"
11
11
  ]
12
12
  },
13
- "_pages-BnuKGq5F.js": {
14
- "file": "assets/pages-BnuKGq5F.js",
13
+ "_pages-CZ1DOKbD.js": {
14
+ "file": "assets/pages-CZ1DOKbD.js",
15
15
  "name": "pages",
16
16
  "imports": [
17
17
  "_vendor-CwOvppSU.js",
18
18
  "_vendor-arizeai-bw-hz0cw.js",
19
- "_components-DvgP87AK.js",
19
+ "_components-BwK8mVUO.js",
20
20
  "_vendor-codemirror-Du5cjwoZ.js",
21
21
  "_vendor-recharts-BMT-13Pz.js"
22
22
  ]
@@ -69,15 +69,15 @@
69
69
  "name": "vendor-three"
70
70
  },
71
71
  "index.tsx": {
72
- "file": "assets/index-CLClYeDh.js",
72
+ "file": "assets/index-Dp1bkaPS.js",
73
73
  "name": "index",
74
74
  "src": "index.tsx",
75
75
  "isEntry": true,
76
76
  "imports": [
77
77
  "_vendor-CwOvppSU.js",
78
78
  "_vendor-arizeai-bw-hz0cw.js",
79
- "_pages-BnuKGq5F.js",
80
- "_components-DvgP87AK.js",
79
+ "_pages-CZ1DOKbD.js",
80
+ "_components-BwK8mVUO.js",
81
81
  "_vendor-three-C-AGeJYv.js",
82
82
  "_vendor-codemirror-Du5cjwoZ.js",
83
83
  "_vendor-shiki-CevgDqNV.js",
@@ -1,4 +1,4 @@
1
- import{r as p,R as U,j as e,u as Ca,a as Te,e as t1,s as E1,b as V1,c as Ke,d as W1,f as fi,g as Ce,h as bi,i as Ci,k as Q1,l as s,m as vi,n as ze,C as l1,o as We,p as Qe,q as yi,t as Li,v as N,w as ln,L as va,x as ya,y as La,z as ce,A as v,B as p1,D as sn,E as m,F as wa,$ as wi,G as xa,H as ka,I as q,J as xi,K as cn,M as ki,N as Si,O as B,P as q1,Q as P,S as H,T as R,U as Sa,V as Ma,W as Mi,X as h1,Y as Ta,Z as Ti,_ as zi,a0 as Ii,a1 as Ai,a2 as Ei,a3 as Vi,a4 as Di,a5 as Pi,a6 as Oi,a7 as f1,a8 as _i,a9 as Fi,aa as Ni,ab as Ri,ac as ke,ad as X1,ae as Y1,af as J1,ag as F,ah as _e,ai as _n,aj as $i,ak as Hi,al as za,am as Ki,an as Bi,ao as Zi,ap as Gi,aq as ji,ar as Ui,as as Wi,at as Qi,au as qi,av as Xi,aw as Yi,ax as Ia,ay as Ji,az as _,aA as Aa,aB as er,aC as Ee,aD as dn,aE as nr,aF as un,aG as ar,aH as tr,aI as ir,aJ as rr,aK as or,aL as lr,aM as Fn,aN as sr,aO as cr,aP as dr,aQ as Nn,aR as ur,aS as gr,aT as mr,aU as D1,aV as pr,aW as hr,aX as fr,aY as br,aZ as Cr,a_ as vr,a$ as yr,b0 as Lr,b1 as wr,b2 as xr}from"./vendor-CwOvppSU.js";import{a as Rn,R as kr,b as Sr,c as Mr,m as Tr,T as zr,u as Ir}from"./pages-BnuKGq5F.js";import{u as Ar,_ as Ea,a as ge,T as re,E as Va,b as Er,c as Vr,d as Se,D as b1,e as me,f as Dr,g as Fe,A as qe,C as C1,P as gn,h as Da,i as Pr,F as Pa,I as Or,j as _r,k as Fr,l as Nr,m as Rr,n as $r,o as Hr,p as Kr,q as Oa,r as _a,s as Br,t as Zr}from"./vendor-arizeai-bw-hz0cw.js";import{L as Fa,a as Na,j as Ra,E as mn,k as $a,d as Ha,l as en,b as Ka,h as Gr,c as jr,e as Ur,f as Wr,g as Qr,i as qr,s as Xr,m as Xe,n as Ye,R as Je,p as Yr,o as Jr}from"./vendor-codemirror-Du5cjwoZ.js";import{V as eo}from"./vendor-three-C-AGeJYv.js";const Ba=function(){var n={defaultValue:null,kind:"LocalArgument",name:"clusters"},a={defaultValue:null,kind:"LocalArgument",name:"dataQualityMetricColumnName"},t={defaultValue:null,kind:"LocalArgument",name:"fetchDataQualityMetric"},i={defaultValue:null,kind:"LocalArgument",name:"fetchPerformanceMetric"},r={defaultValue:null,kind:"LocalArgument",name:"performanceMetric"},o=[{alias:null,args:null,kind:"ScalarField",name:"primaryValue",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"referenceValue",storageKey:null}],l=[{alias:null,args:[{kind:"Variable",name:"clusters",variableName:"clusters"}],concreteType:"Cluster",kind:"LinkedField",name:"clusters",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"eventIds",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"driftRatio",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"primaryToCorpusRatio",storageKey:null},{condition:"fetchDataQualityMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"columnName",variableName:"dataQualityMetricColumnName"},{kind:"Literal",name:"metric",value:"mean"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"dataQualityMetric",plural:!1,selections:o,storageKey:null}]},{condition:"fetchPerformanceMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"metric",variableName:"performanceMetric"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"performanceMetric",plural:!1,selections:o,storageKey:null}]}],storageKey:null}];return{fragment:{argumentDefinitions:[n,a,t,i,r],kind:"Fragment",metadata:null,name:"pointCloudStore_clusterMetricsQuery",selections:l,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[n,t,a,i,r],kind:"Operation",name:"pointCloudStore_clusterMetricsQuery",selections:l},params:{cacheID:"86666967012812887ac0a0149d2d2535",id:null,metadata:{},name:"pointCloudStore_clusterMetricsQuery",operationKind:"query",text:`query pointCloudStore_clusterMetricsQuery(
1
+ import{r as p,R as U,j as e,u as Ca,a as Te,e as t1,s as E1,b as V1,c as Ke,d as W1,f as fi,g as Ce,h as bi,i as Ci,k as Q1,l as s,m as vi,n as ze,C as l1,o as We,p as Qe,q as yi,t as Li,v as N,w as ln,L as va,x as ya,y as La,z as ce,A as v,B as p1,D as sn,E as m,F as wa,$ as wi,G as xa,H as ka,I as q,J as xi,K as cn,M as ki,N as Si,O as B,P as q1,Q as P,S as H,T as R,U as Sa,V as Ma,W as Mi,X as h1,Y as Ta,Z as Ti,_ as zi,a0 as Ii,a1 as Ai,a2 as Ei,a3 as Vi,a4 as Di,a5 as Pi,a6 as Oi,a7 as f1,a8 as _i,a9 as Fi,aa as Ni,ab as Ri,ac as ke,ad as X1,ae as Y1,af as J1,ag as F,ah as _e,ai as _n,aj as $i,ak as Hi,al as za,am as Ki,an as Bi,ao as Zi,ap as Gi,aq as ji,ar as Ui,as as Wi,at as Qi,au as qi,av as Xi,aw as Yi,ax as Ia,ay as Ji,az as _,aA as Aa,aB as er,aC as Ee,aD as dn,aE as nr,aF as un,aG as ar,aH as tr,aI as ir,aJ as rr,aK as or,aL as lr,aM as Fn,aN as sr,aO as cr,aP as dr,aQ as Nn,aR as ur,aS as gr,aT as mr,aU as D1,aV as pr,aW as hr,aX as fr,aY as br,aZ as Cr,a_ as vr,a$ as yr,b0 as Lr,b1 as wr,b2 as xr}from"./vendor-CwOvppSU.js";import{a as Rn,R as kr,b as Sr,c as Mr,m as Tr,T as zr,u as Ir}from"./pages-CZ1DOKbD.js";import{u as Ar,_ as Ea,a as ge,T as re,E as Va,b as Er,c as Vr,d as Se,D as b1,e as me,f as Dr,g as Fe,A as qe,C as C1,P as gn,h as Da,i as Pr,F as Pa,I as Or,j as _r,k as Fr,l as Nr,m as Rr,n as $r,o as Hr,p as Kr,q as Oa,r as _a,s as Br,t as Zr}from"./vendor-arizeai-bw-hz0cw.js";import{L as Fa,a as Na,j as Ra,E as mn,k as $a,d as Ha,l as en,b as Ka,h as Gr,c as jr,e as Ur,f as Wr,g as Qr,i as qr,s as Xr,m as Xe,n as Ye,R as Je,p as Yr,o as Jr}from"./vendor-codemirror-Du5cjwoZ.js";import{V as eo}from"./vendor-three-C-AGeJYv.js";const Ba=function(){var n={defaultValue:null,kind:"LocalArgument",name:"clusters"},a={defaultValue:null,kind:"LocalArgument",name:"dataQualityMetricColumnName"},t={defaultValue:null,kind:"LocalArgument",name:"fetchDataQualityMetric"},i={defaultValue:null,kind:"LocalArgument",name:"fetchPerformanceMetric"},r={defaultValue:null,kind:"LocalArgument",name:"performanceMetric"},o=[{alias:null,args:null,kind:"ScalarField",name:"primaryValue",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"referenceValue",storageKey:null}],l=[{alias:null,args:[{kind:"Variable",name:"clusters",variableName:"clusters"}],concreteType:"Cluster",kind:"LinkedField",name:"clusters",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"eventIds",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"driftRatio",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"primaryToCorpusRatio",storageKey:null},{condition:"fetchDataQualityMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"columnName",variableName:"dataQualityMetricColumnName"},{kind:"Literal",name:"metric",value:"mean"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"dataQualityMetric",plural:!1,selections:o,storageKey:null}]},{condition:"fetchPerformanceMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"metric",variableName:"performanceMetric"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"performanceMetric",plural:!1,selections:o,storageKey:null}]}],storageKey:null}];return{fragment:{argumentDefinitions:[n,a,t,i,r],kind:"Fragment",metadata:null,name:"pointCloudStore_clusterMetricsQuery",selections:l,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[n,t,a,i,r],kind:"Operation",name:"pointCloudStore_clusterMetricsQuery",selections:l},params:{cacheID:"86666967012812887ac0a0149d2d2535",id:null,metadata:{},name:"pointCloudStore_clusterMetricsQuery",operationKind:"query",text:`query pointCloudStore_clusterMetricsQuery(
2
2
  $clusters: [ClusterInput!]!
3
3
  $fetchDataQualityMetric: Boolean!
4
4
  $dataQualityMetricColumnName: String
@@ -3063,7 +3063,7 @@ chat_completion = client.chat.completions.create(
3063
3063
  tracer_provider = register(
3064
3064
  project_name="${a}",
3065
3065
  endpoint="${(n?Dn:e1)+"/v1/traces"}"
3066
- )`;function E9(n){const a=ui,t=window.Config.authenticationEnabled,i=i3({isAuthEnabled:t,isHosted:a}),r=n.projectName||"your-next-llm-project";return s("div",{children:[e(w,{paddingTop:"size-200",paddingBottom:"size-100",children:e(K,{level:2,weight:"heavy",children:"Install Dependencies"})}),e(w,{paddingBottom:"size-100",children:s(y,{children:["Use the Phoenix OTEL or"," ",e(j,{href:e3,children:"OpenTelemetry"})," to configure your application to send traces to Phoenix."]})}),e(Y,{children:e(ae,{value:a3})}),e(w,{paddingTop:"size-200",paddingBottom:"size-100",children:e(K,{level:2,weight:"heavy",children:"Setup your Environment"})}),e(w,{paddingBottom:"size-100",children:s(y,{children:[e("b",{children:"arize-phoenix-otel"})," automatically picks up your configuration from",e(j,{href:n3,children:"environment variables"})]})}),e(Y,{children:e(ae,{value:i})}),t?e(w,{paddingBottom:"size-100",paddingTop:"size-100",children:e(di,{fallback:s(y,{children:["Personal API keys can be created and managed on your"," ",e(j,{href:"/profile",children:"Profile"})]}),children:s(y,{children:["System API keys can be created and managed in"," ",e(j,{href:"/settings",children:"Settings"})]})})}):null,e(w,{paddingTop:"size-200",paddingBottom:"size-100",children:e(K,{level:2,weight:"heavy",children:"Setup OpenTelemetry"})}),e(w,{paddingBottom:"size-100",children:s(y,{children:["Register your application to send traces to this project. The code below should be added ",e("b",{children:"BEFORE"})," any code execution."]})}),e(w,{paddingBottom:"size-100",children:e(Y,{children:e(ae,{value:l3({projectName:r,isHosted:a})})})}),a?null:e(w,{paddingBottom:"size-100",children:s(y,{children:["To configure gRPC and batching, see our"," ",e(j,{href:Jd,children:"setup guide"}),"."]})}),e(w,{paddingTop:"size-200",paddingBottom:"size-100",children:e(K,{level:2,weight:"heavy",children:"Setup Instrumentation"})}),e(w,{paddingBottom:"size-100",children:e(y,{children:"Add instrumentation to your application so that your application code is traces."})}),e(Zr,{variant:"compact",children:s(v2,{children:[s(L2,{children:[e(ia,{id:"instrumentation",children:"Instrumentation"}),e(ia,{id:"openai-example",children:"OpenAI Example"})]}),e(rn,{id:"instrumentation",children:s(w,{padding:"size-200",children:[s(y,{children:["Trace your application using"," ",e(j,{href:"https://github.com/Arize-ai/openinference",children:"OpenInference"})," ","instrumentation and OpenTelemetry"]}),e(w,{paddingTop:"size-200",paddingBottom:"size-200",children:e(Ud,{})}),s(y,{children:["For more integrations, checkout our"," ",e(j,{href:"https://docs.arize.com/phoenix/tracing/integrations-tracing",children:"comprehensive guide"})]})]})}),e(rn,{id:"openai-example",children:s(w,{padding:"size-200",children:[s("p",{children:["Install"," ",e(j,{href:"https://github.com/Arize-ai/openinference",children:"OpenInference"})," ","instrumentation as well as ",e("b",{children:"openai"})]}),e(Y,{children:e(ae,{value:t3})}),s("p",{children:["Instrument ",e("b",{children:"openai"})," at the beginning of your code"]}),e(w,{paddingBottom:"size-50",children:e(Y,{children:e(ae,{value:r3})})}),s("p",{children:["Use ",e("b",{children:"openai"})," as you normally and traces will be sent to Phoenix"]}),e(w,{paddingBottom:"size-50",children:e(Y,{children:e(ae,{value:o3})})})]})})]})})]})}const s3="https://docs.arize.com/phoenix/tracing/how-to-tracing/setup-tracing",c3=n=>`import { Resource } from '@opentelemetry/resources';
3066
+ )`;function E9(n){const a=ui,t=window.Config.authenticationEnabled,i=i3({isAuthEnabled:t,isHosted:a}),r=n.projectName||"your-next-llm-project";return s("div",{children:[e(w,{paddingTop:"size-200",paddingBottom:"size-100",children:e(K,{level:2,weight:"heavy",children:"Install Dependencies"})}),e(w,{paddingBottom:"size-100",children:s(y,{children:["Use the Phoenix OTEL or"," ",e(j,{href:e3,children:"OpenTelemetry"})," to configure your application to send traces to Phoenix."]})}),e(Y,{children:e(ae,{value:a3})}),e(w,{paddingTop:"size-200",paddingBottom:"size-100",children:e(K,{level:2,weight:"heavy",children:"Setup your Environment"})}),e(w,{paddingBottom:"size-100",children:s(y,{children:[e("b",{children:"arize-phoenix-otel"})," automatically picks up your configuration from"," ",e(j,{href:n3,children:"environment variables"})]})}),e(Y,{children:e(ae,{value:i})}),t?e(w,{paddingBottom:"size-100",paddingTop:"size-100",children:e(di,{fallback:s(y,{children:["Personal API keys can be created and managed on your"," ",e(j,{href:"/profile",children:"Profile"})]}),children:s(y,{children:["System API keys can be created and managed in"," ",e(j,{href:"/settings",children:"Settings"})]})})}):null,e(w,{paddingTop:"size-200",paddingBottom:"size-100",children:e(K,{level:2,weight:"heavy",children:"Setup OpenTelemetry"})}),e(w,{paddingBottom:"size-100",children:s(y,{children:["Register your application to send traces to this project. The code below should be added ",e("b",{children:"BEFORE"})," any code execution."]})}),e(w,{paddingBottom:"size-100",children:e(Y,{children:e(ae,{value:l3({projectName:r,isHosted:a})})})}),a?null:e(w,{paddingBottom:"size-100",children:s(y,{children:["To configure gRPC and batching, see our"," ",e(j,{href:Jd,children:"setup guide"}),"."]})}),e(w,{paddingTop:"size-200",paddingBottom:"size-100",children:e(K,{level:2,weight:"heavy",children:"Setup Instrumentation"})}),e(w,{paddingBottom:"size-100",children:e(y,{children:"Add instrumentation to your application so that your application code is traces."})}),e(Zr,{variant:"compact",children:s(v2,{children:[s(L2,{children:[e(ia,{id:"instrumentation",children:"Instrumentation"}),e(ia,{id:"openai-example",children:"OpenAI Example"})]}),e(rn,{id:"instrumentation",children:s(w,{padding:"size-200",children:[s(y,{children:["Trace your application using"," ",e(j,{href:"https://github.com/Arize-ai/openinference",children:"OpenInference"})," ","instrumentation and OpenTelemetry"]}),e(w,{paddingTop:"size-200",paddingBottom:"size-200",children:e(Ud,{})}),s(y,{children:["For more integrations, checkout our"," ",e(j,{href:"https://docs.arize.com/phoenix/tracing/integrations-tracing",children:"comprehensive guide"})]})]})}),e(rn,{id:"openai-example",children:s(w,{padding:"size-200",children:[s("p",{children:["Install"," ",e(j,{href:"https://github.com/Arize-ai/openinference",children:"OpenInference"})," ","instrumentation as well as ",e("b",{children:"openai"})]}),e(Y,{children:e(ae,{value:t3})}),s("p",{children:["Instrument ",e("b",{children:"openai"})," at the beginning of your code"]}),e(w,{paddingBottom:"size-50",children:e(Y,{children:e(ae,{value:r3})})}),s("p",{children:["Use ",e("b",{children:"openai"})," as you normally and traces will be sent to Phoenix"]}),e(w,{paddingBottom:"size-50",children:e(Y,{children:e(ae,{value:o3})})})]})})]})})]})}const s3="https://docs.arize.com/phoenix/tracing/how-to-tracing/setup-tracing",c3=n=>`import { Resource } from '@opentelemetry/resources';
3067
3067
  import { SEMRESATTRS_PROJECT_NAME } from '@arizeai/openinference-semantic-conventions';
3068
3068
 
3069
3069
  resource: new Resource({
@@ -1,4 +1,4 @@
1
- import{r as t,j as o,bm as z,l as c,O as w,R as P,E as b,cx as k,ed as S,ee as F,ef as L,eg as l,v as C,eh as E}from"./vendor-CwOvppSU.js";import{d as R,x as I,D as j,M as T,N as _}from"./vendor-arizeai-bw-hz0cw.js";import{L as A,r as O,d as D,e as G,F as M,f as N,P as V,h as U,M as m,g as W,D as q,i as B,E as J,j as K,k as $,p as H,l as Q,n as p,o as Y,q as X,s as Z,S as oo,t as lo,v as ao,w as ro,x as co,y as u,z as f,A as y,B as go,C as eo,G as bo,H as no,I as io,J as so,K as to,N as mo,O as po,Q as uo,U as fo,V as yo,W as vo,X as ho,Y as xo,Z as zo,_ as wo,$ as Po,a0 as ko,a1 as So,a2 as Fo,a3 as Lo,a4 as Co,a5 as Eo,a6 as Ro,a7 as Io,a8 as jo,a9 as To,aa as _o,ab as Ao,ac as Oo}from"./pages-BnuKGq5F.js";import{W as Do,dO as Go,bf as Mo,U as No,dP as Vo,dQ as Uo}from"./components-DvgP87AK.js";import"./vendor-three-C-AGeJYv.js";import"./vendor-codemirror-Du5cjwoZ.js";import"./vendor-shiki-CevgDqNV.js";import"./vendor-recharts-BMT-13Pz.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const g of r)if(g.type==="childList")for(const n of g.addedNodes)n.tagName==="LINK"&&n.rel==="modulepreload"&&s(n)}).observe(document,{childList:!0,subtree:!0});function i(r){const g={};return r.integrity&&(g.integrity=r.integrity),r.referrerPolicy&&(g.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?g.credentials="include":r.crossOrigin==="anonymous"?g.credentials="omit":g.credentials="same-origin",g}function s(r){if(r.ep)return;r.ep=!0;const g=i(r);fetch(r.href,g)}})();const v="arize-phoenix-feature-flags",d={__RESET__:!1};function Wo(){const a=localStorage.getItem(v);if(!a)return d;try{const e=JSON.parse(a);return Object.assign({},d,e)}catch{return d}}const h=t.createContext(null);function qo(){const a=P.useContext(h);if(a===null)throw new Error("useFeatureFlags must be used within a FeatureFlagsProvider");return a}function Bo(a){const[e,i]=t.useState(Wo()),s=r=>{localStorage.setItem(v,JSON.stringify(r)),i(r)};return o(h.Provider,{value:{featureFlags:e,setFeatureFlags:s},children:o(Jo,{children:a.children})})}function Jo(a){const{children:e}=a,{featureFlags:i,setFeatureFlags:s}=qo(),[r,g]=t.useState(!1);return z("ctrl+shift+f",()=>g(!0)),c(w,{children:[e,o(j,{type:"modal",isDismissable:!0,onDismiss:()=>g(!1),children:r&&o(R,{title:"Feature Flags",children:o(Do,{height:"size-1000",padding:"size-100",children:Object.keys(i).map(n=>o(I,{isSelected:i[n],onChange:x=>s({...i,[n]:x}),children:n},n))})})})]})}const Ko=b`
1
+ import{r as t,j as o,bm as z,l as c,O as w,R as P,E as b,cx as k,ed as S,ee as F,ef as L,eg as l,v as C,eh as E}from"./vendor-CwOvppSU.js";import{d as R,x as I,D as j,M as T,N as _}from"./vendor-arizeai-bw-hz0cw.js";import{L as A,r as O,d as D,e as G,F as M,f as N,P as V,h as U,M as m,g as W,D as q,i as B,E as J,j as K,k as $,p as H,l as Q,n as p,o as Y,q as X,s as Z,S as oo,t as lo,v as ao,w as ro,x as co,y as u,z as f,A as y,B as go,C as eo,G as bo,H as no,I as io,J as so,K as to,N as mo,O as po,Q as uo,U as fo,V as yo,W as vo,X as ho,Y as xo,Z as zo,_ as wo,$ as Po,a0 as ko,a1 as So,a2 as Fo,a3 as Lo,a4 as Co,a5 as Eo,a6 as Ro,a7 as Io,a8 as jo,a9 as To,aa as _o,ab as Ao,ac as Oo}from"./pages-CZ1DOKbD.js";import{W as Do,dO as Go,bf as Mo,U as No,dP as Vo,dQ as Uo}from"./components-BwK8mVUO.js";import"./vendor-three-C-AGeJYv.js";import"./vendor-codemirror-Du5cjwoZ.js";import"./vendor-shiki-CevgDqNV.js";import"./vendor-recharts-BMT-13Pz.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const g of r)if(g.type==="childList")for(const n of g.addedNodes)n.tagName==="LINK"&&n.rel==="modulepreload"&&s(n)}).observe(document,{childList:!0,subtree:!0});function i(r){const g={};return r.integrity&&(g.integrity=r.integrity),r.referrerPolicy&&(g.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?g.credentials="include":r.crossOrigin==="anonymous"?g.credentials="omit":g.credentials="same-origin",g}function s(r){if(r.ep)return;r.ep=!0;const g=i(r);fetch(r.href,g)}})();const v="arize-phoenix-feature-flags",d={__RESET__:!1};function Wo(){const a=localStorage.getItem(v);if(!a)return d;try{const e=JSON.parse(a);return Object.assign({},d,e)}catch{return d}}const h=t.createContext(null);function qo(){const a=P.useContext(h);if(a===null)throw new Error("useFeatureFlags must be used within a FeatureFlagsProvider");return a}function Bo(a){const[e,i]=t.useState(Wo()),s=r=>{localStorage.setItem(v,JSON.stringify(r)),i(r)};return o(h.Provider,{value:{featureFlags:e,setFeatureFlags:s},children:o(Jo,{children:a.children})})}function Jo(a){const{children:e}=a,{featureFlags:i,setFeatureFlags:s}=qo(),[r,g]=t.useState(!1);return z("ctrl+shift+f",()=>g(!0)),c(w,{children:[e,o(j,{type:"modal",isDismissable:!0,onDismiss:()=>g(!1),children:r&&o(R,{title:"Feature Flags",children:o(Do,{height:"size-1000",padding:"size-100",children:Object.keys(i).map(n=>o(I,{isSelected:i[n],onChange:x=>s({...i,[n]:x}),children:n},n))})})})]})}const Ko=b`
2
2
  :root {
3
3
  --ac-global-dimension-scale-factor: 1;
4
4
  --ac-global-dimension-size-0: 0px;
@@ -1,4 +1,4 @@
1
- import{A as E,b3 as me,b4 as $e,b5 as Ae,b6 as gl,B as kl,r as m,j as e,R as Pe,u as al,E as K,l as s,b7 as _e,ax as ie,O as U,v as I,b8 as nm,ac as ze,a8 as ht,ah as nn,ag as H,Q as W,aD as fa,a9 as kt,b9 as un,ba as am,ay as lm,bb as tm,H as fi,S as ae,T as Fe,bc as bt,aI as Ie,aL as xe,aM as G,bd as we,be as In,bf as xn,bg as hn,o as sr,az as te,F as hi,I as im,bh as rm,bi as Yl,bj as et,bk as $a,bl as qe,n as ll,bm as sm,aR as or,bn as om,bo as ki,bp as dm,bq as cm,br as um,bs as mm,bt as pm,bu as gm,bv as ym,bw as fm,bx as hm,by as Be,bz as Za,D as km,bA as bm,bB as cl,aJ as kn,g as dr,bC as Sm,aC as St,bD as vm,bE as cr,bF as ur,bG as Cm,ai as Fm,ad as vt,bH as Km,ae as Tm,af as Pm,bI as Im,p as xm,bJ as bi}from"./vendor-CwOvppSU.js";import{L as bl,v as Sl,C as j,d as J,D as Y,A as ge,w as mr,o as Ct,P as _a,e as Oe,f as Yn,T as pe,h as bn,E as vl,a as Me,q as ea,r as La,t as Ft,c as na,x as ha,g as Kt,s as Cl,y as Dm,i as Fl,z as _m,B as Lm,G as wm,H as Tt,J as Pt,u as Em,K as Mm}from"./vendor-arizeai-bw-hz0cw.js";import{s as Vm,l as Rm,j as It,a as Ee,i as xt,b as pr,c as Am,d as Wn,e as Dn,f as gr,D as yr,g as Hn,h as Wa,k as Nm,m as ye,T as Xe,n as zm,o as Dt,p as Si,q as $m,r as vi,t as Om,u as Qm,v as jm,N as qm,w as Bm,L as fe,x as Te,y as cn,B as Um,_ as h,z as Fn,I as L,C as Hm,G as fr,A as Kl,P as ka,M as _t,E as Lt,S as hr,F as Gm,H as Wm,J as Jm,K as Zm,O as Xm,Q as Ym,R as ep,U as be,V as v,W as C,X as de,Y as mt,Z as ce,$ as ue,a0 as Ye,a1 as np,a2 as ap,a3 as lp,a4 as an,a5 as he,a6 as Ke,a7 as R,a8 as le,a9 as X,aa as kr,ab as tp,ac as ip,ad as rp,ae as Tl,af as Pl,ag as br,ah as sp,ai as op,aj as dp,ak as re,al as Il,am as cp,an as Sr,ao as Ta,ap as Xa,aq as wt,ar as Ue,as as up,at as Et,au as Ge,av as We,aw as ne,ax as mn,ay as oe,az as mp,aA as pp,aB as gp,aC as Tn,aD as Qe,aE as je,aF as vr,aG as xl,aH as Ve,aI as aa,aJ as Le,aK as Re,aL as wa,aM as Mn,aN as _n,aO as Dl,aP as Ea,aQ as Ma,aR as Cr,aS as ln,aT as Fr,aU as yp,aV as Mt,aW as ca,aX as qn,aY as fp,aZ as hp,a_ as Vt,a$ as _l,b0 as Vn,b1 as la,b2 as Kr,b3 as Ci,b4 as rn,b5 as sn,b6 as kp,b7 as bp,b8 as Ya,b9 as Sp,ba as Ja,bb as Je,bc as vp,bd as Cp,be as Ll,bf as Rn,bg as Fp,bh as Kp,bi as tn,bj as yn,bk as Va,bl as Rt,bm as Tr,bn as At,bo as wl,bp as Tp,bq as Nt,br as Pp,bs as Ip,bt as zt,bu as tl,bv as Pr,bw as Ir,bx as xr,by as He,bz as Dr,bA as Sn,bB as pt,bC as xp,bD as $t,bE as Ot,bF as _r,bG as Dp,bH as _p,bI as Lp,bJ as wp,bK as Ep,bL as Mp,bM as ua,bN as Qt,bO as Vp,bP as Lr,bQ as Ze,bR as Rp,bS as Ap,bT as Np,bU as zp,bV as $p,bW as Op,bX as Qp,bY as El,bZ as jp,b_ as qp,b$ as Bp,c0 as Up,c1 as Fi,c2 as Hp,c3 as vn,c4 as An,c5 as jt,c6 as wr,c7 as Er,c8 as Ki,c9 as Ti,ca as Gp,cb as Wp,cc as B,cd as Mr,ce as Ml,cf as Vl,cg as Ra,ch as Vr,ci as Aa,cj as Na,ck as Rr,cl as Nn,cm as Ne,cn as Rl,co as zn,cp as Jp,cq as Zp,cr as Xp,cs as Yp,ct as eg,cu as on,cv as dn,cw as ng,cx as ag,cy as pa,cz as Ar,cA as lg,cB as tg,cC as Pi,cD as ig,cE as rg,cF as sg,cG as og,cH as dg,cI as cg,cJ as Nr,cK as ug,cL as mg,cM as pg,cN as gg,cO as ga,cP as qt,cQ as zr,cR as Ka,cS as fl,cT as Al,cU as $r,cV as Or,cW as nt,cX as yg,cY as Qr,cZ as fg,c_ as Bt,c$ as Nl,d0 as pn,d1 as hg,d2 as jr,d3 as kg,d4 as qr,d5 as Br,d6 as bg,d7 as Sg,d8 as Ur,d9 as Jn,da as vg,db as Cg,dc as Ii,dd as Fg,de as Kg,df as Tg,dg as Pg,dh as Ig,di as Hr,dj as xg,dk as Pa,dl as gt,dm as Dg,dn as Gr,dp as _g,dq as Lg,dr as wg,ds as zl,dt as Wr,du as xi,dv as Eg,dw as Mg,dx as Ut,dy as Jr,dz as Zr,dA as Vg,dB as yt,dC as Rg,dD as Ag,dE as ul,dF as Ng,dG as zg,dH as Xr,dI as Yr,dJ as $g,dK as Og,dL as Qg,dM as Di,dN as _i}from"./components-DvgP87AK.js";import{m as ta,n as ia,j as jg,E as es,R as ra,k as Ht,d as qg,p as il,q as ns}from"./vendor-codemirror-Du5cjwoZ.js";import{R as $n,C as rl,X as sa,Y as fn,a as oa,T as On,B as xa,A as el,b as as,c as Gt,L as ls,d as Bg,P as ts,e as is,f as rs}from"./vendor-recharts-BMT-13Pz.js";const Ug=4,Hg={user:["user","human"],ai:["assistant","bot","ai"],system:["system"],tool:["tool"]},Gg="Unable to parse span input messages, expected messages which include a role and content.",Wg="Unable to parse span output messages, expected messages which include a role and content.",Jg="Unable to parse span output expected output.value to be present.",Zg="Unable to parse span attributes, attributes must be valid JSON.",Xg="Unable to parse model config, expected llm.model_name to be present.",Yg="Unable to parse model config, expected llm.invocation_parameters JSON string to be present.",ey="Unable to parse invocation parameters response_format, expected llm.invocation_parameters.response_format to be a well formed json object or undefined.",ny="Unable to parse tools, expected tools to be an array of valid tools.",ay="Unable to parse prompt template variables, expected prompt template variables to be a valid JSON object string.",Li={AZURE_OPENAI:[],ANTHROPIC:["claude"],OPENAI:["gpt","o1"],GOOGLE:["gemini"]},Gn="TOOL_CHOICE",Ia="tool_choice",Ln="RESPONSE_FORMAT",Pn="response_format",ly=[Gn,Ln],ty=E.object({tool_call:E.object({id:E.string().optional(),function:E.object({name:E.string(),arguments:E.string()}).partial()}).partial()}).partial(),ss=E.object({[me.message]:E.object({[$e.role]:E.string(),[$e.content]:E.union([E.string(),E.array(E.record(E.string(),E.unknown()))]).default(""),[$e.tool_calls]:E.array(ty).optional(),[$e.tool_call_id]:E.string().optional()})}),iy=E.object({[me.llm]:E.object({[Ae.input_messages]:E.array(ss)})}),ry=E.object({[me.llm]:E.object({[Ae.output_messages]:E.array(ss)})}),sy=E.object({[me.output]:E.object({value:E.string()})}),os=Vm()(E.enum(["user","ai","system","tool"])),oy=E.object({id:E.number(),role:os,content:E.string().optional(),toolCallId:E.string().optional(),toolCalls:E.array(Rm).optional()}),dy=E.array(oy),Wt=E.lazy(()=>E.record(It)),cy=Wt,ds=E.string().transform((n,a)=>{const{json:l}=Ee(n);if(!xt(l))return a.addIssue({code:E.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),E.NEVER;const{success:t,data:i}=cy.safeParse(l);return t?i:(a.addIssue({code:E.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),E.NEVER)}).default("{}"),uy=E.object({[me.llm]:E.object({[Ae.provider]:E.string().optional(),[Ae.model_name]:E.string()})}),cs=E.object({[me.llm]:E.object({[Ae.invocation_parameters]:ds})}),my=E.object({[me.llm]:E.object({[Ae.invocation_parameters]:ds.pipe(E.object({response_format:Wt.optional()}))})}),py=E.object({url:E.object({full:E.string(),path:E.string().optional()})}),gy=E.string().transform((n,a)=>{const{json:l}=Ee(n);return l==null||!xt(l)?(a.addIssue({code:E.ZodIssueCode.custom,message:"The tool JSON schema must be a valid JSON object"}),E.NEVER):l}).transform((n,a)=>{const{data:l,success:t}=pr.safeParse(n);return t?l:(a.addIssue({code:E.ZodIssueCode.custom,message:"The tool JSON schema must be a valid tool schema"}),E.NEVER)}),yy=E.object({[me.llm]:E.object({[Ae.tools]:E.array(E.object({[me.tool]:E.object({[gl.json_schema]:gy})}).optional()).optional()}).optional()}).optional(),fy=E.lazy(()=>E.object({type:E.literal("json_schema"),json_schema:E.object({name:E.string().describe("The name of the schema"),schema:Am.describe("The schema itself in JSON schema format"),strict:E.literal(!0).describe("The schema must be strict")})})),hy=kl(fy,{removeAdditionalStrategy:"passthrough"}),ky=E.string().transform((n,a)=>{const{json:l}=Ee(n);return Wn(l)?Object.entries(l).reduce((i,[r,o])=>{if(typeof o=="string")i[r]=o;else{const{json:d}=Dn(o);d!=null&&(i[r]=d)}return i},{}):(a.addIssue({code:E.ZodIssueCode.custom,message:"The prompt template variables must be a valid JSON object"}),E.NEVER)}),by=E.object({[me.llm]:E.object({[Ae.prompt_template]:E.object({variables:ky}).optional()}).optional()}).optional();function us(n){return os.safeParse(n).success}function Bn(n){const a=n.toLowerCase();if(us(a))return a;for(const[l,t]of Object.entries(Hg))if(t.includes(a))return l;return Nm}function Sy({toolCalls:n,provider:a}){if(n!=null)return n.map(({tool_call:l})=>{var i,r,o,d;if(l==null)return null;let t={};if(((i=l.function)==null?void 0:i.arguments)!=null){const{json:c}=Ee(l.function.arguments);Wn(c)&&(t=c)}switch(a){case"OPENAI":case"AZURE_OPENAI":return{id:l.id??"",type:"function",function:{name:((r=l.function)==null?void 0:r.name)??"",arguments:t}};case"ANTHROPIC":return{id:l.id??"",type:"tool_use",name:((o=l.function)==null?void 0:o.name)??"",input:t};case"GOOGLE":return{id:l.id??"",function:{name:((d=l.function)==null?void 0:d.name)??"",arguments:t}};default:ye()}}).filter(l=>l!=null)}function ms({messages:n,provider:a}){return n.map(({message:l})=>({id:Hn(),role:l.tool_call_id!=null?Bn("tool"):Bn(l.role),content:typeof l.content=="string"?l.content:void 0,toolCalls:Sy({provider:a,toolCalls:l.tool_calls}),toolCallId:l.tool_call_id}))}function vy({provider:n,parsedAttributes:a}){var t;const l=iy.safeParse(a);if(!l.success)return{messageParsingErrors:[Gg],messages:null};if(n==="ANTHROPIC"){const{success:i,data:r}=cs.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:ms({provider:n,messages:l.data.llm.input_messages})}}function Cy({provider:n,parsedAttributes:a}){const l=[],t=ry.safeParse(a);if(t.success)return{output:ms({provider:n,messages:t.data.llm.output_messages}),outputParsingErrors:l};l.push(Wg);const i=sy.safeParse(a);return i.success?{output:i.data.output.value,outputParsingErrors:l}:(l.push(Jg),{output:void 0,outputParsingErrors:l})}function ps(n){if(n==null)return null;switch(n.toLowerCase()){case"openai":return"OPENAI";case"anthropic":return"ANTHROPIC";case"google":return"GOOGLE";case"azure":return"AZURE_OPENAI";default:return null}}function Fy(n){for(const a of Object.keys(Li))if(Li[a].some(t=>n.includes(t)))return a;return yr}function Ky(n){const{success:a,data:l}=uy.safeParse(n);if(a){const t=ps(l.llm.provider)||Fy(l.llm.model_name),i=Ty(n);return{modelConfig:{...Object.fromEntries(Object.entries(i).filter(([r,o])=>o!==null)),modelName:l.llm.model_name,provider:t,invocationParameters:[],supportedInvocationParameters:[]},parsingErrors:[]}}return{modelConfig:null,parsingErrors:[Xg]}}function Ty(n){const{success:a,data:l}=py.safeParse(n);if(a)try{const t=new URL(l.url.full);let i=t;if(l.url.path)try{i=new URL(l.url.full.split(l.url.path)[0])}catch{}return{baseUrl:`${i.origin}${i.pathname}`,endpoint:t.origin,apiVersion:t.searchParams.get("api-version")||null}}catch{}return{baseUrl:null,apiVersion:null,endpoint:null}}function Py(n,a=[]){const{success:l,data:t}=cs.safeParse(n),i=[];return l||i.push(Yg),{invocationParameters:Vy((t==null?void 0:t.llm.invocation_parameters)??{},a),parsingErrors:i}}function Iy(n){const{success:a,data:l}=my.safeParse(n);return a?{responseFormat:l.llm.invocation_parameters.response_format,parsingErrors:[]}:{responseFormat:void 0,parsingErrors:[ey]}}function xy(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:Wa(),definition:l.tool.json_schema}).filter(l=>l!=null)}function Dy(n){var t;const{data:a,success:l}=yy.safeParse(n);return l?((t=a==null?void 0:a.llm)==null?void 0:t.tools)==null?{tools:null,parsingErrors:[]}:{tools:xy(a),parsingErrors:[]}:{tools:null,parsingErrors:[ny]}}function _y(n){var t;const{success:a,data:l}=by.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:[ay]}}function Ly(n){const{instance:a,instanceMessages:l}=gr(),t={...a,template:{__type:"chat",messages:Object.values(l)}},{json:i,parseError:r}=Ee(n.attributes);if(r)return{playgroundInstance:{...t,spanId:(n==null?void 0:n.id)??null},parsingErrors:[Zg]};const o=n.invocationParameters,d=Ky(i);let{modelConfig:c}=d;const{parsingErrors:p}=d,{messages:y,messageParsingErrors:u}=vy({provider:(c==null?void 0:c.provider)??t.model.provider,parsedAttributes:i}),{output:g,outputParsingErrors:f}=Cy({provider:(c==null?void 0:c.provider)??t.model.provider,parsedAttributes:i}),{invocationParameters:k,parsingErrors:b}=Py(i,o),{variables:S,parsingErrors:F}=_y(i),{parsingErrors:P}=Iy(i);c=c!=null?{...c,invocationParameters:P.length>0?k.filter(T=>T.invocationName!==Pn&&T.canonicalName!==Ln):k}:null;const{tools:D,parsingErrors:w}=Dy(i);return{playgroundInstance:{...t,model:c??t.model,template:y!=null?{__type:"chat",messages:y}:t.template,output:g,spanId:n.id,tools:D??t.tools},playgroundInput:S!=null?{variablesValueCache:S}:void 0,parsingErrors:[...u,...f,...p,...w,...b,...P,...F]}}const wy=n=>dy.safeParse(n).success,gs=({instance:n,templateFormat:a})=>{if(a==Xe.NONE)return[];const l=new Set,t=n.template.__type,i=zm(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:ye()}return Array.from(l)},Ey=({instances:n,templateFormat:a})=>a==Xe.NONE?[]:Array.from(new Set(n.flatMap(l=>gs({instance:l,templateFormat:a})))),ys=({instances:n,templateFormat:a,input:l})=>{if(a==Xe.NONE)return{variablesMap:{},variableKeys:[]};const t=Ey({instances:n,templateFormat:a}),i=l.variablesValueCache??{};return{variablesMap:t.reduce((o,d)=>(o[d]=i[d]||"",o),{}),variableKeys:t}};function Zn(n,a){return n.invocationName===a.invocationName||n.canonicalName!=null&&a.canonicalName!=null&&n.canonicalName===a.canonicalName}const My=(n,a)=>n.filter(l=>a.some(t=>Zn(t,l))).map(l=>{var t;return{...l,invocationName:((t=a.find(i=>Zn(i,l)))==null?void 0:t.invocationName)??l.invocationName}}),za=n=>n.replace(/_([a-z])/g,(a,l)=>l.toUpperCase()),Vy=(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,[za(i.invocationInputField)]:t}}).filter(l=>l!=null),fs=n=>{const{provider:a,validatedToolDefinition:l}=Qm(n.definition);switch(a){case"OPENAI":case"AZURE_OPENAI":return l.function.name;case"ANTHROPIC":return l.name;case"UNKNOWN":return null;default:ye()}},Ry=({provider:n,toolNumber:a})=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return{id:Wa(),definition:vi(a)};case"ANTHROPIC":return{id:Wa(),definition:Om(a)};case"GOOGLE":return{id:Wa(),definition:vi(a)};default:ye()}},Ay=n=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return Si();case"ANTHROPIC":return $m();case"GOOGLE":return Si();default:ye()}};function Ny(n){return{content:n.content,role:zy(n.role),toolCalls:n.toolCalls,toolCallId:n.toolCallId}}function zy(n){switch(n){case"system":return"SYSTEM";case"user":return"USER";case"tool":return"TOOL";case"ai":return"AI";default:ye()}}const hs=({playgroundStore:n,instanceId:a,credentials:l})=>{var u;const{instances:t,allInstanceMessages:i}=n.getState(),r=t.find(g=>g.id===a);if(!r)throw new Error(`No instance found for id ${a}`);if(r.template.__type!=="chat")throw new Error("We only support chat templates for now");const o=r.template.messageIds.map(g=>i[g]).filter(g=>g!=null),d=r.model.supportedInvocationParameters;let c=[...r.model.invocationParameters];const p=Dt({toolChoice:r.toolChoice,targetProvider:r.model.provider});r.tools.length>0?(c=c.filter(g=>g.invocationName!==Ia&&g.canonicalName!==Gn),c.push({canonicalName:Gn,invocationName:Ia,valueJson:p})):c=c.filter(g=>g.invocationName!==Ia&&g.canonicalName!==Gn),c=d.length?My(c,d):c;const y=r.model.provider==="AZURE_OPENAI"?{endpoint:r.model.endpoint,apiVersion:r.model.apiVersion}:{};return{messages:o.map(Ny),model:{providerKey:r.model.provider,name:r.model.modelName||"",baseUrl:r.model.baseUrl,...y},invocationParameters:bs(c,r.model.provider,r.model.modelName),tools:r.tools.length?r.tools.map(g=>g.definition):void 0,apiKey:l[r.model.provider]||null,promptName:(u=r.prompt)==null?void 0:u.name}},$l=(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},$y=({playgroundStore:n,instanceId:a,credentials:l})=>{const t=hs({playgroundStore:n,instanceId:a,credentials:l}),{instances:i,templateFormat:r,input:o,allInstanceMessages:d}=n.getState(),c=i.map(y=>$l(y,d)),{variablesMap:p}=ys({instances:c,input:o,templateFormat:r});return{...t,template:{variables:p,format:r}}},wi=({playgroundStore:n,instanceId:a,credentials:l,datasetId:t})=>({...hs({playgroundStore:n,instanceId:a,credentials:l}),templateFormat:n.getState().templateFormat,datasetId:t});function Ol(n){if(n===""||typeof n>"u")return"{}";if(typeof n=="string"){const a=n.startsWith('"{')||n.startsWith('"[')||n.startsWith('"\\"');try{if(a){const t=JSON.parse(n),i=typeof t=="string"?JSON.parse(t):t;return JSON.stringify(i,null,2)}}catch{}if(/^\s*[0-9{[]|true|false|null/.test(n))return n}return JSON.stringify(n,null,2)}function ks(n,a){return a.filter(l=>l.required).every(l=>n.some(t=>Zn(t,l)))}const Oy=n=>{for(const[a,l]of Object.entries(n))if(a.endsWith("DefaultValue")&&l!=null)return n[a]};function p2(n,a){const l=new Map(n.map(t=>[t.invocationName,t]));return a.forEach(t=>{var c;const i=t.invocationName,r=Oy(t),o=za(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 Qy=E.object({type:E.literal("enabled")}).passthrough(),jy=E.object({type:E.enum(["any","tool"])}).passthrough(),qy=(n,a)=>{if(!a)return n;const l=n.some(t=>t.canonicalName==="ANTHROPIC_EXTENDED_THINKING"&&t.valueJson&&Qy.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===Gn)return!jy.safeParse(t.valueJson).success}return!0})},bs=(n,a,l)=>a==="ANTHROPIC"?qy(n,l):n,Ss=m.createContext(null);function g2({children:n,...a}){const[l]=m.useState(()=>jm(a));return e(Ss.Provider,{value:l,children:n})}function Da(n,a){const l=Pe.useContext(Ss);if(!l)throw new Error("Missing CredentialsContext.Provider in the tree");return al(l,n,a)}const vs=m.createContext(null);function By(){const n=m.useContext(vs);if(n===null)throw new Error("useFunctionality must be used within a FunctionalityProvider");return n}function y2(n){return e(vs.Provider,{value:{authenticationEnabled:window.Config.authenticationEnabled},children:n.children})}const Uy=K`
1
+ import{A as E,b3 as me,b4 as $e,b5 as Ae,b6 as gl,B as kl,r as m,j as e,R as Pe,u as al,E as K,l as s,b7 as _e,ax as ie,O as U,v as I,b8 as nm,ac as ze,a8 as ht,ah as nn,ag as H,Q as W,aD as fa,a9 as kt,b9 as un,ba as am,ay as lm,bb as tm,H as fi,S as ae,T as Fe,bc as bt,aI as Ie,aL as xe,aM as G,bd as we,be as In,bf as xn,bg as hn,o as sr,az as te,F as hi,I as im,bh as rm,bi as Yl,bj as et,bk as $a,bl as qe,n as ll,bm as sm,aR as or,bn as om,bo as ki,bp as dm,bq as cm,br as um,bs as mm,bt as pm,bu as gm,bv as ym,bw as fm,bx as hm,by as Be,bz as Za,D as km,bA as bm,bB as cl,aJ as kn,g as dr,bC as Sm,aC as St,bD as vm,bE as cr,bF as ur,bG as Cm,ai as Fm,ad as vt,bH as Km,ae as Tm,af as Pm,bI as Im,p as xm,bJ as bi}from"./vendor-CwOvppSU.js";import{L as bl,v as Sl,C as j,d as J,D as Y,A as ge,w as mr,o as Ct,P as _a,e as Oe,f as Yn,T as pe,h as bn,E as vl,a as Me,q as ea,r as La,t as Ft,c as na,x as ha,g as Kt,s as Cl,y as Dm,i as Fl,z as _m,B as Lm,G as wm,H as Tt,J as Pt,u as Em,K as Mm}from"./vendor-arizeai-bw-hz0cw.js";import{s as Vm,l as Rm,j as It,a as Ee,i as xt,b as pr,c as Am,d as Wn,e as Dn,f as gr,D as yr,g as Hn,h as Wa,k as Nm,m as ye,T as Xe,n as zm,o as Dt,p as Si,q as $m,r as vi,t as Om,u as Qm,v as jm,N as qm,w as Bm,L as fe,x as Te,y as cn,B as Um,_ as h,z as Fn,I as L,C as Hm,G as fr,A as Kl,P as ka,M as _t,E as Lt,S as hr,F as Gm,H as Wm,J as Jm,K as Zm,O as Xm,Q as Ym,R as ep,U as be,V as v,W as C,X as de,Y as mt,Z as ce,$ as ue,a0 as Ye,a1 as np,a2 as ap,a3 as lp,a4 as an,a5 as he,a6 as Ke,a7 as R,a8 as le,a9 as X,aa as kr,ab as tp,ac as ip,ad as rp,ae as Tl,af as Pl,ag as br,ah as sp,ai as op,aj as dp,ak as re,al as Il,am as cp,an as Sr,ao as Ta,ap as Xa,aq as wt,ar as Ue,as as up,at as Et,au as Ge,av as We,aw as ne,ax as mn,ay as oe,az as mp,aA as pp,aB as gp,aC as Tn,aD as Qe,aE as je,aF as vr,aG as xl,aH as Ve,aI as aa,aJ as Le,aK as Re,aL as wa,aM as Mn,aN as _n,aO as Dl,aP as Ea,aQ as Ma,aR as Cr,aS as ln,aT as Fr,aU as yp,aV as Mt,aW as ca,aX as qn,aY as fp,aZ as hp,a_ as Vt,a$ as _l,b0 as Vn,b1 as la,b2 as Kr,b3 as Ci,b4 as rn,b5 as sn,b6 as kp,b7 as bp,b8 as Ya,b9 as Sp,ba as Ja,bb as Je,bc as vp,bd as Cp,be as Ll,bf as Rn,bg as Fp,bh as Kp,bi as tn,bj as yn,bk as Va,bl as Rt,bm as Tr,bn as At,bo as wl,bp as Tp,bq as Nt,br as Pp,bs as Ip,bt as zt,bu as tl,bv as Pr,bw as Ir,bx as xr,by as He,bz as Dr,bA as Sn,bB as pt,bC as xp,bD as $t,bE as Ot,bF as _r,bG as Dp,bH as _p,bI as Lp,bJ as wp,bK as Ep,bL as Mp,bM as ua,bN as Qt,bO as Vp,bP as Lr,bQ as Ze,bR as Rp,bS as Ap,bT as Np,bU as zp,bV as $p,bW as Op,bX as Qp,bY as El,bZ as jp,b_ as qp,b$ as Bp,c0 as Up,c1 as Fi,c2 as Hp,c3 as vn,c4 as An,c5 as jt,c6 as wr,c7 as Er,c8 as Ki,c9 as Ti,ca as Gp,cb as Wp,cc as B,cd as Mr,ce as Ml,cf as Vl,cg as Ra,ch as Vr,ci as Aa,cj as Na,ck as Rr,cl as Nn,cm as Ne,cn as Rl,co as zn,cp as Jp,cq as Zp,cr as Xp,cs as Yp,ct as eg,cu as on,cv as dn,cw as ng,cx as ag,cy as pa,cz as Ar,cA as lg,cB as tg,cC as Pi,cD as ig,cE as rg,cF as sg,cG as og,cH as dg,cI as cg,cJ as Nr,cK as ug,cL as mg,cM as pg,cN as gg,cO as ga,cP as qt,cQ as zr,cR as Ka,cS as fl,cT as Al,cU as $r,cV as Or,cW as nt,cX as yg,cY as Qr,cZ as fg,c_ as Bt,c$ as Nl,d0 as pn,d1 as hg,d2 as jr,d3 as kg,d4 as qr,d5 as Br,d6 as bg,d7 as Sg,d8 as Ur,d9 as Jn,da as vg,db as Cg,dc as Ii,dd as Fg,de as Kg,df as Tg,dg as Pg,dh as Ig,di as Hr,dj as xg,dk as Pa,dl as gt,dm as Dg,dn as Gr,dp as _g,dq as Lg,dr as wg,ds as zl,dt as Wr,du as xi,dv as Eg,dw as Mg,dx as Ut,dy as Jr,dz as Zr,dA as Vg,dB as yt,dC as Rg,dD as Ag,dE as ul,dF as Ng,dG as zg,dH as Xr,dI as Yr,dJ as $g,dK as Og,dL as Qg,dM as Di,dN as _i}from"./components-BwK8mVUO.js";import{m as ta,n as ia,j as jg,E as es,R as ra,k as Ht,d as qg,p as il,q as ns}from"./vendor-codemirror-Du5cjwoZ.js";import{R as $n,C as rl,X as sa,Y as fn,a as oa,T as On,B as xa,A as el,b as as,c as Gt,L as ls,d as Bg,P as ts,e as is,f as rs}from"./vendor-recharts-BMT-13Pz.js";const Ug=4,Hg={user:["user","human"],ai:["assistant","bot","ai"],system:["system"],tool:["tool"]},Gg="Unable to parse span input messages, expected messages which include a role and content.",Wg="Unable to parse span output messages, expected messages which include a role and content.",Jg="Unable to parse span output expected output.value to be present.",Zg="Unable to parse span attributes, attributes must be valid JSON.",Xg="Unable to parse model config, expected llm.model_name to be present.",Yg="Unable to parse model config, expected llm.invocation_parameters JSON string to be present.",ey="Unable to parse invocation parameters response_format, expected llm.invocation_parameters.response_format to be a well formed json object or undefined.",ny="Unable to parse tools, expected tools to be an array of valid tools.",ay="Unable to parse prompt template variables, expected prompt template variables to be a valid JSON object string.",Li={AZURE_OPENAI:[],ANTHROPIC:["claude"],OPENAI:["gpt","o1"],GOOGLE:["gemini"]},Gn="TOOL_CHOICE",Ia="tool_choice",Ln="RESPONSE_FORMAT",Pn="response_format",ly=[Gn,Ln],ty=E.object({tool_call:E.object({id:E.string().optional(),function:E.object({name:E.string(),arguments:E.string()}).partial()}).partial()}).partial(),ss=E.object({[me.message]:E.object({[$e.role]:E.string(),[$e.content]:E.union([E.string(),E.array(E.record(E.string(),E.unknown()))]).default(""),[$e.tool_calls]:E.array(ty).optional(),[$e.tool_call_id]:E.string().optional()})}),iy=E.object({[me.llm]:E.object({[Ae.input_messages]:E.array(ss)})}),ry=E.object({[me.llm]:E.object({[Ae.output_messages]:E.array(ss)})}),sy=E.object({[me.output]:E.object({value:E.string()})}),os=Vm()(E.enum(["user","ai","system","tool"])),oy=E.object({id:E.number(),role:os,content:E.string().optional(),toolCallId:E.string().optional(),toolCalls:E.array(Rm).optional()}),dy=E.array(oy),Wt=E.lazy(()=>E.record(It)),cy=Wt,ds=E.string().transform((n,a)=>{const{json:l}=Ee(n);if(!xt(l))return a.addIssue({code:E.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),E.NEVER;const{success:t,data:i}=cy.safeParse(l);return t?i:(a.addIssue({code:E.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),E.NEVER)}).default("{}"),uy=E.object({[me.llm]:E.object({[Ae.provider]:E.string().optional(),[Ae.model_name]:E.string()})}),cs=E.object({[me.llm]:E.object({[Ae.invocation_parameters]:ds})}),my=E.object({[me.llm]:E.object({[Ae.invocation_parameters]:ds.pipe(E.object({response_format:Wt.optional()}))})}),py=E.object({url:E.object({full:E.string(),path:E.string().optional()})}),gy=E.string().transform((n,a)=>{const{json:l}=Ee(n);return l==null||!xt(l)?(a.addIssue({code:E.ZodIssueCode.custom,message:"The tool JSON schema must be a valid JSON object"}),E.NEVER):l}).transform((n,a)=>{const{data:l,success:t}=pr.safeParse(n);return t?l:(a.addIssue({code:E.ZodIssueCode.custom,message:"The tool JSON schema must be a valid tool schema"}),E.NEVER)}),yy=E.object({[me.llm]:E.object({[Ae.tools]:E.array(E.object({[me.tool]:E.object({[gl.json_schema]:gy})}).optional()).optional()}).optional()}).optional(),fy=E.lazy(()=>E.object({type:E.literal("json_schema"),json_schema:E.object({name:E.string().describe("The name of the schema"),schema:Am.describe("The schema itself in JSON schema format"),strict:E.literal(!0).describe("The schema must be strict")})})),hy=kl(fy,{removeAdditionalStrategy:"passthrough"}),ky=E.string().transform((n,a)=>{const{json:l}=Ee(n);return Wn(l)?Object.entries(l).reduce((i,[r,o])=>{if(typeof o=="string")i[r]=o;else{const{json:d}=Dn(o);d!=null&&(i[r]=d)}return i},{}):(a.addIssue({code:E.ZodIssueCode.custom,message:"The prompt template variables must be a valid JSON object"}),E.NEVER)}),by=E.object({[me.llm]:E.object({[Ae.prompt_template]:E.object({variables:ky}).optional()}).optional()}).optional();function us(n){return os.safeParse(n).success}function Bn(n){const a=n.toLowerCase();if(us(a))return a;for(const[l,t]of Object.entries(Hg))if(t.includes(a))return l;return Nm}function Sy({toolCalls:n,provider:a}){if(n!=null)return n.map(({tool_call:l})=>{var i,r,o,d;if(l==null)return null;let t={};if(((i=l.function)==null?void 0:i.arguments)!=null){const{json:c}=Ee(l.function.arguments);Wn(c)&&(t=c)}switch(a){case"OPENAI":case"AZURE_OPENAI":return{id:l.id??"",type:"function",function:{name:((r=l.function)==null?void 0:r.name)??"",arguments:t}};case"ANTHROPIC":return{id:l.id??"",type:"tool_use",name:((o=l.function)==null?void 0:o.name)??"",input:t};case"GOOGLE":return{id:l.id??"",function:{name:((d=l.function)==null?void 0:d.name)??"",arguments:t}};default:ye()}}).filter(l=>l!=null)}function ms({messages:n,provider:a}){return n.map(({message:l})=>({id:Hn(),role:l.tool_call_id!=null?Bn("tool"):Bn(l.role),content:typeof l.content=="string"?l.content:void 0,toolCalls:Sy({provider:a,toolCalls:l.tool_calls}),toolCallId:l.tool_call_id}))}function vy({provider:n,parsedAttributes:a}){var t;const l=iy.safeParse(a);if(!l.success)return{messageParsingErrors:[Gg],messages:null};if(n==="ANTHROPIC"){const{success:i,data:r}=cs.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:ms({provider:n,messages:l.data.llm.input_messages})}}function Cy({provider:n,parsedAttributes:a}){const l=[],t=ry.safeParse(a);if(t.success)return{output:ms({provider:n,messages:t.data.llm.output_messages}),outputParsingErrors:l};l.push(Wg);const i=sy.safeParse(a);return i.success?{output:i.data.output.value,outputParsingErrors:l}:(l.push(Jg),{output:void 0,outputParsingErrors:l})}function ps(n){if(n==null)return null;switch(n.toLowerCase()){case"openai":return"OPENAI";case"anthropic":return"ANTHROPIC";case"google":return"GOOGLE";case"azure":return"AZURE_OPENAI";default:return null}}function Fy(n){for(const a of Object.keys(Li))if(Li[a].some(t=>n.includes(t)))return a;return yr}function Ky(n){const{success:a,data:l}=uy.safeParse(n);if(a){const t=ps(l.llm.provider)||Fy(l.llm.model_name),i=Ty(n);return{modelConfig:{...Object.fromEntries(Object.entries(i).filter(([r,o])=>o!==null)),modelName:l.llm.model_name,provider:t,invocationParameters:[],supportedInvocationParameters:[]},parsingErrors:[]}}return{modelConfig:null,parsingErrors:[Xg]}}function Ty(n){const{success:a,data:l}=py.safeParse(n);if(a)try{const t=new URL(l.url.full);let i=t;if(l.url.path)try{i=new URL(l.url.full.split(l.url.path)[0])}catch{}return{baseUrl:`${i.origin}${i.pathname}`,endpoint:t.origin,apiVersion:t.searchParams.get("api-version")||null}}catch{}return{baseUrl:null,apiVersion:null,endpoint:null}}function Py(n,a=[]){const{success:l,data:t}=cs.safeParse(n),i=[];return l||i.push(Yg),{invocationParameters:Vy((t==null?void 0:t.llm.invocation_parameters)??{},a),parsingErrors:i}}function Iy(n){const{success:a,data:l}=my.safeParse(n);return a?{responseFormat:l.llm.invocation_parameters.response_format,parsingErrors:[]}:{responseFormat:void 0,parsingErrors:[ey]}}function xy(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:Wa(),definition:l.tool.json_schema}).filter(l=>l!=null)}function Dy(n){var t;const{data:a,success:l}=yy.safeParse(n);return l?((t=a==null?void 0:a.llm)==null?void 0:t.tools)==null?{tools:null,parsingErrors:[]}:{tools:xy(a),parsingErrors:[]}:{tools:null,parsingErrors:[ny]}}function _y(n){var t;const{success:a,data:l}=by.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:[ay]}}function Ly(n){const{instance:a,instanceMessages:l}=gr(),t={...a,template:{__type:"chat",messages:Object.values(l)}},{json:i,parseError:r}=Ee(n.attributes);if(r)return{playgroundInstance:{...t,spanId:(n==null?void 0:n.id)??null},parsingErrors:[Zg]};const o=n.invocationParameters,d=Ky(i);let{modelConfig:c}=d;const{parsingErrors:p}=d,{messages:y,messageParsingErrors:u}=vy({provider:(c==null?void 0:c.provider)??t.model.provider,parsedAttributes:i}),{output:g,outputParsingErrors:f}=Cy({provider:(c==null?void 0:c.provider)??t.model.provider,parsedAttributes:i}),{invocationParameters:k,parsingErrors:b}=Py(i,o),{variables:S,parsingErrors:F}=_y(i),{parsingErrors:P}=Iy(i);c=c!=null?{...c,invocationParameters:P.length>0?k.filter(T=>T.invocationName!==Pn&&T.canonicalName!==Ln):k}:null;const{tools:D,parsingErrors:w}=Dy(i);return{playgroundInstance:{...t,model:c??t.model,template:y!=null?{__type:"chat",messages:y}:t.template,output:g,spanId:n.id,tools:D??t.tools},playgroundInput:S!=null?{variablesValueCache:S}:void 0,parsingErrors:[...u,...f,...p,...w,...b,...P,...F]}}const wy=n=>dy.safeParse(n).success,gs=({instance:n,templateFormat:a})=>{if(a==Xe.NONE)return[];const l=new Set,t=n.template.__type,i=zm(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:ye()}return Array.from(l)},Ey=({instances:n,templateFormat:a})=>a==Xe.NONE?[]:Array.from(new Set(n.flatMap(l=>gs({instance:l,templateFormat:a})))),ys=({instances:n,templateFormat:a,input:l})=>{if(a==Xe.NONE)return{variablesMap:{},variableKeys:[]};const t=Ey({instances:n,templateFormat:a}),i=l.variablesValueCache??{};return{variablesMap:t.reduce((o,d)=>(o[d]=i[d]||"",o),{}),variableKeys:t}};function Zn(n,a){return n.invocationName===a.invocationName||n.canonicalName!=null&&a.canonicalName!=null&&n.canonicalName===a.canonicalName}const My=(n,a)=>n.filter(l=>a.some(t=>Zn(t,l))).map(l=>{var t;return{...l,invocationName:((t=a.find(i=>Zn(i,l)))==null?void 0:t.invocationName)??l.invocationName}}),za=n=>n.replace(/_([a-z])/g,(a,l)=>l.toUpperCase()),Vy=(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,[za(i.invocationInputField)]:t}}).filter(l=>l!=null),fs=n=>{const{provider:a,validatedToolDefinition:l}=Qm(n.definition);switch(a){case"OPENAI":case"AZURE_OPENAI":return l.function.name;case"ANTHROPIC":return l.name;case"UNKNOWN":return null;default:ye()}},Ry=({provider:n,toolNumber:a})=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return{id:Wa(),definition:vi(a)};case"ANTHROPIC":return{id:Wa(),definition:Om(a)};case"GOOGLE":return{id:Wa(),definition:vi(a)};default:ye()}},Ay=n=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return Si();case"ANTHROPIC":return $m();case"GOOGLE":return Si();default:ye()}};function Ny(n){return{content:n.content,role:zy(n.role),toolCalls:n.toolCalls,toolCallId:n.toolCallId}}function zy(n){switch(n){case"system":return"SYSTEM";case"user":return"USER";case"tool":return"TOOL";case"ai":return"AI";default:ye()}}const hs=({playgroundStore:n,instanceId:a,credentials:l})=>{var u;const{instances:t,allInstanceMessages:i}=n.getState(),r=t.find(g=>g.id===a);if(!r)throw new Error(`No instance found for id ${a}`);if(r.template.__type!=="chat")throw new Error("We only support chat templates for now");const o=r.template.messageIds.map(g=>i[g]).filter(g=>g!=null),d=r.model.supportedInvocationParameters;let c=[...r.model.invocationParameters];const p=Dt({toolChoice:r.toolChoice,targetProvider:r.model.provider});r.tools.length>0?(c=c.filter(g=>g.invocationName!==Ia&&g.canonicalName!==Gn),c.push({canonicalName:Gn,invocationName:Ia,valueJson:p})):c=c.filter(g=>g.invocationName!==Ia&&g.canonicalName!==Gn),c=d.length?My(c,d):c;const y=r.model.provider==="AZURE_OPENAI"?{endpoint:r.model.endpoint,apiVersion:r.model.apiVersion}:{};return{messages:o.map(Ny),model:{providerKey:r.model.provider,name:r.model.modelName||"",baseUrl:r.model.baseUrl,...y},invocationParameters:bs(c,r.model.provider,r.model.modelName),tools:r.tools.length?r.tools.map(g=>g.definition):void 0,apiKey:l[r.model.provider]||null,promptName:(u=r.prompt)==null?void 0:u.name}},$l=(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},$y=({playgroundStore:n,instanceId:a,credentials:l})=>{const t=hs({playgroundStore:n,instanceId:a,credentials:l}),{instances:i,templateFormat:r,input:o,allInstanceMessages:d}=n.getState(),c=i.map(y=>$l(y,d)),{variablesMap:p}=ys({instances:c,input:o,templateFormat:r});return{...t,template:{variables:p,format:r}}},wi=({playgroundStore:n,instanceId:a,credentials:l,datasetId:t})=>({...hs({playgroundStore:n,instanceId:a,credentials:l}),templateFormat:n.getState().templateFormat,datasetId:t});function Ol(n){if(n===""||typeof n>"u")return"{}";if(typeof n=="string"){const a=n.startsWith('"{')||n.startsWith('"[')||n.startsWith('"\\"');try{if(a){const t=JSON.parse(n),i=typeof t=="string"?JSON.parse(t):t;return JSON.stringify(i,null,2)}}catch{}if(/^\s*[0-9{[]|true|false|null/.test(n))return n}return JSON.stringify(n,null,2)}function ks(n,a){return a.filter(l=>l.required).every(l=>n.some(t=>Zn(t,l)))}const Oy=n=>{for(const[a,l]of Object.entries(n))if(a.endsWith("DefaultValue")&&l!=null)return n[a]};function p2(n,a){const l=new Map(n.map(t=>[t.invocationName,t]));return a.forEach(t=>{var c;const i=t.invocationName,r=Oy(t),o=za(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 Qy=E.object({type:E.literal("enabled")}).passthrough(),jy=E.object({type:E.enum(["any","tool"])}).passthrough(),qy=(n,a)=>{if(!a)return n;const l=n.some(t=>t.canonicalName==="ANTHROPIC_EXTENDED_THINKING"&&t.valueJson&&Qy.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===Gn)return!jy.safeParse(t.valueJson).success}return!0})},bs=(n,a,l)=>a==="ANTHROPIC"?qy(n,l):n,Ss=m.createContext(null);function g2({children:n,...a}){const[l]=m.useState(()=>jm(a));return e(Ss.Provider,{value:l,children:n})}function Da(n,a){const l=Pe.useContext(Ss);if(!l)throw new Error("Missing CredentialsContext.Provider in the tree");return al(l,n,a)}const vs=m.createContext(null);function By(){const n=m.useContext(vs);if(n===null)throw new Error("useFunctionality must be used within a FunctionalityProvider");return n}function y2(n){return e(vs.Provider,{value:{authenticationEnabled:window.Config.authenticationEnabled},children:n.children})}const Uy=K`
2
2
  display: flex;
3
3
  direction: row;
4
4
  height: 100vh;
@@ -0,0 +1 @@
1
+ __version__ = "8.13.2"
@@ -1 +0,0 @@
1
- __version__ = "8.13.1"
File without changes
File without changes
File without changes