arize-phoenix 8.2.1__py3-none-any.whl → 8.2.2__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: 8.2.1
3
+ Version: 8.2.2
4
4
  Summary: AI Observability and Evaluation
5
5
  Project-URL: Documentation, https://docs.arize.com/phoenix/
6
6
  Project-URL: Issues, https://github.com/Arize-ai/phoenix/issues
@@ -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=kpW1WL0kiB8XJsO6XycvZVJ-lBkNoenhQ7atCvBoSe8,5365
8
8
  phoenix/settings.py,sha256=ht-0oN-sMV6SPXrk7Tu1EZlngpAYkGNLYPhO8DyrdQI,661
9
- phoenix/version.py,sha256=lPYx_JLWGM0F2xAcHXVLkIwicje2ZtdqEBMpuaNCsEU,22
9
+ phoenix/version.py,sha256=qHoUgbIt6pjWzUYt9wXlO8qcrd9dEl09FyPsRTkJshI,22
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
@@ -277,7 +277,7 @@ phoenix/server/api/types/Retrieval.py,sha256=OhMK2ncjoyp5h1yjKhjlKpoTbQrMHuxmgSF
277
277
  phoenix/server/api/types/ScalarDriftMetricEnum.py,sha256=IUAcRPpgL41WdoIgK6cNk2Te38SspXGyEs-S1fY23_A,232
278
278
  phoenix/server/api/types/Segments.py,sha256=vT2v0efoa5cuBKxLtxTnsUP5YJJCZfTloM71Spu0tMI,2915
279
279
  phoenix/server/api/types/SortDir.py,sha256=OUpXhlCzCxPoXSDkJJygEs9Rw9pMymfaZUG5zPTrw4Y,152
280
- phoenix/server/api/types/Span.py,sha256=bUxpuaa1Z8OeyQtM38ARQOXdMEY9tTXUj8_PYDsevkQ,22924
280
+ phoenix/server/api/types/Span.py,sha256=0ofZR79IP2zGIW5Bt5kGxxaHqUl8HDWVwO3SwK8Ypos,23184
281
281
  phoenix/server/api/types/SpanAnnotation.py,sha256=6b5G-b_OoRvDL2ayWk7MkbqarLK-F-pQMx21CpUuNGY,1168
282
282
  phoenix/server/api/types/SpanIOValue.py,sha256=c5TWdZZN3v0gHI5xWeY7gjD-sE9ugWlGGAio-gDS-Uo,1653
283
283
  phoenix/server/api/types/SystemApiKey.py,sha256=2ym8EgsTBIvxx1l9xZ-2YMovz58ZwYb_MaHBTJ9NH2E,166
@@ -311,10 +311,10 @@ phoenix/server/static/apple-touch-icon-76x76.png,sha256=CT_xT12I0u2i0WU8JzBZBuOQ
311
311
  phoenix/server/static/apple-touch-icon.png,sha256=fOfpjqGpWYbJ0eAurKsyoZP1EAs6ZVooBJ_SGk2ZkDs,3801
312
312
  phoenix/server/static/favicon.ico,sha256=bY0vvCKRftemZfPShwZtE93DiiQdaYaozkPGwNFr6H8,34494
313
313
  phoenix/server/static/modernizr.js,sha256=mvK-XtkNqjOral-QvzoqsyOMECXIMu5BQwSVN_wcU9c,2564
314
- phoenix/server/static/.vite/manifest.json,sha256=Rzj6o1yyc-Qy1oYZb0WP_iVZT0VLCyDXMCt46xVfuJk,2165
315
- phoenix/server/static/assets/components-CgcYOKnv.js,sha256=od_AG-hxaKx6CkfBC9woMbecOCmAkP_GO17Opczzmzw,420437
316
- phoenix/server/static/assets/index-B_Nkd6Rh.js,sha256=nCJA58EZQJkBM2VR9RC-qmjEV759usmJ92NPZaE12CU,58963
317
- phoenix/server/static/assets/pages-Cz-JsoAE.js,sha256=2fvMc9Vq96tMLKqhfBvVHB0slIIDvUox956oFo1FebE,821649
314
+ phoenix/server/static/.vite/manifest.json,sha256=ALphee1UXe1OBBG-bgcQbpzJlvFnjRk4HNUnKyjUSMI,2165
315
+ phoenix/server/static/assets/components-MeFAEc1z.js,sha256=jjceqJQcldgy3VJbQGKbKIpxEeDwGswwDGEmKg24i9g,420461
316
+ phoenix/server/static/assets/index-BSRuZ-_J.js,sha256=-Aq4mHpppkyyieGZBkPHgfPf05Z0WV_ekbcpvaL1ik8,58963
317
+ phoenix/server/static/assets/pages-NrL4hb9q.js,sha256=h_YJmI-gG-Jvxgja5efhTM7zm-JQ4WQ1q0VSGwQGIRk,821649
318
318
  phoenix/server/static/assets/vendor-Cg6lcjUC.css,sha256=nZrkr0u6NNElFGvpWHk9GTHeGoibCXCli1bE7mXZGZg,1816
319
319
  phoenix/server/static/assets/vendor-Cqfydjep.js,sha256=3sepoB8zViIDMxKuc4lpMVfCmATxlvc9vCEPI2B2uVQ,2235092
320
320
  phoenix/server/static/assets/vendor-arizeai-WnerlUPN.js,sha256=MahCU9MTwcGSh9tsu-gsF-SWqCISSFIYq9ZnMoKLPkA,202331
@@ -361,9 +361,9 @@ phoenix/utilities/project.py,sha256=auVpARXkDb-JgeX5f2aStyFIkeKvGwN9l7qrFeJMVxI,
361
361
  phoenix/utilities/re.py,sha256=6YyUWIkv0zc2SigsxfOWIHzdpjKA_TZo2iqKq7zJKvw,2081
362
362
  phoenix/utilities/span_store.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
363
363
  phoenix/utilities/template_formatters.py,sha256=gh9PJD6WEGw7TEYXfSst1UR4pWWwmjxMLrDVQ_CkpkQ,2779
364
- arize_phoenix-8.2.1.dist-info/METADATA,sha256=hZF34kxfXlnDt9G597c8b1bjLJq3OFoZj4G0dbRBLGw,23425
365
- arize_phoenix-8.2.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
366
- arize_phoenix-8.2.1.dist-info/entry_points.txt,sha256=Pgpn8Upxx9P8z8joPXZWl2LlnAlGc3gcQoVchb06X1Q,94
367
- arize_phoenix-8.2.1.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
368
- arize_phoenix-8.2.1.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
369
- arize_phoenix-8.2.1.dist-info/RECORD,,
364
+ arize_phoenix-8.2.2.dist-info/METADATA,sha256=RgPi_NuwiGaxiImVhDIwzLlGA4iC0lKsymPrKRnipa0,23425
365
+ arize_phoenix-8.2.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
366
+ arize_phoenix-8.2.2.dist-info/entry_points.txt,sha256=Pgpn8Upxx9P8z8joPXZWl2LlnAlGc3gcQoVchb06X1Q,94
367
+ arize_phoenix-8.2.2.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
368
+ arize_phoenix-8.2.2.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
369
+ arize_phoenix-8.2.2.dist-info/RECORD,,
@@ -319,8 +319,11 @@ class Span(Node):
319
319
  info: Info[Context, None],
320
320
  ) -> Optional[SpanIOValue]:
321
321
  if self.db_span:
322
- mime_type = self.db_span.input_mime_type
323
322
  input_value = self.db_span.input_value
323
+ if input_value is None or input_value == "":
324
+ return None
325
+ input_value = str(input_value)
326
+ mime_type = self.db_span.input_mime_type
324
327
  return SpanIOValue(
325
328
  cached_value=input_value,
326
329
  mime_type=MimeType(mime_type),
@@ -348,8 +351,11 @@ class Span(Node):
348
351
  info: Info[Context, None],
349
352
  ) -> Optional[SpanIOValue]:
350
353
  if self.db_span:
351
- mime_type = self.db_span.output_mime_type
352
354
  output_value = self.db_span.output_value
