arize-phoenix 11.1.1__py3-none-any.whl → 11.2.0__py3-none-any.whl

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.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arize-phoenix
3
- Version: 11.1.1
3
+ Version: 11.2.0
4
4
  Summary: AI Observability and Evaluation
5
5
  Project-URL: Documentation, https://arize.com/docs/phoenix/
6
6
  Project-URL: Issues, https://github.com/Arize-ai/phoenix/issues
@@ -6,7 +6,7 @@ phoenix/exceptions.py,sha256=n2L2KKuecrdflB9MsCdAYCiSEvGJptIsfRkXMoJle7A,169
6
6
  phoenix/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
7
7
  phoenix/services.py,sha256=ngkyKGVatX3cO2WJdo2hKdaVKP-xJCMvqthvga6kJss,5196
8
8
  phoenix/settings.py,sha256=2kHfT3BNOVd4dAO1bq-syEQbHSG8oX2-7NhOwK2QREk,896
9
- phoenix/version.py,sha256=Io2qqrVYw8DBs2b6yBtZSWt9TO4txkDk3wez0r9mXCs,23
9
+ phoenix/version.py,sha256=VIaU72qq7Ra35KV6zKPuIujD7yQXELMsD6Ypm1ZDIMU,23
10
10
  phoenix/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  phoenix/core/embedding_dimension.py,sha256=zKGbcvwOXgLf-yrJBpQyKtd-LEOPRKHnUToyAU8Owis,87
12
12
  phoenix/core/model.py,sha256=qBFraOtmwCCnWJltKNP18DDG0mULXigytlFsa6YOz6k,4837
@@ -112,7 +112,7 @@ phoenix/server/api/auth.py,sha256=cvKH2FQLL7PasiqZMHgu9P4qchhEG7a7P9Nxy35FoIQ,15
112
112
  phoenix/server/api/context.py,sha256=RzPfhs0jaHIRtwcSv5sQNDqeTjNgy1FEpN7-oC1CJYs,8882
113
113
  phoenix/server/api/exceptions.py,sha256=TA0JuY2YRnj35qGuMSQ8d0ToHum9gWm9W--3fSKHrX0,1171
114
114
  phoenix/server/api/interceptor.py,sha256=ykDnoC_apUd-llVli3m1CW18kNSIgjz2qZ6m5JmPDu8,1294
115
- phoenix/server/api/queries.py,sha256=KCwG2GPdRV0r6hV69cAaP_hLhFih3K9wdMksyfo0PnI,43553
115
+ phoenix/server/api/queries.py,sha256=jd7iz0BBX13bMIOLCkAdBOjkEsfjoV0qC27FhP_8WhQ,44874
116
116
  phoenix/server/api/schema.py,sha256=fcs36xQwFF_Qe41_5cWR8wYpDvOrnbcyTeo5WNMbDsA,1702
117
117
  phoenix/server/api/subscriptions.py,sha256=ZOGNsLVr5TNjCWgbzO7Eq6Ls_NRdJH9AxC0cW_v0vhM,25332
118
118
  phoenix/server/api/utils.py,sha256=quCBRcusc6PUq9tJq7M8PgwFZp7nXgVAxtbw8feribY,833
@@ -220,7 +220,7 @@ phoenix/server/api/input_types/PromptTemplateOptions.py,sha256=8ZJdH1F9fExcdH9dF
220
220
  phoenix/server/api/input_types/PromptVersionInput.py,sha256=n6zBeSkK8ZFRHTjtVx4BK--azZIxXeYETa6Cufcet2I,3743
221
221
  phoenix/server/api/input_types/SpanAnnotationFilter.py,sha256=-djfIXYCxV6sV3GPOZQUV0SPfiWDhRlTORfeQ7tCBgQ,2671
222
222
  phoenix/server/api/input_types/SpanAnnotationSort.py,sha256=T5pAGzmh4MiJp9JMAzNDByFVTczfw02FH4WFWwFezyI,361
223
- phoenix/server/api/input_types/SpanSort.py,sha256=hpJTgk3FYb4T5u2cuvce7XvVKTfk3qiutdH-WLm-_2Q,6567
223
+ phoenix/server/api/input_types/SpanSort.py,sha256=GReQx9yOo0Kehi2y4AtY69aZhRtcqvcg-9bSIFru69U,7540
224
224
  phoenix/server/api/input_types/TimeRange.py,sha256=pwhC2jx6dFIgT0qFfnO68qiJp9-m7Je5QkNscNsuVxA,700
225
225
  phoenix/server/api/input_types/TraceAnnotationSort.py,sha256=BzwiUnMh2VsgQYnhDlbJ6ljHugqIS4YDUlYzvq_tl3o,365
226
226
  phoenix/server/api/input_types/UserRoleInput.py,sha256=xxhFe0ITZOgRVEJbVem_W6F1Ip_H6xDENdQqMMx-kKE,129
@@ -318,7 +318,7 @@ phoenix/server/api/types/NumericRange.py,sha256=afEjgF97Go_OvmjMggbPBt-zGM8IONew
318
318
  phoenix/server/api/types/PerformanceMetric.py,sha256=KFkmJDqP43eDUtARQOUqR7NYcxvL6Vh2uisHWU6H3ko,387
319
319
  phoenix/server/api/types/PlaygroundModel.py,sha256=IqJFxsAAJMRyaFI9ryI3GQrpFOJ5Llf6kIutEO-tFvM,321
320
320
  phoenix/server/api/types/Project.py,sha256=VTz9QXFfnkz0XOm1bGz3FffhCodg_YmjKafiwZ_Qh1I,31580
321
- phoenix/server/api/types/ProjectSession.py,sha256=h_cUqY7iWb_FfnFYE0EPh9cQ9zOHYDZaxGjmb9KjFyg,6271
321
+ phoenix/server/api/types/ProjectSession.py,sha256=uwqTsDTfSGz13AvP-cwS_mJR5JZ1lHqu10ungbl7g5s,6245
322
322
  phoenix/server/api/types/ProjectTraceRetentionPolicy.py,sha256=tYy2kgalPDyuaYZr0VUHjH0YpXaiF_QOzg5yfaV_c7c,3782
323
323
  phoenix/server/api/types/Prompt.py,sha256=ccP4eq1e38xbF0afclGWLOuDpBVpNbJ3AOSRClF8yFQ,4955
