@recombine-ai/bosun 0.13.0 → 0.14.0
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.
- package/build/client/_app/immutable/assets/0.C52H_1gD.css +1 -0
- package/build/client/_app/immutable/assets/0.C52H_1gD.css.br +0 -0
- package/build/client/_app/immutable/assets/0.C52H_1gD.css.gz +0 -0
- package/build/client/_app/immutable/chunks/{BOuo-4gP.js → DT-Nc4X8.js} +1 -1
- package/build/client/_app/immutable/chunks/DT-Nc4X8.js.br +0 -0
- package/build/client/_app/immutable/chunks/DT-Nc4X8.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{De8YgKS3.js → DpK9GbNl.js} +1 -1
- package/build/client/_app/immutable/chunks/DpK9GbNl.js.br +0 -0
- package/build/client/_app/immutable/chunks/DpK9GbNl.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DSDSeO7L.js → DpnRcXcI.js} +1 -1
- package/build/client/_app/immutable/chunks/DpnRcXcI.js.br +0 -0
- package/build/client/_app/immutable/chunks/DpnRcXcI.js.gz +0 -0
- package/build/client/_app/immutable/chunks/WU4sY4ua.js +3 -0
- package/build/client/_app/immutable/chunks/WU4sY4ua.js.br +0 -0
- package/build/client/_app/immutable/chunks/WU4sY4ua.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.DK_wVDeR.js → app.Dsozg03K.js} +2 -2
- package/build/client/_app/immutable/entry/app.Dsozg03K.js.br +0 -0
- package/build/client/_app/immutable/entry/app.Dsozg03K.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.u3sAF1g1.js +1 -0
- package/build/client/_app/immutable/entry/start.u3sAF1g1.js.br +2 -0
- package/build/client/_app/immutable/entry/start.u3sAF1g1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{0.5fEbn14Q.js → 0.PqjhF1QL.js} +1 -1
- package/build/client/_app/immutable/nodes/0.PqjhF1QL.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.PqjhF1QL.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.CJrSN8zL.js → 1.CeaYEPDC.js} +1 -1
- package/build/client/_app/immutable/nodes/1.CeaYEPDC.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.CeaYEPDC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{10.SZwTlOEA.js → 10.DDmx2fJe.js} +1 -1
- package/build/client/_app/immutable/nodes/10.DDmx2fJe.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.DDmx2fJe.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{17.D-KFl7Vk.js → 17.DSVuCWoY.js} +1 -1
- package/build/client/_app/immutable/nodes/17.DSVuCWoY.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.DSVuCWoY.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{18.DqRdJY9A.js → 18.D5HhWZR8.js} +6 -6
- package/build/client/_app/immutable/nodes/18.D5HhWZR8.js.br +0 -0
- package/build/client/_app/immutable/nodes/18.D5HhWZR8.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{2.B3Uuk25v.js → 2.D6Bd4az6.js} +1 -1
- package/build/client/_app/immutable/nodes/2.D6Bd4az6.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.D6Bd4az6.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{3.B1RGTOJ8.js → 3.LaYKamuf.js} +1 -1
- package/build/client/_app/immutable/nodes/3.LaYKamuf.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.LaYKamuf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{4.D2jcIUpD.js → 4.DvSSPHp6.js} +1 -1
- package/build/client/_app/immutable/nodes/4.DvSSPHp6.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.DvSSPHp6.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.CUyCIyRd.js → 5.D0AE4cAT.js} +1 -1
- package/build/client/_app/immutable/nodes/5.D0AE4cAT.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.D0AE4cAT.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.B8HsGA2V.js → 6.l_w8FITo.js} +1 -1
- package/build/client/_app/immutable/nodes/6.l_w8FITo.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.l_w8FITo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.jY56-_OU.js → 8.D51f7wuE.js} +1 -1
- package/build/client/_app/immutable/nodes/8.D51f7wuE.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.D51f7wuE.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{9.v5dX6L9n.js → 9.6UjiO-jB.js} +2 -2
- package/build/client/_app/immutable/nodes/9.6UjiO-jB.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.6UjiO-jB.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-4QCErf9j.js → 0-C8GM7KhM.js} +3 -3
- package/build/server/chunks/{0-4QCErf9j.js.map → 0-C8GM7KhM.js.map} +1 -1
- package/build/server/chunks/{1-Dsjy8Hzc.js → 1-D6beYunF.js} +2 -2
- package/build/server/chunks/{1-Dsjy8Hzc.js.map → 1-D6beYunF.js.map} +1 -1
- package/build/server/chunks/{10-8061c8ui.js → 10-DUm1sxLB.js} +2 -2
- package/build/server/chunks/{10-8061c8ui.js.map → 10-DUm1sxLB.js.map} +1 -1
- package/build/server/chunks/{17-3_5wsIEX.js → 17-DmTinIOr.js} +2 -2
- package/build/server/chunks/{17-3_5wsIEX.js.map → 17-DmTinIOr.js.map} +1 -1
- package/build/server/chunks/{18-D73Mw140.js → 18-WwHhv16m.js} +3 -3
- package/build/server/chunks/{18-D73Mw140.js.map → 18-WwHhv16m.js.map} +1 -1
- package/build/server/chunks/{2-DM0VjzFi.js → 2-OnF-oKQM.js} +2 -2
- package/build/server/chunks/{2-DM0VjzFi.js.map → 2-OnF-oKQM.js.map} +1 -1
- package/build/server/chunks/{3-B3zlFGkL.js → 3-Dd-gL5uB.js} +2 -2
- package/build/server/chunks/{3-B3zlFGkL.js.map → 3-Dd-gL5uB.js.map} +1 -1
- package/build/server/chunks/{4-tESdMZpI.js → 4-C3x6cmyv.js} +2 -2
- package/build/server/chunks/{4-tESdMZpI.js.map → 4-C3x6cmyv.js.map} +1 -1
- package/build/server/chunks/{5-BJMTlq4U.js → 5-CiuoFl6L.js} +2 -2
- package/build/server/chunks/{5-BJMTlq4U.js.map → 5-CiuoFl6L.js.map} +1 -1
- package/build/server/chunks/{6-CDK2Aia6.js → 6-D_KHM930.js} +2 -2
- package/build/server/chunks/{6-CDK2Aia6.js.map → 6-D_KHM930.js.map} +1 -1
- package/build/server/chunks/{8-BJbDytoU.js → 8-WnGdxpYD.js} +2 -2
- package/build/server/chunks/{8-BJbDytoU.js.map → 8-WnGdxpYD.js.map} +1 -1
- package/build/server/chunks/{9-BNfIeSqk.js → 9-CwinUUou.js} +3 -3
- package/build/server/chunks/{9-BNfIeSqk.js.map → 9-CwinUUou.js.map} +1 -1
- package/build/server/chunks/{ChatStepTrace-DQL3qlna.js → ChatStepTrace-DirlvCw9.js} +16 -4
- package/build/server/chunks/ChatStepTrace-DirlvCw9.js.map +1 -0
- package/build/server/chunks/{_page.svelte-D6bSXGHX.js → _page.svelte-B81e653N.js} +6 -4
- package/build/server/chunks/_page.svelte-B81e653N.js.map +1 -0
- package/build/server/chunks/{_page.svelte-ZWNBigwS.js → _page.svelte-BkmclXmx.js} +4 -2
- package/build/server/chunks/_page.svelte-BkmclXmx.js.map +1 -0
- package/build/server/index.js +1 -1
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +13 -13
- package/build/server/manifest.js.map +1 -1
- package/package.json +1 -1
- package/src/backend/tests/emulate-agents.ts +13 -21
- package/src/backend/tests/pii-sanitized-test-drafts.spec.ts +162 -0
- package/src/backend/tests/pii-sanitized-test-drafts.ts +106 -0
- package/src/backend/tests/pii-sanitizer.spec.ts +145 -0
- package/src/backend/tests/pii-sanitizer.ts +171 -0
- package/src/backend/tests/router.ts +37 -0
- package/build/client/_app/immutable/assets/0.B-Br6U4N.css +0 -1
- package/build/client/_app/immutable/assets/0.B-Br6U4N.css.br +0 -0
- package/build/client/_app/immutable/assets/0.B-Br6U4N.css.gz +0 -0
- package/build/client/_app/immutable/chunks/BOuo-4gP.js.br +0 -0
- package/build/client/_app/immutable/chunks/BOuo-4gP.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cyj62X2W.js +0 -2
- package/build/client/_app/immutable/chunks/Cyj62X2W.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cyj62X2W.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DSDSeO7L.js.br +0 -0
- package/build/client/_app/immutable/chunks/DSDSeO7L.js.gz +0 -0
- package/build/client/_app/immutable/chunks/De8YgKS3.js.br +0 -1
- package/build/client/_app/immutable/chunks/De8YgKS3.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.DK_wVDeR.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DK_wVDeR.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.xQy-2aGo.js +0 -1
- package/build/client/_app/immutable/entry/start.xQy-2aGo.js.br +0 -2
- package/build/client/_app/immutable/entry/start.xQy-2aGo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.5fEbn14Q.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.5fEbn14Q.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.CJrSN8zL.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.CJrSN8zL.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.SZwTlOEA.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.SZwTlOEA.js.gz +0 -0
- package/build/client/_app/immutable/nodes/17.D-KFl7Vk.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.D-KFl7Vk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/18.DqRdJY9A.js.br +0 -0
- package/build/client/_app/immutable/nodes/18.DqRdJY9A.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.B3Uuk25v.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.B3Uuk25v.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.B1RGTOJ8.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.B1RGTOJ8.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.D2jcIUpD.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.D2jcIUpD.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.CUyCIyRd.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.CUyCIyRd.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.B8HsGA2V.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.B8HsGA2V.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.jY56-_OU.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.jY56-_OU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.v5dX6L9n.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.v5dX6L9n.js.gz +0 -0
- package/build/server/chunks/ChatStepTrace-DQL3qlna.js.map +0 -1
- package/build/server/chunks/_page.svelte-D6bSXGHX.js.map +0 -1
- package/build/server/chunks/_page.svelte-ZWNBigwS.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.
|
|
2
|
-
var tt=e=>{throw TypeError(e)};var rt=(e,t,r)=>t.has(e)||tt("Cannot "+r);var n=(e,t,r)=>(rt(e,t,"read from private field"),r?r.call(e):t.get(e)),H=(e,t,r)=>t.has(e)?tt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),J=(e,t,r,i)=>(rt(e,t,"write to private field"),i?i.call(e,r):t.set(e,r),r);import{_ as s}from"../chunks/C1FmrZbK.js";import{y as S,aE as Et,j as m,bp as Pt,av as yt,a4 as Ot,p as Rt,u as pt,d as It,T as At,f as g,s as Lt,a as Tt,w as K,n as p,c as bt,r as Dt,t as Vt}from"../chunks/CxLomzuE.js";import{h as xt,m as wt,u as jt,s as kt}from"../chunks/DJriQKD9.js";import{a as u,c as E,f as et,t as Ct}from"../chunks/Ca197UDq.js";import{o as St}from"../chunks/C39ai1md.js";import{i as j}from"../chunks/Buo-57fF.js";import{c as I}from"../chunks/Cyai3SOj.js";import{b as A}from"../chunks/BLu86SbA.js";import{p as k}from"../chunks/CPXdAKdv.js";const Mt=({url:e})=>{const t=e.pathname;if(t.startsWith("/view"))return t.replace(/^\/view(?=\/|$)/,"/traces")},ar={};function Gt(e){return class extends Wt{constructor(t){super({component:e,...t})}}}var P,c;class Wt{constructor(t){H(this,P);H(this,c);var L;var r=new Map,i=(o,a)=>{var h=Ot(a,!1,!1);return r.set(o,h),h};const d=new Proxy({...t.props||{},$$events:{}},{get(o,a){return m(r.get(a)??i(a,Reflect.get(o,a)))},has(o,a){return a===Et?!0:(m(r.get(a)??i(a,Reflect.get(o,a))),Reflect.has(o,a))},set(o,a,h){return S(r.get(a)??i(a,h),h),Reflect.set(o,a,h)}});J(this,c,(t.hydrate?xt:wt)(t.component,{target:t.target,anchor:t.anchor,props:d,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError})),(!((L=t==null?void 0:t.props)!=null&&L.$$host)||t.sync===!1)&&Pt(),J(this,P,d.$$events);for(const o of Object.keys(n(this,c)))o==="$set"||o==="$destroy"||o==="$on"||yt(this,o,{get(){return n(this,c)[o]},set(a){n(this,c)[o]=a},enumerable:!0});n(this,c).$set=o=>{Object.assign(d,o)},n(this,c).$destroy=()=>{jt(n(this,c))}}$set(t){n(this,c).$set(t)}$on(t,r){n(this,P)[t]=n(this,P)[t]||[];const i=(...d)=>r.call(this,...d);return n(this,P)[t].push(i),()=>{n(this,P)[t]=n(this,P)[t].filter(d=>d!==i)}}$destroy(){n(this,c).$destroy()}}P=new WeakMap,c=new WeakMap;var Yt=et('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),qt=et("<!> <!>",1);function zt(e,t){Rt(t,!0);let r=k(t,"components",23,()=>[]),i=k(t,"data_0",3,null),d=k(t,"data_1",3,null),L=k(t,"data_2",3,null),o=k(t,"data_3",3,null);pt(()=>t.stores.page.set(t.page)),It(()=>{t.stores,t.page,t.constructors,r(),t.form,i(),d(),L(),o(),t.stores.page.notify()});let a=K(!1),h=K(!1),N=K(null);St(()=>{const _=t.stores.page.subscribe(()=>{m(a)&&(S(h,!0),At().then(()=>{S(N,document.title||"untitled page",!0)}))});return S(a,!0),_});const ot=p(()=>t.constructors[3]);var Q=qt(),U=g(Q);{var st=_=>{const y=p(()=>t.constructors[0]);var O=E(),V=g(O);I(V,()=>m(y),(R,T)=>{A(T(R,{get data(){return i()},get form(){return t.form},get params(){return t.page.params},children:(l,Ft)=>{var X=E(),_t=g(X);{var ut=b=>{const M=p(()=>t.constructors[1]);var x=E(),G=g(x);I(G,()=>m(M),(W,Y)=>{A(Y(W,{get data(){return d()},get form(){return t.form},get params(){return t.page.params},children:(f,Ht)=>{var Z=E(),dt=g(Z);{var lt=D=>{const q=p(()=>t.constructors[2]);var w=E(),z=g(w);I(z,()=>m(q),(B,F)=>{A(F(B,{get data(){return L()},get form(){return t.form},get params(){return t.page.params},children:(v,Jt)=>{var $=E(),vt=g($);I(vt,()=>m(ot),(gt,ht)=>{A(ht(gt,{get data(){return o()},get form(){return t.form},get params(){return t.page.params}}),C=>r()[3]=C,()=>{var C;return(C=r())==null?void 0:C[3]})}),u(v,$)},$$slots:{default:!0}}),v=>r()[2]=v,()=>{var v;return(v=r())==null?void 0:v[2]})}),u(D,w)},ft=D=>{const q=p(()=>t.constructors[2]);var w=E(),z=g(w);I(z,()=>m(q),(B,F)=>{A(F(B,{get data(){return L()},get form(){return t.form},get params(){return t.page.params}}),v=>r()[2]=v,()=>{var v;return(v=r())==null?void 0:v[2]})}),u(D,w)};j(dt,D=>{t.constructors[3]?D(lt):D(ft,-1)})}u(f,Z)},$$slots:{default:!0}}),f=>r()[1]=f,()=>{var f;return(f=r())==null?void 0:f[1]})}),u(b,x)},ct=b=>{const M=p(()=>t.constructors[1]);var x=E(),G=g(x);I(G,()=>m(M),(W,Y)=>{A(Y(W,{get data(){return d()},get form(){return t.form},get params(){return t.page.params}}),f=>r()[1]=f,()=>{var f;return(f=r())==null?void 0:f[1]})}),u(b,x)};j(_t,b=>{t.constructors[2]?b(ut):b(ct,-1)})}u(l,X)},$$slots:{default:!0}}),l=>r()[0]=l,()=>{var l;return(l=r())==null?void 0:l[0]})}),u(_,O)},nt=_=>{const y=p(()=>t.constructors[0]);var O=E(),V=g(O);I(V,()=>m(y),(R,T)=>{A(T(R,{get data(){return i()},get form(){return t.form},get params(){return t.page.params}}),l=>r()[0]=l,()=>{var l;return(l=r())==null?void 0:l[0]})}),u(_,O)};j(U,_=>{t.constructors[1]?_(st):_(nt,-1)})}var it=Lt(U,2);{var mt=_=>{var y=Yt(),O=bt(y);{var V=R=>{var T=Ct();Vt(()=>kt(T,m(N))),u(R,T)};j(O,R=>{m(h)&&R(V)})}Dt(y),u(_,y)};j(it,_=>{m(a)&&_(mt)})}u(e,Q),Tt()}const or=Gt(zt),sr=[()=>s(()=>import("../nodes/0.
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.PqjhF1QL.js","../chunks/Ca197UDq.js","../chunks/CxLomzuE.js","../chunks/C39ai1md.js","../chunks/DJriQKD9.js","../chunks/xC2C8d09.js","../chunks/Buo-57fF.js","../chunks/CJYOmGlC.js","../chunks/BDl2QuyN.js","../chunks/Cql_e8Of.js","../chunks/DpK9GbNl.js","../chunks/DpnRcXcI.js","../chunks/uLGP0py1.js","../chunks/OA8UcISh.js","../assets/0.C52H_1gD.css","../nodes/1.CeaYEPDC.js","../nodes/2.D6Bd4az6.js","../chunks/CyvQWZoe.js","../chunks/Cyai3SOj.js","../chunks/CPXdAKdv.js","../chunks/D-B5X35l.js","../chunks/CAjPRvNs.js","../assets/Modal.tn0RQdqM.css","../chunks/BJTwdUYr.js","../chunks/BPNEONy5.js","../chunks/CzXNWL4m.js","../chunks/CVlsAO8k.js","../chunks/BLu86SbA.js","../chunks/Bj8jfBTi.js","../chunks/CX0Ekq8t.js","../assets/Popper.CLTyHc88.css","../assets/chat-content.Cabnnfyv.css","../chunks/07xNIa59.js","../chunks/BsDZe4N6.js","../assets/Tab.DlCfjMY1.css","../chunks/Dslf9OwW.js","../chunks/C1FmrZbK.js","../chunks/BU7aeYn4.js","../chunks/DT-Nc4X8.js","../chunks/C7he4XPB.js","../assets/AgentSidebar.BL1i3rB_.css","../chunks/BNifnXkO.js","../chunks/BI42X8h_.js","../chunks/QpaC6J6s.js","../assets/2.DxwYfh1z.css","../nodes/3.LaYKamuf.js","../chunks/iAhzu4tv.js","../chunks/nYD9wsyN.js","../assets/Input.CJ8KyccG.css","../chunks/ddC1NP9R.js","../chunks/JcG4w2gF.js","../assets/3.Dzh7_Q8n.css","../nodes/4.DvSSPHp6.js","../chunks/CaHl3dME.js","../nodes/5.D0AE4cAT.js","../assets/5.CZVw96CJ.css","../nodes/6.l_w8FITo.js","../nodes/7.7N4iPidV.js","../chunks/gULlE0tz.js","../nodes/8.D51f7wuE.js","../nodes/9.6UjiO-jB.js","../chunks/WU4sY4ua.js","../chunks/B_K7D6rX.js","../assets/9.DlSPCZj0.css","../nodes/10.DDmx2fJe.js","../assets/10.DIVePEYf.css","../nodes/11.CsTD16Gn.js","../nodes/12.DYXd_leK.js","../nodes/13.DQMjAUKq.js","../nodes/14.C59tyoG0.js","../nodes/15.BFy4oAT6.js","../nodes/16.DRwcAQjb.js","../nodes/17.DSVuCWoY.js","../chunks/T0seCQS_.js","../nodes/18.D5HhWZR8.js","../assets/18.C5apk4jm.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
var tt=e=>{throw TypeError(e)};var rt=(e,t,r)=>t.has(e)||tt("Cannot "+r);var n=(e,t,r)=>(rt(e,t,"read from private field"),r?r.call(e):t.get(e)),H=(e,t,r)=>t.has(e)?tt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),J=(e,t,r,i)=>(rt(e,t,"write to private field"),i?i.call(e,r):t.set(e,r),r);import{_ as s}from"../chunks/C1FmrZbK.js";import{y as S,aE as Et,j as m,bp as Pt,av as yt,a4 as Ot,p as Rt,u as pt,d as It,T as At,f as g,s as Lt,a as Tt,w as K,n as p,c as bt,r as Dt,t as Vt}from"../chunks/CxLomzuE.js";import{h as xt,m as wt,u as jt,s as kt}from"../chunks/DJriQKD9.js";import{a as u,c as E,f as et,t as Ct}from"../chunks/Ca197UDq.js";import{o as St}from"../chunks/C39ai1md.js";import{i as j}from"../chunks/Buo-57fF.js";import{c as I}from"../chunks/Cyai3SOj.js";import{b as A}from"../chunks/BLu86SbA.js";import{p as k}from"../chunks/CPXdAKdv.js";const Mt=({url:e})=>{const t=e.pathname;if(t.startsWith("/view"))return t.replace(/^\/view(?=\/|$)/,"/traces")},ar={};function Gt(e){return class extends Wt{constructor(t){super({component:e,...t})}}}var P,c;class Wt{constructor(t){H(this,P);H(this,c);var L;var r=new Map,i=(o,a)=>{var h=Ot(a,!1,!1);return r.set(o,h),h};const d=new Proxy({...t.props||{},$$events:{}},{get(o,a){return m(r.get(a)??i(a,Reflect.get(o,a)))},has(o,a){return a===Et?!0:(m(r.get(a)??i(a,Reflect.get(o,a))),Reflect.has(o,a))},set(o,a,h){return S(r.get(a)??i(a,h),h),Reflect.set(o,a,h)}});J(this,c,(t.hydrate?xt:wt)(t.component,{target:t.target,anchor:t.anchor,props:d,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError})),(!((L=t==null?void 0:t.props)!=null&&L.$$host)||t.sync===!1)&&Pt(),J(this,P,d.$$events);for(const o of Object.keys(n(this,c)))o==="$set"||o==="$destroy"||o==="$on"||yt(this,o,{get(){return n(this,c)[o]},set(a){n(this,c)[o]=a},enumerable:!0});n(this,c).$set=o=>{Object.assign(d,o)},n(this,c).$destroy=()=>{jt(n(this,c))}}$set(t){n(this,c).$set(t)}$on(t,r){n(this,P)[t]=n(this,P)[t]||[];const i=(...d)=>r.call(this,...d);return n(this,P)[t].push(i),()=>{n(this,P)[t]=n(this,P)[t].filter(d=>d!==i)}}$destroy(){n(this,c).$destroy()}}P=new WeakMap,c=new WeakMap;var Yt=et('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),qt=et("<!> <!>",1);function zt(e,t){Rt(t,!0);let r=k(t,"components",23,()=>[]),i=k(t,"data_0",3,null),d=k(t,"data_1",3,null),L=k(t,"data_2",3,null),o=k(t,"data_3",3,null);pt(()=>t.stores.page.set(t.page)),It(()=>{t.stores,t.page,t.constructors,r(),t.form,i(),d(),L(),o(),t.stores.page.notify()});let a=K(!1),h=K(!1),N=K(null);St(()=>{const _=t.stores.page.subscribe(()=>{m(a)&&(S(h,!0),At().then(()=>{S(N,document.title||"untitled page",!0)}))});return S(a,!0),_});const ot=p(()=>t.constructors[3]);var Q=qt(),U=g(Q);{var st=_=>{const y=p(()=>t.constructors[0]);var O=E(),V=g(O);I(V,()=>m(y),(R,T)=>{A(T(R,{get data(){return i()},get form(){return t.form},get params(){return t.page.params},children:(l,Ft)=>{var X=E(),_t=g(X);{var ut=b=>{const M=p(()=>t.constructors[1]);var x=E(),G=g(x);I(G,()=>m(M),(W,Y)=>{A(Y(W,{get data(){return d()},get form(){return t.form},get params(){return t.page.params},children:(f,Ht)=>{var Z=E(),dt=g(Z);{var lt=D=>{const q=p(()=>t.constructors[2]);var w=E(),z=g(w);I(z,()=>m(q),(B,F)=>{A(F(B,{get data(){return L()},get form(){return t.form},get params(){return t.page.params},children:(v,Jt)=>{var $=E(),vt=g($);I(vt,()=>m(ot),(gt,ht)=>{A(ht(gt,{get data(){return o()},get form(){return t.form},get params(){return t.page.params}}),C=>r()[3]=C,()=>{var C;return(C=r())==null?void 0:C[3]})}),u(v,$)},$$slots:{default:!0}}),v=>r()[2]=v,()=>{var v;return(v=r())==null?void 0:v[2]})}),u(D,w)},ft=D=>{const q=p(()=>t.constructors[2]);var w=E(),z=g(w);I(z,()=>m(q),(B,F)=>{A(F(B,{get data(){return L()},get form(){return t.form},get params(){return t.page.params}}),v=>r()[2]=v,()=>{var v;return(v=r())==null?void 0:v[2]})}),u(D,w)};j(dt,D=>{t.constructors[3]?D(lt):D(ft,-1)})}u(f,Z)},$$slots:{default:!0}}),f=>r()[1]=f,()=>{var f;return(f=r())==null?void 0:f[1]})}),u(b,x)},ct=b=>{const M=p(()=>t.constructors[1]);var x=E(),G=g(x);I(G,()=>m(M),(W,Y)=>{A(Y(W,{get data(){return d()},get form(){return t.form},get params(){return t.page.params}}),f=>r()[1]=f,()=>{var f;return(f=r())==null?void 0:f[1]})}),u(b,x)};j(_t,b=>{t.constructors[2]?b(ut):b(ct,-1)})}u(l,X)},$$slots:{default:!0}}),l=>r()[0]=l,()=>{var l;return(l=r())==null?void 0:l[0]})}),u(_,O)},nt=_=>{const y=p(()=>t.constructors[0]);var O=E(),V=g(O);I(V,()=>m(y),(R,T)=>{A(T(R,{get data(){return i()},get form(){return t.form},get params(){return t.page.params}}),l=>r()[0]=l,()=>{var l;return(l=r())==null?void 0:l[0]})}),u(_,O)};j(U,_=>{t.constructors[1]?_(st):_(nt,-1)})}var it=Lt(U,2);{var mt=_=>{var y=Yt(),O=bt(y);{var V=R=>{var T=Ct();Vt(()=>kt(T,m(N))),u(R,T)};j(O,R=>{m(h)&&R(V)})}Dt(y),u(_,y)};j(it,_=>{m(a)&&_(mt)})}u(e,Q),Tt()}const or=Gt(zt),sr=[()=>s(()=>import("../nodes/0.PqjhF1QL.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]),import.meta.url),()=>s(()=>import("../nodes/1.CeaYEPDC.js"),__vite__mapDeps([15,1,2,4,5,10,11,12,13,3]),import.meta.url),()=>s(()=>import("../nodes/2.D6Bd4az6.js"),__vite__mapDeps([16,1,2,3,4,5,6,7,17,8,18,19,12,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,11,13,10,38,39,40,9,41,42,43,44]),import.meta.url),()=>s(()=>import("../nodes/3.LaYKamuf.js"),__vite__mapDeps([45,1,2,3,4,5,6,7,23,8,46,20,21,19,12,11,13,10,26,27,32,47,24,48,49,50,33,34,39,40,9,38,51]),import.meta.url),()=>s(()=>import("../nodes/4.DvSSPHp6.js"),__vite__mapDeps([52,1,2,8,7,11,12,13,3,10,33,20,5,21,19,27,34,53]),import.meta.url),()=>s(()=>import("../nodes/5.D0AE4cAT.js"),__vite__mapDeps([54,1,2,3,46,39,4,5,6,7,23,20,21,19,12,32,8,40,9,38,55]),import.meta.url),()=>s(()=>import("../nodes/6.l_w8FITo.js"),__vite__mapDeps([56,1,2,3,46,11,12,13,9,38,39,4,5,6,7,23,20,21,19,32,8,40,33,27,34,10]),import.meta.url),()=>s(()=>import("../nodes/7.7N4iPidV.js"),__vite__mapDeps([57,58,13]),import.meta.url),()=>s(()=>import("../nodes/8.D51f7wuE.js"),__vite__mapDeps([59,36,1,2,3,4,5,6,7,27,25,8,21,37,38]),import.meta.url),()=>s(()=>import("../nodes/9.6UjiO-jB.js"),__vite__mapDeps([60,1,2,6,7,26,8,20,5,21,27,19,12,28,3,29,30,31,4,23,32,38,25,61,17,18,22,33,34,62,36,37,47,24,48,43,63]),import.meta.url),()=>s(()=>import("../nodes/10.DDmx2fJe.js"),__vite__mapDeps([64,1,2,3,4,5,6,7,17,8,18,19,12,20,21,22,23,46,24,25,26,27,35,36,37,47,48,33,34,32,10,11,13,38,62,65]),import.meta.url),()=>s(()=>import("../nodes/11.CsTD16Gn.js"),__vite__mapDeps([66,58,13]),import.meta.url),()=>s(()=>import("../nodes/12.DYXd_leK.js"),__vite__mapDeps([67,58,13]),import.meta.url),()=>s(()=>import("../nodes/13.DQMjAUKq.js"),__vite__mapDeps([68,58,13]),import.meta.url),()=>s(()=>import("../nodes/14.C59tyoG0.js"),__vite__mapDeps([69,58,13]),import.meta.url),()=>s(()=>import("../nodes/15.BFy4oAT6.js"),__vite__mapDeps([70,1,2,41,46]),import.meta.url),()=>s(()=>import("../nodes/16.DRwcAQjb.js"),__vite__mapDeps([71,58,13]),import.meta.url),()=>s(()=>import("../nodes/17.DSVuCWoY.js"),__vite__mapDeps([72,1,2,3,4,5,6,7,23,21,20,27,10,11,12,13,26,8,19,29,30,50,73,53]),import.meta.url),()=>s(()=>import("../nodes/18.D5HhWZR8.js"),__vite__mapDeps([74,1,2,41,3,4,5,19,12,6,7,23,46,20,21,27,42,11,13,50,73,26,8,28,29,30,31,32,17,18,22,49,61,33,34,62,36,37,38,53,75]),import.meta.url)],nr=[],ir={"/":[5],"/edit":[6],"/edit/[agent]":[7,[2]],"/edit/[agent]/configure":[8,[2]],"/edit/[agent]/roleplay":[9,[2]],"/edit/[agent]/tests":[10,[2]],"/roleplay":[11],"/tests":[12],"/tests/[agent]":[13],"/traces":[14],"/traces/conversations":[15,[3]],"/traces/conversations/[conversationId]":[16,[3,4]],"/traces/conversations/[conversationId]/latency":[17,[3,4]],"/traces/conversations/[conversationId]/traces":[18,[3,4]]},at={handleError:({error:e})=>{console.error(e)},reroute:Mt||(()=>{}),transport:{}},Bt=Object.fromEntries(Object.entries(at.transport).map(([e,t])=>[e,t.decode])),mr=Object.fromEntries(Object.entries(at.transport).map(([e,t])=>[e,t.encode])),_r=!1,ur=(e,t)=>Bt[e](t);export{ur as decode,Bt as decoders,ir as dictionary,mr as encoders,_r as hash,at as hooks,ar as matchers,sr as nodes,or as root,nr as server_loads};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{l as o,a as r}from"../chunks/DpnRcXcI.js";export{o as load_css,r as start};
|
|
Binary file
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as m,f as u}from"../chunks/Ca197UDq.js";import{o as w}from"../chunks/C39ai1md.js";import{p as b,a as U,y as c,w as E,c as l,s as _,j as p,r as f,t as x}from"../chunks/CxLomzuE.js";import{s as j}from"../chunks/DJriQKD9.js";import{i as y}from"../chunks/Buo-57fF.js";import{s as L}from"../chunks/BDl2QuyN.js";import{s as R}from"../chunks/Cql_e8Of.js";import{p as k}from"../chunks/
|
|
1
|
+
import{a as m,f as u}from"../chunks/Ca197UDq.js";import{o as w}from"../chunks/C39ai1md.js";import{p as b,a as U,y as c,w as E,c as l,s as _,j as p,r as f,t as x}from"../chunks/CxLomzuE.js";import{s as j}from"../chunks/DJriQKD9.js";import{i as y}from"../chunks/Buo-57fF.js";import{s as L}from"../chunks/BDl2QuyN.js";import{s as R}from"../chunks/Cql_e8Of.js";import{p as k}from"../chunks/DpK9GbNl.js";import{g as C}from"../chunks/DpnRcXcI.js";var A=u(`<div class="
|
|
2
2
|
absolute bottom-0 right-0 z-50 m-4 rounded-sm border border-red-500 bg-red-50
|
|
3
3
|
px-4 py-2 text-red-800 focus:outline-none focus:ring-0"> </div>`),I=u('<main class="h-screen overflow-hidden bg-gray-600"><!> <!></main>');function F(h,i){b(i,!0);let t=E("");function s(r){c(t,r,!0),setTimeout(()=>{c(t,"")},5e3),console.error(r)}R({onAgentSelect:r=>{const e=new URLSearchParams(k.url.search).get("step");let o=`/edit/${encodeURIComponent(r)}/roleplay`;e&&(o+=`?step=${encodeURIComponent(e)}`),C(o)},onError:s}),w(()=>{const r=e=>{var o;console.error(e),s(`Uncaught error: ${((o=e.error)==null?void 0:o.message)||e.message||"Unknown error"}`)},n=e=>{var o;console.error(e),s(`Unhandled promise rejection: ${((o=e.reason)==null?void 0:o.message)||e.reason||"Unknown error"}`)};return window.addEventListener("error",r),window.addEventListener("unhandledrejection",n),()=>{window.removeEventListener("error",r),window.removeEventListener("unhandledrejection",n)}});var a=I(),d=l(a);L(d,()=>i.children);var g=_(d,2);{var v=r=>{var n=A(),e=l(n,!0);f(n),x(()=>j(e,p(t))),m(r,n)};y(g,r=>{p(t)&&r(v)})}f(a),m(h,a),U()}export{F as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as c,f as u}from"../chunks/Ca197UDq.js";import{p as v,f as l,t as _,a as g,c as e,r as o,s as x}from"../chunks/CxLomzuE.js";import{s as p}from"../chunks/DJriQKD9.js";import{p as m}from"../chunks/
|
|
1
|
+
import{a as c,f as u}from"../chunks/Ca197UDq.js";import{p as v,f as l,t as _,a as g,c as e,r as o,s as x}from"../chunks/CxLomzuE.js";import{s as p}from"../chunks/DJriQKD9.js";import{p as m}from"../chunks/DpK9GbNl.js";var d=u("<h1> </h1> <p> </p>",1);function q(f,i){v(i,!0);var t=d(),r=l(t),h=e(r,!0);o(r);var a=x(r,2),n=e(a,!0);o(a),_(()=>{var s;p(h,m.status),p(n,(s=m.error)==null?void 0:s.message)}),c(f,t),g()}export{q as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../chunks/DLQqXQ6R.js","../chunks/C1FmrZbK.js","../assets/editor.BMIWPGx3.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{c as gn,a as m,h as ba,f as $,d as Ls,b as Ue,t as De}from"../chunks/Ca197UDq.js";import{o as Rs,a as hn}from"../chunks/C39ai1md.js";import{p as xn,y as i,f as je,j as e,a as yn,w as P,n as w,bq as wa,r as u,d as $r,t as U,x as dt,c as v,s as h,o as _e,T as ka}from"../chunks/CxLomzuE.js";import{s as z}from"../chunks/DJriQKD9.js";import{i as M}from"../chunks/Buo-57fF.js";import{M as Er,k as ss}from"../chunks/CyvQWZoe.js";import{e as cr,i as as}from"../chunks/BJTwdUYr.js";import{h as Sa}from"../chunks/iAhzu4tv.js";import{a as os,s as Nn,c as Zt,r as yr,d as cn,b as Ta}from"../chunks/D-B5X35l.js";import{s as Re,c as Vr}from"../chunks/CAjPRvNs.js";import{b as En}from"../chunks/BPNEONy5.js";import{g as Ca,P as Ia}from"../chunks/CzXNWL4m.js";import{B as Xe}from"../chunks/CVlsAO8k.js";import{C as Ln,P as Pa}from"../chunks/Dslf9OwW.js";import{I as un}from"../chunks/nYD9wsyN.js";import{T as js,a as Wr}from"../chunks/BsDZe4N6.js";import{h as $a,I as Dt}from"../chunks/07xNIa59.js";import{r as Ea,p as _r}from"../chunks/CPXdAKdv.js";import{p as is}from"../chunks/De8YgKS3.js";import{_ as ls}from"../chunks/C1FmrZbK.js";import{b as La}from"../chunks/BLu86SbA.js";import{e as Ra,a as ja}from"../chunks/BU7aeYn4.js";import{t as Se}from"../chunks/BOuo-4gP.js";import{R as Aa,a as Ur}from"../chunks/B_K7D6rX.js";const As=/^[a-z0-9]+(-[a-z0-9]+)*$/,_n=(t,r,s,o="")=>{const n=t.split(":");if(t.slice(0,1)==="@"){if(n.length<2||n.length>3)return null;o=n.shift().slice(1)}if(n.length>3||!n.length)return null;if(n.length>1){const x=n.pop(),_=n.pop(),k={provider:n.length>0?n[0]:o,prefix:_,name:x};return r&&!vn(k)?null:k}const l=n[0],f=l.split("-");if(f.length>1){const x={provider:o,prefix:f.shift(),name:f.join("-")};return r&&!vn(x)?null:x}if(s&&o===""){const x={provider:o,prefix:"",name:l};return r&&!vn(x,s)?null:x}return null},vn=(t,r)=>t?!!((r&&t.prefix===""||t.prefix)&&t.name):!1;function Na(t,r){const s=t.icons,o=t.aliases||Object.create(null),n=Object.create(null);function l(f){if(s[f])return n[f]=[];if(!(f in n)){n[f]=null;const x=o[f]&&o[f].parent,_=x&&l(x);_&&(n[f]=[x].concat(_))}return n[f]}return Object.keys(s).concat(Object.keys(o)).forEach(l),n}const Ns=Object.freeze({left:0,top:0,width:16,height:16}),mn=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),bn=Object.freeze({...Ns,...mn}),Mn=Object.freeze({...bn,body:"",hidden:!1});function Ma(t,r){const s={};!t.hFlip!=!r.hFlip&&(s.hFlip=!0),!t.vFlip!=!r.vFlip&&(s.vFlip=!0);const o=((t.rotate||0)+(r.rotate||0))%4;return o&&(s.rotate=o),s}function cs(t,r){const s=Ma(t,r);for(const o in Mn)o in mn?o in t&&!(o in s)&&(s[o]=mn[o]):o in r?s[o]=r[o]:o in t&&(s[o]=t[o]);return s}function Oa(t,r,s){const o=t.icons,n=t.aliases||Object.create(null);let l={};function f(x){l=cs(o[x]||n[x],l)}return f(r),s.forEach(f),cs(t,l)}function Ms(t,r){const s=[];if(typeof t!="object"||typeof t.icons!="object")return s;t.not_found instanceof Array&&t.not_found.forEach(n=>{r(n,null),s.push(n)});const o=Na(t);for(const n in o){const l=o[n];l&&(r(n,Oa(t,n,l)),s.push(n))}return s}const Da={provider:"",aliases:{},not_found:{},...Ns};function Rn(t,r){for(const s in r)if(s in t&&typeof t[s]!=typeof r[s])return!1;return!0}function Os(t){if(typeof t!="object"||t===null)return null;const r=t;if(typeof r.prefix!="string"||!t.icons||typeof t.icons!="object"||!Rn(t,Da))return null;const s=r.icons;for(const n in s){const l=s[n];if(!n||typeof l.body!="string"||!Rn(l,Mn))return null}const o=r.aliases||Object.create(null);for(const n in o){const l=o[n],f=l.parent;if(!n||typeof f!="string"||!s[f]&&!o[f]||!Rn(l,Mn))return null}return r}const us=Object.create(null);function Fa(t,r){return{provider:t,prefix:r,icons:Object.create(null),missing:new Set}}function Lr(t,r){const s=us[t]||(us[t]=Object.create(null));return s[r]||(s[r]=Fa(t,r))}function Ds(t,r){return Os(r)?Ms(r,(s,o)=>{o?t.icons[s]=o:t.missing.add(s)}):[]}function qa(t,r,s){try{if(typeof s.body=="string")return t.icons[r]={...s},!0}catch{}return!1}let Kr=!1;function Fs(t){return typeof t=="boolean"&&(Kr=t),Kr}function za(t){const r=typeof t=="string"?_n(t,!0,Kr):t;if(r){const s=Lr(r.provider,r.prefix),o=r.name;return s.icons[o]||(s.missing.has(o)?null:void 0)}}function Ha(t,r){const s=_n(t,!0,Kr);if(!s)return!1;const o=Lr(s.provider,s.prefix);return r?qa(o,s.name,r):(o.missing.add(s.name),!0)}function Ja(t,r){if(typeof t!="object")return!1;if(typeof r!="string"&&(r=t.provider||""),Kr&&!r&&!t.prefix){let n=!1;return Os(t)&&(t.prefix="",Ms(t,(l,f)=>{Ha(l,f)&&(n=!0)})),n}const s=t.prefix;if(!vn({prefix:s,name:"a"}))return!1;const o=Lr(r,s);return!!Ds(o,t)}const qs=Object.freeze({width:null,height:null}),zs=Object.freeze({...qs,...mn}),Va=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Ua=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function ds(t,r,s){if(r===1)return t;if(s=s||100,typeof t=="number")return Math.ceil(t*r*s)/s;if(typeof t!="string")return t;const o=t.split(Va);if(o===null||!o.length)return t;const n=[];let l=o.shift(),f=Ua.test(l);for(;;){if(f){const x=parseFloat(l);isNaN(x)?n.push(l):n.push(Math.ceil(x*r*s)/s)}else n.push(l);if(l=o.shift(),l===void 0)return n.join("");f=!f}}function Ba(t,r="defs"){let s="";const o=t.indexOf("<"+r);for(;o>=0;){const n=t.indexOf(">",o),l=t.indexOf("</"+r);if(n===-1||l===-1)break;const f=t.indexOf(">",l);if(f===-1)break;s+=t.slice(n+1,l).trim(),t=t.slice(0,o).trim()+t.slice(f+1)}return{defs:s,content:t}}function Qa(t,r){return t?"<defs>"+t+"</defs>"+r:r}function Wa(t,r,s){const o=Ba(t);return Qa(o.defs,r+o.content+s)}const Ka=t=>t==="unset"||t==="undefined"||t==="none";function Ga(t,r){const s={...bn,...t},o={...zs,...r},n={left:s.left,top:s.top,width:s.width,height:s.height};let l=s.body;[s,o].forEach(O=>{const H=[],E=O.hFlip,I=O.vFlip;let A=O.rotate;E?I?A+=2:(H.push("translate("+(n.width+n.left).toString()+" "+(0-n.top).toString()+")"),H.push("scale(-1 1)"),n.top=n.left=0):I&&(H.push("translate("+(0-n.left).toString()+" "+(n.height+n.top).toString()+")"),H.push("scale(1 -1)"),n.top=n.left=0);let K;switch(A<0&&(A-=Math.floor(A/4)*4),A=A%4,A){case 1:K=n.height/2+n.top,H.unshift("rotate(90 "+K.toString()+" "+K.toString()+")");break;case 2:H.unshift("rotate(180 "+(n.width/2+n.left).toString()+" "+(n.height/2+n.top).toString()+")");break;case 3:K=n.width/2+n.left,H.unshift("rotate(-90 "+K.toString()+" "+K.toString()+")");break}A%2===1&&(n.left!==n.top&&(K=n.left,n.left=n.top,n.top=K),n.width!==n.height&&(K=n.width,n.width=n.height,n.height=K)),H.length&&(l=Wa(l,'<g transform="'+H.join(" ")+'">',"</g>"))});const f=o.width,x=o.height,_=n.width,k=n.height;let C,L;f===null?(L=x===null?"1em":x==="auto"?k:x,C=ds(L,_/k)):(C=f==="auto"?_:f,L=x===null?ds(C,k/_):x==="auto"?k:x);const j={},N=(O,H)=>{Ka(H)||(j[O]=H.toString())};N("width",C),N("height",L);const W=[n.left,n.top,_,k];return j.viewBox=W.join(" "),{attributes:j,viewBox:W,body:l}}const Xa=/\sid="(\S+)"/g,Za="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let Ya=0;function eo(t,r=Za){const s=[];let o;for(;o=Xa.exec(t);)s.push(o[1]);if(!s.length)return t;const n="suffix"+(Math.random()*16777216|Date.now()).toString(16);return s.forEach(l=>{const f=typeof r=="function"?r(l):r+(Ya++).toString(),x=l.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+x+')([")]|\\.[a-z])',"g"),"$1"+f+n+"$3")}),t=t.replace(new RegExp(n,"g"),""),t}const On=Object.create(null);function to(t,r){On[t]=r}function Dn(t){return On[t]||On[""]}function qn(t){let r;if(typeof t.resources=="string")r=[t.resources];else if(r=t.resources,!(r instanceof Array)||!r.length)return null;return{resources:r,path:t.path||"/",maxURL:t.maxURL||500,rotate:t.rotate||750,timeout:t.timeout||5e3,random:t.random===!0,index:t.index||0,dataAfterTimeout:t.dataAfterTimeout!==!1}}const zn=Object.create(null),Br=["https://api.simplesvg.com","https://api.unisvg.com"],pn=[];for(;Br.length>0;)Br.length===1||Math.random()>.5?pn.push(Br.shift()):pn.push(Br.pop());zn[""]=qn({resources:["https://api.iconify.design"].concat(pn)});function ro(t,r){const s=qn(r);return s===null?!1:(zn[t]=s,!0)}function Hn(t){return zn[t]}const no=()=>{let t;try{if(t=fetch,typeof t=="function")return t}catch{}};let fs=no();function so(t,r){const s=Hn(t);if(!s)return 0;let o;if(!s.maxURL)o=0;else{let n=0;s.resources.forEach(f=>{n=Math.max(n,f.length)});const l=r+".json?icons=";o=s.maxURL-n-s.path.length-l.length}return o}function ao(t){return t===404}const oo=(t,r,s)=>{const o=[],n=so(t,r),l="icons";let f={type:l,provider:t,prefix:r,icons:[]},x=0;return s.forEach((_,k)=>{x+=_.length+1,x>=n&&k>0&&(o.push(f),f={type:l,provider:t,prefix:r,icons:[]},x=_.length),f.icons.push(_)}),o.push(f),o};function io(t){if(typeof t=="string"){const r=Hn(t);if(r)return r.path}return"/"}const lo=(t,r,s)=>{if(!fs){s("abort",424);return}let o=io(r.provider);switch(r.type){case"icons":{const l=r.prefix,x=r.icons.join(","),_=new URLSearchParams({icons:x});o+=l+".json?"+_.toString();break}case"custom":{const l=r.uri;o+=l.slice(0,1)==="/"?l.slice(1):l;break}default:s("abort",400);return}let n=503;fs(t+o).then(l=>{const f=l.status;if(f!==200){setTimeout(()=>{s(ao(f)?"abort":"next",f)});return}return n=501,l.json()}).then(l=>{if(typeof l!="object"||l===null){setTimeout(()=>{l===404?s("abort",l):s("next",n)});return}setTimeout(()=>{s("success",l)})}).catch(()=>{s("next",n)})},co={prepare:oo,send:lo};function Hs(t,r){t.forEach(s=>{const o=s.loaderCallbacks;o&&(s.loaderCallbacks=o.filter(n=>n.id!==r))})}function uo(t){t.pendingCallbacksFlag||(t.pendingCallbacksFlag=!0,setTimeout(()=>{t.pendingCallbacksFlag=!1;const r=t.loaderCallbacks?t.loaderCallbacks.slice(0):[];if(!r.length)return;let s=!1;const o=t.provider,n=t.prefix;r.forEach(l=>{const f=l.icons,x=f.pending.length;f.pending=f.pending.filter(_=>{if(_.prefix!==n)return!0;const k=_.name;if(t.icons[k])f.loaded.push({provider:o,prefix:n,name:k});else if(t.missing.has(k))f.missing.push({provider:o,prefix:n,name:k});else return s=!0,!0;return!1}),f.pending.length!==x&&(s||Hs([t],l.id),l.callback(f.loaded.slice(0),f.missing.slice(0),f.pending.slice(0),l.abort))})}))}let fo=0;function vo(t,r,s){const o=fo++,n=Hs.bind(null,s,o);if(!r.pending.length)return n;const l={id:o,icons:r,callback:t,abort:n};return s.forEach(f=>{(f.loaderCallbacks||(f.loaderCallbacks=[])).push(l)}),n}function po(t){const r={loaded:[],missing:[],pending:[]},s=Object.create(null);t.sort((n,l)=>n.provider!==l.provider?n.provider.localeCompare(l.provider):n.prefix!==l.prefix?n.prefix.localeCompare(l.prefix):n.name.localeCompare(l.name));let o={provider:"",prefix:"",name:""};return t.forEach(n=>{if(o.name===n.name&&o.prefix===n.prefix&&o.provider===n.provider)return;o=n;const l=n.provider,f=n.prefix,x=n.name,_=s[l]||(s[l]=Object.create(null)),k=_[f]||(_[f]=Lr(l,f));let C;x in k.icons?C=r.loaded:f===""||k.missing.has(x)?C=r.missing:C=r.pending;const L={provider:l,prefix:f,name:x};C.push(L)}),r}function go(t,r=!0,s=!1){const o=[];return t.forEach(n=>{const l=typeof n=="string"?_n(n,r,s):n;l&&o.push(l)}),o}const mo={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function ho(t,r,s,o){const n=t.resources.length,l=t.random?Math.floor(Math.random()*n):t.index;let f;if(t.random){let R=t.resources.slice(0);for(f=[];R.length>1;){const V=Math.floor(Math.random()*R.length);f.push(R[V]),R=R.slice(0,V).concat(R.slice(V+1))}f=f.concat(R)}else f=t.resources.slice(l).concat(t.resources.slice(0,l));const x=Date.now();let _="pending",k=0,C,L=null,j=[],N=[];typeof o=="function"&&N.push(o);function W(){L&&(clearTimeout(L),L=null)}function O(){_==="pending"&&(_="aborted"),W(),j.forEach(R=>{R.status==="pending"&&(R.status="aborted")}),j=[]}function H(R,V){V&&(N=[]),typeof R=="function"&&N.push(R)}function E(){return{startTime:x,payload:r,status:_,queriesSent:k,queriesPending:j.length,subscribe:H,abort:O}}function I(){_="failed",N.forEach(R=>{R(void 0,C)})}function A(){j.forEach(R=>{R.status==="pending"&&(R.status="aborted")}),j=[]}function K(R,V,me){const nt=V!=="success";switch(j=j.filter(de=>de!==R),_){case"pending":break;case"failed":if(nt||!t.dataAfterTimeout)return;break;default:return}if(V==="abort"){C=me,I();return}if(nt){C=me,j.length||(f.length?Fe():I());return}if(W(),A(),!t.random){const de=t.resources.indexOf(R.resource);de!==-1&&de!==t.index&&(t.index=de)}_="completed",N.forEach(de=>{de(me)})}function Fe(){if(_!=="pending")return;W();const R=f.shift();if(R===void 0){if(j.length){L=setTimeout(()=>{W(),_==="pending"&&(A(),I())},t.timeout);return}I();return}const V={status:"pending",resource:R,callback:(me,nt)=>{K(V,me,nt)}};j.push(V),k++,L=setTimeout(Fe,t.rotate),s(R,r,V.callback)}return setTimeout(Fe),E}function Js(t){const r={...mo,...t};let s=[];function o(){s=s.filter(x=>x().status==="pending")}function n(x,_,k){const C=ho(r,x,_,(L,j)=>{o(),k&&k(L,j)});return s.push(C),C}function l(x){return s.find(_=>x(_))||null}return{query:n,find:l,setIndex:x=>{r.index=x},getIndex:()=>r.index,cleanup:o}}function vs(){}const jn=Object.create(null);function xo(t){if(!jn[t]){const r=Hn(t);if(!r)return;const s=Js(r),o={config:r,redundancy:s};jn[t]=o}return jn[t]}function yo(t,r,s){let o,n;if(typeof t=="string"){const l=Dn(t);if(!l)return s(void 0,424),vs;n=l.send;const f=xo(t);f&&(o=f.redundancy)}else{const l=qn(t);if(l){o=Js(l);const f=t.resources?t.resources[0]:"",x=Dn(f);x&&(n=x.send)}}return!o||!n?(s(void 0,424),vs):o.query(r,n,s)().abort}function ps(){}function _o(t){t.iconsLoaderFlag||(t.iconsLoaderFlag=!0,setTimeout(()=>{t.iconsLoaderFlag=!1,uo(t)}))}function bo(t){const r=[],s=[];return t.forEach(o=>{(o.match(As)?r:s).push(o)}),{valid:r,invalid:s}}function Qr(t,r,s){function o(){const n=t.pendingIcons;r.forEach(l=>{n&&n.delete(l),t.icons[l]||t.missing.add(l)})}if(s&&typeof s=="object")try{if(!Ds(t,s).length){o();return}}catch(n){console.error(n)}o(),_o(t)}function gs(t,r){t instanceof Promise?t.then(s=>{r(s)}).catch(()=>{r(null)}):r(t)}function wo(t,r){t.iconsToLoad?t.iconsToLoad=t.iconsToLoad.concat(r).sort():t.iconsToLoad=r,t.iconsQueueFlag||(t.iconsQueueFlag=!0,setTimeout(()=>{t.iconsQueueFlag=!1;const{provider:s,prefix:o}=t,n=t.iconsToLoad;if(delete t.iconsToLoad,!n||!n.length)return;const l=t.loadIcon;if(t.loadIcons&&(n.length>1||!l)){gs(t.loadIcons(n,o,s),C=>{Qr(t,n,C)});return}if(l){n.forEach(C=>{const L=l(C,o,s);gs(L,j=>{const N=j?{prefix:o,icons:{[C]:j}}:null;Qr(t,[C],N)})});return}const{valid:f,invalid:x}=bo(n);if(x.length&&Qr(t,x,null),!f.length)return;const _=o.match(As)?Dn(s):null;if(!_){Qr(t,f,null);return}_.prepare(s,o,f).forEach(C=>{yo(s,C,L=>{Qr(t,C.icons,L)})})}))}const ko=(t,r)=>{const s=go(t,!0,Fs()),o=po(s);if(!o.pending.length){let _=!0;return r&&setTimeout(()=>{_&&r(o.loaded,o.missing,o.pending,ps)}),()=>{_=!1}}const n=Object.create(null),l=[];let f,x;return o.pending.forEach(_=>{const{provider:k,prefix:C}=_;if(C===x&&k===f)return;f=k,x=C,l.push(Lr(k,C));const L=n[k]||(n[k]=Object.create(null));L[C]||(L[C]=[])}),o.pending.forEach(_=>{const{provider:k,prefix:C,name:L}=_,j=Lr(k,C),N=j.pendingIcons||(j.pendingIcons=new Set);N.has(L)||(N.add(L),n[k][C].push(L))}),l.forEach(_=>{const k=n[_.provider][_.prefix];k.length&&wo(_,k)}),r?vo(r,o,l):ps};function So(t,r){const s={...t};for(const o in r){const n=r[o],l=typeof n;o in qs?(n===null||n&&(l==="string"||l==="number"))&&(s[o]=n):l===typeof s[o]&&(s[o]=o==="rotate"?n%4:n)}return s}const To=/[\s,]+/;function Co(t,r){r.split(To).forEach(s=>{switch(s.trim()){case"horizontal":t.hFlip=!0;break;case"vertical":t.vFlip=!0;break}})}function Io(t,r=0){const s=t.replace(/^-?[0-9.]*/,"");function o(n){for(;n<0;)n+=4;return n%4}if(s===""){const n=parseInt(t);return isNaN(n)?0:o(n)}else if(s!==t){let n=0;switch(s){case"%":n=25;break;case"deg":n=90}if(n){let l=parseFloat(t.slice(0,t.length-s.length));return isNaN(l)?0:(l=l/n,l%1===0?o(l):0)}}return r}function Po(t,r){let s=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const o in r)s+=" "+o+'="'+r[o]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+s+">"+t+"</svg>"}function $o(t){return t.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function Eo(t){return"data:image/svg+xml,"+$o(t)}function Lo(t){return'url("'+Eo(t)+'")'}const ms={...zs,inline:!1},Ro={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},jo={display:"inline-block"},Fn={"background-color":"currentColor"},Vs={"background-color":"transparent"},hs={image:"var(--svg)",repeat:"no-repeat",size:"100% 100%"},xs={"-webkit-mask":Fn,mask:Fn,background:Vs};for(const t in xs){const r=xs[t];for(const s in hs)r[t+"-"+s]=hs[s]}function Ao(t){return t+(t.match(/^[-0-9.]+$/)?"px":"")}function No(t,r){const s=So(ms,r),o=r.mode||"svg",n=o==="svg"?{...Ro}:{};t.body.indexOf("xlink:")===-1&&delete n["xmlns:xlink"];let l=typeof r.style=="string"?r.style:"";for(let E in r){const I=r[E];if(I!==void 0)switch(E){case"icon":case"style":case"onLoad":case"mode":case"ssr":break;case"inline":case"hFlip":case"vFlip":s[E]=I===!0||I==="true"||I===1;break;case"flip":typeof I=="string"&&Co(s,I);break;case"color":l=l+(l.length>0&&l.trim().slice(-1)!==";"?";":"")+"color: "+I+"; ";break;case"rotate":typeof I=="string"?s[E]=Io(I):typeof I=="number"&&(s[E]=I);break;case"ariaHidden":case"aria-hidden":I!==!0&&I!=="true"&&delete n["aria-hidden"];break;default:if(E.slice(0,3)==="on:")break;ms[E]===void 0&&(n[E]=I)}}const f=Ga(t,s),x=f.attributes;if(s.inline&&(l="vertical-align: -0.125em; "+l),o==="svg"){Object.assign(n,x),l!==""&&(n.style=l);let E=0,I=r.id;return typeof I=="string"&&(I=I.replace(/-/g,"_")),{svg:!0,attributes:n,body:eo(f.body,I?()=>I+"ID"+E++:"iconifySvelte")}}const{body:_,width:k,height:C}=t,L=o==="mask"||(o==="bg"?!1:_.indexOf("currentColor")!==-1),j=Po(_,{...x,width:k+"",height:C+""}),W={"--svg":Lo(j)},O=E=>{const I=x[E];I&&(W[E]=Ao(I))};O("width"),O("height"),Object.assign(W,jo,L?Fn:Vs);let H="";for(const E in W)H+=E+": "+W[E]+";";return n.style=H+l,{svg:!1,attributes:n}}Fs(!0);to("",co);if(typeof document<"u"&&typeof window<"u"){const t=window;if(t.IconifyPreload!==void 0){const r=t.IconifyPreload,s="Invalid IconifyPreload syntax.";typeof r=="object"&&r!==null&&(r instanceof Array?r:[r]).forEach(o=>{try{(typeof o!="object"||o===null||o instanceof Array||typeof o.icons!="object"||typeof o.prefix!="string"||!Ja(o))&&console.error(s)}catch{console.error(s)}})}if(t.IconifyProviders!==void 0){const r=t.IconifyProviders;if(typeof r=="object"&&r!==null)for(let s in r){const o="IconifyProviders["+s+"] is invalid.";try{const n=r[s];if(typeof n!="object"||!n||n.resources===void 0)continue;ro(s,n)||console.error(o)}catch{console.error(o)}}}}function Mo(t,r,s,o,n){function l(){r.loading&&(r.loading.abort(),r.loading=null)}if(typeof t=="object"&&t!==null&&typeof t.body=="string")return r.name="",l(),{data:{...bn,...t}};let f;if(typeof t!="string"||(f=_n(t,!1,!0))===null)return l(),null;const x=za(f);if(!x)return s&&(!r.loading||r.loading.name!==t)&&(l(),r.name="",r.loading={name:t,abort:ko([f],o)}),null;l(),r.name!==t&&(r.name=t,n&&!r.destroyed&&setTimeout(()=>{n(t)}));const _=["iconify"];return f.prefix!==""&&_.push("iconify--"+f.prefix),f.provider!==""&&_.push("iconify--"+f.provider),{data:x,classes:_}}function Oo(t,r){return t?No({...bn,...t},r):null}var Do=new Set(["$$slots","$$events","$$legacy"]),Fo=ba("<svg></svg>"),qo=$("<span></span>");function Ft(t,r){xn(r,!0);const s={name:"",loading:null,destroyed:!1},o=Ea(r,Do);let n=P(!1),l=P(0),f=w(()=>!!r.ssr||e(n)),x=w(()=>(e(l),Mo(r.icon,s,e(f),k,r.onload))),_=w(()=>{const N=e(x)?Oo(e(x).data,o):null;return N&&e(x).classes&&(N.attributes.class=(typeof o.class=="string"?o.class+" ":"")+e(x).classes.join(" ")),N});function k(){wa(l)}Rs(()=>{i(n,!0)}),hn(()=>{s.destroyed=!0,s.loading&&(s.loading.abort(),s.loading=null)});var C=gn(),L=je(C);{var j=N=>{var W=gn(),O=je(W);{var H=I=>{var A=Fo();os(A,()=>({...e(_).attributes})),$a(A,()=>e(_).body,!0),u(A),m(I,A)},E=I=>{var A=qo();os(A,()=>({...e(_).attributes})),m(I,A)};M(O,I=>{e(_).svg?I(H):I(E,-1)})}m(N,W)};M(L,N=>{e(_)&&N(j)})}m(t,C),yn()}var zo=$('<div class="w-full"></div>');function ys(t,r){xn(r,!0);let s=P(null),o=null,n=[],l=null,f=!1,x,_=_r(r,"language",3,"plaintext"),k=_r(r,"height",3,120),C=_r(r,"readOnly",3,!1),L=[],j=P(!1);function N(O){e(j)||O.stopPropagation()}Rs(async()=>{var K,Fe;if(!x)return;x.addEventListener("wheel",N,{capture:!0,passive:!0}),Ra();const O=await ls(()=>import("../chunks/DLQqXQ6R.js").then(R=>R.e),__vite__mapDeps([0,1,2]),import.meta.url);if(f)return;l=O,ja(O);const H=_()==="json"?"json":_()==="markdown"?"markdown":"plaintext";i(s,O.editor.create(x,{value:r.value??"",language:H,theme:"bosun-dark",lineNumbers:"off",fontSize:14,fontFamily:'ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',automaticLayout:!0,minimap:{enabled:!1},wordBasedSuggestions:"off",wordWrap:"bounded",wordWrapColumn:75,wrappingStrategy:"advanced",scrollbar:{vertical:"hidden",horizontal:"hidden"},overviewRulerLanes:0,renderLineHighlight:"none",folding:!1,renderWhitespace:"none",padding:{top:4,bottom:4},readOnly:C(),domReadOnly:C(),matchBrackets:"never",bracketPairColorization:{enabled:!1},guides:{highlightActiveBracketPair:!1,bracketPairs:!1,bracketPairsHorizontal:!1},occurrencesHighlight:"off",selectionHighlight:!1,unicodeHighlight:{ambiguousCharacters:!1,nonBasicASCII:!1,invisibleCharacters:!1,includeStrings:!1,includeComments:!1},autoClosingQuotes:"never"}),!0);const E=e(s);if(!E)return;o=E.getModel(),n.push(E.onDidFocusEditorText(()=>{i(j,!0)})),n.push(E.onDidChangeModelContent(()=>{var R;try{const V=E.getValue();if(V===r.value)return;(R=r.onChange)==null||R.call(r,V)}catch(V){console.error("MiniEditor change error",V)}})),n.push(E.onDidBlurEditorText(()=>{var R;i(j,!1);try{(R=r.onBlur)==null||R.call(r,E.getValue())}catch{}}));const I=(K=E.onDidFocusEditorWidget)==null?void 0:K.call(E,()=>{i(j,!0)});I&&n.push(I);const A=(Fe=E.onDidBlurEditorWidget)==null?void 0:Fe.call(E,()=>{var R;i(j,!1);try{(R=r.onBlur)==null||R.call(r,E.getValue())}catch{}});A&&n.push(A)}),hn(()=>{f=!0;try{x.removeEventListener("wheel",N,{capture:!0})}catch{}for(const H of n)try{H.dispose()}catch{}n=[];const O=o;o=null;try{if(e(s)){try{e(s).setModel(null)}catch{}e(s).dispose()}}finally{i(s,null)}try{O==null||O.dispose()}catch{}l=null}),$r(()=>{if(!e(s))return;const O=_()==="json"?"json":_()==="markdown"?"markdown":"plaintext",H=e(s).getModel();if(!H||H.getLanguageId()===O)return;let E=!1;return(l?Promise.resolve(l):ls(()=>import("../chunks/DLQqXQ6R.js").then(A=>A.e),__vite__mapDeps([0,1,2]),import.meta.url)).then(A=>{if(!E)try{A.editor.setModelLanguage(H,O)}catch{}}),()=>{E=!0}}),$r(()=>{e(s)&&r.value!==e(s).getValue()&&e(s).setValue(r.value??"")}),$r(()=>{var O;(O=e(s))==null||O.updateOptions({readOnly:C(),domReadOnly:C()})}),$r(()=>{const O=r.highlights;if(!e(s)||!o||!l)return;const H=l,E=o.getLineCount(),I=[];for(const A of O??[]){const K=Math.max(1,Math.min(E,Number(A.startLine)||1)),Fe=Math.max(K,Math.min(E,Number(A.endLine)||K)),R=o.getLineMaxColumn(Fe);if(I.push({range:new H.Range(K,1,Fe,R),options:{inlineClassName:A.className}}),A.className==="test-expected-output")for(let V=K;V<=Fe;V++){const me=o.getLineContent(V),nt=/<\/?[A-Za-z][^>]*?>/g;let de;for(;de=nt.exec(me);){const Te=(de.index??0)+1,ft=Math.min(o.getLineMaxColumn(V),Te+String(de[0]??"").length);ft<=Te||I.push({range:new H.Range(V,Te,V,ft),options:{inlineClassName:"test-expected-output-tag"}})}}}L=e(s).deltaDecorations(L,I)});var W=zo();La(W,O=>x=O,()=>x),U(()=>Nn(W,`height:${k()}px`)),m(t,W),yn()}var Ho=$('<button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-rc-gray-400">Analyze</button>'),Jo=$('<div><div class="mb-1 text-xs text-rc-gray-300"> </div> <div class="whitespace-pre-wrap break-words text-rc-gray-100"> </div></div>'),Vo=$('<div class="flex flex-col gap-3"></div>'),_s=$('<div class="p-2 text-rc-gray-300">Loading…</div>'),bs=$('<div class="p-2 text-red-400"> </div>'),Uo=$('<div class="flex h-full flex-col gap-2"><div class="grid grid-cols-2 gap-2"><div class="flex items-center justify-start"><!></div> <div class="flex items-center justify-end"><!></div></div> <!></div>'),Bo=$('<div class="h-[55vh]"><!></div>'),Qo=$("<!> <!> <!>",1),Wo=$('<!> <div class="mt-2 h-[55vh]"><!></div>',1),Ko=$('<div class="mt-1 flex flex-wrap items-center gap-x-2 gap-y-1"><button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-rc-gray-400"> </button> <!> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">See variants</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Prompt</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Conversation</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Context</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Debug</button></div> <!> <!> <!>',1);function ws(t,r){xn(r,!0);let s=_r(r,"actionsDisabled",3,!1),o=_r(r,"addTestDisabled",3,!1),n=_r(r,"showAnalyze",3,!0),l=_r(r,"analyzeDisabled",3,!1),f=P(!1),x=P(!1),_=P(!1),k=P("errors"),C=P("prompt"),L=P(null),j=P(null),N=P(null),W=P(null),O=P(null),H=P(null),E=P(null),I=P(dt({prompt:!1,conversation:!1,context:!1,errors:!1,traces:!1,logs:!1})),A=P(dt({prompt:null,conversation:null,context:null,errors:null,traces:null,logs:null})),K=0,Fe=P(null),R=null,V=P("idle"),me=null;function nt(S){try{return{raw:S,formatted:JSON.stringify(JSON.parse(S),null,2)}}catch{return{raw:S,formatted:S}}}async function de(S){const ve=await Se.tests.resultEntry.query({agent:S.agent,region:r.region,testId:S.id,resultKey:S.key,timestamp:S.timestamp,index:S.run});return nt(ve)}function Te(S){return S==="prompt"?e(j)!==null&&e(L)!==null:S==="conversation"?e(N)!==null:S==="context"?e(W)!==null:S==="errors"?e(O)!==null:S==="traces"?e(H)!==null:e(E)!==null}async function ft(S){if(Te(S)||e(I)[S])return;const ve=K;i(I,{...e(I),[S]:!0},!0),i(A,{...e(A),[S]:null},!0);try{if(S==="prompt"){const[Ae,X]=await Promise.all([de(r.links.renderedPrompt),de(r.links.receivedPrompt)]);if(ve!==K)return;i(L,Ae,!0),i(j,X,!0)}else{const Ae=S==="conversation"?r.links.conversation:S==="context"?r.links.context:S==="errors"?r.links.errors:S==="traces"?r.links.traces:r.links.logs,X=await de(Ae);if(ve!==K)return;S==="conversation"?i(N,X,!0):S==="context"?i(W,X,!0):S==="errors"?i(O,X,!0):S==="traces"?i(H,X,!0):i(E,X,!0)}}catch(Ae){if(ve!==K)return;console.error(Ae),i(A,{...e(A),[S]:"Failed to load content"},!0)}finally{ve===K&&i(I,{...e(I),[S]:!1},!0)}}function qt(){i(L,null),i(j,null),i(N,null),i(W,null),i(O,null),i(H,null),i(E,null),i(I,{prompt:!1,conversation:!1,context:!1,errors:!1,traces:!1,logs:!1},!0),i(A,{prompt:null,conversation:null,context:null,errors:null,traces:null,logs:null},!0)}function Yt(){K+=1,i(k,"errors"),qt(),i(f,!0),ft("errors")}function st(S){K+=1,i(C,S,!0),qt(),i(x,!0),ft(S)}function ur(S){return S==="prompt"?"Prompt":S==="conversation"?"Conversation":"Context"}function er(S){i(k,S,!0),ft(S)}async function at(){if(e(V)!=="adding"){i(V,"adding");try{await r.onAddTest(),i(V,"added")}catch(S){console.error("Failed to add test",S),i(V,"failed")}me&&clearTimeout(me),me=window.setTimeout(()=>{i(V,"idle"),me=null},2500)}}async function Gr(S){if(!(!e(j)||!e(L)))try{const ve=S==="raw"?e(j).raw:e(L).raw;await navigator.clipboard.writeText(ve),i(Fe,S,!0),R&&clearTimeout(R),R=window.setTimeout(()=>{i(Fe,null),R=null},2e3)}catch(ve){console.error("Failed to copy prompt",ve)}}hn(()=>{K+=1,R&&clearTimeout(R),me&&clearTimeout(me)});var Xr=Ko(),Rr=je(Xr),zt=v(Rr),br=v(zt,!0);u(zt);var wr=h(zt,2);{var dr=S=>{var ve=Ho();U(()=>ve.disabled=l()),Ue("click",ve,function(...Ae){var X;(X=r.onAnalyze)==null||X.apply(this,Ae)}),m(S,ve)};M(wr,S=>{n()&&S(dr)})}var jr=h(wr,2),Ar=h(jr,2),Nr=h(Ar,2),re=h(Nr,2),Mr=h(re,2);u(Rr);var qe=h(Rr,2);{var wn=S=>{{const ve=X=>{var ze=Vo();cr(ze,21,()=>r.variants,Ze=>Ze.index,(Ze,ot)=>{var jt=Jo(),Ht=v(jt),Jt=v(Ht);u(Ht);var pe=h(Ht,2),Q=v(pe,!0);u(pe),u(jt),U(()=>{Re(jt,1,`rounded-lg border p-3 ${e(ot).index===r.runIndex?"border-rc-green-450":"border-rc-gray-650"} ${e(ot).success?"bg-rc-green-700/80":"bg-rc-gray-900/60"}`),z(Jt,`Run ${e(ot).index??""}${e(ot).index===r.runIndex?" • selected":""}`),z(Q,e(ot).text||e(ot).errors||"—")}),m(Ze,jt)}),u(ze),m(X,ze)};let Ae=w(()=>`Variants — ${r.scenario||"Test"}`);Er(S,{get title(){return e(Ae)},class:"!w-[80vw] !max-w-4xl",get open(){return e(_)},set open(X){i(_,X,!0)},children:ve,$$slots:{default:!0}})}};M(qe,S=>{e(_)&&S(wn)})}var Or=h(qe,2);{var fe=S=>{{const ve=X=>{var ze=Bo(),Ze=v(ze);{var ot=Q=>{var Ne=_s();m(Q,Ne)},jt=Q=>{var Ne=bs(),Z=v(Ne,!0);u(Ne),U(()=>z(Z,e(A)[e(C)])),m(Q,Ne)},Ht=Q=>{var Ne=Uo(),Z=v(Ne),he=v(Z),Ce=v(he);{let kt=w(()=>!e(j).raw.trim());Xe(Ce,{variant:"secondary",size:"small",get disabled(){return e(kt)},onclick:()=>Gr("raw"),children:(Ye,At)=>{_e();var St=De();U(()=>z(St,e(Fe)==="raw"?"Copied raw prompt":"Copy raw prompt")),m(Ye,St)},$$slots:{default:!0}})}u(he);var $t=h(he,2),vt=v($t);{let kt=w(()=>!e(L).raw.trim());Xe(vt,{variant:"secondary",size:"small",get disabled(){return e(kt)},onclick:()=>Gr("rendered"),children:(Ye,At)=>{_e();var St=De();U(()=>z(St,e(Fe)==="rendered"?"Copied rendered prompt":"Copy rendered prompt")),m(Ye,St)},$$slots:{default:!0}})}u($t),u(Z);var rr=h(Z,2);Aa(rr,{get original(){return e(j).formatted},get modified(){return e(L).formatted},language:"markdown",class:"min-h-0 flex-1"}),u(Ne),m(Q,Ne)},Jt=Q=>{{let Ne=w(()=>e(N).formatted||"—");Ur(Q,{get value(){return e(Ne)},language:"text",class:"h-full"})}},pe=Q=>{{let Ne=w(()=>e(W).formatted||"—");Ur(Q,{get value(){return e(Ne)},language:"json",class:"h-full"})}};M(Ze,Q=>{e(I)[e(C)]?Q(ot):e(A)[e(C)]?Q(jt,1):e(C)==="prompt"&&e(j)&&e(L)?Q(Ht,2):e(C)==="conversation"&&e(N)?Q(Jt,3):e(C)==="context"&&e(W)&&Q(pe,4)})}u(ze),m(X,ze)};let Ae=w(()=>`${ur(e(C))} — ${r.scenario||"Test"} (run ${r.runIndex})`);Er(S,{get title(){return e(Ae)},class:"!w-[85vw] !max-w-5xl",get open(){return e(x)},set open(X){i(x,X,!0)},children:ve,$$slots:{default:!0}})}};M(Or,S=>{e(x)&&S(fe)})}var tr=h(Or,2);{var fr=S=>{{const ve=X=>{var ze=Wo(),Ze=je(ze);js(Ze,{get value(){return e(k)},ariaLabel:"Test run debug tabs",onChange:({value:Z})=>er(Z),children:(Z,he)=>{var Ce=Qo(),$t=je(Ce);Wr($t,{value:"errors",class:"px-3",children:(kt,Ye)=>{_e();var At=De("Errors");m(kt,At)},$$slots:{default:!0}});var vt=h($t,2);Wr(vt,{value:"traces",class:"px-3",children:(kt,Ye)=>{_e();var At=De("Traces");m(kt,At)},$$slots:{default:!0}});var rr=h(vt,2);Wr(rr,{value:"logs",class:"px-3",children:(kt,Ye)=>{_e();var At=De("Logs");m(kt,At)},$$slots:{default:!0}}),m(Z,Ce)},$$slots:{default:!0}});var ot=h(Ze,2),jt=v(ot);{var Ht=Z=>{var he=_s();m(Z,he)},Jt=Z=>{var he=bs(),Ce=v(he,!0);u(he),U(()=>z(Ce,e(A)[e(k)])),m(Z,he)},pe=Z=>{{let he=w(()=>e(O).formatted||"—");Ur(Z,{get value(){return e(he)},language:"text",class:"h-full"})}},Q=Z=>{{let he=w(()=>e(H).formatted||"—");Ur(Z,{get value(){return e(he)},language:"json",class:"h-full"})}},Ne=Z=>{{let he=w(()=>e(E).formatted||"—");Ur(Z,{get value(){return e(he)},language:"text",class:"h-full"})}};M(jt,Z=>{e(I)[e(k)]?Z(Ht):e(A)[e(k)]?Z(Jt,1):e(k)==="errors"&&e(O)?Z(pe,2):e(k)==="traces"&&e(H)?Z(Q,3):e(k)==="logs"&&e(E)&&Z(Ne,4)})}u(ot),m(X,ze)};let Ae=w(()=>`Debug — ${r.scenario||"Test"} (run ${r.runIndex})`);Er(S,{get title(){return e(Ae)},class:"!w-[85vw] !max-w-5xl",get open(){return e(f)},set open(X){i(f,X,!0)},children:ve,$$slots:{default:!0}})}};M(tr,S=>{e(f)&&S(fr)})}U(()=>{zt.disabled=s()||o()||e(V)==="adding",z(br,e(V)==="adding"?"Adding…":e(V)==="added"?"Added":e(V)==="failed"?"Failed":"Add test")}),Ue("click",zt,at),Ue("click",jr,()=>i(_,!0)),Ue("click",Ar,()=>st("prompt")),Ue("click",Nr,()=>st("conversation")),Ue("click",re,()=>st("context")),Ue("click",Mr,Yt),m(t,Xr),yn()}Ls(["click"]);function Go(t){const r=t<0?-1:1,s=Math.abs(t),o=.254829592,n=-.284496736,l=1.421413741,f=-1.453152027,x=1.061405429,k=1/(1+.3275911*s),C=1-((((x*k+f)*k+l)*k+n)*k+o)*k*Math.exp(-s*s);return r*C}function Xo(t){return .5*(1+Go(t/Math.SQRT2))}function Us(t,r,s,o){if(!Number.isFinite(t)||!Number.isFinite(r)||!Number.isFinite(s)||!Number.isFinite(o)||r<=0||o<=0)return null;const n=t/r,l=s/o,f=(t+s)/(r+o),x=Math.sqrt(f*(1-f)*(1/r+1/o));if(!Number.isFinite(x)||x<=0)return null;const _=(l-n)/x,k=2*(1-Xo(Math.abs(_)));return Math.max(0,Math.min(1,k))}function Bs(t){return t==="higher"?"significantly better":"significantly worse"}function dn(t,r){if(!t||t.isOld)return null;const s=t.total_runs;if(s<=0)return null;const o=t.previous,n=o&&o.total_runs>0?o.success_count/o.total_runs:null,l=t.successes/s,f=n===null||l>=n?"higher":"lower",x=(()=>{if(s<5||!o||o.total_runs<=0)return!1;const N=Us(o.success_count,o.total_runs,t.successes,s);return N!==null&&N<.05})(),_=n===1&&l<1,k=n!==null&&n<1&&l===1,C=x?Bs(f):_?"Not 100% anymore":k?"100% now":void 0,L=Number.isFinite(r)&&r>0&&s<r;if(!L&&!C)return null;const j=L?Math.round(l*r):void 0;return{showExpected:L,expectedSuccesses:j,expectedRuns:r,significant:x,direction:f,comparisonLabel:C}}var Zo=$('<link rel="preload" href="/ui/arrow_tests.svg" as="image"/>'),ks=$("<!> <!>",1),Ss=$('<div class="p-2 text-gray-300">Loading…</div>'),Ts=$('<div class="p-2 text-rc-red-600"> </div>'),Yo=$('<div class="p-2 text-gray-400">No previous runs</div>'),ei=$('<div class="border-rc-red-700 rounded border bg-rc-gray-900 px-3 py-2 text-sm text-rc-red-600"> </div>'),ti=$('<button type="button"><div class="flex items-baseline justify-between gap-2"><span class="font-semibold text-rc-gray-100"> </span> <span class="text-sm text-rc-gray-400"> </span></div> <div class="mt-1 text-sm text-rc-gray-400"> </div> <div class="mt-2 flex items-center justify-between gap-2 text-sm"><span> </span> <span class="text-rc-gray-300"> </span></div></button>'),ri=$('<div class="flex flex-col gap-2"><!> <!></div>'),Cs=$('<div class="p-3 text-gray-400">—</div>'),fn=$('<span class="ml-2 text-rc-gray-400"> </span>'),ni=$("<span> </span> <!>",1),Is=$('<span class="text-rc-gray-500">—</span>'),Ps=$('<div class="mt-1 px-1 text-sm font-semibold text-rc-gray-300"><!></div>'),si=$('<div class="flex items-center gap-2"><input class="rc-input w-44 svelte-rdft55" type="text" readonly=""/> <input class="rc-input min-w-0 flex-1 svelte-rdft55" type="text" placeholder="Assertion value" readonly=""/></div>'),$s=$('<div class="flex flex-col gap-2"><div> </div> <div><div class="flex items-center gap-0"><!> <span> </span></div> <!></div></div>'),ai=$('<div class="flex flex-wrap items-center gap-3"><div class="text-lg font-extrabold"><span> </span> <!></div></div> <div class="mt-3 flex flex-col gap-4"></div>',1),oi=$('<div class="flex flex-col gap-2 p-2"><input class="card-input-subtle pointer-events-none svelte-rdft55" type="text" placeholder="Author" readonly=""/> <!> <div class="flex flex-wrap items-center gap-3"><!> <!></div> <!></div> <div class="rounded-b border-t border-rc-gray-700 bg-rc-gray-980 p-2"><!></div>',1),ii=$('<div class="border-b border-rc-gray-700 p-2"><div class="grid grid-cols-[2.25rem,1fr] gap-2"><div class="flex flex-col items-center gap-1 pt-1"><!></div> <div class="min-w-0"><div><div><div class="grid grid-cols-[1fr,2.25rem] items-center gap-2"><input class="card-input-title pointer-events-none svelte-rdft55" type="text" placeholder="Scenario" readonly=""/> <button class="icon-btn justify-self-end text-gray-300 hover:text-gray-100 svelte-rdft55"><!></button></div> <!></div> <!></div></div></div></div>'),Es=$('<div class="flex flex-col space-y-5"></div>'),li=$('<div class="flex flex-col gap-3"><div class="flex flex-wrap items-center justify-between gap-3 border-b border-rc-gray-700 pb-3"><div class="flex flex-wrap items-center gap-3"><div class="flex items-center gap-2"><label class="text-rc-gray-300">Repeats</label> <!></div> <div class="flex items-center gap-2"><label class="text-rc-gray-300">Concurrency</label> <!></div> <span class="text-rc-gray-400"> </span></div> <!></div> <div class="grid grid-cols-[2.25rem,1fr] items-center gap-2 border-b border-rc-gray-700 p-2"><div></div> <div class="flex flex-wrap items-center gap-x-4 gap-y-1 text-left text-rc-gray-300"><span> </span> <span> </span></div></div> <!></div>'),ci=$('<div class="grid min-h-[68vh] grid-cols-[18rem,minmax(0,1fr)] gap-4"><aside class="rc-scroll min-h-0 overflow-auto border-r border-rc-gray-700 pr-3"><!></aside> <section class="rc-scroll min-h-0 overflow-auto"><!></section></div>'),ui=$('<pre class="whitespace-pre-wrap font-mono text-gray-200"> </pre>'),di=$("<li> </li>"),fi=$('<div class="mx-2 mt-2 rounded border border-red-500 bg-red-950/30 px-3 py-2 text-sm text-red-200"><div class="font-semibold">Orphaned tests</div> <ul class="mt-1 list-disc pl-5"></ul></div>'),vi=$('<div class="mr-3 flex items-center gap-3"><span class="animate-pulse rounded bg-rc-green-200 px-3 py-1 text-white"> </span> <!></div>'),pi=$("<!> New test",1),gi=$('<div class="pointer-events-none absolute -left-28 top-full mt-4 inline-flex -translate-x-1/2 flex-col items-center"><div class="relative w-50vw max-w-2xl"><img src="/ui/arrow_tests.svg" alt="Arrow" class="block h-auto w-full object-contain"/> <span class="absolute inset-0 mt-48 flex items-center justify-center text-center text-4xl font-extrabold text-rc-gray-200">No tests yet.<br/>Add the first one</span></div></div>'),mi=$("<!> History",1),hi=$("<!> Collapse all",1),xi=$("<div></div>"),yi=$('<button aria-label="Pin/unpin all" title="Pin/unpin all"><!></button>'),An=$('<span><!><span class="ml-1"> </span></span>'),_i=$('<div class="translate-y-[5px]"><!></div>'),bi=$('<button><!></button> <button title="Duplicate" class="icon-btn text-gray-300 hover:text-gray-100 disabled:cursor-not-allowed disabled:opacity-50 svelte-rdft55"><!></button> <button title="Delete" class="icon-btn text-gray-300 hover:text-gray-100 disabled:cursor-not-allowed disabled:opacity-50 svelte-rdft55"><!></button>',1),wi=$("<span> </span> <!> <!>",1),ki=$('<div class="rounded bg-rc-gray-930 px-2 py-2 text-sm text-rc-red-600"> </div>'),Si=$("<option> </option>"),Ti=$('<div class="flex items-center gap-2"><select class="rc-scroll rc-input w-36 svelte-rdft55" aria-label="Assertion Type"></select> <input class="rc-input min-w-0 flex-1 svelte-rdft55" type="text" placeholder="Assertion value"/></div>'),Ci=$('<div class="text-lg font-extrabold"><span> </span> <!> <!></div>'),Ii=$('<div class="mt-3 flex flex-col gap-4"></div>'),Pi=$('<div class="flex flex-col gap-2 p-2"><!> <input class="card-input-subtle svelte-rdft55" type="text" placeholder="Author"/> <!> <div class="flex flex-wrap items-center gap-3"><!></div> <!></div> <div class="rounded-b border-t border-rc-gray-700 bg-rc-gray-980 p-2"><div class="flex flex-wrap items-center gap-3"><!> <!></div> <!></div>',1),$i=$('<div class="border-b border-rc-gray-700 p-2"><div class="grid grid-cols-[2.25rem,1fr] gap-2"><div class="flex flex-col items-center gap-1"><!></div> <div class="min-w-0"><div><div><div class="grid grid-cols-[1fr,2.25rem] items-center gap-2"><input class="card-input-title svelte-rdft55" type="text" placeholder="Scenario"/> <button class="icon-btn justify-self-end text-gray-300 hover:text-gray-100 disabled:cursor-not-allowed disabled:opacity-50 svelte-rdft55"><!></button></div> <!></div> <!></div></div></div></div>'),Ei=$('<div class="flex min-h-0 flex-1 flex-col overflow-hidden p-3"><!> <div class="mt-3 min-h-0 flex-1 overflow-hidden"><!></div></div>'),Li=$('<div class="rc-scroll min-h-0 flex-1 overflow-auto"><div class="grid grid-cols-[2.25rem,1fr] items-center gap-2 border-b border-rc-gray-700 p-2"><!> <div class="flex flex-wrap items-center gap-x-4 gap-y-1 text-left text-rc-gray-300"><span> </span> <span> </span> <span> </span> <!></div></div> <!></div> <!>',1),Ri=$('<div class="flex h-full min-h-0 flex-col"><!> <div class="flex flex-none items-center justify-between gap-3 p-2"><div class="flex flex-wrap items-center gap-3 pl-11"><div class="flex items-center gap-2"><label class="text-rc-gray-300">Repeats</label> <!></div> <div class="flex items-center gap-2"><label class="text-rc-gray-300">Concurrency</label> <!></div></div> <div class="flex flex-wrap items-center gap-3"><!> <!> <div class="relative inline-flex items-center"><!> <!></div> <!></div></div> <div class="flex flex-none items-center justify-between gap-3 px-2 pb-2"><!> <!></div> <div class="min-h-0 flex-1 overflow-hidden"><!></div></div>'),ji=$("<!> <!> <!> <!>",1);function sl(t,r){xn(r,!0);const{state:s,actions:o}=Ca(),n=w(()=>s.agentId),l=w(()=>s.region);function f(a){try{return structuredClone(a)}catch{try{return JSON.parse(JSON.stringify(a))}catch{return a}}}function x(a,d,c){return Math.max(d,Math.min(c,a))}let _=P(1),k=P(75),C=P(dt({})),L=P(dt({})),j=P(!1),N=P(null),W=P("context"),O=P(dt({})),H=P(dt({})),E=P(!1),I=P(!1),A=P(!1),K=P(""),Fe=P(null),R=P(!1),V=P(null),me=P(dt([])),nt=P(!1),de=P(null),Te=P(null),ft=P(dt({})),qt=P(!1),Yt=P(null),st=P(dt([])),ur=0,er=0;const at=w(()=>e(Te)?e(ft)[e(Te)]??null:null),Gr=w(()=>e(nt)&&e(me).length===0&&!e(de)),Xr=w(()=>e(qt)&&!e(at)),Rr=w(()=>new Set(e(st))),zt=w(()=>e(at)?e(at).rows.map(a=>Ys(e(at).timestamp,a)):[]),br=w(()=>ea(e(zt)));function wr(a,d){i(K,a,!0),i(Fe,JSON.stringify(d??{},null,2),!0),i(A,!0)}let dr=P(!1);async function jr(a,d,c){var T;if(e(dr))return;i(dr,!0);const g=o.openPopover("analyze"),p=`Analysis — ${a} (run ${d})`;try{const y=await Se.tests.analyzeRun.mutate({agent:c.agent,region:e(l),testId:c.id,index:c.run,timestamp:c.timestamp});if(((T=s.edit.popover)==null?void 0:T.requestId)!==g)return;o.setHighlightQuotes(y.quotes);let D=null;try{D=JSON.stringify(y.raw,null,2)}catch{D=null}o.setPopoverReady(g,{title:p,quotes:y.quotes,rationales:y.rationales,parallelCalls:y.parallelCalls,raw:D})}catch(y){console.error(y);const D=typeof(y==null?void 0:y.message)=="string"?y.message:(()=>{try{return JSON.stringify(y)}catch{return String(y)}})();o.setPopoverError(g,D||"Failed to analyze this response",{raw:D})}finally{i(dr,!1)}}const Ar=[{value:"llm-rubric",label:"LLM"},{value:"answer-relevance",label:"Answer Relevance (LLM)"},{value:"context-faithfulness",label:"Context Faithfulness (LLM)"},{value:"context-recall",label:"Context Recall (LLM)"},{value:"context-relevance",label:"Context Relevance (LLM)"},{value:"model-graded-closedqa",label:"Model-Graded Closed QA"},{value:"model-graded-factuality",label:"Model-Graded Factuality"},{value:"moderation",label:"Moderation"},{value:"classifier",label:"Classifier"},{value:"g-eval",label:"G-Eval"},{value:"factuality",label:"Factuality"},{value:"conversation-relevance",label:"Conversation Relevance"},{value:"equals",label:"Equals"},{value:"contains",label:"Contains"},{value:"icontains",label:"Contains (case-insensitive)"},{value:"contains-all",label:"Contains All"},{value:"contains-any",label:"Contains Any"},{value:"icontains-all",label:"Contains All (iCase)"},{value:"icontains-any",label:"Contains Any (iCase)"},{value:"starts-with",label:"Starts With"},{value:"regex",label:"Regex"},{value:"levenshtein",label:"Levenshtein Distance"},{value:"is-refusal",label:"Is Refusal"},{value:"is-html",label:"Is HTML"},{value:"contains-html",label:"Contains HTML"},{value:"is-json",label:"Is JSON"},{value:"contains-json",label:"Contains JSON"},{value:"is-xml",label:"Is XML"},{value:"contains-xml",label:"Contains XML"},{value:"is-sql",label:"Is SQL"},{value:"contains-sql",label:"Contains SQL"},{value:"similar",label:"Semantic Similarity"},{value:"rouge-n",label:"ROUGE-N"},{value:"bleu",label:"BLEU"},{value:"gleu",label:"GLEU"},{value:"meteor",label:"METEOR"},{value:"perplexity",label:"Perplexity"},{value:"perplexity-score",label:"Perplexity Score"},{value:"latency",label:"Latency"},{value:"cost",label:"Cost"},{value:"finish-reason",label:"Finish Reason"},{value:"trace-error-spans",label:"Trace Error Spans"},{value:"trace-span-count",label:"Trace Span Count"},{value:"trace-span-duration",label:"Trace Span Duration"},{value:"is-valid-function-call",label:"Is Valid Function Call"},{value:"is-valid-openai-function-call",label:"Is Valid OpenAI Function Call"},{value:"is-valid-openai-tools-call",label:"Is Valid OpenAI Tools Call"},{value:"guardrails",label:"Guardrails"},{value:"javascript",label:"JavaScript (custom)"},{value:"python",label:"Python (custom)"},{value:"webhook",label:"Webhook (custom)"},{value:"pi",label:"Pi Scorer"}],Nr=[...Ar,...Ar.map(a=>({value:`not-${a.value}`,label:`Not ${a.label}`}))];let re=P(dt([]));const Mr=w(()=>{var a;return((a=s.currentStep)==null?void 0:a.name)||"main"}),qe=w(()=>e(re).filter(a=>a.step===e(Mr))),wn=w(()=>new Set(s.steps.map(a=>a.name))),Or=w(()=>{if(!s.steps.length)return[];const a=new Map;for(const d of e(re))e(wn).has(d.step)||a.set(d.step,(a.get(d.step)??0)+1);return[...a.entries()].map(([d,c])=>({step:d,count:c})).sort((d,c)=>d.step.localeCompare(c.step))});let fe=P(!1),tr=P(null),fr=P(null),S=P(0),ve=P(0),Ae=P(1),X=P(dt([])),ze=P(dt([])),Ze=P(dt([]));const ot=w(()=>new Set(e(X))),jt=w(()=>new Set(e(ze))),Ht=w(()=>new Set(e(Ze)));let Jt=!1,pe=null,Q=0,Ne=Promise.resolve();const Z=new Set;let he=P(0);const Ce=w(()=>e(he)>0);let $t=P(!1),vt=P(dt([]));const rr=w(()=>new Set(e(vt))),kt=w(()=>e(qe).some(a=>e(rr).has(a.id)));function Ye(a){return Z.add(a),i(he,e(he)+1),a.finally(()=>{Z.delete(a),i(he,e(he)-1)}),a}function At(a,d,c){const g=Array.isArray(c.results)?c.results:[],p=g.reduce((T,y)=>T+(y!=null&&y.success?1:0),0);return{success_rate:c.success_rate,successes:p,total_runs:g.length,isOld:!!c.is_old,previous:c.previous&&typeof c.previous=="object"?{success_count:Number(c.previous.success_count??0),total_runs:Number(c.previous.total_runs??0),report_timestamp:String(c.previous.report_timestamp??"")}:void 0,runs:g.map((T,y)=>{const D=c.report_timestamp,F={agent:a,id:d,timestamp:D,run:y};return{index:y+1,success:!!T.success,text:String(T.result||""),evaluation:String(T.evaluation||""),errors:String(T.errors||""),links:{renderedPrompt:{...F,key:"rendered_prompt"},receivedPrompt:{...F,key:"received_prompt"},conversation:{...F,key:"stringified_conversation"},context:{...F,key:"received_context"},logs:{...F,key:"logs"},errors:{...F,key:"errors"},traces:{...F,key:"traces"}}}}).reverse()}}async function St(){const a=(e(n)??"").trim();if(a)try{const[{rows:d},c,g]=await Promise.all([Se.tests.list.query({agent:a,region:e(l)}),Se.tests.config.query({agent:a,region:e(l)}),Se.tests.latestResult.query({agent:a,region:e(l)})]);if((e(n)??"").trim()!==a)return;i(_,c.repeats??1,!0),i(k,c.concurrency??75,!0),i(C,c.defaultContext??{},!0),i(vt,c.expandedTestIds??[],!0),i(re,d.map(p=>{const T=p.id,y=g[T];return{id:T,pinned:String(p.pinned).toUpperCase()==="TRUE",scenario:p.scenario||"",step:String(p.step||"main"),evaluation_mode:p.evaluation_mode==="json-deep-equal"?"json-deep-equal":"assertion",context_mode:p.context_mode==="replace"?"replace":"merge",author:p.author||"",assertion_type:p.assertion_type||"llm-rubric",assertion_value:p.assertion_value||"",conversation:p.conversation||"",expected_output:p.expected_output||"",conversation_ui:tn(p.conversation||"",p.expected_output||"",String(p.step??"main"),p.evaluation_mode==="json-deep-equal"),timeout:Number(p.timeout??0),similarity_threshold:Number(p.similarity_threshold??50),context:JSON.stringify(p.context),mocks:JSON.stringify(p.mocks||{}),hasMocks:typeof p.mocks<"u",result:y?At(a,T,y):void 0}}),!0)}catch(d){if(console.error(d),(e(n)??"").trim()!==a)return;i(re,[],!0),i(_,1),i(k,75),i(C,{},!0),i(vt,[],!0)}finally{(e(n)??"").trim()===a&&i($t,!0)}}async function Zr(a){const d=(e(n)??"").trim();if(d&&!Jt){Jt=!0;try{const[c,g]=await Promise.all([Se.tests.latestResult.query({agent:d,region:e(l)}),Se.tests.runProgress.query({agent:d,region:e(l)})]);if(a!==Q)return;g&&(i(X,g.plannedTestIds,!0),i(ze,g.runningTestIds,!0),i(Ze,g.completedTestIds,!0));const p=e(re).map(F=>{const Ie=c[F.id];return{...F,result:Ie?At(d,F.id,Ie):void 0}});i(re,p,!0);const T=e(tr),y=Math.max(1,Number(e(Ae))||1),D=p.reduce((F,Ie)=>e(ot).has(Ie.id)&&Ie.result&&!Ie.result.isOld&&Ie.result.total_runs>=y?F+1:F,0);i(S,D,!0)}catch(c){console.error(c)}finally{Jt=!1}}}async function Qs(a){if(e(fe))return;i(fe,!0),i(tr,a,!0),i(fr,null),i(ve,a==="all"?e(qe).length:e(qe).filter(c=>c.pinned).length,!0),i(S,0),i(Ae,Math.max(1,Number(e(_))||1),!0),i(X,e(qe).filter(c=>a==="all"||c.pinned).map(c=>c.id),!0),i(ze,[],!0),i(Ze,[],!0),Q+=1;const d=Q;if(await Promise.all([Ne,...Z]),d===Q){pe&&clearInterval(pe),pe=setInterval(()=>Zr(d),250),Zr(d);try{await Se.tests.runTests.mutate({agent:e(n),region:e(l),step:e(Mr),scope:a})}catch(c){d===Q&&console.error(c)}finally{if(d!==Q)return;pe&&clearInterval(pe),pe=null;try{await St()}finally{if(d!==Q)return;i(fe,!1),i(tr,null),i(fr,null),i(X,[],!0),i(ze,[],!0),i(Ze,[],!0)}}}}async function Ws(a){if(!e(n)||e(fe))return;i(fe,!0),i(tr,"single"),i(fr,a,!0),i(ve,1),i(S,0),i(Ae,Math.max(1,Number(e(_))||1),!0),i(X,[a],!0),i(ze,[],!0),i(Ze,[],!0),Q+=1;const d=Q;if(await Promise.all([Ne,...Z]),d===Q){pe&&clearInterval(pe),pe=setInterval(()=>Zr(d),250),Zr(d);try{await Se.tests.runTests.mutate({agent:e(n),region:e(l),testId:a})}catch(c){d===Q&&console.error(c)}finally{if(d!==Q)return;pe&&clearInterval(pe),pe=null;try{await St()}finally{if(d!==Q)return;i(fe,!1),i(tr,null),i(fr,null),i(X,[],!0),i(ze,[],!0),i(Ze,[],!0)}}}}function Ks(){e(fe)&&(Q+=1,pe&&clearInterval(pe),pe=null,i(fe,!1),i(tr,null),i(fr,null),i(X,[],!0),i(ze,[],!0),i(Ze,[],!0),Ne=Se.tests.cancelRun.mutate({agent:e(n),region:e(l)}).then(()=>{},()=>{}))}async function Gs(a){const d=a?"TRUE":"FALSE",c=e(qe).filter(p=>p.pinned!==a).map(p=>p.id);if(c.length===0)return;const g=new Set(c);i(re,e(re).map(p=>g.has(p.id)?{...p,pinned:a}:p),!0);try{await Ye(Se.tests.patchTestsBatch.mutate({agent:e(n),region:e(l),updates:c.map(p=>({id:p,patch:{pinned:d}}))}))}catch(p){console.error(p),await St()}}let kn=null,Jn=null;$r(()=>{const a=(e(n)??"").trim(),d=(e(l)??"").trim(),c=s.availableRegions,g=Array.isArray(c)&&c.length>0;if(!a){kn=null,i(re,[],!0),i(vt,[],!0),i($t,!1);return}if(g&&!d)return;const p=`${a}::${d}`;kn!==p&&(kn=p,i(re,[],!0),i(vt,[],!0),i($t,!1),St())}),$r(()=>{const a=(is.url.searchParams.get("test")||"").trim(),d=(is.url.searchParams.get("step")||"").trim(),c=e(re).some(g=>g.id===a&&(!d||g.step===d));!a||!c||Jn===a||(Jn=a,(async()=>{var g;e(rr).has(a)||await kr(a,!0),await ka(),(g=document.querySelector(`[data-id="${CSS.escape(a)}"]`))==null||g.scrollIntoView({block:"start"})})().catch(console.error))});const Yr=w(()=>e(qe).filter(a=>a.pinned).length),Dr=w(()=>e(Yr)>0),Xs=w(()=>e(qe).length>0&&e(Yr)===e(qe).length),pt=w(()=>{let a=0,d=0,c=0,g=0,p=0,T=0,y=0,D=0;for(const Ie of e(qe)){const ge=Ie.result;!ge||ge.isOld||ge.total_runs<=0||(d+=1,c+=ge.successes,g+=ge.total_runs,ge.successes===ge.total_runs&&(a+=1),ge.previous&&ge.previous.total_runs>0&&(p+=ge.previous.success_count,T+=ge.previous.total_runs,y+=ge.successes,D+=ge.total_runs))}const F=(()=>{if(D<5||T<=0)return null;const Ie=Us(p,T,y,D);if(Ie===null||Ie>=.05)return null;const ge=p/T;return{direction:y/D>=ge?"higher":"lower",previousAttemptsPassing:p,previousAttemptsTotal:T,currentAttemptsPassing:y,currentAttemptsTotal:D,pValue:Ie}})();return{casesPassing:a,casesTotal:d,attemptsPassing:c,attemptsTotal:g,trend:F}});async function Zs(){var g,p;const a=(p=(g=s.currentStep)==null?void 0:g.schema)!=null&&p.trim()?"json-deep-equal":"assertion",d=await Se.tests.addTest.mutate({agent:e(n),region:e(l),seed:{step:e(Mr),evaluation_mode:a,...a==="json-deep-equal"?{expected_output:"{}"}:{}},mergeContexts:!0}),c=Sn(d);i(re,[c,...e(re)],!0),kr(c.id,!0).catch(console.error)}function Sn(a){return{...a,step:String(a.step||"main"),evaluation_mode:a.evaluation_mode==="json-deep-equal"?"json-deep-equal":"assertion",context_mode:a.context_mode==="replace"?"replace":"merge",pinned:a.pinned==="TRUE",timeout:Number(a.timeout),similarity_threshold:Number(a.similarity_threshold),context:JSON.stringify(a.context),mocks:JSON.stringify(a.mocks||{}),hasMocks:typeof a.mocks<"u",conversation_ui:tn(a.conversation||"",a.expected_output||"",String(a.step||"main"),a.evaluation_mode==="json-deep-equal")}}function Ys(a,d){const c=d.test,g=c.id,p=d.results,T=p.reduce((y,D)=>y+(D.success?1:0),0);return{id:g,pinned:c.pinned==="TRUE",scenario:c.scenario,step:c.step||"main",evaluation_mode:c.evaluation_mode==="json-deep-equal"?"json-deep-equal":"assertion",context_mode:c.context_mode==="replace"?"replace":"merge",author:c.author||"",assertion_type:c.assertion_type,assertion_value:c.assertion_value,conversation:c.conversation,expected_output:c.expected_output,conversation_ui:tn(c.conversation||"",c.expected_output||"",c.step||"main",c.evaluation_mode==="json-deep-equal"),timeout:Number(c.timeout),similarity_threshold:Number(c.similarity_threshold),context:JSON.stringify(c.context),mocks:JSON.stringify(c.mocks||{}),hasMocks:typeof c.mocks<"u",result:{success_rate:d.success_rate,successes:T,total_runs:p.length,isOld:!1,runs:p.map((y,D)=>{const F={agent:e(n),id:g,timestamp:a,run:D};return{index:D+1,success:y.success,text:y.result||"",evaluation:y.evaluation||"",errors:y.errors||"",links:{renderedPrompt:{...F,key:"rendered_prompt"},receivedPrompt:{...F,key:"received_prompt"},conversation:{...F,key:"stringified_conversation"},context:{...F,key:"received_context"},logs:{...F,key:"logs"},errors:{...F,key:"errors"},traces:{...F,key:"traces"}}}}).reverse()}}}function ea(a){let d=0,c=0,g=0,p=0;for(const T of a){const y=T.result;!y||y.total_runs<=0||(c+=1,g+=y.successes,p+=y.total_runs,y.successes===y.total_runs&&(d+=1))}return{casesPassing:d,casesTotal:c,attemptsPassing:g,attemptsTotal:p}}function ta(a){var d;return((d=Nr.find(c=>c.value===a))==null?void 0:d.label)??a}function ra(a){const d=new Date(a);return Number.isNaN(d.getTime())?a:d.toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}function na(a){const d=new Date(a);return Number.isNaN(d.getTime())?"":d.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})}function Vn(a){return a==="all"?"All tests":"Pinned tests"}function sa(a){const d=new Set(e(st));d.has(a)?d.delete(a):d.add(a),i(st,Array.from(d),!0)}function Tn(a,d){return`${a.trim()}::${String(d??"").trim()}`}function vr(){const a=(e(n)??"").trim();return a?Tn(a,e(l)):null}function Un(a){return a.rows.length===1?a.rows.map(d=>d.test.id):[]}function aa(){ur+=1,er+=1,i(V,null),i(me,[],!0),i(nt,!1),i(de,null),i(Te,null),i(ft,{},!0),i(qt,!1),i(Yt,null),i(st,[],!0)}async function oa(){const a=vr();a&&(e(V)!==a&&(aa(),i(nt,!0)),i(R,!0),await ia({preserveCachedDetail:!0}))}async function ia(a={}){var T;const d=(e(n)??"").trim();if(!d)return;const c=e(l),g=Tn(d,c),p=++ur;i(nt,!0),i(de,null);try{const y=await Se.tests.historyList.query({agent:d,region:c});if(p!==ur||vr()!==g)return;i(me,y,!0),i(V,g,!0);const D=e(Te)&&y.some(F=>F.timestamp===e(Te))?e(Te):((T=y[0])==null?void 0:T.timestamp)??null;D?await Bn(D,{preserveCachedDetail:a.preserveCachedDetail,requestKey:g}):(i(Te,null),i(Yt,null),i(qt,!1),i(st,[],!0))}catch(y){if(console.error(y),p!==ur||vr()!==g)return;i(de,"Failed to load test history"),e(V)!==g&&(i(me,[],!0),i(Te,null),i(ft,{},!0),i(st,[],!0))}finally{p===ur&&vr()===g&&i(nt,!1)}}async function Bn(a,d={}){const c=(e(n)??"").trim();if(!c)return;const g=e(l),p=d.requestKey??Tn(c,g),T=e(Te)===a;i(Te,a,!0),i(qt,!0),i(Yt,null);const y=e(ft)[a];if(y&&d.preserveCachedDetail){er+=1,i(qt,!1),T||i(st,Un(y),!0);return}const D=++er;y||i(st,[],!0);try{const F=await Se.tests.historyRun.query({agent:c,region:g,timestamp:a});if(D!==er||e(Te)!==a||vr()!==p)return;i(ft,{...e(ft),[a]:F},!0),i(st,Un(F),!0)}catch(F){if(console.error(F),D!==er||e(Te)!==a||vr()!==p)return;i(Yt,"Failed to load this test run"),i(st,[],!0)}finally{D===er&&e(Te)===a&&vr()===p&&i(qt,!1)}}function Qn(a){const{conversation_ui:d,hasMocks:c,mocks:g,result:p,...T}=a,y={...T,pinned:a.pinned?"TRUE":"FALSE",timeout:String(a.timeout??0),similarity_threshold:String(a.similarity_threshold??50),context:JSON.parse(a.context)};return c&&(y.mocks=JSON.parse(g)),y}async function la(a,d){const c=Qn(a);c.id=crypto.randomUUID();const g=await Se.tests.addTest.mutate({agent:e(n),region:e(l),seed:c,mergeContexts:!0}),p=Sn(g),T=e(re).slice(),y=e(re).findIndex(D=>D.id===a.id);T.splice(y<0?d:y,0,p),i(re,T,!0),kr(p.id,!0).catch(console.error),await Se.tests.reorder.mutate({agent:e(n),region:e(l),order:e(re).map(D=>D.id)})}async function Wn(a,d,c=0){const g=Qn(a);g.id=crypto.randomUUID(),g.expected_output=d;const p=await Se.tests.addTest.mutate({agent:e(n),region:e(l),seed:g,mergeContexts:!0}),T=Sn(p),y=e(re).slice();y.splice(c,0,T),i(re,y,!0),kr(T.id,!0).catch(console.error),await Se.tests.reorder.mutate({agent:e(n),region:e(l),order:e(re).map(D=>D.id)})}function Kn(a){if(!a)return"";try{return a.replace(/^\s*\d+\s*[:.)-]?\s*(?:[❌✖️✔✅✗xX])?\s*/u,"")}catch{return a}}function en(a){try{return a&&a.trim()?JSON.parse(a):{}}catch{return{}}}const Gn=a=>a.match(/^\s*(agent|assistant|user|system|step)\s*:\s*(.*)$/i);function Xn(a){return a==="main"?"agent":"step"}function Zn(a){try{const d=JSON.parse(a),c=JSON.stringify(d,null,2);return typeof d!="object"||d===null||Array.isArray(d)?c:c.split(`
|
|
2
|
+
import{c as gn,a as m,h as ba,f as $,d as Ls,b as Ue,t as De}from"../chunks/Ca197UDq.js";import{o as Rs,a as hn}from"../chunks/C39ai1md.js";import{p as xn,y as i,f as je,j as e,a as yn,w as P,n as w,bq as wa,r as u,d as $r,t as U,x as dt,c as v,s as h,o as _e,T as ka}from"../chunks/CxLomzuE.js";import{s as z}from"../chunks/DJriQKD9.js";import{i as M}from"../chunks/Buo-57fF.js";import{M as Er,k as ss}from"../chunks/CyvQWZoe.js";import{e as cr,i as as}from"../chunks/BJTwdUYr.js";import{h as Sa}from"../chunks/iAhzu4tv.js";import{a as os,s as Nn,c as Zt,r as yr,d as cn,b as Ta}from"../chunks/D-B5X35l.js";import{s as Re,c as Vr}from"../chunks/CAjPRvNs.js";import{b as En}from"../chunks/BPNEONy5.js";import{g as Ca,P as Ia}from"../chunks/CzXNWL4m.js";import{B as Xe}from"../chunks/CVlsAO8k.js";import{C as Ln,P as Pa}from"../chunks/Dslf9OwW.js";import{I as un}from"../chunks/nYD9wsyN.js";import{T as js,a as Wr}from"../chunks/BsDZe4N6.js";import{h as $a,I as Dt}from"../chunks/07xNIa59.js";import{r as Ea,p as _r}from"../chunks/CPXdAKdv.js";import{p as is}from"../chunks/DpK9GbNl.js";import{_ as ls}from"../chunks/C1FmrZbK.js";import{b as La}from"../chunks/BLu86SbA.js";import{e as Ra,a as ja}from"../chunks/BU7aeYn4.js";import{t as Se}from"../chunks/DT-Nc4X8.js";import{R as Aa,a as Ur}from"../chunks/B_K7D6rX.js";const As=/^[a-z0-9]+(-[a-z0-9]+)*$/,_n=(t,r,s,o="")=>{const n=t.split(":");if(t.slice(0,1)==="@"){if(n.length<2||n.length>3)return null;o=n.shift().slice(1)}if(n.length>3||!n.length)return null;if(n.length>1){const x=n.pop(),_=n.pop(),k={provider:n.length>0?n[0]:o,prefix:_,name:x};return r&&!vn(k)?null:k}const l=n[0],f=l.split("-");if(f.length>1){const x={provider:o,prefix:f.shift(),name:f.join("-")};return r&&!vn(x)?null:x}if(s&&o===""){const x={provider:o,prefix:"",name:l};return r&&!vn(x,s)?null:x}return null},vn=(t,r)=>t?!!((r&&t.prefix===""||t.prefix)&&t.name):!1;function Na(t,r){const s=t.icons,o=t.aliases||Object.create(null),n=Object.create(null);function l(f){if(s[f])return n[f]=[];if(!(f in n)){n[f]=null;const x=o[f]&&o[f].parent,_=x&&l(x);_&&(n[f]=[x].concat(_))}return n[f]}return Object.keys(s).concat(Object.keys(o)).forEach(l),n}const Ns=Object.freeze({left:0,top:0,width:16,height:16}),mn=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),bn=Object.freeze({...Ns,...mn}),Mn=Object.freeze({...bn,body:"",hidden:!1});function Ma(t,r){const s={};!t.hFlip!=!r.hFlip&&(s.hFlip=!0),!t.vFlip!=!r.vFlip&&(s.vFlip=!0);const o=((t.rotate||0)+(r.rotate||0))%4;return o&&(s.rotate=o),s}function cs(t,r){const s=Ma(t,r);for(const o in Mn)o in mn?o in t&&!(o in s)&&(s[o]=mn[o]):o in r?s[o]=r[o]:o in t&&(s[o]=t[o]);return s}function Oa(t,r,s){const o=t.icons,n=t.aliases||Object.create(null);let l={};function f(x){l=cs(o[x]||n[x],l)}return f(r),s.forEach(f),cs(t,l)}function Ms(t,r){const s=[];if(typeof t!="object"||typeof t.icons!="object")return s;t.not_found instanceof Array&&t.not_found.forEach(n=>{r(n,null),s.push(n)});const o=Na(t);for(const n in o){const l=o[n];l&&(r(n,Oa(t,n,l)),s.push(n))}return s}const Da={provider:"",aliases:{},not_found:{},...Ns};function Rn(t,r){for(const s in r)if(s in t&&typeof t[s]!=typeof r[s])return!1;return!0}function Os(t){if(typeof t!="object"||t===null)return null;const r=t;if(typeof r.prefix!="string"||!t.icons||typeof t.icons!="object"||!Rn(t,Da))return null;const s=r.icons;for(const n in s){const l=s[n];if(!n||typeof l.body!="string"||!Rn(l,Mn))return null}const o=r.aliases||Object.create(null);for(const n in o){const l=o[n],f=l.parent;if(!n||typeof f!="string"||!s[f]&&!o[f]||!Rn(l,Mn))return null}return r}const us=Object.create(null);function Fa(t,r){return{provider:t,prefix:r,icons:Object.create(null),missing:new Set}}function Lr(t,r){const s=us[t]||(us[t]=Object.create(null));return s[r]||(s[r]=Fa(t,r))}function Ds(t,r){return Os(r)?Ms(r,(s,o)=>{o?t.icons[s]=o:t.missing.add(s)}):[]}function qa(t,r,s){try{if(typeof s.body=="string")return t.icons[r]={...s},!0}catch{}return!1}let Kr=!1;function Fs(t){return typeof t=="boolean"&&(Kr=t),Kr}function za(t){const r=typeof t=="string"?_n(t,!0,Kr):t;if(r){const s=Lr(r.provider,r.prefix),o=r.name;return s.icons[o]||(s.missing.has(o)?null:void 0)}}function Ha(t,r){const s=_n(t,!0,Kr);if(!s)return!1;const o=Lr(s.provider,s.prefix);return r?qa(o,s.name,r):(o.missing.add(s.name),!0)}function Ja(t,r){if(typeof t!="object")return!1;if(typeof r!="string"&&(r=t.provider||""),Kr&&!r&&!t.prefix){let n=!1;return Os(t)&&(t.prefix="",Ms(t,(l,f)=>{Ha(l,f)&&(n=!0)})),n}const s=t.prefix;if(!vn({prefix:s,name:"a"}))return!1;const o=Lr(r,s);return!!Ds(o,t)}const qs=Object.freeze({width:null,height:null}),zs=Object.freeze({...qs,...mn}),Va=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Ua=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function ds(t,r,s){if(r===1)return t;if(s=s||100,typeof t=="number")return Math.ceil(t*r*s)/s;if(typeof t!="string")return t;const o=t.split(Va);if(o===null||!o.length)return t;const n=[];let l=o.shift(),f=Ua.test(l);for(;;){if(f){const x=parseFloat(l);isNaN(x)?n.push(l):n.push(Math.ceil(x*r*s)/s)}else n.push(l);if(l=o.shift(),l===void 0)return n.join("");f=!f}}function Ba(t,r="defs"){let s="";const o=t.indexOf("<"+r);for(;o>=0;){const n=t.indexOf(">",o),l=t.indexOf("</"+r);if(n===-1||l===-1)break;const f=t.indexOf(">",l);if(f===-1)break;s+=t.slice(n+1,l).trim(),t=t.slice(0,o).trim()+t.slice(f+1)}return{defs:s,content:t}}function Qa(t,r){return t?"<defs>"+t+"</defs>"+r:r}function Wa(t,r,s){const o=Ba(t);return Qa(o.defs,r+o.content+s)}const Ka=t=>t==="unset"||t==="undefined"||t==="none";function Ga(t,r){const s={...bn,...t},o={...zs,...r},n={left:s.left,top:s.top,width:s.width,height:s.height};let l=s.body;[s,o].forEach(O=>{const H=[],E=O.hFlip,I=O.vFlip;let A=O.rotate;E?I?A+=2:(H.push("translate("+(n.width+n.left).toString()+" "+(0-n.top).toString()+")"),H.push("scale(-1 1)"),n.top=n.left=0):I&&(H.push("translate("+(0-n.left).toString()+" "+(n.height+n.top).toString()+")"),H.push("scale(1 -1)"),n.top=n.left=0);let K;switch(A<0&&(A-=Math.floor(A/4)*4),A=A%4,A){case 1:K=n.height/2+n.top,H.unshift("rotate(90 "+K.toString()+" "+K.toString()+")");break;case 2:H.unshift("rotate(180 "+(n.width/2+n.left).toString()+" "+(n.height/2+n.top).toString()+")");break;case 3:K=n.width/2+n.left,H.unshift("rotate(-90 "+K.toString()+" "+K.toString()+")");break}A%2===1&&(n.left!==n.top&&(K=n.left,n.left=n.top,n.top=K),n.width!==n.height&&(K=n.width,n.width=n.height,n.height=K)),H.length&&(l=Wa(l,'<g transform="'+H.join(" ")+'">',"</g>"))});const f=o.width,x=o.height,_=n.width,k=n.height;let C,L;f===null?(L=x===null?"1em":x==="auto"?k:x,C=ds(L,_/k)):(C=f==="auto"?_:f,L=x===null?ds(C,k/_):x==="auto"?k:x);const j={},N=(O,H)=>{Ka(H)||(j[O]=H.toString())};N("width",C),N("height",L);const W=[n.left,n.top,_,k];return j.viewBox=W.join(" "),{attributes:j,viewBox:W,body:l}}const Xa=/\sid="(\S+)"/g,Za="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let Ya=0;function eo(t,r=Za){const s=[];let o;for(;o=Xa.exec(t);)s.push(o[1]);if(!s.length)return t;const n="suffix"+(Math.random()*16777216|Date.now()).toString(16);return s.forEach(l=>{const f=typeof r=="function"?r(l):r+(Ya++).toString(),x=l.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+x+')([")]|\\.[a-z])',"g"),"$1"+f+n+"$3")}),t=t.replace(new RegExp(n,"g"),""),t}const On=Object.create(null);function to(t,r){On[t]=r}function Dn(t){return On[t]||On[""]}function qn(t){let r;if(typeof t.resources=="string")r=[t.resources];else if(r=t.resources,!(r instanceof Array)||!r.length)return null;return{resources:r,path:t.path||"/",maxURL:t.maxURL||500,rotate:t.rotate||750,timeout:t.timeout||5e3,random:t.random===!0,index:t.index||0,dataAfterTimeout:t.dataAfterTimeout!==!1}}const zn=Object.create(null),Br=["https://api.simplesvg.com","https://api.unisvg.com"],pn=[];for(;Br.length>0;)Br.length===1||Math.random()>.5?pn.push(Br.shift()):pn.push(Br.pop());zn[""]=qn({resources:["https://api.iconify.design"].concat(pn)});function ro(t,r){const s=qn(r);return s===null?!1:(zn[t]=s,!0)}function Hn(t){return zn[t]}const no=()=>{let t;try{if(t=fetch,typeof t=="function")return t}catch{}};let fs=no();function so(t,r){const s=Hn(t);if(!s)return 0;let o;if(!s.maxURL)o=0;else{let n=0;s.resources.forEach(f=>{n=Math.max(n,f.length)});const l=r+".json?icons=";o=s.maxURL-n-s.path.length-l.length}return o}function ao(t){return t===404}const oo=(t,r,s)=>{const o=[],n=so(t,r),l="icons";let f={type:l,provider:t,prefix:r,icons:[]},x=0;return s.forEach((_,k)=>{x+=_.length+1,x>=n&&k>0&&(o.push(f),f={type:l,provider:t,prefix:r,icons:[]},x=_.length),f.icons.push(_)}),o.push(f),o};function io(t){if(typeof t=="string"){const r=Hn(t);if(r)return r.path}return"/"}const lo=(t,r,s)=>{if(!fs){s("abort",424);return}let o=io(r.provider);switch(r.type){case"icons":{const l=r.prefix,x=r.icons.join(","),_=new URLSearchParams({icons:x});o+=l+".json?"+_.toString();break}case"custom":{const l=r.uri;o+=l.slice(0,1)==="/"?l.slice(1):l;break}default:s("abort",400);return}let n=503;fs(t+o).then(l=>{const f=l.status;if(f!==200){setTimeout(()=>{s(ao(f)?"abort":"next",f)});return}return n=501,l.json()}).then(l=>{if(typeof l!="object"||l===null){setTimeout(()=>{l===404?s("abort",l):s("next",n)});return}setTimeout(()=>{s("success",l)})}).catch(()=>{s("next",n)})},co={prepare:oo,send:lo};function Hs(t,r){t.forEach(s=>{const o=s.loaderCallbacks;o&&(s.loaderCallbacks=o.filter(n=>n.id!==r))})}function uo(t){t.pendingCallbacksFlag||(t.pendingCallbacksFlag=!0,setTimeout(()=>{t.pendingCallbacksFlag=!1;const r=t.loaderCallbacks?t.loaderCallbacks.slice(0):[];if(!r.length)return;let s=!1;const o=t.provider,n=t.prefix;r.forEach(l=>{const f=l.icons,x=f.pending.length;f.pending=f.pending.filter(_=>{if(_.prefix!==n)return!0;const k=_.name;if(t.icons[k])f.loaded.push({provider:o,prefix:n,name:k});else if(t.missing.has(k))f.missing.push({provider:o,prefix:n,name:k});else return s=!0,!0;return!1}),f.pending.length!==x&&(s||Hs([t],l.id),l.callback(f.loaded.slice(0),f.missing.slice(0),f.pending.slice(0),l.abort))})}))}let fo=0;function vo(t,r,s){const o=fo++,n=Hs.bind(null,s,o);if(!r.pending.length)return n;const l={id:o,icons:r,callback:t,abort:n};return s.forEach(f=>{(f.loaderCallbacks||(f.loaderCallbacks=[])).push(l)}),n}function po(t){const r={loaded:[],missing:[],pending:[]},s=Object.create(null);t.sort((n,l)=>n.provider!==l.provider?n.provider.localeCompare(l.provider):n.prefix!==l.prefix?n.prefix.localeCompare(l.prefix):n.name.localeCompare(l.name));let o={provider:"",prefix:"",name:""};return t.forEach(n=>{if(o.name===n.name&&o.prefix===n.prefix&&o.provider===n.provider)return;o=n;const l=n.provider,f=n.prefix,x=n.name,_=s[l]||(s[l]=Object.create(null)),k=_[f]||(_[f]=Lr(l,f));let C;x in k.icons?C=r.loaded:f===""||k.missing.has(x)?C=r.missing:C=r.pending;const L={provider:l,prefix:f,name:x};C.push(L)}),r}function go(t,r=!0,s=!1){const o=[];return t.forEach(n=>{const l=typeof n=="string"?_n(n,r,s):n;l&&o.push(l)}),o}const mo={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function ho(t,r,s,o){const n=t.resources.length,l=t.random?Math.floor(Math.random()*n):t.index;let f;if(t.random){let R=t.resources.slice(0);for(f=[];R.length>1;){const V=Math.floor(Math.random()*R.length);f.push(R[V]),R=R.slice(0,V).concat(R.slice(V+1))}f=f.concat(R)}else f=t.resources.slice(l).concat(t.resources.slice(0,l));const x=Date.now();let _="pending",k=0,C,L=null,j=[],N=[];typeof o=="function"&&N.push(o);function W(){L&&(clearTimeout(L),L=null)}function O(){_==="pending"&&(_="aborted"),W(),j.forEach(R=>{R.status==="pending"&&(R.status="aborted")}),j=[]}function H(R,V){V&&(N=[]),typeof R=="function"&&N.push(R)}function E(){return{startTime:x,payload:r,status:_,queriesSent:k,queriesPending:j.length,subscribe:H,abort:O}}function I(){_="failed",N.forEach(R=>{R(void 0,C)})}function A(){j.forEach(R=>{R.status==="pending"&&(R.status="aborted")}),j=[]}function K(R,V,me){const nt=V!=="success";switch(j=j.filter(de=>de!==R),_){case"pending":break;case"failed":if(nt||!t.dataAfterTimeout)return;break;default:return}if(V==="abort"){C=me,I();return}if(nt){C=me,j.length||(f.length?Fe():I());return}if(W(),A(),!t.random){const de=t.resources.indexOf(R.resource);de!==-1&&de!==t.index&&(t.index=de)}_="completed",N.forEach(de=>{de(me)})}function Fe(){if(_!=="pending")return;W();const R=f.shift();if(R===void 0){if(j.length){L=setTimeout(()=>{W(),_==="pending"&&(A(),I())},t.timeout);return}I();return}const V={status:"pending",resource:R,callback:(me,nt)=>{K(V,me,nt)}};j.push(V),k++,L=setTimeout(Fe,t.rotate),s(R,r,V.callback)}return setTimeout(Fe),E}function Js(t){const r={...mo,...t};let s=[];function o(){s=s.filter(x=>x().status==="pending")}function n(x,_,k){const C=ho(r,x,_,(L,j)=>{o(),k&&k(L,j)});return s.push(C),C}function l(x){return s.find(_=>x(_))||null}return{query:n,find:l,setIndex:x=>{r.index=x},getIndex:()=>r.index,cleanup:o}}function vs(){}const jn=Object.create(null);function xo(t){if(!jn[t]){const r=Hn(t);if(!r)return;const s=Js(r),o={config:r,redundancy:s};jn[t]=o}return jn[t]}function yo(t,r,s){let o,n;if(typeof t=="string"){const l=Dn(t);if(!l)return s(void 0,424),vs;n=l.send;const f=xo(t);f&&(o=f.redundancy)}else{const l=qn(t);if(l){o=Js(l);const f=t.resources?t.resources[0]:"",x=Dn(f);x&&(n=x.send)}}return!o||!n?(s(void 0,424),vs):o.query(r,n,s)().abort}function ps(){}function _o(t){t.iconsLoaderFlag||(t.iconsLoaderFlag=!0,setTimeout(()=>{t.iconsLoaderFlag=!1,uo(t)}))}function bo(t){const r=[],s=[];return t.forEach(o=>{(o.match(As)?r:s).push(o)}),{valid:r,invalid:s}}function Qr(t,r,s){function o(){const n=t.pendingIcons;r.forEach(l=>{n&&n.delete(l),t.icons[l]||t.missing.add(l)})}if(s&&typeof s=="object")try{if(!Ds(t,s).length){o();return}}catch(n){console.error(n)}o(),_o(t)}function gs(t,r){t instanceof Promise?t.then(s=>{r(s)}).catch(()=>{r(null)}):r(t)}function wo(t,r){t.iconsToLoad?t.iconsToLoad=t.iconsToLoad.concat(r).sort():t.iconsToLoad=r,t.iconsQueueFlag||(t.iconsQueueFlag=!0,setTimeout(()=>{t.iconsQueueFlag=!1;const{provider:s,prefix:o}=t,n=t.iconsToLoad;if(delete t.iconsToLoad,!n||!n.length)return;const l=t.loadIcon;if(t.loadIcons&&(n.length>1||!l)){gs(t.loadIcons(n,o,s),C=>{Qr(t,n,C)});return}if(l){n.forEach(C=>{const L=l(C,o,s);gs(L,j=>{const N=j?{prefix:o,icons:{[C]:j}}:null;Qr(t,[C],N)})});return}const{valid:f,invalid:x}=bo(n);if(x.length&&Qr(t,x,null),!f.length)return;const _=o.match(As)?Dn(s):null;if(!_){Qr(t,f,null);return}_.prepare(s,o,f).forEach(C=>{yo(s,C,L=>{Qr(t,C.icons,L)})})}))}const ko=(t,r)=>{const s=go(t,!0,Fs()),o=po(s);if(!o.pending.length){let _=!0;return r&&setTimeout(()=>{_&&r(o.loaded,o.missing,o.pending,ps)}),()=>{_=!1}}const n=Object.create(null),l=[];let f,x;return o.pending.forEach(_=>{const{provider:k,prefix:C}=_;if(C===x&&k===f)return;f=k,x=C,l.push(Lr(k,C));const L=n[k]||(n[k]=Object.create(null));L[C]||(L[C]=[])}),o.pending.forEach(_=>{const{provider:k,prefix:C,name:L}=_,j=Lr(k,C),N=j.pendingIcons||(j.pendingIcons=new Set);N.has(L)||(N.add(L),n[k][C].push(L))}),l.forEach(_=>{const k=n[_.provider][_.prefix];k.length&&wo(_,k)}),r?vo(r,o,l):ps};function So(t,r){const s={...t};for(const o in r){const n=r[o],l=typeof n;o in qs?(n===null||n&&(l==="string"||l==="number"))&&(s[o]=n):l===typeof s[o]&&(s[o]=o==="rotate"?n%4:n)}return s}const To=/[\s,]+/;function Co(t,r){r.split(To).forEach(s=>{switch(s.trim()){case"horizontal":t.hFlip=!0;break;case"vertical":t.vFlip=!0;break}})}function Io(t,r=0){const s=t.replace(/^-?[0-9.]*/,"");function o(n){for(;n<0;)n+=4;return n%4}if(s===""){const n=parseInt(t);return isNaN(n)?0:o(n)}else if(s!==t){let n=0;switch(s){case"%":n=25;break;case"deg":n=90}if(n){let l=parseFloat(t.slice(0,t.length-s.length));return isNaN(l)?0:(l=l/n,l%1===0?o(l):0)}}return r}function Po(t,r){let s=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const o in r)s+=" "+o+'="'+r[o]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+s+">"+t+"</svg>"}function $o(t){return t.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function Eo(t){return"data:image/svg+xml,"+$o(t)}function Lo(t){return'url("'+Eo(t)+'")'}const ms={...zs,inline:!1},Ro={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},jo={display:"inline-block"},Fn={"background-color":"currentColor"},Vs={"background-color":"transparent"},hs={image:"var(--svg)",repeat:"no-repeat",size:"100% 100%"},xs={"-webkit-mask":Fn,mask:Fn,background:Vs};for(const t in xs){const r=xs[t];for(const s in hs)r[t+"-"+s]=hs[s]}function Ao(t){return t+(t.match(/^[-0-9.]+$/)?"px":"")}function No(t,r){const s=So(ms,r),o=r.mode||"svg",n=o==="svg"?{...Ro}:{};t.body.indexOf("xlink:")===-1&&delete n["xmlns:xlink"];let l=typeof r.style=="string"?r.style:"";for(let E in r){const I=r[E];if(I!==void 0)switch(E){case"icon":case"style":case"onLoad":case"mode":case"ssr":break;case"inline":case"hFlip":case"vFlip":s[E]=I===!0||I==="true"||I===1;break;case"flip":typeof I=="string"&&Co(s,I);break;case"color":l=l+(l.length>0&&l.trim().slice(-1)!==";"?";":"")+"color: "+I+"; ";break;case"rotate":typeof I=="string"?s[E]=Io(I):typeof I=="number"&&(s[E]=I);break;case"ariaHidden":case"aria-hidden":I!==!0&&I!=="true"&&delete n["aria-hidden"];break;default:if(E.slice(0,3)==="on:")break;ms[E]===void 0&&(n[E]=I)}}const f=Ga(t,s),x=f.attributes;if(s.inline&&(l="vertical-align: -0.125em; "+l),o==="svg"){Object.assign(n,x),l!==""&&(n.style=l);let E=0,I=r.id;return typeof I=="string"&&(I=I.replace(/-/g,"_")),{svg:!0,attributes:n,body:eo(f.body,I?()=>I+"ID"+E++:"iconifySvelte")}}const{body:_,width:k,height:C}=t,L=o==="mask"||(o==="bg"?!1:_.indexOf("currentColor")!==-1),j=Po(_,{...x,width:k+"",height:C+""}),W={"--svg":Lo(j)},O=E=>{const I=x[E];I&&(W[E]=Ao(I))};O("width"),O("height"),Object.assign(W,jo,L?Fn:Vs);let H="";for(const E in W)H+=E+": "+W[E]+";";return n.style=H+l,{svg:!1,attributes:n}}Fs(!0);to("",co);if(typeof document<"u"&&typeof window<"u"){const t=window;if(t.IconifyPreload!==void 0){const r=t.IconifyPreload,s="Invalid IconifyPreload syntax.";typeof r=="object"&&r!==null&&(r instanceof Array?r:[r]).forEach(o=>{try{(typeof o!="object"||o===null||o instanceof Array||typeof o.icons!="object"||typeof o.prefix!="string"||!Ja(o))&&console.error(s)}catch{console.error(s)}})}if(t.IconifyProviders!==void 0){const r=t.IconifyProviders;if(typeof r=="object"&&r!==null)for(let s in r){const o="IconifyProviders["+s+"] is invalid.";try{const n=r[s];if(typeof n!="object"||!n||n.resources===void 0)continue;ro(s,n)||console.error(o)}catch{console.error(o)}}}}function Mo(t,r,s,o,n){function l(){r.loading&&(r.loading.abort(),r.loading=null)}if(typeof t=="object"&&t!==null&&typeof t.body=="string")return r.name="",l(),{data:{...bn,...t}};let f;if(typeof t!="string"||(f=_n(t,!1,!0))===null)return l(),null;const x=za(f);if(!x)return s&&(!r.loading||r.loading.name!==t)&&(l(),r.name="",r.loading={name:t,abort:ko([f],o)}),null;l(),r.name!==t&&(r.name=t,n&&!r.destroyed&&setTimeout(()=>{n(t)}));const _=["iconify"];return f.prefix!==""&&_.push("iconify--"+f.prefix),f.provider!==""&&_.push("iconify--"+f.provider),{data:x,classes:_}}function Oo(t,r){return t?No({...bn,...t},r):null}var Do=new Set(["$$slots","$$events","$$legacy"]),Fo=ba("<svg></svg>"),qo=$("<span></span>");function Ft(t,r){xn(r,!0);const s={name:"",loading:null,destroyed:!1},o=Ea(r,Do);let n=P(!1),l=P(0),f=w(()=>!!r.ssr||e(n)),x=w(()=>(e(l),Mo(r.icon,s,e(f),k,r.onload))),_=w(()=>{const N=e(x)?Oo(e(x).data,o):null;return N&&e(x).classes&&(N.attributes.class=(typeof o.class=="string"?o.class+" ":"")+e(x).classes.join(" ")),N});function k(){wa(l)}Rs(()=>{i(n,!0)}),hn(()=>{s.destroyed=!0,s.loading&&(s.loading.abort(),s.loading=null)});var C=gn(),L=je(C);{var j=N=>{var W=gn(),O=je(W);{var H=I=>{var A=Fo();os(A,()=>({...e(_).attributes})),$a(A,()=>e(_).body,!0),u(A),m(I,A)},E=I=>{var A=qo();os(A,()=>({...e(_).attributes})),m(I,A)};M(O,I=>{e(_).svg?I(H):I(E,-1)})}m(N,W)};M(L,N=>{e(_)&&N(j)})}m(t,C),yn()}var zo=$('<div class="w-full"></div>');function ys(t,r){xn(r,!0);let s=P(null),o=null,n=[],l=null,f=!1,x,_=_r(r,"language",3,"plaintext"),k=_r(r,"height",3,120),C=_r(r,"readOnly",3,!1),L=[],j=P(!1);function N(O){e(j)||O.stopPropagation()}Rs(async()=>{var K,Fe;if(!x)return;x.addEventListener("wheel",N,{capture:!0,passive:!0}),Ra();const O=await ls(()=>import("../chunks/DLQqXQ6R.js").then(R=>R.e),__vite__mapDeps([0,1,2]),import.meta.url);if(f)return;l=O,ja(O);const H=_()==="json"?"json":_()==="markdown"?"markdown":"plaintext";i(s,O.editor.create(x,{value:r.value??"",language:H,theme:"bosun-dark",lineNumbers:"off",fontSize:14,fontFamily:'ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',automaticLayout:!0,minimap:{enabled:!1},wordBasedSuggestions:"off",wordWrap:"bounded",wordWrapColumn:75,wrappingStrategy:"advanced",scrollbar:{vertical:"hidden",horizontal:"hidden"},overviewRulerLanes:0,renderLineHighlight:"none",folding:!1,renderWhitespace:"none",padding:{top:4,bottom:4},readOnly:C(),domReadOnly:C(),matchBrackets:"never",bracketPairColorization:{enabled:!1},guides:{highlightActiveBracketPair:!1,bracketPairs:!1,bracketPairsHorizontal:!1},occurrencesHighlight:"off",selectionHighlight:!1,unicodeHighlight:{ambiguousCharacters:!1,nonBasicASCII:!1,invisibleCharacters:!1,includeStrings:!1,includeComments:!1},autoClosingQuotes:"never"}),!0);const E=e(s);if(!E)return;o=E.getModel(),n.push(E.onDidFocusEditorText(()=>{i(j,!0)})),n.push(E.onDidChangeModelContent(()=>{var R;try{const V=E.getValue();if(V===r.value)return;(R=r.onChange)==null||R.call(r,V)}catch(V){console.error("MiniEditor change error",V)}})),n.push(E.onDidBlurEditorText(()=>{var R;i(j,!1);try{(R=r.onBlur)==null||R.call(r,E.getValue())}catch{}}));const I=(K=E.onDidFocusEditorWidget)==null?void 0:K.call(E,()=>{i(j,!0)});I&&n.push(I);const A=(Fe=E.onDidBlurEditorWidget)==null?void 0:Fe.call(E,()=>{var R;i(j,!1);try{(R=r.onBlur)==null||R.call(r,E.getValue())}catch{}});A&&n.push(A)}),hn(()=>{f=!0;try{x.removeEventListener("wheel",N,{capture:!0})}catch{}for(const H of n)try{H.dispose()}catch{}n=[];const O=o;o=null;try{if(e(s)){try{e(s).setModel(null)}catch{}e(s).dispose()}}finally{i(s,null)}try{O==null||O.dispose()}catch{}l=null}),$r(()=>{if(!e(s))return;const O=_()==="json"?"json":_()==="markdown"?"markdown":"plaintext",H=e(s).getModel();if(!H||H.getLanguageId()===O)return;let E=!1;return(l?Promise.resolve(l):ls(()=>import("../chunks/DLQqXQ6R.js").then(A=>A.e),__vite__mapDeps([0,1,2]),import.meta.url)).then(A=>{if(!E)try{A.editor.setModelLanguage(H,O)}catch{}}),()=>{E=!0}}),$r(()=>{e(s)&&r.value!==e(s).getValue()&&e(s).setValue(r.value??"")}),$r(()=>{var O;(O=e(s))==null||O.updateOptions({readOnly:C(),domReadOnly:C()})}),$r(()=>{const O=r.highlights;if(!e(s)||!o||!l)return;const H=l,E=o.getLineCount(),I=[];for(const A of O??[]){const K=Math.max(1,Math.min(E,Number(A.startLine)||1)),Fe=Math.max(K,Math.min(E,Number(A.endLine)||K)),R=o.getLineMaxColumn(Fe);if(I.push({range:new H.Range(K,1,Fe,R),options:{inlineClassName:A.className}}),A.className==="test-expected-output")for(let V=K;V<=Fe;V++){const me=o.getLineContent(V),nt=/<\/?[A-Za-z][^>]*?>/g;let de;for(;de=nt.exec(me);){const Te=(de.index??0)+1,ft=Math.min(o.getLineMaxColumn(V),Te+String(de[0]??"").length);ft<=Te||I.push({range:new H.Range(V,Te,V,ft),options:{inlineClassName:"test-expected-output-tag"}})}}}L=e(s).deltaDecorations(L,I)});var W=zo();La(W,O=>x=O,()=>x),U(()=>Nn(W,`height:${k()}px`)),m(t,W),yn()}var Ho=$('<button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-rc-gray-400">Analyze</button>'),Jo=$('<div><div class="mb-1 text-xs text-rc-gray-300"> </div> <div class="whitespace-pre-wrap break-words text-rc-gray-100"> </div></div>'),Vo=$('<div class="flex flex-col gap-3"></div>'),_s=$('<div class="p-2 text-rc-gray-300">Loading…</div>'),bs=$('<div class="p-2 text-red-400"> </div>'),Uo=$('<div class="flex h-full flex-col gap-2"><div class="grid grid-cols-2 gap-2"><div class="flex items-center justify-start"><!></div> <div class="flex items-center justify-end"><!></div></div> <!></div>'),Bo=$('<div class="h-[55vh]"><!></div>'),Qo=$("<!> <!> <!>",1),Wo=$('<!> <div class="mt-2 h-[55vh]"><!></div>',1),Ko=$('<div class="mt-1 flex flex-wrap items-center gap-x-2 gap-y-1"><button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-rc-gray-400"> </button> <!> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">See variants</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Prompt</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Conversation</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Context</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Debug</button></div> <!> <!> <!>',1);function ws(t,r){xn(r,!0);let s=_r(r,"actionsDisabled",3,!1),o=_r(r,"addTestDisabled",3,!1),n=_r(r,"showAnalyze",3,!0),l=_r(r,"analyzeDisabled",3,!1),f=P(!1),x=P(!1),_=P(!1),k=P("errors"),C=P("prompt"),L=P(null),j=P(null),N=P(null),W=P(null),O=P(null),H=P(null),E=P(null),I=P(dt({prompt:!1,conversation:!1,context:!1,errors:!1,traces:!1,logs:!1})),A=P(dt({prompt:null,conversation:null,context:null,errors:null,traces:null,logs:null})),K=0,Fe=P(null),R=null,V=P("idle"),me=null;function nt(S){try{return{raw:S,formatted:JSON.stringify(JSON.parse(S),null,2)}}catch{return{raw:S,formatted:S}}}async function de(S){const ve=await Se.tests.resultEntry.query({agent:S.agent,region:r.region,testId:S.id,resultKey:S.key,timestamp:S.timestamp,index:S.run});return nt(ve)}function Te(S){return S==="prompt"?e(j)!==null&&e(L)!==null:S==="conversation"?e(N)!==null:S==="context"?e(W)!==null:S==="errors"?e(O)!==null:S==="traces"?e(H)!==null:e(E)!==null}async function ft(S){if(Te(S)||e(I)[S])return;const ve=K;i(I,{...e(I),[S]:!0},!0),i(A,{...e(A),[S]:null},!0);try{if(S==="prompt"){const[Ae,X]=await Promise.all([de(r.links.renderedPrompt),de(r.links.receivedPrompt)]);if(ve!==K)return;i(L,Ae,!0),i(j,X,!0)}else{const Ae=S==="conversation"?r.links.conversation:S==="context"?r.links.context:S==="errors"?r.links.errors:S==="traces"?r.links.traces:r.links.logs,X=await de(Ae);if(ve!==K)return;S==="conversation"?i(N,X,!0):S==="context"?i(W,X,!0):S==="errors"?i(O,X,!0):S==="traces"?i(H,X,!0):i(E,X,!0)}}catch(Ae){if(ve!==K)return;console.error(Ae),i(A,{...e(A),[S]:"Failed to load content"},!0)}finally{ve===K&&i(I,{...e(I),[S]:!1},!0)}}function qt(){i(L,null),i(j,null),i(N,null),i(W,null),i(O,null),i(H,null),i(E,null),i(I,{prompt:!1,conversation:!1,context:!1,errors:!1,traces:!1,logs:!1},!0),i(A,{prompt:null,conversation:null,context:null,errors:null,traces:null,logs:null},!0)}function Yt(){K+=1,i(k,"errors"),qt(),i(f,!0),ft("errors")}function st(S){K+=1,i(C,S,!0),qt(),i(x,!0),ft(S)}function ur(S){return S==="prompt"?"Prompt":S==="conversation"?"Conversation":"Context"}function er(S){i(k,S,!0),ft(S)}async function at(){if(e(V)!=="adding"){i(V,"adding");try{await r.onAddTest(),i(V,"added")}catch(S){console.error("Failed to add test",S),i(V,"failed")}me&&clearTimeout(me),me=window.setTimeout(()=>{i(V,"idle"),me=null},2500)}}async function Gr(S){if(!(!e(j)||!e(L)))try{const ve=S==="raw"?e(j).raw:e(L).raw;await navigator.clipboard.writeText(ve),i(Fe,S,!0),R&&clearTimeout(R),R=window.setTimeout(()=>{i(Fe,null),R=null},2e3)}catch(ve){console.error("Failed to copy prompt",ve)}}hn(()=>{K+=1,R&&clearTimeout(R),me&&clearTimeout(me)});var Xr=Ko(),Rr=je(Xr),zt=v(Rr),br=v(zt,!0);u(zt);var wr=h(zt,2);{var dr=S=>{var ve=Ho();U(()=>ve.disabled=l()),Ue("click",ve,function(...Ae){var X;(X=r.onAnalyze)==null||X.apply(this,Ae)}),m(S,ve)};M(wr,S=>{n()&&S(dr)})}var jr=h(wr,2),Ar=h(jr,2),Nr=h(Ar,2),re=h(Nr,2),Mr=h(re,2);u(Rr);var qe=h(Rr,2);{var wn=S=>{{const ve=X=>{var ze=Vo();cr(ze,21,()=>r.variants,Ze=>Ze.index,(Ze,ot)=>{var jt=Jo(),Ht=v(jt),Jt=v(Ht);u(Ht);var pe=h(Ht,2),Q=v(pe,!0);u(pe),u(jt),U(()=>{Re(jt,1,`rounded-lg border p-3 ${e(ot).index===r.runIndex?"border-rc-green-450":"border-rc-gray-650"} ${e(ot).success?"bg-rc-green-700/80":"bg-rc-gray-900/60"}`),z(Jt,`Run ${e(ot).index??""}${e(ot).index===r.runIndex?" • selected":""}`),z(Q,e(ot).text||e(ot).errors||"—")}),m(Ze,jt)}),u(ze),m(X,ze)};let Ae=w(()=>`Variants — ${r.scenario||"Test"}`);Er(S,{get title(){return e(Ae)},class:"!w-[80vw] !max-w-4xl",get open(){return e(_)},set open(X){i(_,X,!0)},children:ve,$$slots:{default:!0}})}};M(qe,S=>{e(_)&&S(wn)})}var Or=h(qe,2);{var fe=S=>{{const ve=X=>{var ze=Bo(),Ze=v(ze);{var ot=Q=>{var Ne=_s();m(Q,Ne)},jt=Q=>{var Ne=bs(),Z=v(Ne,!0);u(Ne),U(()=>z(Z,e(A)[e(C)])),m(Q,Ne)},Ht=Q=>{var Ne=Uo(),Z=v(Ne),he=v(Z),Ce=v(he);{let kt=w(()=>!e(j).raw.trim());Xe(Ce,{variant:"secondary",size:"small",get disabled(){return e(kt)},onclick:()=>Gr("raw"),children:(Ye,At)=>{_e();var St=De();U(()=>z(St,e(Fe)==="raw"?"Copied raw prompt":"Copy raw prompt")),m(Ye,St)},$$slots:{default:!0}})}u(he);var $t=h(he,2),vt=v($t);{let kt=w(()=>!e(L).raw.trim());Xe(vt,{variant:"secondary",size:"small",get disabled(){return e(kt)},onclick:()=>Gr("rendered"),children:(Ye,At)=>{_e();var St=De();U(()=>z(St,e(Fe)==="rendered"?"Copied rendered prompt":"Copy rendered prompt")),m(Ye,St)},$$slots:{default:!0}})}u($t),u(Z);var rr=h(Z,2);Aa(rr,{get original(){return e(j).formatted},get modified(){return e(L).formatted},language:"markdown",class:"min-h-0 flex-1"}),u(Ne),m(Q,Ne)},Jt=Q=>{{let Ne=w(()=>e(N).formatted||"—");Ur(Q,{get value(){return e(Ne)},language:"text",class:"h-full"})}},pe=Q=>{{let Ne=w(()=>e(W).formatted||"—");Ur(Q,{get value(){return e(Ne)},language:"json",class:"h-full"})}};M(Ze,Q=>{e(I)[e(C)]?Q(ot):e(A)[e(C)]?Q(jt,1):e(C)==="prompt"&&e(j)&&e(L)?Q(Ht,2):e(C)==="conversation"&&e(N)?Q(Jt,3):e(C)==="context"&&e(W)&&Q(pe,4)})}u(ze),m(X,ze)};let Ae=w(()=>`${ur(e(C))} — ${r.scenario||"Test"} (run ${r.runIndex})`);Er(S,{get title(){return e(Ae)},class:"!w-[85vw] !max-w-5xl",get open(){return e(x)},set open(X){i(x,X,!0)},children:ve,$$slots:{default:!0}})}};M(Or,S=>{e(x)&&S(fe)})}var tr=h(Or,2);{var fr=S=>{{const ve=X=>{var ze=Wo(),Ze=je(ze);js(Ze,{get value(){return e(k)},ariaLabel:"Test run debug tabs",onChange:({value:Z})=>er(Z),children:(Z,he)=>{var Ce=Qo(),$t=je(Ce);Wr($t,{value:"errors",class:"px-3",children:(kt,Ye)=>{_e();var At=De("Errors");m(kt,At)},$$slots:{default:!0}});var vt=h($t,2);Wr(vt,{value:"traces",class:"px-3",children:(kt,Ye)=>{_e();var At=De("Traces");m(kt,At)},$$slots:{default:!0}});var rr=h(vt,2);Wr(rr,{value:"logs",class:"px-3",children:(kt,Ye)=>{_e();var At=De("Logs");m(kt,At)},$$slots:{default:!0}}),m(Z,Ce)},$$slots:{default:!0}});var ot=h(Ze,2),jt=v(ot);{var Ht=Z=>{var he=_s();m(Z,he)},Jt=Z=>{var he=bs(),Ce=v(he,!0);u(he),U(()=>z(Ce,e(A)[e(k)])),m(Z,he)},pe=Z=>{{let he=w(()=>e(O).formatted||"—");Ur(Z,{get value(){return e(he)},language:"text",class:"h-full"})}},Q=Z=>{{let he=w(()=>e(H).formatted||"—");Ur(Z,{get value(){return e(he)},language:"json",class:"h-full"})}},Ne=Z=>{{let he=w(()=>e(E).formatted||"—");Ur(Z,{get value(){return e(he)},language:"text",class:"h-full"})}};M(jt,Z=>{e(I)[e(k)]?Z(Ht):e(A)[e(k)]?Z(Jt,1):e(k)==="errors"&&e(O)?Z(pe,2):e(k)==="traces"&&e(H)?Z(Q,3):e(k)==="logs"&&e(E)&&Z(Ne,4)})}u(ot),m(X,ze)};let Ae=w(()=>`Debug — ${r.scenario||"Test"} (run ${r.runIndex})`);Er(S,{get title(){return e(Ae)},class:"!w-[85vw] !max-w-5xl",get open(){return e(f)},set open(X){i(f,X,!0)},children:ve,$$slots:{default:!0}})}};M(tr,S=>{e(f)&&S(fr)})}U(()=>{zt.disabled=s()||o()||e(V)==="adding",z(br,e(V)==="adding"?"Adding…":e(V)==="added"?"Added":e(V)==="failed"?"Failed":"Add test")}),Ue("click",zt,at),Ue("click",jr,()=>i(_,!0)),Ue("click",Ar,()=>st("prompt")),Ue("click",Nr,()=>st("conversation")),Ue("click",re,()=>st("context")),Ue("click",Mr,Yt),m(t,Xr),yn()}Ls(["click"]);function Go(t){const r=t<0?-1:1,s=Math.abs(t),o=.254829592,n=-.284496736,l=1.421413741,f=-1.453152027,x=1.061405429,k=1/(1+.3275911*s),C=1-((((x*k+f)*k+l)*k+n)*k+o)*k*Math.exp(-s*s);return r*C}function Xo(t){return .5*(1+Go(t/Math.SQRT2))}function Us(t,r,s,o){if(!Number.isFinite(t)||!Number.isFinite(r)||!Number.isFinite(s)||!Number.isFinite(o)||r<=0||o<=0)return null;const n=t/r,l=s/o,f=(t+s)/(r+o),x=Math.sqrt(f*(1-f)*(1/r+1/o));if(!Number.isFinite(x)||x<=0)return null;const _=(l-n)/x,k=2*(1-Xo(Math.abs(_)));return Math.max(0,Math.min(1,k))}function Bs(t){return t==="higher"?"significantly better":"significantly worse"}function dn(t,r){if(!t||t.isOld)return null;const s=t.total_runs;if(s<=0)return null;const o=t.previous,n=o&&o.total_runs>0?o.success_count/o.total_runs:null,l=t.successes/s,f=n===null||l>=n?"higher":"lower",x=(()=>{if(s<5||!o||o.total_runs<=0)return!1;const N=Us(o.success_count,o.total_runs,t.successes,s);return N!==null&&N<.05})(),_=n===1&&l<1,k=n!==null&&n<1&&l===1,C=x?Bs(f):_?"Not 100% anymore":k?"100% now":void 0,L=Number.isFinite(r)&&r>0&&s<r;if(!L&&!C)return null;const j=L?Math.round(l*r):void 0;return{showExpected:L,expectedSuccesses:j,expectedRuns:r,significant:x,direction:f,comparisonLabel:C}}var Zo=$('<link rel="preload" href="/ui/arrow_tests.svg" as="image"/>'),ks=$("<!> <!>",1),Ss=$('<div class="p-2 text-gray-300">Loading…</div>'),Ts=$('<div class="p-2 text-rc-red-600"> </div>'),Yo=$('<div class="p-2 text-gray-400">No previous runs</div>'),ei=$('<div class="border-rc-red-700 rounded border bg-rc-gray-900 px-3 py-2 text-sm text-rc-red-600"> </div>'),ti=$('<button type="button"><div class="flex items-baseline justify-between gap-2"><span class="font-semibold text-rc-gray-100"> </span> <span class="text-sm text-rc-gray-400"> </span></div> <div class="mt-1 text-sm text-rc-gray-400"> </div> <div class="mt-2 flex items-center justify-between gap-2 text-sm"><span> </span> <span class="text-rc-gray-300"> </span></div></button>'),ri=$('<div class="flex flex-col gap-2"><!> <!></div>'),Cs=$('<div class="p-3 text-gray-400">—</div>'),fn=$('<span class="ml-2 text-rc-gray-400"> </span>'),ni=$("<span> </span> <!>",1),Is=$('<span class="text-rc-gray-500">—</span>'),Ps=$('<div class="mt-1 px-1 text-sm font-semibold text-rc-gray-300"><!></div>'),si=$('<div class="flex items-center gap-2"><input class="rc-input w-44 svelte-rdft55" type="text" readonly=""/> <input class="rc-input min-w-0 flex-1 svelte-rdft55" type="text" placeholder="Assertion value" readonly=""/></div>'),$s=$('<div class="flex flex-col gap-2"><div> </div> <div><div class="flex items-center gap-0"><!> <span> </span></div> <!></div></div>'),ai=$('<div class="flex flex-wrap items-center gap-3"><div class="text-lg font-extrabold"><span> </span> <!></div></div> <div class="mt-3 flex flex-col gap-4"></div>',1),oi=$('<div class="flex flex-col gap-2 p-2"><input class="card-input-subtle pointer-events-none svelte-rdft55" type="text" placeholder="Author" readonly=""/> <!> <div class="flex flex-wrap items-center gap-3"><!> <!></div> <!></div> <div class="rounded-b border-t border-rc-gray-700 bg-rc-gray-980 p-2"><!></div>',1),ii=$('<div class="border-b border-rc-gray-700 p-2"><div class="grid grid-cols-[2.25rem,1fr] gap-2"><div class="flex flex-col items-center gap-1 pt-1"><!></div> <div class="min-w-0"><div><div><div class="grid grid-cols-[1fr,2.25rem] items-center gap-2"><input class="card-input-title pointer-events-none svelte-rdft55" type="text" placeholder="Scenario" readonly=""/> <button class="icon-btn justify-self-end text-gray-300 hover:text-gray-100 svelte-rdft55"><!></button></div> <!></div> <!></div></div></div></div>'),Es=$('<div class="flex flex-col space-y-5"></div>'),li=$('<div class="flex flex-col gap-3"><div class="flex flex-wrap items-center justify-between gap-3 border-b border-rc-gray-700 pb-3"><div class="flex flex-wrap items-center gap-3"><div class="flex items-center gap-2"><label class="text-rc-gray-300">Repeats</label> <!></div> <div class="flex items-center gap-2"><label class="text-rc-gray-300">Concurrency</label> <!></div> <span class="text-rc-gray-400"> </span></div> <!></div> <div class="grid grid-cols-[2.25rem,1fr] items-center gap-2 border-b border-rc-gray-700 p-2"><div></div> <div class="flex flex-wrap items-center gap-x-4 gap-y-1 text-left text-rc-gray-300"><span> </span> <span> </span></div></div> <!></div>'),ci=$('<div class="grid min-h-[68vh] grid-cols-[18rem,minmax(0,1fr)] gap-4"><aside class="rc-scroll min-h-0 overflow-auto border-r border-rc-gray-700 pr-3"><!></aside> <section class="rc-scroll min-h-0 overflow-auto"><!></section></div>'),ui=$('<pre class="whitespace-pre-wrap font-mono text-gray-200"> </pre>'),di=$("<li> </li>"),fi=$('<div class="mx-2 mt-2 rounded border border-red-500 bg-red-950/30 px-3 py-2 text-sm text-red-200"><div class="font-semibold">Orphaned tests</div> <ul class="mt-1 list-disc pl-5"></ul></div>'),vi=$('<div class="mr-3 flex items-center gap-3"><span class="animate-pulse rounded bg-rc-green-200 px-3 py-1 text-white"> </span> <!></div>'),pi=$("<!> New test",1),gi=$('<div class="pointer-events-none absolute -left-28 top-full mt-4 inline-flex -translate-x-1/2 flex-col items-center"><div class="relative w-50vw max-w-2xl"><img src="/ui/arrow_tests.svg" alt="Arrow" class="block h-auto w-full object-contain"/> <span class="absolute inset-0 mt-48 flex items-center justify-center text-center text-4xl font-extrabold text-rc-gray-200">No tests yet.<br/>Add the first one</span></div></div>'),mi=$("<!> History",1),hi=$("<!> Collapse all",1),xi=$("<div></div>"),yi=$('<button aria-label="Pin/unpin all" title="Pin/unpin all"><!></button>'),An=$('<span><!><span class="ml-1"> </span></span>'),_i=$('<div class="translate-y-[5px]"><!></div>'),bi=$('<button><!></button> <button title="Duplicate" class="icon-btn text-gray-300 hover:text-gray-100 disabled:cursor-not-allowed disabled:opacity-50 svelte-rdft55"><!></button> <button title="Delete" class="icon-btn text-gray-300 hover:text-gray-100 disabled:cursor-not-allowed disabled:opacity-50 svelte-rdft55"><!></button>',1),wi=$("<span> </span> <!> <!>",1),ki=$('<div class="rounded bg-rc-gray-930 px-2 py-2 text-sm text-rc-red-600"> </div>'),Si=$("<option> </option>"),Ti=$('<div class="flex items-center gap-2"><select class="rc-scroll rc-input w-36 svelte-rdft55" aria-label="Assertion Type"></select> <input class="rc-input min-w-0 flex-1 svelte-rdft55" type="text" placeholder="Assertion value"/></div>'),Ci=$('<div class="text-lg font-extrabold"><span> </span> <!> <!></div>'),Ii=$('<div class="mt-3 flex flex-col gap-4"></div>'),Pi=$('<div class="flex flex-col gap-2 p-2"><!> <input class="card-input-subtle svelte-rdft55" type="text" placeholder="Author"/> <!> <div class="flex flex-wrap items-center gap-3"><!></div> <!></div> <div class="rounded-b border-t border-rc-gray-700 bg-rc-gray-980 p-2"><div class="flex flex-wrap items-center gap-3"><!> <!></div> <!></div>',1),$i=$('<div class="border-b border-rc-gray-700 p-2"><div class="grid grid-cols-[2.25rem,1fr] gap-2"><div class="flex flex-col items-center gap-1"><!></div> <div class="min-w-0"><div><div><div class="grid grid-cols-[1fr,2.25rem] items-center gap-2"><input class="card-input-title svelte-rdft55" type="text" placeholder="Scenario"/> <button class="icon-btn justify-self-end text-gray-300 hover:text-gray-100 disabled:cursor-not-allowed disabled:opacity-50 svelte-rdft55"><!></button></div> <!></div> <!></div></div></div></div>'),Ei=$('<div class="flex min-h-0 flex-1 flex-col overflow-hidden p-3"><!> <div class="mt-3 min-h-0 flex-1 overflow-hidden"><!></div></div>'),Li=$('<div class="rc-scroll min-h-0 flex-1 overflow-auto"><div class="grid grid-cols-[2.25rem,1fr] items-center gap-2 border-b border-rc-gray-700 p-2"><!> <div class="flex flex-wrap items-center gap-x-4 gap-y-1 text-left text-rc-gray-300"><span> </span> <span> </span> <span> </span> <!></div></div> <!></div> <!>',1),Ri=$('<div class="flex h-full min-h-0 flex-col"><!> <div class="flex flex-none items-center justify-between gap-3 p-2"><div class="flex flex-wrap items-center gap-3 pl-11"><div class="flex items-center gap-2"><label class="text-rc-gray-300">Repeats</label> <!></div> <div class="flex items-center gap-2"><label class="text-rc-gray-300">Concurrency</label> <!></div></div> <div class="flex flex-wrap items-center gap-3"><!> <!> <div class="relative inline-flex items-center"><!> <!></div> <!></div></div> <div class="flex flex-none items-center justify-between gap-3 px-2 pb-2"><!> <!></div> <div class="min-h-0 flex-1 overflow-hidden"><!></div></div>'),ji=$("<!> <!> <!> <!>",1);function sl(t,r){xn(r,!0);const{state:s,actions:o}=Ca(),n=w(()=>s.agentId),l=w(()=>s.region);function f(a){try{return structuredClone(a)}catch{try{return JSON.parse(JSON.stringify(a))}catch{return a}}}function x(a,d,c){return Math.max(d,Math.min(c,a))}let _=P(1),k=P(75),C=P(dt({})),L=P(dt({})),j=P(!1),N=P(null),W=P("context"),O=P(dt({})),H=P(dt({})),E=P(!1),I=P(!1),A=P(!1),K=P(""),Fe=P(null),R=P(!1),V=P(null),me=P(dt([])),nt=P(!1),de=P(null),Te=P(null),ft=P(dt({})),qt=P(!1),Yt=P(null),st=P(dt([])),ur=0,er=0;const at=w(()=>e(Te)?e(ft)[e(Te)]??null:null),Gr=w(()=>e(nt)&&e(me).length===0&&!e(de)),Xr=w(()=>e(qt)&&!e(at)),Rr=w(()=>new Set(e(st))),zt=w(()=>e(at)?e(at).rows.map(a=>Ys(e(at).timestamp,a)):[]),br=w(()=>ea(e(zt)));function wr(a,d){i(K,a,!0),i(Fe,JSON.stringify(d??{},null,2),!0),i(A,!0)}let dr=P(!1);async function jr(a,d,c){var T;if(e(dr))return;i(dr,!0);const g=o.openPopover("analyze"),p=`Analysis — ${a} (run ${d})`;try{const y=await Se.tests.analyzeRun.mutate({agent:c.agent,region:e(l),testId:c.id,index:c.run,timestamp:c.timestamp});if(((T=s.edit.popover)==null?void 0:T.requestId)!==g)return;o.setHighlightQuotes(y.quotes);let D=null;try{D=JSON.stringify(y.raw,null,2)}catch{D=null}o.setPopoverReady(g,{title:p,quotes:y.quotes,rationales:y.rationales,parallelCalls:y.parallelCalls,raw:D})}catch(y){console.error(y);const D=typeof(y==null?void 0:y.message)=="string"?y.message:(()=>{try{return JSON.stringify(y)}catch{return String(y)}})();o.setPopoverError(g,D||"Failed to analyze this response",{raw:D})}finally{i(dr,!1)}}const Ar=[{value:"llm-rubric",label:"LLM"},{value:"answer-relevance",label:"Answer Relevance (LLM)"},{value:"context-faithfulness",label:"Context Faithfulness (LLM)"},{value:"context-recall",label:"Context Recall (LLM)"},{value:"context-relevance",label:"Context Relevance (LLM)"},{value:"model-graded-closedqa",label:"Model-Graded Closed QA"},{value:"model-graded-factuality",label:"Model-Graded Factuality"},{value:"moderation",label:"Moderation"},{value:"classifier",label:"Classifier"},{value:"g-eval",label:"G-Eval"},{value:"factuality",label:"Factuality"},{value:"conversation-relevance",label:"Conversation Relevance"},{value:"equals",label:"Equals"},{value:"contains",label:"Contains"},{value:"icontains",label:"Contains (case-insensitive)"},{value:"contains-all",label:"Contains All"},{value:"contains-any",label:"Contains Any"},{value:"icontains-all",label:"Contains All (iCase)"},{value:"icontains-any",label:"Contains Any (iCase)"},{value:"starts-with",label:"Starts With"},{value:"regex",label:"Regex"},{value:"levenshtein",label:"Levenshtein Distance"},{value:"is-refusal",label:"Is Refusal"},{value:"is-html",label:"Is HTML"},{value:"contains-html",label:"Contains HTML"},{value:"is-json",label:"Is JSON"},{value:"contains-json",label:"Contains JSON"},{value:"is-xml",label:"Is XML"},{value:"contains-xml",label:"Contains XML"},{value:"is-sql",label:"Is SQL"},{value:"contains-sql",label:"Contains SQL"},{value:"similar",label:"Semantic Similarity"},{value:"rouge-n",label:"ROUGE-N"},{value:"bleu",label:"BLEU"},{value:"gleu",label:"GLEU"},{value:"meteor",label:"METEOR"},{value:"perplexity",label:"Perplexity"},{value:"perplexity-score",label:"Perplexity Score"},{value:"latency",label:"Latency"},{value:"cost",label:"Cost"},{value:"finish-reason",label:"Finish Reason"},{value:"trace-error-spans",label:"Trace Error Spans"},{value:"trace-span-count",label:"Trace Span Count"},{value:"trace-span-duration",label:"Trace Span Duration"},{value:"is-valid-function-call",label:"Is Valid Function Call"},{value:"is-valid-openai-function-call",label:"Is Valid OpenAI Function Call"},{value:"is-valid-openai-tools-call",label:"Is Valid OpenAI Tools Call"},{value:"guardrails",label:"Guardrails"},{value:"javascript",label:"JavaScript (custom)"},{value:"python",label:"Python (custom)"},{value:"webhook",label:"Webhook (custom)"},{value:"pi",label:"Pi Scorer"}],Nr=[...Ar,...Ar.map(a=>({value:`not-${a.value}`,label:`Not ${a.label}`}))];let re=P(dt([]));const Mr=w(()=>{var a;return((a=s.currentStep)==null?void 0:a.name)||"main"}),qe=w(()=>e(re).filter(a=>a.step===e(Mr))),wn=w(()=>new Set(s.steps.map(a=>a.name))),Or=w(()=>{if(!s.steps.length)return[];const a=new Map;for(const d of e(re))e(wn).has(d.step)||a.set(d.step,(a.get(d.step)??0)+1);return[...a.entries()].map(([d,c])=>({step:d,count:c})).sort((d,c)=>d.step.localeCompare(c.step))});let fe=P(!1),tr=P(null),fr=P(null),S=P(0),ve=P(0),Ae=P(1),X=P(dt([])),ze=P(dt([])),Ze=P(dt([]));const ot=w(()=>new Set(e(X))),jt=w(()=>new Set(e(ze))),Ht=w(()=>new Set(e(Ze)));let Jt=!1,pe=null,Q=0,Ne=Promise.resolve();const Z=new Set;let he=P(0);const Ce=w(()=>e(he)>0);let $t=P(!1),vt=P(dt([]));const rr=w(()=>new Set(e(vt))),kt=w(()=>e(qe).some(a=>e(rr).has(a.id)));function Ye(a){return Z.add(a),i(he,e(he)+1),a.finally(()=>{Z.delete(a),i(he,e(he)-1)}),a}function At(a,d,c){const g=Array.isArray(c.results)?c.results:[],p=g.reduce((T,y)=>T+(y!=null&&y.success?1:0),0);return{success_rate:c.success_rate,successes:p,total_runs:g.length,isOld:!!c.is_old,previous:c.previous&&typeof c.previous=="object"?{success_count:Number(c.previous.success_count??0),total_runs:Number(c.previous.total_runs??0),report_timestamp:String(c.previous.report_timestamp??"")}:void 0,runs:g.map((T,y)=>{const D=c.report_timestamp,F={agent:a,id:d,timestamp:D,run:y};return{index:y+1,success:!!T.success,text:String(T.result||""),evaluation:String(T.evaluation||""),errors:String(T.errors||""),links:{renderedPrompt:{...F,key:"rendered_prompt"},receivedPrompt:{...F,key:"received_prompt"},conversation:{...F,key:"stringified_conversation"},context:{...F,key:"received_context"},logs:{...F,key:"logs"},errors:{...F,key:"errors"},traces:{...F,key:"traces"}}}}).reverse()}}async function St(){const a=(e(n)??"").trim();if(a)try{const[{rows:d},c,g]=await Promise.all([Se.tests.list.query({agent:a,region:e(l)}),Se.tests.config.query({agent:a,region:e(l)}),Se.tests.latestResult.query({agent:a,region:e(l)})]);if((e(n)??"").trim()!==a)return;i(_,c.repeats??1,!0),i(k,c.concurrency??75,!0),i(C,c.defaultContext??{},!0),i(vt,c.expandedTestIds??[],!0),i(re,d.map(p=>{const T=p.id,y=g[T];return{id:T,pinned:String(p.pinned).toUpperCase()==="TRUE",scenario:p.scenario||"",step:String(p.step||"main"),evaluation_mode:p.evaluation_mode==="json-deep-equal"?"json-deep-equal":"assertion",context_mode:p.context_mode==="replace"?"replace":"merge",author:p.author||"",assertion_type:p.assertion_type||"llm-rubric",assertion_value:p.assertion_value||"",conversation:p.conversation||"",expected_output:p.expected_output||"",conversation_ui:tn(p.conversation||"",p.expected_output||"",String(p.step??"main"),p.evaluation_mode==="json-deep-equal"),timeout:Number(p.timeout??0),similarity_threshold:Number(p.similarity_threshold??50),context:JSON.stringify(p.context),mocks:JSON.stringify(p.mocks||{}),hasMocks:typeof p.mocks<"u",result:y?At(a,T,y):void 0}}),!0)}catch(d){if(console.error(d),(e(n)??"").trim()!==a)return;i(re,[],!0),i(_,1),i(k,75),i(C,{},!0),i(vt,[],!0)}finally{(e(n)??"").trim()===a&&i($t,!0)}}async function Zr(a){const d=(e(n)??"").trim();if(d&&!Jt){Jt=!0;try{const[c,g]=await Promise.all([Se.tests.latestResult.query({agent:d,region:e(l)}),Se.tests.runProgress.query({agent:d,region:e(l)})]);if(a!==Q)return;g&&(i(X,g.plannedTestIds,!0),i(ze,g.runningTestIds,!0),i(Ze,g.completedTestIds,!0));const p=e(re).map(F=>{const Ie=c[F.id];return{...F,result:Ie?At(d,F.id,Ie):void 0}});i(re,p,!0);const T=e(tr),y=Math.max(1,Number(e(Ae))||1),D=p.reduce((F,Ie)=>e(ot).has(Ie.id)&&Ie.result&&!Ie.result.isOld&&Ie.result.total_runs>=y?F+1:F,0);i(S,D,!0)}catch(c){console.error(c)}finally{Jt=!1}}}async function Qs(a){if(e(fe))return;i(fe,!0),i(tr,a,!0),i(fr,null),i(ve,a==="all"?e(qe).length:e(qe).filter(c=>c.pinned).length,!0),i(S,0),i(Ae,Math.max(1,Number(e(_))||1),!0),i(X,e(qe).filter(c=>a==="all"||c.pinned).map(c=>c.id),!0),i(ze,[],!0),i(Ze,[],!0),Q+=1;const d=Q;if(await Promise.all([Ne,...Z]),d===Q){pe&&clearInterval(pe),pe=setInterval(()=>Zr(d),250),Zr(d);try{await Se.tests.runTests.mutate({agent:e(n),region:e(l),step:e(Mr),scope:a})}catch(c){d===Q&&console.error(c)}finally{if(d!==Q)return;pe&&clearInterval(pe),pe=null;try{await St()}finally{if(d!==Q)return;i(fe,!1),i(tr,null),i(fr,null),i(X,[],!0),i(ze,[],!0),i(Ze,[],!0)}}}}async function Ws(a){if(!e(n)||e(fe))return;i(fe,!0),i(tr,"single"),i(fr,a,!0),i(ve,1),i(S,0),i(Ae,Math.max(1,Number(e(_))||1),!0),i(X,[a],!0),i(ze,[],!0),i(Ze,[],!0),Q+=1;const d=Q;if(await Promise.all([Ne,...Z]),d===Q){pe&&clearInterval(pe),pe=setInterval(()=>Zr(d),250),Zr(d);try{await Se.tests.runTests.mutate({agent:e(n),region:e(l),testId:a})}catch(c){d===Q&&console.error(c)}finally{if(d!==Q)return;pe&&clearInterval(pe),pe=null;try{await St()}finally{if(d!==Q)return;i(fe,!1),i(tr,null),i(fr,null),i(X,[],!0),i(ze,[],!0),i(Ze,[],!0)}}}}function Ks(){e(fe)&&(Q+=1,pe&&clearInterval(pe),pe=null,i(fe,!1),i(tr,null),i(fr,null),i(X,[],!0),i(ze,[],!0),i(Ze,[],!0),Ne=Se.tests.cancelRun.mutate({agent:e(n),region:e(l)}).then(()=>{},()=>{}))}async function Gs(a){const d=a?"TRUE":"FALSE",c=e(qe).filter(p=>p.pinned!==a).map(p=>p.id);if(c.length===0)return;const g=new Set(c);i(re,e(re).map(p=>g.has(p.id)?{...p,pinned:a}:p),!0);try{await Ye(Se.tests.patchTestsBatch.mutate({agent:e(n),region:e(l),updates:c.map(p=>({id:p,patch:{pinned:d}}))}))}catch(p){console.error(p),await St()}}let kn=null,Jn=null;$r(()=>{const a=(e(n)??"").trim(),d=(e(l)??"").trim(),c=s.availableRegions,g=Array.isArray(c)&&c.length>0;if(!a){kn=null,i(re,[],!0),i(vt,[],!0),i($t,!1);return}if(g&&!d)return;const p=`${a}::${d}`;kn!==p&&(kn=p,i(re,[],!0),i(vt,[],!0),i($t,!1),St())}),$r(()=>{const a=(is.url.searchParams.get("test")||"").trim(),d=(is.url.searchParams.get("step")||"").trim(),c=e(re).some(g=>g.id===a&&(!d||g.step===d));!a||!c||Jn===a||(Jn=a,(async()=>{var g;e(rr).has(a)||await kr(a,!0),await ka(),(g=document.querySelector(`[data-id="${CSS.escape(a)}"]`))==null||g.scrollIntoView({block:"start"})})().catch(console.error))});const Yr=w(()=>e(qe).filter(a=>a.pinned).length),Dr=w(()=>e(Yr)>0),Xs=w(()=>e(qe).length>0&&e(Yr)===e(qe).length),pt=w(()=>{let a=0,d=0,c=0,g=0,p=0,T=0,y=0,D=0;for(const Ie of e(qe)){const ge=Ie.result;!ge||ge.isOld||ge.total_runs<=0||(d+=1,c+=ge.successes,g+=ge.total_runs,ge.successes===ge.total_runs&&(a+=1),ge.previous&&ge.previous.total_runs>0&&(p+=ge.previous.success_count,T+=ge.previous.total_runs,y+=ge.successes,D+=ge.total_runs))}const F=(()=>{if(D<5||T<=0)return null;const Ie=Us(p,T,y,D);if(Ie===null||Ie>=.05)return null;const ge=p/T;return{direction:y/D>=ge?"higher":"lower",previousAttemptsPassing:p,previousAttemptsTotal:T,currentAttemptsPassing:y,currentAttemptsTotal:D,pValue:Ie}})();return{casesPassing:a,casesTotal:d,attemptsPassing:c,attemptsTotal:g,trend:F}});async function Zs(){var g,p;const a=(p=(g=s.currentStep)==null?void 0:g.schema)!=null&&p.trim()?"json-deep-equal":"assertion",d=await Se.tests.addTest.mutate({agent:e(n),region:e(l),seed:{step:e(Mr),evaluation_mode:a,...a==="json-deep-equal"?{expected_output:"{}"}:{}},mergeContexts:!0}),c=Sn(d);i(re,[c,...e(re)],!0),kr(c.id,!0).catch(console.error)}function Sn(a){return{...a,step:String(a.step||"main"),evaluation_mode:a.evaluation_mode==="json-deep-equal"?"json-deep-equal":"assertion",context_mode:a.context_mode==="replace"?"replace":"merge",pinned:a.pinned==="TRUE",timeout:Number(a.timeout),similarity_threshold:Number(a.similarity_threshold),context:JSON.stringify(a.context),mocks:JSON.stringify(a.mocks||{}),hasMocks:typeof a.mocks<"u",conversation_ui:tn(a.conversation||"",a.expected_output||"",String(a.step||"main"),a.evaluation_mode==="json-deep-equal")}}function Ys(a,d){const c=d.test,g=c.id,p=d.results,T=p.reduce((y,D)=>y+(D.success?1:0),0);return{id:g,pinned:c.pinned==="TRUE",scenario:c.scenario,step:c.step||"main",evaluation_mode:c.evaluation_mode==="json-deep-equal"?"json-deep-equal":"assertion",context_mode:c.context_mode==="replace"?"replace":"merge",author:c.author||"",assertion_type:c.assertion_type,assertion_value:c.assertion_value,conversation:c.conversation,expected_output:c.expected_output,conversation_ui:tn(c.conversation||"",c.expected_output||"",c.step||"main",c.evaluation_mode==="json-deep-equal"),timeout:Number(c.timeout),similarity_threshold:Number(c.similarity_threshold),context:JSON.stringify(c.context),mocks:JSON.stringify(c.mocks||{}),hasMocks:typeof c.mocks<"u",result:{success_rate:d.success_rate,successes:T,total_runs:p.length,isOld:!1,runs:p.map((y,D)=>{const F={agent:e(n),id:g,timestamp:a,run:D};return{index:D+1,success:y.success,text:y.result||"",evaluation:y.evaluation||"",errors:y.errors||"",links:{renderedPrompt:{...F,key:"rendered_prompt"},receivedPrompt:{...F,key:"received_prompt"},conversation:{...F,key:"stringified_conversation"},context:{...F,key:"received_context"},logs:{...F,key:"logs"},errors:{...F,key:"errors"},traces:{...F,key:"traces"}}}}).reverse()}}}function ea(a){let d=0,c=0,g=0,p=0;for(const T of a){const y=T.result;!y||y.total_runs<=0||(c+=1,g+=y.successes,p+=y.total_runs,y.successes===y.total_runs&&(d+=1))}return{casesPassing:d,casesTotal:c,attemptsPassing:g,attemptsTotal:p}}function ta(a){var d;return((d=Nr.find(c=>c.value===a))==null?void 0:d.label)??a}function ra(a){const d=new Date(a);return Number.isNaN(d.getTime())?a:d.toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}function na(a){const d=new Date(a);return Number.isNaN(d.getTime())?"":d.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})}function Vn(a){return a==="all"?"All tests":"Pinned tests"}function sa(a){const d=new Set(e(st));d.has(a)?d.delete(a):d.add(a),i(st,Array.from(d),!0)}function Tn(a,d){return`${a.trim()}::${String(d??"").trim()}`}function vr(){const a=(e(n)??"").trim();return a?Tn(a,e(l)):null}function Un(a){return a.rows.length===1?a.rows.map(d=>d.test.id):[]}function aa(){ur+=1,er+=1,i(V,null),i(me,[],!0),i(nt,!1),i(de,null),i(Te,null),i(ft,{},!0),i(qt,!1),i(Yt,null),i(st,[],!0)}async function oa(){const a=vr();a&&(e(V)!==a&&(aa(),i(nt,!0)),i(R,!0),await ia({preserveCachedDetail:!0}))}async function ia(a={}){var T;const d=(e(n)??"").trim();if(!d)return;const c=e(l),g=Tn(d,c),p=++ur;i(nt,!0),i(de,null);try{const y=await Se.tests.historyList.query({agent:d,region:c});if(p!==ur||vr()!==g)return;i(me,y,!0),i(V,g,!0);const D=e(Te)&&y.some(F=>F.timestamp===e(Te))?e(Te):((T=y[0])==null?void 0:T.timestamp)??null;D?await Bn(D,{preserveCachedDetail:a.preserveCachedDetail,requestKey:g}):(i(Te,null),i(Yt,null),i(qt,!1),i(st,[],!0))}catch(y){if(console.error(y),p!==ur||vr()!==g)return;i(de,"Failed to load test history"),e(V)!==g&&(i(me,[],!0),i(Te,null),i(ft,{},!0),i(st,[],!0))}finally{p===ur&&vr()===g&&i(nt,!1)}}async function Bn(a,d={}){const c=(e(n)??"").trim();if(!c)return;const g=e(l),p=d.requestKey??Tn(c,g),T=e(Te)===a;i(Te,a,!0),i(qt,!0),i(Yt,null);const y=e(ft)[a];if(y&&d.preserveCachedDetail){er+=1,i(qt,!1),T||i(st,Un(y),!0);return}const D=++er;y||i(st,[],!0);try{const F=await Se.tests.historyRun.query({agent:c,region:g,timestamp:a});if(D!==er||e(Te)!==a||vr()!==p)return;i(ft,{...e(ft),[a]:F},!0),i(st,Un(F),!0)}catch(F){if(console.error(F),D!==er||e(Te)!==a||vr()!==p)return;i(Yt,"Failed to load this test run"),i(st,[],!0)}finally{D===er&&e(Te)===a&&vr()===p&&i(qt,!1)}}function Qn(a){const{conversation_ui:d,hasMocks:c,mocks:g,result:p,...T}=a,y={...T,pinned:a.pinned?"TRUE":"FALSE",timeout:String(a.timeout??0),similarity_threshold:String(a.similarity_threshold??50),context:JSON.parse(a.context)};return c&&(y.mocks=JSON.parse(g)),y}async function la(a,d){const c=Qn(a);c.id=crypto.randomUUID();const g=await Se.tests.addTest.mutate({agent:e(n),region:e(l),seed:c,mergeContexts:!0}),p=Sn(g),T=e(re).slice(),y=e(re).findIndex(D=>D.id===a.id);T.splice(y<0?d:y,0,p),i(re,T,!0),kr(p.id,!0).catch(console.error),await Se.tests.reorder.mutate({agent:e(n),region:e(l),order:e(re).map(D=>D.id)})}async function Wn(a,d,c=0){const g=Qn(a);g.id=crypto.randomUUID(),g.expected_output=d;const p=await Se.tests.addTest.mutate({agent:e(n),region:e(l),seed:g,mergeContexts:!0}),T=Sn(p),y=e(re).slice();y.splice(c,0,T),i(re,y,!0),kr(T.id,!0).catch(console.error),await Se.tests.reorder.mutate({agent:e(n),region:e(l),order:e(re).map(D=>D.id)})}function Kn(a){if(!a)return"";try{return a.replace(/^\s*\d+\s*[:.)-]?\s*(?:[❌✖️✔✅✗xX])?\s*/u,"")}catch{return a}}function en(a){try{return a&&a.trim()?JSON.parse(a):{}}catch{return{}}}const Gn=a=>a.match(/^\s*(agent|assistant|user|system|step)\s*:\s*(.*)$/i);function Xn(a){return a==="main"?"agent":"step"}function Zn(a){try{const d=JSON.parse(a),c=JSON.stringify(d,null,2);return typeof d!="object"||d===null||Array.isArray(d)?c:c.split(`
|
|
3
3
|
`).slice(1,-1).map(g=>g.startsWith(" ")?g.slice(2):g).join(`
|
|
4
4
|
`)}catch{return a}}function Yn(a,d,c){const g=String(a||d||"—");return c?Zn(g):g}function ca(a,d,c){let g=String(a??"").trimEnd();if(!g)return"";c&&(g=Zn(g));const p=Xn(d)==="agent"?"Agent":"Step";return c?g?`${p}:
|
|
5
5
|
${g}`:`${p}:`:`${p}: ${g}`}function tn(a,d,c,g){const p=String(a??"").trimEnd(),T=ca(d,c,g);return T?p?`${p}
|
|
Binary file
|
|
Binary file
|