@theoremjs/studio 0.3.4-next.482.g7e608f2 → 0.3.4-next.508.geda6db0
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/README.md +3 -3
- package/compile.d.ts +1 -1
- package/draft.d.ts +1 -1
- package/example.js +5 -2
- package/map-line.d.ts +12 -0
- package/map-line.js +98 -0
- package/map.d.ts +1 -1
- package/map.js +0 -1
- package/package.json +4 -4
- package/page/assets/{Banner-CrUhb26_.js → Banner-BcHZFaJb.js} +2 -2
- package/page/assets/{ConsoleFrame-6cEEvO4i.js → ConsoleFrame-Byq_hSpu.js} +3 -3
- package/page/assets/{ContextMenu-WnsgC14_.js → ContextMenu-C6S-GYrc.js} +2 -2
- package/page/assets/{ToolResultCharts-BEhuo0Z4.js → ToolResultCharts-CkEf5ub5.js} +1 -1
- package/page/assets/{TraceInspector-k1w1q0XO.js → TraceInspector-BsYHHhGv.js} +1 -1
- package/page/assets/{TraceOverview-Crxd-sTS.js → TraceOverview-CMFfbfGM.js} +2 -2
- package/page/assets/{_virtual_studio-type-sources-DAabvYbE.js → _virtual_studio-type-sources-CTIGQ210.js} +56 -48
- package/page/assets/browser-engine-DjYv346h.js +11 -0
- package/page/assets/browser-transport-Bm3uY9Fj.js +47 -0
- package/page/assets/{crypto-iT_LZ8Et.js → crypto-DAIn4qnM.js} +1 -1
- package/page/assets/{egress-automata-B5ZGE1mT.js → egress-automata-SiHQTP1i.js} +1 -1
- package/page/assets/{encode-files-8AFMw7Er.js → encode-files-oYzzs_iG.js} +1 -1
- package/page/assets/{export-agent-BedkRp13.js → export-agent-BeUTYowB.js} +3 -3
- package/page/assets/{guardrail-tester-XwnZWNsg.js → guardrail-tester-DLT99rnO.js} +2 -2
- package/page/assets/index-C9rhrCGT.css +1 -0
- package/page/assets/{index-BVHT-9mR.js → index-DNA-Y8Mp.js} +69 -69
- package/page/assets/{labels-provider-BSiD6Lrb.js → labels-provider-Gus3heEH.js} +1 -1
- package/page/assets/{live-messages-B65rUlNM.js → live-messages-BnBioidx.js} +1 -1
- package/page/assets/reader-BFYIhA73.js +7 -0
- package/page/assets/shaped-data-1Qn2111E.js +16 -0
- package/page/assets/{stub-DG5wxM-A.js → stub-B3GersQP.js} +2 -2
- package/page/assets/{studio-code-pane-p4fjtQhL.js → studio-code-pane-CCi7-lyE.js} +3 -3
- package/page/assets/{studio-console-BtZY4aUM.js → studio-console-CJT5FkWm.js} +1 -1
- package/page/assets/{studio-decision-BovTBIwV.js → studio-decision-DhHdHb7Z.js} +1 -1
- package/page/assets/{studio-embedding-BY6UQk0k.js → studio-embedding-B8vBhuZU.js} +1 -1
- package/page/assets/studio-host-console-CE_5_tEn.js +2 -0
- package/page/assets/{studio-labels-C3yQoEd0.js → studio-labels-C2SI_T2p.js} +1 -1
- package/page/assets/{studio-live-B_cVDiqs.js → studio-live-CKSSyYZj.js} +3 -3
- package/page/assets/studio-map-CKm_FCd9.js +1 -0
- package/page/assets/studio-trace-replay-BRMD6pex.js +2 -0
- package/page/assets/{studio-type-checker-Bljo3amv.js → studio-type-checker-DoaPHYNy.js} +1 -1
- package/page/assets/tool-schema-DXYwL5aE.js +18 -0
- package/page/assets/{trace-record-D4xAUHLZ.js → trace-record-DWxIfO7D.js} +1 -1
- package/page/assets/tree-Chi6mqzx.js +3 -0
- package/page/assets/{turn-client-CBWNoFgo.js → turn-client-DF0ije7A.js} +2 -2
- package/page/assets/types-2I4NfLiS.js +1 -0
- package/page/assets/{use-one-call-rh-5EjBB.js → use-one-call-Bhnpve1Y.js} +1 -1
- package/page/assets/{workspace-kAEf4Zn4.js → workspace-U3w2ELtN.js} +1 -1
- package/page/index.html +17 -17
- package/run-payload.d.ts +1 -1
- package/runtime.d.ts +1 -1
- package/runtime.js +1 -1
- package/server/draft-decide.d.ts +1 -4
- package/server/draft-decide.js +1 -1
- package/server/draft-replies.js +2 -2
- package/source.js +1 -1
- package/ui/brand-icons.d.ts +2 -2
- package/ui/brand-icons.js +6 -4
- package/ui/lib/tree-map-layout.d.ts +120 -18
- package/ui/lib/tree-map-layout.js +1292 -190
- package/ui/map-token.css +25 -0
- package/ui/node-icon.js +1 -4
- package/ui/profile-editor.js +1 -1
- package/ui/read-map.css +1 -24
- package/ui/read-map.js +52 -4
- package/ui/studio-map.js +1 -3
- package/ui/tree-map.css +9 -0
- package/ui/tree-map.d.ts +27 -6
- package/ui/tree-map.js +215 -75
- package/page/assets/browser-engine-C78edv3x.js +0 -11
- package/page/assets/browser-transport-mGxdvtBL.js +0 -47
- package/page/assets/index-Cbs7B46A.css +0 -1
- package/page/assets/reader-XebgyCzF.js +0 -7
- package/page/assets/shaped-data-Bc6u4pow.js +0 -16
- package/page/assets/studio-host-console-D9NFWXxV.js +0 -2
- package/page/assets/studio-map-iN6-MOzK.js +0 -1
- package/page/assets/studio-trace-replay-B3k21TSg.js +0 -2
- package/page/assets/tool-schema-BmScISma.js +0 -18
- package/page/assets/tree-BiZScKs7.js +0 -3
- package/page/assets/types-zRlFhC9U.js +0 -1
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./preload-helper-DpV6A1kQ.js";import{C as t,E as n,O as r,T as i,b as a,d as o,f as s,g as c,l,m as u,o as d,p as f,s as p,u as m,v as h,w as g,x as _,y as v}from"./schemas-BQ9Jydzb.js";import{$n as y,An as b,Ar as x,Bn as S,Br as ee,Dr as C,Er as w,Fr as T,G as E,Gn as D,Hn as O,Ht as k,Jn as te,Kt as ne,Ln as re,Lr as ie,Lt as ae,Mn as oe,Mr as se,Nn as ce,On as le,Pn as ue,Qt as de,Rn as fe,Sr as pe,Tr as me,Un as he,Vr as ge,Wn as A,Xn as _e,Yn as ve,Zn as ye,Zt as be,_r as xe,cn as Se,dn as j,dr as Ce,en as we,er as Te,fn as Ee,gr as De,ir as Oe,kn as ke,ln as M,mn as Ae,nr as je,pn as Me,qt as Ne,rr as Pe,s as Fe,sr as Ie,tr as Le,un as Re,vr as ze,vt as Be,zr as Ve,zt as He}from"./tool-schema-BmScISma.js";import{c as N}from"./host-patterns-C9RMP16Q.js";import{$ as Ue,$t as We,A as Ge,An as Ke,Bt as qe,Ct as Je,Dt as Ye,En as Xe,F as Ze,Ft as Qe,G as $e,Gt as et,Ht as tt,I as nt,Jt as rt,Kt as it,L as at,Lt as ot,M as st,Mn as P,Mt as ct,N as lt,Nn as ut,Nt as dt,On as ft,P as pt,Rt as mt,Sn as ht,Tt as gt,Ut as _t,V as vt,Vt as yt,Wt as bt,Z as xt,at as St,dt as Ct,gn as wt,hn as Tt,ht as F,in as Et,it as Dt,k as Ot,mn as kt,nt as At,pn as jt,pt as Mt,rn as Nt,rt as Pt,tt as Ft,wn as It,xn as Lt,xt as Rt,zt}from"./shaped-data-Bc6u4pow.js";import{a as Bt,n as Vt}from"./live-ingress-lDUGPwth.js";import{n as Ht,t as Ut}from"./trace-schema-9CdEyG6Q.js";import{n as Wt}from"./stub-DG5wxM-A.js";function Gt(e){return{type:`guardrail`,guardrail:e}}function Kt(e,t,n,r=`redact`,i){if(n.length!==0)return Gt({stage:e,trust:t,action:r,hits:n,...i?{provenance:i}:{}})}function qt(e,t){return e.type===`guardrail`?{...e,guardrail:wt(e.guardrail,t)}:e}var Jt=65536;function I(e){let t=e.classStarts.length,n=new Uint16Array(Jt);for(let r=0;r<t;r++)n.fill(r,e.classStarts[r],e.classStarts[r+1]??Jt);let r=e.charsets.map(e=>{let n=new Uint8Array(t);for(let t of e)n[t]=1;return n}),i=e.nodes.length,a=new Int32Array(i),o=new Uint8Array(i),s=[];return e.nodes.forEach((e,t)=>{a[t]=e[0],o[t]=e[1],s.push(Int32Array.from(e.slice(2)))}),{classOf:n,has:r,pattern:a,final:o,edges:s,initials:e.initials,leads:e.leads,size:i}}var Yt,L,Xt;async function Zt(){if(Yt)return;let{FORWARD_AUTOMATON:t,REVERSED_AUTOMATON:n}=await e(async()=>{let{FORWARD_AUTOMATON:e,REVERSED_AUTOMATON:t}=await import(`./egress-automata-B5ZGE1mT.js`);return{FORWARD_AUTOMATON:e,REVERSED_AUTOMATON:t}},[]);Yt={forward:t,reversed:n}}function Qt(){if(!Yt)throw Error(`A stream was opened before loadEgressAutomata() finished.`);return Yt}var R;function $t(e){let t=String.fromCharCode(e).toUpperCase();if(t.length!==1)return e;let n=t.charCodeAt(0);return e>=128&&n<128?e:n}function en(e){if(!R){R=new Map;for(let e=0;e<Jt;e++){let t=$t(e),n=R.get(t);n?n.push(e):R.set(t,[e])}}return R.get($t(e))??[e]}function tn(e){let t=[0];for(let n of e)t.at(-1)!==n&&t.push(n),n+1<Jt&&t.push(n+1);return t}var z=new Map;function nn(e){let t=z.get(e);if(t)return t;let n=Array.from({length:e.length},(t,n)=>en(e.charCodeAt(n))),r=tn([...new Set(n.flat())].sort((e,t)=>e-t)),i=e=>r.indexOf(e),a=I({classStarts:r,charsets:n.map(e=>e.map(i)),initials:[0],leads:[-1],nodes:[...n.map((e,t)=>[0,0,t+1,t]),[0,1]]});return z.set(e,a),a}function rn(e){let t=JSON.stringify(e),n=z.get(t);if(n)return n;let r=[...new Set(e.flatMap(e=>Array.from(e,e=>e.charCodeAt(0))))];r.sort((e,t)=>e-t);let i=tn(r),a=r.map(e=>[i.indexOf(e)]),o=[],s=I({classStarts:i,charsets:a,initials:e.map((e,t)=>{let n=o.length;for(let n=0;n<e.length;n++)o.push([t,0,o.length+1,r.indexOf(e.charCodeAt(n))]);return o.push([t,1]),n}),leads:e.map(()=>-1),nodes:o});return z.set(t,s),s}function an(e,t){let n=e.has[0]?.length??0,r=Array.from({length:n},()=>[]);for(let i of t){let t=e.edges[e.initials[i]];for(let i=0;i<t.length;i+=2){let a=e.has[t[i+1]];for(let e=0;e<n;e++)a[e]&&r[e]?.push(t[i])}}return r.map(e=>Int32Array.from(e))}function on(e,t){e.text+=t,e.fresh+=t}function sn(e){return e.text.length-e.fresh.length}function B(e,t){let n=sn(e);return t>=n?e.fresh.charCodeAt(t-n):e.text.charCodeAt(t)}function cn(e,t,n=e.text.length){let r=sn(e);return t>=r?e.fresh.slice(t-r,n-r):e.text.slice(t,n)}function ln(e){let t={text:``,fresh:``,rawAt:e=>e,update(){t.text=e.text,t.fresh=e.fresh}};return t}function un(e,t){let n={text:``,fresh:``,rawAt:e.rawAt,update(){n.fresh=``,on(n,t(cn(e,n.text.length)))}};return n}var dn=/\w/,fn=Math.max(...zt.map(e=>e.length));function pn(e){return e.length<=fn+1&&/^[A-Za-z]*$/.test(e)}function mn(e){let t=0,n,r=!1,i=[],a=(e,t,n)=>{on(o,e);for(let r=0;r<e.length;r++)i.push(t+Math.min(r,n-1))},o={text:``,fresh:``,rawAt:r=>e.rawAt(r<i.length?i[r]:t-(n?.length??0)),update(){o.fresh=``;for(let i=e.text.length;t<i;t++){let i=String.fromCharCode(B(e,t)),o=dn.test(i);o&&!r&&(n=``),r=o,o?n===void 0?a(i,t,1):n+=i:(n!==void 0&&a(_t(n),t-n.length,n.length),n=void 0,a(i,t,1))}n!==void 0&&!pn(n)&&(a(n,t-n.length,n.length),n=void 0)}};return o}function hn(e){let t={text:``,fresh:``,from:[],rawAt:n=>n<t.from.length?t.from[n]:e(),update(){}};return t}function V(e,t,n){on(e,t);for(let r=0;r<t.length;r++)e.from.push(n)}var gn=55296,_n=56319,vn=/[A-Za-z]/,yn=56320,bn=57343;function xn(e){let t=0,n=``,r=[],i=``,a=[],o=!1,s=-1,c=hn(()=>Math.min(t,r[0]??t,a[0]??t,s<0?t:s));function l(e,t){s>=0&&(vn.test(e)||V(c,`\\`,s),s=-1),e===`\\`?s=t:V(c,e,t)}function u(e,t){if(bt(e)&&(o||i)){i+=e;for(let n=0;n<e.length;n++)a.push(t)}else{if(i){if(!vn.test(e))for(let e=0;e<i.length;e++)l(i[e],a[e]);i=``,a=[]}for(let n=0;n<e.length;n++)l(e[n],t);o=vn.test(e)&&e.length===1}}function d(){let e=0;for(;e<n.length;){let t=n.charCodeAt(e),i=t>=gn&&t<=_n;if(i&&e+1>=n.length)break;let a=n.charCodeAt(e+1),o=i&&a>=yn&&a<=bn?2:1;u(n.slice(e,e+o),r[e]),e+=o}n=n.slice(e),r=r.slice(e)}return c.update=()=>{c.fresh=``;let i=e.text.length;for(;t<i;){let a=B(e,t),o=a>=gn&&a<=_n;if(o&&t+1>=i)break;let s=B(e,t+1),c=o&&s>=yn&&s<=bn?2:1,l=et(cn(e,t,t+c));n+=l;for(let e=0;e<l.length;e++)r.push(t);t+=c}d()},c}var Sn=/[0-9A-Fa-f]/;function Cn(e){let t=0,n=-1,r=hn(()=>n<0?t:n);r.update=()=>{r.fresh=``;let a=e.text.length;for(;t<a;){let a=String.fromCharCode(B(e,t));if(n<0){a===`%`?n=t:(V(r,a,t),t++);continue}let o=(t-n)%3;if(o===0?a===`%`:Sn.test(a))t++;else{i(t-o);for(let n=t-o;n<t;n++)V(r,String.fromCharCode(B(e,n)),n)}}};function i(t){t>n&&V(r,qe(cn(e,n,t)),n),n=-1}return r}var wn=new Set([`injection`,`base64`,`hex`,`spaced`,`pipe`]),Tn=new Map(mt.map(({pattern:e,hit:t})=>[e,t])),En=new Map(At.flatMap(({pattern:e,hit:t})=>t?[[e,t]]:[]));function H(e){return{rule:Lt(e),severity:`high`,detector:e}}var Dn=H(`injection`),On=H(`marker_leak`),kn=H(`tool_leak`);function An({kind:e,group:t}){if(wn.has(e))return Dn;switch(e){case`sensitive`:case`card`:return t===void 0?void 0:H(t);case`boundary`:return On;case`image`:return H(`ungiven_images`);default:return H(`ungiven_links`)}}function jn(e,t,n){if(e===`card`)return{hit:Pt};if(e===`image`||e===`link`){let r=(e===`image`?Dt:St).indexOf(t),i=n[e][r];return`find`in i?{find:i.find}:{hit:i.test}}let r=Tn.get(t)??En.get(t);return r?{hit:r}:{}}function Mn(e,{given:t,allow:n,skipImages:r}){let i=e=>({...e,...t?{given:t}:{}}),a={image:Ct(i(n?.ungiven_images)),link:Mt(i(n?.ungiven_links),r??e.includes(`ungiven_images`))},o=[];return Ue.forEach((t,n)=>{let r=An(t);r?.detector&&e.includes(r.detector)&&o.push({...r,id:n,regex:new RegExp(t.pattern.source,t.pattern.flags),...jn(t.kind,t.pattern,a)})}),o}function Nn(){let e=[];return Ue.forEach(({kind:t,pattern:n},r)=>{if(t!==`injection`)return;let i=Tn.get(n);e.push({...Dn,id:r,regex:new RegExp(n.source,n.flags),...i?{hit:i}:{}})}),e}function Pn(){return it.map((e,t)=>({...Dn,id:t,regex:new RegExp(e.source,e.flags)}))}function Fn(e,t,n){let r=an(t,n.map(e=>e.id)),i=new Int32Array(t.initials.length).fill(-1);n.forEach((e,t)=>{i[e.id]=t});let a=new Int32Array(t.size),o=new Int32Array(t.size),s=new Int32Array(t.size),c=new Int32Array(t.size),l=0,u=new Int32Array(t.size),d=new Int32Array(t.size),f=0,p=0,m=new Uint8Array(n.length),h=new Uint8Array(n.length),g=new Int32Array(n.length),_=new Int32Array(n.length),v=new Uint8Array(n.length),y=Uint8Array.from(n,e=>+!!e.find),b=new Int32Array(n.length).fill(-1),x=new Int32Array(n.length).fill(-1),S=Int32Array.from(n,e=>t.leads[e.id]??-1),ee=[...new Set(S)].filter(e=>e>=0),C=n.flatMap((e,t)=>S[t]<0?[]:[t]),w=new Int32Array(t.has.length).fill(-1);function T(){let{text:n,fresh:h}=e,g=sn(e),{classOf:_,has:v,edges:C,final:T,pattern:E}=t;for(;p<n.length;p++){let e=_[p>=g?h.charCodeAt(p-g):n.charCodeAt(p)];f++;let t=0,D=(e,n)=>{if(d[e]===f){let t=u[e];n<c[t]&&(c[t]=n)}else d[e]=f,u[e]=t,s[t]=e,c[t]=n,t++,T[e]&&(m[i[E[e]]]=1)};for(let t=0;t<l;t++){let n=C[a[t]],r=o[t];for(let t=0;t<n.length;t+=2)v[n[t+1]][e]&&D(n[t],r)}let O=r[e];for(let e=0;e<O.length;e++){let t=O[e],n=i[E[t]],r=S[n],a=r<0?-1:w[r],o=a<0?p:a;D(t,o),y[n]&&(x[n]=p,b[n]<0&&(b[n]=o))}for(let t of ee)v[t][e]?w[t]<0&&(w[t]=p):w[t]=-1;[a,s]=[s,a],[o,c]=[c,o],l=t}}function E(){let n=e.text.length;_.fill(n),v.fill(0);let r=n;for(let e=0;e<l;e++){let n=a[e],s=i[t.pattern[n]],c=o[e];c<_[s]&&(_[s]=c),t.final[n]&&(v[s]=1),c<r&&(r=c)}for(let e of C){let t=w[S[e]];t<0||(t<_[e]&&(_[e]=t),t<r&&(r=t))}return r}function D(t,r){let i=b[t],a=g[t];if(i<0||i>=r){g[t]=r;return}let{find:o,rule:s,severity:c,detector:l}=n[t],u=o?.(e.text,a,r);if(u===void 0)g[t]=r,b[t]=x[t]>=r?r:-1;else return g[t]=Math.max(a,u)+1,{rule:s,severity:c,start:e.rawAt(u),detector:l}}function O(t,r){if(!m[t]&&!h[t]){g[t]=r;return}m[t]=0;let i=e.text,{regex:a,hit:o,rule:s,severity:c,detector:l}=n[t];for(a.lastIndex=g[t];;){let n=a.exec(i);if(!n||n.index>=r){g[t]=r,h[t]=n||v[t]?1:0;return}let[u]=n;if(u&&(!o||o(u,i,n.index)))return g[t]=a.lastIndex,h[t]=1,{rule:s,severity:c,start:e.rawAt(n.index),detector:l};u||a.lastIndex++,g[t]=a.lastIndex}}function k(){for(let e=0;e<n.length;e++){let t=_[e];if(t<=g[e])continue;let r=n[e].find?D(e,t):O(e,t);if(r)return r}}return{run(t){T();let n=E();for(let e=k();e;e=k())t.push(e);return e.rawAt(n)}}}var In=new WeakMap;function Ln(e){let t=In.get(e);return t||(t=I(e),In.set(e,t)),t}function Rn(e={}){let t={text:``,fresh:``},n=ln(t),r=[n],i=(e,t,n)=>(r.includes(e)||r.push(e),Fn(e,t,n)),a=[],o=e.detect??[],s=Mn(o,e);if(s.length>0&&(L??=I(Qt().forward),a.push(i(n,L,s))),o.includes(`injection`)){L??=I(Qt().forward),Xt??=I(Qt().reversed);let e=xn(t),r=Nn();a.push(i(n,Xt,Pn()),i(mn(n),L,r),i(e,L,r),i(mn(e),L,r),i(un(n,tt),L,r),i(un(n,e=>yt(e)??e),L,r),i(Cn(t),L,r))}if(o.includes(`marker_leak`)&&e.note){let t=Ft(e.note);a.push(i(n,nn(e.note),[{...On,id:0,regex:t}]))}if(o.includes(`tool_leak`)&&e.tools){let t=$e(e.tools),r=t.map(({regex:e},t)=>({...kn,id:t,regex:e}));t.length>0&&a.push(i(n,rn(t.map(({literal:e})=>e)),r))}for(let{detector:t,compiled:r,matchers:o}of e.own??[]){let e=o.map(({regex:e},n)=>({...H(t),id:n,regex:new RegExp(e.source,e.flags)}));a.push(i(n,Ln(r.automaton),e))}let c=0;return{push(e){t.text+=e,t.fresh=e;for(let e of r)e.update();let n=[],i=t.text.length;for(let e of a)i=Math.min(i,e.run(n));return c=i,n},holdFrom:()=>c}}function zn(e,t,n={},r=[]){let i=Ze(e,t).filter(e=>!(at(e)||r.includes(e))),a=nt(e,t);if(i.length===0&&a.length===0)return;let o=[...i,...a.map(({id:e})=>e)],s=t.sources??{},c=[...i.map(e=>({detector:e,...s[e]})),...a.map(({id:e,matchers:t,compiled:n})=>({detector:e,matchers:t,compiled:n}))],l=c.some(({matchers:e,compiled:t})=>e?.length&&!t),u=Rn({detect:i.filter(e=>s[e]?.theorem!==!1),own:c.flatMap(({detector:e,compiled:t,matchers:n=[]})=>t?[{detector:e,compiled:t,matchers:n}]:[]),skipImages:t.ungiven_images[e]!==`ignore`,...n.allow?{allow:n.allow}:{},...n.givenUrls?{given:n.givenUrls}:{},...n.note?{note:n.note}:{},...n.ownTools?{tools:n.ownTools}:{}}),d=a.some(({find:e})=>e),f=e===`live_reply`?96:256,p=``,m=[];return{push(e){p+=e;for(let{start:t,detector:n}of u.push(e))n&&m.push({start:t,detector:n})},holdFrom(){if(l)return 0;let e=u.holdFrom();return d?Math.min(e,Math.max(0,p.length-f)):e},take(r,i,a=!1){let s=m.filter(({start:e})=>e<i);if(s.length===0&&!a&&!d)return{action:`allow`,text:p.slice(r,i),hits:[],taken:i-r};let c={from:r,to:i,settled:s.map(({detector:e})=>e)},l=pt(p,c,e,t,{detectors:o,scope:n});return m=m.filter(({start:e})=>e>=r+l.taken),l}}}function Bn(e){let{context:t}=e,n=e.detect,r=n?zn(n.boundary,n.matrix,n.scope):void 0,i=e=>n?n.matrix[e][n.boundary]:`block`,a=i(`canary_leak`),o=i(`prompt_leak`),s=t.canaryGiven||a===`ignore`?void 0:t.canary,c=o===`ignore`?void 0:t.privateSystem,l=s!==void 0||c!==void 0,u=l?e.carry??``:``,d=[],f=new Set,p=``,m=0,h=``,g=u.slice(-F),_=u,v=0,y=u,b=0,x=0,S=s?Je(s):void 0;S?.push(u);function ee(e){let n=[];if(S?.push(e)&&n.push([a,Tt]),c){let r=_.length;_+=e;let i=ot(_,r);_=_.slice(i),v+=i;let[a]=xt(_,c,t.canary);a&&n.push([o,a])}for(let[e,t]of n)e!==`flag`||f.has(t.rule)||(f.add(t.rule),d.push(t));return n.filter(([e])=>e!==`flag`).map(([,e])=>e)}function C(e){let t=l?ee(e??``):[];return e&&r?.push(e),t.length===0?null:{hits:t,...n?{boundary:n.boundary}:{}}}function w(){let e=s&&a!==`flag`?E(s):h.length,n=c&&o!==`flag`?D(c,t.canary):h.length;return m+Math.min(e,n)}function T(e){if(d.length===0)return e;let t=[...d,...e.found?.hits??[]];return d=[],{...e,found:{action:e.found?.action??`flag`,hits:t}}}function E(e){let t=u.length+m,n=Math.max(t,x),r=Math.max(b,n-F),i=r+Rt(y.slice(r-b),e);i<n&&n>t&&(y=g+h,b=t-g.length,i=b+Rt(y,e)),x=Math.min(i,u.length+p.length-F);let a=Math.max(b,Math.max(t,x)-F);return y=y.slice(a-b),b=a,Math.max(0,i-t)}function D(e,t){let n=m===0?u:``,r=u.length+m-n.length,[i,a]=v>=r?[_,v]:[n+h,r];return Math.max(0,a+Qe(i,e,t)-u.length-m)}function O(e){let t=C(e);if(t)return{blocked:!0,...t};let i=e===void 0,a=i?p.length:Math.min(w(),r?.holdFrom()??p.length),o=Math.max(0,a-m);if(!(n&&r))return T({blocked:!1,emit:k(o)});let s=r.take(m,m+o,i);return s.action===`block`||s.action===`redact`&&!n.rewrite?{blocked:!0,hits:s.hits,boundary:n.boundary}:(k(s.taken),T({blocked:!1,emit:s.text??``,...s.action===`allow`?{}:{found:{action:s.action,hits:s.hits}}}))}function k(e){let t=h.slice(0,e);return h=h.slice(e),m+=t.length,l&&(g=(g+t).slice(-F)),t}return{process(e){return e?(p+=e,h+=e,l&&(y+=e),O(e)):{blocked:!1,emit:``}},flush:()=>O(),accumulated:()=>p,unreleased:()=>h,drainUnreleased:()=>k(h.length),carryOut:()=>l?Ye(u+p,s,c):``}}function U(e,t,n){return lt(t,e.detect,n)}async function Vn(e,t,n,r){return U(e,[n],t)?(await Zt(),Hn(e,t,n,r)):null}function Hn(e,t,n,r){return U(e,[n],t)?Bn({context:t,detect:{matrix:e.detect,boundary:n,rewrite:n===`reply`,scope:vt(e,t)},...r?{carry:r}:{}}):null}async function Un(e,t,n,r){return U(e,[n],r??t)?(await Zt(),Bn({context:t,detect:{matrix:e.detect,boundary:n,rewrite:!1,scope:r??vt(e,t)}})):null}var Wn=class{open;gate;constructor(e){this.open=e}async read(e){if(this.gate===void 0&&(this.gate=await this.open()),this.gate===`stopped`)return``;if(!this.gate)return e;let t=this.gate.process(e);return t.blocked?(this.gate=`stopped`,``):t.emit}end(){if(!this.gate||this.gate===`stopped`)return``;let e=this.gate.flush();return e.blocked?``:e.emit}},Gn=2,Kn=4,qn=3,Jn=/(^|,)(\s*)("?)(?:([=@])|([+-])(?![0-9."]))/gm,Yn=/^[A-Za-z0-9+/]*={0,2}$/,Xn=new Set([`text/csv`,`text/plain`,`text/markdown`]);function Zn(e){let{maxFiles:t,maxBytes:n,maxTurnBytes:r,limitsByMime:i}=e;if(t&&n&&r)return{maxFiles:t,maxBytes:n,maxTurnBytes:r,limitsByMime:i}}function Qn(e,t){if(t.limitsByMime){let n=Me(e);if(t.limitsByMime[n])return t.limitsByMime[n];let[r]=n.split(`/`),i=`${r}/*`;if(t.limitsByMime[i])return t.limitsByMime[i]}return t.maxBytes}function W(e){return`uri`in e}function $n(e){if(e.type===`speech`)throw new N(`request`,`Profile ${e.id} (speech) does not accept media input`);if(e.type===`live`)throw new N(`request`,`Profile ${e.id} (live) does not accept turn attachment input`);if(e.type===`host`||e.type===`decision`||e.type===`embedding`)throw new N(`request`,`Profile ${e.id} (${e.type}) does not accept turn input`);let t=Zn(e.inputs??{});if(!t)throw new N(`config`,`Profile ${e.id} must set maxFiles, maxBytes, and maxTurnBytes`);return t}function er(e){let t=0;return e.endsWith(`==`)?t=Gn:e.endsWith(`=`)&&(t=1),Math.floor(e.length*qn/Kn)-t}function tr(e){try{return new TextDecoder(`utf-8`,{fatal:!0}).decode(e)}catch{return new TextDecoder(`latin1`).decode(e)}}function nr(e){return e.replace(Jn,(e,...t)=>{let[n,r,i,a,o]=t;return`${n}${r}${i}'${a??``}${o??``}`})}function rr(e,t,n){let r=tr(t);return e===`text/csv`&&(r=nr(r)),new TextEncoder().encode(n.read(r))}function ir(e,t){return t?{...e,fileName:t}:e}function ar(e,t,n){return t.filter(t=>!M(e,t.mimeType)).map(e=>ir({code:`mime_not_allowed`,params:{mimeType:e.mimeType,channel:n}},e.name))}function or(e,t){let n=[];e.length>t.maxFiles&&n.push({code:`too_many_files`,params:{maxFiles:t.maxFiles}});let r=0;for(let i of e){if(i.sizeBytes===void 0)continue;let e=Qn(i.mimeType,t);i.sizeBytes>e&&n.push(ir({code:`file_too_large`,params:{maxBytes:e}},i.name)),r+=i.sizeBytes}return r>t.maxTurnBytes&&n.push({code:`turn_too_large`,params:{maxTurnBytes:t.maxTurnBytes}}),n}function sr(e,t,n){let r=[];return t.length>0&&!e.attachments&&r.push({code:`attachments_not_accepted`,params:{channel:`attachment`}}),n.length>0&&!e.voice&&r.push({code:`voice_not_accepted`,params:{channel:`voice`}}),r.length>0||t.length===0&&n.length===0?r:(e.attachments&&r.push(...ar(e.attachments,t,`attachment`)),e.voice&&r.push(...ar(e.voice,n,`voice`)),e.limits?[...r,...or([...t,...n],e.limits)]:[...r,{code:`limits_unconfigured`}])}var cr={mime_not_allowed:`attachments.mime_not_allowed`,too_many_files:`attachments.too_many_files`,too_many_of_kind:`attachments.too_many_of_kind`,file_too_large:`attachments.file_too_large`,turn_too_large:`attachments.turn_too_large`,attachments_not_accepted:`attachments.not_accepted`,voice_not_accepted:`attachments.not_accepted`,limits_unconfigured:`attachments.limits_unconfigured`};function lr(e){let t={};for(let[n,r]of Object.entries(e.params??{}))r!==void 0&&(t[n]=r);return e.fileName!==void 0&&(t.fileName=e.fileName),{key:cr[e.code],params:t}}function ur(e,t){let n=lr(e);return P(n.key,n.params,t)}function dr(e){return new N(`input`,`attachments refused: ${e.map(e=>e.code).join(`, `)}`,{copy:e.map(lr)})}function fr(e){if(!Yn.test(e))throw new N(`request`,`attachment data must be base64`);return er(e)}function pr(e){let t={mimeType:e.mimeType,name:e.name};return W(e)||(t.sizeBytes=fr(e.data)),t}function mr(e,t,n){if(!gr(t,n))return;let r=$n(e),i=sr({attachments:Re(e,`attachments`),voice:Re(e,`voice`),limits:r},(t??[]).map(pr),(n??[]).map(pr));if(i.length>0)throw dr(i)}function hr(e,t){if(W(e))return e;let{mimeType:n,data:r}=e;if(!Xn.has(Me(n)))return e;let i=rr(n,jt(r),t);return{...e,data:kt(i)}}function gr(e,t){return(e?.length??0)>0||(t?.length??0)>0}function _r(e,t,n,r){return mr(e,t,n),{attachments:t?.length?t.map(e=>hr(e,r.attachment)):t,voice:n?.length?n.map(e=>hr(e,r.voice)):n}}var vr=`
|
|
2
|
-
|
|
3
|
-
`;function yr(e){if(typeof e==`string`)return;if(typeof e!=`object`||!e||Array.isArray(e))return`must be a string or { private: string }`;let t=Object.keys(e);if(t.length!==1||t[0]!==`private`)return`must have exactly one key, private`;let n=e.private;if(typeof n!=`string`)return`must be a string`;if(n===``)return`must not be empty`}function br(e,t){if(typeof e!=`string`){if(!Array.isArray(e))return`${t} must be a string or an array of parts`;if(e.length===0)return`${t} must not be an empty array`;for(let[n,r]of e.entries()){let e=yr(r);if(e)return`${t}[${n}]${typeof r==`object`&&r&&`private`in r?`.private`:``} ${e}`}}}function xr(e,t){let n=br(e,t);if(n)throw new N(`config`,n)}function Sr(e,t,n){return xr(e,t),typeof e==`string`?n(e):e.map(e=>typeof e==`string`?n(e):{private:n(e.private)})}function Cr(e){if(typeof e==`string`)return[{text:e,private:!0}];let t=e.some(e=>typeof e!=`string`);return e.map(e=>typeof e==`string`?{text:e,private:!t}:{text:e.private,private:!0})}function wr(e){let t=[];for(let n of e)n.some(e=>e.text)&&(t.length>0&&t.push({text:vr,private:!0}),t.push(...n));return t}function Tr(e){return e.map(e=>e.text).join(``)}function Er(e){let t=[],n=``;for(let r of e)r.private?n+=r.text:(n.trim()&&t.push(n),n=``);return n.trim()&&t.push(n),{text:Tr(e),private:t}}function Dr(e,t){return Er(wr([e,...t.map(e=>e?[{text:e,private:!0}]:[])]))}var Or=[`user`,`slots`,`repair`,`attachment`,`voice`,`history`,`system`];function kr(e,t){return e&&Object.fromEntries(Object.entries(e).map(([e,n])=>[e,t.read(n)]))}var Ar={client:`untrusted`,server:`assembled`};function jr(e){return typeof e==`string`?e:JSON.stringify(e)}function Mr(e,t){let n=[],r=!1;if(!e)return{context:e,events:n,blocked:r};let i={};for(let a of A){let o=e[a];if(o===void 0)continue;let s=t();i[a]=s.read(jr(o));let c=s.found(),l=st(`context`,c);l&&n.push({...l,trust:Ar[a]}),r||=c.action===`block`}return{context:i,events:n,blocked:r}}var Nr=/^[A-Za-z0-9._-]+$/;function Pr(e){let t=e?.trim();return t&&Nr.test(t)?t:void 0}function Fr(e,t){if(!e)return e;let n=e.guidance?t.read(e.guidance):void 0;return{previousOutput:t.read(e.previousOutput),rejection:t.read(e.rejection),...n?{guidance:n}:{}}}function Ir(e,t){return e.map(e=>{let n=e.content===void 0?void 0:t.read(e.content),r=e.parts?.map(e=>e.type===`text`?{...e,text:t.read(e.text)}:e);return{role:e.role,...n===void 0?{}:{content:n},...r?{parts:r}:{},...e.tool_calls?{tool_calls:e.tool_calls}:{},...e.tool_call_id?{tool_call_id:e.tool_call_id}:{},...e.name?{name:e.name}:{},...e.metadata?{metadata:e.metadata}:{},...e.reasoning?{reasoning:e.reasoning}:{}}})}function Lr(e){return new N(`input`,`guardrails.detect blocked the request at ${e}`,{copy:{key:`detect.blocked`}})}function Rr(e,t){let{detect:n}=Ae(t.guardrails),r=Xe(Or,e=>Ge(e,n)),i=e.input??{},a=i.text===void 0?void 0:r.user.read(i.text),o=e.system===void 0?void 0:Sr(e.system,`TurnRequest.system`,e=>r.system.read(e)),s=kr(i.slots,r.slots),c=Mr(i.context,()=>Ge(`context`,n)),l=Fr(i.repair,r.repair),u=i.history?Ir(i.history,r.history):void 0,{attachments:d,voice:f}=i.attachments?.length||i.voice?.length?_r(t,i.attachments,i.voice,r):i,p=[],m;for(let e of Or){let t=r[e].found(),n=st(e,t);n&&p.push(Gt(n)),t.action===`block`&&(m??=Lr(e))}return p.push(...c.events.map(Gt)),c.blocked&&(m??=Lr(`context`)),{request:{...e,system:o,projectId:Pr(e.projectId),input:{...i,text:a,slots:s,...c.context?{context:c.context}:{},repair:l,history:u,attachments:d,voice:f}},events:p,...m?{refusal:m}:{}}}function zr(e,t){let{request:n,refusal:r}=Rr(e,t);if(r)throw r;return n}function Br(e){let t=Object.keys(e);return t.length===1?t[0]:void 0}function Vr(e,t){return[...new Set([...t.filter(t=>M(e,t)),...e.filter(e=>M(t,e))])]}function Hr(e,t){let n=e.attachments?t?Vr(e.attachments.accept,t.media.flatMap(e=>e.accept)):[...e.attachments.accept]:[],r=(t?.media??[]).flatMap(e=>e.maxPerInput===void 0?[]:[{accept:[...e.accept],max:e.maxPerInput}]);return{text:e.text!==!1,...n.length>0?{attachments:{accept:n}}:{},...e.maxFiles===void 0?{}:{maxFiles:e.maxFiles},...e.maxBytes===void 0?{}:{maxBytes:e.maxBytes},...e.maxTurnBytes===void 0?{}:{maxTurnBytes:e.maxTurnBytes},...e.limitsByMime===void 0?{}:{limitsByMime:{...e.limitsByMime}},...t?.maxInputs===void 0?{}:{maxInputs:t.maxInputs},...r.length>0?{perInput:r}:{}}}function Ur(e){let t=Me(e[0]??``);return t===`application/pdf`?`PDF`:t.split(`/`)[0]??t}function Wr(e,t){let n=Zn(e),r=sr({attachments:e.attachments?.accept,...n?{limits:{...n,maxFiles:2**53-1}}:{}},t.flat(),[]);if(n)for(let i of t){i.length>n.maxFiles&&r.push({code:`too_many_files`,params:{maxFiles:n.maxFiles}});for(let t of e.perInput??[])i.filter(e=>M(t.accept,e.mimeType)).length>t.max&&r.push({code:`too_many_of_kind`,params:{maxFiles:t.max,kind:Ur(t.accept)}})}let i=new Set;return r.filter(e=>{let t=JSON.stringify(e);return!i.has(t)&&(i.add(t),!0)})}function Gr(e,t){let n=e.get(t);return n!==void 0&&n.type!==`builtin`}function Kr(e,t){return!e||e.includes(`*`)?!0:t?e.includes(t):!1}function qr(e,t){return t.filter(n=>{let r=e.get(n);return r?.type!==`builtin`||!(r.conflictsWith??[]).some(e=>t.includes(e))})}function G(e){return`tools`in e?e.tools.allow:[]}function Jr(e){return e.type===`text`||e.type===`image`?e.tools:void 0}function Yr(e){return`tools`in e?e.tools.parallel:void 0}function Xr(e,t,n){return G(t).filter(r=>{let i=e.get(r);return!i||i.type===`builtin`?!1:t.type===`host`||Kr(i.paths,n.path)})}function Zr(e,t,n,r){let i=t.models[r];return i?(i.builtInTools??[]).filter(t=>{let r=e.get(t);return r?.type===`builtin`&&Kr(r.paths,n.path)}):[]}function Qr(e,t){let n=e.get(t);if(n&&n.type!==`builtin`)return{type:`function`,name:n.name,description:n.description,parameters:n.inputSchema}}function $r(e,t){let n=[];for(let r of t){let t=Qr(e,r);t&&n.push(t)}return n}function ei(e,t,n){if(t.visible.includes(n))return;t.visible.push(n);let r=Qr(e,n);r&&!t.wire.some(e=>e.name===n)&&t.wire.push(r)}function ti(e,t,n){if(t.builtins.includes(n))return;let r=e.get(n);if(r?.type!==`builtin`)return;let i=r.conflictsWith??[];t.builtins=t.builtins.filter(t=>{if(i.includes(t))return!1;let r=e.get(t);return!(r?.type===`builtin`&&r.conflictsWith?.includes(n))}),t.builtins.push(n)}function ni(e,t,n){return t.type===`live`||t.type===`host`?[...n]:n.filter(t=>e.get(t)?.loadTier===`T0`)}function ri(e,t,n){return qr(e,n.filter(n=>{let r=e.get(n);return r?.type===`builtin`&&(t.type===`live`||r.loadTier===`T0`)}))}function ii(e,t,n,r){let i=Xr(e,t,n),a=t.type===`host`||t.type===`decision`||t.type===`embedding`||r===void 0?[]:Zr(e,t,n,r),o=[...i,...a],s=ri(e,t,o),c=ni(e,t,o);return{builtins:s,gated:o,visible:c,executable:c.filter(t=>Gr(e,t)),path:n.path,sessionPermissions:n.sessionPermissions,wire:$r(e,c)}}async function ai(e,t,n,r){let i=ii(e,t,n,r);return await si(e,i,t,n),i}function oi(e){return{builtins:[...e.builtins],gated:[...e.gated],visible:[...e.visible],executable:[...e.executable],path:e.path,sessionPermissions:e.sessionPermissions?[...e.sessionPermissions]:void 0,wire:e.wire.map(e=>({...e,parameters:structuredClone(e.parameters)}))}}async function si(e,t,n,r){let i=Jr(n)?.t1Policy;if(!i)return;let a;try{a=await i({profile:n,input:r.input,path:r.path,sessionPermissions:r.sessionPermissions,gated:t.gated,host:r.host})}catch(e){let t=e instanceof Error?e.message:String(e);throw new N(`config`,`Profile '${n.id}' tools.t1Policy rejected: ${t}`,{cause:e})}if(!Array.isArray(a))throw new N(`config`,`Profile '${n.id}' tools.t1Policy must return ToolId[]`);for(let n of a){if(!t.gated.includes(n))continue;let r=e.get(n);r?.loadTier===`T2`&&(r.type===`builtin`?ti(e,t,n):ei(e,t,n))}t.executable=t.visible.filter(t=>Gr(e,t))}var ci=new Set([`__proto__`,`constructor`,`prototype`]);function li(e){if(!Ot(e))return;let{loaded:t}=e;if(Array.isArray(t)&&t.every(e=>typeof e==`string`))return t}function ui(e,t,n,r){if(r.type===`live`||r.type===`host`)return{promoted:[]};let i=[];for(let a of n){if(typeof a!=`string`||ci.has(a))return{promoted:[],failure:{code:`invalid_output`,kind:`bad_response`,message:`tools.t2Loader loaded ids must be plain strings`}};let n=fi(e,a,r);if(`failure`in n)return{promoted:[],failure:n.failure};let{tool:o}=n;Kr(o.paths,t.path)&&t.gated.includes(a)&&i.push(a)}let a=[];for(let n of i)ei(e,t,n),a.push(n);return t.executable=t.visible.filter(t=>Gr(e,t)),{promoted:a}}function di(e){return{failure:{code:`invalid_output`,kind:`bad_response`,message:e}}}function fi(e,t,n){if(!G(n).includes(t))return di(`tools.t2Loader attempted to promote tool '${t}' outside profile allow`);let r=e.get(t);return r?r.type===`builtin`?di(`tools.t2Loader attempted to promote builtin '${t}' — only custom tools may be promoted`):r.loadTier===`T2`?{tool:r}:di(`tools.t2Loader attempted to promote tool '${t}' with loadTier '${r.loadTier}' — only T2 tools may be promoted`):di(`tools.t2Loader attempted to promote unknown tool '${t}'`)}function pi(e,t){return e.get(t)||{name:t,missing:!0}}function mi(e){let t=new Set;if(e.type===`host`||e.type===`decision`||e.type===`embedding`)return[];for(let n of Object.values(e.models))for(let e of n.builtInTools??[])t.add(e);return[...t]}function hi(e,t){return[...G(t),...mi(t)].map(t=>pi(e,t))}function gi(e,t){if(Array.isArray(e)){for(let n of e)gi(n,t);return}if(typeof e!=`object`||!e)return;let{properties:n,...r}=e;if(typeof n==`object`&&n)for(let[e,r]of Object.entries(n))t.add(e),gi(r,t);for(let e of Object.values(r))gi(e,t)}function _i(e,t){let n=hi(e,t);if(n.length===0)return;let r=new Set;for(let e of n)`inputSchema`in e&&gi(e.inputSchema,r);return{names:n.map(({name:e})=>e),params:[...r]}}function vi(e){return!e||e.length===0?[]:e.slice(-4)}function yi(e,t){if(e.length===0)return``;let n=e.map(e=>`${e.role===`user`?`User`:`Assistant`}: ${e.content}`);return`${P(`repair.history_heading`,{count:e.length},t)}\n${n.join(`
|
|
4
|
-
`)}\n\n`}function bi(e){let{profile:t,repair:n,history:r}=e,i=n.guidance||P(`repair.default_guidance`,{},t.labels),a=yi(vi(r),t.labels),o=`${P(`repair.prompt_header`,{},t.labels)}\n\n`;return o+=`${P(`repair.prompt_intro`,{},t.labels)}\n\n`,o+=`${P(`repair.section_previous_output`,{},t.labels)}\n\`\`\`\n${n.previousOutput.trim()}\n\`\`\`\n\n`,o+=`${P(`repair.section_validator_rejection`,{},t.labels)}\n${n.rejection.trim()}\n\n`,i.trim()&&(o+=`${P(`repair.section_repair_guidance`,{},t.labels)}\n${i.trim()}\n\n`),a&&(o+=a),o+=`${P(`repair.section_instructions`,{},t.labels)}\n`,o+=P(`repair.prompt_instructions`,{},t.labels),o}function xi(e,t){let n=[];return t&&n.push(`structured`),e.type===`image`&&n.push(`image`),e.type===`speech`&&n.push(`speech`),n}function Si(e,t){let n=xi(e,t);if(!(n.length<=1))throw new N(`config`,`Profile ${e.id} declares multiple output wire formats (${n.join(`, `)}). Only one of a structured JSON schema (outputs.structured), image, or speech may be active.`)}function Ci(e,t){if(e.type!==`speech`){if(t.speech)throw new N(`request`,`Profile ${e.id} (${e.type}) takes no speech settings — only a speech profile speaks`)}else if(t.system)throw new N(`config`,`Profile ${e.id} (speech) takes no system prompt — the input text is the transcript`)}function wi(e,t){return e.type===`speech`?{...e.speech,...Ti(t.speech)}:void 0}function Ti(e){return Object.fromEntries(Object.entries(e??{}).filter(([,e])=>e!==void 0))}function Ei(e){if(e.type!==`image`)return null;let t=e.image;return{type:`image`,mimeType:t.mimeType,aspectRatio:t.aspectRatio,resolution:t.resolution,quality:t.quality,background:t.background,n:t.n,seed:t.seed,outputCompression:t.outputCompression,includeText:t.includeText===!0}}function Di(e){let t=Se(e);if(!t)throw new N(`input`,`MIME '${e}' is not a supported media input type`);return t}function Oi(e){return e.map(e=>{let t=Di(e.mimeType),n=Me(e.mimeType),r=n===`image/jpg`?`image/jpeg`:n;return W(e)?{type:t,mimeType:r,uri:e.uri}:{type:t,mimeType:r,data:e.data}})}function ki(e,t){let{text:n,repair:r,history:i}=t.input??{};if(e.type===`speech`&&!n?.trim())throw new N(`request`,`Profile ${e.id} (speech) requires text input`);if(j(e)?.text===!1&&n)throw new N(`request`,`Profile ${e.id} does not accept text input`);let a=r?bi({profile:e,repair:r,history:i}):ji(e,t)??n;if(e.type===`speech`)return a?{type:`text`,text:a}:null;let o=[...Ai(t),...a?[dt(a)]:[]];return o.length>0?{type:`text`,text:o.join(`
|
|
5
|
-
|
|
6
|
-
`)}:null}function Ai(e){let t=e.input?.context??{};return[...A].reverse().filter(e=>t[e]!==void 0).map(e=>ct(e,jr(t[e])))}function ji(e,t){if(t.continueFrom&&He.includes(e.type)){if(t.input?.text)throw new N(`request`,`Profile ${e.id}: a continueFrom turn takes no input.text — its user message is the continue instruction`);return P(`continue.instruction`,{},e.labels)}}function Mi(e){return e.type===`image`&&e.image.references?Oi(e.image.references):[]}function Ni(e,t){let n=t.input?.attachments??[],r=t.input?.voice??[];return[...Mi(e),...Oi(n),...Oi(r)]}function Pi(e,t){let n=[],r=ki(e,t);return r&&n.push(r),n.push(...Ni(e,t)),n}function Fi(e,t){let n=t.input?.slots;if(!n)return;let r=j(e)?.slots??{};for(let[t,i]of Object.entries(n)){let n=Object.hasOwn(r,t)?r[t]:void 0;if(!n)throw new N(`request`,`Profile ${e.id} has no slot '${t}'`);if(!n.includes(i))throw new N(`request`,`Profile ${e.id}: slot '${t}' takes ${n.join(`, `)}, not '${i}'`)}}function Ii(e,t){let n=t.input?.context;if(!n)return;let r=j(e)?.context;for(let[t,i]of Object.entries(n))if(i!==void 0){if(!A.includes(t)||!r?.from.some(e=>e===t))throw new N(`request`,`Profile ${e.id} takes no context from '${t}'`);if(jr(i).length>r.maxChars)throw new N(`request`,`Profile ${e.id}: context from '${t}' is over inputs.context.maxChars (${String(r.maxChars)})`)}}var Li=/\{([A-Za-z_][\w-]*)\}/g;function Ri(e,t,n,r){let i=j(e)?.slots;return i?t.replace(Li,(t,a)=>{if(!Object.hasOwn(i,a))return t;let o=n&&Object.hasOwn(n,a)?n[a]:void 0;if(o===void 0)throw new N(`request`,`Profile ${e.id}: ${r} uses slot '${a}', and the request chose no value for it`);return o}):t}function zi(e,t){let{handle:n}=e.identity,r=e.type===`speech`?void 0:e.identity.systemByRole;return t&&r&&Object.hasOwn(r,t)?t:n}function Bi(e,t,n){if(e.type===`speech`)return[];let{systemByRole:r,system:i}=e.identity,a=r?.[t]||i||``;return a?Cr(Sr(a,`Profile ${e.id} identity.system`,t=>Ri(e,t,n,`identity.system`))):[]}function Vi(e,t){return wr([Bi(e,zi(e,t.input?.role),t.input?.slots),t.system===void 0?[]:Cr(t.system)])}function Hi(e){return e.type!==`host`&&e.type!==`decision`&&e.type!==`embedding`}function Ui(e,t){if(Hi(e))return e;throw e.type===`host`?new N(`request`,`Profile ${e.id}: type 'host' never runs a model — ${t} is not supported; execute tools with invokeTool`):e.type===`embedding`?new N(`request`,`Profile ${e.id}: type 'embedding' runs through runEmbedding — ${t} is not supported`):new N(`request`,`Profile ${e.id}: type 'decision' runs through runDecision — ${t} is not supported`)}function Wi(e,t){if(t){if(!e.allowModelSelect)throw new N(`request`,`Profile ${e.id} does not allow model selection`);if(!e.models[t])throw new N(`request`,`Unknown model '${t}' for ${e.id}`);return t}return e.defaultModel}function Gi(e,t,n,r){let i=t.efforts;if(!i||Object.keys(i).length===0){if(r)throw new N(`request`,`Profile ${e.id} model '${n}' has no selectable efforts`);return}let a=Object.keys(i);if(r){if(!t.allowEffortSelect)throw new N(`request`,`Profile ${e.id} model '${n}' does not allow effort selection`);let a=i[r];if(!a)throw new N(`request`,`Unknown effort '${r}' for ${e.id} model '${n}'`);return a}return i[t.defaultEffort??a[0]]}function Ki(e){if(e.summaries===!0)return`auto`;if(e.summaries===!1)return`none`}function qi(e,t){if(e.type===`live`)return null;let n=e.outputs?.structured;if(!n)return null;if(typeof n==`string`)return n;let r=t?.[n.by];if(r){let e=n.map[r];if(e)return e}return n.fallback}function Ji(e){return e.type===`live`||e.outputs?.streaming?.mode!==`buffered`}function Yi(e,t){return e.type===`live`?`live`:`turn`}function Xi(e,t){if(!t.continueFrom)return;if(e.type===`live`)throw new N(`request`,`Profile ${e.id}: type 'live' uses live.sessionResumption, not turnBehaviour.resumption/continueFrom`);let n=Ne(e)?.maxContinues;if(n===void 0)return;let r=t.continuation;if(r===void 0)throw new N(`request`,`Profile ${e.id}: continueFrom requires TurnRequest.continuation when turnBehaviour.resumption.maxContinues is set`);if(r<1)throw new N(`request`,`Profile ${e.id}: continuation must be >= 1`);if(r>n)throw new N(`request`,`Profile ${e.id}: continuation ${r} exceeds turnBehaviour.resumption.maxContinues (${n})`)}function Zi(e,t){return U(Ae(t),[`live_reply`])?{...e,transcription:{...e?.transcription,output:!0}}:e}function Qi(e){let{detect:t}=Ae(e.guardrails);return e.type!==`speech`&&Et(t,`canary_leak`)?gt():``}function $i(e,t,n,r){if(!r)return;let i={};for(let[a,o]of Object.entries(r)){if(!n.builtInTools?.includes(a))throw new N(`request`,`Profile ${e.id}: builtInArgs names '${a}', which model '${t}' does not list in builtInTools`);i[a]=o}return i}function ea(e,t,n){let r=Ui(e.profiles.get(t.profile),`resolveTurn`);Fi(r,t),Ii(r,t);let i=zr(t,r),a=i.input??{};Xi(r,i);let o=n??Wi(r,i.model),s=Ee(r,o),c=ii(e.tools,r,i,o),l=c.builtins,u=qi(r,a.slots);Si(r,u),Ci(r,i);let d=$i(r,o,s,i.builtInArgs),f=Yi(r,s);return{profile:r,generation:{model:o,apiId:s.apiId,transport:f,stream:Ji(r),thinking:Gi(r,s,o,i.effort),summaries:Ki(s),maxOutputTokens:s.maxOutputTokens,temperature:s.temperature,builtins:l,builtInArgs:d,sessionId:i.sessionId,tools:c,sessionPermissions:i.sessionPermissions,execution:i.execution,pageExecution:i.pageExecution,history:a.history,maxSteps:r.maxSteps??20,structured:u?{id:u,jsonSchema:e.schemas.get(u).jsonSchema}:null,image:Ei(r),speech:wi(r,i),live:r.type===`live`?Zi(r.live,r.guardrails):void 0,input:Pi(r,i),canary:Qi(r),resolvedSystem:Vi(r,i),host:i.host}}}function ta(e){return e.type===`image`?e.image:null}function na(e,t){let n=Ui(t,`projectProfile`),{identity:r}=n,i=j(n)??null,a=n.type===`live`?null:n.outputs??null;return{id:n.id,type:n.type,handle:r.handle,models:n.models,defaultModel:n.defaultModel,allowModelSelect:n.allowModelSelect,maxSteps:n.maxSteps,tools:hi(e,n),inputs:i,outputs:a,image:ta(n),speech:n.type===`speech`?n.speech:null,live:n.type===`live`?n.live:null}}function ra(e,t){return na(e.tools,e.profiles.get(t))}function ia(e){return e==null}function K(e){return ia(e)||typeof e!=`object`||Array.isArray(e)?null:e}function aa(e){let t=K(e);return!t||t.type!==void 0&&t.type!==`object`?null:t}function oa(e){let t=e.required;return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}function sa(e){let t=e.properties;return K(t)??{}}function ca(e,t){return e?`${e}.${t}`:t}function la(e,t){t.push({path:e,error:`required field '${e}' is missing`})}async function ua(e,t,n,r,i){if(!n)return;let a=await n(t,r);a.isValid||i.push({path:e,error:a.error||a.finding||`Validation failed for '${e}'`})}async function da(e){let{path:t,propSchema:n,child:r,isRequired:i,fields:a,slots:o,failures:s}=e;if(ia(r)){i&&la(t,s);return}await ua(t,r,a?.[t],o,s);let c=aa(n),l=c?K(r):null;c&&l&&await fa(c,l,t,a,o,s)}async function fa(e,t,n,r,i,a){let o=sa(e),s=new Set(oa(e)),c=new Set([...Object.keys(o),...s]),l=K(t);for(let e of c)await da({path:ca(n,e),propSchema:o[e],child:l?.[e],isRequired:s.has(e),fields:r,slots:i,failures:a})}async function pa(e,t,n,r){let i=aa(e);if(!i)throw new N(`config`,`structured validation requires a JSON Schema object root`);let a=[];if(!K(t)){for(let e of oa(i))la(e,a);return a}return await fa(i,t,``,n,r,a),a}function ma(e,t){let n=e;for(let e of t.split(`.`)){let t=aa(n);if(!t)return!1;let r=sa(t);if(!Object.hasOwn(r,e)&&!oa(t).includes(e))return!1;n=r[e]}return!0}function ha(e){return e.map(e=>e.error).join(`; `)}function ga(e,t){let n=e;for(let e of t.split(`.`))n=K(n)?.[e];return n}function _a(e,t,n){let[r,...i]=t.split(`.`),a=K(e)??{};return r===void 0?e:{...a,[r]:i.length?_a(a[r],i.join(`.`),n):n}}async function va(e,t,n){let r=[];for(let[i,a]of Object.entries(t??{})){let t=ga(e,i);if(Array.isArray(t))for(let[e,o]of t.entries()){let t=await a.check(o,n);t.isValid||r.push({path:i,index:e,item:o,reason:t.error||t.finding||`Validation failed for '${i}'`,onFail:a.onFail})}}return r}function ya(e,t){let n=e;for(let e of t.split(`.`)){let t=aa(n);if(!t)return;n=sa(t)[e]}let r=K(n);if(r?.type===`array`)return K(r.items)??void 0}var ba=class extends Error{failure;constructor(e){super(e.message),this.failure=e}},xa=new Set([`text`,`image`,`speech`]),Sa=g().regex(/\S/),Ca=t({mimeType:g(),data:m(),name:g().optional()}),wa=t({mimeType:g(),uri:g(),name:g().optional()}),Ta=t({voice:g().optional(),style:g().optional(),speed:h().positive().optional()});function Ea(e){return t(Object.fromEntries(Object.entries(e).map(([e,t])=>[e,d(t).optional()])))}var Da=new Set([`text`,`attachments`,`voice`,`slots`,`speech`]);function Oa(e,t){if(!e.hostFields)return{sent:t};let n={...t},r={};for(let t of Object.keys(e.hostFields))n[t]!==void 0&&(r[t]=n[t]);let{text:i,attachments:a,voice:o,slots:s,speech:c}=t;return{sent:{text:i,...a?{attachments:a}:{},...o?{voice:o}:{},...s?{slots:s}:{},...c?{speech:c}:{}},hostInput:r}}function ka(e,n){let{inputs:r}=e,a={text:Sa};r?.attachments&&(a.attachments=l(i([Ca,wa])).optional()),r?.voice&&(a.voice=l(Ca).optional()),r?.slots&&(a.slots=Ea(r.slots).optional()),e.type===`speech`&&(a.speech=Ta.optional());for(let e of n?.hostOnly??[]){if(!a[e])throw new N(`config`,`Tool '${n?.name}' keeps '${e}' for the host, which its profile does not take`);delete a[e]}for(let[e,t]of Object.entries(n?.fieldText??{})){let r=a[e];if(!r)throw new N(`config`,`Tool '${n?.name}' describes '${e}', which its profile does not take`);a[e]=r.describe(t)}for(let[e,t]of Object.entries(n?.hostFields??{})){if(Da.has(e))throw new N(`config`,`Tool '${n?.name}' declares the host field '${e}', which is a field of every agent tool`);a[e]=t}return t(a)}var Aa=v({text:g().optional(),structured:n().optional(),removed:l(v({path:g(),reason:g(),item:n()})).optional(),parts:l(b).optional(),sources:l(ue).optional()});function ja(e){return e.type===`speech`||(e.type===`text`||e.type===`image`)&&e.inputs.text!==!1}function Ma(e){return e.type===`builtin`?!1:e.permission!==`auto`||`auth`in e&&e.auth!==void 0&&(e.auth.onUnauthenticated??`gate`)===`gate`}function Na(e,t){if(!xa.has(e.type))return`it is a ${e.type} profile; an agent tool runs a text, image, or speech profile`;if(!ja(e))return`it does not take text`;for(let n of G(e)){let e=t(n);if(!e)return`its tool '${n}' is not registered; register it first`;if(Ma(e))return`its tool '${n}' can stop on a gate; give it permission 'auto' and no sign-in`}}function Pa(e,t,n){let r=`Agent tool "${e.name}"`,i=e.maxCallsPerTurn;if(i!==void 0&&!(Number.isInteger(i)&&i>0))throw new N(`config`,`${r}: maxCallsPerTurn must be a whole number above 0`);let a=t(e.profile);if(!a)throw new N(`config`,`${r}: profile '${e.profile}' must be registered before the tool`);let o=Na(a,n);if(o)throw new N(`config`,`${r} can't run '${e.profile}': ${o}`);return a}function Fa(e){if(!e)return`delegated`;let t=`models`in e&&Object.values(e.models).some(e=>(e.builtInTools?.length??0)>0);return G(e).length===0&&!t?`local`:`delegated`}function Ia(e){let t=oe(e),n=t.flatMap(e=>e.type===`text`?[e.text]:[]).join(``),r=ae(t,e=>e.type===`structured`),i=r?.structured,a=t.flatMap(e=>e.type===`media`?[{type:e.media.mimeType.startsWith(`audio/`)?`audio`:`image`,mimeType:e.media.mimeType,data:e.media.data}]:[]),o=t.flatMap(e=>e.type===`citation`?e.sources:[]);return{...i===void 0?{text:n}:{structured:i},...r?.removed?.length?{removed:r.removed}:{},...a.length>0?{parts:a}:{},...o.length>0?{sources:o}:{}}}function La(e,t,n){return{...e,type:`agent`,input:t,output:Aa,sources:e=>e.sources??[],...n}}var Ra=256,za=18e5,Ba=/^[\x21-\x7E]{1,256}$/;function Va(e=Date.now){let t=new Map,n=new Map;return{get(n){let r=t.get(n);if(r&&(t.delete(n),!(e()-r.usedAt>za)))return t.set(n,{...r,usedAt:e()}),{id:r.id,protocolVersion:r.protocolVersion}},open(r,i){let a=n.get(r);if(a)return a;let o=i().then(n=>{t.delete(r),t.set(r,{...n,usedAt:e()});for(let e of t.keys()){if(t.size<=Ra)break;t.delete(e)}return n}).finally(()=>n.delete(r));return n.set(r,o),o},drop(e,n){t.get(e)?.id===n&&t.delete(e)},clear(){t.clear(),n.clear()}}}function Ha(e){return e!==null&&Ba.test(e)}async function Ua(e,t){let n=JSON.stringify([e,Object.entries(t).map(([e,t])=>[e.toLowerCase(),t]).sort(([e],[t])=>e<t?-1:+(e>t))]),r=await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(n));return[...new Uint8Array(r)].map(e=>e.toString(16).padStart(2,`0`)).join(``)}function Wa(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e))return n.push(`${t}: schema must be an object`),!1;let r=typeof e.type==`string`||Array.isArray(e.type),i=e.anyOf!==void 0||e.oneOf!==void 0;if(!r&&!i){if(t!==`$`)return!0;n.push(`${t}: missing type or combinator`)}return e.type===`array`&&e.items===void 0&&n.push(`${t}: array schema must define items`),!0}function Ga(e,t,n,r){let i=Array.isArray(t)?t:[];for(let t of i)typeof t==`string`&&!Object.hasOwn(e,t)&&r.push(`${n}: required key '${t}' missing from properties`);for(let[t,i]of Object.entries(e))i&&typeof i==`object`&&Ka(i,`${n}.properties.${t}`,r)}function Ka(e,t,n){if(!Wa(e,t,n))return;let r=e.properties;r&&typeof r==`object`&&!Array.isArray(r)&&Ga(r,e.required,t,n),e.items&&typeof e.items==`object`&&!Array.isArray(e.items)&&Ka(e.items,`${t}.items`,n);for(let r of[`anyOf`,`oneOf`]){let i=e[r];Array.isArray(i)&&i.forEach((e,i)=>{e&&typeof e==`object`&&Ka(e,`${t}.${r}[${i}]`,n)})}}function qa(e,t){let n=[];if(Ka(e,`$`,n),n.length>0)throw new N(`config`,`Invalid tool ${t} schema: ${n.join(`; `)}`)}function Ja(e,t=`output`){let n=r(e,{target:`draft-7`,io:t});return delete n.$schema,n.type||=`object`,n}function Ya(e){if(typeof e!=`object`||!e)return e;if(Array.isArray(e))return e.map(Ya);let t={};for(let n of Object.keys(e))n!==`__proto__`&&n!==`constructor`&&n!==`prototype`&&(t[n]=Ya(e[n]));return t}function Xa(e){let t=/^[a-z][a-z0-9+.-]*:\/\/[^/?#]*/i.exec(e)?.[0];if(!t||/[{}]/.test(t))throw new N(`config`,`Endpoint "${e}" must start with a fixed scheme and host; placeholders belong in the path or query`)}var Za=class{value;constructor(e){this.value=e}};function Qa(e){return new Za(e)}function $a(e){return(t,n)=>{let{page:r}=n;if(r&&`output`in r)return Qa(r.output);let{labels:i}=n.profile;throw r?.timedOut?Error(P(`tool.page_timed_out`,{},i)):Error(P(`tool.page_no_answer`,{tool:e},i))}}function eo(e){let t=Ja(e.input,`input`);qa(t,`input`);let n=Ja(e.output,`output`);qa(n,`output`);let r={activity:{input:t},activityPast:{input:t,output:n},activityFailed:{input:t},request:{input:t}};for(let t of[`activity`,`activityPast`,`activityFailed`,`request`]){let n=e.labels?.[t],i=n?Be(n,r[t]):void 0;if(i)throw new N(`config`,`Tool "${e.name}" ${t} label: ${i}`)}return{inputSchema:t,outputSchema:n}}function to(e,t){if(t&&(typeof t.service!=`string`||!t.service.trim()))throw new N(`config`,`Tool "${e}" signs in with slot "${t.slot}" but names no service`)}function no(e,t,n=[]){if(t?.queryParam===void 0)return;let r=t.queryParam.trim()?t.type===`api_key`?t.headerName!==void 0||t.headerPrefix!==void 0?`is set with headerName or headerPrefix; the key goes in one place`:n.includes(t.queryParam)?`"${t.queryParam}" is also one of mapping.queryParams`:void 0:`is set on a '${t.type}' sign-in; only an API key goes in the URL`:`is blank`;if(r)throw new N(`config`,`Tool "${e}" auth.queryParam ${r}`)}function ro(e,t){if(t!==void 0&&!(Number.isInteger(t.requests)&&t.requests>0&&Number.isFinite(t.windowMs)&&t.windowMs>0))throw new N(`config`,`Tool "${e}" limit needs a whole number of requests above 0 and a window above 0 ms`)}function io(e,t){if(!(t===void 0||Number.isFinite(t)&&t>0))throw new N(`config`,`Tool "${e}" timeoutMs needs a finite number of ms above 0`)}function ao(e){return Xa(e.endpoint),to(e.name,e.auth),no(e.name,e.auth,e.mapping?.queryParams),ro(e.name,e.limit),io(e.name,e.timeoutMs),{...e,type:`http`,...eo(e)}}function oo(e){return to(e.name,e.auth),no(e.name,e.auth),{...e,type:`mcp`,...eo(e)}}function so(e){to(e.name,e.auth),no(e.name,e.auth);let t=e.answeredBy===`page`?$a(e.name):e.handler;if(typeof t!=`function`)throw new N(`config`,`Tool '${e.name}' needs a handler, or answeredBy: 'page'`);return{...e,handler:t,type:`function`,...eo(e)}}function co(e,t,n){if(e.type===`builtin`)return e;if(e.type===`agent`){let r=Pa(e,t,n),i=j(r),a=ka({type:r.type,...i?{inputs:i}:{}},e);return La(e,a,eo({...e,input:a,output:Aa}))}return e.type===`http`?ao(e):e.type===`mcp`?oo(e):so(e)}function lo(e=()=>void 0){let t=new Map,n=Va(),r=e=>t.get(e),i=n=>{let i=co(n,e,r);return t.set(i.name,i),i};return{register:i,registerMany:e=>e.map(e=>i(e)),get:r,require(e){let t=r(e);if(!t)throw new N(`config`,`Tool '${e}' is not registered`);return t},has:e=>t.has(e),list:()=>[...t.values()],findProfile:e,reset:()=>{t.clear(),n.clear()},mcpSessions:n}}function uo(e,t,n,r){if(!n.provider?.trim()||!n.apiId?.trim())throw new N(`config`,P(`provider.binding_identity`))}function fo(e){xo(e.id,e.models),Uo(e.id,e.observability),ds(e.id,e.inputs);for(let[t,n]of Object.entries(e.models))Co(e.id,t,n);return{type:`embedding`,id:e.id,identity:{handle:e.identity.handle},models:e.models,defaultModel:So(e.id,e),allowModelSelect:e.allowModelSelect,inputs:e.inputs,guardrails:e.guardrails,observability:e.observability,labels:e.labels}}function po(e,t,n,r){let i=r.safeParse(n);if(!i.success)throw new N(`config`,`Profile ${e} model '${t}': ${i.error.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`; `)}`)}function mo(e,t,n){if(po(e,t,n,de),uo(e,t,n,`decision`),`retry`in n)throw new N(`config`,`Profile ${e} model '${t}': decision retry configuration is unsupported; POSTs are never retried`);if(n.timeoutMs!==void 0&&(!Number.isFinite(n.timeoutMs)||n.timeoutMs<=0))throw new N(`config`,`Profile ${e} model '${t}' timeoutMs must be > 0`)}function ho(e){let t=e.models?Br(e.models):void 0;if(!t)throw new N(`config`,`Profile ${e.id}: type 'decision' must declare exactly one model`);mo(e.id,t,e.models[t])}function go(e){if(e.inputs.state!==`json`)throw new N(`config`,`Profile ${e.id}: decision inputs.state must be 'json'`);let t=e.inputs.maxStateBytes;if(t!==void 0&&!(Number.isInteger(t)&&t>0))throw new N(`config`,`Profile ${e.id}: decision inputs.maxStateBytes must be a positive integer`);if(!e.decision.contract.trim())throw new N(`config`,`Profile ${e.id}: decision.contract must be non-empty`)}function _o(e){return ho(e),go(e),Uo(e.id,e.observability),{...e,identity:{handle:e.identity.handle}}}function vo(e){return e===void 0?{}:{parallel:e}}function yo(e){return bo(e.id,e.tools),Uo(e.id,e.observability),{type:`host`,id:e.id,tools:{allow:e.tools.allow,...vo(e.tools.parallel)},guardrails:e.guardrails,observability:e.observability,labels:e.labels}}function bo(e,t){if(!Array.isArray(t.allow))throw new N(`config`,`Profile ${e}: type 'host' must set tools.allow`)}function xo(e,t){if(Object.keys(t).length===0)throw new N(`config`,`Profile ${e} must declare at least one model`)}function So(e,t){let n=t.defaultModel??Br(t.models);if(!n)throw new N(`config`,`Profile ${e} must set defaultModel when more than one model is declared`);if(!t.models[n])throw new N(`config`,`Profile ${e} defaultModel '${n}' is not declared`);return n}function Co(e,t,n){wo(e,t,n),po(e,t,n,we),wo(e,t,n)}function wo(e,t,n){let r=n.efforts;if(!r||Object.keys(r).length===0){if(n.defaultEffort||n.allowEffortSelect)throw new N(`config`,`Profile ${e} model '${t}': defaultEffort and allowEffortSelect require efforts`);return}for(let[n,i]of Object.entries(r))if(!Oe.includes(i))throw new N(`config`,`Profile ${e} model '${t}' effort '${n}': '${i}' is not a thinking level (${Oe.join(`, `)})`);let i=Object.keys(r),a=n.defaultEffort??(i.length===1?i[0]:void 0);if(!a)throw new N(`config`,`Profile ${e} model '${t}' must set defaultEffort when more than one effort is declared`);if(!r[a])throw new N(`config`,`Profile ${e} model '${t}' defaultEffort '${a}' is not declared`);if(n.allowEffortSelect&&i.length<2)throw new N(`config`,`Profile ${e} model '${t}' allowEffortSelect requires at least two efforts`)}function To(e){return{providerContinuation:e.providerContinuation?pe.parse(e.providerContinuation):{},models:e.models,defaultModel:So(e.id,e),allowModelSelect:e.allowModelSelect,maxSteps:e.maxSteps}}function Eo(e,t,n){if(n?.length){for(let r of n)if(!k(r))throw new N(`config`,`Profile ${e}: turnBehaviour.resumption.${t} may only include ContinueStopKind (length | stream_incomplete | provider_error); got '${r}'`)}}function Do(e,t){t&&(Eo(e,`allowContinue`,t.allowContinue),Eo(e,`autoContinue`,t.autoContinue))}function Oo(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function ko(e,t){let n=[e];for(let e of t)n=n.flatMap(t=>Oo(t)?e===`*`?Object.values(t):[t[e]]:[]);return n}var Ao=Object.entries(y).filter(([,e])=>e.required===!0).map(([e,t])=>[e,t.profileTypes]).sort(([e],[t])=>e.split(`.`).length-t.split(`.`).length);function jo(e){if(!Oo(e))throw new N(`config`,`Profile definition must be an object`);let t=typeof e.id==`string`&&e.id.trim()?e.id:void 0;if(!t)throw new N(`config`,`Profile definition must set id`);if(!Te.find(t=>t===e.type))throw new N(`config`,`Profile ${t}: type must be one of ${Te.join(`, `)}`)}function Mo(e){let t=e.identity?.handle,n=[[`id`,e.id,64],[`identity.handle`,typeof t==`string`?t:``,32]];for(let[t,r,i]of n)if(!(Array.from(r).length<=i))throw new N(`config`,`Profile ${e.id.slice(0,64)}: ${t} must be at most ${i} characters`)}function No(e){let{id:t,type:n}=e,r=e;for(let[e,i]of Ao){if(i&&!i.includes(n))continue;let a=xe(e),o=ko(r,a.slice(0,-1)),s=a[a.length-1];if(o.some(e=>{if(!Oo(e))return!1;let t=e[s];return t==null||t===``}))throw new N(`config`,`Profile ${t}: type '${n}' must set ${a.join(`.`)}`)}}function Po(e){let{id:t,type:n}=e;if(n!==`live`&&ze(`inputs`).includes(n)&&e.inputs==null)throw new N(`config`,`Profile ${t}: type '${n}' must set inputs`)}function Fo(e){let[t]=De(e);if(!t)return;let{offValue:n,reason:r}=t.scope,i=n===void 0?``:` (other than ${n})`;throw new N(`config`,`Profile ${e.id}: type '${e.type}' must not set ${t.path}${i} — ${r}`)}function Io(e,t){let n=t.turnBehaviour;Do(e,n?.resumption)}function Lo(e,t){let n=t=>new N(`config`,`Profile ${e}: ${t}`),r=t?.maxRetries;if(r!==void 0&&(!Number.isInteger(r)||r<0))throw n(`outputs.validation.maxRetries must be a non-negative integer`)}function Ro(e,t){let n=t=>new N(`config`,`Profile ${e}: ${t}`),r=Object.keys(t??{}).find(e=>!zo.includes(e));if(r!==void 0)throw n(`guardrails.${r} is not a setting; it takes ${zo.join(`, `)}`);Vo(t?.blockedReply,n)}var zo=[`quota`,`detect`,`blockedReply`,`network`,`taint`],Bo=[`onBlock`,`maxRetries`];function Vo(e,t){if(e===void 0)return;let n=Object.keys(e).find(e=>!Bo.includes(e));if(n!==void 0)throw t(`guardrails.blockedReply.${n} is not a setting; it takes onBlock and maxRetries`);let{onBlock:r,maxRetries:i}=e;if(r!==void 0&&!x.includes(r))throw t(`guardrails.blockedReply.onBlock must be one of ${x.join(`, `)}`);if(i!==void 0&&(!Number.isInteger(i)||i<0))throw t(`guardrails.blockedReply.maxRetries must be a non-negative integer`)}function Ho(e){let t=e.guardrails?.detect,n=e.type===`host`?Nt(`guardrails.detect`,t,It):Nt(`guardrails.detect`,t);if(n!==void 0)throw new N(`config`,`Profile ${e.id}: ${n}`)}function Uo(e,t){try{let n=Bt(t);if(!Number.isFinite(n.retainForDays))throw new N(`config`,`Profile ${e}: observability.retainForDays must be a finite number`);if(n.rotateAfterMiB<=0||!Number.isFinite(n.rotateAfterMiB))throw new N(`config`,`Profile ${e}: observability.rotateAfterMiB must be a positive number`)}catch(t){if(t instanceof N&&t.message.startsWith(`Profile `))throw t;let n=t instanceof Error?t.message:String(t);throw new N(`config`,`Profile ${e}: ${n}`)}}function Wo(e){if(e.type===`host`||e.type===`decision`||e.type===`speech`||e.type===`embedding`)return;let{system:t,systemByRole:n}=e.identity;t!==void 0&&xr(t,`Profile ${e.id} identity.system`);for(let[t,r]of Object.entries(n??{}))xr(r,`Profile ${e.id} identity.systemByRole.${t}`)}function Go(e){jo(e);for(let t of[`key`,`fallbackKey`,`protocol`,`provider`])if(t in e)throw new N(`config`,P(`provider.profile_configuration`,{profile:e.id,field:t}));if(Fo(e),Po(e),No(e),Mo(e),e.labels&&ut(e.labels,`Profile ${e.id}`),Wo(e),Ho(e),e.type===`host`)return yo(e);if(e.type===`decision`)return _o(e);if(e.type===`embedding`)return fo(e);xo(e.id,e.models),Io(e.id,e),Ro(e.id,e.guardrails),e.type===`text`&&Lo(e.id,e.outputs?.validation),Uo(e.id,e.observability);for(let[t,n]of Object.entries(e.models))Co(e.id,t,n);let t=e.type===`speech`?{handle:e.identity.handle}:{handle:e.identity.handle,system:e.identity.system,systemByRole:e.identity.systemByRole},n=e.guardrails,r=e.observability,i=e.labels,a=To(e),o;switch(e.type){case`text`:o={type:`text`,id:e.id,identity:t,...a,tools:e.tools,inputs:e.inputs,outputs:e.outputs,turnBehaviour:e.turnBehaviour,guardrails:n,observability:r,labels:i};break;case`image`:o={type:`image`,id:e.id,identity:t,...a,image:e.image,tools:e.tools,inputs:e.inputs,outputs:e.outputs,turnBehaviour:e.turnBehaviour,guardrails:n,observability:r,labels:i},Zo(o.id,o.inputs.attachments?.accept),Xo(o.id,o.image);break;case`speech`:o={type:`speech`,id:e.id,identity:t,...a,speech:e.speech,outputs:e.outputs,turnBehaviour:e.turnBehaviour,guardrails:n,observability:r,labels:i};break;case`live`:o={type:`live`,id:e.id,identity:t,...a,live:e.live,inputs:e.inputs,tools:{allow:e.tools.allow,...vo(e.tools.parallel)},turnBehaviour:e.turnBehaviour,guardrails:n,observability:r,labels:i},Vt(o),$o(o.id,o.live.contextCompression),Qo(o);break;default:throw new N(`config`,`Unknown profile type '${String(e)}'`)}return Jo(o),Ko(o),qo(o),o}function Ko(e){let{maxSteps:t}=e;if(!(t===void 0||Number.isInteger(t)&&t>0))throw new N(`config`,`Profile ${e.id}: maxSteps must be a whole number of 1 or more; leave it out for the default of 20`)}function qo(e){if(e.type===`text`&&e.turnBehaviour?.atStepLimit===`answer`&&e.maxSteps===1)throw new N(`config`,`Profile ${e.id}: turnBehaviour.atStepLimit 'answer' with maxSteps 1 leaves no step that can call a tool`)}function Jo(e){if(e.type===`live`)return;let t=e.outputs?.structured;if(!t||typeof t==`string`)return;let n=j(e)?.slots?.[t.by];if(!n)throw new N(`config`,`Profile ${e.id}: outputs.structured.by '${t.by}' is not a slot in inputs.slots`);let r=Object.keys(t.map).filter(e=>!n.includes(e));if(r.length)throw new N(`config`,`Profile ${e.id}: outputs.structured.map maps ${r.join(`, `)}, not a choice of slot '${t.by}'`)}var Yo={n:{ok:e=>Number.isInteger(e)&&e>=1,rule:`a whole number of 1 or more`},seed:{ok:Number.isInteger,rule:`a whole number`},outputCompression:{ok:e=>Number.isInteger(e)&&e>=0&&e<=100,rule:`a whole number from 0 to 100`}};function Xo(e,t){for(let[n,{ok:r,rule:i}]of Object.entries(Yo)){let a=t[n];if(a!==void 0&&!r(a))throw new N(`config`,`Profile ${e}: image.${n} must be ${i}`)}t.references?.forEach((t,n)=>{let r=`Profile ${e}: image.references[${n}]`;if(Se(t.mimeType)!==`image`)throw new N(`config`,`${r} must be an image, not '${t.mimeType}'`);if(!(W(t)?t.uri:t.data))throw new N(`config`,`${r} needs its bytes or its uri`)})}function Zo(e,t){let n=t?.filter(e=>!M(te,e));if(n?.length)throw new N(`config`,`Profile ${e}: an image profile's attachments take images, video, and PDF only, not ${n.join(`, `)}`)}function Qo(e){let{greeting:t,resumed:n,sessionResumption:r}=e.live,i=`Profile ${e.id} live`;if(t!==void 0&&(typeof t!=`string`||!t.trim()))throw new N(`config`,`${i}.greeting must be a prompt; leave it out to wait`);if(!n)return;if(typeof n.prompt!=`string`||!n.prompt.trim())throw new N(`config`,`${i}.resumed.prompt must be a prompt`);let{afterMs:a}=n;if(a!==void 0&&!(Number.isFinite(a)&&a>=0))throw new N(`config`,`${i}.resumed.afterMs must be 0 or more milliseconds`);if(!r)throw new N(`config`,`${i}.resumed needs live.sessionResumption: without it no call resumes`)}function $o(e,t){if(!t)return;let n=`Profile ${e} live.contextCompression`,r=t.triggerTokens,i=t.slidingWindow.targetTokens;if(es(`${n}.triggerTokens`,r),es(`${n}.slidingWindow.targetTokens`,i),r!==void 0&&i!==void 0&&i>=r)throw new N(`config`,`${n}: slidingWindow.targetTokens must be below triggerTokens`)}function es(e,t){if(!(t===void 0||Number.isInteger(t)&&t>0))throw new N(`config`,`${e} must be a whole number above 0`)}function ts(e,t,n,r){let i=`Profile ${t.id} model ${n} compaction`;if(ns(i,r),rs(i,r),r.meter!=null&&r.meter!==`history`&&r.meter!==`input`)throw new N(`config`,`${i}: meter must be 'history' or 'input'`);if(r.profile===void 0){if(t.type!==`text`||t.inputs.text===!1)throw new N(`config`,`${i}: a profile that compacts itself must be a text profile that takes text`);return}let a=e.get(r.profile);if(!a)throw new N(`config`,`${i}: compaction profile '${r.profile}' must be registered before '${t.id}'`);if(a.type!==`text`||a.inputs.text===!1)throw new N(`config`,`${i}: compaction profile '${r.profile}' must be a text profile that takes text`)}function ns(e,t){if(t.maxTokens<=0)throw new N(`config`,`${e}: maxTokens must be > 0`);if(t.compactAt<=0||t.compactAt>=1)throw new N(`config`,`${e}: compactAt must be in (0, 1)`)}function rs(e,t){if(t.previousExchanges<0)throw new N(`config`,`${e}: previousExchanges must be >= 0`);if(t.previousExchanges<1&&t.previousExchanges>=t.compactAt)throw new N(`config`,`${e}: previousExchanges as fraction (${t.previousExchanges}) must be < compactAt (${t.compactAt})`);if(t.previousExchanges>1&&!Number.isInteger(t.previousExchanges))throw new N(`config`,`${e}: previousExchanges >= 1 must be an integer`)}function is(e,t){for(let n of G(t))if(e.get(n)?.type===`builtin`)throw new N(`config`,t.type===`host`?`Profile ${t.id} lists builtin '${n}' in tools.allow — type 'host' never runs a model`:`Profile ${t.id} lists builtin '${n}' in tools.allow — declare it on models.*.builtInTools instead`)}function as(e,t){let n=Jr(t)?.t2Loader;if(n){if(!G(t).includes(n))throw new N(`config`,`Profile ${t.id} tools.t2Loader '${n}' must also be listed in tools.allow`);if(e.get(n)?.type!==`function`)throw new N(`config`,`Profile ${t.id} tools.t2Loader '${n}' must be a registered type: 'function' tool`)}}function*os(e){for(let[t,n]of Object.entries(e.models))for(let e of n.builtInTools??[])yield{modelId:t,id:e}}function ss(e,t){for(let{modelId:n,id:r}of os(t))if(e.get(r)?.type!==`builtin`)throw new N(`config`,`Profile ${t.id} model '${n}' lists '${r}' in builtInTools — not a registered builtin`)}function cs(e){let t=e.type===`text`?e.outputs?.structured:void 0;return t?typeof t==`string`?[t]:[...new Set([...Object.values(t.map),t.fallback])]:[]}function ls(e,t){let n=cs(t).map(n=>{let r=e.find(n);if(!r)throw new N(`config`,`Profile ${t.id}: outputs.structured names '${n}', which is not a registered schema; register it before the profile`);return r}),r=t.type===`text`?t.outputs?.validation:void 0,i=Object.keys(r?.fields??{}),a=Object.keys(r?.items??{});if(!i.length&&!a.length)return;if(!n.length)throw new N(`config`,`Profile ${t.id}: outputs.validation checks a structured reply, so it needs outputs.structured`);let o=a.filter(e=>!n.some(t=>ya(t.jsonSchema,e)));if(o.length)throw new N(`config`,`Profile ${t.id}: outputs.validation.items has ${o.join(`, `)}, which no structured schema reaches as a list with an items schema`);let s=i.filter(e=>!n.some(t=>ma(t.jsonSchema,e)));if(s.length)throw new N(`config`,`Profile ${t.id}: outputs.validation.fields has ${s.join(`, `)}, which no structured schema reaches through object properties`)}function us(e){let t=j(e)?.context;if(!t)return;let n=A;if(t.from.length===0||t.from.some(e=>!n.includes(e)))throw new N(`config`,`Profile ${e.id}: inputs.context.from must list ${A.join(` or `)}`);if(!(Number.isInteger(t.maxChars)&&t.maxChars>0))throw new N(`config`,`Profile ${e.id}: inputs.context.maxChars must be a positive integer`)}function ds(e,t){if(!t)return;let{attachments:n,voice:r,maxFiles:i,maxBytes:a,maxTurnBytes:o,limitsByMime:s}=t,c={maxFiles:i,maxBytes:a,maxTurnBytes:o};if((n||r)&&Object.values(c).some(e=>e===void 0))throw new N(`config`,`Profile ${e} must set maxFiles, maxBytes, and maxTurnBytes`);for(let[e,t]of Object.entries(s??{}))c[`limitsByMime['${e}']`]=t;for(let[t,n]of Object.entries(c))if(n!==void 0&&!(Number.isInteger(n)&&n>0))throw new N(`config`,`Profile ${e}: inputs.${t} must be a positive integer`)}function fs(e,t,n){let r=new Map,i=i=>{let a=Go(i),o=n&&a.type!==`host`?{...a,models:Object.fromEntries(Object.entries(a.models).map(([e,t])=>[e,be(n.require(t.provider,t.apiId),t,a.type)]))}:a;if(is(e,o),as(e,o),o.type!==`host`&&o.type!==`decision`&&o.type!==`embedding`){ss(e,o),ds(o.id,j(o)),us(o),ls(t,o);for(let[e,t]of Object.entries(o.models))t.compaction&&ts(r,o,e,t.compaction)}r.set(o.id,o)};return{register:i,registerMany(e){for(let t of e)i(t)},get(e){let t=r.get(e);if(!t)throw new N(`config`,`Unknown profile '${e}'`);return t},find:e=>r.get(e),has:e=>r.has(e),list:()=>[...r.values()],clear:()=>r.clear()}}var ps=`https://generativelanguage.googleapis.com/v1beta/models`;function ms(e){let t=e?.trim()??``;if(t.startsWith(`AIza`))return`gemini`;if(t.startsWith(`sk-or-`))return`openrouter`}function hs(e){let t;try{t=new URL(e.baseUrl)}catch{throw new N(`config`,`Enter a valid localhost URL.`)}if(![`http:`,`https:`].includes(t.protocol)||![`localhost`,`127.0.0.1`,`[::1]`].includes(t.hostname)||t.username||t.password||t.search||t.hash)throw new N(`config`,`Use a localhost URL without credentials, query parameters or a fragment.`);return{baseUrl:t.href.replace(/\/$/,``),fetch:(e,n)=>new URL(e instanceof Request?e.url:String(e)).origin===t.origin?fetch(e,{...n,redirect:`error`,credentials:`omit`}):Promise.reject(new N(`blocked`,`Local requests must stay on the configured origin.`))}}var gs=v({data:l(v({id:g().min(1)}))});async function _s(e,t){let n=hs(e);if(!n?.fetch)throw new N(`config`,`Enter a local endpoint.`);let r=await n.fetch(`${n.baseUrl}/v1/models`,{signal:t,headers:{Accept:`application/json`}});if(!r.ok)throw new N(`network`,`Local model list returned HTTP ${r.status}.`);let i=gs.safeParse(await r.json());if(!i.success)throw new N(`request`,`The endpoint returned an invalid model list.`);return[...new Set(i.data.data.map(e=>e.id))]}var vs=`https://openrouter.ai/api/v1/models`,ys=`https://openrouter.ai/api/v1/embeddings/models`,bs=[{id:`gemini-embedding-2-preview`,label:`Gemini Embeddings 2 (preview)`},{id:`gemini-embedding-001`,label:`Gemini Embedding 001`}],xs=[{id:`liquid/lfm-2.5-embedding-350m:free`,label:`Liquid LFM 2.5 Embedding 350M (free)`},{id:`nvidia/nemotron-3-embed-1b:free`,label:`NVIDIA Nemotron 3 Embed 1B (free)`},{id:`nvidia/llama-nemotron-embed-vl-1b-v2:free`,label:`NVIDIA Llama Nemotron Embed VL 1B v2 (free)`}],Ss={text:`text`,image:`image`,speech:`speech`,live:void 0,embedding:void 0},Cs=v({data:l(v({id:g().min(1),name:g().optional(),architecture:v({output_modalities:l(g()).optional()}).optional()}))}),ws=v({data:l(v({id:g().min(1),name:g().optional()}))}),Ts=v({models:l(v({name:g().min(1),displayName:g().optional(),supportedGenerationMethods:l(g()).optional()})).optional(),nextPageToken:g().optional()}),Es=5;async function Ds(e,t,n){let r=await fetch(t,{...n,redirect:`error`,credentials:`omit`});if(r.status===400||r.status===401||r.status===403)throw new N(`auth`,`${e} refused the key.`);if(!r.ok)throw new N(`network`,`${e} model list returned HTTP ${r.status}.`);return await r.json()}async function Os(e,t,n,r){let i=n?.trim();if(t===`embedding`&&!i)return[...e===`openrouter`?xs:bs];if(e===`openrouter`)return await ks(t,i,r);if(!i)throw new N(`auth`,`Choose a key to list Gemini models.`);return await js(t,i,r)}async function ks(e,t,n){let r={signal:n,headers:{Accept:`application/json`,...t?{Authorization:[`Bearer`,t].join(` `)}:{}}};if(e===`embedding`){let e=ws.safeParse(await Ds(`OpenRouter`,ys,r));if(!e.success)throw new N(`bad_response`,`OpenRouter returned an invalid embedding model list.`);return e.data.data.map(e=>({id:e.id,label:e.name??e.id}))}let i=Ss[e];if(!i)return[];let a=Cs.safeParse(await Ds(`OpenRouter`,`${vs}?output_modalities=${i}`,r));if(!a.success)throw new N(`bad_response`,`OpenRouter returned an invalid model list.`);return a.data.data.filter(e=>e.architecture?.output_modalities?.includes(i)??!0).map(e=>({id:e.id,label:e.name??e.id}))}var As={live:`bidiGenerateContent`,embedding:`embedContent`};async function js(e,t,n){let r=As[e]??`generateContent`,i=[],a;for(let e=0;e<Es;e++){let e=new URL(ps);e.searchParams.set(`pageSize`,`1000`),a&&e.searchParams.set(`pageToken`,a);let o=Ts.safeParse(await Ds(`Google`,e.href,{signal:n,headers:{Accept:`application/json`,"x-goog-api-key":t}}));if(!o.success)throw new N(`bad_response`,`Google returned an invalid model list.`);for(let e of o.data.models??[]){if(!e.supportedGenerationMethods?.includes(r))continue;let t=e.name.replace(/^models\//,``);i.push({id:t,label:e.displayName??t})}if(a=o.data.nextPageToken,!a)break}return i}function Ms(e){return[...new Set([e.key,e.fallbackKey,...Object.values(e.models??{}).flatMap(e=>[e.keySlot,e.fallbackKeySlot])].filter(e=>!!e))]}function Ns(e,t){return Object.fromEntries(e.map(e=>[e,Object.hasOwn(t,e)?t[e]:void 0]))}var Ps=[`audio/webm;codecs=opus`,`audio/webm`,`audio/mp4`,`audio/wav`,`audio/mpeg`];function Fs(e){return e.join(`,`)}function Is(e){let t=e?.attachments?.accept,n=e?.voice?.accept;return{text:e?.text!==!1,attachments:t?.length?{accept:t,acceptAttr:Fs(t)}:null,voice:n?.length?{accept:n}:null,maxFiles:e?.maxFiles,maxBytes:e?.maxBytes,maxTurnBytes:e?.maxTurnBytes,limitsByMime:e?.limitsByMime,slots:e?.slots,context:e?.context}}function Ls(e){return{text:e.text,attachments:e.attachments?{accept:e.attachments.accept}:void 0,voice:e.voice?{accept:e.voice.accept}:void 0,maxFiles:e.maxFiles,maxBytes:e.maxBytes,maxTurnBytes:e.maxTurnBytes,limitsByMime:e.limitsByMime,slots:e.slots,context:e.context}}function Rs(e,t){let n=e=>(e??[]).map(({name:e,mimeType:t,sizeBytes:n})=>({name:e,mimeType:t,sizeBytes:n})),r=sr({attachments:e.attachments?.accept,voice:e.voice?.accept,limits:Zn(Ls(e))},n(t.attachments),n(t.voice));return{ok:r.length===0,issues:r}}function zs(e){let t=globalThis.MediaRecorder;if(t===void 0)return;let n=e=>t.isTypeSupported(e),r=e=>e.find(n);return e?.length?r(Ps.filter(t=>M(e,t)))??e.find(n):r(Ps)}var Bs=v({protocol:g(),provider:g(),apiId:g(),options:_(g(),u()).optional(),keySlot:g().optional(),fallbackKeySlot:g().optional(),efforts:_(g(),d(Oe)).optional(),defaultEffort:g().optional(),allowEffortSelect:o().optional(),summaries:o().optional(),maxOutputTokens:h().optional(),temperature:h().optional(),builtInTools:l(g()).optional(),compaction:v({maxTokens:h(),compactAt:h(),previousExchanges:h(),profile:g().optional(),timing:d(he),meter:d(O).optional()}).optional()}),Vs=v({structured:i([g(),v({by:g(),map:_(g(),g()),fallback:g()}),p()]).optional(),streaming:v({mode:d(Pe).optional(),streamThoughts:o().optional()}).optional()}),Hs=v(Xe(ht,()=>d(We))),Us=v(Xe(rt,()=>Hs)),Ws=v({id:g(),label:g(),actions:Hs,names:l(g()),find:o()}),Gs=v({hosts:l(g()),fromTools:o()}),Ks=v({quota:v({perDay:h()}).optional(),detect:Us,patterns:a(d(rt),v({theorem:o(),names:l(g())})).optional(),host:l(Ws).optional(),allow:v({ungiven_images:Gs,ungiven_links:Gs}),blockedReply:v({onBlock:d(x),maxRetries:h()})}),qs=i([o(),v({theorem:o(),host:o()})]),Js=v({record:o(),writeTo:i([c(!1),g()]).optional(),sampleRate:h(),include:v({upstreamLog:o(),outboundWire:o(),evidenceRaw:o(),usage:o(),guardrailDecisions:o(),guardrailMatchPreview:o()}),scrub:v({sensitive:qs,injection:qs,canary:qs}),resource:Ut,retainForDays:h(),rotateAfterMiB:h(),hasOnWriteError:o()}),Ys=v({text:o(),attachments:v({accept:l(g()),acceptAttr:g()}).nullable(),voice:v({accept:l(g())}).nullable(),maxFiles:h().optional(),maxBytes:h().optional(),maxTurnBytes:h().optional(),limitsByMime:_(g(),h()).optional(),slots:_(g(),l(g())).optional(),context:v({from:l(d(A)),maxChars:h()}).optional()}),Xs=v({allowContinue:l(d(D)).optional(),autoContinue:l(d(D)).optional(),maxContinues:h().optional()}),Zs=v({resumption:Xs.optional()}),Qs=v({allow:l(g()),page:l(g()),t2Loader:g().optional(),parallel:o().optional()}),$s={providerContinuation:v({history:d([`host`,`stateless`,`provider`]).optional()}).optional(),id:g(),models:_(g(),Bs),defaultModel:g(),allowModelSelect:o().optional(),maxSteps:h().optional(),labels:a(d(ft),g()),guardrails:Ks.optional(),observability:Js.optional()},ec=i([g(),l(i([g(),t({private:g().min(1)})])).min(1).readonly()]),tc=v({handle:g(),system:ec.optional(),systemByRole:_(g(),ec).optional()}),q=f(`type`,[v({...$s,type:c(`text`),identity:tc,outputs:Vs.optional(),inputs:Ys,tools:Qs,turnBehaviour:v({resumption:Xs.optional(),allowSteering:o().optional(),atStepLimit:d(je).optional()}).optional(),canStop:c(!0),allowSteering:o()}),v({...$s,type:c(`image`),identity:tc,outputs:Vs.optional(),image:v({aspectRatio:g().optional(),resolution:g().optional(),mimeType:g().optional(),quality:g().optional(),background:g().optional(),n:h().int().min(1).optional(),seed:h().int().optional(),outputCompression:h().int().min(0).max(100).optional(),references:l(i([v({mimeType:g(),data:g(),name:g().optional()}),v({mimeType:g(),uri:g(),name:g().optional()})])).optional(),includeText:o().optional()}),inputs:Ys,tools:Qs,turnBehaviour:Zs.optional(),canStop:c(!0)}),v({...$s,type:c(`speech`),identity:v({handle:g()}),outputs:Vs.optional(),speech:v({voice:g().optional(),style:g().optional(),speed:h().optional(),format:d(Le).optional()}),inputs:Ys,turnBehaviour:Zs.optional(),canStop:c(!0)}),v({...$s,type:c(`live`),identity:tc,inputs:Ys.pick({slots:!0,context:!0}).optional(),live:v({ingress:v({audio:o().optional(),video:o().optional(),text:o().optional()}).optional(),voice:g().optional(),vad:v({activityHandling:d(ve).optional(),startSensitivity:d(ye).optional(),endSensitivity:d(_e).optional(),prefixPaddingMs:h().optional(),silenceDurationMs:h().optional()}).optional(),sessionResumption:o().optional(),contextCompression:v({triggerTokens:h().optional(),slidingWindow:v({targetTokens:h().optional()})}).optional(),transcription:v({input:o().optional(),output:o().optional()}).optional()}),tools:Qs.pick({allow:!0,page:!0}),turnBehaviour:v({allowSteering:o().optional()}).optional()})]);function nc(e){let t=Ae(e),{sources:n,host:r,...i}=t.detect;return{quota:t.quota,detect:i,...n?{patterns:Object.fromEntries(Object.entries(n).map(([e,{theorem:t,matchers:n}])=>[e,{theorem:t,names:n.map(({name:e})=>e)}]))}:{},...r?{host:r.map(({id:e,label:t,actions:n,matchers:r,find:i})=>({id:e,label:t,actions:n,names:r.map(({name:e})=>e),find:!!i}))}:{},allow:{ungiven_images:rc(t.allow.ungiven_images),ungiven_links:rc(t.allow.ungiven_links)},blockedReply:t.blockedReply}}function rc(e){return{hosts:[...e.hosts??[]],fromTools:e.fromTools??!0}}function ic(e){return e===void 0||e===!1||typeof e==`string`?e:`custom`}function ac(e){if(!e)return;let t=Bt(e);return{record:t.record,writeTo:ic(t.writeTo),sampleRate:t.sampleRate,include:t.include,scrub:t.scrub,resource:t.resource,retainForDays:t.retainForDays,rotateAfterMiB:t.rotateAfterMiB,hasOnWriteError:!!t.onWriteError}}function oc(e){let{greeting:t,resumed:n,...r}=e??{};return r}function sc(e,t){let n=e.tools.filter(e=>`type`in e&&e.type===`function`&&e.answeredBy===`page`).map(e=>e.name);if(t){let e=Jr(t),r=Yr(t);return{allow:[...G(t)],page:n,...e?.t2Loader?{t2Loader:e.t2Loader}:{},...r===void 0?{}:{parallel:r}}}return{allow:e.tools.filter(e=>!(`type`in e&&e.type===`builtin`)).map(e=>e.name),page:n}}function cc({allow:e,page:t}){return{allow:e,page:t}}function lc(e,t){let n=Is(e.inputs),r=t?.identity??{handle:e.handle},i=t?nc(t.guardrails):void 0,a=t?ac(t.observability):void 0,o=e.outputs??void 0,s={id:e.id,identity:r,models:e.models,defaultModel:e.defaultModel,allowModelSelect:e.allowModelSelect,maxSteps:e.maxSteps,providerContinuation:e.providerContinuation,outputs:o,guardrails:i,observability:a,labels:Ke(t?.labels)};switch(e.type){case`text`:return q.parse({...s,type:`text`,inputs:n,tools:sc(e,t),turnBehaviour:t?.type===`text`?t.turnBehaviour:void 0,canStop:!0,allowSteering:!t||ne(t)});case`image`:return q.parse({...s,type:`image`,image:e.image??{},inputs:n,tools:sc(e,t),turnBehaviour:t?.type===`image`?t.turnBehaviour:void 0,canStop:!0});case`speech`:return q.parse({...s,type:`speech`,speech:e.speech??{},inputs:n,turnBehaviour:t?.type===`speech`?t.turnBehaviour:void 0,canStop:!0});case`live`:return q.parse({...s,type:`live`,live:oc(e.live),...e.inputs?{inputs:{slots:n.slots,context:n.context}}:{},tools:cc(sc(e,t))});default:return e.type}}function uc(e,t){let n=Ui(e,`interfaceFromProfile`);return lc(na(t,n),n)}function dc(e){return s(t=>re.safeParse(e(t)).success)}var fc=[`running`,`gate`,`complete`,`error`,`cancel`],pc=s(e=>{let t=re.safeParse({type:`tool`,tool:e});if(!t.success||t.data.type!==`tool`||!(`phase`in t.data.tool))return!1;let{phase:n}=t.data.tool;return fc.some(e=>e===n)}),mc=_(g(),n()),hc=v({operationId:g().optional(),name:g(),callId:g(),arguments:mc,draft:g().optional(),reasoning:l(ce).optional(),stepId:g().optional(),edited:v({from:mc,to:mc}).optional(),activity:g().optional(),activityPast:g().optional(),outputDraft:g().optional(),state:pc.optional(),startedAt:h().optional(),endedAt:h().optional(),artifacts:l(n())}),gc=v({kind:d(Ce),native:g().optional()}),J={id:g()},Y=f(`kind`,[v({...J,kind:c(`user-text`),text:g()}),v({...J,kind:d([`user-attachment`,`user-voice`]),name:g(),mimeType:g(),sizeBytes:h(),data:g().optional()}),v({...J,kind:c(`thought`),text:g()}),v({...J,kind:c(`text`),text:g()}),v({...J,kind:c(`tool`),tool:hc}),v({...J,kind:c(`structured`),value:n(),draft:g().optional()}),v({...J,kind:c(`media`),mimeType:g(),data:g().optional(),url:g().optional(),previewUrl:g().optional()}),v({...J,kind:c(`grounding`),grounding:dc(e=>({type:`grounding`,grounding:e}))}),v({...J,kind:c(`citation`),sources:dc(e=>({type:`citation`,sources:e})),callId:g().optional()}),v({...J,kind:c(`evidence`),evidence:dc(e=>({type:`evidence`,evidence:e}))}),v({...J,kind:c(`guardrail`),guardrail:C}),v({...J,kind:c(`error`),message:g()}),v({...J,kind:c(`turn-done`),stop:gc.optional(),tokens:dc(e=>({type:`tokens`,tokens:e})).optional(),interactionId:g().optional(),compaction:o().optional(),workedMs:h().optional(),endedAt:h().optional()})]),_c=v({type:g()});function vc(e,t){return Object.hasOwn(e,t)}function yc(e,t){return e.map(e=>{let n=[...t,...e.path],r=`${n.map(String).join(`.`)||`(root)`} ${e.code}`;return e.code!==`invalid_union`||e.errors.length===0?r:`${r} [${e.errors.map(e=>yc(e,n)).join(` | `)}]`}).join(`; `)}function bc(e){return yc(e.issues,[])}function xc(e,t){return new N(`bad_response`,`${e} failed its wire check: ${bc(t)}`)}function X(e,t,n){let r=e.safeParse(t);if(!r.success)throw xc(n,r.error);return r.data}function Sc(e){return{type:`malformed`,error:new N(`bad_response`,e,{copy:{key:`session.part_skipped`}})}}function Cc(e,t){let n=_c.safeParse(t);if(!n.success)return Sc(`a line without a kind failed its wire check: ${bc(n.error)}`);let{type:r}=n.data;if(!vc(e,r))return{type:`unsupported`,received:r,raw:t};let i=e[r].safeParse(t);return i.success?i.data:Sc(`a '${r}' line failed its wire check: ${bc(i.error)}`)}function wc(e){try{return{value:JSON.parse(e)}}catch(e){if(e instanceof SyntaxError)return;throw e}}function Tc(e,t){let n=wc(t);return n?Cc(e,n.value):Sc(`a line is not JSON`)}function Ec(e){let t=wc(e);if(!t)throw new N(`bad_response`,`a line is not JSON`);return t.value}var Dc=v({name:g(),mimeType:g(),data:g()}),Oc=v({slots:_(g(),g()).optional(),context:n().optional(),text:g().optional(),attachments:l(Dc).optional(),voice:l(Dc).optional()}),kc=v({gateKind:d(Ie).optional(),sessionPermissions:l(g()).optional(),name:g().optional(),input:n().optional(),snapshot:S.optional(),promoted:l(g()).optional(),model:g().optional(),effort:g().optional()}),Z=g().trim().min(1);v({input:Oc,conversation:g().min(1).optional(),model:g().optional(),effort:g().optional(),turnId:Z.optional(),abandon:l(ke).min(1).optional(),replay:kc.pick({sessionPermissions:!0}).optional(),transcript:l(Y).optional()});var Ac=[`approve`,`deny`],jc=i([t({unanswered:c(!0)}),t({output:n()}).refine(e=>`output`in e).transform(e=>({output:e.output}))]);v({gateId:g().min(1),operationId:g().min(1).max(256),decision:d(Ac),input:n().optional(),secret:g().optional(),page:jc.optional(),conversation:g().min(1).optional(),turnId:Z.optional(),replay:kc.optional()}),v({turnId:Z,id:Z,inject:l(fe).min(1)}),v({turnId:Z});var Mc=v({type:c(`conversation`),ref:g().min(1),posted:c(!0).optional()}),Nc={...le,conversation:Mc},Pc=v({transcript:l(Y),paused:v({events:l(re),blocks:l(Y)}).optional()});v({conversation:g().min(1)}),v({conversation:g().min(1),at:h().int().min(-1)}),v({blocks:l(Y)});var Fc=v({conversation:g().min(1),view:Pc}),Ic=class extends Error{kind;publicMessage;internalMessage;copy;constructor(e,t,n,r){super(n??t??e),this.name=`TheoremStreamError`,this.kind=e,t&&(this.publicMessage=t),n&&(this.internalMessage=n),r&&(this.copy=r)}};function Lc(e){return e instanceof Ic}function Rc(e){return e?.trim()||void 0}var zc=v({error:g().optional(),errorKind:w.optional(),errorCopy:me.optional(),errorInternal:g().optional()}),Bc=zc;function Vc(e,t){let n=Rc(e.error),r=Rc(e.errorInternal);return new Ic(e.errorKind??t,n,r&&r!==n?r:void 0,e.errorCopy)}function Hc(e){return!Lc(e)||e.copy===void 0?!1:(Array.isArray(e.copy)?e.copy:[e.copy]).some(e=>e.key===`session.conversation_unknown`)}function Uc(e,t){let n=Tc(e,t);if(n.type===`error`)throw Vc(zc.parse(n),`internal`);return n}function Wc(e,t,n){let r=e.split(`
|
|
7
|
-
`),i=r.pop()??``;for(let e of r)e.trim()&&n(Uc(t,e));return i}async function Gc(e,t,n,r){if(!e.body)throw new N(`bad_response`,`stream reply has no body`);let i=e.body.getReader(),a=new TextDecoder,o=``,s=()=>{i.cancel()};r?.addEventListener(`abort`,s,{once:!0});try{for(;;){Ve(r);let{done:e,value:s}=await i.read();if(e)break;o=Wc(o+a.decode(s,{stream:!0}),t,n)}let e=o.trim();e&&n(Uc(t,e))}finally{r?.removeEventListener(`abort`,s)}}async function Kc(e){let t=typeof e.headers==`function`?await e.headers():e.headers,n=new Headers(t);return n.set(`content-type`,`application/json`),n}async function qc(e,t){let n=await e.text(),r;try{r=JSON.parse(n),t?.(r)}catch{return Vc({errorInternal:`HTTP ${String(e.status)}`},ie(e.status))}let i=zc.safeParse(r);return i.success?Vc({...i.data,errorInternal:i.data.errorInternal??`HTTP ${String(e.status)}`},ie(e.status)):new N(`bad_response`,`HTTP ${String(e.status)} error body failed its wire check`)}async function Jc(e,t,n){let r=n.fetch??globalThis.fetch.bind(globalThis);try{return await r(e,{...t,headers:await Kc(n),credentials:n.credentials??`same-origin`})}catch(e){throw T(e)?e:new N(`network`,se(e),{cause:e})}}async function Yc(e,t,n,r,i={}){await Gc(await Xc(e,t,i),n,r,i.signal)}async function Xc(e,t,n){let r=await Jc(e,{method:`POST`,body:JSON.stringify(t),signal:n.signal},n);if(!r.ok)throw await qc(r);return r}async function Zc(e,t,n={}){await Xc(e,t,n)}async function Q(e,t,n={}){let r=await Jc(e,{...t.body===void 0?{method:`GET`}:{method:`POST`,body:JSON.stringify(t.body)},signal:t.signal},n);if(!r.ok)throw await qc(r,t.failed);return Ec(await r.text())}async function Qc(e,t,n={}){let{signal:r,...i}=n;return X(Pc,await Q(e,{body:t,signal:r},i),`the conversation`)}async function $c(e,t,n,r){let{signal:i,...a}=n;return X(Fc,await Q(e,{body:t,signal:i},a),r)}function el(e,t,n={}){return $c(e,t,n,`the rewound conversation`)}function tl(e,t,n={}){return $c(e,t,n,`the started conversation`)}function nl(e){let t=e.length;for(;t>0&&e[t-1]===`/`;)--t;return e.slice(0,t)}var rl=v({interface:q});function il(e={}){let t=nl(e.endpoint??`/api/theorem`);return{async describe(n){let r=await Jc(t,{method:`GET`,signal:n},e);if(!r.ok)throw await qc(r);return X(rl,Ec(await r.text()),`the profile description`).interface},turn:({replay:n,...r},i,a)=>Yc(`${t}/turn`,r,Nc,i,{...e,signal:a}),invoke:({replay:n,...r},i,a)=>Yc(`${t}/invoke`,r,Nc,i,{...e,signal:a}),conversation:(n,r)=>Qc(`${t}/conversation`,n,{...e,signal:r}),rewind:(n,r)=>el(`${t}/rewind`,n,{...e,signal:r}),pageResult:(n,r)=>Zc(`${t}/page-result`,n,{...e,signal:r}),steer:n=>Zc(`${t}/steer`,n,e),stop:n=>Zc(`${t}/stop`,n,e)}}function al(e,t){if(typeof e==`string`)return e;let n=Array.isArray(e)?e:Object.keys(e);return n.length?al(n[0],t):t}function ol(e){return e===void 0?{}:{field:e}}function sl(e){if(typeof e==`string`)return/\x60([^\x60\s]+)\x60/.exec(e)?.[1];let t=Array.isArray(e)?e:Object.values(e);for(let e of t){let t=sl(e);if(t!==void 0)return t}}function cl(e,t,n){return{type:`decision`,identity:{handle:e.identity.handle},contract:e.decision.contract,...e.inputs.maxStateBytes===void 0?{}:{maxStateBytes:e.inputs.maxStateBytes},questions:Object.entries(t).map(([e,t])=>({id:e,type:t.type,labels:t.type===`choice`?Object.keys(t.criteria):t.type===`score`?t.criteria.map((e,t)=>al(e,String(t))):[],...t.type===`box`?ol(t.image??sl(t.instructions)):{}})),...n&&Object.keys(n).length>0?{images:n}:{},...e.observability?{observability:{record:Bt(e.observability).record}}:{}}}function ll(e,t){let n=Object.keys(t??{}).find(t=>e&&Object.hasOwn(e,t));if(n!==void 0)throw new N(`request`,`the image ${n} is the host's, so the page's needs another name`);let r={...e,...t};return Object.keys(r).length>0?r:void 0}var $=h().min(0).max(1),ul=_(g(),$).refine(e=>Math.abs(Object.values(e).reduce((e,t)=>e+t,0)-1)<=.001),dl=f(`type`,[v({type:c(`choice`),choice:g(),confidence:$,probabilities:ul}),v({type:c(`noul`),noul:$}),v({type:c(`box`),box:v({top:$,bottom:$,left:$,right:$}),confidence:$}),v({type:c(`score`),score:h().nonnegative(),confidence:$,legend:_(g(),g().min(1)),probabilities:ul})]),fl=v({result:v({model:g().min(1),answers:_(g(),dl),usage:v({inputTokens:h().int().nonnegative(),outputTokens:h().int().nonnegative(),costUsd:h().nonnegative().optional()}).optional()}),traces:l(Ht).optional()}),pl=new WeakMap;function ml(e,t){return t.length>0&&typeof e==`object`&&e&&pl.set(e,t),e}function hl(e){return typeof e==`object`&&!!e&&pl.get(e)||[]}var gl=v({traces:l(Ht)});async function _l(e,t,n,r,i){let a=[],o=e=>{let t=gl.safeParse(e);t.success&&(a=t.data.traces)};try{return i(await Q(e,{body:t,signal:n,failed:o},r))}catch(e){throw ml(e,a)}}function vl(e,t,n,r={}){return _l(e,t,n,r,yl)}function yl(e){return X(fl,e,`the decision`)}var bl=v({interface:v({type:c(`decision`),identity:v({handle:g()}),contract:g(),maxStateBytes:h().optional(),questions:l(v({id:g(),type:d([`choice`,`noul`,`score`,`box`]),labels:l(g()),field:g().optional()})),images:_(g(),v({mimeType:d([`image/png`,`image/jpeg`]),data:g()})).optional(),observability:v({record:o()}).optional()})});function xl(e={}){let t=(e.endpoint??`/api/decision`).replace(/\/$/,``);return{async describe(n){return X(bl,await Q(t,{signal:n},e),`the decision description`).interface},decide:(n,r,i)=>vl(`${t}/decide`,{state:n,...i?{assets:i}:{}},r,e)}}function Sl(e,t,n={}){let r={name:t.name,description:t.description,category:t.category,access:t.access,paths:t.paths,loadTier:t.loadTier,permission:t.permission,...t.labels?{labels:t.labels}:{}};if(t.type===`agent`){e.register({...r,type:`agent`,profile:t.profile,...t.maxCallsPerTurn===void 0?{}:{maxCallsPerTurn:t.maxCallsPerTurn}});return}let i={...r,input:Fe(t.inputSchema),output:Fe(t.outputSchema)};if(t.type===`http`){e.register({...i,type:`http`,endpoint:t.endpoint,method:t.method,headers:t.headers,mapping:t.mapping,auth:t.auth});return}if(t.type===`mcp`){e.register({...i,type:`mcp`,serverUrl:t.serverUrl,mcpToolName:t.mcpToolName,headers:t.headers,auth:t.auth});return}if(t.answeredBy===`page`){e.register({...i,type:`function`,answeredBy:`page`});return}let a=t.stubResponse||!Object.hasOwn(n,t.name)?void 0:n[t.name],o=t.stubResponse??Wt(t.outputSchema);e.register({...i,type:`function`,handler:a?e=>{try{return Promise.resolve(a(e))}catch(e){return Promise.reject(e instanceof Error?e:Error(String(e)))}}:()=>Promise.resolve(o)})}function Cl(e,t,n){e.registerMany(E);for(let r of t)Sl(e,r,n)}function wl(e,t,n,r,i){return Cl(e.tools,n,i),r&&t.type!==`live`&&e.schemas.register(r.id,r.spec),e.profiles.register(t),t}function Tl(e){if(e.type===`error`&&e.errorInternal!==void 0){let{errorInternal:t,...n}=e;return{...n,error:t}}if(e.type===`session`&&e.session.kind===`ended`&&e.errorInternal!==void 0){let{errorInternal:t,...n}=e;return{...n,session:{...e.session,message:t}}}if(e.type===`tool`&&e.tool.phase===`error`&&e.tool.failure.error!==void 0){let{failure:t}=e.tool;return{...e,tool:{...e.tool,failure:{...t,error:t.message}}}}return e}function El(e){if(e.type!==`error`&&e.type!==`session`&&e.type!==`tool`||e.errorInternal===void 0)return e;let{errorInternal:t,...n}=e;return n}function Dl(e){if(e.type!==`guardrail`||!e.guardrail?.errorInternal)return e;let{errorInternal:t,...n}=e.guardrail;return{...e,guardrail:n}}function Ol(e){if(e.type!==`evidence`||!e.evidence?.raw)return e;let{raw:t,...n}=e.evidence;return{...e,evidence:n}}function kl(e,t){let n=t?.reader===`builder`?Tl(e):Dl(El(e));return t?.includeEvidenceRaw||(n=Ol(n)),n=qt(n,!1),n}function Al(e,t){return e.map(e=>kl(e,t))}function jl(e,t,n){let{error:r=``,errorKind:i,errorCopy:a}=kl(ge(ee(e),t),n);return{error:r,errorKind:i,...a?{errorCopy:a}:{}}}var Ml={reader:`builder`};function Nl(e){return e.mode===`demo`?{reader:`visitor`}:Ml}export{Na as $,Tc as A,Mr as At,Ms as B,Un as Bt,Bc as C,Yr as Ct,Yc as D,Hr as Dt,Zc as E,Wr as Et,Rs as F,br as Ft,Za as G,Rn as Gt,fs as H,Hn as Ht,ms as I,ur as It,Ya as J,Gt as Jt,Xa as K,Zt as Kt,_s as L,dr as Lt,Y as M,zr as Mt,uc as N,Rr as Nt,X as O,Br as Ot,zs as P,Dr as Pt,ba as Q,Os as R,fr as Rt,Vc as S,G as St,Hc as T,ui as Tt,Go as U,U as Ut,Ns as V,Vn as Vt,lo as W,zn as Wt,Ha as X,Va as Y,qt as Yt,Ua as Z,il as _,_i as _t,Al as a,va as at,el as b,li as bt,xl as c,ya as ct,hl as d,Wi as dt,ka as et,vl as f,ra as ft,Ic as g,Pi as gt,Nc as h,Ii as ht,kl as i,Oa as it,Cc as j,Ir as jt,bc as k,Lr as kt,ll as l,ga as lt,ml as m,Ri as mt,Nl as n,Aa as nt,wl as o,pa as ot,_l as p,ea as pt,Ja as q,Kt as qt,jl as r,Ia as rt,Cl as s,ha as st,Ml as t,Fa as tt,cl as u,_a as ut,Qc as v,oi as vt,Lc as w,Jr as wt,tl as x,ai as xt,Q as y,si as yt,hs as z,Wn as zt};
|