355
+ if output_value is None or output_value == "":
356
+ return None
357
+ output_value = str(output_value)
358
+ mime_type = self.db_span.output_mime_type
353
359
  return SpanIOValue(
354
360
  cached_value=output_value,
355
361
  mime_type=MimeType(mime_type),
@@ -1,22 +1,22 @@
1
1
  {
2
- "_components-CgcYOKnv.js": {
3
- "file": "assets/components-CgcYOKnv.js",
2
+ "_components-MeFAEc1z.js": {
3
+ "file": "assets/components-MeFAEc1z.js",
4
4
  "name": "components",
5
5
  "imports": [
6
6
  "_vendor-Cqfydjep.js",
7
- "_pages-Cz-JsoAE.js",
7
+ "_pages-NrL4hb9q.js",
8
8
  "_vendor-arizeai-WnerlUPN.js",
9
9
  "_vendor-codemirror-D-ZZKLFq.js",
10
10
  "_vendor-three-C-AGeJYv.js"
11
11
  ]
12
12
  },
13
- "_pages-Cz-JsoAE.js": {
14
- "file": "assets/pages-Cz-JsoAE.js",
13
+ "_pages-NrL4hb9q.js": {
14
+ "file": "assets/pages-NrL4hb9q.js",
15
15
  "name": "pages",
16
16
  "imports": [
17
17
  "_vendor-Cqfydjep.js",
18
18
  "_vendor-arizeai-WnerlUPN.js",
19
- "_components-CgcYOKnv.js",
19
+ "_components-MeFAEc1z.js",
20
20
  "_vendor-codemirror-D-ZZKLFq.js",
21
21
  "_vendor-recharts-KY97ZPfK.js"
22
22
  ]
@@ -69,15 +69,15 @@
69
69
  "name": "vendor-three"
70
70
  },
71
71
  "index.tsx": {
72
- "file": "assets/index-B_Nkd6Rh.js",
72
+ "file": "assets/index-BSRuZ-_J.js",
73
73
  "name": "index",
74
74
  "src": "index.tsx",
75
75
  "isEntry": true,
76
76
  "imports": [
77
77
  "_vendor-Cqfydjep.js",
78
78
  "_vendor-arizeai-WnerlUPN.js",
79
- "_pages-Cz-JsoAE.js",
80
- "_components-CgcYOKnv.js",
79
+ "_pages-NrL4hb9q.js",
80
+ "_components-MeFAEc1z.js",
81
81
  "_vendor-three-C-AGeJYv.js",
82
82
  "_vendor-codemirror-D-ZZKLFq.js",
83
83
  "_vendor-shiki-D5K9GnFn.js",
@@ -1,4 +1,4 @@
1
- import{r as g,R as j,j as e,u as Ca,a as Me,e as a1,s as V1,b as D1,c as $e,d as Q1,f as gi,g as fe,h as hi,i as fi,k as q1,l,m as Ci,n as Te,C as o1,o as We,p as Qe,q as bi,t as vi,v as R,L as ba,w as va,x as ya,y as ce,z as v,A as g1,B as La,D as ln,E as p,F as wa,$ as yi,G as xa,H as ka,I as xe,J as Li,K as sn,M as wi,N as xi,O as q,P as X1,Q as O,S as K,T as N,U as Sa,V as Ma,W as ki,X as h1,Y as Ta,Z as Si,_ as Mi,a0 as Ti,a1 as Ii,a2 as Ai,a3 as zi,a4 as Ei,a5 as Vi,a6 as f1,a7 as Di,a8 as Pi,a9 as Oi,aa as _i,ab as ke,ac as Y1,ad as J1,ae as en,af as F,ag as Oe,ah as On,ai as Fi,aj as Ri,ak as Ni,al as Ia,am as Hi,an as _,ao as Aa,ap as Ki,aq as ze,ar as cn,as as $i,at as dn,au as Bi,av as Zi,aw as Gi,ax as ji,ay as Ui,az as Wi,aA as _n,aB as Qi,aC as qi,aD as Xi,aE as Fn,aF as Yi,aG as Ji,aH as er,aI as P1,aJ as nr,aK as ar,aL as tr,aM as ir,aN as rr,aO as or,aP as lr,aQ as sr,aR as cr,aS as dr}from"./vendor-Cqfydjep.js";import{a as Rn,R as ur,b as mr,c as pr,m as gr,T as hr,u as fr}from"./pages-Cz-JsoAE.js";import{u as Cr,_ as za,a as re,T as X,E as Ea,b as br,c as vr,d as Se,D as C1,e as ye,f as yr,g as _e,A as qe,C as b1,P as un,F as Lr,L as ve,h as Va,i as l1,j as v1,I as mn,k as pn,l as Da,m as wr,n as xr,o as Pa,p as kr,q as Sr,r as Mr,s as Oa,t as _a,v as Tr,w as Ir,x as Nn,y as Ar}from"./vendor-arizeai-WnerlUPN.js";import{L as Fa,a as Ra,j as Na,E as gn,k as Ha,d as Ka,l as nn,b as $a,h as zr,c as Er,e as Vr,f as Dr,g as Pr,i as Or,s as _r,m as Ba,n as Xe,R as Ye,p as Fr,o as Rr}from"./vendor-codemirror-D-ZZKLFq.js";import{V as Nr}from"./vendor-three-C-AGeJYv.js";const Za=function(){var n={defaultValue:null,kind:"LocalArgument",name:"clusters"},a={defaultValue:null,kind:"LocalArgument",name:"dataQualityMetricColumnName"},t={defaultValue:null,kind:"LocalArgument",name:"fetchDataQualityMetric"},i={defaultValue:null,kind:"LocalArgument",name:"fetchPerformanceMetric"},r={defaultValue:null,kind:"LocalArgument",name:"performanceMetric"},o=[{alias:null,args:null,kind:"ScalarField",name:"primaryValue",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"referenceValue",storageKey:null}],s=[{alias:null,args:[{kind:"Variable",name:"clusters",variableName:"clusters"}],concreteType:"Cluster",kind:"LinkedField",name:"clusters",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"eventIds",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"driftRatio",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"primaryToCorpusRatio",storageKey:null},{condition:"fetchDataQualityMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"columnName",variableName:"dataQualityMetricColumnName"},{kind:"Literal",name:"metric",value:"mean"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"dataQualityMetric",plural:!1,selections:o,storageKey:null}]},{condition:"fetchPerformanceMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"metric",variableName:"performanceMetric"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"performanceMetric",plural:!1,selections:o,storageKey:null}]}],storageKey:null}];return{fragment:{argumentDefinitions:[n,a,t,i,r],kind:"Fragment",metadata:null,name:"pointCloudStore_clusterMetricsQuery",selections:s,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[n,t,a,i,r],kind:"Operation",name:"pointCloudStore_clusterMetricsQuery",selections:s},params:{cacheID:"86666967012812887ac0a0149d2d2535",id:null,metadata:{},name:"pointCloudStore_clusterMetricsQuery",operationKind:"query",text:`query pointCloudStore_clusterMetricsQuery(
1
+ import{r as g,R as j,j as e,u as Ca,a as Me,e as a1,s as V1,b as D1,c as $e,d as Q1,f as gi,g as fe,h as hi,i as fi,k as q1,l,m as Ci,n as Te,C as o1,o as We,p as Qe,q as bi,t as vi,v as R,L as ba,w as va,x as ya,y as ce,z as v,A as g1,B as La,D as ln,E as p,F as wa,$ as yi,G as xa,H as ka,I as xe,J as Li,K as sn,M as wi,N as xi,O as q,P as X1,Q as O,S as K,T as N,U as Sa,V as Ma,W as ki,X as h1,Y as Ta,Z as Si,_ as Mi,a0 as Ti,a1 as Ii,a2 as Ai,a3 as zi,a4 as Ei,a5 as Vi,a6 as f1,a7 as Di,a8 as Pi,a9 as Oi,aa as _i,ab as ke,ac as Y1,ad as J1,ae as en,af as F,ag as Oe,ah as On,ai as Fi,aj as Ri,ak as Ni,al as Ia,am as Hi,an as _,ao as Aa,ap as Ki,aq as ze,ar as cn,as as $i,at as dn,au as Bi,av as Zi,aw as Gi,ax as ji,ay as Ui,az as Wi,aA as _n,aB as Qi,aC as qi,aD as Xi,aE as Fn,aF as Yi,aG as Ji,aH as er,aI as P1,aJ as nr,aK as ar,aL as tr,aM as ir,aN as rr,aO as or,aP as lr,aQ as sr,aR as cr,aS as dr}from"./vendor-Cqfydjep.js";import{a as Rn,R as ur,b as mr,c as pr,m as gr,T as hr,u as fr}from"./pages-NrL4hb9q.js";import{u as Cr,_ as za,a as re,T as X,E as Ea,b as br,c as vr,d as Se,D as C1,e as ye,f as yr,g as _e,A as qe,C as b1,P as un,F as Lr,L as ve,h as Va,i as l1,j as v1,I as mn,k as pn,l as Da,m as wr,n as xr,o as Pa,p as kr,q as Sr,r as Mr,s as Oa,t as _a,v as Tr,w as Ir,x as Nn,y as Ar}from"./vendor-arizeai-WnerlUPN.js";import{L as Fa,a as Ra,j as Na,E as gn,k as Ha,d as Ka,l as nn,b as $a,h as zr,c as Er,e as Vr,f as Dr,g as Pr,i as Or,s as _r,m as Ba,n as Xe,R as Ye,p as Fr,o as Rr}from"./vendor-codemirror-D-ZZKLFq.js";import{V as Nr}from"./vendor-three-C-AGeJYv.js";const Za=function(){var n={defaultValue:null,kind:"LocalArgument",name:"clusters"},a={defaultValue:null,kind:"LocalArgument",name:"dataQualityMetricColumnName"},t={defaultValue:null,kind:"LocalArgument",name:"fetchDataQualityMetric"},i={defaultValue:null,kind:"LocalArgument",name:"fetchPerformanceMetric"},r={defaultValue:null,kind:"LocalArgument",name:"performanceMetric"},o=[{alias:null,args:null,kind:"ScalarField",name:"primaryValue",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"referenceValue",storageKey:null}],s=[{alias:null,args:[{kind:"Variable",name:"clusters",variableName:"clusters"}],concreteType:"Cluster",kind:"LinkedField",name:"clusters",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"eventIds",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"driftRatio",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"primaryToCorpusRatio",storageKey:null},{condition:"fetchDataQualityMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"columnName",variableName:"dataQualityMetricColumnName"},{kind:"Literal",name:"metric",value:"mean"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"dataQualityMetric",plural:!1,selections:o,storageKey:null}]},{condition:"fetchPerformanceMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"metric",variableName:"performanceMetric"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"performanceMetric",plural:!1,selections:o,storageKey:null}]}],storageKey:null}];return{fragment:{argumentDefinitions:[n,a,t,i,r],kind:"Fragment",metadata:null,name:"pointCloudStore_clusterMetricsQuery",selections:s,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[n,t,a,i,r],kind:"Operation",name:"pointCloudStore_clusterMetricsQuery",selections:s},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
@@ -1721,6 +1721,7 @@ import{r as g,R as j,j as e,u as Ca,a as Me,e as a1,s as V1,b as D1,c as $e,d as
1721
1721
  flex-direction: column;
1722
1722
  width: 100%;
1723
1723
  overflow: auto;
1724
+ flex: none;
1724
1725
  `,"data-testid":"trace-tree",children:r.map(o=>e(Rt,{node:o,onSpanClick:t,selectedSpanNodeId:i},o.span.id))})]})})}function rs(){const n=Le(r=>r.showMetricsInTraceTree),a=Le(r=>r.setShowMetricsInTraceTree),{isCollapsed:t,setIsCollapsed:i}=Ft();return e(w,{borderBottomWidth:"thin",borderColor:"dark",padding:"size-100",children:l(k,{direction:"row",justifyContent:"end",flex:"none",gap:"size-100",children:[l(X,{offset:5,children:[e(ye,{children:e(P,{variant:"default",size:"S","aria-label":t?"Expand all":"Collapse all",onPress:()=>{i(!t)},leadingVisual:e(I,{svg:t?e(n2,{}):e(a2,{})})})}),e(re,{children:t?"Expand all nested spans":"Collapse all nested spans"})]}),l(X,{offset:5,children:[e(ye,{children:e(P,{size:"S","aria-label":n?"Hide metrics in trace tree":"Show metrics in trace tree",onPress:()=>{a(!n)},leadingVisual:e(I,{svg:n?e(r2,{}):e(o2,{})})})}),e(re,{children:n?"Hide metrics in trace tree":"Show metrics in trace tree"})]})]})})}const os=p`
1725
1726
  font-weight: 500;
1726
1727
  color: var(--ac-global-text-color-900);
@@ -1,4 +1,4 @@
1
- import{r as t,j as o,ba as z,l as c,O as w,R as P,E as b,ck as k,d$ as S,e0 as F,e1 as L,e2 as l,v as C,e3 as E}from"./vendor-Cqfydjep.js";import{d as R,J as T,D as I,V as _,W as A}from"./vendor-arizeai-WnerlUPN.js";import{L as D,r as j,d as O,e as G,F as N,f as V,P as M,h as W,M as m,g as U,D as q,i as B,E as J,j as $,k as K,p as H,l as p,n as Y,s as Q,S as X,o as Z,q as oo,t as lo,v as u,w as f,x as y,y as ao,z as ro,A as co,B as go,C as eo,G as bo,H as no,I as io,J as so,K as to,N as mo,O as po,Q as uo,U as fo,V as yo,W as vo,X as ho,Y as xo,Z as zo,_ as wo,$ as Po,a0 as ko,a1 as So,a2 as Fo,a3 as Lo,a4 as Co,a5 as Eo,a6 as Ro,a7 as To,a8 as Io,a9 as _o}from"./pages-Cz-JsoAE.js";import{W as Ao,dB as Do,b9 as jo,U as Oo,dC as Go,dD as No}from"./components-CgcYOKnv.js";import"./vendor-three-C-AGeJYv.js";import"./vendor-codemirror-D-ZZKLFq.js";import"./vendor-shiki-D5K9GnFn.js";import"./vendor-recharts-KY97ZPfK.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 Vo(){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 Mo(){const a=P.useContext(h);if(a===null)throw new Error("useFeatureFlags must be used within a FeatureFlagsProvider");return a}function Wo(a){const[e,i]=t.useState(Vo()),s=r=>{localStorage.setItem(v,JSON.stringify(r)),i(r)};return o(h.Provider,{value:{featureFlags:e,setFeatureFlags:s},children:o(Uo,{children:a.children})})}function Uo(a){const{children:e}=a,{featureFlags:i,setFeatureFlags:s}=Mo(),[r,g]=t.useState(!1);return z("ctrl+shift+f",()=>g(!0)),c(w,{children:[e,o(I,{type:"modal",isDismissable:!0,onDismiss:()=>g(!1),children:r&&o(R,{title:"Feature Flags",children:o(Ao,{height:"size-1000",padding:"size-100",children:Object.keys(i).map(n=>o(T,{isSelected:i[n],onChange:x=>s({...i,[n]:x}),children:n},n))})})})]})}const qo=b`
1
+ import{r as t,j as o,ba as z,l as c,O as w,R as P,E as b,ck as k,d$ as S,e0 as F,e1 as L,e2 as l,v as C,e3 as E}from"./vendor-Cqfydjep.js";import{d as R,J as T,D as I,V as _,W as A}from"./vendor-arizeai-WnerlUPN.js";import{L as D,r as j,d as O,e as G,F as N,f as V,P as M,h as W,M as m,g as U,D as q,i as B,E as J,j as $,k as K,p as H,l as p,n as Y,s as Q,S as X,o as Z,q as oo,t as lo,v as u,w as f,x as y,y as ao,z as ro,A as co,B as go,C as eo,G as bo,H as no,I as io,J as so,K as to,N as mo,O as po,Q as uo,U as fo,V as yo,W as vo,X as ho,Y as xo,Z as zo,_ as wo,$ as Po,a0 as ko,a1 as So,a2 as Fo,a3 as Lo,a4 as Co,a5 as Eo,a6 as Ro,a7 as To,a8 as Io,a9 as _o}from"./pages-NrL4hb9q.js";import{W as Ao,dB as Do,b9 as jo,U as Oo,dC as Go,dD as No}from"./components-MeFAEc1z.js";import"./vendor-three-C-AGeJYv.js";import"./vendor-codemirror-D-ZZKLFq.js";import"./vendor-shiki-D5K9GnFn.js";import"./vendor-recharts-KY97ZPfK.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 Vo(){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 Mo(){const a=P.useContext(h);if(a===null)throw new Error("useFeatureFlags must be used within a FeatureFlagsProvider");return a}function Wo(a){const[e,i]=t.useState(Vo()),s=r=>{localStorage.setItem(v,JSON.stringify(r)),i(r)};return o(h.Provider,{value:{featureFlags:e,setFeatureFlags:s},children:o(Uo,{children:a.children})})}function Uo(a){const{children:e}=a,{featureFlags:i,setFeatureFlags:s}=Mo(),[r,g]=t.useState(!1);return z("ctrl+shift+f",()=>g(!0)),c(w,{children:[e,o(I,{type:"modal",isDismissable:!0,onDismiss:()=>g(!1),children:r&&o(R,{title:"Feature Flags",children:o(Ao,{height:"size-1000",padding:"size-100",children:Object.keys(i).map(n=>o(T,{isSelected:i[n],onChange:x=>s({...i,[n]:x}),children:n},n))})})})]})}const qo=b`
2
2
  :root {
3
3
  --ac-global-dimension-scale-factor: 1;
4
4
  --ac-global-dimension-size-0: 0px;
@@ -1,4 +1,4 @@
1
- import{z as L,aT as pe,aU as Ne,aV as ze,aW as ol,A as ul,r as m,j as e,R as Ie,u as Wa,E as T,l as s,aX as Oe,al as se,O as H,v as x,aY as _u,ab as Ae,a7 as ot,ag as Xe,af as G,Q as W,ar as ca,a8 as dt,aZ as cn,a_ as Lu,am as wu,a$ as Eu,H as li,S as ae,T as Fe,b0 as Ui,aw as xe,az as De,aA as Z,b1 as Le,b2 as Tn,b3 as Pn,b4 as hn,o as Bi,I as Vu,b5 as Mu,b6 as jl,b7 as ql,b8 as Ma,b9 as an,n as Ja,ba as Ru,an as de,aF as Hi,bb as Au,bc as ti,bd as Nu,be as zu,bf as $u,bg as Ou,bh as Qu,bi as ju,bj as qu,bk as Uu,bl as Bu,bm as Ue,bn as Ua,D as Hu,bo as Gu,bp as tl,ax as kn,g as Gi,bq as Wu,aq as ct,br as Wi,bs as Ji,bt as Ju,ah as Zu,ac as ut,bu as Xu,ad as Yu,ae as em,bv as nm,p as am}from"./vendor-Cqfydjep.js";import{z as ml,B as pl,C as O,L as va,d as X,w as He,x as ne,G as un,D as Y,A as ye,H as mt,q as gl,P as ua,e as qe,f as ma,T as fe,E as yl,a as Ve,s as Un,t as Ia,y as pt,c as Bn,J as xa,p as lm,g as gt,v as fl,K as tm,n as hl,h as Hn,M as im,N as rm,O as sm,Q as yt,R as ft,j as ii,S as om,l as dm,I as cm,k as ri,i as um,u as mm,U as pm}from"./vendor-arizeai-WnerlUPN.js";import{s as gm,l as ym,j as ht,a as we,i as kt,b as Zi,c as fm,d as On,e as In,f as Xi,D as Yi,g as $n,h as ja,k as hm,m as ke,T as We,n as km,o as bt,p as si,q as bm,r as oi,t as Sm,u as vm,v as Cm,N as Fm,w as Km,L as Ce,x as Te,y as Za,B as Tm,_ as h,z as vn,I as _,C as Pm,G as er,A as St,P as pa,M as nr,E as kl,S as ar,F as Im,H as xm,J as Dm,K as _m,O as Lm,Q as wm,R as Em,U as be,V as v,W as C,X as ce,Y as at,Z as ue,$ as me,a0 as Je,a1 as Vm,a2 as Mm,a3 as Rm,a4 as Ye,a5 as Se,a6 as Pe,a7 as M,a8 as te,a9 as J,aa as Am,ab as Nm,ac as zm,ad as $m,ae as bl,af as Sl,ag as lr,ah as Om,ai as Qm,aj as jm,ak as re,al as vl,am as qm,an as tr,ao as ir,ap as vt,aq as Qe,ar as Um,as as Ct,at as Bm,au as Hm,av as Gm,aw as Fn,ax as je,ay as ln,az as rr,aA as Cl,aB as Me,aC as Gn,aD as Ke,aE as Re,aF as Da,aG as wn,aH as xn,aI as Fl,aJ as Wn,aK as Kl,aL as sr,aM as en,aN as or,aO as Wm,aP as Ft,aQ as ia,aR as An,aS as Jm,aT as Zm,aU as dr,aV as cr,aW as Tl,aX as gn,aY as Jn,aZ as tn,a_ as rn,a$ as Xm,b0 as Ym,b1 as Ba,b2 as ep,b3 as Ca,b4 as Ge,b5 as Kt,b6 as np,b7 as ap,b8 as Pl,b9 as En,ba as lp,bb as tp,bc as Tt,bd as nn,be as yn,bf as _a,bg as Pt,bh as ur,bi as ip,bj as mr,bk as rp,bl as It,bm as Xa,bn as pr,bo as gr,bp as yr,bq as Be,br as fr,bs as bn,bt as lt,bu as sp,bv as xt,bw as Dt,bx as _t,by as op,bz as dp,bA as cp,bB as up,bC as qa,bD as hr,bE as mp,bF as kr,bG as sn,bH as pp,bI as gp,bJ as yp,bK as fp,bL as hp,bM as kp,bN as bp,bO as Lt,bP as Sp,bQ as vp,bR as br,bS as Sr,bT as di,bU as Sn,bV as Vn,bW as wt,bX as vr,bY as Cr,bZ as ci,b_ as ui,b$ as Cp,c0 as Fp,c1 as B,c2 as Fr,c3 as Et,c4 as Il,c5 as La,c6 as Kr,c7 as wa,c8 as Ea,c9 as Tr,ca as Mn,cb as $e,cc as xl,cd as Zn,ce as Kp,cf as Tp,cg as Pp,ch as Ip,ci as xp,cj as on,ck as dn,cl as Dp,cm as _p,cn as Pr,co as Lp,cp as wp,cq as mi,cr as Ep,cs as Vp,ct as Mp,cu as Rp,cv as Ap,cw as Np,cx as Ir,cy as zp,cz as $p,cA as Op,cB as Qp,cC as jp,cD as oa,cE as Vt,cF as xr,cG as Sa,cH as tt,cI as Dl,cJ as Dr,cK as _r,cL as Ul,cM as qp,cN as Up,cO as Mt,cP as _l,cQ as mn,cR as Bp,cS as Lr,cT as wr,cU as Er,cV as Hp,cW as Gp,cX as Vr,cY as Qn,cZ as Wp,c_ as pi,c$ as Mr,d0 as Jp,d1 as Zp,d2 as Xp,d3 as Yp,d4 as eg,d5 as Rr,d6 as ng,d7 as Fa,d8 as it,d9 as ag,da as Ar,db as lg,dc as tg,dd as ig,de as Ll,df as Nr,dg as gi,dh as rg,di as sg,dj as Rt,dk as zr,dl as $r,dm as og,dn as rt,dp as dg,dq as cg,dr as il,ds as ug,dt as mg,du as Or,dv as Qr,dw as pg,dx as gg,dy as yg,dz as yi,dA as fi}from"./components-CgcYOKnv.js";import{n as Xn,j as fg,E as jr,R as Yn,k as At,d as hg,m as kg,p as Ya,q as qr}from"./vendor-codemirror-D-ZZKLFq.js";import{R as ea,C as el,X as na,Y as fn,a as aa,T as la,B as Ta,A as Ha,b as Ur,c as Nt,L as Br,d as bg,P as Sg,e as vg,f as Cg}from"./vendor-recharts-KY97ZPfK.js";const Fg=4,Kg={user:["user","human"],ai:["assistant","bot","ai"],system:["system"],tool:["tool"]},Tg="Unable to parse span input messages, expected messages which include a role and content.",Pg="Unable to parse span output messages, expected messages which include a role and content.",Ig="Unable to parse span output expected output.value to be present.",xg="Unable to parse span attributes, attributes must be valid JSON.",Dg="Unable to parse model config, expected llm.model_name to be present.",_g="Unable to parse model config, expected llm.invocation_parameters JSON string to be present.",Lg="Unable to parse invocation parameters response_format, expected llm.invocation_parameters.response_format to be a well formed json object or undefined.",wg="Unable to parse tools, expected tools to be an array of valid tools.",Eg="Unable to parse prompt template variables, expected prompt template variables to be a valid JSON object string.",hi={AZURE_OPENAI:[],ANTHROPIC:["claude"],OPENAI:["gpt","o1"],GOOGLE:["gemini"]},ra="TOOL_CHOICE",Ka="tool_choice",Dn="RESPONSE_FORMAT",Kn="response_format",Vg=[ra,Dn],Mg=L.object({tool_call:L.object({id:L.string().optional(),function:L.object({name:L.string(),arguments:L.string()}).partial()}).partial()}).partial(),Hr=L.object({[pe.message]:L.object({[Ne.role]:L.string(),[Ne.content]:L.union([L.string(),L.array(L.record(L.string(),L.unknown()))]).default(""),[Ne.tool_calls]:L.array(Mg).optional(),[Ne.tool_call_id]:L.string().optional()})}),Rg=L.object({[pe.llm]:L.object({[ze.input_messages]:L.array(Hr)})}),Ag=L.object({[pe.llm]:L.object({[ze.output_messages]:L.array(Hr)})}),Ng=L.object({[pe.output]:L.object({value:L.string()})}),Gr=gm()(L.enum(["user","ai","system","tool"])),zg=L.object({id:L.number(),role:Gr,content:L.string().optional(),toolCallId:L.string().optional(),toolCalls:L.array(ym).optional()}),$g=L.array(zg),zt=L.lazy(()=>L.record(ht)),Og=zt,Wr=L.string().transform((n,a)=>{const{json:l}=we(n);if(!kt(l))return a.addIssue({code:L.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),L.NEVER;const{success:t,data:i}=Og.safeParse(l);return t?i:(a.addIssue({code:L.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),L.NEVER)}).default("{}"),Qg=L.object({[pe.llm]:L.object({[ze.provider]:L.string().optional(),[ze.model_name]:L.string()})}),Jr=L.object({[pe.llm]:L.object({[ze.invocation_parameters]:Wr})}),jg=L.object({[pe.llm]:L.object({[ze.invocation_parameters]:Wr.pipe(L.object({response_format:zt.optional()}))})}),qg=L.object({url:L.object({full:L.string(),path:L.string().optional()})}),Ug=L.string().transform((n,a)=>{const{json:l}=we(n);return l==null||!kt(l)?(a.addIssue({code:L.ZodIssueCode.custom,message:"The tool JSON schema must be a valid JSON object"}),L.NEVER):l}).transform((n,a)=>{const{data:l,success:t}=Zi.safeParse(n);return t?l:(a.addIssue({code:L.ZodIssueCode.custom,message:"The tool JSON schema must be a valid tool schema"}),L.NEVER)}),Bg=L.object({[pe.llm]:L.object({[ze.tools]:L.array(L.object({[pe.tool]:L.object({[ol.json_schema]:Ug})}).optional()).optional()}).optional()}).optional(),Hg=L.lazy(()=>L.object({type:L.literal("json_schema"),json_schema:L.object({name:L.string().describe("The name of the schema"),schema:fm.describe("The schema itself in JSON schema format"),strict:L.literal(!0).describe("The schema must be strict")})})),Gg=ul(Hg,{removeAdditionalStrategy:"passthrough"}),Wg=L.string().transform((n,a)=>{const{json:l}=we(n);return On(l)?Object.entries(l).reduce((i,[r,o])=>{if(typeof o=="string")i[r]=o;else{const{json:d}=In(o);d!=null&&(i[r]=d)}return i},{}):(a.addIssue({code:L.ZodIssueCode.custom,message:"The prompt template variables must be a valid JSON object"}),L.NEVER)}),Jg=L.object({[pe.llm]:L.object({[ze.prompt_template]:L.object({variables:Wg}).optional()}).optional()}).optional();function Zr(n){return Gr.safeParse(n).success}function Nn(n){const a=n.toLowerCase();if(Zr(a))return a;for(const[l,t]of Object.entries(Kg))if(t.includes(a))return l;return hm}function Zg({toolCalls:n,provider:a}){if(n!=null)return n.map(({tool_call:l})=>{var i,r,o,d;if(l==null)return null;let t={};if(((i=l.function)==null?void 0:i.arguments)!=null){const{json:c}=we(l.function.arguments);On(c)&&(t=c)}switch(a){case"OPENAI":case"AZURE_OPENAI":return{id:l.id??"",type:"function",function:{name:((r=l.function)==null?void 0:r.name)??"",arguments:t}};case"ANTHROPIC":return{id:l.id??"",type:"tool_use",name:((o=l.function)==null?void 0:o.name)??"",input:t};case"GOOGLE":return{id:l.id??"",function:{name:((d=l.function)==null?void 0:d.name)??"",arguments:t}};default:ke()}}).filter(l=>l!=null)}function Xr({messages:n,provider:a}){return n.map(({message:l})=>({id:$n(),role:l.tool_call_id!=null?Nn("tool"):Nn(l.role),content:typeof l.content=="string"?l.content:void 0,toolCalls:Zg({provider:a,toolCalls:l.tool_calls}),toolCallId:l.tool_call_id}))}function Xg({provider:n,parsedAttributes:a}){var t;const l=Rg.safeParse(a);if(!l.success)return{messageParsingErrors:[Tg],messages:null};if(n==="ANTHROPIC"){const{success:i,data:r}=Jr.safeParse(a);if(i){const o=l.data.llm.input_messages,d=(t=r.llm.invocation_parameters)==null?void 0:t.system;typeof d=="string"&&d&&(!o||o[0].message.role!=="system")&&l.data.llm.input_messages.unshift({message:{role:"system",content:d}})}}return{messageParsingErrors:[],messages:Xr({provider:n,messages:l.data.llm.input_messages})}}function Yg({provider:n,parsedAttributes:a}){const l=[],t=Ag.safeParse(a);if(t.success)return{output:Xr({provider:n,messages:t.data.llm.output_messages}),outputParsingErrors:l};l.push(Pg);const i=Ng.safeParse(a);return i.success?{output:i.data.output.value,outputParsingErrors:l}:(l.push(Ig),{output:void 0,outputParsingErrors:l})}function Yr(n){if(n==null)return null;switch(n.toLowerCase()){case"openai":return"OPENAI";case"anthropic":return"ANTHROPIC";case"google":return"GOOGLE";case"azure":return"AZURE_OPENAI";default:return null}}function ey(n){for(const a of Object.keys(hi))if(hi[a].some(t=>n.includes(t)))return a;return Yi}function ny(n){const{success:a,data:l}=Qg.safeParse(n);if(a){const t=Yr(l.llm.provider)||ey(l.llm.model_name),i=ay(n);return{modelConfig:{...Object.fromEntries(Object.entries(i).filter(([r,o])=>o!==null)),modelName:l.llm.model_name,provider:t,invocationParameters:[],supportedInvocationParameters:[]},parsingErrors:[]}}return{modelConfig:null,parsingErrors:[Dg]}}function ay(n){const{success:a,data:l}=qg.safeParse(n);if(a)try{const t=new URL(l.url.full);let i=t;if(l.url.path)try{i=new URL(l.url.full.split(l.url.path)[0])}catch{}return{baseUrl:`${i.origin}${i.pathname}`,endpoint:t.origin,apiVersion:t.searchParams.get("api-version")||null}}catch{}return{baseUrl:null,apiVersion:null,endpoint:null}}function ly(n,a=[]){const{success:l,data:t}=Jr.safeParse(n),i=[];return l||i.push(_g),{invocationParameters:my((t==null?void 0:t.llm.invocation_parameters)??{},a),parsingErrors:i}}function ty(n){const{success:a,data:l}=jg.safeParse(n);return a?{responseFormat:l.llm.invocation_parameters.response_format,parsingErrors:[]}:{responseFormat:void 0,parsingErrors:[Lg]}}function iy(n){var a;return(((a=n==null?void 0:n.llm)==null?void 0:a.tools)??[]).map(l=>(l==null?void 0:l.tool)==null?null:{id:ja(),definition:l.tool.json_schema}).filter(l=>l!=null)}function ry(n){var t;const{data:a,success:l}=Bg.safeParse(n);return l?((t=a==null?void 0:a.llm)==null?void 0:t.tools)==null?{tools:null,parsingErrors:[]}:{tools:iy(a),parsingErrors:[]}:{tools:null,parsingErrors:[wg]}}function sy(n){var t;const{success:a,data:l}=Jg.safeParse(n);return a?((t=l==null?void 0:l.llm)==null?void 0:t.prompt_template)==null?{variables:null,parsingErrors:[]}:{variables:l.llm.prompt_template.variables,parsingErrors:[]}:{variables:null,parsingErrors:[Eg]}}function oy(n){const{instance:a,instanceMessages:l}=Xi(),t={...a,template:{__type:"chat",messages:Object.values(l)}},{json:i,parseError:r}=we(n.attributes);if(r)return{playgroundInstance:{...t,spanId:(n==null?void 0:n.id)??null},parsingErrors:[xg]};const o=n.invocationParameters,d=ny(i);let{modelConfig:c}=d;const{parsingErrors:p}=d,{messages:y,messageParsingErrors:u}=Xg({provider:(c==null?void 0:c.provider)??t.model.provider,parsedAttributes:i}),{output:g,outputParsingErrors:f}=Yg({provider:(c==null?void 0:c.provider)??t.model.provider,parsedAttributes:i}),{invocationParameters:k,parsingErrors:b}=ly(i,o),{variables:S,parsingErrors:F}=sy(i),{parsingErrors:P}=ty(i);c=c!=null?{...c,invocationParameters:P.length>0?k.filter(K=>K.invocationName!==Kn&&K.canonicalName!==Dn):k}:null;const{tools:D,parsingErrors:w}=ry(i);return{playgroundInstance:{...t,model:c??t.model,template:y!=null?{__type:"chat",messages:y}:t.template,output:g,spanId:n.id,tools:D??t.tools},playgroundInput:S!=null?{variablesValueCache:S}:void 0,parsingErrors:[...u,...f,...p,...w,...b,...P,...F]}}const dy=n=>$g.safeParse(n).success,es=({instance:n,templateFormat:a})=>{if(a==We.NONE)return[];const l=new Set,t=n.template.__type,i=km(a);switch(t){case"chat":{n.template.messages.forEach(r=>{(r.content==null?[]:i.extractVariables(r.content)).forEach(d=>{l.add(d)})});break}case"text_completion":{i.extractVariables(n.template.prompt).forEach(o=>{l.add(o)});break}default:ke()}return Array.from(l)},cy=({instances:n,templateFormat:a})=>a==We.NONE?[]:Array.from(new Set(n.flatMap(l=>es({instance:l,templateFormat:a})))),ns=({instances:n,templateFormat:a,input:l})=>{if(a==We.NONE)return{variablesMap:{},variableKeys:[]};const t=cy({instances:n,templateFormat:a}),i=l.variablesValueCache??{};return{variablesMap:t.reduce((o,d)=>(o[d]=i[d]||"",o),{}),variableKeys:t}};function jn(n,a){return n.invocationName===a.invocationName||n.canonicalName!=null&&a.canonicalName!=null&&n.canonicalName===a.canonicalName}const uy=(n,a)=>n.filter(l=>a.some(t=>jn(t,l))).map(l=>{var t;return{...l,invocationName:((t=a.find(i=>jn(i,l)))==null?void 0:t.invocationName)??l.invocationName}}),Va=n=>n.replace(/_([a-z])/g,(a,l)=>l.toUpperCase()),my=(n,a)=>Object.entries(n).map(([l,t])=>{const i=a.find(r=>r.canonicalName&&r.canonicalName.toLowerCase()===l.toLowerCase()||r.invocationName&&r.invocationName.toLowerCase()===l.toLowerCase());return i==null||i.invocationInputField==null||i.invocationName==null?null:{canonicalName:i.canonicalName,invocationName:i.invocationName,[Va(i.invocationInputField)]:t}}).filter(l=>l!=null),as=n=>{const{provider:a,validatedToolDefinition:l}=vm(n.definition);switch(a){case"OPENAI":case"AZURE_OPENAI":return l.function.name;case"ANTHROPIC":return l.name;case"UNKNOWN":return null;default:ke()}},py=({provider:n,toolNumber:a})=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return{id:ja(),definition:oi(a)};case"ANTHROPIC":return{id:ja(),definition:Sm(a)};case"GOOGLE":return{id:ja(),definition:oi(a)};default:ke()}},gy=n=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return si();case"ANTHROPIC":return bm();case"GOOGLE":return si();default:ke()}};function yy(n){return{content:n.content,role:fy(n.role),toolCalls:n.toolCalls,toolCallId:n.toolCallId}}function fy(n){switch(n){case"system":return"SYSTEM";case"user":return"USER";case"tool":return"TOOL";case"ai":return"AI";default:ke()}}const ls=({playgroundStore:n,instanceId:a,credentials:l})=>{var u;const{instances:t,allInstanceMessages:i}=n.getState(),r=t.find(g=>g.id===a);if(!r)throw new Error(`No instance found for id ${a}`);if(r.template.__type!=="chat")throw new Error("We only support chat templates for now");const o=r.template.messageIds.map(g=>i[g]).filter(g=>g!=null),d=r.model.supportedInvocationParameters;let c=[...r.model.invocationParameters];const p=bt({toolChoice:r.toolChoice,targetProvider:r.model.provider});r.tools.length>0?(c=c.filter(g=>g.invocationName!==Ka&&g.canonicalName!==ra),c.push({canonicalName:ra,invocationName:Ka,valueJson:p})):c=c.filter(g=>g.invocationName!==Ka&&g.canonicalName!==ra),c=d.length?uy(c,d):c;const y=r.model.provider==="AZURE_OPENAI"?{endpoint:r.model.endpoint,apiVersion:r.model.apiVersion}:{};return{messages:o.map(yy),model:{providerKey:r.model.provider,name:r.model.modelName||"",baseUrl:r.model.baseUrl,...y},invocationParameters:c,tools:r.tools.length?r.tools.map(g=>g.definition):void 0,apiKey:l[r.model.provider]||null,promptName:(u=r.prompt)==null?void 0:u.name}},wl=(n,a)=>{if(n.template.__type==="chat"){const{messageIds:l,...t}=n.template;return{...n,template:{...t,messages:n.template.messageIds.map(i=>a[i])}}}return n},hy=({playgroundStore:n,instanceId:a,credentials:l})=>{const t=ls({playgroundStore:n,instanceId:a,credentials:l}),{instances:i,templateFormat:r,input:o,allInstanceMessages:d}=n.getState(),c=i.map(y=>wl(y,d)),{variablesMap:p}=ns({instances:c,input:o,templateFormat:r});return{...t,template:{variables:p,format:r}}},ki=({playgroundStore:n,instanceId:a,credentials:l,datasetId:t})=>({...ls({playgroundStore:n,instanceId:a,credentials:l}),templateFormat:n.getState().templateFormat,datasetId:t});function El(n){if(n===""||typeof n>"u")return"{}";if(typeof n=="string"){const a=n.startsWith('"{')||n.startsWith('"[')||n.startsWith('"\\"');try{if(a){const t=JSON.parse(n),i=typeof t=="string"?JSON.parse(t):t;return JSON.stringify(i,null,2)}}catch{}if(/^\s*[0-9{[]|true|false|null/.test(n))return n}return JSON.stringify(n,null,2)}function ts(n,a){return a.filter(l=>l.required).every(l=>n.some(t=>jn(t,l)))}const ky=n=>{for(const[a,l]of Object.entries(n))if(a.endsWith("DefaultValue")&&l!=null)return n[a]};function Cv(n,a){const l=new Map(n.map(t=>[t.invocationName,t]));return a.forEach(t=>{var c;const i=t.invocationName,r=ky(t),o=Va(t.invocationInputField||"");if(!t.invocationName||!t.invocationInputField||!i||r==null||((c=l.get(i))==null?void 0:c[o])!=null)return;const d={canonicalName:t.canonicalName,invocationName:t.invocationName,[o]:r};l.set(i,d)}),Array.from(l.values())}const is=m.createContext(null);function Fv({children:n,...a}){const[l]=m.useState(()=>Cm(a));return e(is.Provider,{value:l,children:n})}function Pa(n,a){const l=Ie.useContext(is);if(!l)throw new Error("Missing CredentialsContext.Provider in the tree");return Wa(l,n,a)}const rs=m.createContext(null);function by(){const n=m.useContext(rs);if(n===null)throw new Error("useFunctionality must be used within a FunctionalityProvider");return n}function Kv(n){return e(rs.Provider,{value:{authenticationEnabled:window.Config.authenticationEnabled},children:n.children})}const Sy=T`
1
+ import{z as L,aT as pe,aU as Ne,aV as ze,aW as ol,A as ul,r as m,j as e,R as Ie,u as Wa,E as T,l as s,aX as Oe,al as se,O as H,v as x,aY as _u,ab as Ae,a7 as ot,ag as Xe,af as G,Q as W,ar as ca,a8 as dt,aZ as cn,a_ as Lu,am as wu,a$ as Eu,H as li,S as ae,T as Fe,b0 as Ui,aw as xe,az as De,aA as Z,b1 as Le,b2 as Tn,b3 as Pn,b4 as hn,o as Bi,I as Vu,b5 as Mu,b6 as jl,b7 as ql,b8 as Ma,b9 as an,n as Ja,ba as Ru,an as de,aF as Hi,bb as Au,bc as ti,bd as Nu,be as zu,bf as $u,bg as Ou,bh as Qu,bi as ju,bj as qu,bk as Uu,bl as Bu,bm as Ue,bn as Ua,D as Hu,bo as Gu,bp as tl,ax as kn,g as Gi,bq as Wu,aq as ct,br as Wi,bs as Ji,bt as Ju,ah as Zu,ac as ut,bu as Xu,ad as Yu,ae as em,bv as nm,p as am}from"./vendor-Cqfydjep.js";import{z as ml,B as pl,C as O,L as va,d as X,w as He,x as ne,G as un,D as Y,A as ye,H as mt,q as gl,P as ua,e as qe,f as ma,T as fe,E as yl,a as Ve,s as Un,t as Ia,y as pt,c as Bn,J as xa,p as lm,g as gt,v as fl,K as tm,n as hl,h as Hn,M as im,N as rm,O as sm,Q as yt,R as ft,j as ii,S as om,l as dm,I as cm,k as ri,i as um,u as mm,U as pm}from"./vendor-arizeai-WnerlUPN.js";import{s as gm,l as ym,j as ht,a as we,i as kt,b as Zi,c as fm,d as On,e as In,f as Xi,D as Yi,g as $n,h as ja,k as hm,m as ke,T as We,n as km,o as bt,p as si,q as bm,r as oi,t as Sm,u as vm,v as Cm,N as Fm,w as Km,L as Ce,x as Te,y as Za,B as Tm,_ as h,z as vn,I as _,C as Pm,G as er,A as St,P as pa,M as nr,E as kl,S as ar,F as Im,H as xm,J as Dm,K as _m,O as Lm,Q as wm,R as Em,U as be,V as v,W as C,X as ce,Y as at,Z as ue,$ as me,a0 as Je,a1 as Vm,a2 as Mm,a3 as Rm,a4 as Ye,a5 as Se,a6 as Pe,a7 as M,a8 as te,a9 as J,aa as Am,ab as Nm,ac as zm,ad as $m,ae as bl,af as Sl,ag as lr,ah as Om,ai as Qm,aj as jm,ak as re,al as vl,am as qm,an as tr,ao as ir,ap as vt,aq as Qe,ar as Um,as as Ct,at as Bm,au as Hm,av as Gm,aw as Fn,ax as je,ay as ln,az as rr,aA as Cl,aB as Me,aC as Gn,aD as Ke,aE as Re,aF as Da,aG as wn,aH as xn,aI as Fl,aJ as Wn,aK as Kl,aL as sr,aM as en,aN as or,aO as Wm,aP as Ft,aQ as ia,aR as An,aS as Jm,aT as Zm,aU as dr,aV as cr,aW as Tl,aX as gn,aY as Jn,aZ as tn,a_ as rn,a$ as Xm,b0 as Ym,b1 as Ba,b2 as ep,b3 as Ca,b4 as Ge,b5 as Kt,b6 as np,b7 as ap,b8 as Pl,b9 as En,ba as lp,bb as tp,bc as Tt,bd as nn,be as yn,bf as _a,bg as Pt,bh as ur,bi as ip,bj as mr,bk as rp,bl as It,bm as Xa,bn as pr,bo as gr,bp as yr,bq as Be,br as fr,bs as bn,bt as lt,bu as sp,bv as xt,bw as Dt,bx as _t,by as op,bz as dp,bA as cp,bB as up,bC as qa,bD as hr,bE as mp,bF as kr,bG as sn,bH as pp,bI as gp,bJ as yp,bK as fp,bL as hp,bM as kp,bN as bp,bO as Lt,bP as Sp,bQ as vp,bR as br,bS as Sr,bT as di,bU as Sn,bV as Vn,bW as wt,bX as vr,bY as Cr,bZ as ci,b_ as ui,b$ as Cp,c0 as Fp,c1 as B,c2 as Fr,c3 as Et,c4 as Il,c5 as La,c6 as Kr,c7 as wa,c8 as Ea,c9 as Tr,ca as Mn,cb as $e,cc as xl,cd as Zn,ce as Kp,cf as Tp,cg as Pp,ch as Ip,ci as xp,cj as on,ck as dn,cl as Dp,cm as _p,cn as Pr,co as Lp,cp as wp,cq as mi,cr as Ep,cs as Vp,ct as Mp,cu as Rp,cv as Ap,cw as Np,cx as Ir,cy as zp,cz as $p,cA as Op,cB as Qp,cC as jp,cD as oa,cE as Vt,cF as xr,cG as Sa,cH as tt,cI as Dl,cJ as Dr,cK as _r,cL as Ul,cM as qp,cN as Up,cO as Mt,cP as _l,cQ as mn,cR as Bp,cS as Lr,cT as wr,cU as Er,cV as Hp,cW as Gp,cX as Vr,cY as Qn,cZ as Wp,c_ as pi,c$ as Mr,d0 as Jp,d1 as Zp,d2 as Xp,d3 as Yp,d4 as eg,d5 as Rr,d6 as ng,d7 as Fa,d8 as it,d9 as ag,da as Ar,db as lg,dc as tg,dd as ig,de as Ll,df as Nr,dg as gi,dh as rg,di as sg,dj as Rt,dk as zr,dl as $r,dm as og,dn as rt,dp as dg,dq as cg,dr as il,ds as ug,dt as mg,du as Or,dv as Qr,dw as pg,dx as gg,dy as yg,dz as yi,dA as fi}from"./components-MeFAEc1z.js";import{n as Xn,j as fg,E as jr,R as Yn,k as At,d as hg,m as kg,p as Ya,q as qr}from"./vendor-codemirror-D-ZZKLFq.js";import{R as ea,C as el,X as na,Y as fn,a as aa,T as la,B as Ta,A as Ha,b as Ur,c as Nt,L as Br,d as bg,P as Sg,e as vg,f as Cg}from"./vendor-recharts-KY97ZPfK.js";const Fg=4,Kg={user:["user","human"],ai:["assistant","bot","ai"],system:["system"],tool:["tool"]},Tg="Unable to parse span input messages, expected messages which include a role and content.",Pg="Unable to parse span output messages, expected messages which include a role and content.",Ig="Unable to parse span output expected output.value to be present.",xg="Unable to parse span attributes, attributes must be valid JSON.",Dg="Unable to parse model config, expected llm.model_name to be present.",_g="Unable to parse model config, expected llm.invocation_parameters JSON string to be present.",Lg="Unable to parse invocation parameters response_format, expected llm.invocation_parameters.response_format to be a well formed json object or undefined.",wg="Unable to parse tools, expected tools to be an array of valid tools.",Eg="Unable to parse prompt template variables, expected prompt template variables to be a valid JSON object string.",hi={AZURE_OPENAI:[],ANTHROPIC:["claude"],OPENAI:["gpt","o1"],GOOGLE:["gemini"]},ra="TOOL_CHOICE",Ka="tool_choice",Dn="RESPONSE_FORMAT",Kn="response_format",Vg=[ra,Dn],Mg=L.object({tool_call:L.object({id:L.string().optional(),function:L.object({name:L.string(),arguments:L.string()}).partial()}).partial()}).partial(),Hr=L.object({[pe.message]:L.object({[Ne.role]:L.string(),[Ne.content]:L.union([L.string(),L.array(L.record(L.string(),L.unknown()))]).default(""),[Ne.tool_calls]:L.array(Mg).optional(),[Ne.tool_call_id]:L.string().optional()})}),Rg=L.object({[pe.llm]:L.object({[ze.input_messages]:L.array(Hr)})}),Ag=L.object({[pe.llm]:L.object({[ze.output_messages]:L.array(Hr)})}),Ng=L.object({[pe.output]:L.object({value:L.string()})}),Gr=gm()(L.enum(["user","ai","system","tool"])),zg=L.object({id:L.number(),role:Gr,content:L.string().optional(),toolCallId:L.string().optional(),toolCalls:L.array(ym).optional()}),$g=L.array(zg),zt=L.lazy(()=>L.record(ht)),Og=zt,Wr=L.string().transform((n,a)=>{const{json:l}=we(n);if(!kt(l))return a.addIssue({code:L.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),L.NEVER;const{success:t,data:i}=Og.safeParse(l);return t?i:(a.addIssue({code:L.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),L.NEVER)}).default("{}"),Qg=L.object({[pe.llm]:L.object({[ze.provider]:L.string().optional(),[ze.model_name]:L.string()})}),Jr=L.object({[pe.llm]:L.object({[ze.invocation_parameters]:Wr})}),jg=L.object({[pe.llm]:L.object({[ze.invocation_parameters]:Wr.pipe(L.object({response_format:zt.optional()}))})}),qg=L.object({url:L.object({full:L.string(),path:L.string().optional()})}),Ug=L.string().transform((n,a)=>{const{json:l}=we(n);return l==null||!kt(l)?(a.addIssue({code:L.ZodIssueCode.custom,message:"The tool JSON schema must be a valid JSON object"}),L.NEVER):l}).transform((n,a)=>{const{data:l,success:t}=Zi.safeParse(n);return t?l:(a.addIssue({code:L.ZodIssueCode.custom,message:"The tool JSON schema must be a valid tool schema"}),L.NEVER)}),Bg=L.object({[pe.llm]:L.object({[ze.tools]:L.array(L.object({[pe.tool]:L.object({[ol.json_schema]:Ug})}).optional()).optional()}).optional()}).optional(),Hg=L.lazy(()=>L.object({type:L.literal("json_schema"),json_schema:L.object({name:L.string().describe("The name of the schema"),schema:fm.describe("The schema itself in JSON schema format"),strict:L.literal(!0).describe("The schema must be strict")})})),Gg=ul(Hg,{removeAdditionalStrategy:"passthrough"}),Wg=L.string().transform((n,a)=>{const{json:l}=we(n);return On(l)?Object.entries(l).reduce((i,[r,o])=>{if(typeof o=="string")i[r]=o;else{const{json:d}=In(o);d!=null&&(i[r]=d)}return i},{}):(a.addIssue({code:L.ZodIssueCode.custom,message:"The prompt template variables must be a valid JSON object"}),L.NEVER)}),Jg=L.object({[pe.llm]:L.object({[ze.prompt_template]:L.object({variables:Wg}).optional()}).optional()}).optional();function Zr(n){return Gr.safeParse(n).success}function Nn(n){const a=n.toLowerCase();if(Zr(a))return a;for(const[l,t]of Object.entries(Kg))if(t.includes(a))return l;return hm}function Zg({toolCalls:n,provider:a}){if(n!=null)return n.map(({tool_call:l})=>{var i,r,o,d;if(l==null)return null;let t={};if(((i=l.function)==null?void 0:i.arguments)!=null){const{json:c}=we(l.function.arguments);On(c)&&(t=c)}switch(a){case"OPENAI":case"AZURE_OPENAI":return{id:l.id??"",type:"function",function:{name:((r=l.function)==null?void 0:r.name)??"",arguments:t}};case"ANTHROPIC":return{id:l.id??"",type:"tool_use",name:((o=l.function)==null?void 0:o.name)??"",input:t};case"GOOGLE":return{id:l.id??"",function:{name:((d=l.function)==null?void 0:d.name)??"",arguments:t}};default:ke()}}).filter(l=>l!=null)}function Xr({messages:n,provider:a}){return n.map(({message:l})=>({id:$n(),role:l.tool_call_id!=null?Nn("tool"):Nn(l.role),content:typeof l.content=="string"?l.content:void 0,toolCalls:Zg({provider:a,toolCalls:l.tool_calls}),toolCallId:l.tool_call_id}))}function Xg({provider:n,parsedAttributes:a}){var t;const l=Rg.safeParse(a);if(!l.success)return{messageParsingErrors:[Tg],messages:null};if(n==="ANTHROPIC"){const{success:i,data:r}=Jr.safeParse(a);if(i){const o=l.data.llm.input_messages,d=(t=r.llm.invocation_parameters)==null?void 0:t.system;typeof d=="string"&&d&&(!o||o[0].message.role!=="system")&&l.data.llm.input_messages.unshift({message:{role:"system",content:d}})}}return{messageParsingErrors:[],messages:Xr({provider:n,messages:l.data.llm.input_messages})}}function Yg({provider:n,parsedAttributes:a}){const l=[],t=Ag.safeParse(a);if(t.success)return{output:Xr({provider:n,messages:t.data.llm.output_messages}),outputParsingErrors:l};l.push(Pg);const i=Ng.safeParse(a);return i.success?{output:i.data.output.value,outputParsingErrors:l}:(l.push(Ig),{output:void 0,outputParsingErrors:l})}function Yr(n){if(n==null)return null;switch(n.toLowerCase()){case"openai":return"OPENAI";case"anthropic":return"ANTHROPIC";case"google":return"GOOGLE";case"azure":return"AZURE_OPENAI";default:return null}}function ey(n){for(const a of Object.keys(hi))if(hi[a].some(t=>n.includes(t)))return a;return Yi}function ny(n){const{success:a,data:l}=Qg.safeParse(n);if(a){const t=Yr(l.llm.provider)||ey(l.llm.model_name),i=ay(n);return{modelConfig:{...Object.fromEntries(Object.entries(i).filter(([r,o])=>o!==null)),modelName:l.llm.model_name,provider:t,invocationParameters:[],supportedInvocationParameters:[]},parsingErrors:[]}}return{modelConfig:null,parsingErrors:[Dg]}}function ay(n){const{success:a,data:l}=qg.safeParse(n);if(a)try{const t=new URL(l.url.full);let i=t;if(l.url.path)try{i=new URL(l.url.full.split(l.url.path)[0])}catch{}return{baseUrl:`${i.origin}${i.pathname}`,endpoint:t.origin,apiVersion:t.searchParams.get("api-version")||null}}catch{}return{baseUrl:null,apiVersion:null,endpoint:null}}function ly(n,a=[]){const{success:l,data:t}=Jr.safeParse(n),i=[];return l||i.push(_g),{invocationParameters:my((t==null?void 0:t.llm.invocation_parameters)??{},a),parsingErrors:i}}function ty(n){const{success:a,data:l}=jg.safeParse(n);return a?{responseFormat:l.llm.invocation_parameters.response_format,parsingErrors:[]}:{responseFormat:void 0,parsingErrors:[Lg]}}function iy(n){var a;return(((a=n==null?void 0:n.llm)==null?void 0:a.tools)??[]).map(l=>(l==null?void 0:l.tool)==null?null:{id:ja(),definition:l.tool.json_schema}).filter(l=>l!=null)}function ry(n){var t;const{data:a,success:l}=Bg.safeParse(n);return l?((t=a==null?void 0:a.llm)==null?void 0:t.tools)==null?{tools:null,parsingErrors:[]}:{tools:iy(a),parsingErrors:[]}:{tools:null,parsingErrors:[wg]}}function sy(n){var t;const{success:a,data:l}=Jg.safeParse(n);return a?((t=l==null?void 0:l.llm)==null?void 0:t.prompt_template)==null?{variables:null,parsingErrors:[]}:{variables:l.llm.prompt_template.variables,parsingErrors:[]}:{variables:null,parsingErrors:[Eg]}}function oy(n){const{instance:a,instanceMessages:l}=Xi(),t={...a,template:{__type:"chat",messages:Object.values(l)}},{json:i,parseError:r}=we(n.attributes);if(r)return{playgroundInstance:{...t,spanId:(n==null?void 0:n.id)??null},parsingErrors:[xg]};const o=n.invocationParameters,d=ny(i);let{modelConfig:c}=d;const{parsingErrors:p}=d,{messages:y,messageParsingErrors:u}=Xg({provider:(c==null?void 0:c.provider)??t.model.provider,parsedAttributes:i}),{output:g,outputParsingErrors:f}=Yg({provider:(c==null?void 0:c.provider)??t.model.provider,parsedAttributes:i}),{invocationParameters:k,parsingErrors:b}=ly(i,o),{variables:S,parsingErrors:F}=sy(i),{parsingErrors:P}=ty(i);c=c!=null?{...c,invocationParameters:P.length>0?k.filter(K=>K.invocationName!==Kn&&K.canonicalName!==Dn):k}:null;const{tools:D,parsingErrors:w}=ry(i);return{playgroundInstance:{...t,model:c??t.model,template:y!=null?{__type:"chat",messages:y}:t.template,output:g,spanId:n.id,tools:D??t.tools},playgroundInput:S!=null?{variablesValueCache:S}:void 0,parsingErrors:[...u,...f,...p,...w,...b,...P,...F]}}const dy=n=>$g.safeParse(n).success,es=({instance:n,templateFormat:a})=>{if(a==We.NONE)return[];const l=new Set,t=n.template.__type,i=km(a);switch(t){case"chat":{n.template.messages.forEach(r=>{(r.content==null?[]:i.extractVariables(r.content)).forEach(d=>{l.add(d)})});break}case"text_completion":{i.extractVariables(n.template.prompt).forEach(o=>{l.add(o)});break}default:ke()}return Array.from(l)},cy=({instances:n,templateFormat:a})=>a==We.NONE?[]:Array.from(new Set(n.flatMap(l=>es({instance:l,templateFormat:a})))),ns=({instances:n,templateFormat:a,input:l})=>{if(a==We.NONE)return{variablesMap:{},variableKeys:[]};const t=cy({instances:n,templateFormat:a}),i=l.variablesValueCache??{};return{variablesMap:t.reduce((o,d)=>(o[d]=i[d]||"",o),{}),variableKeys:t}};function jn(n,a){return n.invocationName===a.invocationName||n.canonicalName!=null&&a.canonicalName!=null&&n.canonicalName===a.canonicalName}const uy=(n,a)=>n.filter(l=>a.some(t=>jn(t,l))).map(l=>{var t;return{...l,invocationName:((t=a.find(i=>jn(i,l)))==null?void 0:t.invocationName)??l.invocationName}}),Va=n=>n.replace(/_([a-z])/g,(a,l)=>l.toUpperCase()),my=(n,a)=>Object.entries(n).map(([l,t])=>{const i=a.find(r=>r.canonicalName&&r.canonicalName.toLowerCase()===l.toLowerCase()||r.invocationName&&r.invocationName.toLowerCase()===l.toLowerCase());return i==null||i.invocationInputField==null||i.invocationName==null?null:{canonicalName:i.canonicalName,invocationName:i.invocationName,[Va(i.invocationInputField)]:t}}).filter(l=>l!=null),as=n=>{const{provider:a,validatedToolDefinition:l}=vm(n.definition);switch(a){case"OPENAI":case"AZURE_OPENAI":return l.function.name;case"ANTHROPIC":return l.name;case"UNKNOWN":return null;default:ke()}},py=({provider:n,toolNumber:a})=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return{id:ja(),definition:oi(a)};case"ANTHROPIC":return{id:ja(),definition:Sm(a)};case"GOOGLE":return{id:ja(),definition:oi(a)};default:ke()}},gy=n=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return si();case"ANTHROPIC":return bm();case"GOOGLE":return si();default:ke()}};function yy(n){return{content:n.content,role:fy(n.role),toolCalls:n.toolCalls,toolCallId:n.toolCallId}}function fy(n){switch(n){case"system":return"SYSTEM";case"user":return"USER";case"tool":return"TOOL";case"ai":return"AI";default:ke()}}const ls=({playgroundStore:n,instanceId:a,credentials:l})=>{var u;const{instances:t,allInstanceMessages:i}=n.getState(),r=t.find(g=>g.id===a);if(!r)throw new Error(`No instance found for id ${a}`);if(r.template.__type!=="chat")throw new Error("We only support chat templates for now");const o=r.template.messageIds.map(g=>i[g]).filter(g=>g!=null),d=r.model.supportedInvocationParameters;let c=[...r.model.invocationParameters];const p=bt({toolChoice:r.toolChoice,targetProvider:r.model.provider});r.tools.length>0?(c=c.filter(g=>g.invocationName!==Ka&&g.canonicalName!==ra),c.push({canonicalName:ra,invocationName:Ka,valueJson:p})):c=c.filter(g=>g.invocationName!==Ka&&g.canonicalName!==ra),c=d.length?uy(c,d):c;const y=r.model.provider==="AZURE_OPENAI"?{endpoint:r.model.endpoint,apiVersion:r.model.apiVersion}:{};return{messages:o.map(yy),model:{providerKey:r.model.provider,name:r.model.modelName||"",baseUrl:r.model.baseUrl,...y},invocationParameters:c,tools:r.tools.length?r.tools.map(g=>g.definition):void 0,apiKey:l[r.model.provider]||null,promptName:(u=r.prompt)==null?void 0:u.name}},wl=(n,a)=>{if(n.template.__type==="chat"){const{messageIds:l,...t}=n.template;return{...n,template:{...t,messages:n.template.messageIds.map(i=>a[i])}}}return n},hy=({playgroundStore:n,instanceId:a,credentials:l})=>{const t=ls({playgroundStore:n,instanceId:a,credentials:l}),{instances:i,templateFormat:r,input:o,allInstanceMessages:d}=n.getState(),c=i.map(y=>wl(y,d)),{variablesMap:p}=ns({instances:c,input:o,templateFormat:r});return{...t,template:{variables:p,format:r}}},ki=({playgroundStore:n,instanceId:a,credentials:l,datasetId:t})=>({...ls({playgroundStore:n,instanceId:a,credentials:l}),templateFormat:n.getState().templateFormat,datasetId:t});function El(n){if(n===""||typeof n>"u")return"{}";if(typeof n=="string"){const a=n.startsWith('"{')||n.startsWith('"[')||n.startsWith('"\\"');try{if(a){const t=JSON.parse(n),i=typeof t=="string"?JSON.parse(t):t;return JSON.stringify(i,null,2)}}catch{}if(/^\s*[0-9{[]|true|false|null/.test(n))return n}return JSON.stringify(n,null,2)}function ts(n,a){return a.filter(l=>l.required).every(l=>n.some(t=>jn(t,l)))}const ky=n=>{for(const[a,l]of Object.entries(n))if(a.endsWith("DefaultValue")&&l!=null)return n[a]};function Cv(n,a){const l=new Map(n.map(t=>[t.invocationName,t]));return a.forEach(t=>{var c;const i=t.invocationName,r=ky(t),o=Va(t.invocationInputField||"");if(!t.invocationName||!t.invocationInputField||!i||r==null||((c=l.get(i))==null?void 0:c[o])!=null)return;const d={canonicalName:t.canonicalName,invocationName:t.invocationName,[o]:r};l.set(i,d)}),Array.from(l.values())}const is=m.createContext(null);function Fv({children:n,...a}){const[l]=m.useState(()=>Cm(a));return e(is.Provider,{value:l,children:n})}function Pa(n,a){const l=Ie.useContext(is);if(!l)throw new Error("Missing CredentialsContext.Provider in the tree");return Wa(l,n,a)}const rs=m.createContext(null);function by(){const n=m.useContext(rs);if(n===null)throw new Error("useFunctionality must be used within a FunctionalityProvider");return n}function Kv(n){return e(rs.Provider,{value:{authenticationEnabled:window.Config.authenticationEnabled},children:n.children})}const Sy=T`
2
2
  display: flex;
3
3
  direction: row;
4
4
  height: 100vh;
phoenix/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "8.2.1"
1
+ __version__ = "8.2.2"