324
324
  phoenix/server/api/types/PromptLabel.py,sha256=g3IDSPYRZwb0qpMAk93R6J96jgYULUYGOciTnpeh3sI,1321
@@ -382,10 +382,10 @@ phoenix/server/static/apple-touch-icon-76x76.png,sha256=CT_xT12I0u2i0WU8JzBZBuOQ
382
382
  phoenix/server/static/apple-touch-icon.png,sha256=fOfpjqGpWYbJ0eAurKsyoZP1EAs6ZVooBJ_SGk2ZkDs,3801
383
383
  phoenix/server/static/favicon.ico,sha256=bY0vvCKRftemZfPShwZtE93DiiQdaYaozkPGwNFr6H8,34494
384
384
  phoenix/server/static/modernizr.js,sha256=mvK-XtkNqjOral-QvzoqsyOMECXIMu5BQwSVN_wcU9c,2564
385
- phoenix/server/static/.vite/manifest.json,sha256=3pPUzZKfFuBC-95olCn6LhIku5mY5z0o8rNsxQMvhqE,2165
386
- phoenix/server/static/assets/components-BQWqzM6Z.js,sha256=kpDUgD-qTKVzszAGH4cD7acxFJNJWp0Vj_2Ce0DMfA8,613263
387
- phoenix/server/static/assets/index-t6f0PRIo.js,sha256=iOXDzwHby0wYqme2rvYu2O5QX58GC8p0XHMAEZQpaBo,61267
388
- phoenix/server/static/assets/pages-B8Uyb2qa.js,sha256=Yu3cE2aCTu22ZpesiComUgiUW5OvdDCuLQJHs1qSy5c,1126767
385
+ phoenix/server/static/.vite/manifest.json,sha256=h6eLGQ_jJMRqCLLeUMMd6LvyWhEmXUP5bIA_YpWll4Q,2165
386
+ phoenix/server/static/assets/components-B4ic7I8s.js,sha256=2IxS0InNzy0beRZULFNhLy5FxvjxkbYggimfVfUeAp0,613263
387
+ phoenix/server/static/assets/index-DGRpmwV5.js,sha256=L8ewBmm0bC8zUAliN3SLjoVodZDHPcQb39Ux2Gg5XPY,61540
388
+ phoenix/server/static/assets/pages-DOnxvrdT.js,sha256=i__F0mEwW7zXCnUivAbhTybAG2PYzNKC9EBcRZR9ErE,1143051
389
389
  phoenix/server/static/assets/vendor-DqQvHbPa.js,sha256=iojYxZrTZAvg1A6a3dRVtSDg9SJ03oG_c0F9U3Qsjvg,2738792
390
390
  phoenix/server/static/assets/vendor-WIZid84E.css,sha256=spZD2r7XL5GfLO13ln-IuXfnjAref8l6g_n_AvxxOlI,5517
391
391
  phoenix/server/static/assets/vendor-arizeai-CLX44PFA.js,sha256=CbM509A_yUJj9uB02t8s2SzFa2boT74Usuzt9FpOZM8,181769
@@ -432,9 +432,9 @@ phoenix/utilities/project.py,sha256=auVpARXkDb-JgeX5f2aStyFIkeKvGwN9l7qrFeJMVxI,
432
432
  phoenix/utilities/re.py,sha256=6YyUWIkv0zc2SigsxfOWIHzdpjKA_TZo2iqKq7zJKvw,2081
433
433
  phoenix/utilities/span_store.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
434
434
  phoenix/utilities/template_formatters.py,sha256=gh9PJD6WEGw7TEYXfSst1UR4pWWwmjxMLrDVQ_CkpkQ,2779
435
- arize_phoenix-11.1.1.dist-info/METADATA,sha256=ynPSCj6obj0X2cPLFAwQw_jItkXD1YYROp12_d7K-X8,27369
436
- arize_phoenix-11.1.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
437
- arize_phoenix-11.1.1.dist-info/entry_points.txt,sha256=Pgpn8Upxx9P8z8joPXZWl2LlnAlGc3gcQoVchb06X1Q,94
438
- arize_phoenix-11.1.1.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
439
- arize_phoenix-11.1.1.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
440
- arize_phoenix-11.1.1.dist-info/RECORD,,
435
+ arize_phoenix-11.2.0.dist-info/METADATA,sha256=eORU3wFd99300pTZXei2v4oyaUjE0gznUNf6O5zKFf0,27369
436
+ arize_phoenix-11.2.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
437
+ arize_phoenix-11.2.0.dist-info/entry_points.txt,sha256=Pgpn8Upxx9P8z8joPXZWl2LlnAlGc3gcQoVchb06X1Q,94
438
+ arize_phoenix-11.2.0.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
439
+ arize_phoenix-11.2.0.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
440
+ arize_phoenix-11.2.0.dist-info/RECORD,,
@@ -3,7 +3,7 @@ from enum import Enum, auto
3
3
  from typing import Any, Optional, Protocol
4
4
 
5
5
  import strawberry
6
- from sqlalchemy import and_, desc, nulls_last
6
+ from sqlalchemy import and_, desc, func, nulls_last, select
7
7
  from sqlalchemy.orm import InstrumentedAttribute
8
8
  from sqlalchemy.sql.expression import Select
9
9
  from strawberry import UNSET
@@ -27,14 +27,14 @@ class SpanColumn(Enum):
27
27
  cumulativeTokenCountTotal = auto()
28
28
  cumulativeTokenCountPrompt = auto()
29
29
  cumulativeTokenCountCompletion = auto()
30
+ cumulativeTokenCostTotal = auto()
30
31
  tokenCostTotal = auto()
31
32
 
32
33
  @property
33
34
  def column_name(self) -> str:
34
35
  return f"{self.name}_span_sort_column"
35
36
 
36
- @property
37
- def orm_expression(self) -> Any:
37
+ def as_orm_expression(self, joined_table: Optional[Any] = None) -> Any:
38
38
  expr: Any
39
39
  if self is SpanColumn.startTime:
40
40
  expr = models.Span.start_time
@@ -59,6 +59,9 @@ class SpanColumn(Enum):
59
59
  expr = models.Span.cumulative_llm_token_count_completion
60
60
  elif self is SpanColumn.tokenCostTotal:
61
61
  expr = models.SpanCost.total_cost
62
+ elif self is SpanColumn.cumulativeTokenCostTotal:
63
+ assert joined_table is not None
64
+ expr = joined_table.c.cumulative_total_cost
62
65
  else:
63
66
  assert_never(self)
64
67
  return expr.label(self.column_name)
@@ -77,13 +80,14 @@ class SpanColumn(Enum):
77
80
  or self is SpanColumn.tokenCountPrompt
78
81
  or self is SpanColumn.tokenCountCompletion
79
82
  or self is SpanColumn.tokenCostTotal
83
+ or self is SpanColumn.cumulativeTokenCostTotal
80
84
  ):
81
85
  return CursorSortColumnDataType.FLOAT
82
86
  if self is SpanColumn.startTime or self is SpanColumn.endTime:
83
87
  return CursorSortColumnDataType.DATETIME
84
88
  assert_never(self)
85
89
 
86
- def join_tables(self, stmt: Select[Any]) -> Select[Any]:
90
+ def join_tables(self, stmt: Select[Any]) -> tuple[Select[Any], Any]:
87
91
  """
88
92
  If needed, joins tables required for the sort column.
89
93
  """
@@ -92,8 +96,23 @@ class SpanColumn(Enum):
92
96
  models.Span,
93
97
  models.SpanCost,
94
98
  onclause=models.SpanCost.span_rowid == models.Span.id,
99
+ ), models.SpanCost
100
+ if self is SpanColumn.cumulativeTokenCostTotal:
101
+ trace_costs = (
102
+ select(
103
+ func.sum(models.SpanCost.total_cost).label("cumulative_total_cost"),
104
+ models.SpanCost.trace_rowid,
105
+ )
106
+ .select_from(models.SpanCost)
107
+ .group_by(models.SpanCost.trace_rowid)
108
+ .subquery()
109
+ )
110
+ stmt = stmt.join(
111
+ trace_costs,
112
+ onclause=models.Span.trace_rowid == trace_costs.c.trace_rowid,
95
113
  )
96
- return stmt
114
+ return stmt, trace_costs
115
+ return stmt, None
97
116
 
98
117
 
99
118
  @strawberry.enum
@@ -155,14 +174,14 @@ class SpanSort:
155
174
 
156
175
  def update_orm_expr(self, stmt: Select[Any]) -> SpanSortConfig:
157
176
  if (col := self.col) and not self.eval_result_key:
158
- expr = col.orm_expression
159
- stmt = col.join_tables(stmt)
177
+ stmt, joined_table = col.join_tables(stmt)
178
+ expr = col.as_orm_expression(joined_table)
160
179
  stmt = stmt.add_columns(expr)
161
180
  if self.dir == SortDir.desc:
162
181
  expr = desc(expr)
