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

phoenix/server/main.py CHANGED
@@ -61,6 +61,7 @@ from phoenix.server.app import (
61
61
  instrument_engine_if_enabled,
62
62
  )
63
63
  from phoenix.server.email.sender import SimpleEmailSender
64
+ from phoenix.server.email.types import EmailSender
64
65
  from phoenix.server.types import DbSessionFactory
65
66
  from phoenix.settings import Settings
66
67
  from phoenix.trace.fixtures import (
@@ -385,7 +386,7 @@ def main() -> None:
385
386
  scaffold_datasets=scaffold_datasets,
386
387
  phoenix_url=root_path,
387
388
  )
388
- email_sender = None
389
+ email_sender: Optional[EmailSender] = None
389
390
  if mail_sever := get_env_smtp_hostname():
390
391
  assert (mail_username := get_env_smtp_username()), "SMTP username is required"
391
392
  assert (mail_password := get_env_smtp_password()), "SMTP password is required"
@@ -1,22 +1,22 @@
1
1
  {
2
- "_components-D8xtf7Q6.js": {
3
- "file": "assets/components-D8xtf7Q6.js",
2
+ "_components-B6cljCxu.js": {
3
+ "file": "assets/components-B6cljCxu.js",
4
4
  "name": "components",
5
5
  "imports": [
6
6
  "_vendor-C3H3sezv.js",
7
- "_pages-BiUq97Df.js",
7
+ "_pages-Dhitcl5V.js",
8
8
  "_vendor-arizeai-DT8pwHfH.js",
9
9
  "_vendor-codemirror-DvimrGxD.js",
10
10
  "_vendor-three-C5WAXd5r.js"
11
11
  ]
12
12
  },
13
- "_pages-BiUq97Df.js": {
14
- "file": "assets/pages-BiUq97Df.js",
13
+ "_pages-Dhitcl5V.js": {
14
+ "file": "assets/pages-Dhitcl5V.js",
15
15
  "name": "pages",
16
16
  "imports": [
17
17
  "_vendor-C3H3sezv.js",
18
18
  "_vendor-arizeai-DT8pwHfH.js",
19
- "_components-D8xtf7Q6.js",
19
+ "_components-B6cljCxu.js",
20
20
  "_vendor-codemirror-DvimrGxD.js",
21
21
  "_vendor-recharts-DuSQBcYW.js"
22
22
  ]
@@ -69,15 +69,15 @@
69
69
  "name": "vendor-three"
70
70
  },
71
71
  "index.tsx": {
72
- "file": "assets/index-CGfsCafL.js",
72
+ "file": "assets/index-DfHKoAV9.js",
73
73
  "name": "index",
74
74
  "src": "index.tsx",
75
75
  "isEntry": true,
76
76
  "imports": [
77
77
  "_vendor-C3H3sezv.js",
78
78
  "_vendor-arizeai-DT8pwHfH.js",
79
- "_pages-BiUq97Df.js",
80
- "_components-D8xtf7Q6.js",
79
+ "_pages-Dhitcl5V.js",
80
+ "_components-B6cljCxu.js",
81
81
  "_vendor-three-C5WAXd5r.js",
82
82
  "_vendor-codemirror-DvimrGxD.js",
83
83
  "_vendor-shiki-i05Hmswh.js",
@@ -1,4 +1,4 @@
1
- import{r as h,R as U,j as e,u as dn,a as Te,e as i1,s as P1,b as O1,c as Ze,d as X1,f as kr,g as ye,h as Sr,i as Mr,k as Y1,l as s,m as _e,p as b1,n as Xe,o as Tr,q as ze,C as c1,t as zr,v as Ir,w as N,L as wa,x as xa,y as ka,z as de,A as C,B as v1,D as un,E as m,F as Sa,$ as Ar,G as Ma,H as Ta,I as Ne,J as gn,K as X,M as Er,N as Vr,O as Dr,P as K,Q as d1,S as O,T as H,U as R,V as za,W as Ia,X as Pr,Y as Aa,Z as Or,_ as Fr,a0 as _r,a1 as Nr,a2 as Rr,a3 as $r,a4 as Hr,a5 as Kr,a6 as Br,a7 as C1,a8 as Zr,a9 as jr,aa as Gr,ab as Ur,ac as Se,ad as J1,ae as en,af as nn,ag as _,ah as Me,ai as $n,aj as Wr,ak as Qr,al as Ea,am as qr,an as Xr,ao as Yr,ap as Jr,aq as ei,ar as ni,as as ai,at as ti,au as ri,av as ii,aw as oi,ax as F,ay as mn,az as li,aA as si,aB as ci,aC as di,aD as ui,aE as Hn,aF as Ee,aG as Va,aH as gi,aI as Da,aJ as mi,aK as pi,aL as pn,aM as hi,aN as fi,aO as bi,aP as vi,aQ as Ci,aR as yi,aS as Li,aT as Kn,aU as wi,aV as xi,aW as ki,aX as F1,aY as Si,aZ as Mi,a_ as Ti,a$ as zi,b0 as Ii,b1 as Ai,b2 as Ei,b3 as Vi,b4 as Di}from"./vendor-C3H3sezv.js";import{a as Bn,R as Pi,b as Oi,c as Fi,m as _i,T as Ni,u as Ri}from"./pages-BiUq97Df.js";import{u as $i,_ as Pa,a as me,T as ie,E as Oa,b as Re,c as pe,d as Hi,D as y1,e as Ki,f as ce,g as Bi,C as Fa,P as hn,h as _a,i as Zi,F as Na,I as ji,j as Gi,k as Ui,l as Wi,m as Qi,n as qi,o as Xi,p as Yi,q as Ra,r as $a,s as Ji,t as eo}from"./vendor-arizeai-DT8pwHfH.js";import{L as Ha,a as Ka,d as Ue,E as fn,k as Ba,b as Za,l as an,h as no,j as ao,c as to,e as ro,f as io,s as oo,g as Ye,i as Je,R as e1,p as lo,m as so}from"./vendor-codemirror-DvimrGxD.js";import{V as co}from"./vendor-three-C5WAXd5r.js";const ja=function(){var n={defaultValue:null,kind:"LocalArgument",name:"clusters"},a={defaultValue:null,kind:"LocalArgument",name:"dataQualityMetricColumnName"},t={defaultValue:null,kind:"LocalArgument",name:"fetchDataQualityMetric"},r={defaultValue:null,kind:"LocalArgument",name:"fetchPerformanceMetric"},i={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}],l=[{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,r,i],kind:"Fragment",metadata:null,name:"pointCloudStore_clusterMetricsQuery",selections:l,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[n,t,a,r,i],kind:"Operation",name:"pointCloudStore_clusterMetricsQuery",selections:l},params:{cacheID:"86666967012812887ac0a0149d2d2535",id:null,metadata:{},name:"pointCloudStore_clusterMetricsQuery",operationKind:"query",text:`query pointCloudStore_clusterMetricsQuery(
1
+ import{r as h,R as U,j as e,u as dn,a as Te,e as i1,s as P1,b as O1,c as Ze,d as X1,f as kr,g as ye,h as Sr,i as Mr,k as Y1,l as s,m as _e,p as b1,n as Xe,o as Tr,q as ze,C as c1,t as zr,v as Ir,w as N,L as wa,x as xa,y as ka,z as de,A as C,B as v1,D as un,E as m,F as Sa,$ as Ar,G as Ma,H as Ta,I as Ne,J as gn,K as X,M as Er,N as Vr,O as Dr,P as K,Q as d1,S as O,T as H,U as R,V as za,W as Ia,X as Pr,Y as Aa,Z as Or,_ as Fr,a0 as _r,a1 as Nr,a2 as Rr,a3 as $r,a4 as Hr,a5 as Kr,a6 as Br,a7 as C1,a8 as Zr,a9 as jr,aa as Gr,ab as Ur,ac as Se,ad as J1,ae as en,af as nn,ag as _,ah as Me,ai as $n,aj as Wr,ak as Qr,al as Ea,am as qr,an as Xr,ao as Yr,ap as Jr,aq as ei,ar as ni,as as ai,at as ti,au as ri,av as ii,aw as oi,ax as F,ay as mn,az as li,aA as si,aB as ci,aC as di,aD as ui,aE as Hn,aF as Ee,aG as Va,aH as gi,aI as Da,aJ as mi,aK as pi,aL as pn,aM as hi,aN as fi,aO as bi,aP as vi,aQ as Ci,aR as yi,aS as Li,aT as Kn,aU as wi,aV as xi,aW as ki,aX as F1,aY as Si,aZ as Mi,a_ as Ti,a$ as zi,b0 as Ii,b1 as Ai,b2 as Ei,b3 as Vi,b4 as Di}from"./vendor-C3H3sezv.js";import{a as Bn,R as Pi,b as Oi,c as Fi,m as _i,T as Ni,u as Ri}from"./pages-Dhitcl5V.js";import{u as $i,_ as Pa,a as me,T as ie,E as Oa,b as Re,c as pe,d as Hi,D as y1,e as Ki,f as ce,g as Bi,C as Fa,P as hn,h as _a,i as Zi,F as Na,I as ji,j as Gi,k as Ui,l as Wi,m as Qi,n as qi,o as Xi,p as Yi,q as Ra,r as $a,s as Ji,t as eo}from"./vendor-arizeai-DT8pwHfH.js";import{L as Ha,a as Ka,d as Ue,E as fn,k as Ba,b as Za,l as an,h as no,j as ao,c as to,e as ro,f as io,s as oo,g as Ye,i as Je,R as e1,p as lo,m as so}from"./vendor-codemirror-DvimrGxD.js";import{V as co}from"./vendor-three-C5WAXd5r.js";const ja=function(){var n={defaultValue:null,kind:"LocalArgument",name:"clusters"},a={defaultValue:null,kind:"LocalArgument",name:"dataQualityMetricColumnName"},t={defaultValue:null,kind:"LocalArgument",name:"fetchDataQualityMetric"},r={defaultValue:null,kind:"LocalArgument",name:"fetchPerformanceMetric"},i={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}],l=[{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,r,i],kind:"Fragment",metadata:null,name:"pointCloudStore_clusterMetricsQuery",selections:l,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[n,t,a,r,i],kind:"Operation",name:"pointCloudStore_clusterMetricsQuery",selections:l},params:{cacheID:"86666967012812887ac0a0149d2d2535",id:null,metadata:{},name:"pointCloudStore_clusterMetricsQuery",operationKind:"query",text:`query pointCloudStore_clusterMetricsQuery(
2
2
  $clusters: [ClusterInput!]!
3
3
  $fetchDataQualityMetric: Boolean!
4
4
  $dataQualityMetricColumnName: String
@@ -1,4 +1,4 @@
1
- import{r as t,j as o,bp as z,l as c,P as w,R as P,E as b,cy as k,ej as S,ek as F,el as L,em as l,w as C,en as E}from"./vendor-C3H3sezv.js";import{c as R,x as I,D as j,K as A,M as T}from"./vendor-arizeai-DT8pwHfH.js";import{L as _,r as D,d as O,e as G,F as M,f as N,P as V,h as W,M as m,g as q,D as K,i as U,E as B,j as J,k as Y,p as $,l as H,n as p,o as X,q as Q,s as Z,S as oo,t as lo,v as ao,w as ro,x as co,y as go,z as eo,A as u,B as f,C as y,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 Io,a8 as jo,a9 as Ao,aa as To,ab as _o,ac as Do,ad as Oo,ae as Go,af as Mo,ag as No,ah as Vo}from"./pages-BiUq97Df.js";import{z as Wo,dW as qo,bG as Ko,R as Uo,dX as Bo,dY as Jo}from"./components-D8xtf7Q6.js";import"./vendor-three-C5WAXd5r.js";import"./vendor-codemirror-DvimrGxD.js";import"./vendor-shiki-i05Hmswh.js";import"./vendor-recharts-DuSQBcYW.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 Yo(){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 $o(){const a=P.useContext(h);if(a===null)throw new Error("useFeatureFlags must be used within a FeatureFlagsProvider");return a}function Ho(a){const[e,i]=t.useState(Yo()),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}=$o(),[r,g]=t.useState(!1);return z("ctrl+shift+f",()=>g(!0)),c(w,{children:[e,o(j,{type:"modal",isDismissable:!0,onDismiss:()=>g(!1),children:r&&o(R,{title:"Feature Flags",children:o(Wo,{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 Qo=b`
1
+ import{r as t,j as o,bp as z,l as c,P as w,R as P,E as b,cy as k,ej as S,ek as F,el as L,em as l,w as C,en as E}from"./vendor-C3H3sezv.js";import{c as R,x as I,D as j,K as A,M as T}from"./vendor-arizeai-DT8pwHfH.js";import{L as _,r as D,d as O,e as G,F as M,f as N,P as V,h as W,M as m,g as q,D as K,i as U,E as B,j as J,k as Y,p as $,l as H,n as p,o as X,q as Q,s as Z,S as oo,t as lo,v as ao,w as ro,x as co,y as go,z as eo,A as u,B as f,C as y,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 Io,a8 as jo,a9 as Ao,aa as To,ab as _o,ac as Do,ad as Oo,ae as Go,af as Mo,ag as No,ah as Vo}from"./pages-Dhitcl5V.js";import{z as Wo,dW as qo,bG as Ko,R as Uo,dX as Bo,dY as Jo}from"./components-B6cljCxu.js";import"./vendor-three-C5WAXd5r.js";import"./vendor-codemirror-DvimrGxD.js";import"./vendor-shiki-i05Hmswh.js";import"./vendor-recharts-DuSQBcYW.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 Yo(){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 $o(){const a=P.useContext(h);if(a===null)throw new Error("useFeatureFlags must be used within a FeatureFlagsProvider");return a}function Ho(a){const[e,i]=t.useState(Yo()),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}=$o(),[r,g]=t.useState(!1);return z("ctrl+shift+f",()=>g(!0)),c(w,{children:[e,o(j,{type:"modal",isDismissable:!0,onDismiss:()=>g(!1),children:r&&o(R,{title:"Feature Flags",children:o(Wo,{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 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{A as E,b5 as me,b6 as Qe,b7 as Ae,b8 as Kt,B as xt,r as m,j as e,R as pe,u as ut,w as x,l as s,aA as Le,aB as Pn,aD as we,aE as Z,S as J,T as se,b9 as qe,ba as Je,ad as xl,bb as Ci,ac as Oe,ah as tn,ag as W,U as xe,P as U,ax as ie,E as F,bc as Ke,aI as ue,bd as Be,be as km,a8 as Dt,ay as Ca,a9 as _t,bf as mn,bg as bm,aJ as Sm,bh as vm,H as Fi,bi as mt,aP as _e,aO as vn,bj as pn,bk as In,m as gr,$ as Cm,F as Ki,K as Fm,bl as Km,bm as ol,bn as dl,bo as Ga,q as pt,bp as Tm,aU as yr,bq as Pm,br as Ti,bs as Im,bt as xm,bu as Dm,bv as _m,bw as Lm,bx as wm,by as Em,bz as Rm,bA as Mm,bB as it,D as Vm,bC as Am,bD as bt,g as fr,bE as zm,aF as Dl,bF as hr,bG as kr,bH as br,bI as Nm,ai as $m,bJ as Om,ae as Qm,af as jm,bK as qm,n as Bm}from"./vendor-C3H3sezv.js";import{c as X,D as ae,C as q,t as _l,h as xn,b as Lt,L as wt,v as Et,w as Sr,o as Ll,P as Va,f as $e,g as la,T as Se,E as Rt,q as ia,r as Aa,a as Ne,d as ra,x as Fa,s as Mt,y as Um,i as Vt,z as Hm,A as Gm,B as Wm,G as wl,H as El,u as Jm,J as Zm}from"./vendor-arizeai-DT8pwHfH.js";import{s as Xm,l as Ym,j as Rl,a as Ve,i as Ml,b as ep,c as np,d as ea,e as Cn,f as vr,D as Cr,g as Zn,h as tt,k as ap,m as ve,T as en,n as tp,o as Vl,p as Pi,q as lp,r as Ii,t as ip,u as rp,v as sp,G as At,_ as h,w as v,x as M,I as L,E as gt,y as sn,z as C,A as Y,R as Fe,B as Pe,C as he,F as De,H as Ee,J as Re,K as on,L as dn,M as cn,N as Al,O as Ce,P as Dn,Q as Fr,S as He,U as ne,V as de,W as Ge,X as Kr,Y as Pt,Z as ze,$ as An,a0 as op,a1 as Ye,a2 as Tr,a3 as Cl,a4 as zl,a5 as dp,a6 as cp,a7 as Fl,a8 as St,a9 as ce,aa as Pr,ab as up,ac as mp,ad as un,ae as pp,af as wn,ag as gp,ah as Ir,ai as zt,aj as Ka,ak as Nl,al as $l,am as xr,an as yp,ao as fp,ap as hp,aq as kp,ar as bp,as as Sp,at as vp,au as rt,av as Cp,aw as ge,ax as Kl,ay as ye,az as fe,aA as nn,aB as Fp,aC as Kp,aD as Tp,aE as gn,aF as oe,aG as Dr,aH as Pp,aI as Ip,aJ as xp,aK as Nt,aL as $t,aM as _r,aN as Dp,aO as _p,aP as Lp,aQ as Ot,aR as wp,aS as Lr,aT as La,aU as st,aV as Ze,aW as Ep,aX as Ol,aY as yn,aZ as Rp,a_ as Mp,a$ as Vp,b0 as Rn,b1 as be,b2 as Ue,b3 as We,b4 as wr,b5 as sa,b6 as Me,b7 as za,b8 as zn,b9 as Mn,ba as Qt,bb as Na,bc as Ta,bd as Er,be as ln,bf as Rr,bg as Ap,bh as Ql,bi as ha,bj as zp,bk as Gn,bl as Np,bm as $p,bn as jl,bo as jt,bp as Nn,bq as oa,br as xi,bs as Di,bt as Op,bu as Qp,bv as jp,bw as $a,bx as qp,by as Bp,bz as ot,bA as Up,bB as lt,bC as Fn,bD as Xn,bE as qt,bF as Bt,bG as $n,bH as Hp,bI as Gp,bJ as rn,bK as Kn,bL as Oa,bM as ql,bN as Mr,bO as Bl,bP as Wp,bQ as Jp,bR as Zp,bS as Ul,bT as Vr,bU as Ar,bV as zr,bW as Xe,bX as Nr,bY as $r,bZ as Tl,b_ as Xp,b$ as Hl,c0 as Gl,c1 as Or,c2 as Yp,c3 as eg,c4 as ng,c5 as Wl,c6 as ag,c7 as tg,c8 as Jl,c9 as lg,ca as Qr,cb as ig,cc as rg,cd as sg,ce as og,cf as dg,cg,ch as ug,ci as Ut,cj as mg,ck as pg,cl as jr,cm as qr,cn as _i,co as gg,cp as _n,cq as On,cr as Zl,cs as Br,ct as Ur,cu as Li,cv as wi,cw as yg,cx as fg,cy as H,cz as Hr,cA as Ht,cB as Gt,cC as Qa,cD as Gr,cE as ja,cF as qa,cG as Wr,cH as Qn,cI as Wt,cJ as hg,cK as kg,cL as bg,cM as Sg,cN as vg,cO as Cg,cP as Fg,cQ as ba,cR as Jr,cS as Kg,cT as Tg,cU as Ei,cV as Pg,cW as Ig,cX as xg,cY as Dg,cZ as _g,c_ as Lg,c$ as Zr,d0 as wg,d1 as Eg,d2 as Rg,d3 as Mg,d4 as Sa,d5 as Xl,d6 as Xr,d7 as _a,d8 as Jt,d9 as Yr,da as es,db as cl,dc as Vg,dd as ns,de as Ag,df as Yl,dg as Zt,dh as hn,di as zg,dj as as,dk as Ng,dl as $g,dm as ts,dn as ls,dp as Og,dq as Qg,dr as is,ds as na,dt as jg,du as qg,dv as Ri,dw as Bg,dx as Ug,dy as Hg,dz as Gg,dA as Wg,dB as ul,dC as Jg,dD as wa,dE as Zg,dF as Xg,dG as Yg,dH as ey,dI as Xt,dJ as rs,dK as Mi,dL as ny,dM as ay,dN as ty,dO as ly,dP as ss,dQ as os,dR as iy,dS as ry,dT as sy,dU as Vi,dV as Ai}from"./components-D8xtf7Q6.js";import{g as da,i as ca,d as oy,E as ds,R as ua,k as ei,b as dy,p as yt,n as cs}from"./vendor-codemirror-DvimrGxD.js";import{P as us,C as ms,T as jn,a as ps,R as qn,b as ft,X as ma,Y as Tn,c as pa,B as Ra,A as dt,d as gs,e as ni,L as ys,f as cy}from"./vendor-recharts-DuSQBcYW.js";const uy=4,my={user:["user","human"],ai:["assistant","bot","ai"],system:["system"],tool:["tool"]},py="Unable to parse span input messages, expected messages which include a role and content.",gy="Unable to parse span output messages, expected messages which include a role and content.",yy="Unable to parse span output expected output.value to be present.",fy="Unable to parse span attributes, attributes must be valid JSON.",hy="Unable to parse model config, expected llm.model_name to be present.",ky="Unable to parse model config, expected llm.invocation_parameters JSON string to be present.",by="Unable to parse invocation parameters response_format, expected llm.invocation_parameters.response_format to be a well formed json object or undefined.",Sy="Unable to parse tools, expected tools to be an array of valid tools.",vy="Unable to parse prompt template variables, expected prompt template variables to be a valid JSON object string.",zi={AZURE_OPENAI:[],ANTHROPIC:["claude"],OPENAI:["gpt","o1"],GOOGLE:["gemini"]},Yn="TOOL_CHOICE",Ea="tool_choice",Sn="RESPONSE_FORMAT",kn="response_format",Cy=[Yn,Sn],Fy=E.object({tool_call:E.object({id:E.string().optional(),function:E.object({name:E.string(),arguments:E.string()}).partial()}).partial()}).partial(),fs=E.object({[me.message]:E.object({[Qe.role]:E.string(),[Qe.content]:E.union([E.string(),E.array(E.record(E.string(),E.unknown()))]).default(""),[Qe.tool_calls]:E.array(Fy).optional(),[Qe.tool_call_id]:E.string().optional()})}),Ky=E.object({[me.llm]:E.object({[Ae.input_messages]:E.array(fs)})}),Ty=E.object({[me.llm]:E.object({[Ae.output_messages]:E.array(fs)})}),Py=E.object({[me.output]:E.object({value:E.string()})}),hs=Xm()(E.enum(["user","ai","system","tool"])),Iy=E.object({id:E.number(),role:hs,content:E.string().optional(),toolCallId:E.string().optional(),toolCalls:E.array(Ym).optional()}),xy=E.array(Iy),ks=E.lazy(()=>E.record(Rl)),Dy=ks,bs=E.string().transform((n,a)=>{const{json:t}=Ve(n);if(!Ml(t))return a.addIssue({code:E.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),E.NEVER;const{success:l,data:i}=Dy.safeParse(t);return l?i:(a.addIssue({code:E.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),E.NEVER)}).default("{}"),_y=E.object({[me.llm]:E.object({[Ae.provider]:E.string().optional(),[Ae.model_name]:E.string()})}),Ss=E.object({[me.llm]:E.object({[Ae.invocation_parameters]:bs})}),Ly=E.object({[me.llm]:E.object({[Ae.invocation_parameters]:bs.pipe(E.object({response_format:ks.optional()}))})}),wy=E.object({url:E.object({full:E.string(),path:E.string().optional()})}),Ey=E.string().transform((n,a)=>{const{json:t}=Ve(n);return t==null||!Ml(t)?(a.addIssue({code:E.ZodIssueCode.custom,message:"The tool JSON schema must be a valid JSON object"}),E.NEVER):t}).transform((n,a)=>{const{data:t,success:l}=ep.safeParse(n);return l?t:(a.addIssue({code:E.ZodIssueCode.custom,message:"The tool JSON schema must be a valid tool schema"}),E.NEVER)}),Ry=E.object({[me.llm]:E.object({[Ae.tools]:E.array(E.object({[me.tool]:E.object({[Kt.json_schema]:Ey})}).optional()).optional()}).optional()}).optional(),My=E.lazy(()=>E.object({type:E.literal("json_schema"),json_schema:E.object({name:E.string().describe("The name of the schema"),schema:np.describe("The schema itself in JSON schema format"),strict:E.literal(!0).describe("The schema must be strict")})})),Vy=xt(My,{removeAdditionalStrategy:"passthrough"}),Ay=E.string().transform((n,a)=>{const{json:t}=Ve(n);return ea(t)?Object.entries(t).reduce((i,[r,o])=>{if(typeof o=="string")i[r]=o;else{const{json:d}=Cn(o);d!=null&&(i[r]=d)}return i},{}):(a.addIssue({code:E.ZodIssueCode.custom,message:"The prompt template variables must be a valid JSON object"}),E.NEVER)}),zy=E.object({[me.llm]:E.object({[Ae.prompt_template]:E.object({variables:Ay}).optional()}).optional()}).optional();function vs(n){return hs.safeParse(n).success}function Wn(n){const a=n.toLowerCase();if(vs(a))return a;for(const[t,l]of Object.entries(my))if(l.includes(a))return t;return ap}function Ny({toolCalls:n,provider:a}){if(n!=null)return n.map(({tool_call:t})=>{var i,r,o,d;if(t==null)return null;let l={};if(((i=t.function)==null?void 0:i.arguments)!=null){const{json:c}=Ve(t.function.arguments);ea(c)&&(l=c)}switch(a){case"OPENAI":case"AZURE_OPENAI":return{id:t.id??"",type:"function",function:{name:((r=t.function)==null?void 0:r.name)??"",arguments:l}};case"ANTHROPIC":return{id:t.id??"",type:"tool_use",name:((o=t.function)==null?void 0:o.name)??"",input:l};case"GOOGLE":return{id:t.id??"",function:{name:((d=t.function)==null?void 0:d.name)??"",arguments:l}};default:ve()}}).filter(t=>t!=null)}function Cs({messages:n,provider:a}){return n.map(({message:t})=>({id:Zn(),role:t.tool_call_id!=null?Wn("tool"):Wn(t.role),content:typeof t.content=="string"?t.content:void 0,toolCalls:Ny({provider:a,toolCalls:t.tool_calls}),toolCallId:t.tool_call_id}))}function $y({provider:n,parsedAttributes:a}){var l;const t=Ky.safeParse(a);if(!t.success)return{messageParsingErrors:[py],messages:null};if(n==="ANTHROPIC"){const{success:i,data:r}=Ss.safeParse(a);if(i){const o=t.data.llm.input_messages,d=(l=r.llm.invocation_parameters)==null?void 0:l.system;typeof d=="string"&&d&&(!o||o[0].message.role!=="system")&&t.data.llm.input_messages.unshift({message:{role:"system",content:d}})}}return{messageParsingErrors:[],messages:Cs({provider:n,messages:t.data.llm.input_messages})}}function Oy({provider:n,parsedAttributes:a}){const t=[],l=Ty.safeParse(a);if(l.success)return{output:Cs({provider:n,messages:l.data.llm.output_messages}),outputParsingErrors:t};t.push(gy);const i=Py.safeParse(a);return i.success?{output:i.data.output.value,outputParsingErrors:t}:(t.push(yy),{output:void 0,outputParsingErrors:t})}function Fs(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 Qy(n){for(const a of Object.keys(zi))if(zi[a].some(l=>n.includes(l)))return a;return Cr}function jy(n){const{success:a,data:t}=_y.safeParse(n);if(a){const l=Fs(t.llm.provider)||Qy(t.llm.model_name),i=qy(n);return{modelConfig:{...Object.fromEntries(Object.entries(i).filter(([r,o])=>o!==null)),modelName:t.llm.model_name,provider:l,invocationParameters:[],supportedInvocationParameters:[]},parsingErrors:[]}}return{modelConfig:null,parsingErrors:[hy]}}function qy(n){const{success:a,data:t}=wy.safeParse(n);if(a)try{const l=new URL(t.url.full);let i=l;if(t.url.path)try{i=new URL(t.url.full.split(t.url.path)[0])}catch{}return{baseUrl:`${i.origin}${i.pathname}`,endpoint:l.origin,apiVersion:l.searchParams.get("api-version")||null}}catch{}return{baseUrl:null,apiVersion:null,endpoint:null}}function By(n,a=[]){const{success:t,data:l}=Ss.safeParse(n),i=[];return t||i.push(ky),{invocationParameters:ef((l==null?void 0:l.llm.invocation_parameters)??{},a),parsingErrors:i}}function Uy(n){const{success:a,data:t}=Ly.safeParse(n);return a?{responseFormat:t.llm.invocation_parameters.response_format,parsingErrors:[]}:{responseFormat:void 0,parsingErrors:[by]}}function Hy(n){var a;return(((a=n==null?void 0:n.llm)==null?void 0:a.tools)??[]).map(t=>(t==null?void 0:t.tool)==null?null:{id:tt(),definition:t.tool.json_schema}).filter(t=>t!=null)}function Gy(n){var l;const{data:a,success:t}=Ry.safeParse(n);return t?((l=a==null?void 0:a.llm)==null?void 0:l.tools)==null?{tools:null,parsingErrors:[]}:{tools:Hy(a),parsingErrors:[]}:{tools:null,parsingErrors:[Sy]}}function Wy(n){var l;const{success:a,data:t}=zy.safeParse(n);return a?((l=t==null?void 0:t.llm)==null?void 0:l.prompt_template)==null?{variables:null,parsingErrors:[]}:{variables:t.llm.prompt_template.variables,parsingErrors:[]}:{variables:null,parsingErrors:[vy]}}function Jy(n){const{instance:a,instanceMessages:t}=vr(),l={...a,template:{__type:"chat",messages:Object.values(t)}},{json:i,parseError:r}=Ve(n.attributes);if(r)return{playgroundInstance:{...l,spanId:(n==null?void 0:n.id)??null},parsingErrors:[fy]};const o=n.invocationParameters,d=jy(i);let{modelConfig:c}=d;const{parsingErrors:p}=d,{messages:f,messageParsingErrors:u}=$y({provider:(c==null?void 0:c.provider)??l.model.provider,parsedAttributes:i}),{output:g,outputParsingErrors:y}=Oy({provider:(c==null?void 0:c.provider)??l.model.provider,parsedAttributes:i}),{invocationParameters:k,parsingErrors:b}=By(i,o),{variables:S,parsingErrors:K}=Wy(i),{parsingErrors:T}=Uy(i);c=c!=null?{...c,invocationParameters:T.length>0?k.filter(_=>_.invocationName!==kn&&_.canonicalName!==Sn):k}:null;const{tools:D,parsingErrors:w}=Gy(i),P=f==null?void 0:f.map(_=>({..._,content:_.role==="tool"?ai(_.content):_.content}));return{playgroundInstance:{...l,model:c??l.model,template:P!=null?{__type:"chat",messages:P}:l.template,output:g,spanId:n.id,tools:D??l.tools},playgroundInput:S!=null?{variablesValueCache:S}:void 0,parsingErrors:[...u,...y,...p,...w,...b,...T,...K]}}const Zy=n=>xy.safeParse(n).success,Ks=({instance:n,templateFormat:a})=>{if(a==en.NONE)return[];const t=new Set,l=n.template.__type,i=tp(a);switch(l){case"chat":{n.template.messages.forEach(r=>{(r.content==null?[]:i.extractVariables(r.content)).forEach(d=>{t.add(d)})});break}case"text_completion":{i.extractVariables(n.template.prompt).forEach(o=>{t.add(o)});break}default:ve()}return Array.from(t)},Xy=({instances:n,templateFormat:a})=>a==en.NONE?[]:Array.from(new Set(n.flatMap(t=>Ks({instance:t,templateFormat:a})))),Ts=({instances:n,templateFormat:a,input:t})=>{if(a==en.NONE)return{variablesMap:{},variableKeys:[]};const l=Xy({instances:n,templateFormat:a}),i=t.variablesValueCache??{};return{variablesMap:l.reduce((o,d)=>(o[d]=i[d]||"",o),{}),variableKeys:l}};function aa(n,a){return n.invocationName===a.invocationName||n.canonicalName!=null&&a.canonicalName!=null&&n.canonicalName===a.canonicalName}const Yy=(n,a)=>n.filter(t=>a.some(l=>aa(l,t))).map(t=>{var l;return{...t,invocationName:((l=a.find(i=>aa(i,t)))==null?void 0:l.invocationName)??t.invocationName}}),Ba=n=>n.replace(/_([a-z])/g,(a,t)=>t.toUpperCase()),ef=(n,a)=>Object.entries(n).map(([t,l])=>{const i=a.find(r=>r.canonicalName&&r.canonicalName.toLowerCase()===t.toLowerCase()||r.invocationName&&r.invocationName.toLowerCase()===t.toLowerCase());return i==null||i.invocationInputField==null||i.invocationName==null?null:{canonicalName:i.canonicalName,invocationName:i.invocationName,[Ba(i.invocationInputField)]:l}}).filter(t=>t!=null),Ps=n=>{const{provider:a,validatedToolDefinition:t}=rp(n.definition);switch(a){case"OPENAI":case"AZURE_OPENAI":return t.function.name;case"ANTHROPIC":return t.name;case"UNKNOWN":return null;default:ve()}},nf=({provider:n,toolNumber:a})=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return{id:tt(),definition:Ii(a)};case"ANTHROPIC":return{id:tt(),definition:ip(a)};case"GOOGLE":return{id:tt(),definition:Ii(a)};default:ve()}},af=n=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return Pi();case"ANTHROPIC":return lp();case"GOOGLE":return Pi();default:ve()}};function tf(n){return{content:n.content,role:lf(n.role),toolCalls:n.toolCalls,toolCallId:n.toolCallId}}function lf(n){switch(n){case"system":return"SYSTEM";case"user":return"USER";case"tool":return"TOOL";case"ai":return"AI";default:ve()}}const Is=({playgroundStore:n,instanceId:a,credentials:t})=>{var u;const{instances:l,allInstanceMessages:i}=n.getState(),r=l.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=Vl({toolChoice:r.toolChoice,targetProvider:r.model.provider});r.tools.length>0?(c=c.filter(g=>g.invocationName!==Ea&&g.canonicalName!==Yn),c.push({canonicalName:Yn,invocationName:Ea,valueJson:p})):c=c.filter(g=>g.invocationName!==Ea&&g.canonicalName!==Yn),c=d.length?Yy(c,d):c;const f=r.model.provider==="AZURE_OPENAI"?{endpoint:r.model.endpoint,apiVersion:r.model.apiVersion}:{};return{messages:o.map(tf),model:{providerKey:r.model.provider,name:r.model.modelName||"",baseUrl:r.model.baseUrl,...f},invocationParameters:Ds(c,r.model.provider,r.model.modelName),tools:r.tools.length?r.tools.map(g=>g.definition):void 0,apiKey:t[r.model.provider]||null,promptName:(u=r.prompt)==null?void 0:u.name}},Yt=(n,a)=>{if(n.template.__type==="chat"){const{messageIds:t,...l}=n.template;return{...n,template:{...l,messages:n.template.messageIds.map(i=>a[i])}}}return n},rf=({playgroundStore:n,instanceId:a,credentials:t})=>{const l=Is({playgroundStore:n,instanceId:a,credentials:t}),{instances:i,templateFormat:r,input:o,allInstanceMessages:d}=n.getState(),c=i.map(f=>Yt(f,d)),{variablesMap:p}=Ts({instances:c,input:o,templateFormat:r});return{...l,template:{variables:p,format:r}}},Ni=({playgroundStore:n,instanceId:a,credentials:t,datasetId:l})=>({...Is({playgroundStore:n,instanceId:a,credentials:t}),templateFormat:n.getState().templateFormat,datasetId:l});function ai(n){if(typeof n=="string"){const a=n.startsWith('"{')||n.startsWith('"[')||n.startsWith('"\\"');try{if(a){const l=JSON.parse(n),i=typeof l=="string"?JSON.parse(l):l;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 xs(n,a){return a.filter(t=>t.required).every(t=>n.some(l=>aa(l,t)))}const sf=n=>{for(const[a,t]of Object.entries(n))if(a.endsWith("DefaultValue")&&t!=null)return n[a]};function WC(n,a){const t=new Map(n.map(l=>[l.invocationName,l]));return a.forEach(l=>{var c;const i=l.invocationName,r=sf(l),o=Ba(l.invocationInputField||"");if(!l.invocationName||!l.invocationInputField||!i||r==null||((c=t.get(i))==null?void 0:c[o])!=null)return;const d={canonicalName:l.canonicalName,invocationName:l.invocationName,[o]:r};t.set(i,d)}),Array.from(t.values())}const of=E.object({type:E.literal("enabled")}).passthrough(),df=E.object({type:E.enum(["any","tool"])}).passthrough(),cf=(n,a)=>{if(!a)return n;const t=n.some(l=>l.canonicalName==="ANTHROPIC_EXTENDED_THINKING"&&l.valueJson&&of.safeParse(l.valueJson).success);return n.filter(l=>{if(l.canonicalName==="ANTHROPIC_EXTENDED_THINKING"&&!l.valueJson)return!1;if(t){if(l.canonicalName==="TEMPERATURE"||l.canonicalName==="TOP_P")return!1;if(l.canonicalName===Yn)return!df.safeParse(l.valueJson).success}return!0})},Ds=(n,a,t)=>a==="ANTHROPIC"?cf(n,t):n,_s=m.createContext(null);function JC({children:n,...a}){const[t]=m.useState(()=>sp(a));return e(_s.Provider,{value:t,children:n})}function Ma(n,a){const t=pe.useContext(_s);if(!t)throw new Error("Missing CredentialsContext.Provider in the tree");return ut(t,n,a)}const Ls=m.createContext(null);function uf(){const n=m.useContext(Ls);if(n===null)throw new Error("useFunctionality must be used within a FunctionalityProvider");return n}function ZC(n){return e(Ls.Provider,{value:{authenticationEnabled:window.Config.authenticationEnabled},children:n.children})}const ws={argumentDefinitions:[],kind:"Fragment",metadata:null,name:"GenerativeProvidersCard_data",selections:[{alias:null,args:null,concreteType:"GenerativeProvider",kind:"LinkedField",name:"modelProviders",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"key",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"dependenciesInstalled",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"dependencies",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"apiKeyEnvVar",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"apiKeySet",storageKey:null}],storageKey:null}],type:"Query",abstractKey:null};ws.hash="0168d590171b96e7a2e41449a41754be";function mf({query:n}){const[a,t]=m.useState(null),l=Ma(f=>f),i=Ma(f=>f.setCredential),r=x.useFragment(ws,n),o=m.useMemo(()=>[...r.modelProviders],[r]),d=m.useMemo(()=>[{header:"Name",accessorKey:"name",cell:({row:f})=>s(h,{direction:"row",alignItems:"center",gap:"size-100",children:[e(At,{provider:f.original.key,height:18}),f.original.name]})},{header:"Environment Variable",accessorKey:"apiKeyEnvVar",cell:({row:f})=>e(v,{children:f.original.apiKeyEnvVar})},{header:"configuration",accessorKey:"apiKeySet",cell:({row:f})=>f.original.dependenciesInstalled?l[f.original.key]?e(v,{color:"success",children:"local"}):f.original.apiKeySet?e(v,{color:"success",children:"configured on the server"}):e(v,{color:"text-700",children:"not configured"}):e(v,{color:"warning",children:"missing dependencies"})},{header:"",accessorKey:"id",cell:({row:f})=>e(h,{direction:"row",justifyContent:"end",gap:"size-100",width:"100%",children:e(M,{size:"S",leadingVisual:e(L,{svg:e(gt,{})}),onPress:()=>{t(f.original)}})})}],[l]),c=Le({columns:d,data:o,getCoreRowModel:we(),getSortedRowModel:Pn()}),p=c.getRowModel().rows;return s(q,{title:"AI Providers",bodyStyle:{padding:0},variant:"compact",children:[s("table",{css:sn,children:[e("thead",{children:c.getHeaderGroups().map(f=>e("tr",{children:f.headers.map(u=>e("th",{colSpan:u.colSpan,children:u.isPlaceholder?null:e("div",{children:Z(u.column.columnDef.header,u.getContext())})},u.id))},f.id))}),e("tbody",{children:p.map(f=>e("tr",{children:f.getVisibleCells().map(u=>e("td",{children:Z(u.column.columnDef.cell,u.getContext())},u.id))},f.id))})]}),e(ae,{type:"modal",isDismissable:!0,onDismiss:()=>t(null),children:a&&s(X,{title:`Set ${a.name} API Key`,size:"S",children:[s(C,{padding:"size-200",children:[e(C,{paddingBottom:"size-100",children:s(v,{size:"XS",children:["Set the credentials for the ",a.name," API. These credentials will be stored entirely in your browser and will only be sent to the server during API requests."]})}),s(Y,{onChange:f=>{i({provider:a.key,value:f})},value:l[a.key],type:"password",children:[e(J,{children:`${a.name} API Key`}),e(se,{placeholder:`e.g. ${a.apiKeyEnvVar}`}),e(v,{slot:"description",children:"The API key will be stored locally in your browser"})]})]}),e(C,{paddingX:"size-200",paddingY:"size-100",borderTopWidth:"thin",borderColor:"light",children:e(h,{direction:"row",justifyContent:"end",gap:"size-100",children:e(M,{variant:"primary",size:"S",onPress:()=>{t(null)},children:"Set API Key"})})})]})})]})}function XC(){const n=qe();return Je(n),e(mf,{query:n})}const Es={fragment:{argumentDefinitions:[],kind:"Fragment",metadata:null,name:"settingsAIProvidersPageLoaderQuery",selections:[{args:null,kind:"FragmentSpread",name:"GenerativeProvidersCard_data"}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[],kind:"Operation",name:"settingsAIProvidersPageLoaderQuery",selections:[{alias:null,args:null,concreteType:"GenerativeProvider",kind:"LinkedField",name:"modelProviders",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"key",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"dependenciesInstalled",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"dependencies",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"apiKeyEnvVar",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"apiKeySet",storageKey:null}],storageKey:null}]},params:{cacheID:"cc6e19e54ea894e905970362ee382e43",id:null,metadata:{},name:"settingsAIProvidersPageLoaderQuery",operationKind:"query",text:`query settingsAIProvidersPageLoaderQuery {
1
+ import{A as E,b5 as me,b6 as Qe,b7 as Ae,b8 as Kt,B as xt,r as m,j as e,R as pe,u as ut,w as x,l as s,aA as Le,aB as Pn,aD as we,aE as Z,S as J,T as se,b9 as qe,ba as Je,ad as xl,bb as Ci,ac as Oe,ah as tn,ag as W,U as xe,P as U,ax as ie,E as F,bc as Ke,aI as ue,bd as Be,be as km,a8 as Dt,ay as Ca,a9 as _t,bf as mn,bg as bm,aJ as Sm,bh as vm,H as Fi,bi as mt,aP as _e,aO as vn,bj as pn,bk as In,m as gr,$ as Cm,F as Ki,K as Fm,bl as Km,bm as ol,bn as dl,bo as Ga,q as pt,bp as Tm,aU as yr,bq as Pm,br as Ti,bs as Im,bt as xm,bu as Dm,bv as _m,bw as Lm,bx as wm,by as Em,bz as Rm,bA as Mm,bB as it,D as Vm,bC as Am,bD as bt,g as fr,bE as zm,aF as Dl,bF as hr,bG as kr,bH as br,bI as Nm,ai as $m,bJ as Om,ae as Qm,af as jm,bK as qm,n as Bm}from"./vendor-C3H3sezv.js";import{c as X,D as ae,C as q,t as _l,h as xn,b as Lt,L as wt,v as Et,w as Sr,o as Ll,P as Va,f as $e,g as la,T as Se,E as Rt,q as ia,r as Aa,a as Ne,d as ra,x as Fa,s as Mt,y as Um,i as Vt,z as Hm,A as Gm,B as Wm,G as wl,H as El,u as Jm,J as Zm}from"./vendor-arizeai-DT8pwHfH.js";import{s as Xm,l as Ym,j as Rl,a as Ve,i as Ml,b as ep,c as np,d as ea,e as Cn,f as vr,D as Cr,g as Zn,h as tt,k as ap,m as ve,T as en,n as tp,o as Vl,p as Pi,q as lp,r as Ii,t as ip,u as rp,v as sp,G as At,_ as h,w as v,x as M,I as L,E as gt,y as sn,z as C,A as Y,R as Fe,B as Pe,C as he,F as De,H as Ee,J as Re,K as on,L as dn,M as cn,N as Al,O as Ce,P as Dn,Q as Fr,S as He,U as ne,V as de,W as Ge,X as Kr,Y as Pt,Z as ze,$ as An,a0 as op,a1 as Ye,a2 as Tr,a3 as Cl,a4 as zl,a5 as dp,a6 as cp,a7 as Fl,a8 as St,a9 as ce,aa as Pr,ab as up,ac as mp,ad as un,ae as pp,af as wn,ag as gp,ah as Ir,ai as zt,aj as Ka,ak as Nl,al as $l,am as xr,an as yp,ao as fp,ap as hp,aq as kp,ar as bp,as as Sp,at as vp,au as rt,av as Cp,aw as ge,ax as Kl,ay as ye,az as fe,aA as nn,aB as Fp,aC as Kp,aD as Tp,aE as gn,aF as oe,aG as Dr,aH as Pp,aI as Ip,aJ as xp,aK as Nt,aL as $t,aM as _r,aN as Dp,aO as _p,aP as Lp,aQ as Ot,aR as wp,aS as Lr,aT as La,aU as st,aV as Ze,aW as Ep,aX as Ol,aY as yn,aZ as Rp,a_ as Mp,a$ as Vp,b0 as Rn,b1 as be,b2 as Ue,b3 as We,b4 as wr,b5 as sa,b6 as Me,b7 as za,b8 as zn,b9 as Mn,ba as Qt,bb as Na,bc as Ta,bd as Er,be as ln,bf as Rr,bg as Ap,bh as Ql,bi as ha,bj as zp,bk as Gn,bl as Np,bm as $p,bn as jl,bo as jt,bp as Nn,bq as oa,br as xi,bs as Di,bt as Op,bu as Qp,bv as jp,bw as $a,bx as qp,by as Bp,bz as ot,bA as Up,bB as lt,bC as Fn,bD as Xn,bE as qt,bF as Bt,bG as $n,bH as Hp,bI as Gp,bJ as rn,bK as Kn,bL as Oa,bM as ql,bN as Mr,bO as Bl,bP as Wp,bQ as Jp,bR as Zp,bS as Ul,bT as Vr,bU as Ar,bV as zr,bW as Xe,bX as Nr,bY as $r,bZ as Tl,b_ as Xp,b$ as Hl,c0 as Gl,c1 as Or,c2 as Yp,c3 as eg,c4 as ng,c5 as Wl,c6 as ag,c7 as tg,c8 as Jl,c9 as lg,ca as Qr,cb as ig,cc as rg,cd as sg,ce as og,cf as dg,cg,ch as ug,ci as Ut,cj as mg,ck as pg,cl as jr,cm as qr,cn as _i,co as gg,cp as _n,cq as On,cr as Zl,cs as Br,ct as Ur,cu as Li,cv as wi,cw as yg,cx as fg,cy as H,cz as Hr,cA as Ht,cB as Gt,cC as Qa,cD as Gr,cE as ja,cF as qa,cG as Wr,cH as Qn,cI as Wt,cJ as hg,cK as kg,cL as bg,cM as Sg,cN as vg,cO as Cg,cP as Fg,cQ as ba,cR as Jr,cS as Kg,cT as Tg,cU as Ei,cV as Pg,cW as Ig,cX as xg,cY as Dg,cZ as _g,c_ as Lg,c$ as Zr,d0 as wg,d1 as Eg,d2 as Rg,d3 as Mg,d4 as Sa,d5 as Xl,d6 as Xr,d7 as _a,d8 as Jt,d9 as Yr,da as es,db as cl,dc as Vg,dd as ns,de as Ag,df as Yl,dg as Zt,dh as hn,di as zg,dj as as,dk as Ng,dl as $g,dm as ts,dn as ls,dp as Og,dq as Qg,dr as is,ds as na,dt as jg,du as qg,dv as Ri,dw as Bg,dx as Ug,dy as Hg,dz as Gg,dA as Wg,dB as ul,dC as Jg,dD as wa,dE as Zg,dF as Xg,dG as Yg,dH as ey,dI as Xt,dJ as rs,dK as Mi,dL as ny,dM as ay,dN as ty,dO as ly,dP as ss,dQ as os,dR as iy,dS as ry,dT as sy,dU as Vi,dV as Ai}from"./components-B6cljCxu.js";import{g as da,i as ca,d as oy,E as ds,R as ua,k as ei,b as dy,p as yt,n as cs}from"./vendor-codemirror-DvimrGxD.js";import{P as us,C as ms,T as jn,a as ps,R as qn,b as ft,X as ma,Y as Tn,c as pa,B as Ra,A as dt,d as gs,e as ni,L as ys,f as cy}from"./vendor-recharts-DuSQBcYW.js";const uy=4,my={user:["user","human"],ai:["assistant","bot","ai"],system:["system"],tool:["tool"]},py="Unable to parse span input messages, expected messages which include a role and content.",gy="Unable to parse span output messages, expected messages which include a role and content.",yy="Unable to parse span output expected output.value to be present.",fy="Unable to parse span attributes, attributes must be valid JSON.",hy="Unable to parse model config, expected llm.model_name to be present.",ky="Unable to parse model config, expected llm.invocation_parameters JSON string to be present.",by="Unable to parse invocation parameters response_format, expected llm.invocation_parameters.response_format to be a well formed json object or undefined.",Sy="Unable to parse tools, expected tools to be an array of valid tools.",vy="Unable to parse prompt template variables, expected prompt template variables to be a valid JSON object string.",zi={AZURE_OPENAI:[],ANTHROPIC:["claude"],OPENAI:["gpt","o1"],GOOGLE:["gemini"]},Yn="TOOL_CHOICE",Ea="tool_choice",Sn="RESPONSE_FORMAT",kn="response_format",Cy=[Yn,Sn],Fy=E.object({tool_call:E.object({id:E.string().optional(),function:E.object({name:E.string(),arguments:E.string()}).partial()}).partial()}).partial(),fs=E.object({[me.message]:E.object({[Qe.role]:E.string(),[Qe.content]:E.union([E.string(),E.array(E.record(E.string(),E.unknown()))]).default(""),[Qe.tool_calls]:E.array(Fy).optional(),[Qe.tool_call_id]:E.string().optional()})}),Ky=E.object({[me.llm]:E.object({[Ae.input_messages]:E.array(fs)})}),Ty=E.object({[me.llm]:E.object({[Ae.output_messages]:E.array(fs)})}),Py=E.object({[me.output]:E.object({value:E.string()})}),hs=Xm()(E.enum(["user","ai","system","tool"])),Iy=E.object({id:E.number(),role:hs,content:E.string().optional(),toolCallId:E.string().optional(),toolCalls:E.array(Ym).optional()}),xy=E.array(Iy),ks=E.lazy(()=>E.record(Rl)),Dy=ks,bs=E.string().transform((n,a)=>{const{json:t}=Ve(n);if(!Ml(t))return a.addIssue({code:E.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),E.NEVER;const{success:l,data:i}=Dy.safeParse(t);return l?i:(a.addIssue({code:E.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),E.NEVER)}).default("{}"),_y=E.object({[me.llm]:E.object({[Ae.provider]:E.string().optional(),[Ae.model_name]:E.string()})}),Ss=E.object({[me.llm]:E.object({[Ae.invocation_parameters]:bs})}),Ly=E.object({[me.llm]:E.object({[Ae.invocation_parameters]:bs.pipe(E.object({response_format:ks.optional()}))})}),wy=E.object({url:E.object({full:E.string(),path:E.string().optional()})}),Ey=E.string().transform((n,a)=>{const{json:t}=Ve(n);return t==null||!Ml(t)?(a.addIssue({code:E.ZodIssueCode.custom,message:"The tool JSON schema must be a valid JSON object"}),E.NEVER):t}).transform((n,a)=>{const{data:t,success:l}=ep.safeParse(n);return l?t:(a.addIssue({code:E.ZodIssueCode.custom,message:"The tool JSON schema must be a valid tool schema"}),E.NEVER)}),Ry=E.object({[me.llm]:E.object({[Ae.tools]:E.array(E.object({[me.tool]:E.object({[Kt.json_schema]:Ey})}).optional()).optional()}).optional()}).optional(),My=E.lazy(()=>E.object({type:E.literal("json_schema"),json_schema:E.object({name:E.string().describe("The name of the schema"),schema:np.describe("The schema itself in JSON schema format"),strict:E.literal(!0).describe("The schema must be strict")})})),Vy=xt(My,{removeAdditionalStrategy:"passthrough"}),Ay=E.string().transform((n,a)=>{const{json:t}=Ve(n);return ea(t)?Object.entries(t).reduce((i,[r,o])=>{if(typeof o=="string")i[r]=o;else{const{json:d}=Cn(o);d!=null&&(i[r]=d)}return i},{}):(a.addIssue({code:E.ZodIssueCode.custom,message:"The prompt template variables must be a valid JSON object"}),E.NEVER)}),zy=E.object({[me.llm]:E.object({[Ae.prompt_template]:E.object({variables:Ay}).optional()}).optional()}).optional();function vs(n){return hs.safeParse(n).success}function Wn(n){const a=n.toLowerCase();if(vs(a))return a;for(const[t,l]of Object.entries(my))if(l.includes(a))return t;return ap}function Ny({toolCalls:n,provider:a}){if(n!=null)return n.map(({tool_call:t})=>{var i,r,o,d;if(t==null)return null;let l={};if(((i=t.function)==null?void 0:i.arguments)!=null){const{json:c}=Ve(t.function.arguments);ea(c)&&(l=c)}switch(a){case"OPENAI":case"AZURE_OPENAI":return{id:t.id??"",type:"function",function:{name:((r=t.function)==null?void 0:r.name)??"",arguments:l}};case"ANTHROPIC":return{id:t.id??"",type:"tool_use",name:((o=t.function)==null?void 0:o.name)??"",input:l};case"GOOGLE":return{id:t.id??"",function:{name:((d=t.function)==null?void 0:d.name)??"",arguments:l}};default:ve()}}).filter(t=>t!=null)}function Cs({messages:n,provider:a}){return n.map(({message:t})=>({id:Zn(),role:t.tool_call_id!=null?Wn("tool"):Wn(t.role),content:typeof t.content=="string"?t.content:void 0,toolCalls:Ny({provider:a,toolCalls:t.tool_calls}),toolCallId:t.tool_call_id}))}function $y({provider:n,parsedAttributes:a}){var l;const t=Ky.safeParse(a);if(!t.success)return{messageParsingErrors:[py],messages:null};if(n==="ANTHROPIC"){const{success:i,data:r}=Ss.safeParse(a);if(i){const o=t.data.llm.input_messages,d=(l=r.llm.invocation_parameters)==null?void 0:l.system;typeof d=="string"&&d&&(!o||o[0].message.role!=="system")&&t.data.llm.input_messages.unshift({message:{role:"system",content:d}})}}return{messageParsingErrors:[],messages:Cs({provider:n,messages:t.data.llm.input_messages})}}function Oy({provider:n,parsedAttributes:a}){const t=[],l=Ty.safeParse(a);if(l.success)return{output:Cs({provider:n,messages:l.data.llm.output_messages}),outputParsingErrors:t};t.push(gy);const i=Py.safeParse(a);return i.success?{output:i.data.output.value,outputParsingErrors:t}:(t.push(yy),{output:void 0,outputParsingErrors:t})}function Fs(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 Qy(n){for(const a of Object.keys(zi))if(zi[a].some(l=>n.includes(l)))return a;return Cr}function jy(n){const{success:a,data:t}=_y.safeParse(n);if(a){const l=Fs(t.llm.provider)||Qy(t.llm.model_name),i=qy(n);return{modelConfig:{...Object.fromEntries(Object.entries(i).filter(([r,o])=>o!==null)),modelName:t.llm.model_name,provider:l,invocationParameters:[],supportedInvocationParameters:[]},parsingErrors:[]}}return{modelConfig:null,parsingErrors:[hy]}}function qy(n){const{success:a,data:t}=wy.safeParse(n);if(a)try{const l=new URL(t.url.full);let i=l;if(t.url.path)try{i=new URL(t.url.full.split(t.url.path)[0])}catch{}return{baseUrl:`${i.origin}${i.pathname}`,endpoint:l.origin,apiVersion:l.searchParams.get("api-version")||null}}catch{}return{baseUrl:null,apiVersion:null,endpoint:null}}function By(n,a=[]){const{success:t,data:l}=Ss.safeParse(n),i=[];return t||i.push(ky),{invocationParameters:ef((l==null?void 0:l.llm.invocation_parameters)??{},a),parsingErrors:i}}function Uy(n){const{success:a,data:t}=Ly.safeParse(n);return a?{responseFormat:t.llm.invocation_parameters.response_format,parsingErrors:[]}:{responseFormat:void 0,parsingErrors:[by]}}function Hy(n){var a;return(((a=n==null?void 0:n.llm)==null?void 0:a.tools)??[]).map(t=>(t==null?void 0:t.tool)==null?null:{id:tt(),definition:t.tool.json_schema}).filter(t=>t!=null)}function Gy(n){var l;const{data:a,success:t}=Ry.safeParse(n);return t?((l=a==null?void 0:a.llm)==null?void 0:l.tools)==null?{tools:null,parsingErrors:[]}:{tools:Hy(a),parsingErrors:[]}:{tools:null,parsingErrors:[Sy]}}function Wy(n){var l;const{success:a,data:t}=zy.safeParse(n);return a?((l=t==null?void 0:t.llm)==null?void 0:l.prompt_template)==null?{variables:null,parsingErrors:[]}:{variables:t.llm.prompt_template.variables,parsingErrors:[]}:{variables:null,parsingErrors:[vy]}}function Jy(n){const{instance:a,instanceMessages:t}=vr(),l={...a,template:{__type:"chat",messages:Object.values(t)}},{json:i,parseError:r}=Ve(n.attributes);if(r)return{playgroundInstance:{...l,spanId:(n==null?void 0:n.id)??null},parsingErrors:[fy]};const o=n.invocationParameters,d=jy(i);let{modelConfig:c}=d;const{parsingErrors:p}=d,{messages:f,messageParsingErrors:u}=$y({provider:(c==null?void 0:c.provider)??l.model.provider,parsedAttributes:i}),{output:g,outputParsingErrors:y}=Oy({provider:(c==null?void 0:c.provider)??l.model.provider,parsedAttributes:i}),{invocationParameters:k,parsingErrors:b}=By(i,o),{variables:S,parsingErrors:K}=Wy(i),{parsingErrors:T}=Uy(i);c=c!=null?{...c,invocationParameters:T.length>0?k.filter(_=>_.invocationName!==kn&&_.canonicalName!==Sn):k}:null;const{tools:D,parsingErrors:w}=Gy(i),P=f==null?void 0:f.map(_=>({..._,content:_.role==="tool"?ai(_.content):_.content}));return{playgroundInstance:{...l,model:c??l.model,template:P!=null?{__type:"chat",messages:P}:l.template,output:g,spanId:n.id,tools:D??l.tools},playgroundInput:S!=null?{variablesValueCache:S}:void 0,parsingErrors:[...u,...y,...p,...w,...b,...T,...K]}}const Zy=n=>xy.safeParse(n).success,Ks=({instance:n,templateFormat:a})=>{if(a==en.NONE)return[];const t=new Set,l=n.template.__type,i=tp(a);switch(l){case"chat":{n.template.messages.forEach(r=>{(r.content==null?[]:i.extractVariables(r.content)).forEach(d=>{t.add(d)})});break}case"text_completion":{i.extractVariables(n.template.prompt).forEach(o=>{t.add(o)});break}default:ve()}return Array.from(t)},Xy=({instances:n,templateFormat:a})=>a==en.NONE?[]:Array.from(new Set(n.flatMap(t=>Ks({instance:t,templateFormat:a})))),Ts=({instances:n,templateFormat:a,input:t})=>{if(a==en.NONE)return{variablesMap:{},variableKeys:[]};const l=Xy({instances:n,templateFormat:a}),i=t.variablesValueCache??{};return{variablesMap:l.reduce((o,d)=>(o[d]=i[d]||"",o),{}),variableKeys:l}};function aa(n,a){return n.invocationName===a.invocationName||n.canonicalName!=null&&a.canonicalName!=null&&n.canonicalName===a.canonicalName}const Yy=(n,a)=>n.filter(t=>a.some(l=>aa(l,t))).map(t=>{var l;return{...t,invocationName:((l=a.find(i=>aa(i,t)))==null?void 0:l.invocationName)??t.invocationName}}),Ba=n=>n.replace(/_([a-z])/g,(a,t)=>t.toUpperCase()),ef=(n,a)=>Object.entries(n).map(([t,l])=>{const i=a.find(r=>r.canonicalName&&r.canonicalName.toLowerCase()===t.toLowerCase()||r.invocationName&&r.invocationName.toLowerCase()===t.toLowerCase());return i==null||i.invocationInputField==null||i.invocationName==null?null:{canonicalName:i.canonicalName,invocationName:i.invocationName,[Ba(i.invocationInputField)]:l}}).filter(t=>t!=null),Ps=n=>{const{provider:a,validatedToolDefinition:t}=rp(n.definition);switch(a){case"OPENAI":case"AZURE_OPENAI":return t.function.name;case"ANTHROPIC":return t.name;case"UNKNOWN":return null;default:ve()}},nf=({provider:n,toolNumber:a})=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return{id:tt(),definition:Ii(a)};case"ANTHROPIC":return{id:tt(),definition:ip(a)};case"GOOGLE":return{id:tt(),definition:Ii(a)};default:ve()}},af=n=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return Pi();case"ANTHROPIC":return lp();case"GOOGLE":return Pi();default:ve()}};function tf(n){return{content:n.content,role:lf(n.role),toolCalls:n.toolCalls,toolCallId:n.toolCallId}}function lf(n){switch(n){case"system":return"SYSTEM";case"user":return"USER";case"tool":return"TOOL";case"ai":return"AI";default:ve()}}const Is=({playgroundStore:n,instanceId:a,credentials:t})=>{var u;const{instances:l,allInstanceMessages:i}=n.getState(),r=l.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=Vl({toolChoice:r.toolChoice,targetProvider:r.model.provider});r.tools.length>0?(c=c.filter(g=>g.invocationName!==Ea&&g.canonicalName!==Yn),c.push({canonicalName:Yn,invocationName:Ea,valueJson:p})):c=c.filter(g=>g.invocationName!==Ea&&g.canonicalName!==Yn),c=d.length?Yy(c,d):c;const f=r.model.provider==="AZURE_OPENAI"?{endpoint:r.model.endpoint,apiVersion:r.model.apiVersion}:{};return{messages:o.map(tf),model:{providerKey:r.model.provider,name:r.model.modelName||"",baseUrl:r.model.baseUrl,...f},invocationParameters:Ds(c,r.model.provider,r.model.modelName),tools:r.tools.length?r.tools.map(g=>g.definition):void 0,apiKey:t[r.model.provider]||null,promptName:(u=r.prompt)==null?void 0:u.name}},Yt=(n,a)=>{if(n.template.__type==="chat"){const{messageIds:t,...l}=n.template;return{...n,template:{...l,messages:n.template.messageIds.map(i=>a[i])}}}return n},rf=({playgroundStore:n,instanceId:a,credentials:t})=>{const l=Is({playgroundStore:n,instanceId:a,credentials:t}),{instances:i,templateFormat:r,input:o,allInstanceMessages:d}=n.getState(),c=i.map(f=>Yt(f,d)),{variablesMap:p}=Ts({instances:c,input:o,templateFormat:r});return{...l,template:{variables:p,format:r}}},Ni=({playgroundStore:n,instanceId:a,credentials:t,datasetId:l})=>({...Is({playgroundStore:n,instanceId:a,credentials:t}),templateFormat:n.getState().templateFormat,datasetId:l});function ai(n){if(typeof n=="string"){const a=n.startsWith('"{')||n.startsWith('"[')||n.startsWith('"\\"');try{if(a){const l=JSON.parse(n),i=typeof l=="string"?JSON.parse(l):l;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 xs(n,a){return a.filter(t=>t.required).every(t=>n.some(l=>aa(l,t)))}const sf=n=>{for(const[a,t]of Object.entries(n))if(a.endsWith("DefaultValue")&&t!=null)return n[a]};function WC(n,a){const t=new Map(n.map(l=>[l.invocationName,l]));return a.forEach(l=>{var c;const i=l.invocationName,r=sf(l),o=Ba(l.invocationInputField||"");if(!l.invocationName||!l.invocationInputField||!i||r==null||((c=t.get(i))==null?void 0:c[o])!=null)return;const d={canonicalName:l.canonicalName,invocationName:l.invocationName,[o]:r};t.set(i,d)}),Array.from(t.values())}const of=E.object({type:E.literal("enabled")}).passthrough(),df=E.object({type:E.enum(["any","tool"])}).passthrough(),cf=(n,a)=>{if(!a)return n;const t=n.some(l=>l.canonicalName==="ANTHROPIC_EXTENDED_THINKING"&&l.valueJson&&of.safeParse(l.valueJson).success);return n.filter(l=>{if(l.canonicalName==="ANTHROPIC_EXTENDED_THINKING"&&!l.valueJson)return!1;if(t){if(l.canonicalName==="TEMPERATURE"||l.canonicalName==="TOP_P")return!1;if(l.canonicalName===Yn)return!df.safeParse(l.valueJson).success}return!0})},Ds=(n,a,t)=>a==="ANTHROPIC"?cf(n,t):n,_s=m.createContext(null);function JC({children:n,...a}){const[t]=m.useState(()=>sp(a));return e(_s.Provider,{value:t,children:n})}function Ma(n,a){const t=pe.useContext(_s);if(!t)throw new Error("Missing CredentialsContext.Provider in the tree");return ut(t,n,a)}const Ls=m.createContext(null);function uf(){const n=m.useContext(Ls);if(n===null)throw new Error("useFunctionality must be used within a FunctionalityProvider");return n}function ZC(n){return e(Ls.Provider,{value:{authenticationEnabled:window.Config.authenticationEnabled},children:n.children})}const ws={argumentDefinitions:[],kind:"Fragment",metadata:null,name:"GenerativeProvidersCard_data",selections:[{alias:null,args:null,concreteType:"GenerativeProvider",kind:"LinkedField",name:"modelProviders",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"key",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"dependenciesInstalled",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"dependencies",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"apiKeyEnvVar",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"apiKeySet",storageKey:null}],storageKey:null}],type:"Query",abstractKey:null};ws.hash="0168d590171b96e7a2e41449a41754be";function mf({query:n}){const[a,t]=m.useState(null),l=Ma(f=>f),i=Ma(f=>f.setCredential),r=x.useFragment(ws,n),o=m.useMemo(()=>[...r.modelProviders],[r]),d=m.useMemo(()=>[{header:"Name",accessorKey:"name",cell:({row:f})=>s(h,{direction:"row",alignItems:"center",gap:"size-100",children:[e(At,{provider:f.original.key,height:18}),f.original.name]})},{header:"Environment Variable",accessorKey:"apiKeyEnvVar",cell:({row:f})=>e(v,{children:f.original.apiKeyEnvVar})},{header:"configuration",accessorKey:"apiKeySet",cell:({row:f})=>f.original.dependenciesInstalled?l[f.original.key]?e(v,{color:"success",children:"local"}):f.original.apiKeySet?e(v,{color:"success",children:"configured on the server"}):e(v,{color:"text-700",children:"not configured"}):e(v,{color:"warning",children:"missing dependencies"})},{header:"",accessorKey:"id",cell:({row:f})=>e(h,{direction:"row",justifyContent:"end",gap:"size-100",width:"100%",children:e(M,{size:"S",leadingVisual:e(L,{svg:e(gt,{})}),onPress:()=>{t(f.original)}})})}],[l]),c=Le({columns:d,data:o,getCoreRowModel:we(),getSortedRowModel:Pn()}),p=c.getRowModel().rows;return s(q,{title:"AI Providers",bodyStyle:{padding:0},variant:"compact",children:[s("table",{css:sn,children:[e("thead",{children:c.getHeaderGroups().map(f=>e("tr",{children:f.headers.map(u=>e("th",{colSpan:u.colSpan,children:u.isPlaceholder?null:e("div",{children:Z(u.column.columnDef.header,u.getContext())})},u.id))},f.id))}),e("tbody",{children:p.map(f=>e("tr",{children:f.getVisibleCells().map(u=>e("td",{children:Z(u.column.columnDef.cell,u.getContext())},u.id))},f.id))})]}),e(ae,{type:"modal",isDismissable:!0,onDismiss:()=>t(null),children:a&&s(X,{title:`Set ${a.name} API Key`,size:"S",children:[s(C,{padding:"size-200",children:[e(C,{paddingBottom:"size-100",children:s(v,{size:"XS",children:["Set the credentials for the ",a.name," API. These credentials will be stored entirely in your browser and will only be sent to the server during API requests."]})}),s(Y,{onChange:f=>{i({provider:a.key,value:f})},value:l[a.key],type:"password",children:[e(J,{children:`${a.name} API Key`}),e(se,{placeholder:`e.g. ${a.apiKeyEnvVar}`}),e(v,{slot:"description",children:"The API key will be stored locally in your browser"})]})]}),e(C,{paddingX:"size-200",paddingY:"size-100",borderTopWidth:"thin",borderColor:"light",children:e(h,{direction:"row",justifyContent:"end",gap:"size-100",children:e(M,{variant:"primary",size:"S",onPress:()=>{t(null)},children:"Set API Key"})})})]})})]})}function XC(){const n=qe();return Je(n),e(mf,{query:n})}const Es={fragment:{argumentDefinitions:[],kind:"Fragment",metadata:null,name:"settingsAIProvidersPageLoaderQuery",selections:[{args:null,kind:"FragmentSpread",name:"GenerativeProvidersCard_data"}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[],kind:"Operation",name:"settingsAIProvidersPageLoaderQuery",selections:[{alias:null,args:null,concreteType:"GenerativeProvider",kind:"LinkedField",name:"modelProviders",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"key",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"dependenciesInstalled",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"dependencies",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"apiKeyEnvVar",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"apiKeySet",storageKey:null}],storageKey:null}]},params:{cacheID:"cc6e19e54ea894e905970362ee382e43",id:null,metadata:{},name:"settingsAIProvidersPageLoaderQuery",operationKind:"query",text:`query settingsAIProvidersPageLoaderQuery {
2
2
  ...GenerativeProvidersCard_data
3
3
  }
4
4
 
@@ -140,7 +140,7 @@ fragment UsersTable_users on Query {
140
140
  }
141
141
  }
142
142
  }
143
- `}}}();Bs.hash="97d1aefa41e8831e57b6bb0d1a078a7c";function bf({onNewUserCreated:n,onNewUserCreationError:a,onDismiss:t}){const[l,i]=x.useMutation(Bs),r=m.useCallback(o=>{l({variables:{input:{email:o.email,username:o.username,password:o.password,role:o.role}},onCompleted:d=>{n(d.createUser.user.email)},onError:d=>{a(d)}})},[l,n,a]);return e(ae,{onDismiss:t,isDismissable:!0,type:"modal",isKeyboardDismissDisabled:!0,children:e(X,{title:"Add user",children:e(op,{onSubmit:r,isSubmitting:i})})})}const Us={fragment:{argumentDefinitions:[],kind:"Fragment",metadata:null,name:"UsersTableQuery",selections:[{args:null,kind:"FragmentSpread",name:"UsersTable_users"}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[],kind:"Operation",name:"UsersTableQuery",selections:[{alias:null,args:null,concreteType:"UserConnection",kind:"LinkedField",name:"users",plural:!1,selections:[{alias:null,args:null,concreteType:"UserEdge",kind:"LinkedField",name:"edges",plural:!0,selections:[{alias:"user",args:null,concreteType:"User",kind:"LinkedField",name:"node",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"email",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"username",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"createdAt",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"authMethod",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"profilePictureUrl",storageKey:null},{alias:null,args:null,concreteType:"UserRole",kind:"LinkedField",name:"role",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null}],storageKey:null}],storageKey:null}],storageKey:null}],storageKey:null}]},params:{cacheID:"d3f85064b63f026a47a8ef139638b933",id:null,metadata:{},name:"UsersTableQuery",operationKind:"query",text:`query UsersTableQuery {
143
+ `}}}();Bs.hash="97d1aefa41e8831e57b6bb0d1a078a7c";function bf({onNewUserCreated:n,onNewUserCreationError:a,onDismiss:t}){const[l,i]=x.useMutation(Bs),r=m.useCallback(o=>{l({variables:{input:{email:o.email,username:o.username,password:o.password,role:o.role,sendWelcomeEmail:!0}},onCompleted:d=>{n(d.createUser.user.email)},onError:d=>{a(d)}})},[l,n,a]);return e(ae,{onDismiss:t,isDismissable:!0,type:"modal",isKeyboardDismissDisabled:!0,children:e(X,{title:"Add user",children:e(op,{onSubmit:r,isSubmitting:i})})})}const Us={fragment:{argumentDefinitions:[],kind:"Fragment",metadata:null,name:"UsersTableQuery",selections:[{args:null,kind:"FragmentSpread",name:"UsersTable_users"}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[],kind:"Operation",name:"UsersTableQuery",selections:[{alias:null,args:null,concreteType:"UserConnection",kind:"LinkedField",name:"users",plural:!1,selections:[{alias:null,args:null,concreteType:"UserEdge",kind:"LinkedField",name:"edges",plural:!0,selections:[{alias:"user",args:null,concreteType:"User",kind:"LinkedField",name:"node",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"email",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"username",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"createdAt",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"authMethod",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"profilePictureUrl",storageKey:null},{alias:null,args:null,concreteType:"UserRole",kind:"LinkedField",name:"role",plural:!1,selections:[{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null}],storageKey:null}],storageKey:null}],storageKey:null}],storageKey:null}]},params:{cacheID:"d3f85064b63f026a47a8ef139638b933",id:null,metadata:{},name:"UsersTableQuery",operationKind:"query",text:`query UsersTableQuery {
144
144
  ...UsersTable_users
145
145
  }
146
146
 
phoenix/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "8.23.0"
1
+ __version__ = "8.24.0"