arize-phoenix 7.5.2__py3-none-any.whl → 7.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of arize-phoenix might be problematic. Click here for more details.

@@ -1,4 +1,4 @@
1
- import{r as c,j as e,dL as v,l as n,U as F,R as w,D as E,bq as L,dM as S,dN as R,dO as a,dP as k,t as I,dQ as A}from"./vendor-DvC8cT4X.js";import{k as C,Q as _,D as j,Y as z}from"./vendor-arizeai-Do1793cv.js";import{E as O,L as T,R as D,r as N,b as G,F as M,A as U,c as q,d as B,P as J,h as K,M as Q,e as m,D as V,f as W,g as H,i as Y,j as $,k as X,l as Z,p as ee,n as h,o as ae,S as re,s as te,q as oe,t as g,v as ne,w as u,x as b,y as se,z as le,B as ie,C as de,G as ce,H as x,I as pe,J as me,K as he,N as ge,O as ue,Q as be,U as xe,V as fe}from"./pages-DOPDiVdj.js";import{V as Pe,d0 as ye,at as ve,ab as Fe,d1 as we,d2 as Ee}from"./components-CFq5ktuL.js";import"./vendor-three-DwGkEfCM.js";import"./vendor-codemirror-BzwZPyJM.js";import"./vendor-shiki-Cl9QBraO.js";import"./vendor-recharts-_Jb7JjhG.js";(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const t of document.querySelectorAll('link[rel="modulepreload"]'))d(t);new MutationObserver(t=>{for(const o of t)if(o.type==="childList")for(const l of o.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&d(l)}).observe(document,{childList:!0,subtree:!0});function i(t){const o={};return t.integrity&&(o.integrity=t.integrity),t.referrerPolicy&&(o.referrerPolicy=t.referrerPolicy),t.crossOrigin==="use-credentials"?o.credentials="include":t.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function d(t){if(t.ep)return;t.ep=!0;const o=i(t);fetch(t.href,o)}})();const f="arize-phoenix-feature-flags",p={__RESET__:!1};function Le(){const r=localStorage.getItem(f);if(!r)return p;try{const s=JSON.parse(r);return Object.assign({},p,s)}catch{return p}}const P=c.createContext(null);function Se(){const r=w.useContext(P);if(r===null)throw new Error("useFeatureFlags must be used within a FeatureFlagsProvider");return r}function Re(r){const[s,i]=c.useState(Le()),d=t=>{localStorage.setItem(f,JSON.stringify(t)),i(t)};return e(P.Provider,{value:{featureFlags:s,setFeatureFlags:d},children:e(ke,{children:r.children})})}function ke(r){const{children:s}=r,{featureFlags:i,setFeatureFlags:d}=Se(),[t,o]=c.useState(!1);return v("ctrl+shift+f",()=>o(!0)),n(F,{children:[s,e(j,{type:"modal",isDismissable:!0,onDismiss:()=>o(!1),children:t&&e(C,{title:"Feature Flags",children:e(Pe,{height:"size-1000",padding:"size-100",children:Object.keys(i).map(l=>e(_,{isSelected:i[l],onChange:y=>d({...i,[l]:y}),children:l},l))})})})]})}function Ie(){return e(L,{styles:E`
1
+ import{r as c,j as e,dL as v,l as n,U as F,R as w,D as E,bq as L,dM as S,dN as R,dO as a,dP as k,t as I,dQ as A}from"./vendor-DvC8cT4X.js";import{k as C,Q as _,D as j,Y as z}from"./vendor-arizeai-Do1793cv.js";import{E as O,L as T,R as D,r as N,b as G,F as M,A as U,c as q,d as B,P as J,h as K,M as Q,e as m,D as V,f as W,g as H,i as Y,j as $,k as X,l as Z,p as ee,n as h,o as ae,S as re,s as te,q as oe,t as g,v as ne,w as u,x as b,y as se,z as le,B as ie,C as de,G as ce,H as x,I as pe,J as me,K as he,N as ge,O as ue,Q as be,U as xe,V as fe}from"./pages-Bkv2QK8h.js";import{V as Pe,d0 as ye,at as ve,ab as Fe,d1 as we,d2 as Ee}from"./components-BT4CFAMG.js";import"./vendor-three-DwGkEfCM.js";import"./vendor-codemirror-BzwZPyJM.js";import"./vendor-shiki-Cl9QBraO.js";import"./vendor-recharts-_Jb7JjhG.js";(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const t of document.querySelectorAll('link[rel="modulepreload"]'))d(t);new MutationObserver(t=>{for(const o of t)if(o.type==="childList")for(const l of o.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&d(l)}).observe(document,{childList:!0,subtree:!0});function i(t){const o={};return t.integrity&&(o.integrity=t.integrity),t.referrerPolicy&&(o.referrerPolicy=t.referrerPolicy),t.crossOrigin==="use-credentials"?o.credentials="include":t.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function d(t){if(t.ep)return;t.ep=!0;const o=i(t);fetch(t.href,o)}})();const f="arize-phoenix-feature-flags",p={__RESET__:!1};function Le(){const r=localStorage.getItem(f);if(!r)return p;try{const s=JSON.parse(r);return Object.assign({},p,s)}catch{return p}}const P=c.createContext(null);function Se(){const r=w.useContext(P);if(r===null)throw new Error("useFeatureFlags must be used within a FeatureFlagsProvider");return r}function Re(r){const[s,i]=c.useState(Le()),d=t=>{localStorage.setItem(f,JSON.stringify(t)),i(t)};return e(P.Provider,{value:{featureFlags:s,setFeatureFlags:d},children:e(ke,{children:r.children})})}function ke(r){const{children:s}=r,{featureFlags:i,setFeatureFlags:d}=Se(),[t,o]=c.useState(!1);return v("ctrl+shift+f",()=>o(!0)),n(F,{children:[s,e(j,{type:"modal",isDismissable:!0,onDismiss:()=>o(!1),children:t&&e(C,{title:"Feature Flags",children:e(Pe,{height:"size-1000",padding:"size-100",children:Object.keys(i).map(l=>e(_,{isSelected:i[l],onChange:y=>d({...i,[l]:y}),children:l},l))})})})]})}function Ie(){return e(L,{styles:E`
2
2
  body {
3
3
  background-color: var(--ac-global-color-grey-75);
4
4
  color: var(--ac-global-text-color-900);
@@ -1,4 +1,4 @@
1
- import{z as R,aD as de,aE as Pe,aF as Le,aG as za,A as Kd,r as u,j as e,R as ve,n as Pa,D as C,l as s,aH as Qe,a0 as Z,U as B,t as D,a6 as Ue,a7 as H,a8 as Ke,a9 as Te,ac as G,aI as he,aJ as cn,aK as un,aL as $e,aM as Td,aN as xt,aO as Kn,aP as Ua,a2 as ie,aQ as Aa,ab as Qn,g as Wl,aR as xd,a4 as _t,G as Id,aS as Dd,aT as gt,aU as pt,aV as ya,aW as La,aX as Jl,o as wt,aY as Pd,ay as Ld,az as Ed,aZ as _d,p as Zl,q as wd,a_ as Rd,ah as Md,a$ as Ad,b0 as gl,b1 as Nd,b2 as zd,b3 as Vd,b4 as $d,b5 as Od,b6 as Qd,b7 as jd,b8 as qd,b9 as Ud}from"./vendor-DvC8cT4X.js";import{A as ce,C as j,h as Rt,k as W,D as X,B as Mt,y as je,z as ee,G as Bd,s as Wa,p as Ja,P as ta,j as jn,q as Za,v as qn,w as la,H as Ze,L as Va,J as Xl,K as Hd,M as Yl,N as Gd,O as Wd,Q as ia,e as ze,f as ra,T as me,S as At,i as Me,g as ne,E as Xa,a as De,U as ei,V as Nt,c as Un,o as pl,W as Jd,n as Zd,I as Xd,m as yl,l as Yd,u as ec,X as nc,r as ac,R as Fa,d as ni}from"./vendor-arizeai-Do1793cv.js";import{s as zt,a as ue,l as tc,j as ai,b as we,i as ti,c as li,d as vn,e as ii,f as lc,g as Ta,D as ic,h as $a,k as rc,T as Mn,m as sc,n as fl,o as oc,p as dc,q as hl,r as cc,t as uc,N as mc,u as gc,L as ye,v as Ce,w as Ea,B as pc,_ as h,x as bn,I,C as yc,G as ri,y as Vt,P as sa,z as Ya,S as fc,A as hc,E as kc,F as bc,H as Sc,J as vc,K as Cc,M as Fc,O as dn,Q as N,R as Be,U as si,V as K,W as Re,X as $t,Y as Bn,Z as _e,$ as T,a0 as pe,a1 as Fe,a2 as oa,a3 as mn,a4 as fn,a5 as et,a6 as xe,a7 as re,a8 as Je,a9 as Tn,aa as se,ab as Ae,ac as oi,ad as Ge,ae as di,af as Xe,ag as xn,ah as Ot,ai as nn,aj as hn,ak as Qt,al as ci,am as ui,an as gn,ao as ke,ap as be,aq as Se,ar as kl,as as bl,at as Hn,au as Kc,av as Tc,aw as U,ax as mi,ay as jt,az as nt,aA as da,aB as gi,aC as ca,aD as ua,aE as pi,aF as kn,aG as Ee,aH as at,aI as In,aJ as yi,aK as qt,aL as an,aM as fi,aN as xc,aO as Ic,aP as Dc,aQ as Pc,aR as Lc,aS as tn,aT as ln,aU as Ec,aV as He,aW as _c,aX as wc,aY as hi,aZ as Rc,a_ as Mc,a$ as Sl,b0 as Ac,b1 as Nc,b2 as zc,b3 as Vc,b4 as $c,b5 as Oc,b6 as ki,b7 as Qc,b8 as jc,b9 as qc,ba as Uc,bb as Bc,bc as zn,bd as Ut,be as bi,bf as ea,bg as It,bh as Rn,bi as Sn,bj as Hc,bk as Gc,bl as Si,bm as tt,bn as vi,bo as rn,bp as Wc,bq as Jc,br as xa,bs as Oa,bt as Ci,bu as Zc,bv as Ve,bw as Bt,bx as Xc,by as Yc,bz as eu,bA as nu,bB as Ht,bC as qe,bD as Ye,bE as ma,bF as au,bG as lt,bH as Fi,bI as Ki,bJ as yt,bK as tu,bL as Gt,bM as Wt,bN as We,bO as Ne,bP as lu,bQ as Jt,bR as Ti,bS as xi,bT as Ii,bU as iu,bV as Dn,bW as Di,bX as Cn,bY as ru,bZ as vl,b_ as Pi,b$ as su,c0 as ou,c1 as du,c2 as cu,c3 as Li,c4 as sn,c5 as uu,c6 as na,c7 as Dt,c8 as mu,c9 as Ei,ca as _i,cb as gu,cc as pu,cd as yu,ce as it,cf as wi,cg as _a,ch as Cl,ci as Ri,cj as Zt,ck as fu,cl as hu,cm as Xt,cn as Mi,co as Ai,cp as ku,cq as Pt,cr as Ni,cs as bu,ct as Su,cu as Na,cv as vu,cw as Cu,cx as zi,cy as Vi,cz as Fu,cA as Ku,cB as Tu,cC as xu,cD as Yt,cE as $i,cF as Iu,cG as Du,cH as Lt,cI as Pu,cJ as Lu,cK as Eu,cL as _u,cM as wu,cN as Ru,cO as Oi,cP as Mu,cQ as Au,cR as Nu,cS as zu,cT as Vu,cU as $u,cV as Ou,cW as Qu,cX as ju,cY as qu,cZ as Uu,c_ as Fl,c$ as Kl}from"./components-CFq5ktuL.js";import{p as el,R as ga,n as pa,i as Bu,E as Qi,m as Hu,o as Gu,g as Wu}from"./vendor-codemirror-BzwZPyJM.js";import{R as Pn,C as wa,X as Ln,Y as en,a as En,T as _n,B as aa,A as Ia,b as ji,c as nl,L as qi,d as Ju,P as Zu,e as Xu,f as Yu}from"./vendor-recharts-_Jb7JjhG.js";const em=4,nm={user:["user","human"],ai:["assistant","bot","ai"],system:["system"],tool:["tool"]},am="Unable to parse span input messages, expected messages which include a role and content.",tm="Unable to parse span output messages, expected messages which include a role and content.",lm="Unable to parse span output expected output.value to be present.",im="Unable to parse span attributes, attributes must be valid JSON.",rm="Unable to parse model config, expected llm.model_name to be present.",sm="Unable to parse model config, expected llm.invocation_parameters JSON string to be present.",om="Unable to parse invocation parameters response_format, expected llm.invocation_parameters.response_format to be a well formed json object or undefined.",dm="Unable to parse tools, expected tools to be an array of valid tools.",cm="Unable to parse prompt template variables, expected prompt template variables to be a valid JSON object string.",Tl={AZURE_OPENAI:[],ANTHROPIC:["claude"],OPENAI:["gpt","o1"],GEMINI:["gemini"]},Ka="TOOL_CHOICE",Qa="tool_choice",Vn="RESPONSE_FORMAT",An="response_format",um=[Ka,Vn],al=zt()(R.union([R.literal("auto"),R.literal("none"),R.literal("required"),R.object({type:R.literal("function"),function:R.object({name:R.string()})})])),tl=R.object({type:R.union([R.literal("auto"),R.literal("any"),R.literal("tool")]),disable_parallel_tool_use:R.boolean().optional(),name:R.string().optional()}),mm=tl.transform(n=>{switch(n.type){case"any":case"auto":return"auto";case"tool":return n.name?{type:"function",function:{name:n.name}}:"auto";default:return"auto"}}),gm=al.transform(n=>typeof n=="string"?{type:"auto"}:{type:"tool",name:n.function.name});R.union([al,tl]);const pm=n=>{const{success:a,data:t}=al.safeParse(n);if(a)return{provider:"OPENAI",toolChoice:t};const{success:l,data:i}=tl.safeParse(n);return l?{provider:"ANTHROPIC",toolChoice:i}:{provider:null,toolChoice:null}},ym=n=>{const{provider:a,toolChoice:t}=pm(n);if(a==null||t==null)throw new Error("Could not detect provider of tool choice");switch(a){case"AZURE_OPENAI":case"OPENAI":return t;case"ANTHROPIC":return mm.parse(t);default:ue()}},fm=({toolChoice:n,targetProvider:a})=>{switch(a){case"AZURE_OPENAI":case"OPENAI":return n;case"ANTHROPIC":return gm.parse(n);case"GEMINI":return n;default:ue()}},hm=({toolChoice:n,targetProvider:a})=>{try{const t=ym(n);return fm({toolChoice:t,targetProvider:a})}catch{return null}},km=R.object({tool_call:R.object({id:R.string().optional(),function:R.object({name:R.string(),arguments:R.string()}).partial()}).partial()}).partial(),Ui=R.object({[de.message]:R.object({[Pe.role]:R.string(),[Pe.content]:R.union([R.string(),R.array(R.record(R.string(),R.unknown()))]).default(""),[Pe.tool_calls]:R.array(km).optional(),[Pe.tool_call_id]:R.string().optional()})}),bm=R.object({[de.llm]:R.object({[Le.input_messages]:R.array(Ui)})}),Sm=R.object({[de.llm]:R.object({[Le.output_messages]:R.array(Ui)})}),vm=R.object({[de.output]:R.object({value:R.string()})}),Bi=zt()(R.enum(["user","ai","system","tool"])),Cm=zt()(R.object({id:R.number(),role:Bi,content:R.string().optional(),toolCallId:R.string().optional(),toolCalls:R.array(tc).optional()})),Fm=R.array(Cm),ll=R.lazy(()=>R.record(ai)),Km=ll,Hi=R.string().transform((n,a)=>{const{json:t}=we(n);if(!ti(t))return a.addIssue({code:R.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),R.NEVER;const{success:l,data:i}=Km.safeParse(t);return l?i:(a.addIssue({code:R.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),R.NEVER)}).default("{}"),Tm=R.object({[de.llm]:R.object({[Le.provider]:R.string().optional(),[Le.model_name]:R.string()})}),Gi=R.object({[de.llm]:R.object({[Le.invocation_parameters]:Hi})}),xm=R.object({[de.llm]:R.object({[Le.invocation_parameters]:Hi.pipe(R.object({response_format:ll.optional()}))})}),Im=R.string().transform((n,a)=>{const{json:t}=we(n);return t==null||!ti(t)?(a.addIssue({code:R.ZodIssueCode.custom,message:"The tool JSON schema must be a valid JSON object"}),R.NEVER):t}).transform((n,a)=>{const{data:t,success:l}=li.safeParse(n);return l?t:(a.addIssue({code:R.ZodIssueCode.custom,message:"The tool JSON schema must be a valid tool schema"}),R.NEVER)}),Dm=R.object({[de.llm]:R.object({[Le.tools]:R.array(R.object({[de.tool]:R.object({[za.json_schema]:Im})}).optional()).optional()}).optional()}).optional(),Pm=R.lazy(()=>R.object({type:R.literal("json_schema"),json_schema:R.object({name:R.string().describe("The name of the schema"),schema:ai.describe("The schema itself in JSON format"),strict:R.literal(!0).describe("The schema must be strict")})})),Lm=Kd(Pm,{removeAdditionalStrategy:"passthrough"}),Em=R.string().transform((n,a)=>{const{json:t}=we(n);return vn(t)?Object.entries(t).reduce((i,[r,o])=>{if(typeof o=="string")i[r]=o;else{const{json:c}=ii(o);c!=null&&(i[r]=c)}return i},{}):(a.addIssue({code:R.ZodIssueCode.custom,message:"The prompt template variables must be a valid JSON object"}),R.NEVER)}),_m=R.object({[de.llm]:R.object({[Le.prompt_template]:R.object({variables:Em}).optional()}).optional()}).optional();function Wi(n){return Bi.safeParse(n).success}function Ba(n){if(Wi(n))return n;for(const[a,t]of Object.entries(nm))if(t.includes(n))return a;return rc}function wm({toolCalls:n,provider:a}){if(n!=null)return n.map(({tool_call:t})=>{var i,r,o,c;if(t==null)return null;let l={};if(((i=t.function)==null?void 0:i.arguments)!=null){const{json:d}=we(t.function.arguments);vn(d)&&(l=d)}switch(a){case"OPENAI":case"AZURE_OPENAI":return{id:t.id??"",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"GEMINI":return{id:t.id??"",function:{name:((c=t.function)==null?void 0:c.name)??"",arguments:l}};default:ue()}}).filter(t=>t!=null)}function Ji({messages:n,provider:a}){return n.map(({message:t})=>({id:Ta(),role:t.tool_call_id!=null?Ba("tool"):Ba(t.role),content:typeof t.content=="string"?t.content:void 0,toolCalls:wm({provider:a,toolCalls:t.tool_calls}),toolCallId:t.tool_call_id}))}function Rm({provider:n,parsedAttributes:a}){var l;const t=bm.safeParse(a);if(!t.success)return{messageParsingErrors:[am],messages:null};if(n==="ANTHROPIC"){const{success:i,data:r}=Gi.safeParse(a);if(i){const o=t.data.llm.input_messages,c=(l=r.llm.invocation_parameters)==null?void 0:l.system;typeof c=="string"&&c&&(!o||o[0].message.role!=="system")&&t.data.llm.input_messages.unshift({message:{role:"system",content:c}})}}return{messageParsingErrors:[],messages:Ji({provider:n,messages:t.data.llm.input_messages})}}function Mm({provider:n,parsedAttributes:a}){const t=[],l=Sm.safeParse(a);if(l.success)return{output:Ji({provider:n,messages:l.data.llm.output_messages}),outputParsingErrors:t};t.push(tm);const i=vm.safeParse(a);return i.success?{output:i.data.output.value,outputParsingErrors:t}:(t.push(lm),{output:void 0,outputParsingErrors:t})}function Am(n){if(n==null)return null;switch(n.toLowerCase()){case"openai":return"OPENAI";case"anthropic":return"ANTHROPIC";case"google":return"GEMINI";case"azure":return"AZURE_OPENAI";default:return null}}function Nm(n){for(const a of Object.keys(Tl))if(Tl[a].some(l=>n.includes(l)))return a;return ic}function zm(n){const{success:a,data:t}=Tm.safeParse(n);if(a){const l=Am(t.llm.provider)||Nm(t.llm.model_name);return{modelConfig:{modelName:t.llm.model_name,provider:l,invocationParameters:[],supportedInvocationParameters:[]},parsingErrors:[]}}return{modelConfig:null,parsingErrors:[rm]}}function Vm(n,a=[]){const{success:t,data:l}=Gi.safeParse(n),i=[];return t||i.push(sm),{invocationParameters:Gm((l==null?void 0:l.llm.invocation_parameters)??{},a),parsingErrors:i}}function $m(n){const{success:a,data:t}=xm.safeParse(n);return a?{responseFormat:t.llm.invocation_parameters.response_format,parsingErrors:[]}:{responseFormat:void 0,parsingErrors:[om]}}function Om(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:$a(),definition:t.tool.json_schema}).filter(t=>t!=null)}function Qm(n){var l;const{data:a,success:t}=Dm.safeParse(n);return t?((l=a==null?void 0:a.llm)==null?void 0:l.tools)==null?{tools:null,parsingErrors:[]}:{tools:Om(a),parsingErrors:[]}:{tools:null,parsingErrors:[dm]}}function jm(n){var l;const{success:a,data:t}=_m.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:[cm]}}function qm(n){const a=lc(),{json:t,parseError:l}=we(n.attributes);if(l)return{playgroundInstance:{...a,spanId:(n==null?void 0:n.id)??null},parsingErrors:[im]};const i=n.invocationParameters,r=zm(t);let{modelConfig:o}=r;const{parsingErrors:c}=r,{messages:d,messageParsingErrors:m}=Rm({provider:(o==null?void 0:o.provider)??a.model.provider,parsedAttributes:t}),{output:f,outputParsingErrors:g}=Mm({provider:(o==null?void 0:o.provider)??a.model.provider,parsedAttributes:t}),{invocationParameters:p,parsingErrors:y}=Vm(t,i),{variables:k,parsingErrors:b}=jm(t),{parsingErrors:S}=$m(t);o=o!=null?{...o,invocationParameters:S.length>0?p.filter(E=>E.invocationName!==An&&E.canonicalName!==Vn):p}:null;const{tools:v,parsingErrors:P}=Qm(t);return{playgroundInstance:{...a,model:o??a.model,template:d!=null?{__type:"chat",messages:d}:a.template,output:f,spanId:n.id,tools:v??a.tools},playgroundInput:k!=null?{variablesValueCache:k}:void 0,parsingErrors:[...m,...g,...c,...P,...y,...S,...b]}}const Um=n=>Fm.safeParse(n).success,Zi=({instance:n,templateLanguage:a})=>{if(a==Mn.NONE)return[];const t=new Set,l=n.template.__type,i=sc(a);switch(l){case"chat":{n.template.messages.forEach(r=>{(r.content==null?[]:i.extractVariables(r.content)).forEach(c=>{t.add(c)})});break}case"text_completion":{i.extractVariables(n.template.prompt).forEach(o=>{t.add(o)});break}default:ue()}return Array.from(t)},Bm=({instances:n,templateLanguage:a})=>a==Mn.NONE?[]:Array.from(new Set(n.flatMap(t=>Zi({instance:t,templateLanguage:a})))),Xi=({instances:n,templateLanguage:a,input:t})=>{if(a==Mn.NONE)return{variablesMap:{},variableKeys:[]};const l=Bm({instances:n,templateLanguage:a}),i=t.variablesValueCache??{};return{variablesMap:l.reduce((o,c)=>(o[c]=i[c]||"",o),{}),variableKeys:l}};function $n(n,a){return n.invocationName===a.invocationName||n.canonicalName!=null&&a.canonicalName!=null&&n.canonicalName===a.canonicalName}const Hm=(n,a)=>n.filter(t=>a.some(l=>$n(l,t))).map(t=>{var l;return{...t,invocationName:((l=a.find(i=>$n(i,t)))==null?void 0:l.invocationName)??t.invocationName}}),rt=n=>n.replace(/_([a-z])/g,(a,t)=>t.toUpperCase()),Gm=(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,[rt(i.invocationInputField)]:l}}).filter(t=>t!=null),ja=n=>{const{provider:a,validatedToolDefinition:t}=dc(n.definition);switch(a){case"OPENAI":case"AZURE_OPENAI":return t.function.name;case"ANTHROPIC":return t.name;case"UNKNOWN":return null;default:ue()}},xl=({provider:n,toolNumber:a})=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return{id:$a(),definition:hl(a)};case"ANTHROPIC":return{id:$a(),definition:cc(a)};case"GEMINI":return{id:$a(),definition:hl(a)};default:ue()}},Wm=n=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return fl();case"ANTHROPIC":return oc();case"GEMINI":return fl();default:ue()}};function Jm(n){return{content:n.content,role:Zm(n.role),toolCalls:n.toolCalls,toolCallId:n.toolCallId}}function Zm(n){switch(n){case"system":return"SYSTEM";case"user":return"USER";case"tool":return"TOOL";case"ai":return"AI";default:ue()}}const Yi=({playgroundStore:n,instanceId:a,credentials:t})=>{const{instances:l}=n.getState(),i=l.find(m=>m.id===a);if(!i)throw new Error(`No instance found for id ${a}`);if(i.template.__type!=="chat")throw new Error("We only support chat templates for now");const r=i.model.supportedInvocationParameters;let o=[...i.model.invocationParameters];const c=hm({toolChoice:i.toolChoice,targetProvider:i.model.provider});i.tools.length>0?(o=o.filter(m=>m.invocationName!==Qa&&m.canonicalName!==Ka),o.push({canonicalName:Ka,invocationName:Qa,valueJson:c})):o=o.filter(m=>m.invocationName!==Qa&&m.canonicalName!==Ka),o=r.length?Hm(o,r):o;const d=i.model.provider==="AZURE_OPENAI"?{endpoint:i.model.endpoint,apiVersion:i.model.apiVersion}:{};return{messages:i.template.messages.map(Jm),model:{providerKey:i.model.provider,name:i.model.modelName||"",...d},invocationParameters:o,tools:i.tools.length?i.tools.map(m=>m.definition):void 0,apiKey:t[i.model.provider]||null}},Xm=({playgroundStore:n,instanceId:a,credentials:t})=>{const l=Yi({playgroundStore:n,instanceId:a,credentials:t}),{instances:i,templateLanguage:r,input:o}=n.getState(),{variablesMap:c}=Xi({instances:i,input:o,templateLanguage:r});return{...l,template:{variables:c,language:r}}},Il=({playgroundStore:n,instanceId:a,credentials:t,datasetId:l})=>({...Yi({playgroundStore:n,instanceId:a,credentials:t}),templateLanguage:n.getState().templateLanguage,datasetId:l});function er(n){return n==null||n===""?"{}":typeof n=="string"?n:JSON.stringify(n,null,2)}function nr(n,a){return a.filter(t=>t.required).every(t=>n.some(l=>$n(l,t)))}const Ym=n=>{for(const[a,t]of Object.entries(n))if(a.endsWith("DefaultValue")&&t!=null)return n[a]};function D1(n,a){const t=new Map(n.map(l=>[l.canonicalName||l.invocationName,l]));return a.forEach(l=>{var d;const i=l.canonicalName||l.invocationName,r=Ym(l),o=rt(l.invocationInputField||"");if(!l.invocationName||!l.invocationInputField||!i||r==null||((d=t.get(i))==null?void 0:d[o])!=null)return;const c={canonicalName:l.canonicalName,invocationName:l.invocationName,[o]:r};t.set(i,c)}),Array.from(t.values())}const ar=u.createContext(null);function P1({children:n,...a}){const[t]=u.useState(()=>uc(a));return e(ar.Provider,{value:t,children:n})}function Ha(n,a){const t=ve.useContext(ar);if(!t)throw new Error("Missing CredentialsContext.Provider in the tree");return Pa(t,n,a)}const tr=u.createContext(null);function eg(){const n=u.useContext(tr);if(n===null)throw new Error("useFunctionality must be used within a FunctionalityProvider");return n}function L1(n){return e(tr.Provider,{value:{authenticationEnabled:window.Config.authenticationEnabled},children:n.children})}const ng=C`
1
+ import{z as R,aD as de,aE as Pe,aF as Le,aG as za,A as Kd,r as u,j as e,R as ve,n as Pa,D as C,l as s,aH as Qe,a0 as Z,U as B,t as D,a6 as Ue,a7 as H,a8 as Ke,a9 as Te,ac as G,aI as he,aJ as cn,aK as un,aL as $e,aM as Td,aN as xt,aO as Kn,aP as Ua,a2 as ie,aQ as Aa,ab as Qn,g as Wl,aR as xd,a4 as _t,G as Id,aS as Dd,aT as gt,aU as pt,aV as ya,aW as La,aX as Jl,o as wt,aY as Pd,ay as Ld,az as Ed,aZ as _d,p as Zl,q as wd,a_ as Rd,ah as Md,a$ as Ad,b0 as gl,b1 as Nd,b2 as zd,b3 as Vd,b4 as $d,b5 as Od,b6 as Qd,b7 as jd,b8 as qd,b9 as Ud}from"./vendor-DvC8cT4X.js";import{A as ce,C as j,h as Rt,k as W,D as X,B as Mt,y as je,z as ee,G as Bd,s as Wa,p as Ja,P as ta,j as jn,q as Za,v as qn,w as la,H as Ze,L as Va,J as Xl,K as Hd,M as Yl,N as Gd,O as Wd,Q as ia,e as ze,f as ra,T as me,S as At,i as Me,g as ne,E as Xa,a as De,U as ei,V as Nt,c as Un,o as pl,W as Jd,n as Zd,I as Xd,m as yl,l as Yd,u as ec,X as nc,r as ac,R as Fa,d as ni}from"./vendor-arizeai-Do1793cv.js";import{s as zt,a as ue,l as tc,j as ai,b as we,i as ti,c as li,d as vn,e as ii,f as lc,g as Ta,D as ic,h as $a,k as rc,T as Mn,m as sc,n as fl,o as oc,p as dc,q as hl,r as cc,t as uc,N as mc,u as gc,L as ye,v as Ce,w as Ea,B as pc,_ as h,x as bn,I,C as yc,G as ri,y as Vt,P as sa,z as Ya,S as fc,A as hc,E as kc,F as bc,H as Sc,J as vc,K as Cc,M as Fc,O as dn,Q as N,R as Be,U as si,V as K,W as Re,X as $t,Y as Bn,Z as _e,$ as T,a0 as pe,a1 as Fe,a2 as oa,a3 as mn,a4 as fn,a5 as et,a6 as xe,a7 as re,a8 as Je,a9 as Tn,aa as se,ab as Ae,ac as oi,ad as Ge,ae as di,af as Xe,ag as xn,ah as Ot,ai as nn,aj as hn,ak as Qt,al as ci,am as ui,an as gn,ao as ke,ap as be,aq as Se,ar as kl,as as bl,at as Hn,au as Kc,av as Tc,aw as U,ax as mi,ay as jt,az as nt,aA as da,aB as gi,aC as ca,aD as ua,aE as pi,aF as kn,aG as Ee,aH as at,aI as In,aJ as yi,aK as qt,aL as an,aM as fi,aN as xc,aO as Ic,aP as Dc,aQ as Pc,aR as Lc,aS as tn,aT as ln,aU as Ec,aV as He,aW as _c,aX as wc,aY as hi,aZ as Rc,a_ as Mc,a$ as Sl,b0 as Ac,b1 as Nc,b2 as zc,b3 as Vc,b4 as $c,b5 as Oc,b6 as ki,b7 as Qc,b8 as jc,b9 as qc,ba as Uc,bb as Bc,bc as zn,bd as Ut,be as bi,bf as ea,bg as It,bh as Rn,bi as Sn,bj as Hc,bk as Gc,bl as Si,bm as tt,bn as vi,bo as rn,bp as Wc,bq as Jc,br as xa,bs as Oa,bt as Ci,bu as Zc,bv as Ve,bw as Bt,bx as Xc,by as Yc,bz as eu,bA as nu,bB as Ht,bC as qe,bD as Ye,bE as ma,bF as au,bG as lt,bH as Fi,bI as Ki,bJ as yt,bK as tu,bL as Gt,bM as Wt,bN as We,bO as Ne,bP as lu,bQ as Jt,bR as Ti,bS as xi,bT as Ii,bU as iu,bV as Dn,bW as Di,bX as Cn,bY as ru,bZ as vl,b_ as Pi,b$ as su,c0 as ou,c1 as du,c2 as cu,c3 as Li,c4 as sn,c5 as uu,c6 as na,c7 as Dt,c8 as mu,c9 as Ei,ca as _i,cb as gu,cc as pu,cd as yu,ce as it,cf as wi,cg as _a,ch as Cl,ci as Ri,cj as Zt,ck as fu,cl as hu,cm as Xt,cn as Mi,co as Ai,cp as ku,cq as Pt,cr as Ni,cs as bu,ct as Su,cu as Na,cv as vu,cw as Cu,cx as zi,cy as Vi,cz as Fu,cA as Ku,cB as Tu,cC as xu,cD as Yt,cE as $i,cF as Iu,cG as Du,cH as Lt,cI as Pu,cJ as Lu,cK as Eu,cL as _u,cM as wu,cN as Ru,cO as Oi,cP as Mu,cQ as Au,cR as Nu,cS as zu,cT as Vu,cU as $u,cV as Ou,cW as Qu,cX as ju,cY as qu,cZ as Uu,c_ as Fl,c$ as Kl}from"./components-BT4CFAMG.js";import{p as el,R as ga,n as pa,i as Bu,E as Qi,m as Hu,o as Gu,g as Wu}from"./vendor-codemirror-BzwZPyJM.js";import{R as Pn,C as wa,X as Ln,Y as en,a as En,T as _n,B as aa,A as Ia,b as ji,c as nl,L as qi,d as Ju,P as Zu,e as Xu,f as Yu}from"./vendor-recharts-_Jb7JjhG.js";const em=4,nm={user:["user","human"],ai:["assistant","bot","ai"],system:["system"],tool:["tool"]},am="Unable to parse span input messages, expected messages which include a role and content.",tm="Unable to parse span output messages, expected messages which include a role and content.",lm="Unable to parse span output expected output.value to be present.",im="Unable to parse span attributes, attributes must be valid JSON.",rm="Unable to parse model config, expected llm.model_name to be present.",sm="Unable to parse model config, expected llm.invocation_parameters JSON string to be present.",om="Unable to parse invocation parameters response_format, expected llm.invocation_parameters.response_format to be a well formed json object or undefined.",dm="Unable to parse tools, expected tools to be an array of valid tools.",cm="Unable to parse prompt template variables, expected prompt template variables to be a valid JSON object string.",Tl={AZURE_OPENAI:[],ANTHROPIC:["claude"],OPENAI:["gpt","o1"],GEMINI:["gemini"]},Ka="TOOL_CHOICE",Qa="tool_choice",Vn="RESPONSE_FORMAT",An="response_format",um=[Ka,Vn],al=zt()(R.union([R.literal("auto"),R.literal("none"),R.literal("required"),R.object({type:R.literal("function"),function:R.object({name:R.string()})})])),tl=R.object({type:R.union([R.literal("auto"),R.literal("any"),R.literal("tool")]),disable_parallel_tool_use:R.boolean().optional(),name:R.string().optional()}),mm=tl.transform(n=>{switch(n.type){case"any":case"auto":return"auto";case"tool":return n.name?{type:"function",function:{name:n.name}}:"auto";default:return"auto"}}),gm=al.transform(n=>typeof n=="string"?{type:"auto"}:{type:"tool",name:n.function.name});R.union([al,tl]);const pm=n=>{const{success:a,data:t}=al.safeParse(n);if(a)return{provider:"OPENAI",toolChoice:t};const{success:l,data:i}=tl.safeParse(n);return l?{provider:"ANTHROPIC",toolChoice:i}:{provider:null,toolChoice:null}},ym=n=>{const{provider:a,toolChoice:t}=pm(n);if(a==null||t==null)throw new Error("Could not detect provider of tool choice");switch(a){case"AZURE_OPENAI":case"OPENAI":return t;case"ANTHROPIC":return mm.parse(t);default:ue()}},fm=({toolChoice:n,targetProvider:a})=>{switch(a){case"AZURE_OPENAI":case"OPENAI":return n;case"ANTHROPIC":return gm.parse(n);case"GEMINI":return n;default:ue()}},hm=({toolChoice:n,targetProvider:a})=>{try{const t=ym(n);return fm({toolChoice:t,targetProvider:a})}catch{return null}},km=R.object({tool_call:R.object({id:R.string().optional(),function:R.object({name:R.string(),arguments:R.string()}).partial()}).partial()}).partial(),Ui=R.object({[de.message]:R.object({[Pe.role]:R.string(),[Pe.content]:R.union([R.string(),R.array(R.record(R.string(),R.unknown()))]).default(""),[Pe.tool_calls]:R.array(km).optional(),[Pe.tool_call_id]:R.string().optional()})}),bm=R.object({[de.llm]:R.object({[Le.input_messages]:R.array(Ui)})}),Sm=R.object({[de.llm]:R.object({[Le.output_messages]:R.array(Ui)})}),vm=R.object({[de.output]:R.object({value:R.string()})}),Bi=zt()(R.enum(["user","ai","system","tool"])),Cm=zt()(R.object({id:R.number(),role:Bi,content:R.string().optional(),toolCallId:R.string().optional(),toolCalls:R.array(tc).optional()})),Fm=R.array(Cm),ll=R.lazy(()=>R.record(ai)),Km=ll,Hi=R.string().transform((n,a)=>{const{json:t}=we(n);if(!ti(t))return a.addIssue({code:R.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),R.NEVER;const{success:l,data:i}=Km.safeParse(t);return l?i:(a.addIssue({code:R.ZodIssueCode.custom,message:"The invocation parameters must be a valid JSON object"}),R.NEVER)}).default("{}"),Tm=R.object({[de.llm]:R.object({[Le.provider]:R.string().optional(),[Le.model_name]:R.string()})}),Gi=R.object({[de.llm]:R.object({[Le.invocation_parameters]:Hi})}),xm=R.object({[de.llm]:R.object({[Le.invocation_parameters]:Hi.pipe(R.object({response_format:ll.optional()}))})}),Im=R.string().transform((n,a)=>{const{json:t}=we(n);return t==null||!ti(t)?(a.addIssue({code:R.ZodIssueCode.custom,message:"The tool JSON schema must be a valid JSON object"}),R.NEVER):t}).transform((n,a)=>{const{data:t,success:l}=li.safeParse(n);return l?t:(a.addIssue({code:R.ZodIssueCode.custom,message:"The tool JSON schema must be a valid tool schema"}),R.NEVER)}),Dm=R.object({[de.llm]:R.object({[Le.tools]:R.array(R.object({[de.tool]:R.object({[za.json_schema]:Im})}).optional()).optional()}).optional()}).optional(),Pm=R.lazy(()=>R.object({type:R.literal("json_schema"),json_schema:R.object({name:R.string().describe("The name of the schema"),schema:ai.describe("The schema itself in JSON format"),strict:R.literal(!0).describe("The schema must be strict")})})),Lm=Kd(Pm,{removeAdditionalStrategy:"passthrough"}),Em=R.string().transform((n,a)=>{const{json:t}=we(n);return vn(t)?Object.entries(t).reduce((i,[r,o])=>{if(typeof o=="string")i[r]=o;else{const{json:c}=ii(o);c!=null&&(i[r]=c)}return i},{}):(a.addIssue({code:R.ZodIssueCode.custom,message:"The prompt template variables must be a valid JSON object"}),R.NEVER)}),_m=R.object({[de.llm]:R.object({[Le.prompt_template]:R.object({variables:Em}).optional()}).optional()}).optional();function Wi(n){return Bi.safeParse(n).success}function Ba(n){if(Wi(n))return n;for(const[a,t]of Object.entries(nm))if(t.includes(n))return a;return rc}function wm({toolCalls:n,provider:a}){if(n!=null)return n.map(({tool_call:t})=>{var i,r,o,c;if(t==null)return null;let l={};if(((i=t.function)==null?void 0:i.arguments)!=null){const{json:d}=we(t.function.arguments);vn(d)&&(l=d)}switch(a){case"OPENAI":case"AZURE_OPENAI":return{id:t.id??"",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"GEMINI":return{id:t.id??"",function:{name:((c=t.function)==null?void 0:c.name)??"",arguments:l}};default:ue()}}).filter(t=>t!=null)}function Ji({messages:n,provider:a}){return n.map(({message:t})=>({id:Ta(),role:t.tool_call_id!=null?Ba("tool"):Ba(t.role),content:typeof t.content=="string"?t.content:void 0,toolCalls:wm({provider:a,toolCalls:t.tool_calls}),toolCallId:t.tool_call_id}))}function Rm({provider:n,parsedAttributes:a}){var l;const t=bm.safeParse(a);if(!t.success)return{messageParsingErrors:[am],messages:null};if(n==="ANTHROPIC"){const{success:i,data:r}=Gi.safeParse(a);if(i){const o=t.data.llm.input_messages,c=(l=r.llm.invocation_parameters)==null?void 0:l.system;typeof c=="string"&&c&&(!o||o[0].message.role!=="system")&&t.data.llm.input_messages.unshift({message:{role:"system",content:c}})}}return{messageParsingErrors:[],messages:Ji({provider:n,messages:t.data.llm.input_messages})}}function Mm({provider:n,parsedAttributes:a}){const t=[],l=Sm.safeParse(a);if(l.success)return{output:Ji({provider:n,messages:l.data.llm.output_messages}),outputParsingErrors:t};t.push(tm);const i=vm.safeParse(a);return i.success?{output:i.data.output.value,outputParsingErrors:t}:(t.push(lm),{output:void 0,outputParsingErrors:t})}function Am(n){if(n==null)return null;switch(n.toLowerCase()){case"openai":return"OPENAI";case"anthropic":return"ANTHROPIC";case"google":return"GEMINI";case"azure":return"AZURE_OPENAI";default:return null}}function Nm(n){for(const a of Object.keys(Tl))if(Tl[a].some(l=>n.includes(l)))return a;return ic}function zm(n){const{success:a,data:t}=Tm.safeParse(n);if(a){const l=Am(t.llm.provider)||Nm(t.llm.model_name);return{modelConfig:{modelName:t.llm.model_name,provider:l,invocationParameters:[],supportedInvocationParameters:[]},parsingErrors:[]}}return{modelConfig:null,parsingErrors:[rm]}}function Vm(n,a=[]){const{success:t,data:l}=Gi.safeParse(n),i=[];return t||i.push(sm),{invocationParameters:Gm((l==null?void 0:l.llm.invocation_parameters)??{},a),parsingErrors:i}}function $m(n){const{success:a,data:t}=xm.safeParse(n);return a?{responseFormat:t.llm.invocation_parameters.response_format,parsingErrors:[]}:{responseFormat:void 0,parsingErrors:[om]}}function Om(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:$a(),definition:t.tool.json_schema}).filter(t=>t!=null)}function Qm(n){var l;const{data:a,success:t}=Dm.safeParse(n);return t?((l=a==null?void 0:a.llm)==null?void 0:l.tools)==null?{tools:null,parsingErrors:[]}:{tools:Om(a),parsingErrors:[]}:{tools:null,parsingErrors:[dm]}}function jm(n){var l;const{success:a,data:t}=_m.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:[cm]}}function qm(n){const a=lc(),{json:t,parseError:l}=we(n.attributes);if(l)return{playgroundInstance:{...a,spanId:(n==null?void 0:n.id)??null},parsingErrors:[im]};const i=n.invocationParameters,r=zm(t);let{modelConfig:o}=r;const{parsingErrors:c}=r,{messages:d,messageParsingErrors:m}=Rm({provider:(o==null?void 0:o.provider)??a.model.provider,parsedAttributes:t}),{output:f,outputParsingErrors:g}=Mm({provider:(o==null?void 0:o.provider)??a.model.provider,parsedAttributes:t}),{invocationParameters:p,parsingErrors:y}=Vm(t,i),{variables:k,parsingErrors:b}=jm(t),{parsingErrors:S}=$m(t);o=o!=null?{...o,invocationParameters:S.length>0?p.filter(E=>E.invocationName!==An&&E.canonicalName!==Vn):p}:null;const{tools:v,parsingErrors:P}=Qm(t);return{playgroundInstance:{...a,model:o??a.model,template:d!=null?{__type:"chat",messages:d}:a.template,output:f,spanId:n.id,tools:v??a.tools},playgroundInput:k!=null?{variablesValueCache:k}:void 0,parsingErrors:[...m,...g,...c,...P,...y,...S,...b]}}const Um=n=>Fm.safeParse(n).success,Zi=({instance:n,templateLanguage:a})=>{if(a==Mn.NONE)return[];const t=new Set,l=n.template.__type,i=sc(a);switch(l){case"chat":{n.template.messages.forEach(r=>{(r.content==null?[]:i.extractVariables(r.content)).forEach(c=>{t.add(c)})});break}case"text_completion":{i.extractVariables(n.template.prompt).forEach(o=>{t.add(o)});break}default:ue()}return Array.from(t)},Bm=({instances:n,templateLanguage:a})=>a==Mn.NONE?[]:Array.from(new Set(n.flatMap(t=>Zi({instance:t,templateLanguage:a})))),Xi=({instances:n,templateLanguage:a,input:t})=>{if(a==Mn.NONE)return{variablesMap:{},variableKeys:[]};const l=Bm({instances:n,templateLanguage:a}),i=t.variablesValueCache??{};return{variablesMap:l.reduce((o,c)=>(o[c]=i[c]||"",o),{}),variableKeys:l}};function $n(n,a){return n.invocationName===a.invocationName||n.canonicalName!=null&&a.canonicalName!=null&&n.canonicalName===a.canonicalName}const Hm=(n,a)=>n.filter(t=>a.some(l=>$n(l,t))).map(t=>{var l;return{...t,invocationName:((l=a.find(i=>$n(i,t)))==null?void 0:l.invocationName)??t.invocationName}}),rt=n=>n.replace(/_([a-z])/g,(a,t)=>t.toUpperCase()),Gm=(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,[rt(i.invocationInputField)]:l}}).filter(t=>t!=null),ja=n=>{const{provider:a,validatedToolDefinition:t}=dc(n.definition);switch(a){case"OPENAI":case"AZURE_OPENAI":return t.function.name;case"ANTHROPIC":return t.name;case"UNKNOWN":return null;default:ue()}},xl=({provider:n,toolNumber:a})=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return{id:$a(),definition:hl(a)};case"ANTHROPIC":return{id:$a(),definition:cc(a)};case"GEMINI":return{id:$a(),definition:hl(a)};default:ue()}},Wm=n=>{switch(n){case"OPENAI":case"AZURE_OPENAI":return fl();case"ANTHROPIC":return oc();case"GEMINI":return fl();default:ue()}};function Jm(n){return{content:n.content,role:Zm(n.role),toolCalls:n.toolCalls,toolCallId:n.toolCallId}}function Zm(n){switch(n){case"system":return"SYSTEM";case"user":return"USER";case"tool":return"TOOL";case"ai":return"AI";default:ue()}}const Yi=({playgroundStore:n,instanceId:a,credentials:t})=>{const{instances:l}=n.getState(),i=l.find(m=>m.id===a);if(!i)throw new Error(`No instance found for id ${a}`);if(i.template.__type!=="chat")throw new Error("We only support chat templates for now");const r=i.model.supportedInvocationParameters;let o=[...i.model.invocationParameters];const c=hm({toolChoice:i.toolChoice,targetProvider:i.model.provider});i.tools.length>0?(o=o.filter(m=>m.invocationName!==Qa&&m.canonicalName!==Ka),o.push({canonicalName:Ka,invocationName:Qa,valueJson:c})):o=o.filter(m=>m.invocationName!==Qa&&m.canonicalName!==Ka),o=r.length?Hm(o,r):o;const d=i.model.provider==="AZURE_OPENAI"?{endpoint:i.model.endpoint,apiVersion:i.model.apiVersion}:{};return{messages:i.template.messages.map(Jm),model:{providerKey:i.model.provider,name:i.model.modelName||"",...d},invocationParameters:o,tools:i.tools.length?i.tools.map(m=>m.definition):void 0,apiKey:t[i.model.provider]||null}},Xm=({playgroundStore:n,instanceId:a,credentials:t})=>{const l=Yi({playgroundStore:n,instanceId:a,credentials:t}),{instances:i,templateLanguage:r,input:o}=n.getState(),{variablesMap:c}=Xi({instances:i,input:o,templateLanguage:r});return{...l,template:{variables:c,language:r}}},Il=({playgroundStore:n,instanceId:a,credentials:t,datasetId:l})=>({...Yi({playgroundStore:n,instanceId:a,credentials:t}),templateLanguage:n.getState().templateLanguage,datasetId:l});function er(n){return n==null||n===""?"{}":typeof n=="string"?n:JSON.stringify(n,null,2)}function nr(n,a){return a.filter(t=>t.required).every(t=>n.some(l=>$n(l,t)))}const Ym=n=>{for(const[a,t]of Object.entries(n))if(a.endsWith("DefaultValue")&&t!=null)return n[a]};function D1(n,a){const t=new Map(n.map(l=>[l.canonicalName||l.invocationName,l]));return a.forEach(l=>{var d;const i=l.canonicalName||l.invocationName,r=Ym(l),o=rt(l.invocationInputField||"");if(!l.invocationName||!l.invocationInputField||!i||r==null||((d=t.get(i))==null?void 0:d[o])!=null)return;const c={canonicalName:l.canonicalName,invocationName:l.invocationName,[o]:r};t.set(i,c)}),Array.from(t.values())}const ar=u.createContext(null);function P1({children:n,...a}){const[t]=u.useState(()=>uc(a));return e(ar.Provider,{value:t,children:n})}function Ha(n,a){const t=ve.useContext(ar);if(!t)throw new Error("Missing CredentialsContext.Provider in the tree");return Pa(t,n,a)}const tr=u.createContext(null);function eg(){const n=u.useContext(tr);if(n===null)throw new Error("useFunctionality must be used within a FunctionalityProvider");return n}function L1(n){return e(tr.Provider,{value:{authenticationEnabled:window.Config.authenticationEnabled},children:n.children})}const ng=C`
2
2
  display: flex;
3
3
  direction: row;
4
4
  height: 100vh;
phoenix/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "7.5.2"
1
+ __version__ = "7.6.0"