arize-phoenix 10.11.0__tar.gz → 10.13.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of arize-phoenix might be problematic. Click here for more details.
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/.gitignore +3 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/PKG-INFO +1 -1
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/config.py +15 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/helpers/playground_clients.py +0 -1
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/queries.py +10 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/routers/v1/spans.py +164 -3
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/Project.py +19 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/app.py +4 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/main.py +3 -0
- arize_phoenix-10.13.0/src/phoenix/server/static/.vite/manifest.json +87 -0
- arize_phoenix-10.11.0/src/phoenix/server/static/assets/components-DGavuwFF.js → arize_phoenix-10.13.0/src/phoenix/server/static/assets/components-37rV35eH.js +256 -256
- arize_phoenix-10.11.0/src/phoenix/server/static/assets/index-DNmPxkEL.js → arize_phoenix-10.13.0/src/phoenix/server/static/assets/index-CdNW7TcY.js +2 -2
- arize_phoenix-10.11.0/src/phoenix/server/static/assets/pages-Bns7xROJ.js → arize_phoenix-10.13.0/src/phoenix/server/static/assets/pages-BWWAYqfd.js +545 -478
- arize_phoenix-10.11.0/src/phoenix/server/static/assets/vendor-ARQZvmz5.js → arize_phoenix-10.13.0/src/phoenix/server/static/assets/vendor-BKYy4SMr.js +1 -1
- arize_phoenix-10.11.0/src/phoenix/server/static/assets/vendor-arizeai-Ct6kvW4e.js → arize_phoenix-10.13.0/src/phoenix/server/static/assets/vendor-arizeai-hGVPFFRq.js +22 -22
- arize_phoenix-10.11.0/src/phoenix/server/static/assets/vendor-codemirror-BxoXtD6f.js → arize_phoenix-10.13.0/src/phoenix/server/static/assets/vendor-codemirror-BlmFw5CA.js +1 -1
- arize_phoenix-10.11.0/src/phoenix/server/static/assets/vendor-recharts-Cl8AO7Np.js → arize_phoenix-10.13.0/src/phoenix/server/static/assets/vendor-recharts-Bz7zqjbW.js +1 -1
- arize_phoenix-10.11.0/src/phoenix/server/static/assets/vendor-shiki-BpqODMgR.js → arize_phoenix-10.13.0/src/phoenix/server/static/assets/vendor-shiki-BitvudxD.js +1 -1
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/templates/index.html +24 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/settings.py +3 -0
- arize_phoenix-10.13.0/src/phoenix/version.py +1 -0
- arize_phoenix-10.11.0/src/phoenix/server/static/.vite/manifest.json +0 -87
- arize_phoenix-10.11.0/src/phoenix/version.py +0 -1
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/IP_NOTICE +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/LICENSE +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/README.md +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/pyproject.toml +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/auth.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/core/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/core/embedding_dimension.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/core/model.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/core/model_schema.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/core/model_schema_adapter.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/datetime_utils.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/README.md +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/alembic.ini +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/bulk_inserter.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/constants.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/engines.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/enums.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/facilitator.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/helpers.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/insertion/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/insertion/constants.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/insertion/dataset.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/insertion/document_annotation.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/insertion/evaluation.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/insertion/helpers.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/insertion/span.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/insertion/span_annotation.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/insertion/trace_annotation.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/insertion/types.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/migrate.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/migrations/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/migrations/data_migration_scripts/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/migrations/data_migration_scripts/populate_project_sessions.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/migrations/env.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/migrations/script.py.mako +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/migrations/versions/10460e46d750_datasets.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/migrations/versions/2f9d1a65945f_annotation_config_migration.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/migrations/versions/3be8647b87d8_add_token_columns_to_spans_table.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/migrations/versions/4ded9e43755f_create_project_sessions_table.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/migrations/versions/6a88424799fe_update_users_with_auth_method.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/migrations/versions/8a3764fe7f1a_change_jsonb_to_json_for_prompts.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/migrations/versions/bb8139330879_create_project_trace_retention_policies_table.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/migrations/versions/bc8fea3c2bc8_add_prompt_tables.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/migrations/versions/cd164e83824f_users_and_tokens.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/migrations/versions/cf03bd6bae1d_init.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/models.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/pg_config.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/types/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/types/annotation_configs.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/types/db_models.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/types/identifier.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/types/model_provider.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/db/types/trace_retention.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/exceptions.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/experiments/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/experiments/evaluators/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/experiments/evaluators/base.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/experiments/evaluators/code_evaluators.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/experiments/evaluators/llm_evaluators.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/experiments/evaluators/utils.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/experiments/functions.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/experiments/tracing.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/experiments/types.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/experiments/utils.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/inferences/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/inferences/errors.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/inferences/fixtures.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/inferences/inferences.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/inferences/schema.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/inferences/validation.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/logging/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/logging/_config.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/logging/_filter.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/logging/_formatter.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/metrics/README.md +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/metrics/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/metrics/binning.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/metrics/metrics.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/metrics/mixins.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/metrics/retrieval_metrics.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/metrics/timeseries.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/metrics/wrappers.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/pointcloud/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/pointcloud/clustering.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/pointcloud/pointcloud.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/pointcloud/projectors.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/pointcloud/umap_parameters.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/py.typed +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/README.md +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/auth.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/context.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/annotation_summaries.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/average_experiment_run_latency.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/cache/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/cache/two_tier_cache.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/dataset_example_revisions.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/dataset_example_spans.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/document_evaluation_summaries.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/document_evaluations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/document_retrieval_metrics.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/experiment_annotation_summaries.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/experiment_error_rates.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/experiment_run_annotations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/experiment_run_counts.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/experiment_sequence_number.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/latency_ms_quantile.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/min_start_or_max_end_times.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/num_child_spans.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/num_spans_per_trace.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/project_by_name.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/project_ids_by_trace_retention_policy_id.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/prompt_version_sequence_number.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/record_counts.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/session_io.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/session_num_traces.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/session_num_traces_with_error.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/session_token_usages.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/session_trace_latency_ms_quantile.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/span_annotations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/span_by_id.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/span_dataset_examples.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/span_descendants.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/span_projects.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/table_fields.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/token_counts.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/trace_by_trace_ids.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/trace_retention_policy_id_by_project_id.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/trace_root_spans.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/user_roles.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/dataloaders/users.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/exceptions.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/helpers/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/helpers/annotations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/helpers/dataset_helpers.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/helpers/experiment_run_filters.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/helpers/playground_registry.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/helpers/playground_spans.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/helpers/prompts/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/helpers/prompts/conversions/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/helpers/prompts/conversions/anthropic.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/helpers/prompts/conversions/openai.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/helpers/prompts/models.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/AddExamplesToDatasetInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/AddSpansToDatasetInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/ChatCompletionInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/ChatCompletionMessageInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/ClearProjectInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/ClusterInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/Coordinates.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/CreateDatasetInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/CreateSpanAnnotationInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/CreateTraceAnnotationInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/DataQualityMetricInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/DatasetExampleInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/DatasetFilter.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/DatasetSort.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/DatasetVersionSort.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/DeleteAnnotationsInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/DeleteDatasetExamplesInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/DeleteDatasetInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/DeleteExperimentsInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/DimensionFilter.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/DimensionInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/GenerativeCredentialInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/GenerativeModelInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/Granularity.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/InvocationParameters.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/PatchAnnotationInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/PatchDatasetExamplesInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/PatchDatasetInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/PerformanceMetricInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/ProjectFilter.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/ProjectSessionSort.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/ProjectSort.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/PromptTemplateOptions.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/PromptVersionInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/SpanAnnotationFilter.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/SpanAnnotationSort.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/SpanSort.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/TimeRange.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/TraceAnnotationSort.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/UserRoleInput.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/input_types/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/interceptor.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/mutations/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/mutations/annotation_config_mutations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/mutations/api_key_mutations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/mutations/chat_mutations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/mutations/dataset_mutations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/mutations/experiment_mutations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/mutations/export_events_mutations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/mutations/project_mutations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/mutations/project_trace_retention_policy_mutations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/mutations/prompt_label_mutations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/mutations/prompt_mutations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/mutations/prompt_version_tag_mutations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/mutations/span_annotations_mutations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/mutations/trace_annotations_mutations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/mutations/trace_mutations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/mutations/user_mutations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/openapi/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/openapi/main.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/openapi/schema.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/routers/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/routers/auth.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/routers/embeddings.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/routers/oauth2.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/routers/utils.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/routers/v1/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/routers/v1/annotation_configs.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/routers/v1/annotations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/routers/v1/datasets.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/routers/v1/evaluations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/routers/v1/experiment_evaluations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/routers/v1/experiment_runs.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/routers/v1/experiments.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/routers/v1/models.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/routers/v1/projects.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/routers/v1/prompts.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/routers/v1/traces.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/routers/v1/users.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/routers/v1/utils.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/schema.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/subscriptions.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/Annotation.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/AnnotationConfig.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/AnnotationSource.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/AnnotationSummary.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/AnnotatorKind.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/ApiKey.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/AuthMethod.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/ChatCompletionMessageRole.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/ChatCompletionSubscriptionPayload.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/Cluster.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/CreateDatasetPayload.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/CronExpression.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/DataQualityMetric.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/Dataset.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/DatasetExample.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/DatasetExampleRevision.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/DatasetValues.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/DatasetVersion.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/Dimension.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/DimensionDataType.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/DimensionShape.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/DimensionType.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/DimensionWithValue.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/DocumentEvaluationSummary.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/DocumentRetrievalMetrics.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/EmbeddingDimension.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/EmbeddingMetadata.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/Evaluation.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/EvaluationSummary.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/Event.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/EventMetadata.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/ExampleRevisionInterface.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/Experiment.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/ExperimentAnnotationSummary.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/ExperimentComparison.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/ExperimentRun.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/ExperimentRunAnnotation.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/ExportedFile.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/Functionality.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/GenerativeModel.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/GenerativeProvider.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/Identifier.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/Inferences.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/InferencesRole.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/LabelFraction.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/MimeType.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/Model.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/NumericRange.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/PerformanceMetric.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/ProjectSession.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/ProjectTraceRetentionPolicy.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/Prompt.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/PromptLabel.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/PromptResponse.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/PromptVersion.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/PromptVersionTag.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/PromptVersionTemplate.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/ResponseFormat.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/Retrieval.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/ScalarDriftMetricEnum.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/Segments.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/SortDir.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/Span.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/SpanAnnotation.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/SpanIOValue.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/SystemApiKey.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/TimeSeries.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/TokenCountPromptDetails.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/TokenUsage.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/ToolDefinition.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/Trace.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/TraceAnnotation.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/UMAPPoints.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/User.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/UserApiKey.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/UserRole.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/ValidationResult.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/VectorDriftMetricEnum.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/node.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/types/pagination.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/api/utils.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/authorization.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/bearer_auth.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/cost_tracking/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/cost_tracking/cost_lookup.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/cost_tracking/model_cost_manifest.json +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/dml_event.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/dml_event_handler.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/email/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/email/sender.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/email/templates/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/email/templates/password_reset.html +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/email/templates/welcome.html +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/email/types.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/grpc_server.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/jwt_store.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/middleware/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/middleware/gzip.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/oauth2.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/openapi/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/prometheus.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/rate_limiters.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/retention.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/static/apple-touch-icon-114x114.png +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/static/apple-touch-icon-120x120.png +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/static/apple-touch-icon-144x144.png +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/static/apple-touch-icon-152x152.png +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/static/apple-touch-icon-180x180.png +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/static/apple-touch-icon-72x72.png +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/static/apple-touch-icon-76x76.png +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/static/apple-touch-icon.png +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/static/assets/vendor-WIZid84E.css +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/static/assets/vendor-three-C5WAXd5r.js +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/static/favicon.ico +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/static/modernizr.js +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/telemetry.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/templates/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/thread_server.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/server/types.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/services.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/session/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/session/client.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/session/data_extractor.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/session/evaluation.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/session/session.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/attributes.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/dsl/README.md +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/dsl/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/dsl/filter.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/dsl/helpers.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/dsl/query.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/errors.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/evaluation_conventions.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/exporter.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/fixtures.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/otel.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/projects.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/schemas.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/span_evaluations.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/span_json_decoder.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/span_json_encoder.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/trace_dataset.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/utils.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/v1/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/v1/evaluation_pb2.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/trace/v1/evaluation_pb2.pyi +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/utilities/__init__.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/utilities/client.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/utilities/deprecation.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/utilities/error_handling.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/utilities/json.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/utilities/logging.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/utilities/project.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/utilities/re.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/utilities/span_store.py +0 -0
- {arize_phoenix-10.11.0 → arize_phoenix-10.13.0}/src/phoenix/utilities/template_formatters.py +0 -0
|
@@ -50,6 +50,11 @@ ENV_PHOENIX_PROJECT_NAME = "PHOENIX_PROJECT_NAME"
|
|
|
50
50
|
"""
|
|
51
51
|
The project name to use when logging traces and evals. defaults to 'default'.
|
|
52
52
|
"""
|
|
53
|
+
ENV_PHOENIX_FULLSTORY_ORG = "PHOENIX_FULLSTORY_ORG"
|
|
54
|
+
"""
|
|
55
|
+
The FullStory organization ID for web analytics tracking. When set, FullStory tracking
|
|
56
|
+
will be enabled in the Phoenix web interface.
|
|
57
|
+
"""
|
|
53
58
|
ENV_PHOENIX_SQL_DATABASE_URL = "PHOENIX_SQL_DATABASE_URL"
|
|
54
59
|
"""
|
|
55
60
|
The SQL database URL to use when logging traces and evals.
|
|
@@ -1520,6 +1525,16 @@ def get_env_allowed_origins() -> Optional[list[str]]:
|
|
|
1520
1525
|
return allowed_origins.split(",")
|
|
1521
1526
|
|
|
1522
1527
|
|
|
1528
|
+
def get_env_fullstory_org() -> Optional[str]:
|
|
1529
|
+
"""
|
|
1530
|
+
Get the FullStory organization ID from environment variables.
|
|
1531
|
+
|
|
1532
|
+
Returns:
|
|
1533
|
+
Optional[str]: The FullStory organization ID if set, None otherwise.
|
|
1534
|
+
"""
|
|
1535
|
+
return getenv(ENV_PHOENIX_FULLSTORY_ORG)
|
|
1536
|
+
|
|
1537
|
+
|
|
1523
1538
|
def verify_server_environment_variables() -> None:
|
|
1524
1539
|
"""Verify that the environment variables are set correctly. Raises an error otherwise."""
|
|
1525
1540
|
get_env_root_url()
|
|
@@ -319,6 +319,16 @@ class Query:
|
|
|
319
319
|
after: Optional[CursorString] = UNSET,
|
|
320
320
|
filter_condition: Optional[str] = UNSET,
|
|
321
321
|
) -> Connection[ExperimentComparison]:
|
|
322
|
+
# Handle empty experiment_ids gracefully
|
|
323
|
+
if not experiment_ids:
|
|
324
|
+
return connection_from_list(
|
|
325
|
+
data=[],
|
|
326
|
+
args=ConnectionArgs(
|
|
327
|
+
first=first,
|
|
328
|
+
after=after if isinstance(after, CursorString) else None,
|
|
329
|
+
),
|
|
330
|
+
)
|
|
331
|
+
|
|
322
332
|
experiment_ids_ = [
|
|
323
333
|
from_global_id_with_expected_type(experiment_id, OrmExperiment.__name__)
|
|
324
334
|
for experiment_id in experiment_ids
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import json
|
|
1
2
|
import warnings
|
|
2
3
|
from asyncio import get_running_loop
|
|
3
4
|
from collections.abc import AsyncIterator
|
|
@@ -12,7 +13,12 @@ from pydantic import BaseModel, Field
|
|
|
12
13
|
from sqlalchemy import select
|
|
13
14
|
from starlette.requests import Request
|
|
14
15
|
from starlette.responses import Response, StreamingResponse
|
|
15
|
-
from starlette.status import
|
|
16
|
+
from starlette.status import (
|
|
17
|
+
HTTP_202_ACCEPTED,
|
|
18
|
+
HTTP_400_BAD_REQUEST,
|
|
19
|
+
HTTP_404_NOT_FOUND,
|
|
20
|
+
HTTP_422_UNPROCESSABLE_ENTITY,
|
|
21
|
+
)
|
|
16
22
|
from strawberry.relay import GlobalID
|
|
17
23
|
|
|
18
24
|
from phoenix.config import DEFAULT_PROJECT_NAME
|
|
@@ -26,6 +32,19 @@ from phoenix.server.bearer_auth import PhoenixUser
|
|
|
26
32
|
from phoenix.server.dml_event import SpanAnnotationInsertEvent
|
|
27
33
|
from phoenix.trace.attributes import flatten
|
|
28
34
|
from phoenix.trace.dsl import SpanQuery as SpanQuery_
|
|
35
|
+
from phoenix.trace.schemas import (
|
|
36
|
+
Span as SpanForInsertion,
|
|
37
|
+
)
|
|
38
|
+
from phoenix.trace.schemas import (
|
|
39
|
+
SpanContext as InsertionSpanContext,
|
|
40
|
+
)
|
|
41
|
+
from phoenix.trace.schemas import (
|
|
42
|
+
SpanEvent as InternalSpanEvent,
|
|
43
|
+
)
|
|
44
|
+
from phoenix.trace.schemas import (
|
|
45
|
+
SpanKind,
|
|
46
|
+
SpanStatusCode,
|
|
47
|
+
)
|
|
29
48
|
from phoenix.utilities.json import encode_df_as_json_string
|
|
30
49
|
|
|
31
50
|
from .models import V1RoutesBaseModel
|
|
@@ -393,7 +412,9 @@ class SpanEvent(V1RoutesBaseModel):
|
|
|
393
412
|
|
|
394
413
|
|
|
395
414
|
class Span(V1RoutesBaseModel):
|
|
396
|
-
id: str = Field(
|
|
415
|
+
id: str = Field(
|
|
416
|
+
default="", description="Span Global ID, distinct from the OpenTelemetry span ID"
|
|
417
|
+
)
|
|
397
418
|
name: str = Field(description="Name of the span operation")
|
|
398
419
|
context: SpanContext = Field(description="Span context containing trace_id and span_id")
|
|
399
420
|
span_kind: str = Field(description="Type of work that the span encapsulates")
|
|
@@ -440,7 +461,7 @@ async def query_spans_handler(
|
|
|
440
461
|
)
|
|
441
462
|
end_time = request_body.end_time or request_body.stop_time
|
|
442
463
|
try:
|
|
443
|
-
span_queries = [SpanQuery_.from_dict(query.
|
|
464
|
+
span_queries = [SpanQuery_.from_dict(query.model_dump()) for query in queries]
|
|
444
465
|
except Exception as e:
|
|
445
466
|
raise HTTPException(
|
|
446
467
|
detail=f"Invalid query: {e}",
|
|
@@ -956,3 +977,143 @@ async def annotate_spans(
|
|
|
956
977
|
for id_ in inserted_ids
|
|
957
978
|
]
|
|
958
979
|
)
|
|
980
|
+
|
|
981
|
+
|
|
982
|
+
class CreateSpansRequestBody(RequestBody[list[Span]]):
|
|
983
|
+
data: list[Span]
|
|
984
|
+
|
|
985
|
+
|
|
986
|
+
class CreateSpansResponseBody(V1RoutesBaseModel):
|
|
987
|
+
total_received: int = Field(description="Total number of spans received")
|
|
988
|
+
total_queued: int = Field(description="Number of spans successfully queued for insertion")
|
|
989
|
+
|
|
990
|
+
|
|
991
|
+
@router.post(
|
|
992
|
+
"/projects/{project_identifier}/spans",
|
|
993
|
+
operation_id="createSpans",
|
|
994
|
+
summary="Create spans",
|
|
995
|
+
description=(
|
|
996
|
+
"Submit spans to be inserted into a project. If any spans are invalid or "
|
|
997
|
+
"duplicates, no spans will be inserted."
|
|
998
|
+
),
|
|
999
|
+
responses=add_errors_to_responses([HTTP_404_NOT_FOUND, HTTP_400_BAD_REQUEST]),
|
|
1000
|
+
status_code=HTTP_202_ACCEPTED,
|
|
1001
|
+
)
|
|
1002
|
+
async def create_spans(
|
|
1003
|
+
request: Request,
|
|
1004
|
+
request_body: CreateSpansRequestBody,
|
|
1005
|
+
project_identifier: str = Path(
|
|
1006
|
+
description=(
|
|
1007
|
+
"The project identifier: either project ID or project name. If using a project name, "
|
|
1008
|
+
"it cannot contain slash (/), question mark (?), or pound sign (#) characters."
|
|
1009
|
+
)
|
|
1010
|
+
),
|
|
1011
|
+
) -> CreateSpansResponseBody:
|
|
1012
|
+
def convert_api_span_for_insertion(api_span: Span) -> SpanForInsertion:
|
|
1013
|
+
"""
|
|
1014
|
+
Convert from API Span to phoenix.trace.schemas.Span
|
|
1015
|
+
Note: The 'id' field has a default empty string and is ignored during insertion.
|
|
1016
|
+
"""
|
|
1017
|
+
try:
|
|
1018
|
+
span_kind = SpanKind(api_span.span_kind.upper())
|
|
1019
|
+
except ValueError:
|
|
1020
|
+
span_kind = SpanKind.UNKNOWN
|
|
1021
|
+
|
|
1022
|
+
try:
|
|
1023
|
+
status_code = SpanStatusCode(api_span.status_code.upper())
|
|
1024
|
+
except ValueError:
|
|
1025
|
+
status_code = SpanStatusCode.UNSET
|
|
1026
|
+
|
|
1027
|
+
internal_events: list[InternalSpanEvent] = []
|
|
1028
|
+
for event in api_span.events:
|
|
1029
|
+
if event.timestamp:
|
|
1030
|
+
internal_events.append(
|
|
1031
|
+
InternalSpanEvent(
|
|
1032
|
+
name=event.name, timestamp=event.timestamp, attributes=event.attributes
|
|
1033
|
+
)
|
|
1034
|
+
)
|
|
1035
|
+
|
|
1036
|
+
# Add back the openinference.span.kind attribute since it's stored separately in the API
|
|
1037
|
+
attributes = dict(api_span.attributes)
|
|
1038
|
+
attributes["openinference.span.kind"] = api_span.span_kind
|
|
1039
|
+
|
|
1040
|
+
# Create span for insertion - note we ignore the 'id' field as it's server-generated
|
|
1041
|
+
return SpanForInsertion(
|
|
1042
|
+
name=api_span.name,
|
|
1043
|
+
context=InsertionSpanContext(
|
|
1044
|
+
trace_id=api_span.context.trace_id, span_id=api_span.context.span_id
|
|
1045
|
+
),
|
|
1046
|
+
span_kind=span_kind,
|
|
1047
|
+
parent_id=api_span.parent_id,
|
|
1048
|
+
start_time=api_span.start_time,
|
|
1049
|
+
end_time=api_span.end_time,
|
|
1050
|
+
status_code=status_code,
|
|
1051
|
+
status_message=api_span.status_message,
|
|
1052
|
+
attributes=attributes,
|
|
1053
|
+
events=internal_events,
|
|
1054
|
+
conversation=None, # Unused
|
|
1055
|
+
)
|
|
1056
|
+
|
|
1057
|
+
async with request.app.state.db() as session:
|
|
1058
|
+
project = await _get_project_by_identifier(session, project_identifier)
|
|
1059
|
+
|
|
1060
|
+
total_received = len(request_body.data)
|
|
1061
|
+
duplicate_spans: list[dict[str, str]] = []
|
|
1062
|
+
invalid_spans: list[dict[str, str]] = []
|
|
1063
|
+
spans_to_queue: list[tuple[SpanForInsertion, str]] = []
|
|
1064
|
+
|
|
1065
|
+
existing_span_ids: set[str] = set()
|
|
1066
|
+
span_ids = [span.context.span_id for span in request_body.data]
|
|
1067
|
+
async with request.app.state.db() as session:
|
|
1068
|
+
existing_result = await session.execute(
|
|
1069
|
+
select(models.Span.span_id).where(models.Span.span_id.in_(span_ids))
|
|
1070
|
+
)
|
|
1071
|
+
existing_span_ids = {row[0] for row in existing_result}
|
|
1072
|
+
|
|
1073
|
+
for api_span in request_body.data:
|
|
1074
|
+
# Check if it's a duplicate
|
|
1075
|
+
if api_span.context.span_id in existing_span_ids:
|
|
1076
|
+
duplicate_spans.append(
|
|
1077
|
+
{
|
|
1078
|
+
"span_id": api_span.context.span_id,
|
|
1079
|
+
"trace_id": api_span.context.trace_id,
|
|
1080
|
+
}
|
|
1081
|
+
)
|
|
1082
|
+
continue
|
|
1083
|
+
|
|
1084
|
+
try:
|
|
1085
|
+
span_for_insertion = convert_api_span_for_insertion(api_span)
|
|
1086
|
+
spans_to_queue.append((span_for_insertion, project.name))
|
|
1087
|
+
except Exception as e:
|
|
1088
|
+
invalid_spans.append(
|
|
1089
|
+
{
|
|
1090
|
+
"span_id": api_span.context.span_id,
|
|
1091
|
+
"trace_id": api_span.context.trace_id,
|
|
1092
|
+
"error": str(e),
|
|
1093
|
+
}
|
|
1094
|
+
)
|
|
1095
|
+
|
|
1096
|
+
# If there are any duplicates or invalid spans, reject the entire request
|
|
1097
|
+
if duplicate_spans or invalid_spans:
|
|
1098
|
+
error_detail = {
|
|
1099
|
+
"error": "Request contains invalid or duplicate spans",
|
|
1100
|
+
"total_received": total_received,
|
|
1101
|
+
"total_queued": 0, # No spans are queued when there are validation errors
|
|
1102
|
+
"total_duplicates": len(duplicate_spans),
|
|
1103
|
+
"total_invalid": len(invalid_spans),
|
|
1104
|
+
"duplicate_spans": duplicate_spans,
|
|
1105
|
+
"invalid_spans": invalid_spans,
|
|
1106
|
+
}
|
|
1107
|
+
raise HTTPException(
|
|
1108
|
+
status_code=HTTP_400_BAD_REQUEST,
|
|
1109
|
+
detail=json.dumps(error_detail),
|
|
1110
|
+
)
|
|
1111
|
+
|
|
1112
|
+
# All spans are valid, queue them all
|
|
1113
|
+
for span_for_insertion, project_name in spans_to_queue:
|
|
1114
|
+
await request.state.queue_span_for_bulk_insert(span_for_insertion, project_name)
|
|
1115
|
+
|
|
1116
|
+
return CreateSpansResponseBody(
|
|
1117
|
+
total_received=total_received,
|
|
1118
|
+
total_queued=len(spans_to_queue),
|
|
1119
|
+
)
|
|
@@ -326,8 +326,27 @@ class Project(Node):
|
|
|
326
326
|
after: Optional[CursorString] = UNSET,
|
|
327
327
|
sort: Optional[ProjectSessionSort] = UNSET,
|
|
328
328
|
filter_io_substring: Optional[str] = UNSET,
|
|
329
|
+
session_id: Optional[str] = UNSET,
|
|
329
330
|
) -> Connection[ProjectSession]:
|
|
330
331
|
table = models.ProjectSession
|
|
332
|
+
if session_id:
|
|
333
|
+
async with info.context.db() as session:
|
|
334
|
+
ans = await session.scalar(
|
|
335
|
+
select(table).filter_by(
|
|
336
|
+
session_id=session_id,
|
|
337
|
+
project_id=self.project_rowid,
|
|
338
|
+
)
|
|
339
|
+
)
|
|
340
|
+
if ans:
|
|
341
|
+
return connection_from_list(
|
|
342
|
+
data=[to_gql_project_session(ans)],
|
|
343
|
+
args=ConnectionArgs(),
|
|
344
|
+
)
|
|
345
|
+
elif not filter_io_substring:
|
|
346
|
+
return connection_from_list(
|
|
347
|
+
data=[],
|
|
348
|
+
args=ConnectionArgs(),
|
|
349
|
+
)
|
|
331
350
|
stmt = select(table).filter_by(project_id=self.project_rowid)
|
|
332
351
|
if time_range:
|
|
333
352
|
if time_range.start:
|
|
@@ -214,6 +214,8 @@ class AppConfig(NamedTuple):
|
|
|
214
214
|
oauth2_idps: Sequence[OAuth2Idp]
|
|
215
215
|
basic_auth_disabled: bool = False
|
|
216
216
|
auto_login_idp_name: Optional[str] = None
|
|
217
|
+
fullstory_org: Optional[str] = None
|
|
218
|
+
""" FullStory organization ID for web analytics tracking """
|
|
217
219
|
|
|
218
220
|
|
|
219
221
|
class Static(StaticFiles):
|
|
@@ -279,6 +281,7 @@ class Static(StaticFiles):
|
|
|
279
281
|
"oauth2_idps": self._app_config.oauth2_idps,
|
|
280
282
|
"basic_auth_disabled": self._app_config.basic_auth_disabled,
|
|
281
283
|
"auto_login_idp_name": self._app_config.auto_login_idp_name,
|
|
284
|
+
"fullstory_org": self._app_config.fullstory_org,
|
|
282
285
|
},
|
|
283
286
|
)
|
|
284
287
|
except Exception as e:
|
|
@@ -964,6 +967,7 @@ def create_app(
|
|
|
964
967
|
oauth2_idps=oauth2_idps,
|
|
965
968
|
basic_auth_disabled=basic_auth_disabled,
|
|
966
969
|
auto_login_idp_name=auto_login_idp_name,
|
|
970
|
+
fullstory_org=Settings.fullstory_org,
|
|
967
971
|
),
|
|
968
972
|
),
|
|
969
973
|
name="static",
|
|
@@ -25,6 +25,7 @@ from phoenix.config import (
|
|
|
25
25
|
get_env_db_logging_level,
|
|
26
26
|
get_env_disable_migrations,
|
|
27
27
|
get_env_enable_prometheus,
|
|
28
|
+
get_env_fullstory_org,
|
|
28
29
|
get_env_grpc_port,
|
|
29
30
|
get_env_host,
|
|
30
31
|
get_env_host_root_path,
|
|
@@ -484,11 +485,13 @@ def main() -> None:
|
|
|
484
485
|
|
|
485
486
|
|
|
486
487
|
def initialize_settings() -> None:
|
|
488
|
+
"""Initialize the settings from environment variables."""
|
|
487
489
|
Settings.logging_mode = get_env_logging_mode()
|
|
488
490
|
Settings.logging_level = get_env_logging_level()
|
|
489
491
|
Settings.db_logging_level = get_env_db_logging_level()
|
|
490
492
|
Settings.log_migrations = get_env_log_migrations()
|
|
491
493
|
Settings.disable_migrations = get_env_disable_migrations()
|
|
494
|
+
Settings.fullstory_org = get_env_fullstory_org()
|
|
492
495
|
|
|
493
496
|
|
|
494
497
|
if __name__ == "__main__":
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_components-37rV35eH.js": {
|
|
3
|
+
"file": "assets/components-37rV35eH.js",
|
|
4
|
+
"name": "components",
|
|
5
|
+
"imports": [
|
|
6
|
+
"_vendor-BKYy4SMr.js",
|
|
7
|
+
"_pages-BWWAYqfd.js",
|
|
8
|
+
"_vendor-arizeai-hGVPFFRq.js",
|
|
9
|
+
"_vendor-codemirror-BlmFw5CA.js",
|
|
10
|
+
"_vendor-three-C5WAXd5r.js"
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
"_pages-BWWAYqfd.js": {
|
|
14
|
+
"file": "assets/pages-BWWAYqfd.js",
|
|
15
|
+
"name": "pages",
|
|
16
|
+
"imports": [
|
|
17
|
+
"_vendor-BKYy4SMr.js",
|
|
18
|
+
"_vendor-arizeai-hGVPFFRq.js",
|
|
19
|
+
"_components-37rV35eH.js",
|
|
20
|
+
"_vendor-codemirror-BlmFw5CA.js",
|
|
21
|
+
"_vendor-recharts-Bz7zqjbW.js"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"_vendor-BKYy4SMr.js": {
|
|
25
|
+
"file": "assets/vendor-BKYy4SMr.js",
|
|
26
|
+
"name": "vendor",
|
|
27
|
+
"imports": [
|
|
28
|
+
"_vendor-three-C5WAXd5r.js"
|
|
29
|
+
],
|
|
30
|
+
"css": [
|
|
31
|
+
"assets/vendor-WIZid84E.css"
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
"_vendor-WIZid84E.css": {
|
|
35
|
+
"file": "assets/vendor-WIZid84E.css",
|
|
36
|
+
"src": "_vendor-WIZid84E.css"
|
|
37
|
+
},
|
|
38
|
+
"_vendor-arizeai-hGVPFFRq.js": {
|
|
39
|
+
"file": "assets/vendor-arizeai-hGVPFFRq.js",
|
|
40
|
+
"name": "vendor-arizeai",
|
|
41
|
+
"imports": [
|
|
42
|
+
"_vendor-BKYy4SMr.js"
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
"_vendor-codemirror-BlmFw5CA.js": {
|
|
46
|
+
"file": "assets/vendor-codemirror-BlmFw5CA.js",
|
|
47
|
+
"name": "vendor-codemirror",
|
|
48
|
+
"imports": [
|
|
49
|
+
"_vendor-BKYy4SMr.js",
|
|
50
|
+
"_vendor-shiki-BitvudxD.js"
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
"_vendor-recharts-Bz7zqjbW.js": {
|
|
54
|
+
"file": "assets/vendor-recharts-Bz7zqjbW.js",
|
|
55
|
+
"name": "vendor-recharts",
|
|
56
|
+
"imports": [
|
|
57
|
+
"_vendor-BKYy4SMr.js"
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
"_vendor-shiki-BitvudxD.js": {
|
|
61
|
+
"file": "assets/vendor-shiki-BitvudxD.js",
|
|
62
|
+
"name": "vendor-shiki",
|
|
63
|
+
"imports": [
|
|
64
|
+
"_vendor-BKYy4SMr.js"
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
"_vendor-three-C5WAXd5r.js": {
|
|
68
|
+
"file": "assets/vendor-three-C5WAXd5r.js",
|
|
69
|
+
"name": "vendor-three"
|
|
70
|
+
},
|
|
71
|
+
"index.tsx": {
|
|
72
|
+
"file": "assets/index-CdNW7TcY.js",
|
|
73
|
+
"name": "index",
|
|
74
|
+
"src": "index.tsx",
|
|
75
|
+
"isEntry": true,
|
|
76
|
+
"imports": [
|
|
77
|
+
"_vendor-BKYy4SMr.js",
|
|
78
|
+
"_vendor-arizeai-hGVPFFRq.js",
|
|
79
|
+
"_pages-BWWAYqfd.js",
|
|
80
|
+
"_components-37rV35eH.js",
|
|
81
|
+
"_vendor-three-C5WAXd5r.js",
|
|
82
|
+
"_vendor-codemirror-BlmFw5CA.js",
|
|
83
|
+
"_vendor-shiki-BitvudxD.js",
|
|
84
|
+
"_vendor-recharts-Bz7zqjbW.js"
|
|
85
|
+
]
|
|
86
|
+
}
|
|
87
|
+
}
|