arize-phoenix 8.32.1__py3-none-any.whl → 9.0.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 (79) hide show
  1. {arize_phoenix-8.32.1.dist-info → arize_phoenix-9.0.0.dist-info}/METADATA +2 -2
  2. {arize_phoenix-8.32.1.dist-info → arize_phoenix-9.0.0.dist-info}/RECORD +76 -56
  3. phoenix/db/constants.py +1 -0
  4. phoenix/db/facilitator.py +55 -0
  5. phoenix/db/insertion/document_annotation.py +31 -13
  6. phoenix/db/insertion/evaluation.py +15 -3
  7. phoenix/db/insertion/helpers.py +2 -1
  8. phoenix/db/insertion/span_annotation.py +26 -9
  9. phoenix/db/insertion/trace_annotation.py +25 -9
  10. phoenix/db/insertion/types.py +7 -0
  11. phoenix/db/migrations/versions/2f9d1a65945f_annotation_config_migration.py +322 -0
  12. phoenix/db/migrations/versions/8a3764fe7f1a_change_jsonb_to_json_for_prompts.py +76 -0
  13. phoenix/db/migrations/versions/bb8139330879_create_project_trace_retention_policies_table.py +77 -0
  14. phoenix/db/models.py +151 -10
  15. phoenix/db/types/annotation_configs.py +97 -0
  16. phoenix/db/types/db_models.py +41 -0
  17. phoenix/db/types/trace_retention.py +267 -0
  18. phoenix/experiments/functions.py +5 -1
  19. phoenix/server/api/auth.py +9 -0
  20. phoenix/server/api/context.py +5 -0
  21. phoenix/server/api/dataloaders/__init__.py +4 -0
  22. phoenix/server/api/dataloaders/annotation_summaries.py +203 -24
  23. phoenix/server/api/dataloaders/project_ids_by_trace_retention_policy_id.py +42 -0
  24. phoenix/server/api/dataloaders/trace_retention_policy_id_by_project_id.py +34 -0
  25. phoenix/server/api/helpers/annotations.py +9 -0
  26. phoenix/server/api/helpers/prompts/models.py +34 -67
  27. phoenix/server/api/input_types/CreateSpanAnnotationInput.py +9 -0
  28. phoenix/server/api/input_types/CreateTraceAnnotationInput.py +3 -0
  29. phoenix/server/api/input_types/PatchAnnotationInput.py +3 -0
  30. phoenix/server/api/input_types/SpanAnnotationFilter.py +67 -0
  31. phoenix/server/api/mutations/__init__.py +6 -0
  32. phoenix/server/api/mutations/annotation_config_mutations.py +413 -0
  33. phoenix/server/api/mutations/dataset_mutations.py +62 -39
  34. phoenix/server/api/mutations/project_trace_retention_policy_mutations.py +245 -0
  35. phoenix/server/api/mutations/span_annotations_mutations.py +272 -70
  36. phoenix/server/api/mutations/trace_annotations_mutations.py +203 -74
  37. phoenix/server/api/queries.py +86 -0
  38. phoenix/server/api/routers/v1/__init__.py +4 -0
  39. phoenix/server/api/routers/v1/annotation_configs.py +449 -0
  40. phoenix/server/api/routers/v1/annotations.py +161 -0
  41. phoenix/server/api/routers/v1/evaluations.py +6 -0
  42. phoenix/server/api/routers/v1/projects.py +1 -50
  43. phoenix/server/api/routers/v1/spans.py +35 -8
  44. phoenix/server/api/routers/v1/traces.py +22 -13
  45. phoenix/server/api/routers/v1/utils.py +60 -0
  46. phoenix/server/api/types/Annotation.py +7 -0
  47. phoenix/server/api/types/AnnotationConfig.py +124 -0
  48. phoenix/server/api/types/AnnotationSource.py +9 -0
  49. phoenix/server/api/types/AnnotationSummary.py +28 -14
  50. phoenix/server/api/types/AnnotatorKind.py +1 -0
  51. phoenix/server/api/types/CronExpression.py +15 -0
  52. phoenix/server/api/types/Evaluation.py +4 -30
  53. phoenix/server/api/types/Project.py +50 -2
  54. phoenix/server/api/types/ProjectTraceRetentionPolicy.py +110 -0
  55. phoenix/server/api/types/Span.py +78 -0
  56. phoenix/server/api/types/SpanAnnotation.py +24 -0
  57. phoenix/server/api/types/Trace.py +2 -2
  58. phoenix/server/api/types/TraceAnnotation.py +23 -0
  59. phoenix/server/app.py +20 -0
  60. phoenix/server/retention.py +76 -0
  61. phoenix/server/static/.vite/manifest.json +36 -36
  62. phoenix/server/static/assets/components-B2MWTXnm.js +4326 -0
  63. phoenix/server/static/assets/{index-B0CbpsxD.js → index-Bfvpea_-.js} +10 -10
  64. phoenix/server/static/assets/pages-CZ2vKu8H.js +7268 -0
  65. phoenix/server/static/assets/vendor-BRDkBC5J.js +903 -0
  66. phoenix/server/static/assets/{vendor-arizeai-CxXYQNUl.js → vendor-arizeai-BvTqp_W8.js} +3 -3
  67. phoenix/server/static/assets/{vendor-codemirror-B0NIFPOL.js → vendor-codemirror-COt9UfW7.js} +1 -1
  68. phoenix/server/static/assets/{vendor-recharts-CrrDFWK1.js → vendor-recharts-BoHX9Hvs.js} +2 -2
  69. phoenix/server/static/assets/{vendor-shiki-C5bJ-RPf.js → vendor-shiki-Cw1dsDAz.js} +1 -1
  70. phoenix/trace/dsl/filter.py +25 -5
  71. phoenix/utilities/__init__.py +18 -0
  72. phoenix/version.py +1 -1
  73. phoenix/server/static/assets/components-x-gKFJ8C.js +0 -3414
  74. phoenix/server/static/assets/pages-BU4VdyeH.js +0 -5867
  75. phoenix/server/static/assets/vendor-BfhM_F1u.js +0 -902
  76. {arize_phoenix-8.32.1.dist-info → arize_phoenix-9.0.0.dist-info}/WHEEL +0 -0
  77. {arize_phoenix-8.32.1.dist-info → arize_phoenix-9.0.0.dist-info}/entry_points.txt +0 -0
  78. {arize_phoenix-8.32.1.dist-info → arize_phoenix-9.0.0.dist-info}/licenses/IP_NOTICE +0 -0
  79. {arize_phoenix-8.32.1.dist-info → arize_phoenix-9.0.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,4 +1,4 @@
1
- import{r as t,j as o,bp as z,l as c,P as w,R as P,E as b,cx as k,ei as S,ej as F,ek as L,bF as C,el as l,w as E,em as R}from"./vendor-BfhM_F1u.js";import{c as I,x as j,D as A,K as T,M as _}from"./vendor-arizeai-CxXYQNUl.js";import{L as D,r as O,d as G,e as M,F as N,f as V,P as q,h as K,M as m,g as U,D as W,i as B,E as J,j as $,k as H,p as Y,l as Q,n as p,o as X,q as Z,s as oo,S as lo,t as ao,v as ro,w as co,x as go,y as eo,z as bo,A as u,B as f,C as y,G as no,H as io,I as so,J as to,K as mo,N as po,O as uo,Q as fo,U as yo,V as vo,W as ho,X as xo,Y as zo,Z as wo,_ as Po,$ as ko,a0 as So,a1 as Fo,a2 as Lo,a3 as Co,a4 as Eo,a5 as Ro,a6 as Io,a7 as jo,a8 as Ao,a9 as To,aa as _o,ab as Do,ac as Oo,ad as Go,ae as Mo,af as No,ag as Vo,ah as qo}from"./pages-BU4VdyeH.js";import{z as Ko,e1 as Uo,bI as Wo,R as Bo,e2 as Jo,e3 as $o}from"./components-x-gKFJ8C.js";import"./vendor-three-C5WAXd5r.js";import"./vendor-codemirror-B0NIFPOL.js";import"./vendor-shiki-C5bJ-RPf.js";import"./vendor-recharts-CrrDFWK1.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const g of r)if(g.type==="childList")for(const n of g.addedNodes)n.tagName==="LINK"&&n.rel==="modulepreload"&&s(n)}).observe(document,{childList:!0,subtree:!0});function i(r){const g={};return r.integrity&&(g.integrity=r.integrity),r.referrerPolicy&&(g.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?g.credentials="include":r.crossOrigin==="anonymous"?g.credentials="omit":g.credentials="same-origin",g}function s(r){if(r.ep)return;r.ep=!0;const g=i(r);fetch(r.href,g)}})();const v="arize-phoenix-feature-flags",d={__RESET__:!1};function Ho(){const a=localStorage.getItem(v);if(!a)return d;try{const e=JSON.parse(a);return Object.assign({},d,e)}catch{return d}}const h=t.createContext(null);function Yo(){const a=P.useContext(h);if(a===null)throw new Error("useFeatureFlags must be used within a FeatureFlagsProvider");return a}function Qo(a){const[e,i]=t.useState(Ho()),s=r=>{localStorage.setItem(v,JSON.stringify(r)),i(r)};return o(h.Provider,{value:{featureFlags:e,setFeatureFlags:s},children:o(Xo,{children:a.children})})}function Xo(a){const{children:e}=a,{featureFlags:i,setFeatureFlags:s}=Yo(),[r,g]=t.useState(!1);return z("ctrl+shift+f",()=>g(!0)),c(w,{children:[e,o(A,{type:"modal",isDismissable:!0,onDismiss:()=>g(!1),children:r&&o(I,{title:"Feature Flags",children:o(Ko,{height:"size-1000",padding:"size-100",children:Object.keys(i).map(n=>o(j,{isSelected:i[n],onChange:x=>s({...i,[n]:x}),children:n},n))})})})]})}const Zo=b`
1
+ import{r as t,j as o,aV as z,l as c,P as w,R as P,E as b,cN as k,ey as S,ez as F,eA as L,bV as C,eB as l,o as E,eC as R}from"./vendor-BRDkBC5J.js";import{e as j,w as I,D as A,K as T,M as _}from"./vendor-arizeai-BvTqp_W8.js";import{L as D,r as O,g as G,h as N,F as M,i as V,P as q,j as B,M as m,k as K,D as U,l as W,E as J,n as Y,o as $,p as H,q as Q,s as p,t as X,v as Z,w as oo,x as lo,y as ao,z as ro,B as co,C as go,G as eo,H as bo,I as u,J as f,K as y,N as no,O as io,Q as so,U as to,V as mo,W as po,X as uo,Y as fo,Z as yo,_ as vo,$ as ho,a0 as xo,a1 as zo,a2 as wo,a3 as Po,a4 as ko,a5 as So,a6 as Fo,a7 as Lo,a8 as Co,a9 as Eo,aa as Ro,ab as jo,ac as Io,ad as Ao,ae as To,af as _o,ag as Do,ah as Oo,ai as Go,aj as No,ak as Mo,al as Vo,am as qo,an as Bo,ao as Ko,ap as Uo,aq as Wo}from"./pages-CZ2vKu8H.js";import{z as Jo,ej as Yo,bY as $o,R as Ho,ek as Qo,el as Xo}from"./components-B2MWTXnm.js";import"./vendor-three-C5WAXd5r.js";import"./vendor-codemirror-COt9UfW7.js";import"./vendor-shiki-Cw1dsDAz.js";import"./vendor-recharts-BoHX9Hvs.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const g of r)if(g.type==="childList")for(const n of g.addedNodes)n.tagName==="LINK"&&n.rel==="modulepreload"&&s(n)}).observe(document,{childList:!0,subtree:!0});function i(r){const g={};return r.integrity&&(g.integrity=r.integrity),r.referrerPolicy&&(g.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?g.credentials="include":r.crossOrigin==="anonymous"?g.credentials="omit":g.credentials="same-origin",g}function s(r){if(r.ep)return;r.ep=!0;const g=i(r);fetch(r.href,g)}})();const v="arize-phoenix-feature-flags",d={__RESET__:!1};function Zo(){const a=localStorage.getItem(v);if(!a)return d;try{const e=JSON.parse(a);return Object.assign({},d,e)}catch{return d}}const h=t.createContext(null);function ol(){const a=P.useContext(h);if(a===null)throw new Error("useFeatureFlags must be used within a FeatureFlagsProvider");return a}function ll(a){const[e,i]=t.useState(Zo()),s=r=>{localStorage.setItem(v,JSON.stringify(r)),i(r)};return o(h.Provider,{value:{featureFlags:e,setFeatureFlags:s},children:o(al,{children:a.children})})}function al(a){const{children:e}=a,{featureFlags:i,setFeatureFlags:s}=ol(),[r,g]=t.useState(!1);return z("ctrl+shift+f",()=>g(!0)),c(w,{children:[e,o(A,{type:"modal",isDismissable:!0,onDismiss:()=>g(!1),children:r&&o(j,{title:"Feature Flags",children:o(Jo,{height:"size-1000",padding:"size-100",children:Object.keys(i).map(n=>o(I,{isSelected:i[n],onChange:x=>s({...i,[n]:x}),children:n},n))})})})]})}const rl=b`
2
2
  :root {
3
3
  --ac-global-dimension-scale-factor: 1;
4
4
  --ac-global-dimension-size-0: 0px;
@@ -53,7 +53,7 @@ import{r as t,j as o,bp as z,l as c,P as w,R as P,E as b,cx as k,ei as S,ej as F
53
53
  --ac-global-dimension-size-5000: 400px;
54
54
  --ac-global-dimension-size-6000: 480px;
55
55
  }
56
- `,ol=b`
56
+ `,cl=b`
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{r as t,j as o,bp as z,l as c,P as w,R as P,E as b,cx as k,ei as S,ej as F
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
- `,ll=b`
66
+ `,gl=b`
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{r as t,j as o,bp as z,l as c,P as w,R as P,E as b,cx as k,ei as S,ej as F
143
143
  --ac-global-dimension-font-size-1200: 50px;
144
144
  --ac-global-dimension-font-size-1300: 60px;
145
145
  }
146
- `,al=b`
146
+ `,el=b`
147
147
  :root,
148
148
  .ac-theme--dark {
149
149
  /* Colors */
@@ -648,7 +648,7 @@ import{r as t,j as o,bp as z,l as c,P as w,R as P,E as b,cx as k,ei as S,ej as F
648
648
  --ac-global-link-color: rgb(114, 217, 255);
649
649
  --ac-global-link-color-visited: var(--ac-global-color-purple-900);
650
650
  }
651
- `,rl=b`
651
+ `,bl=b`
652
652
  :root,
653
653
  .ac-theme--light {
654
654
  /* Colors */
@@ -890,7 +890,7 @@ import{r as t,j as o,bp as z,l as c,P as w,R as P,E as b,cx as k,ei as S,ej as F
890
890
  --ac-global-link-color: rgb(9, 105, 218);
891
891
  --ac-global-link-color-visited: var(--ac-global-color-purple-900);
892
892
  }
893
- `,cl=a=>b`
893
+ `,nl=a=>b`
894
894
  :root,
895
895
  .ac-theme--${a} {
896
896
  // The primary color tint for the apps
@@ -1035,11 +1035,11 @@ import{r as t,j as o,bp as z,l as c,P as w,R as P,E as b,cx as k,ei as S,ej as F
1035
1035
  --ac-alias-single-line-height: var(--ac-global-dimension-size-400);
1036
1036
  --ac-alias-single-line-width: var(--ac-global-dimension-size-2400);
1037
1037
  }
1038
- `,gl=b`
1038
+ `,il=b`
1039
1039
  :root {
1040
1040
  --ac-opacity-disabled: 0.6;
1041
1041
  }
1042
- `,el=b`
1042
+ `,sl=b`
1043
1043
  body {
1044
1044
  background-color: var(--ac-global-color-grey-75);
1045
1045
  color: var(--ac-global-text-color-900);
@@ -1155,7 +1155,7 @@ import{r as t,j as o,bp as z,l as c,P as w,R as P,E as b,cx as k,ei as S,ej as F
1155
1155
  --px-corpus-color: #92969c;
1156
1156
  --px-corpus-color--transparent: #92969c63;
1157
1157
  }
1158
- `,bl=b`
1158
+ `,tl=b`
1159
1159
  .ac-theme--light {
1160
1160
  .cm-editor {
1161
1161
  background-color: rgba(255, 255, 255, 0.5) !important;
@@ -1172,4 +1172,4 @@ import{r as t,j as o,bp as z,l as c,P as w,R as P,E as b,cx as k,ei as S,ej as F
1172
1172
  background-color: rgba(0, 0, 0, 0.2) !important;
1173
1173
  }
1174
1174
  }
1175
- `;function nl(){const{theme:a="dark"}=T();return o(k,{styles:b(ll,ol,a==="dark"?al:rl,cl(a),Zo,gl,el,bl)})}const il=S(F(c(l,{path:"/",errorElement:o(No,{}),children:[o(l,{path:"/v1/*",element:o(C,{to:"/",replace:!0})}),o(l,{path:"/login",element:o(D,{})}),o(l,{path:"/reset-password",element:o(G,{}),loader:O}),o(l,{path:"/reset-password-with-token",element:o(M,{})}),o(l,{path:"/forgot-password",element:o(N,{})}),o(l,{element:o(Mo,{}),loader:V,children:c(l,{element:o(Go,{}),children:[o(l,{path:"/profile",handle:{crumb:()=>"profile"},element:o(q,{})}),o(l,{index:!0,loader:K}),c(l,{path:"/model",handle:{crumb:()=>"model"},element:o($,{}),children:[o(l,{index:!0,element:o(m,{})}),o(l,{element:o(m,{}),children:o(l,{path:"dimensions",children:o(l,{path:":dimensionId",element:o(W,{}),loader:U})})}),o(l,{path:"embeddings",children:o(l,{path:":embeddingDimensionId",element:o(J,{}),loader:B,handle:{crumb:a=>a.embedding.name}})})]}),c(l,{path:"/projects",handle:{crumb:()=>"projects"},element:o(eo,{}),children:[o(l,{index:!0,element:o(H,{})}),c(l,{path:":projectId",loader:Y,handle:{crumb:a=>a.project.name},element:o(go,{}),children:[o(l,{index:!0,element:o(Q,{})}),c(l,{element:o(co,{}),children:[o(l,{path:"traces",element:o(X,{}),children:o(l,{path:":traceId",element:o(p,{})})}),o(l,{path:"spans",element:o(Z,{}),children:o(l,{path:":traceId",element:o(p,{})})}),o(l,{path:"sessions",element:o(ao,{}),children:o(l,{path:":sessionId",element:o(lo,{}),loader:oo})}),o(l,{path:"config",element:o(ro,{})})]})]})]}),c(l,{path:"/datasets",handle:{crumb:()=>"datasets"},children:[o(l,{index:!0,element:o(bo,{})}),c(l,{path:":datasetId",loader:u,handle:{crumb:a=>a.dataset.name},children:[c(l,{element:o(to,{}),loader:u,children:[o(l,{index:!0,element:o(y,{}),loader:f}),o(l,{path:"experiments",element:o(y,{}),loader:f}),o(l,{path:"examples",element:o(so,{}),loader:no,children:o(l,{path:":exampleId",element:o(io,{})})})]}),o(l,{path:"compare",handle:{crumb:()=>"compare"},loader:mo,element:o(po,{})})]})]}),c(l,{path:"/playground",handle:{crumb:()=>"Playground"},children:[o(l,{index:!0,element:o(uo,{})}),o(l,{path:"spans/:spanId",element:o(yo,{}),loader:fo,handle:{crumb:a=>a.span.__typename==="Span"?`span ${a.span.spanId}`:"span unknown"}})]}),c(l,{path:"/prompts",handle:{crumb:()=>"prompts"},children:[o(l,{index:!0,element:o(ho,{}),loader:vo}),c(l,{path:":promptId",loader:xo,shouldRevalidate:()=>!0,handle:{crumb:a=>a.prompt.__typename==="Prompt"?a.prompt.name:"unknown"},children:[c(l,{element:o(Co,{}),children:[o(l,{index:!0,element:o(zo,{})}),o(l,{path:"versions",loader:wo,element:o(So,{}),children:o(l,{path:":versionId",loader:Po,element:o(ko,{})})}),o(l,{path:"config",element:o(Lo,{}),loader:Fo})]}),o(l,{path:"playground",element:o(Ro,{}),loader:Eo,handle:{crumb:()=>"playground"}})]})]}),o(l,{path:"/apis",element:o(Io,{}),handle:{crumb:()=>"APIs"}}),o(l,{path:"/support",element:o(jo,{}),handle:{crumb:()=>"support"}}),c(l,{path:"/settings",element:o(Oo,{}),handle:{crumb:()=>"settings"},children:[o(l,{path:"general",loader:Ao,element:o(To,{}),handle:{crumb:()=>"general"}}),o(l,{path:"providers",loader:_o,element:o(Do,{}),handle:{crumb:()=>"providers"}})]})]})})]})),{basename:window.Config.basename});function sl(){return o(L,{router:il})}function tl(){return o(Vo,{children:o(Uo,{children:o(dl,{})})})}function dl(){const{theme:a}=Wo();return o(_,{theme:a,mountGlobalStyles:!1,children:c(E.RelayEnvironmentProvider,{environment:Bo,children:[o(nl,{}),o(Qo,{children:o(Jo,{children:o(qo,{children:o(t.Suspense,{children:o($o,{children:o(sl,{})})})})})})]})})}const ml=document.getElementById("root"),pl=R.createRoot(ml);pl.render(o(tl,{}));
1175
+ `;function dl(){const{theme:a="dark"}=T();return o(k,{styles:b(gl,cl,a==="dark"?el:bl,nl(a),rl,il,sl,tl)})}const ml=S(F(c(l,{path:"/",errorElement:o(Ko,{}),children:[o(l,{path:"/v1/*",element:o(C,{to:"/",replace:!0})}),o(l,{path:"/login",element:o(D,{})}),o(l,{path:"/reset-password",element:o(G,{}),loader:O}),o(l,{path:"/reset-password-with-token",element:o(N,{})}),o(l,{path:"/forgot-password",element:o(M,{})}),o(l,{element:o(Bo,{}),loader:V,children:c(l,{element:o(qo,{}),children:[o(l,{path:"/profile",handle:{crumb:()=>"profile"},element:o(q,{})}),o(l,{index:!0,loader:B}),c(l,{path:"/model",handle:{crumb:()=>"model"},element:o(Y,{}),children:[o(l,{index:!0,element:o(m,{})}),o(l,{element:o(m,{}),children:o(l,{path:"dimensions",children:o(l,{path:":dimensionId",element:o(U,{}),loader:K})})}),o(l,{path:"embeddings",children:o(l,{path:":embeddingDimensionId",element:o(J,{}),loader:W,handle:{crumb:a=>a.embedding.name}})})]}),c(l,{path:"/projects",handle:{crumb:()=>"projects"},element:o(eo,{}),children:[o(l,{index:!0,element:o($,{})}),c(l,{path:":projectId",loader:H,handle:{crumb:a=>a.project.name},element:o(go,{}),children:[o(l,{index:!0,element:o(Q,{})}),c(l,{element:o(co,{}),children:[o(l,{path:"traces",element:o(X,{}),children:o(l,{path:":traceId",element:o(p,{})})}),o(l,{path:"spans",element:o(Z,{}),children:o(l,{path:":traceId",element:o(p,{})})}),o(l,{path:"sessions",element:o(ao,{}),children:o(l,{path:":sessionId",element:o(lo,{}),loader:oo})}),o(l,{path:"config",element:o(ro,{})})]})]})]}),c(l,{path:"/datasets",handle:{crumb:()=>"datasets"},children:[o(l,{index:!0,element:o(bo,{})}),c(l,{path:":datasetId",loader:u,handle:{crumb:a=>a.dataset.name},children:[c(l,{element:o(to,{}),loader:u,children:[o(l,{index:!0,element:o(y,{}),loader:f}),o(l,{path:"experiments",element:o(y,{}),loader:f}),o(l,{path:"examples",element:o(so,{}),loader:no,children:o(l,{path:":exampleId",element:o(io,{})})})]}),o(l,{path:"compare",handle:{crumb:()=>"compare"},loader:mo,element:o(po,{})})]})]}),c(l,{path:"/playground",handle:{crumb:()=>"Playground"},children:[o(l,{index:!0,element:o(uo,{})}),o(l,{path:"spans/:spanId",element:o(yo,{}),loader:fo,handle:{crumb:a=>a.span.__typename==="Span"?`span ${a.span.spanId}`:"span unknown"}})]}),c(l,{path:"/prompts",handle:{crumb:()=>"prompts"},children:[o(l,{index:!0,element:o(ho,{}),loader:vo}),c(l,{path:":promptId",loader:xo,shouldRevalidate:()=>!0,handle:{crumb:a=>a.prompt.__typename==="Prompt"?a.prompt.name:"unknown"},children:[c(l,{element:o(Co,{}),children:[o(l,{index:!0,element:o(zo,{})}),o(l,{path:"versions",loader:wo,element:o(So,{}),children:o(l,{path:":versionId",loader:Po,element:o(ko,{})})}),o(l,{path:"config",element:o(Lo,{}),loader:Fo})]}),o(l,{path:"playground",element:o(Ro,{}),loader:Eo,handle:{crumb:()=>"playground"}})]})]}),o(l,{path:"/apis",element:o(jo,{}),handle:{crumb:()=>"APIs"}}),o(l,{path:"/support",element:o(Io,{}),handle:{crumb:()=>"support"}}),c(l,{path:"/settings",element:o(Vo,{}),handle:{crumb:()=>"settings"},children:[o(l,{path:"general",loader:Ao,element:o(To,{}),handle:{crumb:()=>"general"}}),o(l,{path:"providers",loader:_o,element:o(Do,{}),handle:{crumb:()=>"providers"}}),o(l,{path:"annotations",loader:Oo,element:o(Go,{}),handle:{crumb:()=>"annotations"}}),o(l,{path:"data",element:o(Mo,{}),handle:{crumb:()=>"data retention"},loader:No})]})]})})]})),{basename:window.Config.basename});function pl(){return o(L,{router:ml})}function ul(){return o(Uo,{children:o(Yo,{children:o(fl,{})})})}function fl(){const{theme:a}=$o();return o(_,{theme:a,mountGlobalStyles:!1,children:c(E.RelayEnvironmentProvider,{environment:Ho,children:[o(dl,{}),o(ll,{children:o(Qo,{children:o(Wo,{children:o(t.Suspense,{children:o(Xo,{children:o(pl,{})})})})})})]})})}const yl=document.getElementById("root"),vl=R.createRoot(yl);vl.render(o(ul,{}));