arize-phoenix 11.38.0__py3-none-any.whl → 12.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.

Files changed (84) hide show
  1. {arize_phoenix-11.38.0.dist-info → arize_phoenix-12.2.0.dist-info}/METADATA +3 -3
  2. {arize_phoenix-11.38.0.dist-info → arize_phoenix-12.2.0.dist-info}/RECORD +83 -58
  3. phoenix/config.py +1 -11
  4. phoenix/db/bulk_inserter.py +8 -0
  5. phoenix/db/facilitator.py +1 -1
  6. phoenix/db/helpers.py +202 -33
  7. phoenix/db/insertion/dataset.py +7 -0
  8. phoenix/db/insertion/document_annotation.py +1 -1
  9. phoenix/db/insertion/helpers.py +2 -2
  10. phoenix/db/insertion/session_annotation.py +176 -0
  11. phoenix/db/insertion/span_annotation.py +1 -1
  12. phoenix/db/insertion/trace_annotation.py +1 -1
  13. phoenix/db/insertion/types.py +29 -3
  14. phoenix/db/migrations/versions/01a8342c9cdf_add_user_id_on_datasets.py +40 -0
  15. phoenix/db/migrations/versions/0df286449799_add_session_annotations_table.py +105 -0
  16. phoenix/db/migrations/versions/272b66ff50f8_drop_single_indices.py +119 -0
  17. phoenix/db/migrations/versions/58228d933c91_dataset_labels.py +67 -0
  18. phoenix/db/migrations/versions/699f655af132_experiment_tags.py +57 -0
  19. phoenix/db/migrations/versions/735d3d93c33e_add_composite_indices.py +41 -0
  20. phoenix/db/migrations/versions/ab513d89518b_add_user_id_on_dataset_versions.py +40 -0
  21. phoenix/db/migrations/versions/d0690a79ea51_users_on_experiments.py +40 -0
  22. phoenix/db/migrations/versions/deb2c81c0bb2_dataset_splits.py +139 -0
  23. phoenix/db/migrations/versions/e76cbd66ffc3_add_experiments_dataset_examples.py +87 -0
  24. phoenix/db/models.py +306 -46
  25. phoenix/server/api/context.py +15 -2
  26. phoenix/server/api/dataloaders/__init__.py +8 -2
  27. phoenix/server/api/dataloaders/dataset_example_splits.py +40 -0
  28. phoenix/server/api/dataloaders/dataset_labels.py +36 -0
  29. phoenix/server/api/dataloaders/session_annotations_by_session.py +29 -0
  30. phoenix/server/api/dataloaders/table_fields.py +2 -2
  31. phoenix/server/api/dataloaders/trace_annotations_by_trace.py +27 -0
  32. phoenix/server/api/helpers/playground_clients.py +66 -35
  33. phoenix/server/api/helpers/playground_users.py +26 -0
  34. phoenix/server/api/input_types/{SpanAnnotationFilter.py → AnnotationFilter.py} +22 -14
  35. phoenix/server/api/input_types/CreateProjectSessionAnnotationInput.py +37 -0
  36. phoenix/server/api/input_types/UpdateAnnotationInput.py +34 -0
  37. phoenix/server/api/mutations/__init__.py +8 -0
  38. phoenix/server/api/mutations/chat_mutations.py +8 -3
  39. phoenix/server/api/mutations/dataset_label_mutations.py +291 -0
  40. phoenix/server/api/mutations/dataset_mutations.py +5 -0
  41. phoenix/server/api/mutations/dataset_split_mutations.py +423 -0
  42. phoenix/server/api/mutations/project_session_annotations_mutations.py +161 -0
  43. phoenix/server/api/queries.py +53 -0
  44. phoenix/server/api/routers/auth.py +5 -5
  45. phoenix/server/api/routers/oauth2.py +5 -23
  46. phoenix/server/api/routers/v1/__init__.py +2 -0
  47. phoenix/server/api/routers/v1/annotations.py +320 -0
  48. phoenix/server/api/routers/v1/datasets.py +5 -0
  49. phoenix/server/api/routers/v1/experiments.py +10 -3
  50. phoenix/server/api/routers/v1/sessions.py +111 -0
  51. phoenix/server/api/routers/v1/traces.py +1 -2
  52. phoenix/server/api/routers/v1/users.py +7 -0
  53. phoenix/server/api/subscriptions.py +5 -2
  54. phoenix/server/api/types/Dataset.py +8 -0
  55. phoenix/server/api/types/DatasetExample.py +18 -0
  56. phoenix/server/api/types/DatasetLabel.py +23 -0
  57. phoenix/server/api/types/DatasetSplit.py +32 -0
  58. phoenix/server/api/types/Experiment.py +0 -4
  59. phoenix/server/api/types/Project.py +16 -0
  60. phoenix/server/api/types/ProjectSession.py +88 -3
  61. phoenix/server/api/types/ProjectSessionAnnotation.py +68 -0
  62. phoenix/server/api/types/Prompt.py +18 -1
  63. phoenix/server/api/types/Span.py +5 -5
  64. phoenix/server/api/types/Trace.py +61 -0
  65. phoenix/server/app.py +13 -14
  66. phoenix/server/cost_tracking/model_cost_manifest.json +132 -2
  67. phoenix/server/dml_event.py +13 -0
  68. phoenix/server/static/.vite/manifest.json +39 -39
  69. phoenix/server/static/assets/{components-BQPHTBfv.js → components-BG6v0EM8.js} +705 -385
  70. phoenix/server/static/assets/{index-BL5BMgJU.js → index-CSVcULw1.js} +13 -13
  71. phoenix/server/static/assets/{pages-C0Y17J0T.js → pages-DgaM7kpM.js} +1356 -1155
  72. phoenix/server/static/assets/{vendor-BdjZxMii.js → vendor-BqTEkGQU.js} +183 -183
  73. phoenix/server/static/assets/{vendor-arizeai-CHYlS8jV.js → vendor-arizeai-DlOj0PQQ.js} +15 -24
  74. phoenix/server/static/assets/{vendor-codemirror-Di6t4HnH.js → vendor-codemirror-B2PHH5yZ.js} +3 -3
  75. phoenix/server/static/assets/{vendor-recharts-C9wCDYj3.js → vendor-recharts-CKsi4IjN.js} +1 -1
  76. phoenix/server/static/assets/{vendor-shiki-MNnmOotP.js → vendor-shiki-DN26BkKE.js} +1 -1
  77. phoenix/server/utils.py +74 -0
  78. phoenix/session/session.py +25 -5
  79. phoenix/version.py +1 -1
  80. phoenix/server/api/dataloaders/experiment_repetition_counts.py +0 -39
  81. {arize_phoenix-11.38.0.dist-info → arize_phoenix-12.2.0.dist-info}/WHEEL +0 -0
  82. {arize_phoenix-11.38.0.dist-info → arize_phoenix-12.2.0.dist-info}/entry_points.txt +0 -0
  83. {arize_phoenix-11.38.0.dist-info → arize_phoenix-12.2.0.dist-info}/licenses/IP_NOTICE +0 -0
  84. {arize_phoenix-11.38.0.dist-info → arize_phoenix-12.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,4 +1,4 @@
1
- import{l as g,j as o,d6 as f,eJ as v,eK as h,eL as y,m as c,cv as x,eM as a,r as z,aF as w,eN as P}from"./vendor-BdjZxMii.js";import{u as k,r as S}from"./vendor-arizeai-CHYlS8jV.js";import{L,g as C,r as R,h as E,i as I,F as j,j as A,P as D,k as F,M as t,l as T,D as M,n as G,E as _,o as O,p as N,q as V,s as W,t as d,v as q,w as B,x as U,y as K,z as $,B as J,C as X,G as H,H as Q,I as Y,J as Z,K as m,N as p,O as oo,Q as ao,U as lo,V as ro,W as co,X as go,Y as eo,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 ho,a8 as yo,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 Eo,aj as Io,ak as jo,al as Ao,am as Do,an as Fo,ao as To,ap as Mo,aq as Go,ar as _o,as as Oo,at as No,au as n,av as Vo,aw as Wo,ax as qo,ay as Bo,az as Uo,aA as Ko,aB as $o}from"./pages-C0Y17J0T.js";import{fV as Jo,cU as Xo,U as Ho,fW as Qo,fX as Yo}from"./components-BQPHTBfv.js";import"./vendor-three-BLWp5bic.js";import"./vendor-codemirror-Di6t4HnH.js";import"./vendor-shiki-MNnmOotP.js";import"./vendor-recharts-C9wCDYj3.js";(function(){const b=document.createElement("link").relList;if(b&&b.supports&&b.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const e of r)if(e.type==="childList")for(const i of e.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function u(r){const e={};return r.integrity&&(e.integrity=r.integrity),r.referrerPolicy&&(e.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?e.credentials="include":r.crossOrigin==="anonymous"?e.credentials="omit":e.credentials="same-origin",e}function s(r){if(r.ep)return;r.ep=!0;const e=u(r);fetch(r.href,e)}})();const Zo=g`
1
+ import{U as g,j as o,d9 as y,eM as x,eN as z,eO as w,V as c,cB as P,eP as a,r as k,o as S,eQ as L}from"./vendor-BqTEkGQU.js";import{u as R,q as C}from"./vendor-arizeai-DlOj0PQQ.js";import{L as E,g as I,r as j,h as A,i as D,F,j as T,P as M,k as G,M as t,l as O,D as _,n as V,E as N,o as W,p as q,q as B,s as U,t as d,v as $,w as K,x as Q,y as H,z as J,B as X,C as Y,G as Z,H as oo,I as ao,J as lo,K as m,N as p,O as ro,Q as co,U as go,V as eo,W as bo,X as no,Y as io,Z as so,_ as to,$ as mo,a0 as po,a1 as uo,a2 as fo,a3 as vo,a4 as ho,a5 as yo,a6 as u,a7 as xo,a8 as zo,a9 as wo,aa as Po,ab as ko,ac as f,ad as v,ae as So,af as Lo,ag as Ro,ah as Co,ai as Eo,aj as Io,ak as jo,al as Ao,am as Do,an as Fo,ao as To,ap as Mo,aq as Go,ar as Oo,as as _o,at as n,au as Vo,av as No,aw as Wo,ax as qo,ay as Bo,az as Uo,aA as $o,aB as Ko}from"./pages-DgaM7kpM.js";import{g0 as Qo,cW as Ho,W as Jo,g1 as Xo}from"./components-BG6v0EM8.js";import"./vendor-three-BLWp5bic.js";import"./vendor-codemirror-B2PHH5yZ.js";import"./vendor-shiki-DN26BkKE.js";import"./vendor-recharts-CKsi4IjN.js";(function(){const b=document.createElement("link").relList;if(b&&b.supports&&b.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const e of r)if(e.type==="childList")for(const i of e.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function h(r){const e={};return r.integrity&&(e.integrity=r.integrity),r.referrerPolicy&&(e.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?e.credentials="include":r.crossOrigin==="anonymous"?e.credentials="omit":e.credentials="same-origin",e}function s(r){if(r.ep)return;r.ep=!0;const e=h(r);fetch(r.href,e)}})();const Yo=g`
2
2
  :root,
3
3
  .ac-theme {
4
4
  --ac-global-dimension-scale-factor: 1;
@@ -54,7 +54,7 @@ import{l as g,j as o,d6 as f,eJ as v,eK as h,eL as y,m as c,cv as x,eM as a,r as
54
54
  --ac-global-dimension-size-5000: 400px;
55
55
  --ac-global-dimension-size-6000: 480px;
56
56
  }
57
- `,oa=g`
57
+ `,Zo=g`
58
58
  :root,
59
59
  .ac-theme {
60
60
  // static colors
@@ -71,7 +71,7 @@ import{l as g,j as o,d6 as f,eJ as v,eK as h,eL as y,m as c,cv as x,eM as a,r as
71
71
  --ac-global-button-height-s: var(--ac-global-input-height-s);
72
72
  --ac-global-button-height-m: var(--ac-global-input-height-m);
73
73
  }
74
- `,aa=g`
74
+ `,oa=g`
75
75
  :root,
76
76
  .ac-theme {
77
77
  --ac-global-dimension-static-size-0: 0px;
@@ -152,7 +152,7 @@ import{l as g,j as o,d6 as f,eJ as v,eK as h,eL as y,m as c,cv as x,eM as a,r as
152
152
  --ac-global-dimension-font-size-1200: 50px;
153
153
  --ac-global-dimension-font-size-1300: 60px;
154
154
  }
155
- `,la=g`
155
+ `,aa=g`
156
156
  :root,
157
157
  .ac-theme--dark {
158
158
  /* Colors */
@@ -666,7 +666,7 @@ import{l as g,j as o,d6 as f,eJ as v,eK as h,eL as y,m as c,cv as x,eM as a,r as
666
666
  --ac-floating-toolbar-background-color: var(--ac-global-color-grey-200);
667
667
  --ac-floating-toolbar-border-color: var(--ac-global-color-grey-300);
668
668
  }
669
- `,ra=g`
669
+ `,la=g`
670
670
  :root,
671
671
  .ac-theme--light {
672
672
  /* Colors */
@@ -915,7 +915,7 @@ import{l as g,j as o,d6 as f,eJ as v,eK as h,eL as y,m as c,cv as x,eM as a,r as
915
915
  --ac-floating-toolbar-background-color: var(--ac-global-color-grey-75);
916
916
  --ac-floating-toolbar-border-color: var(--ac-global-color-grey-200);
917
917
  }
918
- `,ca=l=>g`
918
+ `,ra=l=>g`
919
919
  :root,
920
920
  .ac-theme--${l} {
921
921
  // The primary color tint for the apps
@@ -973,7 +973,7 @@ import{l as g,j as o,d6 as f,eJ as v,eK as h,eL as y,m as c,cv as x,eM as a,r as
973
973
 
974
974
  --ac-highlight-foreground: var(--ac-global-text-color-900);
975
975
  --ac-highlight-background: var(--ac-global-color-primary-100);
976
- --ac-hover-background: var(--ac-global-color-primary-100);
976
+ --ac-hover-background: var(--ac-global-color-primary-50);
977
977
  --ac-focus-ring-color: var(--ac-global-color-primary-500);
978
978
 
979
979
  // Text
@@ -1082,12 +1082,12 @@ import{l as g,j as o,d6 as f,eJ as v,eK as h,eL as y,m as c,cv as x,eM as a,r as
1082
1082
  --ac-alias-single-line-height: var(--ac-global-dimension-size-400);
1083
1083
  --ac-alias-single-line-width: var(--ac-global-dimension-size-2400);
1084
1084
  }
1085
- `,ga=g`
1085
+ `,ca=g`
1086
1086
  :root,
1087
1087
  .ac-theme {
1088
1088
  --ac-opacity-disabled: 0.6;
1089
1089
  }
1090
- `,ea=g`
1090
+ `,ga=g`
1091
1091
  body,
1092
1092
  input,
1093
1093
  button,
@@ -1221,7 +1221,7 @@ import{l as g,j as o,d6 as f,eJ as v,eK as h,eL as y,m as c,cv as x,eM as a,r as
1221
1221
  --px-corpus-color: #92969c;
1222
1222
  --px-corpus-color--transparent: #92969c63;
1223
1223
  }
1224
- `,ba=g`
1224
+ `,ea=g`
1225
1225
  .ac-theme--light {
1226
1226
  .cm-editor {
1227
1227
  background-color: rgba(255, 255, 255, 0.5) !important;
@@ -1238,7 +1238,7 @@ import{l as g,j as o,d6 as f,eJ as v,eK as h,eL as y,m as c,cv as x,eM as a,r as
1238
1238
  background-color: rgba(0, 0, 0, 0.2) !important;
1239
1239
  }
1240
1240
  }
1241
- `,na=g`
1241
+ `,ba=g`
1242
1242
  .ac-theme {
1243
1243
  --chart-cartesian-grid-stroke-color: var(--ac-global-color-grey-300);
1244
1244
  --chart-axis-stroke-color: var(--ac-global-color-grey-300);
@@ -1252,7 +1252,7 @@ import{l as g,j as o,d6 as f,eJ as v,eK as h,eL as y,m as c,cv as x,eM as a,r as
1252
1252
  .ac-theme--light {
1253
1253
  --chart-tooltip-cursor-fill-color: rgba(0, 0, 0, 0.05);
1254
1254
  }
1255
- `,ia=g`
1255
+ `,na=g`
1256
1256
  .font-default {
1257
1257
  font-family: "Geist", sans-serif;
1258
1258
  font-optical-sizing: auto;
@@ -1262,4 +1262,4 @@ import{l as g,j as o,d6 as f,eJ as v,eK as h,eL as y,m as c,cv as x,eM as a,r as
1262
1262
  font-family: "Geist Mono", monospace;
1263
1263
  font-optical-sizing: auto;
1264
1264
  }
1265
- `;function sa(){const{theme:l="dark"}=k();return o(f,{styles:g(aa,oa,l==="dark"?la:ra,ca(l),Zo,ga,ea,ba,na,ia)})}const ta=v(h(c(a,{path:"/",errorElement:o(n,{}),children:[o(a,{path:"/v1/*",element:o(x,{to:"/",replace:!0})}),o(a,{path:"/login",element:o(L,{})}),o(a,{path:"/logout",element:o(C,{})}),o(a,{path:"/reset-password",element:o(E,{}),loader:R}),o(a,{path:"/reset-password-with-token",element:o(I,{})}),o(a,{path:"/forgot-password",element:o(j,{})}),o(a,{element:o(Bo,{}),loader:A,children:c(a,{element:o(qo,{}),children:[o(a,{path:"/profile",handle:{crumb:()=>"profile"},element:o(D,{})}),o(a,{index:!0,loader:F}),c(a,{path:"/model",handle:{crumb:()=>"model"},element:o(O,{}),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(M,{}),loader:T})})}),o(a,{path:"embeddings",children:o(a,{path:":embeddingDimensionId",element:o(_,{}),loader:G,handle:{crumb:l=>l.embedding.name}})})]}),c(a,{path:"/projects",handle:{crumb:()=>"Projects"},element:o(Y,{}),children:[o(a,{index:!0,element:o(N,{})}),c(a,{path:":projectId",loader:V,handle:{crumb:l=>l.project.name},element:o(Q,{}),children:[o(a,{index:!0,element:o(W,{})}),c(a,{element:o(H,{}),children:[o(a,{path:"traces",element:o(q,{}),children:o(a,{path:":traceId",element:o(d,{})})}),o(a,{path:"spans",element:o(B,{}),children:o(a,{path:":traceId",element:o(d,{})})}),o(a,{path:"sessions",element:o($,{}),children:o(a,{path:":sessionId",element:o(K,{}),loader:U})}),o(a,{path:"config",element:o(J,{})}),o(a,{path:"metrics",element:o(X,{})})]})]})]}),c(a,{path:"/datasets",handle:{crumb:()=>"Datasets"},children:[o(a,{index:!0,element:o(Z,{})}),c(a,{path:":datasetId",loader:m,handle:{crumb:l=>l.dataset.name},children:[c(a,{element:o(eo,{}),loader:m,children:[o(a,{index:!0,element:o(p,{})}),o(a,{path:"experiments",element:o(p,{})}),o(a,{path:"examples",element:o(lo,{}),loader:oo,children:o(a,{path:":exampleId",element:o(ao,{})})}),o(a,{path:"versions",element:o(co,{}),loader:ro}),o(a,{path:"evaluators",element:o(go,{})})]}),o(a,{path:"compare",element:o(no,{}),loader:bo,handle:{crumb:()=>"compare"}})]})]}),c(a,{path:"/playground",handle:{crumb:()=>"Playground"},children:[o(a,{index:!0,element:o(io,{})}),o(a,{path:"spans/:spanId",element:o(to,{}),loader:so,handle:{crumb:l=>l.span.__typename==="Span"?`span ${l.span.spanId}`:"span unknown"}})]}),c(a,{path:"/prompts",handle:{crumb:()=>"Prompts"},children:[o(a,{index:!0,element:o(po,{}),loader:mo}),c(a,{path:":promptId",loader:uo,shouldRevalidate:()=>!0,handle:{crumb:l=>l.prompt.__typename==="Prompt"?l.prompt.name:"unknown"},children:[c(a,{element:o(Po,{}),children:[o(a,{index:!0,element:o(fo,{})}),o(a,{path:"versions",loader:vo,element:o(xo,{}),children:o(a,{path:":versionId",loader:ho,element:o(yo,{})})}),o(a,{path:"config",element:o(wo,{}),loader:zo})]}),o(a,{path:"playground",element:o(So,{}),loader:ko,handle:{crumb:()=>"playground"}})]})]}),o(a,{path:"/apis",element:o(Lo,{}),handle:{crumb:()=>"APIs"}}),o(a,{path:"/support",element:o(Co,{}),handle:{crumb:()=>"Support"}}),c(a,{path:"/settings",element:o(Oo,{}),handle:{crumb:()=>"Settings"},children:[o(a,{path:"general",loader:Ro,element:o(Eo,{}),handle:{crumb:()=>"General"}}),o(a,{path:"providers",loader:Io,element:o(jo,{}),handle:{crumb:()=>"AI Providers"}}),o(a,{path:"models",loader:Ao,element:o(Do,{}),handle:{crumb:()=>"Models"}}),o(a,{path:"annotations",loader:Fo,element:o(To,{}),handle:{crumb:()=>"Annotations"}}),o(a,{path:"data",element:o(Go,{}),handle:{crumb:()=>"Data Retention"},loader:Mo}),o(a,{path:"prompts",element:o(_o,{}),handle:{crumb:()=>"Prompts"}})]}),o(a,{path:"/redirects/spans/:span_otel_id",loader:No,errorElement:o(n,{})}),o(a,{path:"/redirects/traces/:trace_otel_id",loader:Vo,errorElement:o(n,{})}),o(a,{path:"/redirects/sessions/:session_id",loader:Wo,errorElement:o(n,{})})]})})]})),{basename:window.Config.basename});function da(){return o(y,{router:ta})}function ma(){return o(Uo,{children:o(Jo,{children:o(pa,{})})})}function pa(){const{theme:l}=Xo();return o(S,{theme:l,mountGlobalStyles:!1,children:c(w.RelayEnvironmentProvider,{environment:Ho,children:[o(sa,{}),o(Ko,{children:o(Qo,{children:o($o,{children:o(z.Suspense,{children:o(Yo,{children:o(da,{})})})})})})]})})}const ua=document.getElementById("root"),fa=P.createRoot(ua);fa.render(o(ma,{}));
1265
+ `;function ia(){const{theme:l="dark"}=R();return o(y,{styles:g(oa,Zo,l==="dark"?aa:la,ra(l),Yo,ca,ga,ea,ba,na)})}const sa=x(z(c(a,{path:"/",errorElement:o(n,{}),element:o(Bo,{}),children:[o(a,{path:"/v1/*",element:o(P,{to:"/",replace:!0})}),o(a,{path:"/login",element:o(E,{})}),o(a,{path:"/logout",element:o(I,{})}),o(a,{path:"/reset-password",element:o(A,{}),loader:j}),o(a,{path:"/reset-password-with-token",element:o(D,{})}),o(a,{path:"/forgot-password",element:o(F,{})}),o(a,{element:o(qo,{}),loader:T,children:c(a,{element:o(Wo,{}),children:[o(a,{path:"/profile",handle:{crumb:()=>"profile"},element:o(M,{})}),o(a,{index:!0,loader:G}),c(a,{path:"/model",handle:{crumb:()=>"model"},element:o(W,{}),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(_,{}),loader:O})})}),o(a,{path:"embeddings",children:o(a,{path:":embeddingDimensionId",element:o(N,{}),loader:V,handle:{crumb:l=>l.embedding.name}})})]}),c(a,{path:"/projects",handle:{crumb:()=>"Projects"},element:o(ao,{}),children:[o(a,{index:!0,element:o(q,{})}),c(a,{path:":projectId",loader:B,handle:{crumb:l=>l.project.name},element:o(oo,{}),children:[o(a,{index:!0,element:o(U,{})}),c(a,{element:o(Z,{}),children:[o(a,{path:"traces",element:o($,{}),children:o(a,{path:":traceId",element:o(d,{})})}),o(a,{path:"spans",element:o(K,{}),children:o(a,{path:":traceId",element:o(d,{})})}),o(a,{path:"sessions",element:o(J,{}),children:o(a,{path:":sessionId",element:o(H,{}),loader:Q})}),o(a,{path:"config",element:o(X,{})}),o(a,{path:"metrics",element:o(Y,{})})]})]})]}),c(a,{path:"/datasets",handle:{crumb:()=>"Datasets"},children:[o(a,{index:!0,element:o(lo,{})}),c(a,{path:":datasetId",loader:m,handle:{crumb:l=>l.dataset.name},children:[c(a,{element:o(io,{}),loader:m,children:[o(a,{index:!0,element:o(p,{})}),o(a,{path:"experiments",element:o(p,{})}),o(a,{path:"examples",element:o(go,{}),loader:ro,children:o(a,{path:":exampleId",element:o(co,{})})}),o(a,{path:"versions",element:o(bo,{}),loader:eo}),o(a,{path:"evaluators",element:o(no,{})})]}),o(a,{path:"compare",element:o(so,{}),handle:{crumb:()=>"compare"}})]})]}),c(a,{path:"/playground",handle:{crumb:()=>"Playground"},children:[o(a,{index:!0,element:o(to,{})}),o(a,{path:"spans/:spanId",element:o(po,{}),loader:mo,handle:{crumb:l=>l.span.__typename==="Span"?`span ${l.span.spanId}`:"span unknown"}})]}),c(a,{path:"/prompts",handle:{crumb:()=>"Prompts"},children:[o(a,{index:!0,element:o(fo,{}),loader:uo}),c(a,{path:":promptId",loader:vo,shouldRevalidate:()=>!0,handle:{crumb:l=>l.prompt.__typename==="Prompt"?l.prompt.name:"unknown"},children:[c(a,{element:o(ko,{}),children:[o(a,{index:!0,element:o(ho,{})}),o(a,{path:"versions",loader:yo,element:o(zo,{}),children:o(a,{path:":versionId",loader:u,element:o(xo,{})})}),o(a,{path:"config",element:o(Po,{}),loader:wo})]}),o(a,{path:"versions/:versionId",loader:u,handle:{crumb:l=>l==null?void 0:l.promptVersion.id},children:o(a,{path:"playground",element:o(v,{}),loader:f,handle:{crumb:()=>"playground"}})}),o(a,{path:"playground",element:o(v,{}),loader:f,handle:{crumb:()=>"playground"}})]})]}),o(a,{path:"/apis",element:o(So,{}),handle:{crumb:()=>"APIs"}}),o(a,{path:"/support",element:o(Lo,{}),handle:{crumb:()=>"Support"}}),c(a,{path:"/settings",element:o(Oo,{}),handle:{crumb:()=>"Settings"},children:[o(a,{path:"general",loader:Ro,element:o(Co,{}),handle:{crumb:()=>"General"}}),o(a,{path:"providers",loader:Eo,element:o(Io,{}),handle:{crumb:()=>"AI Providers"}}),o(a,{path:"models",loader:jo,element:o(Ao,{}),handle:{crumb:()=>"Models"}}),o(a,{path:"annotations",loader:Do,element:o(Fo,{}),handle:{crumb:()=>"Annotations"}}),o(a,{path:"data",element:o(Mo,{}),handle:{crumb:()=>"Data Retention"},loader:To}),o(a,{path:"prompts",element:o(Go,{}),handle:{crumb:()=>"Prompts"}})]}),o(a,{path:"/redirects/spans/:span_otel_id",loader:_o,errorElement:o(n,{})}),o(a,{path:"/redirects/traces/:trace_otel_id",loader:Vo,errorElement:o(n,{})}),o(a,{path:"/redirects/sessions/:session_id",loader:No,errorElement:o(n,{})})]})})]})),{basename:window.Config.basename});function ta(){return o(w,{router:sa})}function da(){return o(Uo,{children:o(Qo,{children:o(ma,{})})})}function ma(){const{theme:l}=Ho();return o(C,{theme:l,mountGlobalStyles:!1,children:c(S.RelayEnvironmentProvider,{environment:Jo,children:[o(ia,{}),o($o,{children:o(Xo,{children:o(Ko,{children:o(k.Suspense,{children:o(ta,{})})})})})]})})}const pa=document.getElementById("root"),ua=L.createRoot(pa);ua.render(o(da,{}));