163
182
  return SpanSortConfig(
164
183
  stmt=stmt.order_by(nulls_last(expr)),
165
- orm_expression=col.orm_expression,
184
+ orm_expression=col.as_orm_expression(joined_table),
166
185
  dir=self.dir,
167
186
  column_name=col.column_name,
168
187
  column_data_type=col.data_type,
@@ -1005,6 +1005,45 @@ class Query:
1005
1005
  except re.error as error:
1006
1006
  return ValidationResult(is_valid=False, error_message=str(error))
1007
1007
 
1008
+ @strawberry.field
1009
+ async def get_span_by_otel_id(
1010
+ self,
1011
+ info: Info[Context, None],
1012
+ span_id: str,
1013
+ ) -> Optional[Span]:
1014
+ stmt = select(models.Span.id).filter_by(span_id=span_id)
1015
+ async with info.context.db() as session:
1016
+ span_rowid = await session.scalar(stmt)
1017
+ if span_rowid:
1018
+ return Span(span_rowid=span_rowid)
1019
+ return None
1020
+
1021
+ @strawberry.field
1022
+ async def get_trace_by_otel_id(
1023
+ self,
1024
+ info: Info[Context, None],
1025
+ trace_id: str,
1026
+ ) -> Optional[Trace]:
1027
+ stmt = select(models.Trace.id).where(models.Trace.trace_id == trace_id)
1028
+ async with info.context.db() as session:
1029
+ trace_rowid = await session.scalar(stmt)
1030
+ if trace_rowid:
1031
+ return Trace(trace_rowid=trace_rowid)
1032
+ return None
1033
+
1034
+ @strawberry.field
1035
+ async def get_project_session_by_otel_id(
1036
+ self,
1037
+ info: Info[Context, None],
1038
+ session_id: str,
1039
+ ) -> Optional[ProjectSession]:
1040
+ stmt = select(models.ProjectSession).where(models.ProjectSession.session_id == session_id)
1041
+ async with info.context.db() as session:
1042
+ session_row = await session.scalar(stmt)
1043
+ if session_row:
1044
+ return to_gql_project_session(session_row)
1045
+ return None
1046
+
1008
1047
 
1009
1048
  def _consolidate_sqlite_db_table_stats(
1010
1049
  stats: Iterable[tuple[str, int]],
@@ -108,7 +108,6 @@ class ProjectSession(Node):
108
108
  select(models.Trace)
109
109
  .filter_by(project_session_rowid=self.id_attr)
110
110
  .order_by(models.Trace.start_time)
111
- .limit(first)
112
111
  )
113
112
  async with info.context.db() as session:
114
113
  traces = await session.stream_scalars(stmt)
@@ -1,22 +1,22 @@
1
1
  {
2
- "_components-BQWqzM6Z.js": {
3
- "file": "assets/components-BQWqzM6Z.js",
2
+ "_components-B4ic7I8s.js": {
3
+ "file": "assets/components-B4ic7I8s.js",
4
4
  "name": "components",
5
5
  "imports": [
6
6
  "_vendor-DqQvHbPa.js",
7
- "_pages-B8Uyb2qa.js",
7
+ "_pages-DOnxvrdT.js",
8
8
  "_vendor-arizeai-CLX44PFA.js",
9
9
  "_vendor-codemirror-Du3XyJnB.js",
10
10
  "_vendor-three-C5WAXd5r.js"
11
11
  ]
12
12
  },
13
- "_pages-B8Uyb2qa.js": {
14
- "file": "assets/pages-B8Uyb2qa.js",
13
+ "_pages-DOnxvrdT.js": {
14
+ "file": "assets/pages-DOnxvrdT.js",
15
15
  "name": "pages",
16
16
  "imports": [
17
17
  "_vendor-DqQvHbPa.js",
18
18
  "_vendor-arizeai-CLX44PFA.js",
19
- "_components-BQWqzM6Z.js",
19
+ "_components-B4ic7I8s.js",
20
20
  "_vendor-codemirror-Du3XyJnB.js",
21
21
  "_vendor-recharts-B2PJDrnX.js"
22
22
  ]
@@ -69,15 +69,15 @@
69
69
  "name": "vendor-three"
70
70
  },
71
71
  "index.tsx": {
72
- "file": "assets/index-t6f0PRIo.js",
72
+ "file": "assets/index-DGRpmwV5.js",
73
73
  "name": "index",
74
74
  "src": "index.tsx",
75
75
  "isEntry": true,
76
76
  "imports": [
77
77
  "_vendor-DqQvHbPa.js",
78
78
  "_vendor-arizeai-CLX44PFA.js",
79
- "_pages-B8Uyb2qa.js",
80
- "_components-BQWqzM6Z.js",
79
+ "_pages-DOnxvrdT.js",
80
+ "_components-B4ic7I8s.js",
81
81
  "_vendor-three-C5WAXd5r.js",
82
82
  "_vendor-codemirror-Du3XyJnB.js",
83
83
  "_vendor-shiki-CNbrFjf9.js",
@@ -1,4 +1,4 @@
1
- import{r as p,j as e,u as Ja,a as Ye,e as $n,s as va,b as Ca,c as fn,d as Oa,f as Q1,g as $e,h as q1,i as X1,k as Ra,l as s,m as on,p as na,n as An,R as qe,o as F,q as et,t as bn,v as Y1,C as Zn,w as J1,x as er,L as Li,y as ki,z as wi,A as Me,B as C,D as sn,E as un,F as nt,G as m,H as Si,$ as nr,I as xi,J as R,K as Ti,M as Xe,N as ar,O as tr,P as In,Q as ir,S as j,T as tn,U as P,V as Z,W as X,X as Ai,Y as Ii,Z as lr,_ as Mi,a0 as rr,a1 as zi,a2 as or,a3 as sr,a4 as cr,a5 as dr,a6 as ur,a7 as Fi,a8 as gr,a9 as mr,aa as pr,ab as Mn,ac as Ei,ad as pe,ae as hr,af as fr,ag as Re,ah as Na,ai as $a,aj as Ba,ak as H,al as cn,am as Vt,an as br,ao as yr,ap as vr,aq as Cr,ar as Lr,as as kr,at as wr,au as Sr,av as Di,aw as xr,ax as Tr,ay as Ar,az as Ir,aA as Mr,aB as zr,aC as Fr,aD as at,aE as Te,aF as _i,aG as ze,aH as Er,aI as tt,aJ as Dr,aK as _r,aL as Kr,aM as Pr,aN as Ot,aO as Ki,aP as Vr,aQ as it,aR as Or,aS as yn,aT as Rr,aU as lt,aV as fe,aW as be,aX as Nr,aY as $r,aZ as aa,a_ as Br,a$ as Hr,b0 as jr,b1 as Zr,b2 as Ur,b3 as Gr,b4 as Wr,b5 as Qr,b6 as qr,b7 as Xr,b8 as Yr,b9 as Rt,ba as Jr,bb as eo,bc as no,bd as La,be as ao,bf as to,bg as io,bh as lo,bi as ro,bj as oo,bk as so,bl as co,bm as uo}from"./vendor-DqQvHbPa.js";import{a as Nt,R as go,b as mo,c as po,m as ho,T as fo,A as bo,S as yo,d as vo,e as Co,f as Lo,u as ko}from"./pages-B8Uyb2qa.js";import{u as wo,_ as Pi,a as De,T as he,E as Vi,b as _e,c as Oi,d as So,e as xo,C as Ri,F as Ni,I as To,f as Ao,g as Io,h as Mo,i as zo,j as Fo,k as Eo,P as Do,l as _o,m as Ko,n as Po,o as Vo,p as Oo,q as Ro}from"./vendor-arizeai-CLX44PFA.js";import{L as $i,a as Bi,d as Ln,E as rt,k as Hi,b as ji,l as Ha,h as No,j as $o,c as Bo,e as Ho,f as jo,s as Zo,g as zn,i as Fn,R as En,p as Uo,m as Go}from"./vendor-codemirror-Du3XyJnB.js";import{V as Wo}from"./vendor-three-C5WAXd5r.js";const Zi=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"},l={defaultValue:null,kind:"LocalArgument",name:"performanceMetric"},r=[{alias:null,args:null,kind:"ScalarField",name:"primaryValue",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"referenceValue",storageKey:null}],o=[{alias:null,args:[{kind:"Variable",name:"clusters",variableName:"clusters"}],concreteType:"Cluster",kind:"LinkedField",name:"clusters",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"eventIds",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"driftRatio",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"primaryToCorpusRatio",storageKey:null},{condition:"fetchDataQualityMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"columnName",variableName:"dataQualityMetricColumnName"},{kind:"Literal",name:"metric",value:"mean"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"dataQualityMetric",plural:!1,selections:r,storageKey:null}]},{condition:"fetchPerformanceMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"metric",variableName:"performanceMetric"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"performanceMetric",plural:!1,selections:r,storageKey:null}]}],storageKey:null}];return{fragment:{argumentDefinitions:[n,a,t,i,l],kind:"Fragment",metadata:null,name:"pointCloudStore_clusterMetricsQuery",selections:o,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[n,t,a,i,l],kind:"Operation",name:"pointCloudStore_clusterMetricsQuery",selections:o},params:{cacheID:"86666967012812887ac0a0149d2d2535",id:null,metadata:{},name:"pointCloudStore_clusterMetricsQuery",operationKind:"query",text:`query pointCloudStore_clusterMetricsQuery(
1
+ import{r as p,j as e,u as Ja,a as Ye,e as $n,s as va,b as Ca,c as fn,d as Oa,f as Q1,g as $e,h as q1,i as X1,k as Ra,l as s,m as on,p as na,n as An,R as qe,o as F,q as et,t as bn,v as Y1,C as Zn,w as J1,x as er,L as Li,y as ki,z as wi,A as Me,B as C,D as sn,E as un,F as nt,G as m,H as Si,$ as nr,I as xi,J as R,K as Ti,M as Xe,N as ar,O as tr,P as In,Q as ir,S as j,T as tn,U as P,V as Z,W as X,X as Ai,Y as Ii,Z as lr,_ as Mi,a0 as rr,a1 as zi,a2 as or,a3 as sr,a4 as cr,a5 as dr,a6 as ur,a7 as Fi,a8 as gr,a9 as mr,aa as pr,ab as Mn,ac as Ei,ad as pe,ae as hr,af as fr,ag as Re,ah as Na,ai as $a,aj as Ba,ak as H,al as cn,am as Vt,an as br,ao as yr,ap as vr,aq as Cr,ar as Lr,as as kr,at as wr,au as Sr,av as Di,aw as xr,ax as Tr,ay as Ar,az as Ir,aA as Mr,aB as zr,aC as Fr,aD as at,aE as Te,aF as _i,aG as ze,aH as Er,aI as tt,aJ as Dr,aK as _r,aL as Kr,aM as Pr,aN as Ot,aO as Ki,aP as Vr,aQ as it,aR as Or,aS as yn,aT as Rr,aU as lt,aV as fe,aW as be,aX as Nr,aY as $r,aZ as aa,a_ as Br,a$ as Hr,b0 as jr,b1 as Zr,b2 as Ur,b3 as Gr,b4 as Wr,b5 as Qr,b6 as qr,b7 as Xr,b8 as Yr,b9 as Rt,ba as Jr,bb as eo,bc as no,bd as La,be as ao,bf as to,bg as io,bh as lo,bi as ro,bj as oo,bk as so,bl as co,bm as uo}from"./vendor-DqQvHbPa.js";import{a as Nt,R as go,b as mo,c as po,m as ho,T as fo,A as bo,S as yo,d as vo,e as Co,f as Lo,u as ko}from"./pages-DOnxvrdT.js";import{u as wo,_ as Pi,a as De,T as he,E as Vi,b as _e,c as Oi,d as So,e as xo,C as Ri,F as Ni,I as To,f as Ao,g as Io,h as Mo,i as zo,j as Fo,k as Eo,P as Do,l as _o,m as Ko,n as Po,o as Vo,p as Oo,q as Ro}from"./vendor-arizeai-CLX44PFA.js";import{L as $i,a as Bi,d as Ln,E as rt,k as Hi,b as ji,l as Ha,h as No,j as $o,c as Bo,e as Ho,f as jo,s as Zo,g as zn,i as Fn,R as En,p as Uo,m as Go}from"./vendor-codemirror-Du3XyJnB.js";import{V as Wo}from"./vendor-three-C5WAXd5r.js";const Zi=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"},l={defaultValue:null,kind:"LocalArgument",name:"performanceMetric"},r=[{alias:null,args:null,kind:"ScalarField",name:"primaryValue",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"referenceValue",storageKey:null}],o=[{alias:null,args:[{kind:"Variable",name:"clusters",variableName:"clusters"}],concreteType:"Cluster",kind:"LinkedField",name:"clusters",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"eventIds",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"driftRatio",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"primaryToCorpusRatio",storageKey:null},{condition:"fetchDataQualityMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"columnName",variableName:"dataQualityMetricColumnName"},{kind:"Literal",name:"metric",value:"mean"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"dataQualityMetric",plural:!1,selections:r,storageKey:null}]},{condition:"fetchPerformanceMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"metric",variableName:"performanceMetric"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"performanceMetric",plural:!1,selections:r,storageKey:null}]}],storageKey:null}];return{fragment:{argumentDefinitions:[n,a,t,i,l],kind:"Fragment",metadata:null,name:"pointCloudStore_clusterMetricsQuery",selections:o,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[n,t,a,i,l],kind:"Operation",name:"pointCloudStore_clusterMetricsQuery",selections:o},params:{cacheID:"86666967012812887ac0a0149d2d2535",id:null,metadata:{},name:"pointCloudStore_clusterMetricsQuery",operationKind:"query",text:`query pointCloudStore_clusterMetricsQuery(
2
2
  $clusters: [ClusterInput!]!
3
3
  $fetchDataQualityMetric: Boolean!
4
4
  $dataQualityMetricColumnName: String
@@ -1,4 +1,4 @@
1
- import{G as e,j as o,cD as f,ez as v,eA as y,eB as h,l as r,b$ as x,eC as a,r as z,o as w,eD as P}from"./vendor-DqQvHbPa.js";import{G as k,H as S}from"./vendor-arizeai-CLX44PFA.js";import{L,g as j,r as C,h as I,i as R,F as E,j as D,P as A,k as T,M as s,l as F,D as G,n as M,E as O,o as N,p as q,q as B,s as V,t,v as _,w as W,x as $,y as H,z as K,B as U,C as J,G as Q,H as X,I as Y,J as Z,K as oo,N as ao,O as lo,Q as ro,U as co,V as go,W as d,X as m,Y as p,Z as eo,_ as bo,$ as no,a0 as io,a1 as so,a2 as to,a3 as mo,a4 as po,a5 as uo,a6 as fo,a7 as vo,a8 as yo,a9 as ho,aa as xo,ab as zo,ac as wo,ad as Po,ae as ko,af as So,ag as Lo,ah as jo,ai as Co,aj as Io,ak as Ro,al as Eo,am as Do,an as Ao,ao as To,ap as Fo,aq as Go,ar as Mo,as as Oo,at as No,au as qo,av as Bo,aw as Vo,ax as _o,ay as Wo,az as $o,aA as Ho,aB as Ko}from"./pages-B8Uyb2qa.js";import{f7 as Uo,cH as Jo,S as Qo,f8 as Xo,f9 as Yo}from"./components-BQWqzM6Z.js";import"./vendor-three-C5WAXd5r.js";import"./vendor-codemirror-Du3XyJnB.js";import"./vendor-shiki-CNbrFjf9.js";import"./vendor-recharts-B2PJDrnX.js";(function(){const b=document.createElement("link").relList;if(b&&b.supports&&b.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))i(c);new MutationObserver(c=>{for(const g of c)if(g.type==="childList")for(const n of g.addedNodes)n.tagName==="LINK"&&n.rel==="modulepreload"&&i(n)}).observe(document,{childList:!0,subtree:!0});function u(c){const g={};return c.integrity&&(g.integrity=c.integrity),c.referrerPolicy&&(g.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?g.credentials="include":c.crossOrigin==="anonymous"?g.credentials="omit":g.credentials="same-origin",g}function i(c){if(c.ep)return;c.ep=!0;const g=u(c);fetch(c.href,g)}})();const Zo=e`
1
+ import{G as e,j as o,cD as v,ez as y,eA as h,eB as x,l as r,b$ as z,eC as a,r as w,o as P,eD as k}from"./vendor-DqQvHbPa.js";import{G as S,H as L}from"./vendor-arizeai-CLX44PFA.js";import{L as C,g as R,r as j,h as E,i as I,F as D,j as A,P as T,k as F,M as t,l as _,D as G,n as M,E as O,o as N,p as q,q as B,s as V,t as d,v as W,w as $,x as H,y as K,z as U,B as J,C as Q,G as X,H as Y,I as Z,J as oo,K as ao,N as lo,O as ro,Q as co,U as go,V as eo,W as m,X as p,Y as u,Z as bo,_ as no,$ as io,a0 as so,a1 as to,a2 as mo,a3 as po,a4 as uo,a5 as fo,a6 as vo,a7 as yo,a8 as ho,a9 as xo,aa as zo,ab as wo,ac as Po,ad as ko,ae as So,af as Lo,ag as Co,ah as Ro,ai as jo,aj as Eo,ak as Io,al as Do,am as Ao,an as To,ao as Fo,ap as _o,aq as Go,ar as Mo,as as Oo,at as No,au as qo,av as Bo,aw as Vo,ax as n,ay as Wo,az as $o,aA as Ho,aB as Ko,aC as Uo,aD as Jo,aE as Qo}from"./pages-DOnxvrdT.js";import{f7 as Xo,cH as Yo,S as Zo,f8 as oa,f9 as aa}from"./components-B4ic7I8s.js";import"./vendor-three-C5WAXd5r.js";import"./vendor-codemirror-Du3XyJnB.js";import"./vendor-shiki-CNbrFjf9.js";import"./vendor-recharts-B2PJDrnX.js";(function(){const b=document.createElement("link").relList;if(b&&b.supports&&b.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))s(c);new MutationObserver(c=>{for(const g of c)if(g.type==="childList")for(const i of g.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function f(c){const g={};return c.integrity&&(g.integrity=c.integrity),c.referrerPolicy&&(g.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?g.credentials="include":c.crossOrigin==="anonymous"?g.credentials="omit":g.credentials="same-origin",g}function s(c){if(c.ep)return;c.ep=!0;const g=f(c);fetch(c.href,g)}})();const la=e`
2
2
  :root {
3
3
  --ac-global-dimension-scale-factor: 1;
4
4
  --ac-global-dimension-size-0: 0px;
@@ -53,7 +53,7 @@ import{G as e,j as o,cD as f,ez as v,eA as y,eB as h,l as r,b$ as x,eC as a,r as
53
53
  --ac-global-dimension-size-5000: 400px;
54
54
  --ac-global-dimension-size-6000: 480px;
55
55
  }
56
- `,oa=e`
56
+ `,ra=e`
57
57
  :root {
58
58
  // static colors
59
59
  --ac-global-static-color-white-900: rgba(255, 255, 255, 0.9);
@@ -63,7 +63,7 @@ import{G as e,j as o,cD as f,ez as v,eA as y,eB as h,l as r,b$ as x,eC as a,r as
63
63
  --ac-global-static-color-black-700: rgba(0, 0, 0, 0.7);
64
64
  --ac-global-static-color-black-300: rgba(0, 0, 0, 0.3);
65
65
  }
66
- `,aa=e`
66
+ `,ca=e`
67
67
  :root {
68
68
  --ac-global-dimension-static-size-0: 0px;
69
69
  --ac-global-dimension-static-size-10: 1px;
@@ -143,7 +143,7 @@ import{G as e,j as o,cD as f,ez as v,eA as y,eB as h,l as r,b$ as x,eC as a,r as
143
143
  --ac-global-dimension-font-size-1200: 50px;
144
144
  --ac-global-dimension-font-size-1300: 60px;
145
145
  }
146
- `,la=e`
146
+ `,ga=e`
147
147
  :root,
148
148
  .ac-theme--dark {
149
149
  /* Colors */
@@ -653,7 +653,7 @@ import{G as e,j as o,cD as f,ez as v,eA as y,eB as h,l as r,b$ as x,eC as a,r as
653
653
  --ac-global-link-color: rgb(114, 217, 255);
654
654
  --ac-global-link-color-visited: var(--ac-global-color-purple-900);
655
655
  }
656
- `,ra=e`
656
+ `,ea=e`
657
657
  :root,
658
658
  .ac-theme--light {
659
659
  /* Colors */
@@ -898,7 +898,7 @@ import{G as e,j as o,cD as f,ez as v,eA as y,eB as h,l as r,b$ as x,eC as a,r as
898
898
  --ac-global-link-color: rgb(9, 105, 218);
899
899
  --ac-global-link-color-visited: var(--ac-global-color-purple-900);
900
900
  }
901
- `,ca=l=>e`
901
+ `,ba=l=>e`
902
902
  :root,
903
903
  .ac-theme--${l} {
904
904
  // The primary color tint for the apps
@@ -1049,11 +1049,11 @@ import{G as e,j as o,cD as f,ez as v,eA as y,eB as h,l as r,b$ as x,eC as a,r as
1049
1049
  --ac-alias-single-line-height: var(--ac-global-dimension-size-400);
1050
1050
  --ac-alias-single-line-width: var(--ac-global-dimension-size-2400);
1051
1051
  }
1052
- `,ga=e`
1052
+ `,na=e`
1053
1053
  :root {
1054
1054
  --ac-opacity-disabled: 0.6;
1055
1055
  }
1056
- `,ea=e`
1056
+ `,ia=e`
1057
1057
  body {
1058
1058
  background-color: var(--ac-global-color-grey-75);
1059
1059
  color: var(--ac-global-text-color-900);
@@ -1173,7 +1173,7 @@ import{G as e,j as o,cD as f,ez as v,eA as y,eB as h,l as r,b$ as x,eC as a,r as
1173
1173
  --px-corpus-color: #92969c;
1174
1174
  --px-corpus-color--transparent: #92969c63;
1175
1175
  }
1176
- `,ba=e`
1176
+ `,sa=e`
1177
1177
  .ac-theme--light {
1178
1178
  .cm-editor {
1179
1179
  background-color: rgba(255, 255, 255, 0.5) !important;
@@ -1190,7 +1190,7 @@ import{G as e,j as o,cD as f,ez as v,eA as y,eB as h,l as r,b$ as x,eC as a,r as
1190
1190
  background-color: rgba(0, 0, 0, 0.2) !important;
1191
1191
  }
1192
1192
  }
1193
- `,na=e`
1193
+ `,ta=e`
1194
1194
  .react-grid-item.react-grid-placeholder {
1195
1195
  // the placeholder doesn't look good
1196
1196
  background: var(--ac-global-color-blue-500);
@@ -1199,4 +1199,4 @@ import{G as e,j as o,cD as f,ez as v,eA as y,eB as h,l as r,b$ as x,eC as a,r as
1199
1199
  .ac-theme--dark .react-resizable-handle {
1200
1200
  filter: invert(1);
1201
1201
  }
1202
- `;function ia(){const{theme:l="dark"}=k();return o(f,{styles:e(aa,oa,l==="dark"?la:ra,ca(l),Zo,ga,ea,ba,na)})}const sa=v(y(r(a,{path:"/",errorElement:o(Wo,{}),children:[o(a,{path:"/v1/*",element:o(x,{to:"/",replace:!0})}),o(a,{path:"/login",element:o(L,{})}),o(a,{path:"/logout",element:o(j,{})}),o(a,{path:"/reset-password",element:o(I,{}),loader:C}),o(a,{path:"/reset-password-with-token",element:o(R,{})}),o(a,{path:"/forgot-password",element:o(E,{})}),o(a,{element:o(_o,{}),loader:D,children:r(a,{element:o(Vo,{}),children:[o(a,{path:"/profile",handle:{crumb:()=>"profile"},element:o(A,{})}),o(a,{index:!0,loader:T}),r(a,{path:"/model",handle:{crumb:()=>"model"},element:o(N,{}),children:[o(a,{index:!0,element:o(s,{})}),o(a,{element:o(s,{}),children:o(a,{path:"dimensions",children:o(a,{path:":dimensionId",element:o(G,{}),loader:F})})}),o(a,{path:"embeddings",children:o(a,{path:":embeddingDimensionId",element:o(O,{}),loader:M,handle:{crumb:l=>l.embedding.name}})})]}),r(a,{path:"/projects",handle:{crumb:()=>"projects"},element:o(Y,{}),children:[o(a,{index:!0,element:o(q,{})}),r(a,{path:":projectId",loader:B,handle:{crumb:l=>l.project.name},element:o(X,{}),children:[o(a,{index:!0,element:o(V,{})}),r(a,{element:o(Q,{}),children:[o(a,{path:"traces",element:o(_,{}),children:o(a,{path:":traceId",element:o(t,{})})}),o(a,{path:"spans",element:o(W,{}),children:o(a,{path:":traceId",element:o(t,{})})}),o(a,{path:"sessions",element:o(K,{}),children:o(a,{path:":sessionId",element:o(H,{}),loader:$})}),o(a,{path:"config",element:o(U,{})}),o(a,{path:"metrics",element:o(J,{})})]})]})]}),r(a,{path:"/dashboards",handle:{crumb:()=>"dashboards"},element:o(co,{}),children:[o(a,{index:!0,element:o(oo,{}),loader:Z}),o(a,{path:"projects/:projectId",element:o(lo,{}),loader:ao,handle:{crumb:l=>l.project.name}}),o(a,{path:":dashboardId",handle:{crumb:()=>"dashboard"},element:o(ro,{})})]}),r(a,{path:"/datasets",handle:{crumb:()=>"datasets"},children:[o(a,{index:!0,element:o(go,{})}),r(a,{path:":datasetId",loader:d,handle:{crumb:l=>l.dataset.name},children:[r(a,{element:o(io,{}),loader:d,children:[o(a,{index:!0,element:o(p,{}),loader:m}),o(a,{path:"experiments",element:o(p,{}),loader:m}),o(a,{path:"examples",element:o(no,{}),loader:eo,children:o(a,{path:":exampleId",element:o(bo,{})})})]}),o(a,{path:"compare",handle:{crumb:()=>"compare"},loader:so,element:o(to,{})})]})]}),r(a,{path:"/playground",handle:{crumb:()=>"Playground"},children:[o(a,{index:!0,element:o(mo,{})}),o(a,{path:"spans/:spanId",element:o(uo,{}),loader:po,handle:{crumb:l=>l.span.__typename==="Span"?`span ${l.span.spanId}`:"span unknown"}})]}),r(a,{path:"/prompts",handle:{crumb:()=>"prompts"},children:[o(a,{index:!0,element:o(vo,{}),loader:fo}),r(a,{path:":promptId",loader:yo,shouldRevalidate:()=>!0,handle:{crumb:l=>l.prompt.__typename==="Prompt"?l.prompt.name:"unknown"},children:[r(a,{element:o(Lo,{}),children:[o(a,{index:!0,element:o(ho,{})}),o(a,{path:"versions",loader:xo,element:o(Po,{}),children:o(a,{path:":versionId",loader:zo,element:o(wo,{})})}),o(a,{path:"config",element:o(So,{}),loader:ko})]}),o(a,{path:"playground",element:o(Co,{}),loader:jo,handle:{crumb:()=>"playground"}})]})]}),o(a,{path:"/apis",element:o(Io,{}),handle:{crumb:()=>"APIs"}}),o(a,{path:"/support",element:o(Ro,{}),handle:{crumb:()=>"support"}}),r(a,{path:"/settings",element:o(Bo,{}),handle:{crumb:()=>"settings"},children:[o(a,{path:"general",loader:Eo,element:o(Do,{}),handle:{crumb:()=>"general"}}),o(a,{path:"providers",loader:Ao,element:o(To,{}),handle:{crumb:()=>"providers"}}),o(a,{path:"models",loader:Fo,element:o(Go,{}),handle:{crumb:()=>"models"}}),o(a,{path:"annotations",loader:Mo,element:o(Oo,{}),handle:{crumb:()=>"annotations"}}),o(a,{path:"data",element:o(qo,{}),handle:{crumb:()=>"data retention"},loader:No})]})]})})]})),{basename:window.Config.basename});function ta(){return o(h,{router:sa})}function da(){return o($o,{children:o(Uo,{children:o(ma,{})})})}function ma(){const{theme:l}=Jo();return o(S,{theme:l,mountGlobalStyles:!1,children:r(w.RelayEnvironmentProvider,{environment:Qo,children:[o(ia,{}),o(Ho,{children:o(Xo,{children:o(Ko,{children:o(z.Suspense,{children:o(Yo,{children:o(ta,{})})})})})})]})})}const pa=document.getElementById("root"),ua=P.createRoot(pa);ua.render(o(da,{}));
1202
+ `;function da(){const{theme:l="dark"}=S();return o(v,{styles:e(ca,ra,l==="dark"?ga:ea,ba(l),la,na,ia,sa,ta)})}const ma=y(h(r(a,{path:"/",errorElement:o(n,{}),children:[o(a,{path:"/v1/*",element:o(z,{to:"/",replace:!0})}),o(a,{path:"/login",element:o(C,{})}),o(a,{path:"/logout",element:o(R,{})}),o(a,{path:"/reset-password",element:o(E,{}),loader:j}),o(a,{path:"/reset-password-with-token",element:o(I,{})}),o(a,{path:"/forgot-password",element:o(D,{})}),o(a,{element:o(Ko,{}),loader:A,children:r(a,{element:o(Ho,{}),children:[o(a,{path:"/profile",handle:{crumb:()=>"profile"},element:o(T,{})}),o(a,{index:!0,loader:F}),r(a,{path:"/model",handle:{crumb:()=>"model"},element:o(N,{}),children:[o(a,{index:!0,element:o(t,{})}),o(a,{element:o(t,{}),children:o(a,{path:"dimensions",children:o(a,{path:":dimensionId",element:o(G,{}),loader:_})})}),o(a,{path:"embeddings",children:o(a,{path:":embeddingDimensionId",element:o(O,{}),loader:M,handle:{crumb:l=>l.embedding.name}})})]}),r(a,{path:"/projects",handle:{crumb:()=>"projects"},element:o(Z,{}),children:[o(a,{index:!0,element:o(q,{})}),r(a,{path:":projectId",loader:B,handle:{crumb:l=>l.project.name},element:o(Y,{}),children:[o(a,{index:!0,element:o(V,{})}),r(a,{element:o(X,{}),children:[o(a,{path:"traces",element:o(W,{}),children:o(a,{path:":traceId",element:o(d,{})})}),o(a,{path:"spans",element:o($,{}),children:o(a,{path:":traceId",element:o(d,{})})}),o(a,{path:"sessions",element:o(U,{}),children:o(a,{path:":sessionId",element:o(K,{}),loader:H})}),o(a,{path:"config",element:o(J,{})}),o(a,{path:"metrics",element:o(Q,{})})]})]})]}),r(a,{path:"/dashboards",handle:{crumb:()=>"dashboards"},element:o(go,{}),children:[o(a,{index:!0,element:o(ao,{}),loader:oo}),o(a,{path:"projects/:projectId",element:o(ro,{}),loader:lo,handle:{crumb:l=>l.project.name}}),o(a,{path:":dashboardId",handle:{crumb:()=>"dashboard"},element:o(co,{})})]}),r(a,{path:"/datasets",handle:{crumb:()=>"datasets"},children:[o(a,{index:!0,element:o(eo,{})}),r(a,{path:":datasetId",loader:m,handle:{crumb:l=>l.dataset.name},children:[r(a,{element:o(so,{}),loader:m,children:[o(a,{index:!0,element:o(u,{}),loader:p}),o(a,{path:"experiments",element:o(u,{}),loader:p}),o(a,{path:"examples",element:o(io,{}),loader:bo,children:o(a,{path:":exampleId",element:o(no,{})})})]}),o(a,{path:"compare",handle:{crumb:()=>"compare"},loader:to,element:o(mo,{})})]})]}),r(a,{path:"/playground",handle:{crumb:()=>"Playground"},children:[o(a,{index:!0,element:o(po,{})}),o(a,{path:"spans/:spanId",element:o(fo,{}),loader:uo,handle:{crumb:l=>l.span.__typename==="Span"?`span ${l.span.spanId}`:"span unknown"}})]}),r(a,{path:"/prompts",handle:{crumb:()=>"prompts"},children:[o(a,{index:!0,element:o(yo,{}),loader:vo}),r(a,{path:":promptId",loader:ho,shouldRevalidate:()=>!0,handle:{crumb:l=>l.prompt.__typename==="Prompt"?l.prompt.name:"unknown"},children:[r(a,{element:o(Co,{}),children:[o(a,{index:!0,element:o(xo,{})}),o(a,{path:"versions",loader:zo,element:o(ko,{}),children:o(a,{path:":versionId",loader:wo,element:o(Po,{})})}),o(a,{path:"config",element:o(Lo,{}),loader:So})]}),o(a,{path:"playground",element:o(jo,{}),loader:Ro,handle:{crumb:()=>"playground"}})]})]}),o(a,{path:"/apis",element:o(Eo,{}),handle:{crumb:()=>"APIs"}}),o(a,{path:"/support",element:o(Io,{}),handle:{crumb:()=>"support"}}),r(a,{path:"/settings",element:o(Bo,{}),handle:{crumb:()=>"settings"},children:[o(a,{path:"general",loader:Do,element:o(Ao,{}),handle:{crumb:()=>"general"}}),o(a,{path:"providers",loader:To,element:o(Fo,{}),handle:{crumb:()=>"providers"}}),o(a,{path:"models",loader:_o,element:o(Go,{}),handle:{crumb:()=>"models"}}),o(a,{path:"annotations",loader:Mo,element:o(Oo,{}),handle:{crumb:()=>"annotations"}}),o(a,{path:"data",element:o(qo,{}),handle:{crumb:()=>"data retention"},loader:No})]}),o(a,{path:"/redirects/spans/:span_otel_id",loader:Vo,errorElement:o(n,{})}),o(a,{path:"/redirects/traces/:trace_otel_id",loader:Wo,errorElement:o(n,{})}),o(a,{path:"/redirects/sessions/:session_otel_id",loader:$o,errorElement:o(n,{})})]})})]})),{basename:window.Config.basename});function pa(){return o(x,{router:ma})}function ua(){return o(Uo,{children:o(Xo,{children:o(fa,{})})})}function fa(){const{theme:l}=Yo();return o(L,{theme:l,mountGlobalStyles:!1,children:r(P.RelayEnvironmentProvider,{environment:Zo,children:[o(da,{}),o(Jo,{children:o(oa,{children:o(Qo,{children:o(w.Suspense,{children:o(aa,{children:o(pa,{})})})})})})]})})}const va=document.getElementById("root"),ya=k.createRoot(va);ya.render(o(ua,{}));