@theoremjs/studio 0.3.3 → 0.3.4-next.373.gab46e23

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.
Files changed (56) hide show
  1. package/README.md +5 -5
  2. package/browser-engine.d.ts +1 -1
  3. package/browser-engine.js +1 -1
  4. package/browser-execution.d.ts +2 -2
  5. package/browser-execution.js +1 -1
  6. package/browser-live.d.ts +1 -1
  7. package/browser-transport.d.ts +1 -1
  8. package/browser-transport.js +1 -1
  9. package/installed.mjs +2 -2
  10. package/live-connection.d.ts +1 -1
  11. package/live-session-bridge.d.ts +1 -1
  12. package/live-session-bridge.js +2 -2
  13. package/package.json +9 -8
  14. package/page/assets/{Banner-Buiul23B.js → Banner-CKQFHXRj.js} +2 -2
  15. package/page/assets/{ContextMenu-Dw9_F5b0.js → ContextMenu-RWK1rYUn.js} +2 -2
  16. package/page/assets/{ToolResultCharts-CVlI3NkJ.js → ToolResultCharts-WgtTxD5t.js} +1 -1
  17. package/page/assets/{TraceInspector-TusXx3zZ.js → TraceInspector-BfIZnssQ.js} +1 -1
  18. package/page/assets/{TraceOverview-DrHQgMQO.js → TraceOverview-BprrhF2w.js} +1 -1
  19. package/page/assets/{_virtual_studio-type-sources-BwZOives.js → _virtual_studio-type-sources-DN0c88ZG.js} +1 -1
  20. package/page/assets/{browser-engine-BTOR18GA.js → browser-engine-CAENs3B6.js} +1 -1
  21. package/page/assets/{browser-transport-BEFsWdzI.js → browser-transport-BP9NWbxa.js} +3 -3
  22. package/page/assets/{embedding-space-view-CfQBPDxD.js → embedding-space-view-judaIj9T.js} +2 -2
  23. package/page/assets/{export-agent-BnlMWFTv.js → export-agent-WLZxVvG6.js} +3 -3
  24. package/page/assets/{guardrail-tester-DRsOgbwK.js → guardrail-tester-B6nZ87zd.js} +1 -1
  25. package/page/assets/{index-D2T8e_8Q.js → index-DS-hdSzr.js} +34 -34
  26. package/page/assets/{studio-code-pane-PndbSO1v.js → studio-code-pane-BLyK9cZ9.js} +3 -3
  27. package/page/assets/{studio-console-e6kqu38F.js → studio-console-DTivu8H4.js} +1 -1
  28. package/page/assets/{studio-decision-DFM0psog.js → studio-decision-BACHQW4n.js} +1 -1
  29. package/page/assets/{studio-embedding-4qgdJ4gh.js → studio-embedding-U84522AY.js} +2 -2
  30. package/page/assets/{studio-host-console-DajI604W.js → studio-host-console-CGTPZ8yJ.js} +2 -2
  31. package/page/assets/{studio-live-B1a0aWbl.js → studio-live-C_pybCeb.js} +1 -1
  32. package/page/assets/{studio-map-CdrEm07d.js → studio-map-CMrHu9vk.js} +1 -1
  33. package/page/assets/{studio-type-checker-DosSRFbd.js → studio-type-checker-DHsmQ4Du.js} +1 -1
  34. package/page/assets/{use-one-call-9e3o5vH-.js → use-one-call-Cm3BreW5.js} +1 -1
  35. package/page/index.html +4 -4
  36. package/runtime.d.ts +3 -3
  37. package/runtime.js +3 -3
  38. package/server/draft-decide.js +1 -1
  39. package/server/draft-embedding.js +1 -1
  40. package/server/draft-handler.d.ts +1 -1
  41. package/server/draft-handler.js +1 -1
  42. package/server/draft-probe.js +1 -1
  43. package/server/handler.js +1 -1
  44. package/server/live.js +1 -1
  45. package/server/test-connection.js +1 -1
  46. package/server/test-key.js +1 -1
  47. package/tool-schema.d.ts +1 -1
  48. package/tool-schema.js +1 -1
  49. package/transport.d.ts +1 -1
  50. package/transport.js +1 -1
  51. package/ui/lib/export-agent.js +3 -2
  52. package/ui/lib/project-traces.d.ts +1 -1
  53. package/ui/lib/studio-console.d.ts +1 -1
  54. package/ui/studio-compare.d.ts +1 -1
  55. package/ui/studio-compare.js +1 -1
  56. package/ui/studio-runner.js +1 -1
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/compile-egress-BSxOdX4K.js","assets/rolldown-runtime-hePW80VL.js","assets/host-patterns-C9RMP16Q.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-DpV6A1kQ.js";import{C as t,E as n,T as r,d as i,dt as a,g as o,l as s,m as c,o as l,p as u,v as d,w as f,x as p,y as m}from"./schemas-BQ9Jydzb.js";import{$ as h,A as g,An as _,Ar as v,At as y,Br as b,C as x,Cn as S,Cr as C,Ct as w,Dn as T,Dr as E,Dt as D,En as O,Et as k,Fn as A,Fr as ee,Ft as te,In as j,Ir as ne,It as M,Jt as re,Kt as ie,L as ae,Ln as N,Lr as oe,Lt as P,Mn as se,Mr as ce,Mt as le,Nr as ue,Nt as de,Or as fe,Ot as pe,Pr as F,Pt as me,Q as he,Qt as ge,Rn as _e,Rr as I,Rt as ve,Sn as ye,Sr as L,St as be,Tn as xe,Tr as Se,Tt as Ce,Un as we,Ut as Te,Wt as Ee,Yt as De,_n as Oe,_r as ke,_t as Ae,an as je,ar as Me,at as Ne,bn as Pe,br as Fe,bt as Ie,cr as Le,ct as Re,dn as ze,dt as Be,en as Ve,et as He,ft as Ue,gn as We,gt as Ge,hn as Ke,ht as qe,in as Je,it as Ye,jn as Xe,jr as Ze,jt as Qe,kn as $e,kt as et,lt as tt,mn as nt,mt as rt,nn as it,nt as R,on as at,or as ot,ot as st,p as ct,pn as z,pt as B,qt as lt,rn as ut,rt as dt,st as ft,tn as pt,tt as mt,un as ht,ut as gt,v as _t,vn as vt,wn as yt,wt as bt,xn as xt,xt as St,yn as Ct,yr as wt,yt as Tt,zn as Et,zr as V}from"./tool-schema-BrqSc6vO.js";import{c as H,t as Dt}from"./host-patterns-C9RMP16Q.js";import{$ as Ot,A as kt,At,B as jt,Ct as Mt,D as U,Dn as Nt,E as Pt,Et as Ft,Ft as It,It as Lt,J as Rt,K as zt,L as Bt,M as Vt,Mn as W,Mt as Ht,Nt as Ut,O as G,Ot as Wt,Pt as Gt,St as Kt,Tt as qt,U as Jt,Y as Yt,Z as Xt,_n as Zt,_t as Qt,an as $t,at as en,bn as tn,bt as nn,ct as rn,dt as an,et as on,fn as sn,gt as cn,hn as ln,ht as un,j as dn,jt as fn,k as pn,kt as mn,ln as hn,lt as gn,mn as _n,mt as vn,ot as yn,pn as bn,pt as xn,q as Sn,st as Cn,vn as wn,vt as Tn,w as En,xt as Dn,yt as On,z as kn}from"./shaped-data-BcarWqd5.js";import{At as An,Bt as jn,Ct as Mn,Dt as Nn,Et as Pn,G as Fn,Gt as In,H as Ln,Ht as Rn,It as zn,J as Bn,Jt as Vn,Kt as Hn,Lt as Un,M as Wn,Mt as Gn,Nt as Kn,O as qn,Ot as Jn,Q as Yn,Rt as Xn,St as Zn,Tt as Qn,Ut as $n,Vt as er,W as tr,Wt as nr,X as rr,Y as ir,Z as ar,_t as or,a as sr,at as cr,bt as lr,ct as ur,dt as dr,et as fr,ft as pr,gt as mr,ht as hr,i as gr,it as _r,j as vr,jt as yr,kt as br,l as xr,lt as Sr,m as Cr,mt as wr,n as Tr,nt as Er,o as Dr,ot as Or,pt as kr,q as Ar,qt as K,r as jr,rt as Mr,st as Nr,ut as Pr,vt as Fr,wt as Ir,xt as Lr,yt as Rr,z as zr,zt as Br}from"./reader-B0gVhfoZ.js";import{a as Vr,t as Hr}from"./live-ingress-lDUGPwth.js";import{t as Ur}from"./trace-record-C3zNksA_.js";import{C as Wr,E as Gr,T as Kr,_ as qr,c as Jr,g as Yr,i as Xr,l as Zr,u as Qr,w as $r,y as ei}from"./turn-client-DwVPS3TX.js";import{n as ti,t as ni}from"./live-messages-BYi31jQk.js";import{n as ri,r as ii}from"./lent-keys-C32ems-I.js";import{at as ai,ct as oi,gt as si,ht as ci,it as li,lt as ui,mt as di,nt as fi,ot as pi,pt as mi,st as hi}from"./index-D2T8e_8Q.js";function gi(){return{given:new Set,remote:new Map}}var _i=/[\p{L}\p{N}_.+-]/u,vi=/[\p{L}\p{N}_-]/u,yi=/(?:https?:\/\/|www\.)[^\s'"<>)\]]+/gi,bi=/\b[A-Z]{2}\d{2}[A-Z0-9]{10,30}\b/g,xi=/[/?#]/;function Si(e,t){let n=t;for(;n<e.length;){let t=String.fromCodePoint(e.codePointAt(n)??0);if(!vi.test(t))break;n+=t.length}return n}function Ci(e,t){let n=Si(e,t);if(n===t)return-1;let r=1;for(;e.charAt(n)===`.`;){let t=Si(e,n+1);if(t===n+1)break;n=t,r+=1}return r>1?n:-1}function wi(e){let t=e.length;for(;t>0&&(e.charAt(t-1)===`.`||e.charAt(t-1)===`,`);)--t;return e.slice(0,t)}function Ti(e){let t=[],n=e.indexOf(`@`);for(;n>=0;){let r=n;for(;r>0&&_i.test(e.charAt(r-1));)--r;let i=r<n?Ci(e,n+1):-1;i>=0?(t.push({key:`email:${e.slice(r,i).toLowerCase()}`,start:r,end:i}),n=e.indexOf(`@`,i)):n=e.indexOf(`@`,n+1)}return t}function Ei(e){let t=e.replace(/^https?:\/\//i,``),n=t.search(xi),r=n<0?t:t.slice(0,n);return wi(r.slice(r.lastIndexOf(`@`)+1).replace(/:\d*$/,``).toLowerCase()).replace(/^www\./,``)}function Di(e){let t=Ti(e),n=e;for(let{start:e,end:r}of t)n=n.slice(0,e)+` `.repeat(r-e)+n.slice(r);let r=[...t];for(let e of[...n.matchAll(yi)]){let t=Ei(e[0]);t&&r.push({key:`host:${t}`,start:e.index,end:e.index+e[0].length})}for(let e of[...n.matchAll(bi)])r.push({key:`account:${e[0].toLowerCase()}`,start:e.index,end:e.index+e[0].length});return r}function Oi(e){let t=e.trimStart().charAt(0);if(t===`{`||t===`[`)try{return JSON.parse(e)}catch{return}}var ki=32;function Ai(e,t,n=0){if(!(n>ki)){if(typeof e==`string`){let r=Oi(e);r===void 0?t(e):Ai(r,t,n+1)}else if(Array.isArray(e))for(let r of e)Ai(r,t,n+1);else if(e&&typeof e==`object`)for(let r of Object.values(e))Ai(r,t,n+1)}}function ji(e,t=!1){let n=new Set;return Ai(e,e=>{let r=e.trim(),i=Di(r),[a]=i,o=i.length===1&&a?.start===0&&a.end===r.length;if(!(t&&o))for(let{key:e}of i)n.add(e)}),n}function Mi(e,t){for(let n of ji(t))e.given.add(n)}function Ni(e,t,n){for(let r of t)r.role===`assistant`||r.role===`tool`||n.has(r)||Mi(e,Ut(r).text)}function Pi(e,t,n){Mi(e,t.system),n.has(t.input)||Mi(e,Ut(t.input).text),Ni(e,t.history??[],n)}function Fi(e,t,n){if(!Ct(n.origin)){Mi(e,[t.finding,t.data]);return}let r=Oi(t.finding),i=new Set([...r===void 0?ji(t.finding):ji(r,!0),...ji(t.data,!0)]);for(let t of i)e.remote.has(t)||e.remote.set(t,n.tool)}function Ii(e,t,n,r){if(!e||e.remote.size===0)return{verdict:{action:`allow`}};let i=[...ji(t)].filter(t=>e.remote.has(t)&&!e.given.has(t));if(i.length===0)return{verdict:{action:`allow`}};let a=i.map(e=>e.slice(e.indexOf(`:`)+1)),o=a.map(e=>({rule:tn.remoteDestination,severity:`high`,match:e})),s={destination:a.join(`, `),sources:[...new Set(i.map(t=>e.remote.get(t)??``))].join(`, `)},c=n.taint?.remoteDestination??`off`;return c===`block`?{verdict:{action:`block`,hits:o,rejection:W(`taint.destination_blocked`,s,r)}}:{verdict:{action:`flag`,hits:o},...c===`confirm`?{confirm:W(`taint.destination_confirm`,s,r)}:{}}}var Li={image:`thought.omitted_image`,link:`thought.omitted_link`,instructions:`thought.omitted_instructions`},Ri={rule:Zt.ungiven_images,severity:`high`},zi={rule:Zt.ungiven_links,severity:`high`},Bi={rule:Zt.marker_leak,severity:`high`};function Vi(e,t,n=!1){let r=e.pieces[0];for(let i of e.pieces){if(i.raw>t||n&&i.raw===t&&t>0)break;r=i}return r?r.mark?n?r.mark.end:r.mark.start:r.shown+t-r.raw:t}function Hi(e){let t=[];for(let n of[...e].sort((e,t)=>e.start-t.start)){let e=t.at(-1);e&&n.start<e.end?e.end=Math.max(e.end,n.end):t.push({...n})}return t}var Ui=8,Wi=16;function Gi(e){let{omit:t={},canary:n,privateSystem:r,ends:i,given:a,labels:o}=e,s=[...t.markers?[`marker_leak`]:[],...t.images?[`ungiven_images`]:[],...t.links?[`ungiven_links`]:[]],c=t.imagesRead??t.images!==void 0,l=n??e.planted,u=Sn({canary:l,labels:o}),d=e=>({...e,...a?{given:a}:{}});function f(e,t){let n=W(Li[e],{},o);return/\s$/.test(t)?n.trimStart():n}let p=n||r?e.carry??``:``,m=``,h,g,_=0,v=0,y,b=[],x=0,S=!1,C=0,w=new Map;function T(e){return h=s.length>0?nr({detect:s,allow:{ungiven_images:t.images??{},ungiven_links:t.links??{}},skipImages:c,...a?{given:a}:{},...u?{note:u}:{}}):void 0,g=n?Kt(n):void 0,_=0,v=0,E(e)}function E(e){v+=e.length;let t=(h?.push(e).length??0)>0,n=g?.push(e)??!1,i=!1;if(r){let e=(p+m).slice(0,v),t=Lt(e,_);i=It(e.slice(t),r,l).length>0,_=e.length}return t||n||i}function D(e){let i=[];if(t.images)for(let n of gn(e,d(t.images)))i.push({...n,kind:`image`,hit:Ri});if(t.links)for(let n of an(e,d(t.links),c))i.push({...n,kind:`link`,hit:zi});if(t.markers){let t=[new RegExp(Ot.source,`gi`),...u?[on(u)]:[]];for(let n of t.flatMap(t=>[...e.matchAll(t)])){let e=n.index;i.push({start:e,end:e+n[0].length,kind:`instructions`,hit:Bi})}}if(n)for(let[t,r]of Tn(e,n))i.push({start:t,end:r,kind:`instructions`,hit:_n});if(r)for(let[t,n]of It(e,r,l))i.push({start:t,end:n,kind:`instructions`,hit:ln});return i}function O(e){return b.find(t=>t.start<e&&e<t.end)}function k(e,t){let n=p+m,r=``,i=e;for(let a of b)a.end<=e||a.start>=t||(r+=n.slice(i,a.start)+a.raw,i=a.end);return r+n.slice(i,t)}function A(){let e=p+m;for(let t=xn;;t*=2){let n=p.length,i=0;for(let e=b.length-1;n>0&&i<t;){let r=b[e];if(r&&r.end>n)e--;else if(r&&r.end===n)i+=r.raw.length,n=r.start,e--;else{let e=Math.max(r?.end??0,n-(t-i));i+=n-e,n=e}}if(b=b.filter(e=>e.end>n),b.length===0)return;let a={text:``,held:0,pieces:[]},o=n;for(let t of[...b,void 0]){let n=t?t.start:e.length;if(n>o&&a.pieces.push({raw:a.text.length,shown:o}),o<=p.length&&p.length<=n&&(a.held=a.text.length+p.length-o),a.text+=e.slice(o,n),!t)break;a.pieces.push({raw:a.text.length,shown:t.start,mark:t}),a.text+=t.raw,o=t.end}if(!r||n===0||Lt(a.text,a.held)>0)return a}}function ee(){let e=A();if(!e)return[];let t=[];if(n)for(let[r,i]of Tn(e.text,n))t.push([r,i,_n]);if(r)for(let[n,i]of It(e.text,r,l))t.push([n,i,ln]);let i=[];for(let[n,r,a]of t){if(r<=e.held)continue;let t=Vi(e,n),o=Vi(e,r,!0),s=!1;for(let e=Math.max(t,p.length);e<o&&!s;e++)s=!b.some(t=>t.start<=e&&e<t.end);s&&i.push({start:t,end:o,kind:`instructions`,hit:a})}return i}function te(){return Hi([...D(p+m),...ee()])}function j(){return te().filter(({end:e})=>e>p.length)}function ne(e,t=!1){let n=O(e);return n?t?n.end:n.start:e}function M(e){let t=j(),n=p+m,r=t.at(-1),a=!e&&r!==void 0&&r.end>=n.length?r:void 0,o=a?t.slice(0,-1):t,s=b.filter(e=>e.end<=p.length),c=``,l=p.length,u=e=>{let t=p.length+c.length-l;for(let n of b)n.start>=l&&n.end<=e&&s.push({...n,start:n.start+t,end:n.end+t});c+=n.slice(l,Math.max(l,e)),l=Math.max(l,e)};for(let{start:e,end:t,kind:r,hit:a}of o){u(ne(e)),S=i?.has(a.rule)??!1;let o=S?n.length:Math.max(l,ne(t,!0)),d=f(r,p+c),m=p.length+c.length;if(s.push({start:m,end:m+d.length,raw:k(l,o)}),c+=d,w.set(a.rule,a),l=o,S)break}return y=void 0,a&&!S&&(u(ne(a.start)),y=p.length+c.length),u(n.length),b=s,m=c,x=0,o.length>0}function re(){let e=te()[0],t=e?Math.max(0,ne(e.start)-p.length):0,n=m.slice(0,t),r=f(e?.kind??`instructions`,p+n),i=p.length+t,a=k(i,p.length+m.length);b=b.filter(e=>e.end<=i),b.push({start:i,end:i+r.length,raw:a}),m=n+r,x=0,e&&w.set(e.hit.rule,e.hit),y=void 0,S=!0}function ie(){let e=p+m;return y===void 0?e:e.slice(0,y)}function ae(){for(let e=0;e<Ui&&!(C>=Wi);e++){let e=new Set(b.map(e=>e.start));if(!M(!1)){if(y===void 0)break;return}if(S||(b.some(t=>!e.has(t.start))&&C++,!T(ie())))return}re()}function N(){let e=p.length+m.length,t=h?h.holdFrom():e,i=n?oe(n):e,a=r?p.length+Gt(m,r,l):e,o=Math.min(t,i,a,se()??e,y??e);return ne(o<p.length?o:p.length+At(m,o-p.length))}function oe(e){let t=Math.max(p.length,x),n=Math.max(0,t-vn),r=n+nn(P(n),e);if(r<t&&t>p.length){let t=Math.max(0,p.length-vn);r=t+nn(P(t),e)}return x=Math.min(r,p.length+m.length-vn),Math.max(p.length,r)}function P(e){return e<p.length?p.slice(e)+m:m.slice(e-p.length)}function se(){let e=A();if(!e)return;let t=e.text.slice(e.held),i=n?Qt(t,n,e.text.slice(0,e.held)):t.length,a=r?Gt(t,r,l):t.length;return Vi(e,e.held+Math.min(i,a))}function ce(e){let t={text:e,hits:[...w.values()]};return w=new Map,t}return T(p),{push(e){if(S||!e||(m+=e,(y!==void 0||E(e)||ee().length>0)&&ae(),S))return ce(``);let t=Math.max(0,N()-p.length),n=m.slice(0,t);return p+=n,m=m.slice(t),ce(n)},flush(){if(!S){for(let e=0;e<Ui&&!S&&M(!0);e++);!S&&m&&(D(p+m).length>0||ee().length>0)&&re()}let e=m,t=p+m;p=n||r?Ft(t,n,r):``;let i=p.length-t.length;return b=b.filter(e=>e.start+i>=0).map(e=>({...e,start:e.start+i,end:e.end+i})),m=``,x=0,y=void 0,S=!1,C=0,T(p),ce(e)},carryOut:()=>p}}function Ki(...e){let t=e.filter(e=>e!==void 0);return t.length===0?{}:{found:{action:t.reduce((e,t)=>Jt(e,t.action),`allow`),hits:[...new Map(t.flatMap(({hits:e})=>e).map(e=>[e.rule,e])).values()]}}}function qi(e,t,n,r){let i=()=>$n(`thought`,t,n,r),a=i();if(!a)return e;let o=0,s=0,c=!1;function l(e){if(c||!a)return{text:``};let t=e?o:Math.max(s,a.holdFrom()),{action:n,text:r=``,hits:i,taken:l}=a.take(s,t,e);return c=n===`block`,s+=l,{text:r,...n===`allow`?{}:{found:{action:n,hits:i}}}}return{push(t){o+=t.length,a?.push(t);let{text:n,found:r}=l(!1),i=e?e.push(n):{text:n,hits:[]};return{text:i.text,hits:i.hits,...Ki(r,i.found)}},flush(){let{text:t,found:n}=l(!0),r=e?.push(t),u=e?e.flush():{text:t,hits:[]};return a=i(),o=0,s=0,c=!1,{text:(r?.text??``)+u.text,hits:[...new Map([...r?.hits??[],...u.hits].map(e=>[e.rule,e])).values()],...Ki(n,r?.found,u.found)}},carryOut:()=>e?.carryOut()??``}}var Ji={canary_leak:_n,prompt_leak:ln,marker_leak:Bi,ungiven_images:Ri,ungiven_links:zi},Yi=[`marker_leak`,`ungiven_images`,`ungiven_links`];function Xi(e,t){let{canary:n,privateSystem:r}=e,i=n?Kt(n):void 0,a=``,o=new Set;return{read(e){let n=Lt(a+e,a.length);a+=e;let s=[];i?.push(e)&&s.push(_n),r&&It(a.slice(n),r,t).length>0&&s.push(ln);let c=s.filter(e=>!o.has(e.rule));for(let e of c)o.add(e.rule);return c},reset(){i=n?Kt(n):void 0,a=``,o=new Set}}}function Zi(e,t,n,r){let i=Xi(n,r),a=new Map(Object.entries(Ji).map(([e,n])=>[n.rule,t[e].thought]));function o(e,t){let n=[...t,...e.hits.filter(e=>a.has(e.rule))];if(n.length===0)return e;let r=n.reduce((e,t)=>Jt(e,a.get(t.rule)??`ignore`),e.found?.action??`allow`);return{text:e.text,hits:e.hits.filter(e=>!a.has(e.rule)),found:{action:r,hits:[...e.found?.hits??[],...n]}}}return{push:t=>o(e.push(t),i.read(t)),flush(){return i.reset(),o(e.flush(),[])},carryOut:()=>e.carryOut()}}async function Qi(e,t,n){let{detect:r}=e,i=Yi.filter(e=>$i(r,e)),a=ta(r,t,$i),o=ta(r,t,(e,t)=>e[t].thought===`flag`),s=i.length>0||na(a)||na(o),c=jt(e,t);(s||Vt([`thought`],r,c))&&await In();let l=s?Gi({omit:ea(e),...a,...ra(r),...ia(t),...n?{carry:n}:{}}):void 0;return qi(l&&Zi(l,r,o,t.canary),r,c,i)}function $i(e,t){return e[t].thought===`redact`||e[t].thought===`block`}function ea({detect:e,allow:t}){return{...$i(e,`marker_leak`)?{markers:!0}:{},...$i(e,`ungiven_images`)?{images:t.ungiven_images}:{},...$i(e,`ungiven_links`)?{links:t.ungiven_links}:{},imagesRead:e.ungiven_images.thought!==`ignore`}}function ta(e,t,n){let r=n(e,`canary_leak`)&&!t.canaryGiven&&t.canary,i=n(e,`prompt_leak`)&&t.privateSystem;return{...r?{canary:r}:{},...i?{privateSystem:i}:{}}}function na(e){return e.canary!==void 0||e.privateSystem!==void 0}function ra(e){let t=new Set(Object.entries(Ji).filter(([t])=>e[t].thought===`block`).map(([,e])=>e.rule));return t.size>0?{ends:t}:{}}function ia({canary:e,givenUrls:t,labels:n}){return{...e?{planted:e}:{},...t?{given:t}:{},...n?{labels:n}:{}}}var aa={rule:`live.untranscribed-audio`,severity:`high`};async function oa(e,t,n,r,i){let a=z(e.guardrails),o={stage:`live_outbound`,trust:`untrusted`,profileId:e.id,...Bt(a.detect,{canary:t,privateSystem:n}),...e.labels?{labels:e.labels}:{},...r?{givenUrls:r}:{},...i?{ownTools:i}:{}},s=await Qi(a,o);return{policy:a,context:o,gate:await jn(a,o,`live_reply`),held:[],releasedTo:0,withholdVisible:!1,...s?{thoughts:s}:{}}}function sa(e){let t=e.gate?.carryOut();e.gate=er(e.policy,e.context,`live_reply`,t),e.held=[],e.releasedTo=0,e.withholdVisible=!1,e.promptLeaks=void 0}function ca(e,t,n=[]){let r=Hn(`live_outbound`,`untrusted`,t,`block`);return{action:`withhold`,error:new H(`safety`,e),events:[...n,...r?[r]:[]]}}function la(e){return e.accumulated().length-e.unreleased().length}function ua(e,t,n,r,i=!1){let a=t.accumulated();for(let t=e.held[0];t!==void 0;t=e.held[0]){let{event:o}=t;if(o.type!==`media`){let i=Math.max(t.start,e.releasedTo),s=Math.min(t.end,n);s>i&&(r.push({...o,text:a.slice(i,s)}),e.releasedTo=s)}if(t.end>n&&!(i&&o.type===`media`))return;o.type===`media`&&r.push(o),e.held.shift()}}function da(e,t,n,r){if(!n.blocked){let i=n.found&&dn(`live_reply`,n.found);i&&r.push(K(i)),ua(e,t,la(t),r);return}let i=n.hits.filter(Yt);i.length>0&&(e.promptLeaks=i),e.withholdVisible=!0;let a=n.boundary?void 0:Hn(`live_outbound`,`untrusted`,n.hits,`block`);a&&r.push(a)}function fa(e,t,n){e.withholdVisible||e.held.length===0||da(e,t,t.flush(),n)}function pa(e,t,n,r){let i=t.accumulated().length;e.held.push({event:n,start:i,end:r?i:1/0})}function ma(e,t){for(let n=e.held.length-1;n>=0;--n){let r=e.held[n];if(r===void 0||r.end!==1/0)return;r.end=t}}function ha(e,t,n,r){let i=n.text??``;if(!i)return;let a=t.accumulated().length;ma(e,a+i.length),e.held.push({event:n,start:a,end:a+i.length});let o=t.process(i);e.withholdVisible||da(e,t,o,r)}function ga(e,t){let n=[],{gate:r}=e;if(!r){let{thoughts:n}=e;return ba(n?t.flatMap(e=>e.type===`thought`?_a(n.push(e.text),e):[e]):t)}let i=!1;for(let a of t){if(Mt(a)){i||=!!a.text,ha(e,r,a,n);continue}if(a.type===`media`){pa(e,r,a,i),e.withholdVisible||ua(e,r,la(r),n);continue}fa(e,r,n),va(a)&&ya(e,r,n);let t=a.type===`tool`?void 0:Rt(a,e.context,e.policy.detect,`live_reply`);if(t?.stop)return ca(Xt(t.hits),t.hits,n);if(t){let e=dn(`live_reply`,{action:`flag`,hits:t.hits});e&&n.push(K(e))}a.type===`thought`&&e.thoughts?n.push(..._a(e.thoughts.push(a.text),a)):n.push(a)}return ba(n)}function _a({text:e,hits:t,found:n},r){let i=n&&dn(`thought`,n),a=Hn(`thought`,`untrusted`,t,`redact`);return[...i?[K(i)]:[],...a?[a]:[],...e?[{...r,text:e}]:[]]}function va(e){return e.type===`done`&&e.stop?.kind===`generation_complete`}function ya(e,t,n){let r=t.accumulated().length;e.withholdVisible||r===0||la(t)<r||ua(e,t,r,n,!0)}function ba(e){return e.length===0?{action:`idle`}:{action:`emit`,events:e}}function xa(e,t,n){let{detect:r,blockedReply:i}=e.policy,a=S({text:t.accumulated()},r,{boundary:`live_reply`,...e.withholdVisible?{reportedTo:la(t)}:{},scope:jt(e.policy,e.context)}),o=t.accumulated().slice(0,e.releasedTo),s=O(a,e.promptLeaks),c=s&&s!==a.blocked?Hn(`live_outbound`,`untrusted`,s,`block`):void 0,l=[...n,...a.events.map(K),...c?[c]:[]];if(s){if(i.onBlock===`refuse`){let t=yt(o,e.context.labels);return{action:`emit`,events:[...l,{type:`text`,text:t}]}}return{action:`withhold`,error:new H(`safety`,zt.egress),events:l}}if(a.rewritten){let e=xe(o,a.payload.text);return{action:`emit`,events:[...l,{type:`text`,text:e}]}}return ua(e,t,t.accumulated().length,l,!0),ba(l)}function Sa(e,t){if(e.held.length===0)return t;let n=Hn(`live_outbound`,`untrusted`,[aa],`block`);return n?[...t,n]:t}function Ca(e,t){let n=[];return fa(e,t,n),t.accumulated()?xa(e,t,n):ba(Sa(e,n))}function wa(e){let t=e.thoughts?_a(e.thoughts.flush(),{type:`thought`,text:``}):[];if(!e.gate)return ba(t);let n=Ca(e,e.gate);return sa(e),t.length===0?n:n.action===`idle`?{action:`emit`,events:t}:{...n,events:[...t,...n.events??[]]}}function Ta(e){e.thoughts?.flush(),sa(e)}var Ea=d().int().positive().max(2**53-1),Da=Ea.max(2147483647),Oa=t({operationTimeoutMs:Da,connectTimeoutMs:Da,liveStepTimeoutMs:Da,maxWireRecordBytes:Ea,maxWireResponseBytes:Ea,maxEventBytes:Ea,maxStepBytes:Ea,maxStepEvents:Ea,maxPendingToolCalls:Ea});function ka(e={}){return Object.freeze(Oa.parse({operationTimeoutMs:12e4,connectTimeoutMs:3e4,liveStepTimeoutMs:12e4,maxWireRecordBytes:16777216,maxWireResponseBytes:67108864,maxEventBytes:16777216,maxStepBytes:67108864,maxStepEvents:1e5,maxPendingToolCalls:32,...e}))}var Aa=/key|auth|cookie|secret|token/i;function ja(e,t){return Aa.test(e)?`[redacted]`:t}function Ma(e){let t={};for(let[n,r]of new Headers(e).entries())t[n]=ja(n,r);return t}function Na(e){return e instanceof Error?{eventType:`http_throw`,name:e.name,message:e.message}:{eventType:`http_throw`,name:`Error`,message:String(e)}}function Pa(e){if(e==null)return{};if(typeof e!=`string`)return{bodyKind:e.constructor.name};try{return{body:JSON.parse(e)}}catch{return{body:e}}}function Fa(e,t=fetch,n){return e?async(r,i)=>{e({eventType:`http_request`,method:i?.method??`GET`,url:String(r),headers:Ma(i?.headers),...n?{keySlot:n}:{},...Pa(i?.body)});try{let n=await t(r,i);return e({eventType:`http_response`,status:n.status,headers:Ma(n.headers)}),n.ok||e({eventType:`http_error_body`,body:await n.clone().text()}),n}catch(t){throw e(Na(t)),t}}:t}function Ia(e){return e instanceof H||F(e)||ee(e)?e:new H(`network`,Ze(e),{cause:e})}function La(e=fetch){return async(t,n)=>{try{return await e(t,n)}catch(e){throw Ia(e)}}}var Ra=[1e3,2e3,4e3,8e3],za=5e3,Ba=Ra.length,Va=1e3,Ha=new Set([408,429,500,502,503,504,529]),Ua=(e,t)=>new Promise((n,r)=>{if(t?.aborted){r(Wa(t));return}let i=setTimeout(()=>{t?.removeEventListener(`abort`,a),n()},e);function a(){clearTimeout(i),r(Wa(t))}t?.addEventListener(`abort`,a,{once:!0})});function Wa(e){return e.reason??new DOMException(`The operation was aborted.`,`AbortError`)}function Ga(e){return Ha.has(e)}function Ka(e){let t=Ia(e);return t instanceof H&&t.kind===`network`}function qa(e){return Ra[Math.min(e,Ra.length-1)]}function Ja(e,t=Date.now()){let n=e.get(`retry-after-ms`),r=e.get(`retry-after`),i;if(n!==null&&n.trim()!==``&&Number.isFinite(Number(n)))i=Number(n);else if(r!==null&&r.trim()!==``){let e=Number(r);i=Number.isFinite(e)?e*Va:Date.parse(r)-t}if(!(i===void 0||Number.isNaN(i)||i<0))return i}function Ya(e,t=Ua,n=()=>1/0){return async(r,i)=>{let a=0;for(let o=0;;o++){let s=Math.min(za-a,n()),c;try{let t=await e(r,i);if(!Ga(t.status)||(c=Ja(t.headers)??qa(o),c>s||o>=Ba))return t;await t.body?.cancel()}catch(e){if(c=qa(o),!Ka(e)||c>s||o>=Ba)throw e}await t(c,i?.signal),a+=c}}}var Xa=`[DONE]`;function Za(e){if(e&&typeof e==`object`&&!Array.isArray(e))return e}function Qa(e,t){let n=e.startsWith(`data:`)?e.slice(5).replace(/^ /,``):e,r={};if(t&&(r.sseEvent=t),n===Xa)return r.eventType=`sse_done`,r;try{let e=JSON.parse(n),t=Za(e);return t?{...t,...r}:(r.eventType=`sse_unparsed`,r.data=e,r)}catch{return r.eventType=`sse_unparsed`,r.data=n,r}}function $a(e,t=``){let n=[],r=t,i=[],a=!1,o=0,s=/\r\n|\r|\n/g,c=0;for(let t=s.exec(e);t&&(t[0]!==`\r`||t.index!==e.length-1);t=s.exec(e)){let s=e.slice(c,t.index);if(c=t.index+t[0].length,!s)a&&n.push(Qa(i.join(`
2
+ import{t as e}from"./preload-helper-DpV6A1kQ.js";import{C as t,E as n,T as r,d as i,dt as a,g as o,l as s,m as c,o as l,p as u,v as d,w as f,x as p,y as m}from"./schemas-BQ9Jydzb.js";import{$ as h,A as g,An as _,Ar as v,At as y,Br as b,C as x,Cn as S,Cr as C,Ct as w,Dn as T,Dr as E,Dt as D,En as O,Et as k,Fn as A,Fr as ee,Ft as te,In as j,Ir as ne,It as M,Jt as re,Kt as ie,L as ae,Ln as N,Lr as oe,Lt as P,Mn as se,Mr as ce,Mt as le,Nr as ue,Nt as de,Or as fe,Ot as pe,Pr as F,Pt as me,Q as he,Qt as ge,Rn as _e,Rr as I,Rt as ve,Sn as ye,Sr as L,St as be,Tn as xe,Tr as Se,Tt as Ce,Un as we,Ut as Te,Wt as Ee,Yt as De,_n as Oe,_r as ke,_t as Ae,an as je,ar as Me,at as Ne,bn as Pe,br as Fe,bt as Ie,cr as Le,ct as Re,dn as ze,dt as Be,en as Ve,et as He,ft as Ue,gn as We,gt as Ge,hn as Ke,ht as qe,in as Je,it as Ye,jn as Xe,jr as Ze,jt as Qe,kn as $e,kt as et,lt as tt,mn as nt,mt as rt,nn as it,nt as R,on as at,or as ot,ot as st,p as ct,pn as z,pt as B,qt as lt,rn as ut,rt as dt,st as ft,tn as pt,tt as mt,un as ht,ut as gt,v as _t,vn as vt,wn as yt,wt as bt,xn as xt,xt as St,yn as Ct,yr as wt,yt as Tt,zn as Et,zr as V}from"./tool-schema-BrqSc6vO.js";import{c as H,t as Dt}from"./host-patterns-C9RMP16Q.js";import{$ as Ot,A as kt,At,B as jt,Ct as Mt,D as U,Dn as Nt,E as Pt,Et as Ft,Ft as It,It as Lt,J as Rt,K as zt,L as Bt,M as Vt,Mn as W,Mt as Ht,Nt as Ut,O as G,Ot as Wt,Pt as Gt,St as Kt,Tt as qt,U as Jt,Y as Yt,Z as Xt,_n as Zt,_t as Qt,an as $t,at as en,bn as tn,bt as nn,ct as rn,dt as an,et as on,fn as sn,gt as cn,hn as ln,ht as un,j as dn,jt as fn,k as pn,kt as mn,ln as hn,lt as gn,mn as _n,mt as vn,ot as yn,pn as bn,pt as xn,q as Sn,st as Cn,vn as wn,vt as Tn,w as En,xt as Dn,yt as On,z as kn}from"./shaped-data-BcarWqd5.js";import{At as An,Bt as jn,Ct as Mn,Dt as Nn,Et as Pn,G as Fn,Gt as In,H as Ln,Ht as Rn,It as zn,J as Bn,Jt as Vn,Kt as Hn,Lt as Un,M as Wn,Mt as Gn,Nt as Kn,O as qn,Ot as Jn,Q as Yn,Rt as Xn,St as Zn,Tt as Qn,Ut as $n,Vt as er,W as tr,Wt as nr,X as rr,Y as ir,Z as ar,_t as or,a as sr,at as cr,bt as lr,ct as ur,dt as dr,et as fr,ft as pr,gt as mr,ht as hr,i as gr,it as _r,j as vr,jt as yr,kt as br,l as xr,lt as Sr,m as Cr,mt as wr,n as Tr,nt as Er,o as Dr,ot as Or,pt as kr,q as Ar,qt as K,r as jr,rt as Mr,st as Nr,ut as Pr,vt as Fr,wt as Ir,xt as Lr,yt as Rr,z as zr,zt as Br}from"./reader-B0gVhfoZ.js";import{a as Vr,t as Hr}from"./live-ingress-lDUGPwth.js";import{t as Ur}from"./trace-record-C3zNksA_.js";import{C as Wr,E as Gr,T as Kr,_ as qr,c as Jr,g as Yr,i as Xr,l as Zr,u as Qr,w as $r,y as ei}from"./turn-client-DwVPS3TX.js";import{n as ti,t as ni}from"./live-messages-BYi31jQk.js";import{n as ri,r as ii}from"./lent-keys-C32ems-I.js";import{at as ai,ct as oi,gt as si,ht as ci,it as li,lt as ui,mt as di,nt as fi,ot as pi,pt as mi,st as hi}from"./index-DS-hdSzr.js";function gi(){return{given:new Set,remote:new Map}}var _i=/[\p{L}\p{N}_.+-]/u,vi=/[\p{L}\p{N}_-]/u,yi=/(?:https?:\/\/|www\.)[^\s'"<>)\]]+/gi,bi=/\b[A-Z]{2}\d{2}[A-Z0-9]{10,30}\b/g,xi=/[/?#]/;function Si(e,t){let n=t;for(;n<e.length;){let t=String.fromCodePoint(e.codePointAt(n)??0);if(!vi.test(t))break;n+=t.length}return n}function Ci(e,t){let n=Si(e,t);if(n===t)return-1;let r=1;for(;e.charAt(n)===`.`;){let t=Si(e,n+1);if(t===n+1)break;n=t,r+=1}return r>1?n:-1}function wi(e){let t=e.length;for(;t>0&&(e.charAt(t-1)===`.`||e.charAt(t-1)===`,`);)--t;return e.slice(0,t)}function Ti(e){let t=[],n=e.indexOf(`@`);for(;n>=0;){let r=n;for(;r>0&&_i.test(e.charAt(r-1));)--r;let i=r<n?Ci(e,n+1):-1;i>=0?(t.push({key:`email:${e.slice(r,i).toLowerCase()}`,start:r,end:i}),n=e.indexOf(`@`,i)):n=e.indexOf(`@`,n+1)}return t}function Ei(e){let t=e.replace(/^https?:\/\//i,``),n=t.search(xi),r=n<0?t:t.slice(0,n);return wi(r.slice(r.lastIndexOf(`@`)+1).replace(/:\d*$/,``).toLowerCase()).replace(/^www\./,``)}function Di(e){let t=Ti(e),n=e;for(let{start:e,end:r}of t)n=n.slice(0,e)+` `.repeat(r-e)+n.slice(r);let r=[...t];for(let e of[...n.matchAll(yi)]){let t=Ei(e[0]);t&&r.push({key:`host:${t}`,start:e.index,end:e.index+e[0].length})}for(let e of[...n.matchAll(bi)])r.push({key:`account:${e[0].toLowerCase()}`,start:e.index,end:e.index+e[0].length});return r}function Oi(e){let t=e.trimStart().charAt(0);if(t===`{`||t===`[`)try{return JSON.parse(e)}catch{return}}var ki=32;function Ai(e,t,n=0){if(!(n>ki)){if(typeof e==`string`){let r=Oi(e);r===void 0?t(e):Ai(r,t,n+1)}else if(Array.isArray(e))for(let r of e)Ai(r,t,n+1);else if(e&&typeof e==`object`)for(let r of Object.values(e))Ai(r,t,n+1)}}function ji(e,t=!1){let n=new Set;return Ai(e,e=>{let r=e.trim(),i=Di(r),[a]=i,o=i.length===1&&a?.start===0&&a.end===r.length;if(!(t&&o))for(let{key:e}of i)n.add(e)}),n}function Mi(e,t){for(let n of ji(t))e.given.add(n)}function Ni(e,t,n){for(let r of t)r.role===`assistant`||r.role===`tool`||n.has(r)||Mi(e,Ut(r).text)}function Pi(e,t,n){Mi(e,t.system),n.has(t.input)||Mi(e,Ut(t.input).text),Ni(e,t.history??[],n)}function Fi(e,t,n){if(!Ct(n.origin)){Mi(e,[t.finding,t.data]);return}let r=Oi(t.finding),i=new Set([...r===void 0?ji(t.finding):ji(r,!0),...ji(t.data,!0)]);for(let t of i)e.remote.has(t)||e.remote.set(t,n.tool)}function Ii(e,t,n,r){if(!e||e.remote.size===0)return{verdict:{action:`allow`}};let i=[...ji(t)].filter(t=>e.remote.has(t)&&!e.given.has(t));if(i.length===0)return{verdict:{action:`allow`}};let a=i.map(e=>e.slice(e.indexOf(`:`)+1)),o=a.map(e=>({rule:tn.remoteDestination,severity:`high`,match:e})),s={destination:a.join(`, `),sources:[...new Set(i.map(t=>e.remote.get(t)??``))].join(`, `)},c=n.taint?.remoteDestination??`off`;return c===`block`?{verdict:{action:`block`,hits:o,rejection:W(`taint.destination_blocked`,s,r)}}:{verdict:{action:`flag`,hits:o},...c===`confirm`?{confirm:W(`taint.destination_confirm`,s,r)}:{}}}var Li={image:`thought.omitted_image`,link:`thought.omitted_link`,instructions:`thought.omitted_instructions`},Ri={rule:Zt.ungiven_images,severity:`high`},zi={rule:Zt.ungiven_links,severity:`high`},Bi={rule:Zt.marker_leak,severity:`high`};function Vi(e,t,n=!1){let r=e.pieces[0];for(let i of e.pieces){if(i.raw>t||n&&i.raw===t&&t>0)break;r=i}return r?r.mark?n?r.mark.end:r.mark.start:r.shown+t-r.raw:t}function Hi(e){let t=[];for(let n of[...e].sort((e,t)=>e.start-t.start)){let e=t.at(-1);e&&n.start<e.end?e.end=Math.max(e.end,n.end):t.push({...n})}return t}var Ui=8,Wi=16;function Gi(e){let{omit:t={},canary:n,privateSystem:r,ends:i,given:a,labels:o}=e,s=[...t.markers?[`marker_leak`]:[],...t.images?[`ungiven_images`]:[],...t.links?[`ungiven_links`]:[]],c=t.imagesRead??t.images!==void 0,l=n??e.planted,u=Sn({canary:l,labels:o}),d=e=>({...e,...a?{given:a}:{}});function f(e,t){let n=W(Li[e],{},o);return/\s$/.test(t)?n.trimStart():n}let p=n||r?e.carry??``:``,m=``,h,g,_=0,v=0,y,b=[],x=0,S=!1,C=0,w=new Map;function T(e){return h=s.length>0?nr({detect:s,allow:{ungiven_images:t.images??{},ungiven_links:t.links??{}},skipImages:c,...a?{given:a}:{},...u?{note:u}:{}}):void 0,g=n?Kt(n):void 0,_=0,v=0,E(e)}function E(e){v+=e.length;let t=(h?.push(e).length??0)>0,n=g?.push(e)??!1,i=!1;if(r){let e=(p+m).slice(0,v),t=Lt(e,_);i=It(e.slice(t),r,l).length>0,_=e.length}return t||n||i}function D(e){let i=[];if(t.images)for(let n of gn(e,d(t.images)))i.push({...n,kind:`image`,hit:Ri});if(t.links)for(let n of an(e,d(t.links),c))i.push({...n,kind:`link`,hit:zi});if(t.markers){let t=[new RegExp(Ot.source,`gi`),...u?[on(u)]:[]];for(let n of t.flatMap(t=>[...e.matchAll(t)])){let e=n.index;i.push({start:e,end:e+n[0].length,kind:`instructions`,hit:Bi})}}if(n)for(let[t,r]of Tn(e,n))i.push({start:t,end:r,kind:`instructions`,hit:_n});if(r)for(let[t,n]of It(e,r,l))i.push({start:t,end:n,kind:`instructions`,hit:ln});return i}function O(e){return b.find(t=>t.start<e&&e<t.end)}function k(e,t){let n=p+m,r=``,i=e;for(let a of b)a.end<=e||a.start>=t||(r+=n.slice(i,a.start)+a.raw,i=a.end);return r+n.slice(i,t)}function A(){let e=p+m;for(let t=xn;;t*=2){let n=p.length,i=0;for(let e=b.length-1;n>0&&i<t;){let r=b[e];if(r&&r.end>n)e--;else if(r&&r.end===n)i+=r.raw.length,n=r.start,e--;else{let e=Math.max(r?.end??0,n-(t-i));i+=n-e,n=e}}if(b=b.filter(e=>e.end>n),b.length===0)return;let a={text:``,held:0,pieces:[]},o=n;for(let t of[...b,void 0]){let n=t?t.start:e.length;if(n>o&&a.pieces.push({raw:a.text.length,shown:o}),o<=p.length&&p.length<=n&&(a.held=a.text.length+p.length-o),a.text+=e.slice(o,n),!t)break;a.pieces.push({raw:a.text.length,shown:t.start,mark:t}),a.text+=t.raw,o=t.end}if(!r||n===0||Lt(a.text,a.held)>0)return a}}function ee(){let e=A();if(!e)return[];let t=[];if(n)for(let[r,i]of Tn(e.text,n))t.push([r,i,_n]);if(r)for(let[n,i]of It(e.text,r,l))t.push([n,i,ln]);let i=[];for(let[n,r,a]of t){if(r<=e.held)continue;let t=Vi(e,n),o=Vi(e,r,!0),s=!1;for(let e=Math.max(t,p.length);e<o&&!s;e++)s=!b.some(t=>t.start<=e&&e<t.end);s&&i.push({start:t,end:o,kind:`instructions`,hit:a})}return i}function te(){return Hi([...D(p+m),...ee()])}function j(){return te().filter(({end:e})=>e>p.length)}function ne(e,t=!1){let n=O(e);return n?t?n.end:n.start:e}function M(e){let t=j(),n=p+m,r=t.at(-1),a=!e&&r!==void 0&&r.end>=n.length?r:void 0,o=a?t.slice(0,-1):t,s=b.filter(e=>e.end<=p.length),c=``,l=p.length,u=e=>{let t=p.length+c.length-l;for(let n of b)n.start>=l&&n.end<=e&&s.push({...n,start:n.start+t,end:n.end+t});c+=n.slice(l,Math.max(l,e)),l=Math.max(l,e)};for(let{start:e,end:t,kind:r,hit:a}of o){u(ne(e)),S=i?.has(a.rule)??!1;let o=S?n.length:Math.max(l,ne(t,!0)),d=f(r,p+c),m=p.length+c.length;if(s.push({start:m,end:m+d.length,raw:k(l,o)}),c+=d,w.set(a.rule,a),l=o,S)break}return y=void 0,a&&!S&&(u(ne(a.start)),y=p.length+c.length),u(n.length),b=s,m=c,x=0,o.length>0}function re(){let e=te()[0],t=e?Math.max(0,ne(e.start)-p.length):0,n=m.slice(0,t),r=f(e?.kind??`instructions`,p+n),i=p.length+t,a=k(i,p.length+m.length);b=b.filter(e=>e.end<=i),b.push({start:i,end:i+r.length,raw:a}),m=n+r,x=0,e&&w.set(e.hit.rule,e.hit),y=void 0,S=!0}function ie(){let e=p+m;return y===void 0?e:e.slice(0,y)}function ae(){for(let e=0;e<Ui&&!(C>=Wi);e++){let e=new Set(b.map(e=>e.start));if(!M(!1)){if(y===void 0)break;return}if(S||(b.some(t=>!e.has(t.start))&&C++,!T(ie())))return}re()}function N(){let e=p.length+m.length,t=h?h.holdFrom():e,i=n?oe(n):e,a=r?p.length+Gt(m,r,l):e,o=Math.min(t,i,a,se()??e,y??e);return ne(o<p.length?o:p.length+At(m,o-p.length))}function oe(e){let t=Math.max(p.length,x),n=Math.max(0,t-vn),r=n+nn(P(n),e);if(r<t&&t>p.length){let t=Math.max(0,p.length-vn);r=t+nn(P(t),e)}return x=Math.min(r,p.length+m.length-vn),Math.max(p.length,r)}function P(e){return e<p.length?p.slice(e)+m:m.slice(e-p.length)}function se(){let e=A();if(!e)return;let t=e.text.slice(e.held),i=n?Qt(t,n,e.text.slice(0,e.held)):t.length,a=r?Gt(t,r,l):t.length;return Vi(e,e.held+Math.min(i,a))}function ce(e){let t={text:e,hits:[...w.values()]};return w=new Map,t}return T(p),{push(e){if(S||!e||(m+=e,(y!==void 0||E(e)||ee().length>0)&&ae(),S))return ce(``);let t=Math.max(0,N()-p.length),n=m.slice(0,t);return p+=n,m=m.slice(t),ce(n)},flush(){if(!S){for(let e=0;e<Ui&&!S&&M(!0);e++);!S&&m&&(D(p+m).length>0||ee().length>0)&&re()}let e=m,t=p+m;p=n||r?Ft(t,n,r):``;let i=p.length-t.length;return b=b.filter(e=>e.start+i>=0).map(e=>({...e,start:e.start+i,end:e.end+i})),m=``,x=0,y=void 0,S=!1,C=0,T(p),ce(e)},carryOut:()=>p}}function Ki(...e){let t=e.filter(e=>e!==void 0);return t.length===0?{}:{found:{action:t.reduce((e,t)=>Jt(e,t.action),`allow`),hits:[...new Map(t.flatMap(({hits:e})=>e).map(e=>[e.rule,e])).values()]}}}function qi(e,t,n,r){let i=()=>$n(`thought`,t,n,r),a=i();if(!a)return e;let o=0,s=0,c=!1;function l(e){if(c||!a)return{text:``};let t=e?o:Math.max(s,a.holdFrom()),{action:n,text:r=``,hits:i,taken:l}=a.take(s,t,e);return c=n===`block`,s+=l,{text:r,...n===`allow`?{}:{found:{action:n,hits:i}}}}return{push(t){o+=t.length,a?.push(t);let{text:n,found:r}=l(!1),i=e?e.push(n):{text:n,hits:[]};return{text:i.text,hits:i.hits,...Ki(r,i.found)}},flush(){let{text:t,found:n}=l(!0),r=e?.push(t),u=e?e.flush():{text:t,hits:[]};return a=i(),o=0,s=0,c=!1,{text:(r?.text??``)+u.text,hits:[...new Map([...r?.hits??[],...u.hits].map(e=>[e.rule,e])).values()],...Ki(n,r?.found,u.found)}},carryOut:()=>e?.carryOut()??``}}var Ji={canary_leak:_n,prompt_leak:ln,marker_leak:Bi,ungiven_images:Ri,ungiven_links:zi},Yi=[`marker_leak`,`ungiven_images`,`ungiven_links`];function Xi(e,t){let{canary:n,privateSystem:r}=e,i=n?Kt(n):void 0,a=``,o=new Set;return{read(e){let n=Lt(a+e,a.length);a+=e;let s=[];i?.push(e)&&s.push(_n),r&&It(a.slice(n),r,t).length>0&&s.push(ln);let c=s.filter(e=>!o.has(e.rule));for(let e of c)o.add(e.rule);return c},reset(){i=n?Kt(n):void 0,a=``,o=new Set}}}function Zi(e,t,n,r){let i=Xi(n,r),a=new Map(Object.entries(Ji).map(([e,n])=>[n.rule,t[e].thought]));function o(e,t){let n=[...t,...e.hits.filter(e=>a.has(e.rule))];if(n.length===0)return e;let r=n.reduce((e,t)=>Jt(e,a.get(t.rule)??`ignore`),e.found?.action??`allow`);return{text:e.text,hits:e.hits.filter(e=>!a.has(e.rule)),found:{action:r,hits:[...e.found?.hits??[],...n]}}}return{push:t=>o(e.push(t),i.read(t)),flush(){return i.reset(),o(e.flush(),[])},carryOut:()=>e.carryOut()}}async function Qi(e,t,n){let{detect:r}=e,i=Yi.filter(e=>$i(r,e)),a=ta(r,t,$i),o=ta(r,t,(e,t)=>e[t].thought===`flag`),s=i.length>0||na(a)||na(o),c=jt(e,t);(s||Vt([`thought`],r,c))&&await In();let l=s?Gi({omit:ea(e),...a,...ra(r),...ia(t),...n?{carry:n}:{}}):void 0;return qi(l&&Zi(l,r,o,t.canary),r,c,i)}function $i(e,t){return e[t].thought===`redact`||e[t].thought===`block`}function ea({detect:e,allow:t}){return{...$i(e,`marker_leak`)?{markers:!0}:{},...$i(e,`ungiven_images`)?{images:t.ungiven_images}:{},...$i(e,`ungiven_links`)?{links:t.ungiven_links}:{},imagesRead:e.ungiven_images.thought!==`ignore`}}function ta(e,t,n){let r=n(e,`canary_leak`)&&!t.canaryGiven&&t.canary,i=n(e,`prompt_leak`)&&t.privateSystem;return{...r?{canary:r}:{},...i?{privateSystem:i}:{}}}function na(e){return e.canary!==void 0||e.privateSystem!==void 0}function ra(e){let t=new Set(Object.entries(Ji).filter(([t])=>e[t].thought===`block`).map(([,e])=>e.rule));return t.size>0?{ends:t}:{}}function ia({canary:e,givenUrls:t,labels:n}){return{...e?{planted:e}:{},...t?{given:t}:{},...n?{labels:n}:{}}}var aa={rule:`live.untranscribed-audio`,severity:`high`};async function oa(e,t,n,r,i){let a=z(e.guardrails),o={stage:`live_outbound`,trust:`untrusted`,profileId:e.id,...Bt(a.detect,{canary:t,privateSystem:n}),...e.labels?{labels:e.labels}:{},...r?{givenUrls:r}:{},...i?{ownTools:i}:{}},s=await Qi(a,o);return{policy:a,context:o,gate:await jn(a,o,`live_reply`),held:[],releasedTo:0,withholdVisible:!1,...s?{thoughts:s}:{}}}function sa(e){let t=e.gate?.carryOut();e.gate=er(e.policy,e.context,`live_reply`,t),e.held=[],e.releasedTo=0,e.withholdVisible=!1,e.promptLeaks=void 0}function ca(e,t,n=[]){let r=Hn(`live_outbound`,`untrusted`,t,`block`);return{action:`withhold`,error:new H(`safety`,e),events:[...n,...r?[r]:[]]}}function la(e){return e.accumulated().length-e.unreleased().length}function ua(e,t,n,r,i=!1){let a=t.accumulated();for(let t=e.held[0];t!==void 0;t=e.held[0]){let{event:o}=t;if(o.type!==`media`){let i=Math.max(t.start,e.releasedTo),s=Math.min(t.end,n);s>i&&(r.push({...o,text:a.slice(i,s)}),e.releasedTo=s)}if(t.end>n&&!(i&&o.type===`media`))return;o.type===`media`&&r.push(o),e.held.shift()}}function da(e,t,n,r){if(!n.blocked){let i=n.found&&dn(`live_reply`,n.found);i&&r.push(K(i)),ua(e,t,la(t),r);return}let i=n.hits.filter(Yt);i.length>0&&(e.promptLeaks=i),e.withholdVisible=!0;let a=n.boundary?void 0:Hn(`live_outbound`,`untrusted`,n.hits,`block`);a&&r.push(a)}function fa(e,t,n){e.withholdVisible||e.held.length===0||da(e,t,t.flush(),n)}function pa(e,t,n,r){let i=t.accumulated().length;e.held.push({event:n,start:i,end:r?i:1/0})}function ma(e,t){for(let n=e.held.length-1;n>=0;--n){let r=e.held[n];if(r===void 0||r.end!==1/0)return;r.end=t}}function ha(e,t,n,r){let i=n.text??``;if(!i)return;let a=t.accumulated().length;ma(e,a+i.length),e.held.push({event:n,start:a,end:a+i.length});let o=t.process(i);e.withholdVisible||da(e,t,o,r)}function ga(e,t){let n=[],{gate:r}=e;if(!r){let{thoughts:n}=e;return ba(n?t.flatMap(e=>e.type===`thought`?_a(n.push(e.text),e):[e]):t)}let i=!1;for(let a of t){if(Mt(a)){i||=!!a.text,ha(e,r,a,n);continue}if(a.type===`media`){pa(e,r,a,i),e.withholdVisible||ua(e,r,la(r),n);continue}fa(e,r,n),va(a)&&ya(e,r,n);let t=a.type===`tool`?void 0:Rt(a,e.context,e.policy.detect,`live_reply`);if(t?.stop)return ca(Xt(t.hits),t.hits,n);if(t){let e=dn(`live_reply`,{action:`flag`,hits:t.hits});e&&n.push(K(e))}a.type===`thought`&&e.thoughts?n.push(..._a(e.thoughts.push(a.text),a)):n.push(a)}return ba(n)}function _a({text:e,hits:t,found:n},r){let i=n&&dn(`thought`,n),a=Hn(`thought`,`untrusted`,t,`redact`);return[...i?[K(i)]:[],...a?[a]:[],...e?[{...r,text:e}]:[]]}function va(e){return e.type===`done`&&e.stop?.kind===`generation_complete`}function ya(e,t,n){let r=t.accumulated().length;e.withholdVisible||r===0||la(t)<r||ua(e,t,r,n,!0)}function ba(e){return e.length===0?{action:`idle`}:{action:`emit`,events:e}}function xa(e,t,n){let{detect:r,blockedReply:i}=e.policy,a=S({text:t.accumulated()},r,{boundary:`live_reply`,...e.withholdVisible?{reportedTo:la(t)}:{},scope:jt(e.policy,e.context)}),o=t.accumulated().slice(0,e.releasedTo),s=O(a,e.promptLeaks),c=s&&s!==a.blocked?Hn(`live_outbound`,`untrusted`,s,`block`):void 0,l=[...n,...a.events.map(K),...c?[c]:[]];if(s){if(i.onBlock===`refuse`){let t=yt(o,e.context.labels);return{action:`emit`,events:[...l,{type:`text`,text:t}]}}return{action:`withhold`,error:new H(`safety`,zt.egress),events:l}}if(a.rewritten){let e=xe(o,a.payload.text);return{action:`emit`,events:[...l,{type:`text`,text:e}]}}return ua(e,t,t.accumulated().length,l,!0),ba(l)}function Sa(e,t){if(e.held.length===0)return t;let n=Hn(`live_outbound`,`untrusted`,[aa],`block`);return n?[...t,n]:t}function Ca(e,t){let n=[];return fa(e,t,n),t.accumulated()?xa(e,t,n):ba(Sa(e,n))}function wa(e){let t=e.thoughts?_a(e.thoughts.flush(),{type:`thought`,text:``}):[];if(!e.gate)return ba(t);let n=Ca(e,e.gate);return sa(e),t.length===0?n:n.action===`idle`?{action:`emit`,events:t}:{...n,events:[...t,...n.events??[]]}}function Ta(e){e.thoughts?.flush(),sa(e)}var Ea=d().int().positive().max(2**53-1),Da=Ea.max(2147483647),Oa=t({operationTimeoutMs:Da,connectTimeoutMs:Da,liveStepTimeoutMs:Da,maxWireRecordBytes:Ea,maxWireResponseBytes:Ea,maxEventBytes:Ea,maxStepBytes:Ea,maxStepEvents:Ea,maxPendingToolCalls:Ea});function ka(e={}){return Object.freeze(Oa.parse({operationTimeoutMs:12e4,connectTimeoutMs:3e4,liveStepTimeoutMs:12e4,maxWireRecordBytes:16777216,maxWireResponseBytes:67108864,maxEventBytes:16777216,maxStepBytes:67108864,maxStepEvents:1e5,maxPendingToolCalls:32,...e}))}var Aa=/key|auth|cookie|secret|token/i;function ja(e,t){return Aa.test(e)?`[redacted]`:t}function Ma(e){let t={};for(let[n,r]of new Headers(e).entries())t[n]=ja(n,r);return t}function Na(e){return e instanceof Error?{eventType:`http_throw`,name:e.name,message:e.message}:{eventType:`http_throw`,name:`Error`,message:String(e)}}function Pa(e){if(e==null)return{};if(typeof e!=`string`)return{bodyKind:e.constructor.name};try{return{body:JSON.parse(e)}}catch{return{body:e}}}function Fa(e,t=fetch,n){return e?async(r,i)=>{e({eventType:`http_request`,method:i?.method??`GET`,url:String(r),headers:Ma(i?.headers),...n?{keySlot:n}:{},...Pa(i?.body)});try{let n=await t(r,i);return e({eventType:`http_response`,status:n.status,headers:Ma(n.headers)}),n.ok||e({eventType:`http_error_body`,body:await n.clone().text()}),n}catch(t){throw e(Na(t)),t}}:t}function Ia(e){return e instanceof H||F(e)||ee(e)?e:new H(`network`,Ze(e),{cause:e})}function La(e=fetch){return async(t,n)=>{try{return await e(t,n)}catch(e){throw Ia(e)}}}var Ra=[1e3,2e3,4e3,8e3],za=5e3,Ba=Ra.length,Va=1e3,Ha=new Set([408,429,500,502,503,504,529]),Ua=(e,t)=>new Promise((n,r)=>{if(t?.aborted){r(Wa(t));return}let i=setTimeout(()=>{t?.removeEventListener(`abort`,a),n()},e);function a(){clearTimeout(i),r(Wa(t))}t?.addEventListener(`abort`,a,{once:!0})});function Wa(e){return e.reason??new DOMException(`The operation was aborted.`,`AbortError`)}function Ga(e){return Ha.has(e)}function Ka(e){let t=Ia(e);return t instanceof H&&t.kind===`network`}function qa(e){return Ra[Math.min(e,Ra.length-1)]}function Ja(e,t=Date.now()){let n=e.get(`retry-after-ms`),r=e.get(`retry-after`),i;if(n!==null&&n.trim()!==``&&Number.isFinite(Number(n)))i=Number(n);else if(r!==null&&r.trim()!==``){let e=Number(r);i=Number.isFinite(e)?e*Va:Date.parse(r)-t}if(!(i===void 0||Number.isNaN(i)||i<0))return i}function Ya(e,t=Ua,n=()=>1/0){return async(r,i)=>{let a=0;for(let o=0;;o++){let s=Math.min(za-a,n()),c;try{let t=await e(r,i);if(!Ga(t.status)||(c=Ja(t.headers)??qa(o),c>s||o>=Ba))return t;await t.body?.cancel()}catch(e){if(c=qa(o),!Ka(e)||c>s||o>=Ba)throw e}await t(c,i?.signal),a+=c}}}var Xa=`[DONE]`;function Za(e){if(e&&typeof e==`object`&&!Array.isArray(e))return e}function Qa(e,t){let n=e.startsWith(`data:`)?e.slice(5).replace(/^ /,``):e,r={};if(t&&(r.sseEvent=t),n===Xa)return r.eventType=`sse_done`,r;try{let e=JSON.parse(n),t=Za(e);return t?{...t,...r}:(r.eventType=`sse_unparsed`,r.data=e,r)}catch{return r.eventType=`sse_unparsed`,r.data=n,r}}function $a(e,t=``){let n=[],r=t,i=[],a=!1,o=0,s=/\r\n|\r|\n/g,c=0;for(let t=s.exec(e);t&&(t[0]!==`\r`||t.index!==e.length-1);t=s.exec(e)){let s=e.slice(c,t.index);if(c=t.index+t[0].length,!s)a&&n.push(Qa(i.join(`
3
3
  `),r)),r=``,i=[],a=!1,o=c;else if(!s.startsWith(`:`)){let e=s.indexOf(`:`),t=e<0?s:s.slice(0,e),n=e<0?``:s.slice(e+1).replace(/^ /,``);t===`event`&&(r=n),t===`data`&&(i.push(n),a=!0)}}return{rest:e.slice(o),payloads:n,pendingEvent:``}}async function*eo(e){let t=e.getReader(),n=new TextDecoder,r=``,i=!1;try{for(;;){let{done:e,value:a}=await t.read();if(e){i=!0;break}r+=n.decode(a,{stream:!0});let o=$a(r);r=o.rest;for(let e of o.payloads)yield e}}finally{i||t.cancel().catch(()=>void 0),t.releaseLock()}}var to=`key_fallback`,no=1e6;function ro(e,t){let n=e.models[t];if(n)return n;let r;for(let[n,i]of Object.entries(e.models))n.endsWith(`*`)&&t.startsWith(n.slice(0,-1))&&n.length-1>(r?.prefix.length??-1)&&(r={prefix:n.slice(0,-1),price:i});return r?.price}function io(e,t,n,r){let i=e,a=0;for(let[e,t]of Object.entries(n??{})){let n=Math.min(r?.[e]??0,i);a+=n*t,i-=n}return a+i*t}function ao(e,t,n){let r=ro(e,t);if(!r)return;let i=r.longContext&&n.input>r.longContext.above?r.longContext:r,a=Math.min(n.cached??0,n.input);return{usd:(a*(i.cachedInput??i.input)+io(n.input-a,i.input,i.byModality?.input,n.byModality?.input)+io(n.output,i.output,i.byModality?.output,n.byModality?.output))/no,estimated:!0}}function oo(e){return(t,n)=>{if([...n.headers.keys()].length)throw new H(`unsupported`,W(`protocol.ws_headers`,{provider:e}));return Promise.resolve(new WebSocket(t,n.protocols))}}var so=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789`,co=248;function lo(){let e=``;for(;e.length<24;)for(let t of crypto.getRandomValues(new Uint8Array(24-e.length)))t<co&&(e+=so[t%62]);return e}function uo(e){return De(e.provider,e.binding)}var fo=new WeakMap;function po(e,t){return e&&Object.hasOwn(e,t)?e[t]:void 0}async function mo(e,t,n){let{definition:r}=e.provider,i=t.authorize??r.authorize;if(!r.key||!i)return;let a=n?po(e.vault,n):void 0,o=typeof a==`function`?await a({providerId:e.provider.id,apiId:e.binding.apiId,keySlot:n,...e.signal?{signal:e.signal}:{}}):a,s=typeof o==`string`?o.trim()||void 0:o,c=r.key.safeParse(s);if(!c.success||n&&s===void 0)throw new H(`auth`,s===void 0?W(`provider.credential_missing`,{slot:n??``}):W(`protocol.key_invalid`,{slot:n??``,provider:e.provider.id}));if(c.data===void 0)return;e.onKey?.(n,c.data);let l=`${t.protocol.id}\u0000${n??``}`,u=fo.get(e.provider)??new Map;fo.set(e.provider,u);let d=u.get(l);if(d&&JSON.stringify(d.key)===JSON.stringify(c.data))return d.signer;let f=i(c.data);return u.set(l,{key:c.data,signer:f}),f}function ho(e,t,n,r){return e.url?new URL(e.url({path:t,apiId:n,stream:r})):new URL(e.baseUrl.replace(/\/+$/,``)+(t.startsWith(`/`)?t:`/${t}`))}async function*go(e,t){let n=e.headers.get(`content-type`)??``;if(!t&&!/json/i.test(n)){let t=new Uint8Array(await e.arrayBuffer());yield{eventType:`http_body`,mime_type:n,data:bn(t)}}else if(!t)yield await e.json();else if(e.body)for await(let t of eo(e.body)){if(t.eventType===`sse_done`)return;yield t}}function _o(e){let t=e.split(/\r?\n/).filter(e=>e.startsWith(`data:`)).map(e=>e.slice(5).trim()).join(`
4
4
  `);for(let n of t?[e,t]:[e])try{return JSON.parse(n)}catch{}return e}async function vo(e,t,n){let r=_o(await n.text()),i=e.error?.({status:n.status,body:r,headers:n.headers})??new H(ne(n.status),W(`protocol.http`,{provider:t,status:n.status}));return Object.assign(i,{status:n.status})}function yo(e){return e.builtins.map(e=>e.id)}function bo(e,t,n=[]){let r=t.find(e=>!n.includes(e));if(r!==void 0)throw new H(`unsupported`,W(`protocol.builtin_unwritten`,{protocol:e.id,tool:r}))}async function xo(e){return typeof e==`string`?e:e instanceof ArrayBuffer?new TextDecoder().decode(e):typeof Blob<`u`&&e instanceof Blob?await e.text():String(e)}function So(e){try{let t=JSON.parse(e);if(t&&typeof t==`object`&&!Array.isArray(t))return t}catch{}return{eventType:`ws_unparsed`,data:e}}function Co(e,t){let n=[],r=[],i,a=!1,o=Promise.resolve(),s=e=>{t(e),n.push(e),i?.()},c=e=>{o=o.then(e)};return e.addEventListener(`open`,()=>{for(let t of r.splice(0))e.send(t)}),e.addEventListener(`message`,e=>c(async()=>{let t=await xo(e.data);t.trim()&&s(So(t))})),e.addEventListener(`error`,()=>c(()=>s({eventType:`ws_error`}))),e.addEventListener(`close`,e=>c(()=>{let{code:t,reason:n}=e;s({eventType:`ws_close`,code:t,reason:n}),a=!0})),{send(n,i){t({eventType:`ws_send`,body:n,...i?.length?{input:C.parse(i)}:{}});let a=JSON.stringify(n);e.readyState===WebSocket.CONNECTING?r.push(a):e.send(a)},async*frames(){for(;;){let e=n.shift();if(e)yield e;else if(a)return;else await new Promise(e=>i=e)}},close(t,n){(e.readyState===WebSocket.CONNECTING||e.readyState===WebSocket.OPEN)&&e.close(t,n)}}}function wo(e,t,n,r={sent:!1},i=[]){let a=uo(e),{protocol:o}=a,{apiId:s}=e.binding,c=(`builtInTools`in e.binding?e.binding.builtInTools:void 0)??[],l=t=>{e.tapUpstream?.(t),e.rawRows&&n.push(t)},u=t=>{let n=t??o.endpoints[e.profileType];if(n===void 0)throw new H(`unsupported`,W(`protocol.profile_type`,{protocol:o.id,profileType:e.profileType}));return n};return{profileType:e.profileType,apiId:s,options:e.binding.options??{},builtInTools:c,limits:e.limits??ka(),...e.signal?{signal:e.signal}:{},tapUpstream:l,async*send(n,c){bo(o,i,c.wroteTools);let d=new Headers({"content-type":`application/json`});c.stream&&d.set(`accept`,`text/event-stream`);for(let[e,t]of Object.entries(a.headers??{}))d.set(e,t);for(let[e,t]of Object.entries(c.headers??{}))d.set(e,t);let f={transport:`http`,url:ho(a,u(c.path),s,c.stream),headers:d,protocols:[],body:JSON.stringify(n)};await(await mo(e,a,t))?.sign(f);let p=Ya(Fa(e.tapUpstream&&(t=>e.tapUpstream?.(t)),La(e.fetch??fetch),t),e.wait??Ua,e.timeLeft);r.sent=!0;let m=await p(f.url,{method:`POST`,headers:f.headers,body:f.body??null,...e.signal?{signal:e.signal}:{}});if(!m.ok)throw await vo(o,e.provider.id,m);for await(let e of(o.framing??go)(m,c.stream))l(e),yield e},async connect(n,c){bo(o,i,c?.wroteTools);let d={transport:`ws`,url:ho(a,u(void 0),s,!0),headers:new Headers(a.headers),protocols:[]};await(await mo(e,a,t))?.sign(d);let f=e.openWebSocket??oo(e.provider.id);r.sent=!0;let p=Co(await f(d.url.toString(),{headers:d.headers,protocols:d.protocols}),l);return p.send(n),p}}}function To(e,t){return e instanceof H&&e.kind===t}async function*Eo(e,t){let{keySlot:n,fallbackKeySlot:r}=ge(e.provider,e.binding),i=n,a=!1,o=!1;for(;;){let n=!1;try{for await(let e of t(i,a))n=!0,yield e;return}catch(t){if(n)throw t;if((To(t,`rate_limit`)||To(t,`busy`))&&r&&i!==r&&Do(e,r))e.tapUpstream?.({eventType:to,from:i??null,keySlot:r,errorKind:t.kind,error:t.message}),i=r,a=!0;else if(To(t,`auth`)&&!o){o=!0;let t=uo(e);fo.get(e.provider)?.get(`${t.protocol.id}\u0000${i??``}`)?.signer.invalidate?.()}else throw t}}}function Do(e,t){let n=po(e.vault,t);return typeof n==`string`?n.trim()!==``:typeof n==`function`||typeof n==`object`&&!!n}function Oo(e){if(!(e instanceof H)||e.kind===`cancelled`||e.kind===`config`)throw e;return{type:`error`,errorKind:e.kind,errorInternal:e.message,...e.copy?{errorCopy:e.copy}:{}}}function ko(e){if(e.state===void 0)return e;if(!e.history?.length)throw new H(`request`,W(`protocol.history_needed`));let{state:t,stateHistoryLength:n,...r}=e;return r}function Ao(e){let t=new Map,n=e=>{let n=t.get(e);if(n)return n;let r=lo();return t.set(e,r),r},r=e.provider.definition.prices;return{finish:t=>{switch(t.type){case`tool_call`:return{...t,call:{...t.call,callId:n(t.call.callId),wireCallId:t.call.callId}};case`tool_cancel`:case`tool_draft`:return{...t,callId:n(t.callId)};case`reasoning`:return{...t,origin:{protocol:t.origin?.protocol??e.binding.protocol,provider:e.provider.id,apiId:e.binding.apiId}};case`tokens`:{if(t.tokens.cost||!r)return t;let n=ao(r,e.binding.apiId,t.tokens);return n?{...t,tokens:{...t.tokens,cost:n}}:t}default:return t}},wireOf:e=>{for(let[n,r]of t)if(r===e)return n;return e}}}function jo(e,t){let n=e.provider.definition.prices;if(!t.usage||t.usage.costUsd!==void 0||!n)return t;let{inputTokens:r,outputTokens:i}=t.usage,a=ao(n,t.model,{input:r,output:i,total:r+i});return a?{...t,usage:{...t.usage,costUsd:a.usd,estimated:!0}}:t}function Mo(e){return uo(e).protocol}function No(e,t,n){let r=t[n];if(!r)throw new H(`unsupported`,W(`protocol.no_operation`,{protocol:e.id,operation:n}));let i=r;return((...e)=>i.apply(t,e))}async function Po(e,t,n){let r=Mo(e);for await(let i of Eo(e,i=>(async function*(){let a=r.create(wo(e,i,[]));yield await No(r,a,t)(n)})()))return i;throw new H(`internal`,W(`provider.decision_failed`))}function Fo(e){let t=Mo(e);return{async*complete(n){let{finish:r}=Ao(e),i=[],a={sent:!1},o=Eo(e,(r,o)=>{a.sent=!1;let s=t.create(wo(e,r,i,a,yo(n)));return No(t,s,`complete`)(o?ko(n):n)});try{for await(let e of o){for(let e of i.splice(0))yield{type:`raw`,row:e};yield r(e)}}catch(e){for(let e of i.splice(0))yield{type:`raw`,row:e};if(!a.sent)throw e;yield Oo(e);return}for(let e of i.splice(0))yield{type:`raw`,row:e}},async openSession(n){let{finish:r,wireOf:i}=Ao(e),a=[],o;for await(let r of Eo(e,(r,i)=>(async function*(){let o=t.create(wo(e,r,a,void 0,yo(n)));yield await No(t,o,`openSession`)(i?ko(n):n)})()))o=r;let s=o;return{...s,sendToolResult:e=>s.sendToolResult({...e,callId:i(e.callId)}),async*events(){for await(let e of s.events()){for(let e of a.splice(0))yield{type:`raw`,row:e};yield r(e)}}}},decide:async t=>jo(e,await Po(e,`decide`,t)),embed:t=>Po(e,`embed`,t)}}function Io(e){let t=new AbortController,n=[],r=()=>{for(let e of n.splice(0))e()};for(let i of e){let e=()=>{t.abort(i.reason),r()};if(i.aborted){e();break}i.addEventListener(`abort`,e,{once:!0}),n.push(()=>i.removeEventListener(`abort`,e))}return{signal:t.signal,dispose:r}}var Lo=class{limits;controller=new AbortController;signal;timer;timerDeadline;wireBytes=0;stepBytes=0;stepEvents=0;calls=new Set;deadline;releaseSignal;constructor(e,t,n=e.operationTimeoutMs){this.limits=e;let r=Io(t?[t,this.controller.signal]:[this.controller.signal]);this.signal=r.signal,this.releaseSignal=r.dispose,this.startTimer(n),this.deadline=performance.now()+n}resumeOperation(){let e=this.deadline-performance.now();e<=0&&(this.controller.abort(new H(`timeout`,W(`error.timeout`))),I(this.signal)),this.startTimer(e)}timeLeft(){return(this.timerDeadline??this.deadline)-performance.now()}startTimer(e){this.stopTimer(),this.timerDeadline=performance.now()+e,this.timer=setTimeout(()=>this.controller.abort(new H(`timeout`,W(`error.timeout`))),e)}stopTimer(){this.timer!==void 0&&clearTimeout(this.timer),this.timer=void 0,this.timerDeadline=void 0}close(){this.controller.abort(),this.dispose()}dispose(){this.stopTimer(),this.releaseSignal()}startLiveStep(){this.timer===void 0&&this.startTimer(this.limits.liveStepTimeoutMs)}fail(){let e=new H(`bad_response`,W(`provider.budget_exhausted`),{copy:{key:`provider.budget_exhausted`}});throw this.controller.abort(e),e}checkDeadline(){this.timerDeadline!==void 0&&performance.now()>=this.timerDeadline&&this.controller.abort(new H(`timeout`,W(`error.timeout`))),I(this.signal)}value(e){this.checkDeadline();let t=new TextEncoder().encode(JSON.stringify(e)).byteLength;this.checkDeadline(),this.stepBytes+=t,this.stepEvents++,(t>this.limits.maxEventBytes||this.stepBytes>this.limits.maxStepBytes||this.stepEvents>this.limits.maxStepEvents)&&this.fail()}event(e){this.value(e),e.type===`tool_call`&&this.calls.add(e.call.callId),e.type===`tool_cancel`&&this.calls.delete(e.callId),this.calls.size>this.limits.maxPendingToolCalls&&this.fail()}resetStep(){this.stepBytes=0,this.stepEvents=0,this.calls.clear(),this.wireBytes=0,this.stopTimer()}socket(e){return async(t,n)=>{I(this.signal);let r=await e(t,n);this.signal.aborted&&(r.close(),I(this.signal));let i=()=>r.close();return this.signal.addEventListener(`abort`,i,{once:!0}),r.addEventListener(`close`,()=>this.signal.removeEventListener(`abort`,i),{once:!0}),r.addEventListener(`message`,e=>{let t=e.data;if(!((typeof t==`string`?new TextEncoder().encode(t).byteLength:t instanceof Blob?t.size:t instanceof ArrayBuffer||ArrayBuffer.isView(t)?t.byteLength:0)<=this.limits.maxWireRecordBytes)){e.stopImmediatePropagation();try{this.fail()}catch{r.close(1009,`response limit`)}}}),r}}fetch(e){return async(t,n)=>{let r=n?.signal??(t instanceof Request?t.signal:void 0),i=Io(r?[this.signal,r]:[this.signal]),a=i.signal;I(a);let o=await e(t,{...n,signal:a}).catch(e=>{throw i.dispose(),e});if(I(a),!o.body)return i.dispose(),o;let s=o.body.getReader(),c=0,l=o.headers.get(`content-type`)?.includes(`text/event-stream`)?new Ro(this):void 0,u=()=>{s.cancel(a.reason).catch(()=>void 0)};a.addEventListener(`abort`,u,{once:!0});let d=new ReadableStream({pull:async e=>{try{I(a);let t=await s.read();if(I(a),t.done){e.close(),a.removeEventListener(`abort`,u),i.dispose(),s.releaseLock();return}c+=t.value.byteLength,this.wireBytes+=t.value.byteLength,(c>this.limits.maxWireResponseBytes||this.wireBytes>this.limits.maxWireResponseBytes)&&this.fail(),l?.accept(t.value),e.enqueue(t.value)}catch(t){e.error(t),a.removeEventListener(`abort`,u),i.dispose(),s.cancel(t).catch(()=>void 0)}},cancel:e=>(a.removeEventListener(`abort`,u),i.dispose(),s.cancel(e))});return new Response(d,{status:o.status,statusText:o.statusText,headers:o.headers})}}},Ro=class{budget;recordBytes=0;lineBytes=0;previousCR=!1;emptyCR=!1;constructor(e){this.budget=e}accept(e){for(let t of e)this.emptyCR&&t!==10&&(this.recordBytes=0,this.emptyCR=!1),this.recordBytes++,this.recordBytes>this.budget.limits.maxWireRecordBytes&&this.budget.fail(),this.emptyCR?(this.recordBytes=0,this.emptyCR=!1,this.previousCR=!1):t===10&&this.previousCR?this.previousCR=!1:(t===10||t===13?(this.lineBytes===0&&(t===13?this.emptyCR=!0:this.recordBytes=0),this.lineBytes=0):this.lineBytes++,this.previousCR=t===13)}},zo=t({name:f().min(1),callId:f().min(1),wireCallId:f().min(1).optional(),arguments:p(f(),C),stepId:f().min(1).optional(),stepCallCount:d().int().min(1).optional()}),Bo=se.extend({type:o(`reasoning`)}),Vo=new Set([`text`,`thought`,`structured`,`media`,`grounding`,`citation`,`evidence`,`tokens`,`session`,`tool_draft`,`error`,`custom`]);function Ho(e){let t=_e.parse(e);if(t.kind===`gate`)throw new H(`bad_response`,W(`provider.kernel_gate`));return t}function Uo(e){if(!G(e)||typeof e.type!=`string`)throw new H(`bad_response`,W(`provider.event_invalid`));if(Vo.has(e.type))return j.parse(e);switch(e.type){case`tool_call`:return{type:`tool_call`,call:zo.parse(e.call)};case`tool_cancel`:return{type:`tool_cancel`,callId:f().min(1).parse(e.callId)};case`reasoning`:return Bo.parse(e);case`raw`:return{type:`raw`,row:L.parse(e.row)};case`done`:return{type:`done`,stop:Ho(e.stop),interrupted:i().optional().parse(e.interrupted),state:e.state};case`response`:if(!G(e.response))throw new H(`bad_response`,W(`provider.response_identity`));return{type:`response`,response:t({id:f().optional(),model:f().optional()}).parse(e.response)};default:throw new H(`bad_response`,W(`provider.event_type`,{type:e.type}))}}async function Wo(e,t){if(I(t),!t)return await e();let n=()=>{},r=new Promise((e,r)=>{n=()=>{try{I(t)}catch(e){r(e)}},t.addEventListener(`abort`,n,{once:!0}),t.aborted&&n()});try{return await Promise.race([Promise.resolve().then(()=>(I(t),e())),r])}finally{t.removeEventListener(`abort`,n)}}function Go(e,t){if(!e)return;let n=e=>({...e,...e.params?{params:Object.fromEntries(Object.entries(e.params).map(([e,n])=>[e,typeof n==`string`?t(n):n]))}:{}});return`key`in e?n(e):e.map(n)}function Ko(e,t){let n=t(e instanceof Error?e.message:String(e));if(e instanceof DOMException)return new DOMException(n,e.name);if(F(e))return new DOMException(n,`AbortError`);let r=e instanceof H?new H(e.kind,n,{copy:Go(e.copy,t)}):e instanceof TypeError?TypeError(n):Error(n);return G(e)&&typeof e.status==`number`&&Object.assign(r,{status:e.status}),r}async function qo(e,t){try{return await e()}catch(e){throw Ko(e,t)}}async function*Jo(e,t,n,r=!1){r||n.resumeOperation();let i;try{for(i=e()[Symbol.asyncIterator]();;){let e=i,a=await Wo(()=>e.next(),n.signal);if(a.done)break;let o=Uo(a.value);r&&(o.type!==`session`||o.session.kind===`working`)&&n.startLiveStep(),n.event(o),o.type===`error`?yield{...o,...o.errorCopy?{errorCopy:Go(o.errorCopy,t)}:{},...o.errorInternal?{errorInternal:t(o.errorInternal)}:{},...o.error?{error:t(o.error)}:{}}:yield o,r&&o.type===`done`&&n.resetStep()}}catch(e){throw Ko(e,t)}finally{n.close(),i?.return&&Promise.resolve(i.return()).catch(()=>void 0)}}var Yo=/^(?:authorization|proxy-authorization|cookie|set-cookie|api[_-]?key|x-goog-api-key|secret|token|access[_-]?token|refresh[_-]?token|password)$/i;function Xo(e,t,n,r,i){let a=ka(r.limits),o=new Lo(a,i.signal,i.timeoutMs??(i.liveConnection?a.connectTimeoutMs:a.operationTimeoutMs)),s=new Set,c=e=>{if(typeof e==`string`)s.add(e);else if(e&&typeof e==`object`)for(let t of Object.values(e))c(t)},l=e=>{if(typeof e==`string`){let t=e;for(let e of s)e&&(e.length>=4||t===e)&&(t=t.split(e).join(`[redacted]`));return t}return Array.isArray(e)?e.map(l):e&&typeof e==`object`?Object.fromEntries(Object.entries(e).map(([e,t])=>[String(l(e)),Yo.test(e)&&typeof t==`string`?`[redacted]`:l(t)])):e},u=e=>String(l(e)),d=ge(e,t).keySlot,f=Fo({provider:e,binding:t,profileType:n,limits:a,signal:o.signal,fetch:o.fetch(r.fetch??globalThis.fetch),openWebSocket:o.socket(r.openWebSocket??oo(e.id)),...r.vault?{vault:r.vault}:{},...r.wait?{wait:r.wait}:{},timeLeft:()=>o.timeLeft(),...i.tapUpstream?{tapUpstream:e=>i.tapUpstream?.(L.parse(l(e)))}:{},onKey(e,t){d=e,c(t)}});o.stopTimer();let p=async e=>{try{o.resumeOperation();let t=await Wo(()=>qo(e,u),o.signal);return o.value(t),t}finally{o.close()}};return{keySlot:()=>d,complete:e=>Jo(()=>f.complete({...e,signal:o.signal}),u,o),decide:e=>p(()=>f.decide({...e,signal:o.signal})),embed:e=>p(()=>f.embed({...e,signal:o.signal})),async openSession(e){o.resumeOperation();let t=await Wo(()=>qo(()=>f.openSession({...e,signal:o.signal}),u),o.signal).catch(e=>{throw o.close(),e}).finally(()=>o.stopTimer());return{events:()=>Jo(()=>t.events(),u,o,!0),closeInfo:()=>{let e=t.closeInfo?.();return e&&{...e,...e.error?{error:Ko(e.error,u)}:{}}},sendText:e=>(o.startLiveStep(),qo(()=>t.sendText(e),u)),sendAudio:e=>qo(()=>t.sendAudio(e),u),sendVideo:e=>qo(()=>t.sendVideo(e),u),sendContext:e=>qo(()=>t.sendContext(e),u),sendToolResult:e=>(o.startLiveStep(),qo(()=>t.sendToolResult(e),u)),close:e=>(o.stopTimer(),qo(()=>t.close(e),u).finally(()=>o.dispose()))}}}}function Zo(e,t,n){let r=t.options??{},i=[...n.continuation?.keyOptions??[]].sort().map(e=>[e,r[e]??null]);return JSON.stringify({connection:e.connection??null,options:i})}function Qo(e,t,n){if(e?.history===`stateless`&&(t||n?.length))throw new H(`request`,W(`provider.stateless_history`))}async function $o(e,t,n,r,i={}){if(!n)return{};let a=Fe.parse(n),o=Ve(e,t),s=o.continuation,c;return a.protocol!==o.id||a.provider!==e.id?c=`provider_changed`:a.apiId===t.apiId?!s||a.version!==s.version?c=`version_changed`:a.compatibilityKey===Zo(e,t,o)?a.keySlot===ge(e,t).keySlot?(i.history===`provider`?r.length>0:a.coveredHistoryLength>r.length||a.coveredHistoryHash!==await wt(r.slice(0,a.coveredHistoryLength)))&&(c=`history_changed`):c=`key_changed`:c=`connection_changed`:c=`model_changed`,c?{warning:{code:`provider_state_rebuilt`,reason:c}}:{state:s?.schema.parse(a.data),covered:i.history===`provider`?0:a.coveredHistoryLength,...a.wireCallIds?{wireCallIds:a.wireCallIds}:{}}}async function es(e,t,n,r,i,a={}){if(r===void 0)return;let o=Ve(e,t),s=o.continuation;if(!s)throw new H(`bad_response`,W(`provider.continuation_contract`));return{protocol:o.id,provider:e.id,version:s.version,apiId:t.apiId,...n?{keySlot:n}:{},compatibilityKey:Zo(e,t,o),coveredHistoryLength:i.length,coveredHistoryHash:await wt(i),data:C.parse(s.schema.parse(r)),...Object.keys(a).length?{wireCallIds:a}:{}}}function ts(e,t){return e?.map(e=>{if(!e.reasoning)return e;let{reasoning:n,...r}=e,i=n.filter(e=>pt(e.origin.protocol,t));return i.length?{...r,reasoning:i}:r})}function ns(e,t){if(!e||!t)return e;let n=e=>t[e]??e;return e.map(e=>({...e,...e.tool_calls?{tool_calls:e.tool_calls.map(e=>({...e,id:n(e.id)}))}:{},...e.tool_call_id?{tool_call_id:n(e.tool_call_id)}:{}}))}function rs(e,t,n){let{providerState:r,tapUpstream:i,history:a,...o}=e,s=ns(ts(a,t),n.wireCallIds);return{...o,...s?{history:s}:{},...n.state===void 0?{}:{state:n.state,stateHistoryLength:n.covered}}}function is(e){let{wireCallId:t,...n}=e;return n}async function*as(e,t){let n={},r,i=!1,a=[],o=[],s=``,c,l=e[Symbol.asyncIterator](),u=!1;try{for(;;){let e=await Wo(()=>l.next(),t);if(e.done){u=!0;break}I(t);let d=e.value;if(r)throw new H(`bad_response`,W(`provider.events_after_completion`));switch(d.type){case`raw`:continue;case`text`:s+=d.text;break;case`structured`:c=d.structured;break;case`reasoning`:{let{type:e,...t}=d;o.push(t);break}case`tool_call`:if(a.some(e=>e.callId===d.call.callId))throw new H(`bad_response`,W(`provider.duplicate_call`));d.call.wireCallId&&(n[d.call.callId]=d.call.wireCallId),a.push(is(d.call));continue;case`tool_cancel`:throw new H(`bad_response`,W(`provider.tool_cancel_live`));case`error`:i=!0;break;case`done`:r=d;continue}yield d}}finally{!u&&l.return&&Promise.resolve(l.return()).catch(()=>void 0)}return{terminal:r,failed:i,pending:a,reasoning:o,text:s,...c===void 0?{}:{structured:c},wireCallIds:n}}function os(e,t,n,r,i,a={},o=[]){let s=Ve(e,t),c=i;return{async*complete(l){let u=c===i&&a.history===`provider`,d=await $o(e,t,c,u?o:l.history??[],u?a:{});d.warning&&(c=void 0,yield{type:`provider_warning`,warning:d.warning});let f=Xo(e,t,n,r,l),{terminal:p,failed:m,pending:h,reasoning:g,text:_,structured:v,wireCallIds:y}=yield*as(f.complete(rs(l,s,d)),l.signal);if(I(l.signal),!p){yield{type:`done`,stop:{kind:m?`provider_error`:`stream_incomplete`}};return}if(m||p.interrupted||p.stop.kind!==`tool`&&p.stop.kind!==`completed`){yield{type:`done`,stop:p.stop};return}let b=[...l.history??[]];l.input.length&&b.push(l.input.every(e=>e.type===`text`)?{role:`user`,content:l.input.map(e=>e.type===`text`?e.text:``).join(``)}:{role:`user`,parts:l.input});let x=await es(e,t,f.keySlot(),p.state,[...b,...Je({text:_,structured:v,calls:h.map((e,t)=>t===0?{...e,reasoning:g}:e)})],{...d.wireCallIds,...y});c=x;for(let e of h)yield{type:`tool`,tool:e};yield{type:`done`,stop:p.stop,providerState:x}}}}var ss=new Map;function cs(e){return typeof e==`object`&&!!e&&`write`in e&&typeof e.write==`function`}function ls(e,t){let n=e.trim();if(!n)throw new H(`config`,`registerTraceDestination requires a non-empty id`);if(!cs(t))throw new H(`config`,`Trace destination '${n}' must be a TraceSink`);ss.set(n,t)}function us(e){return ss.get(e)}function ds(e){let t=us(e);if(!t)throw new H(`config`,`Trace destination '${e}' is not registered`);return t}async function fs(e,t,n){try{await e.write(await t,{retainForDays:n.retainForDays,rotateAfterMiB:n.rotateAfterMiB})}catch(t){try{e.onError?.(t)}catch{}}}function ps(e,t,n,r){return fs(e,Ur({spans:t,policy:n,...r?{metadata:r}:{}}),n)}function ms(){return{write:()=>Promise.resolve()}}function hs(e,t){return!t&&!e.onError?e:{write:(t,n)=>e.write(t,n),onError:e.onError??t}}var gs=2**32;function _s(e,t){let n=e.spans[0]?.traceId??``;return Number.parseInt(n.slice(-8),16)/gs<t}function vs(e,t){return t>=1?e:t<=0?ms():{write:async(n,r)=>{_s(n,t)&&await e.write(n,r)},onError:e.onError}}function ys(e,t){return e===void 0||e===!1?ms():hs(typeof e==`string`?ds(e):e,t.onWriteError)}function bs(e){let t={...Vr(e.observability),detect:z(e.guardrails).detect};return e.override?{policy:t,sink:hs(e.override,t.onWriteError)}:t.record?{policy:t,sink:vs(ys(t.writeTo,t),t.sampleRate)}:{policy:t,sink:ms()}}async function xs({name:e,attributes:t,traceparent:n,metadata:r,writer:i},a){let o=En(e,{kind:`CLIENT`,attributes:t,...n?{traceparent:n}:{}}),{sink:s,policy:c}=bs(i);try{let e=await a(o.root);return o.root.end({code:`OK`}),e}catch(e){throw bt(o.root,e),e}finally{await ps(s,o.collect(),c,r)}}var Ss={invalid_request:`request`,authentication:`auth`,permission:`auth`,rate_limited:`rate_limit`,unavailable:`unavailable`,network:`network`,timeout:`timeout`,cancelled:`cancelled`,malformed_response:`bad_response`,disclosure_blocked:`blocked`},q=class extends H{code;status;constructor(e,t,n,r){super(Ss[e],t,r),this.code=e,this.status=n}};function Cs(e,t){let n=e.profiles.get(t);if(n.type!==`decision`)throw new H(`request`,`runDecision requires profile.type 'decision' (got '${n.type}' for ${n.id})`);return n}function ws(e){let t=Nn(e.models),n=t?e.models[t]:void 0;if(!t||!n)throw new H(`config`,`Profile ${e.id}: type 'decision' must declare exactly one model`);return[t,n]}function J(e,t,n=0,r=1){if(typeof e!=`number`||!Number.isFinite(e)||e<n||e>r)throw new q(`malformed_response`,`${t} is outside its valid range`);return e}function Ts(e,t,n){if(!G(e)||Object.keys(e).length!==t.length||t.some(t=>!Object.hasOwn(e,t)))throw new q(`malformed_response`,`${n} does not match declared labels`);let r=Object.create(null);for(let i of t)r[i]=J(e[i],`${n}.${i}`);let i=Object.values(r).reduce((e,t)=>e+t,0);if(Math.abs(i-1)>.001)throw new q(`malformed_response`,`${n} must sum to one`);return r}function Es(e,t){if(!G(e))throw new q(`malformed_response`,`${t} is invalid`);let n={top:J(e.top,`${t}.top`),bottom:J(e.bottom,`${t}.bottom`),left:J(e.left,`${t}.left`),right:J(e.right,`${t}.right`)};if(n.left>=n.right||n.top>=n.bottom)throw new q(`malformed_response`,`${t} has an edge out of order`);return n}function Ds(e,t,n){if(!G(e)||Object.keys(e).length!==t.length||t.some(t=>!Object.hasOwn(e,t))||Object.values(e).some(e=>typeof e!=`string`||!e.trim()))throw new q(`malformed_response`,`${n} is invalid`);return e}function Os(e,t){if(!G(e)||Object.keys(e).length!==Object.keys(t).length)throw new q(`malformed_response`,`Decision provider returned an incomplete answer set`);let n=Object.create(null);for(let[r,i]of Object.entries(t)){let t=e[r];if(!G(t)||t.type!==i.type)throw new q(`malformed_response`,`Decision provider returned an invalid answer for '${r}'`);if(i.type===`choice`){let e=Object.keys(i.criteria);if(typeof t.choice!=`string`||!e.includes(t.choice))throw new q(`malformed_response`,`Decision provider returned an undeclared choice for '${r}'`);n[r]={type:`choice`,choice:t.choice,confidence:J(t.confidence,`${r}.confidence`),probabilities:Ts(t.probabilities,e,`${r}.probabilities`)}}else if(i.type===`noul`)n[r]={type:`noul`,noul:J(t.noul,`${r}.noul`)};else if(i.type===`box`)n[r]={type:`box`,box:Es(t.box,`${r}.box`),confidence:J(t.confidence,`${r}.confidence`)};else{let e=i.criteria.map((e,t)=>String(t));n[r]={type:`score`,score:J(t.score,`${r}.score`,0,Math.max(0,e.length-1)),confidence:J(t.confidence,`${r}.confidence`),legend:Ds(t.legend,e,`${r}.legend`),probabilities:Ts(t.probabilities,e,`${r}.probabilities`)}}}return n}function ks(e){let t=new Set,n=[{value:e}];for(;n.length;){let e=n.pop();if(!e)break;let r=e.value;if(e.exit){t.delete(r);continue}if(r===null||typeof r==`string`||typeof r==`boolean`)continue;if(typeof r==`number`){if(!Number.isFinite(r))return!1;continue}if(typeof r!=`object`||t.has(r)||!Array.isArray(r)&&Object.getPrototypeOf(r)!==Object.prototype&&Object.getPrototypeOf(r)!==null||Object.getOwnPropertySymbols(r).length)return!1;t.add(r),n.push({value:r,exit:!0});let i=Array.isArray(r)?Array.from(r):Object.values(r);for(let e of i)n.push({value:e})}return!0}function As(e,t){if(!G(t)||!e.trim()||!Ls(t.instructions))throw new q(`invalid_request`,`Decision question '${e}' must include instructions`);if((t.type===`noul`||t.type===`box`)&&t.criteria===void 0)return;if(typeof t.type!=`string`||![`choice`,`noul`,`score`].includes(t.type)||(t.type===`score`?!Array.isArray(t.criteria):!G(t.criteria)))throw new q(`invalid_request`,`Decision question '${e}' has invalid criteria`);let n=Array.isArray(t.criteria)?t.criteria:Object.values(t.criteria);if(!n.length||!n.every(Ls))throw new q(`invalid_request`,`Decision ${t.type} '${e}' must declare criteria`)}function js(e,t){if(I(e.signal),e.model!==void 0)throw new q(`invalid_request`,`Decision requests do not select a model; the profile runs its one model`);if(e.state===null||!ks(e.state))throw new q(`invalid_request`,`Decision state must be non-null JSON`);let n;try{n=JSON.stringify(e.state)}catch{throw new q(`invalid_request`,`Decision state cannot be serialized as JSON`)}let r=new TextEncoder().encode(n).byteLength;if(t.inputs.maxStateBytes!==void 0&&r>t.inputs.maxStateBytes)throw new q(`invalid_request`,`Decision state exceeds ${t.inputs.maxStateBytes} bytes`);if(!G(e.questions)||!ks(e.questions)||Object.keys(e.questions).length===0)throw new q(`invalid_request`,`Decision request must declare at least one question`);for(let[t,n]of Object.entries(e.questions))As(t,n);e.assets!==void 0&&Is(e.assets);for(let[t,n]of Object.entries(e.questions))Ns(t,n,e.state,e.assets)}function Ms(e,t){let n=e;for(let e of t.split(`.`)){if(!G(n)&&!Array.isArray(n))return;n=Array.isArray(n)?n[Number(e)]:n[e]}return n}function Ns(e,t,n,r){if(!G(t)||t.image===void 0)return;let i=t.image,a=typeof i==`string`&&!r?.[i]?Ms(n,i):i;if(t.type!==`box`||typeof a!=`string`||r?.[a]===void 0)throw new q(`invalid_request`,`Decision question '${e}' has an image that is neither a held image nor a state field holding one`)}function Ps(e,t){if(e.type!==`box`||e.image===void 0)return e;let{image:n,instructions:r}=e,i=W(`decision.box_image`,{image:t?.[n]?n:`\`${n}\``});return{type:`box`,instructions:typeof r==`string`?`${r} ${i}`:[r,i]}}var Fs=/^[A-Za-z0-9+/]+={0,2}$/;function Is(e){if(!G(e)||Object.keys(e).length===0)throw new q(`invalid_request`,`Decision assets must name at least one image`);for(let[t,n]of Object.entries(e))if(!t.trim()||!G(n)||n.mimeType!==`image/png`&&n.mimeType!==`image/jpeg`||typeof n.data!=`string`||n.data.length%4!=0||!Fs.test(n.data))throw new q(`invalid_request`,`Decision asset '${t}' must be PNG or JPEG bytes as padded base64`)}function Ls(e){let t=[e];for(;t.length;){let e=t.pop();if(typeof e==`string`){if(!e.trim())return!1;continue}if(!G(e)&&!Array.isArray(e))return!1;let n=Object.values(e);if(!n.length)return!1;for(let e of n)t.push(e)}return!0}async function Rs(e,t,n,r){if((await e.guardrails?.disclosure?.enforce(r.state,{destination:n,profileId:e.id,model:t,questionIds:Object.keys(r.questions),...r.assets?{assets:r.assets}:{}}))?.action===`block`)throw new q(`disclosure_blocked`,`Decision disclosure was blocked`)}function zs(e,t,n,r){return{"gen_ai.operation.name":`decide`,"gen_ai.provider.name":n.provider,"gen_ai.agent.name":e.id,"gen_ai.request.model":n.apiId,"theorem.model.id":t,"theorem.decision.contract":e.decision.contract,"theorem.decision.state":U(r.state),"theorem.decision.questions":U(r.questions),...r.assets?{"theorem.decision.assets":U(Object.fromEntries(Object.entries(r.assets).map(([e,{mimeType:t,data:n}])=>[e,{mimeType:t,bytes:n.length}])))}:{}}}function Bs(e,t){e.set({"gen_ai.response.model":t.model,"theorem.decision.answers":U(t.answers),...t.usage?{"gen_ai.usage.input_tokens":t.usage.inputTokens,"gen_ai.usage.output_tokens":t.usage.outputTokens,...t.usage.costUsd===void 0?{}:{"theorem.usage.cost_usd":t.usage.costUsd}}:{}})}function Vs(e){if(e instanceof q)return e;let t=e instanceof H?e.kind:e instanceof TypeError?`network`:`bad_response`;return new q(t===`auth`&&G(e)&&e.status===403?`permission`:{auth:`authentication`,rate_limit:`rate_limited`,network:`network`,busy:`unavailable`,unavailable:`unavailable`,timeout:`timeout`,cancelled:`cancelled`,request:`invalid_request`,unsupported:`invalid_request`}[t]??`malformed_response`,e instanceof H?e.message:W(`provider.decision_failed`),G(e)&&typeof e.status==`number`?e.status:void 0,{cause:e})}async function Hs(e,t,[n,r],i,a){I(i.signal);let o=e.providers.require(r.provider,r.apiId);await Rs(t,n,r.provider,i),I(i.signal);try{let e=await Xo(o,r,`decision`,a,{...i.signal?{signal:i.signal}:{},...r.timeoutMs?{timeoutMs:r.timeoutMs}:{}}).decide({apiId:r.apiId,state:i.state,questions:Object.fromEntries(Object.entries(i.questions).map(([e,t])=>[e,Ps(t,i.assets)])),...i.assets?{assets:i.assets}:{}});if(typeof e.model!=`string`||!e.model.trim())throw new q(`malformed_response`,W(`provider.decision_model_missing`));return{...e,answers:Os(e.answers,i.questions)}}catch(e){throw i.signal?.aborted?new q(`cancelled`,W(`provider.decision_ended`)):Vs(e)}}async function Us(e,t,n){let r=Cs(e,t.profile);js(t,r);let i=ws(r),[a,o]=i;return await xs({name:`decide ${o.apiId}`,attributes:zs(r,a,o,t),traceparent:t.traceparent,metadata:t.metadata,writer:{override:n.sink,observability:r.observability,guardrails:r.guardrails}},async a=>{let o=await Hs(e,r,i,t,n);return Bs(a,o),o})}function Ws(e,t){let n=e.profiles.get(t);if(n.type!==`embedding`)throw new H(`request`,`runEmbedding requires profile.type 'embedding' (got '${n.type}' for ${t})`);return n}function Gs(e,t){let n=t??e.defaultModel;if(t&&!e.allowModelSelect)throw new H(`request`,`Profile ${e.id} does not allow model selection`);let r=e.models[n];if(!r)throw new H(`request`,`Unknown model '${n}' for ${e.id}`);return[n,r]}var Ks=[`query`,`document`];function qs(e){if(e!==void 0&&!Ks.includes(e))throw new H(`request`,`Embedding task must be 'query' or 'document'`)}function Js(e){return Array.isArray(e)?e:[e]}function Ys(e){return typeof e==`string`?[{type:`text`,text:e}]:e&&Array.isArray(e.parts)?e.parts:[]}function Xs(e,t,n,r){let i=Pn(e.inputs,r);if(i.maxInputs!==void 0&&n.length>i.maxInputs)throw new H(`request`,`Model '${t}' of ${e.id} takes at most ${i.maxInputs} inputs per request`);let a=[];for(let t of n){let n=Ys(t);if(n.length===0)throw new H(`request`,`Profile ${e.id} received an empty embedding input`);let r=[];for(let t of n)if(t.type===`text`){if(kn(t.text,`embedding input`),!i.text)throw new H(`unsupported`,`Profile ${e.id} does not accept text embedding input`)}else r.push(t.type===`media`?{mimeType:t.mimeType,sizeBytes:Un(t.data)}:{mimeType:t.mimeType});a.push(r)}let o=Qn(i,a);if(o.length>0)throw zn(o)}function Zs(e,t){if(!e.model.trim()||e.embeddings.length!==t)throw new H(`bad_response`,`Embedding provider returned an invalid vector count`);let n=e.embeddings.map((e,t)=>{if(e.index!==t||e.dimensions!==e.values.length||e.dimensions===0)throw new H(`bad_response`,`Embedding provider returned invalid vector metadata`);if(e.values.some(e=>!Number.isFinite(e)))throw new H(`bad_response`,`Embedding provider returned a non-finite vector value`);return e});return{...e,embeddings:n}}async function Qs(e,t,n={}){I(t.signal);let r=Ws(e,t.profile),[i,a]=Gs(r,t.model),o=Js(t.input);qs(t.task);let s=e.providers.require(a.provider,a.apiId);Xs(r,i,o,Ve(s,a).embeddingLimits?.(a.apiId));let c=Xo(s,a,`embedding`,n,{...t.signal?{signal:t.signal}:{}});return await xs({name:`embed ${a.apiId}`,attributes:{"gen_ai.operation.name":`embeddings`,"gen_ai.provider.name":a.provider,"gen_ai.agent.name":r.id,"gen_ai.request.model":a.apiId,"theorem.model.id":i,"theorem.embedding.inputs":o.length,...t.task?{"theorem.embedding.task":t.task}:{}},traceparent:t.traceparent,metadata:t.metadata,writer:{override:n.sink,observability:r.observability,guardrails:r.guardrails}},async()=>Zs(await c.embed({apiId:a.apiId,input:t.input,...t.task?{task:t.task}:{},...a.options?{options:a.options}:{},...t.signal?{signal:t.signal}:{}}),o.length))}function $s(e,t,n,r,i){let a=e.profiles.get(t);if(a.type===`host`)return ec(e,r);if(a.type===`decision`||a.type===`live`||a.type===`embedding`)throw new H(`unsupported`,W(`provider.turn_profile`));let o=a.models[n??a.defaultModel];if(!o)throw new H(`config`,W(`provider.model_binding_missing`));return Qo(a.providerContinuation,i?.providerState,i?.input?.history),{complete:os(e.providers.require(o.provider,o.apiId),structuredClone(o),a.type,r,i?.providerState,a.providerContinuation,i?.input?.history).complete,forProfile:(t,n,i)=>$s(e,t,n,r,i)}}function ec(e,t){return{complete(){throw new H(`unsupported`,W(`provider.host_model`))},forProfile:(n,r,i)=>$s(e,n,r,t,i)}}function tc(e,t,n,r){return`forProfile`in e&&typeof e.forProfile==`function`?e.forProfile(t,n,r):e}function nc(){let e=e=>Math.ceil(e.length/4),t=t=>{let n={tokens:0,unknownMedia:0};for(let r of t)r.type===`text`?n.tokens+=e(r.text):n.unknownMedia+=1;return n};return{text:e,parts:t,messages:n=>{let r={tokens:0,unknownMedia:0};for(let i of n){let n=t(ut(i));r.tokens+=n.tokens,r.unknownMedia+=n.unknownMedia;for(let t of i.tool_calls??[])r.tokens+=e(t.function.name)+e(t.function.arguments)}return r}}}function rc(){return Promise.resolve(nc())}function ic(e){return e.meter??`history`}function ac(e){let t=[];for(let n=0;n<e.length;n++)e[n].role===`user`&&t.push(n);return t}async function oc(e){if(e?.historyTokens!=null)return{tokens:e.historyTokens,unknownMedia:0};let t=e?.history??[];return t.length===0?{tokens:0,unknownMedia:0}:await(await rc()).messages(t)}async function sc(e){let t=ic(e.spec);if(t===`history`)return{meter:t,...await oc(e.input)};if(e.prompt&&e.prompt.input>0)return{meter:t,tokens:e.prompt.input,unknownMedia:e.prompt.unknownMedia?.input??0};let n=e.input?.inputTokens;if(!(n==null||n<=0))return{meter:t,tokens:n,unknownMedia:0}}function cc(e,t){return e>t.compactAt*t.maxTokens}async function lc(e,t){if(t.trigger){let n={tokens:e.tokens,maxTokens:t.maxTokens,compactAt:t.compactAt,meter:e.meter,unknownMedia:e.unknownMedia};return await t.trigger(n)}return cc(e.tokens,t)}async function uc(e,t){if(e.length===0)return{toCompact:[],toRetain:[]};if(t.previousExchanges===0)return{toCompact:[...e],toRetain:[]};let n=ac(e);if(n.length===0)return{toCompact:[...e],toRetain:[]};let r;if(t.previousExchanges>=1){let e=Math.min(t.previousExchanges,n.length);r=n[n.length-e]}else{let i=t.previousExchanges*t.maxTokens,a=await rc(),o=0;r=e.length;for(let t=n.length-1;t>=0;t--){let s=n[t],c=t<n.length-1?n[t+1]:e.length,l=e.slice(s,c),u=a.messages(l).tokens;if(o+u>i)break;o+=u,r=s}}return r<=0?{toCompact:[],toRetain:[...e]}:{toCompact:e.slice(0,r),toRetain:e.slice(r)}}function dc(e){return e.metadata?.compactionSummary===!0}function fc(e){return{type:`text`,text:e}}function pc(e,t){let n=t.labels,r=new Map,i=0,a=e=>(e??[]).filter(e=>e.type===`text`||at(t,e.mimeType)?!0:(i+=1,!1)),o=[];for(let t of e){for(let e of t.tool_calls??[])r.set(e.id,e.function.name);let e=a(t.parts);if(t.role===`tool`){let i=t.name??(t.tool_call_id?r.get(t.tool_call_id):void 0),a=t.content??``;o.push({role:`assistant`,parts:[fc(W(`compaction.tool_result`,{tool:i??``,result:a},n)),...e]});continue}let i=(t.tool_calls??[]).map(e=>fc(W(`compaction.tool_call`,{tool:e.function.name,arguments:e.function.arguments},n))),s=[...e,...i];(t.content||s.length!==0)&&o.push({role:t.role,...t.content?{content:t.content}:{},...s.length>0?{parts:s}:{},...t.name?{name:t.name}:{}})}return{history:o,droppedMedia:i}}function mc(e,t,n,r){let i={toCompact:e.toCompact,droppedMedia:t.droppedMedia,...t.tokens?{tokens:t.tokens}:{}};if(`summary`in t){let n={role:`assistant`,content:t.summary,metadata:{compactionSummary:!0}};return{...i,outcome:`compacted`,summary:t.summary,history:[n,...e.toRetain]}}return n>r.maxTokens?{...i,outcome:`dropped`,failure:t.failure,history:[...e.toCompact.filter(dc),...e.toRetain]}:{...i,outcome:`deferred`,failure:t.failure,history:[...e.toCompact,...e.toRetain]}}var hc={[wn.unscannable]:`egress.hint_unscannable`,[wn.providerToolLeak]:`egress.hint_provider_tool_leak`},gc=[Zt.canary_leak,Zt.prompt_leak],_c=3,vc=120,yc=`detect.`;function bc(e,t,n){let r=hc[e.rule];if(r)return W(r,{},n);let i=e.rule.startsWith(yc)?e.rule.slice(7):e.rule;if($t(i))return t.hints?.[i]??W(`detect.hint.${i}`,{},n);let a=t.host?.find(({id:e})=>e===i),o=a?.label??e.label??i;return a?.hint??W(`detect.hint.own`,{label:o},n)}function xc(e){let t=e.flatMap(({rule:e,match:t})=>t&&!gc.includes(e)?[t]:[]);return[...new Set(t)].slice(0,_c).map(e=>JSON.stringify(e.length>vc?e.slice(0,vc):e))}function Sc(e,t,n){let r=new Map;for(let t of e)r.set(t.rule,[...r.get(t.rule)??[],t]);let i=[...r.values()].map(e=>{let r=bc(e[0],t,n),i=xc(e);return i.length>0?W(`egress.rejection_found`,{hint:r,matches:i.join(`, `)},n):r});return W(`egress.rejection`,{found:i.join(`
5
5
  `)},n)}function Cc(e){if(e.type!==`live`&&e.type!==`host`&&e.type!==`decision`&&e.type!==`embedding`)return e.outputs}var wc=[`inject`,`abort`,`deny`,`confirm`,`mutate`,`labelFailed`,`waitFor`],Tc=Object.freeze({pre_turn:Object.freeze([`inject`,`abort`]),pre_tool:Object.freeze([`abort`,`deny`,`confirm`,`mutate`,`waitFor`]),post_tool:Object.freeze([`inject`,`abort`,`deny`,`mutate`,`labelFailed`]),before_end:Object.freeze([`inject`,`abort`]),post_turn:Object.freeze([])}),Ec=new Set([...wc,`injectId`,`released`]);function Dc(e,t){return Tc[e].includes(t)}function Y(e,t,n,r){e.push({code:t,field:n,message:r})}function Oc(e,t){if(!G(e)){Y(t,`inject_invalid_messages`,`inject`,`inject entry must be an object`);return}if(e.role===`tool`){Y(t,`inject_invalid_messages`,`inject`,`inject messages with role "tool" are rejected`);return}if(e.role!==`user`&&e.role!==`assistant`&&e.role!==`system`){Y(t,`inject_invalid_messages`,`inject`,`inject role not allowed: ${String(e.role)}`);return}let n={role:e.role};if(e.content!==void 0){if(typeof e.content!=`string`){Y(t,`inject_invalid_messages`,`inject`,`inject content must be a string when present`);return}n.content=e.content}if(e.parts!==void 0){if(!Array.isArray(e.parts)){Y(t,`inject_invalid_messages`,`inject`,`inject parts must be an array when present`);return}n.parts=e.parts}if(e.tool_calls!==void 0){if(!Array.isArray(e.tool_calls)){Y(t,`inject_invalid_messages`,`inject`,`inject tool_calls must be an array when present`);return}n.tool_calls=e.tool_calls}if(e.name!==void 0){if(typeof e.name!=`string`){Y(t,`inject_invalid_messages`,`inject`,`inject name must be a string`);return}n.name=e.name}if(e.metadata!==void 0){if(!G(e.metadata)){Y(t,`inject_invalid_messages`,`inject`,`inject metadata must be a plain object`);return}n.metadata={...e.metadata}}return e.tool_call_id!==void 0&&Y(t,`inject_invalid_messages`,`inject`,`inject tool_call_id is rejected (not a tool-role message)`),n}function kc(e,t){if(!Array.isArray(e)){Y(t,`inject_invalid_messages`,`inject`,`inject must be an array of history messages`);return}let n=[];for(let r of e){let e=Oc(r,t);e&&n.push(e)}return n.length>0?n:void 0}function Ac(e,t){if(e!==void 0){if(typeof e==`number`&&Number.isInteger(e)&&e>=0)return e;Y(t,`inject_released_invalid`,`released`,`released must be a whole number of characters, 0 or more; ignored`)}}function jc(e,t){let n=kc(e.inject,t);if(!n)return;let r=Ac(e.released,t),i={messages:n,...r===void 0?{}:{released:r}};if(e.injectId===void 0)return i;if(typeof e.injectId==`string`&&e.injectId.trim())return{id:e.injectId,...i};Y(t,`inject_id_invalid`,`injectId`,`injectId must be a non-empty string; inject refused`)}function Mc(e,t,n){if(!(`inject`in e)||e.inject===void 0){e.injectId!==void 0&&Y(n.warnings,`inject_id_invalid`,`injectId`,`injectId without inject ignored`),e.released!==void 0&&Y(n.warnings,`inject_released_invalid`,`released`,`released without inject ignored`);return}let{stage:r,injectAllowed:i,injectWouldExceedMaxSteps:a}=t;if(!Dc(r,`inject`))Y(n.warnings,`affordance_not_allowed`,`inject`,`inject is not allowed at stage ${r}`);else if(!i)Y(n.warnings,`inject_not_allowed`,`inject`,`inject gate is closed for this profile/session`);else if(a)Y(n.warnings,`inject_rejected_max_steps`,`inject`,`inject rejected: another model step would exceed maxSteps`);else{let t=jc(e,n.warnings);t&&(n.inject=t)}}function Nc(e,t,n){if(`abort`in e&&e.abort!==void 0){if(!Dc(t,`abort`))Y(n.warnings,`affordance_not_allowed`,`abort`,`abort is not allowed at post_turn`);else if(e.abort===!0)n.abort=!0;else if(G(e.abort)){let t=typeof e.abort.reason==`string`&&e.abort.reason.trim()?e.abort.reason.trim():void 0;n.abort=!t||{reason:t}}else e.abort!==!1&&Y(n.warnings,`abort_invalid`,`abort`,`abort must be boolean or { reason?: string }`)}}function Pc(e,t,n){`deny`in e&&e.deny!==void 0&&(Dc(t,`deny`)?G(e.deny)?n.deny={code:typeof e.deny.code==`string`&&e.deny.code.trim()?e.deny.code.trim():`not_authorized`,message:typeof e.deny.message==`string`&&e.deny.message.trim()?e.deny.message.trim():`Tool execution not authorized`}:Y(n.warnings,`deny_invalid`,`deny`,`deny must be an object`):Y(n.warnings,`affordance_not_allowed`,`deny`,`deny is not allowed at stage ${t}`))}function Fc(e,t,n){`labelFailed`in e&&e.labelFailed!==void 0&&(Dc(t,`labelFailed`)?e.labelFailed===!0?n.labelFailed=!0:e.labelFailed!==!1&&Y(n.warnings,`label_failed_invalid`,`labelFailed`,`labelFailed must be true`):Y(n.warnings,`affordance_not_allowed`,`labelFailed`,`labelFailed is not allowed at stage ${t}`))}function Ic(e,t,n){if(`confirm`in e&&e.confirm!==void 0){if(!Dc(t,`confirm`))Y(n.warnings,`affordance_not_allowed`,`confirm`,`confirm is not allowed at stage ${t}`);else if(e.confirm===!0)n.confirm={};else if(G(e.confirm)){let t=typeof e.confirm.summary==`string`&&e.confirm.summary.trim()?e.confirm.summary.trim():void 0;n.confirm=t?{summary:t}:{}}else Y(n.warnings,`confirm_invalid`,`confirm`,`confirm must be true or { summary?: string }`)}}function Lc(e,t,n){`waitFor`in e&&e.waitFor!==void 0&&(Dc(t,`waitFor`)?!Array.isArray(e.waitFor)||!e.waitFor.every(e=>typeof e==`string`&&e.trim()!==``)?Y(n.warnings,`wait_for_invalid`,`waitFor`,`waitFor must be an array of call ids`):e.waitFor.length>0&&(n.waitFor=[...new Set(e.waitFor)]):Y(n.warnings,`affordance_not_allowed`,`waitFor`,`waitFor is not allowed at stage ${t}`))}var Rc={pre_tool:`input`,post_tool:`output`};function zc(e){return e in Rc?Rc[e]:void 0}function Bc(e,t,n){let{stage:r}=t;if(!(`mutate`in e)||e.mutate===void 0)return;if(!Dc(r,`mutate`)){Y(n.warnings,`affordance_not_allowed`,`mutate`,`mutate is not allowed at stage ${r}`);return}let i=zc(r);i?!G(e.mutate)||e.mutate[i]===void 0?Y(n.warnings,`mutate_invalid`,`mutate`,`mutate must be { ${i}: unknown } at stage ${r}`):t.mutable===!1?Y(n.warnings,`mutate_invalid`,`mutate`,`there is no ${i} to replace at this ${r} fire`):n.mutate=i===`input`?{input:e.mutate.input}:{output:e.mutate.output}:Y(n.warnings,`mutate_invalid`,`mutate`,`no mutate subject is defined at stage ${r}`)}function Vc(e){let t=[],n={warnings:t},{stage:r,result:i}=e;if(i==null)return n;if(!G(i))return Y(t,`result_invalid`,`result`,`StageResult must be a plain object`),n;for(let e of Object.keys(i))Ec.has(e)||Y(t,`unknown_field`,e,`unknown StageResult field "${e}" ignored`);return Mc(i,e,n),Nc(i,r,n),Pc(i,r,n),Ic(i,r,n),Bc(i,e,n),Fc(i,r,n),Lc(i,r,n),n.deny&&n.confirm&&(Y(t,`confirm_invalid`,`confirm`,`confirm ignored because deny is set`),delete n.confirm),n}function Hc(e,t){let n={type:`stage`,stage:e};return t&&(t.callId!==void 0&&(n.callId=t.callId),t.toolName!==void 0&&(n.toolName=t.toolName),t.callNotStarted!==void 0&&(n.callNotStarted=t.callNotStarted),t.awaiting!==void 0&&(n.awaiting=t.awaiting),t.gate!==void 0&&(n.gate=t.gate),t.stop!==void 0&&(n.stop=t.stop),t.injected!==void 0&&(n.injected=t.injected),t.released!==void 0&&(n.released=t.released)),n}function Uc(e){return e.flatMap(e=>e.messages)}function Wc(e,t,n){let r=t.flatMap(e=>e.id===void 0?[]:[{id:e.id}]);if(r.length!==0||n?.released!==void 0)return Hc(e,{...n,...r.length>0?{injected:r}:{}})}function Gc(e,t){return t===void 0||t<=0?!1:e>=t}function Kc(e,t){return t===`inject`?e.inject.length>0:!!e[t]}function qc(e){let t={warnings:e.flatMap(e=>e.warnings),inject:[]};for(let n of e)n.abort!==void 0&&(t.abort=n.abort),n.deny&&(t.deny=n.deny),n.confirm&&(t.confirm=n.confirm),n.mutate&&(t.mutate=n.mutate),n.labelFailed&&(t.labelFailed=!0),n.waitFor&&(t.waitFor=[...new Set([...t.waitFor??[],...n.waitFor])]),n.inject&&t.inject.push(n.inject);return t.deny&&t.confirm&&(Y(t.warnings,`confirm_invalid`,`confirm`,`confirm ignored because deny is set`),delete t.confirm),t}async function Jc(e,t,n,r){let i=[];for(let a of e){let e;try{e=await a({...t})}catch(e){throw I(r),e}I(r),i.push(Vc({...n,result:e}))}return i}async function*Yc(e){let{stage:t,step:n,history:r,handlers:i,guardrails:a,injectAllowed:o,injectWouldExceedMaxSteps:s,mutable:c,host:l,signal:u,span:d,...f}=e;if(I(u),yield Hc(t,{callId:f.callId,toolName:f.tool,callNotStarted:f.callNotStarted,awaiting:f.awaiting,gate:f.gate,stop:f.stop}),i.length===0)return d?.event(`theorem.stage`,{stage:t,affordance:[]}),{warnings:[],inject:[]};let p={stage:t,step:n,history:r,host:l,...f},m=d?.msSinceStart(),h=qc(await Jc(i,p,{stage:t,injectAllowed:o,injectWouldExceedMaxSteps:s,mutable:c},u));if(d?.event(`theorem.stage`,{stage:t,...m===void 0?{}:{hook_ms:d.msSinceStart()-m},affordance:wc.filter(e=>Kc(h,e)),...h.warnings.length>0?{warnings:h.warnings.map(e=>e.code)}:{}}),h.warnings.length>0&&(yield{...Hc(t,{callId:f.callId,toolName:f.tool}),stageWarnings:h.warnings}),h.inject.length===0)return h;let g=pn(`injected`,z(a).detect),_=h.inject.map(e=>({...e,messages:An(e.messages,g)})),v=g.found(),y=dn(`injected`,v);if(y&&(d?.event(`theorem.guardrail`,k(y)),yield K(y)),v.action===`block`)throw Jn(`injected`);return{...h,inject:_}}function Xc(e,t,n){if(e.currentHistory.push(...t),n!==void 0)for(let r of t)typeof r.content==`string`&&e.replyMessages.push({message:r,at:n})}function Zc(e){let t=e.flatMap(e=>e.released===void 0?[]:[e.released]);return t.length>0?Math.min(...t):void 0}function Qc(e,t){let n=[...e],r=t;for(let e=n.length-1;e>=0&&r>0;--e){let t=n[e];if(t?.type!==`text`)continue;let i=Math.max(0,t.text.length-r);r-=t.text.length-i,i===0?n.splice(e,1):n[e]={...t,text:t.text.slice(0,i)}}return n}function $c(e,t){if(t===void 0||t>=e.replyText.length)return;let n=e.replyText.length-t;e.replyText=e.replyText.slice(0,t),e.released=e.released.slice(0,Math.max(0,e.released.length-n)),e.attemptEvents=Qc(e.attemptEvents,n);let r=[];for(let{message:n,at:i}of e.replyMessages){let a=typeof n.content==`string`?n.content:``,o=a.slice(0,Math.max(0,t-i)),s=e.currentHistory.indexOf(n);if(!(s<0)){if(o){let t=o===a?n:{...n,content:o};e.currentHistory[s]=t,r.push({message:t,at:i})}else e.currentHistory.splice(s,1)}}return e.replyMessages=r,t}function*el(e,t,n,r){let i=Uc(n);if(i.length===0)return 0;let a=$c(e,Zc(n));e.currentHistory.push(...i);let o=Wc(t,n,{...r,...a===void 0?{}:{released:a}});return o&&(e.allEmittedEvents.push(o),yield o),i.length}async function*tl(e){let{profile:t,generation:n,state:r,onStage:i,host:a,reply:o,replyAt:s,...c}=e;I(c.signal);let l=Yc({...c,history:r.currentHistory,handlers:i?[i]:[],guardrails:t.guardrails,injectAllowed:Ee(t),host:a??n.host,span:r.trace.root}),u=await l.next();for(;!u.done;)r.allEmittedEvents.push(u.value),yield u.value,u=await l.next();let d=u.value;return o&&Uc(d.inject).length>0&&Xc(r,o,s),{abort:d.abort,injectCount:yield*el(r,c.stage,d.inject),warnings:d.warnings}}function nl(e,t){t.allEmittedEvents.push(e),t.attemptEvents.push(e)}function rl(e,t){if(t.length===0)return;let n=t.every(e=>e.type===`text`);e.currentHistory.push(n?{role:`user`,content:t.map(e=>e.type===`text`?e.text:``).join(``)}:{role:`user`,parts:[...t]})}function il(e){let{profile:t,generation:n}=e,r=mr(e.tools,t),i={tools:e.tools,trace:e.trace,currentHistory:[...n.history??[]],stepCount:0,resumes:0,toolResults:[],allEmittedEvents:e.allEmittedEvents??[],attemptEvents:[],released:``,replyText:``,replyMessages:[],givenUrls:rn(),destinations:gi(),canaryGiven:!1,canaryScanned:new WeakSet,...r?{ownTools:r}:{},...e.agents?{agents:e.agents}:{}};return t.type===`text`&&(rl(i,n.input),n.input=[]),i}function al(e,t,n={}){return t.map(t=>{if(e.get(t)?.type!==`builtin`)throw new H(`config`,`Builtin '${t}' is not registered`);let r=n[t];return r?{id:t,args:r}:{id:t}})}function ol(e,t,n){return{model:t.model,apiId:t.apiId,stream:t.stream,thinking:t.thinking,summaries:t.summaries,maxOutputTokens:t.maxOutputTokens,temperature:t.temperature,builtins:al(e,t.builtins,t.builtInArgs),sessionId:t.sessionId,system:n,input:t.input,history:t.history,wireTools:t.tools.wire,structured:t.structured,image:t.image,speech:t.speech,live:t.live}}var sl=t({accepted:L,preparedInput:C});function X(){let e=new H(`unavailable`,``);return e.message=oe(e),e}async function cl(e){let t=e=>Array.isArray(e)?e.map(t):e&&typeof e==`object`?Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0).sort(([e],[t])=>e<t?-1:+(e>t)).map(([e,n])=>[e,t(n)])):e,n=C.parse(t(dl(e))),r=await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(JSON.stringify(n)));return Array.from(new Uint8Array(r),e=>e.toString(16).padStart(2,`0`)).join(``)}var ll=T.tool.transform((e,t)=>e.tool.phase===`complete`||e.tool.phase===`error`?{...e,tool:e.tool}:(t.addIssue({code:`custom`}),a)),ul=t({event:ll,effects:l([`not_started`,`completed`,`unknown`]),replay:t({modelResult:t({finding:f(),data:C.optional(),parts:s($e).optional(),modelText:f().optional(),provenance:fe.optional(),suspicious:s(E).optional()}).optional(),outputRaw:C.optional(),failure:t({code:f(),kind:Se,message:f(),error:f().optional(),details:C.optional()}).optional(),awaiting:i().optional(),denied:o(!0).optional(),callNotStarted:i().optional(),aborted:r([i(),t({reason:f().optional()})]).optional(),pendingInject:s(t({id:f().optional(),messages:s(N),released:d().int().nonnegative().optional()})).optional()})});function dl(e){let t=new Set,n=e=>{if(!e||typeof e!=`object`)return e;if(t.has(e))throw X();let r=Object.getPrototypeOf(e);if(!Array.isArray(e)&&r!==Object.prototype&&r!==null||Object.hasOwn(e,`__proto__`))throw X();t.add(e);try{if(Array.isArray(e))return e.map(n);let t=Object.entries(Object.getOwnPropertyDescriptors(e));if(t.some(([,e])=>e.get||e.set))throw X();return Object.fromEntries(t.filter(([,e])=>e.enumerable&&e.value!==void 0).map(([e,t])=>[e,n(t.value)]))}finally{t.delete(e)}};return C.parse(n(e))}var fl=class{outcome;constructor(e){this.outcome=e}};function pl(e){return new H(`unavailable`,W(`tool.execution_uncertain`),{copy:{key:`tool.execution_uncertain`},cause:e})}var ml=class{coordinator;operation;accepted;signal;claim;committed=!1;writeFailed=!1;terminal;constructor(e,t,n,r){this.coordinator=e,this.operation=t,this.accepted=n,this.signal=r}async beginBody(e){I(this.signal);let t={...this.operation,invocation:{accepted:this.accepted,preparedInput:dl(e)}},n=await this.coordinator.begin(t);if(n.kind===`settled`)throw new fl(n.outcome);if(n.kind===`running`||n.kind===`uncertain`)throw pl();if(n.kind!==`acquired`||typeof n.claimToken!=`string`||!n.claimToken)throw X();return this.claim={...t,claimToken:n.claimToken},I(this.signal),this.claim}observe(e){if(e.type!==`tool`)return!0;if(e.tool.phase===`complete`||e.tool.phase===`error`)return this.terminal={...e,tool:e.tool},!1;if(this.claim&&e.tool.phase===`gate`)throw pl();return!0}async finish(e){if(e.gated){if(this.claim)throw pl();return}if(!this.terminal)throw X();let{modelResult:t,outputRaw:n,failure:r,awaiting:i,denied:a,callNotStarted:o,aborted:s,pendingInject:c}=e,l=this.claim?r?`unknown`:`completed`:`not_started`,u={event:this.terminal,effects:l,replay:{modelResult:t,outputRaw:n,failure:r,awaiting:i,denied:a,callNotStarted:o,aborted:s,pendingInject:c}};this.writeFailed=!0;let d=ul.parse(dl(u));return this.claim?await this.coordinator.settle(this.claim,d):await this.coordinator.settleNotStarted(this.operation,d),this.committed=!0,d.event}replay(e){let t=ul.parse(dl(e.outcome)),{operationId:n,callId:r,toolId:i}=this.operation;if(t.event.tool.operationId!==n||t.event.tool.callId!==r||t.event.tool.name!==i)throw X();return this.committed=!0,t}failure(e){return this.claim&&!this.committed?pl(e):e}async close(){this.claim&&!this.committed&&await this.coordinator.markUncertain(this.claim,this.writeFailed?`settlement_write_failed`:`execution_interrupted`)}};async function*hl(e,t,n,r,i,a){if(!e)return yield*i();let o=L.parse(dl(n)),s={...t,invocationHash:await cl(o)},c=new ml(e,s,o,r);I(r);let l=await e.lookup(s);if(I(r),l?.kind===`running`||l?.kind===`uncertain`)throw pl();if(l?.kind===`settled`){if(!a)throw X();let e=c.replay(new fl(l.outcome));return await a(e),I(r),yield e.event,e.replay}let u=i(e=>c.beginBody(e));try{for(;;){let e=await u.next();if(e.done){let t=await c.finish(e.value);return t&&(yield t),e.value}c.observe(e.value)&&(yield e.value)}}catch(e){if(e instanceof fl){if(!a)throw X();let t=c.replay(e);return await a(t),yield t.event,t.replay}throw c.failure(e)}finally{try{await c.close()}finally{await u.return({})}}}function*gl(e,t){t.kind===`progress`?yield B(e,{phase:`progress`,data:t.data}):t.kind===`draft`?yield B(e,{phase:`draft`,text:t.text}):t.kind===`trace`?yield B(e,{phase:`trace`,step:t.step}):t.kind===`artifact`?yield B(e,{phase:`artifact`,artifact:t.artifact}):t.kind===`warning`&&(yield B(e,{phase:`warning`,warning:t.warning}))}var _l=class{base;checks;drafts;constructor(e,t){this.base=e,this.checks=t,t?.drafts&&(this.drafts=new Xn(()=>vl(t)))}async*show(e){if(e.kind===`draft`)yield*this.draft(e.text);else if(!(e.kind===`progress`&&(yield*this.progressStops(e.data)))){if(e.kind===`artifact`){let t=yield*this.shown(e.artifact);t.shown&&(yield*gl(this.base,{...e,artifact:t.value}))}else if(e.kind===`trace`){let t=yield*this.shown(e.step);t.shown&&(yield*gl(this.base,{...e,step:t.value}))}else yield*gl(this.base,e)}}*end(){let e=this.drafts?.end();e&&(yield B(this.base,{phase:`draft`,text:e}))}async*draft(e){let t=await this.drafts?.read(e);t&&(yield B(this.base,{phase:`draft`,text:t}))}*shown(e){let t=this.checks;if(!t)return{shown:!0,value:e};let n=Ke(e,t.provenance,t.policy,t.shown);return n.event&&(yield{type:`guardrail`,guardrail:n.event}),`value`in n?{shown:!0,value:n.value}:{shown:!1}}*progressStops(e){let t=this.checks;if(!t)return!1;let{event:n,text:r}=Oe(``,e,t.provenance,t.policy,t.boundary,t.callableTools);return r!==void 0&&(n===void 0||n.action===`flag`)?!1:(n&&(yield{type:`guardrail`,guardrail:n}),!0)}};function vl(e){return Br(e.policy,{stage:`tool_result`,trust:`untrusted`,profileId:e.profileId,provenance:e.provenance},e.boundary,{callable:e.callableTools})}function yl(e){return typeof e?.granted==`boolean`}function bl(e){return e?.granted===!0}function xl(e){return e?.granted===!1}function Sl(e,t){return t?t.includes(`*`)||t.includes(e):!1}function Cl(e,t){let n=Tt(e.labels?.request,{input:t});return{access:e.access,...n?{request:n}:{}}}function wl(e,t,n,r,i){return t===`auto`||(t===`always_confirm`?r?.granted===!0:Sl(e,n))?null:{kind:`permission`,tool:e,permission:t,...i}}function Tl(e,t,n){return je(e,t,{policy:n.network,followRedirects:!1,resolveHost:n.resolveHost,...n.fetchFn?{fetchFn:n.fetchFn}:{}})}function El(e,t){if(typeof e!=`string`)throw Error(`OAuth ${t} is missing`);let n;try{n=new URL(e)}catch{throw Error(`OAuth ${t} "${e}" is not a URL`)}if(n.protocol!==`https:`||n.hash)throw Error(`OAuth ${t} "${e}" must be an https URL without a fragment`);return n}var Dl=/^[\x20\x21\x23-\x5B\x5D-\x7E]*$/;async function Ol(e){let t;try{t=await e.json()}catch{return``}if(!G(t))return``;let{error:n,error_description:r}=t;return typeof n!=`string`||!Dl.test(n)?``:typeof r==`string`&&Dl.test(r)?`: ${n} (${r})`:`: ${n}`}function kl(e,t){let n=e=>{throw Error(`Token response from ${t} ${e}`)};if(!G(e))return n(`is not a JSON object`);let r=e;(typeof r.access_token!=`string`||r.access_token.length===0)&&n(`has no access_token`),(typeof r.token_type!=`string`||r.token_type.toLowerCase()!==`bearer`)&&n(`has token_type "${String(r.token_type)}", not Bearer`);let i=r.expires_in;i!==void 0&&(typeof i!=`number`||!Number.isFinite(i)||i<0)&&n(`has an expires_in that is not a number of seconds`);for(let e of[`refresh_token`,`scope`])r[e]!==void 0&&typeof r[e]!=`string`&&n(`has a ${e} that is not a string`);return r}function Al(e){return e===void 0?[]:e.split(` `).filter(e=>e.length>0)}function jl(e,t,n){if(t.length===0)return;let r=Al(e).filter(e=>!t.includes(e));if(r.length>0)throw Error(`Token response from ${n} grants scopes that were not asked for: ${r.join(`, `)}`)}async function Ml(e,t,n,r,i){let{clientSecret:a,...o}=t,s=new URLSearchParams({...n,client_id:t.clientId,...a===void 0?{}:{client_secret:a},resource:t.resource}),c=await Tl(t.tokenEndpoint,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,Accept:`application/json`},body:s.toString()},e);if(!c.ok)throw Error(`${i?`Token refresh failed`:`Token exchange failed`} at ${t.tokenEndpoint} (HTTP ${c.status})${await Ol(c)}`);let l=kl(await c.json(),t.tokenEndpoint);return jl(l.scope,r,t.tokenEndpoint),{tokens:l,credential:{type:`oauth2`,...o,accessToken:l.access_token,refreshToken:l.refresh_token??i?.refreshToken,expiresAt:l.expires_in===void 0?void 0:Date.now()+l.expires_in*1e3,scope:l.scope??i?.scope??(r.length>0?r.join(` `):void 0)}}}function Nl(e){return El(e.tokenEndpoint,`token_endpoint`),El(e.resource,`resource`),Ml(e,{issuer:e.issuer,resource:e.resource,tokenEndpoint:e.tokenEndpoint,clientId:e.clientId,...e.clientSecret===void 0?{}:{clientSecret:e.clientSecret}},{grant_type:`refresh_token`,refresh_token:e.refreshToken,...e.scope?{scope:e.scope}:{}},Al(e.scope),{refreshToken:e.refreshToken,scope:e.scope})}function Pl(e,t){let n;try{n=new URL(e)}catch{return!1}if(n.origin!==t.origin)return!1;let r=n.pathname.replace(/\/$/,``);return t.pathname===r||t.pathname.startsWith(`${r}/`)||r===``}var Fl={now:Date.now,wait:Ua},Il=new WeakMap;function Ll(e){let t=Il.get(e);if(t)return t;let n={places:[],heldUntil:0,waiting:new Set};return Il.set(e,n),n}function Rl(e,t,n){e.places=e.places.filter(e=>e.opensAt>n);let r=e.places.length<t.requests?n:Math.min(...e.places.map(e=>e.opensAt));return Math.max(r,e.heldUntil)}async function zl(e,t,n,r){let i=new AbortController,a=()=>i.abort();e.waiting.add(a);try{await r.wait(t,n?AbortSignal.any([n,i.signal]):i.signal)}catch(e){if(n?.aborted||!i.signal.aborted)throw e}finally{e.waiting.delete(a)}}async function Bl(e,t,n,r=Fl){let i=Ll(e),a=r.now()+za;for(;;){let e=r.now(),o=Rl(i,t,e);if(o<=e){let e={opensAt:1/0};return i.places.push(e),{answered:n=>{let a=r.now();e.opensAt=a+t.windowMs;let o=n?.status===429?Ja(n.headers,a):void 0;o!==void 0&&(i.heldUntil=Math.max(i.heldUntil,a+o));for(let e of i.waiting)e()}}}if(o>a&&o!==1/0)return{full:!0,limit:t,opensInMs:o-e};if(e>=a)return{full:!0,limit:t,opensInMs:void 0};await zl(i,Math.min(o,a)-e,n,r)}}async function Vl(e,t){try{let n=await t;return e?.answered(n),n}catch(t){throw e?.answered(),t}}function Hl(e){return{handlers:[],profile:e.profile,step:e.turn?.step??1,history:()=>[],injectAllowed:!1,host:e.host,signal:e.signal}}async function*Ul(e){let{tool:t,ctx:n,base:r,stages:i}=e,a,o=bl(n.resume)&&n.resume?.edited===void 0&&n.resume?.gateKind!==`permission`&&n.resume?.gateKind!==`auth`;if(t.preTool&&!o&&(a=await t.preTool(e.input,n)??void 0),!i&&a===void 0)return{ok:!0,input:e.input};let s=yield*Wl({stages:i??Hl(n),toolName:t.name,callId:r.callId,input:e.input,toolPreTool:a,details:Cl(t,e.input)});if(!s.ok){if(s.kind===`gated`){if(`input`in s){let e=s.input,r=t.input.safeParse(Ar(e));if(!r.success)return{ok:!1,kind:`failed`,failure:{code:`invalid_input`,kind:`bad_response`,message:W(`tool.input_invalid_after_mutate`,{},n.profile.labels),details:r.error.flatten()}};s.gate={...s.gate,...Cl(t,r.data),preparedArguments:L.parse(dl(Ar(e)))}}yield Hc(`pre_tool`,{callId:r.callId,toolName:t.name,callNotStarted:!0,gate:s.gate}),yield B(r,{phase:`gate`,gate:s.gate})}return s}let c=s.mutated?t.input.safeParse(Ar(s.input)):void 0;if(c&&!c.success)return{ok:!1,kind:`failed`,failure:{code:`invalid_input`,kind:`bad_response`,message:W(`tool.input_invalid_after_mutate`,{},e.ctx.profile.labels),details:c.error.flatten()}};let l=await Gl(i,r.callId,t.name,s.waitFor,n.profile.labels);return l?{ok:!1,kind:`failed`,failure:l}:{ok:!0,input:c?c.data:s.input}}async function*Wl(e){let{stages:t,toolName:n,callId:r,input:i,toolPreTool:a,details:o}=e,s=yield*Yc({stage:`pre_tool`,step:t.step,history:t.history(),handlers:[...a===void 0?[]:[()=>a],...t.handlers],guardrails:t.profile.guardrails,injectAllowed:!1,host:t.host,signal:t.signal,span:t.span,callId:r,tool:n,input:i,...t.stepCalls?{stepCalls:t.stepCalls}:{}});if(s.abort)return{ok:!1,kind:`aborted`,aborted:s.abort};if(s.deny)return{ok:!1,kind:`failed`,failure:{...s.deny,kind:`blocked`},denied:!0};if(s.confirm)return{ok:!1,kind:`gated`,gate:{kind:`confirmation`,tool:n,...s.confirm.summary?{summary:s.confirm.summary}:{},...o},...s.mutate&&`input`in s.mutate?{input:s.mutate.input}:{}};let c=s.waitFor?{waitFor:s.waitFor}:{};return s.mutate&&`input`in s.mutate?{ok:!0,input:s.mutate.input,mutated:!0,...c}:{ok:!0,input:i,mutated:!1,...c}}async function Gl(e,t,n,r,i){if(!r)return;let a=e?.wait?await e.wait(t,r):{ok:!1,reason:`unknown`,callIds:[...r]};if(!a.ok)return{code:a.reason===`unknown`?`wait_unknown`:`wait_cycle`,kind:`request`,message:W(a.reason===`unknown`?`tool.wait_unknown`:`tool.wait_cycle`,{tool:n,calls:a.callIds.join(`, `)},i)}}async function*Kl(e){let{stages:t,toolName:n,callId:r,mutable:i,...a}=e,o=yield*Yc({...a,stage:`post_tool`,step:t.step,history:t.history(),handlers:t.handlers,guardrails:t.profile.guardrails,injectAllowed:t.injectAllowed,injectWouldExceedMaxSteps:t.injectWouldExceedMaxSteps,mutable:i,host:t.host,signal:t.signal,span:t.span,callId:r,tool:n});return{...o.abort===void 0?{}:{abort:o.abort},...o.deny?{deny:o.deny}:{},...o.mutate&&`output`in o.mutate?{mutate:o.mutate}:{},...o.labelFailed?{labelFailed:!0}:{},inject:o.inject}}async function*ql(e){yield Hc(`pre_tool`,{callId:e.callId,toolName:e.toolName,callNotStarted:!0,gate:e.gate});let t=e.gate.kind===`auth`?W(`sign_in.pending`,{service:e.gate.authChallenge.service},e.labels):void 0;return yield B(e.base,{phase:`gate`,gate:e.gate,...t?{readBack:t}:{}}),t}function Jl(e,t){if(!t)return e;let n=new URL(e);return n.searchParams.set(t.name,t.value),n}function Yl(e,t,n){let r=e.headerName??n.headerName,i=e.headerPrefix??n.headerPrefix;return{[r]:`${i}${t}`}}function Xl(e,t,n,r){return{kind:`auth`,tool:e,authChallenge:{slot:t.slot,authType:t.type,service:t.service,message:n,issuer:r?.issuer??t.preResolved?.issuer,resource:r?.resource??t.preResolved?.resource,requiredScopes:t.scopes}}}function Zl(e,t,n,r,i){return r===`gate`?{headers:{},unauthenticated:!0,gate:Xl(e,t,n,i)}:r===`fail`?{headers:{},unauthenticated:!0,failureMessage:n}:{headers:{},unauthenticated:!0,modelMessage:n}}function Ql(e,t){let n=t.type===`bearer`?t.token:t.key;if(e.queryParam!==void 0)return{headers:{},query:{name:e.queryParam,value:n}};if(t.type===`bearer`)return{headers:Yl(e,n,{headerName:`Authorization`,headerPrefix:`Bearer `})};let r=t.headerName??e.headerName??`Authorization`,i=t.headerPrefix??e.headerPrefix??``;return{headers:{[r]:`${i}${n}`}}}function $l(e,t){if(e.type!==`bearer`&&e.type!==`api_key`)return;let n=e.type===`bearer`?e.token:e.key;return{...Ql(t,e),secret:n}}var eu=new Map;function tu(e,t,n,r){let i=`${e.tokenEndpoint}\n${t}`,a=eu.get(i);if(a)return a;let o=Nl({refreshToken:t,tokenEndpoint:e.tokenEndpoint,clientId:e.clientId,resource:e.resource,scope:e.scope,issuer:e.issuer,...r===void 0?{}:{clientSecret:r},...n}).then(e=>e.credential);eu.set(i,o);let s=()=>eu.delete(i);return o.then(s,s),o}async function*nu(e,t,n,r,i,a,o){let s=t.slot,c={issuer:n.issuer,resource:n.resource};if(typeof n.resource!=`string`||n.resource.length===0)return Zl(e,t,`OAuth credential for '${e}' (slot: '${s}') does not name the resource it was issued for.`,o,c);let l=n,u=n.expiresAt!==void 0&&n.expiresAt<=Date.now()+3e4;if(u&&n.refreshToken){try{l=await tu(n,n.refreshToken,{network:rt(i),resolveHost:i.resolveHost},await r.clientSecret?.(n.clientId))}catch(n){return yield{...B(a,{phase:`progress`,data:{kind:`auth_token_refresh_failed`,slot:s}}),errorInternal:Ye(n)},Zl(e,t,`Failed to refresh OAuth token for '${e}' (slot: '${s}').`,o,c)}await r.set(s,l),yield B(a,{phase:`progress`,data:{kind:`auth_token_refreshed`,slot:s}})}else if(u)return Zl(e,t,`OAuth token expired for '${e}' (slot: '${s}') and no refresh token is available.`,o,c);return{headers:Yl(t,l.accessToken,{headerName:`Authorization`,headerPrefix:`Bearer `}),secret:l.accessToken,audience:n.resource}}async function*ru(e,t,n,r){if(!t)return{headers:{}};let i=n.credentials,a=i?await i.get(t.slot):void 0,o=t.onUnauthenticated??`gate`;return!i||!a?Zl(e,t,`Authentication required for '${e}' (auth slot: '${t.slot}').`,o):$l(a,t)||(a.type===`oauth2`?yield*nu(e,t,a,i,n,r,o):{headers:{}})}function iu(e,t){if(t===`.`||t===`..`)throw Error(`Path parameter "${e}" cannot be "${t}"`);return encodeURIComponent(t)}function au(e,t,n,r){Fn(e);let i=e,a=r?.pathParams??[];for(let e of a){let t=n[e];t!==void 0&&(i=i.replaceAll(`{${e}}`,iu(e,String(t))))}let o=i.match(/\{([a-zA-Z0-9_-]+)\}/);if(o)throw Error(`Missing required path parameter "${o[1]}" for endpoint "${e}"`);let s=new URL(i),c=r?.queryParams??[];for(let e of c){let t=n[e];t!==void 0&&s.searchParams.set(e,String(t))}if(t===`GET`)return{url:s.toString()};if(r?.bodyParam)return{url:s.toString(),body:JSON.stringify(n[r.bodyParam])};let l={},u=new Set([...a,...c]);for(let[e,t]of Object.entries(n))u.has(e)||(l[e]=t);return{url:s.toString(),body:JSON.stringify(l)}}function ou(e,t,n){if(e.includes(`application/json`)&&t.trim().length>0)try{return JSON.parse(t)}catch{return t}return t.trim().length===0&&n===204?null:t}function su(e,t){let n=e.safeParse(t);if(!n.success&&typeof t==`string`&&t.trim().length>0)try{let r=JSON.parse(t),i=e.safeParse(r);i.success&&(n=i)}catch{}return n}function cu(e){return{finding:typeof e==`string`?e:JSON.stringify(e)}}function lu(e,t){return t?.length?{...e,parts:t}:e}function Z(e,t){return{kind:`failed`,failure:e,callNotStarted:t}}async function*uu(e){let t=yield*Ul(e);return t.ok?t:t.kind===`aborted`?{kind:`aborted`,aborted:t.aborted}:t.kind===`gated`?{kind:`gated`,gate:t.gate}:{...Z(t.failure,!0),...t.denied?{denied:!0}:{}}}function du(e,t,n){let r=gt(e,t,n);if(!r.ok)return{ok:!1,outcome:Z(r.failure,!0)};let i=wl(e.name,e.permission,n.sessionPermissions,n.resume,Cl(e,r.data));return i?{ok:!1,outcome:{kind:`gated`,gate:i}}:{ok:!0,input:r.data}}function fu(e,t=!1){if(e.unauthenticated){if(e.gate)return{kind:`gated`,gate:e.gate};if(e.modelMessage)return{kind:`ok`,modelResult:{finding:e.modelMessage},outputRaw:{unauthenticated:!0,message:e.modelMessage}};if(e.failureMessage===void 0)throw Error(`An unauthenticated call carries a gate, a model message or a failure`);return Z({code:`not_authorized`,kind:`auth`,message:e.failureMessage},!t)}}function pu(e){return e.status===401||e.status===403?{status:e.status,challenge:e.headers.get(`www-authenticate`)}:void 0}var mu=/^[\x21\x23-\x5B\x5D-\x7E]+$/;function hu(e){let t=t=>e?.match(RegExp(`(?:^|[\\s,])${t}="([^"]*)"`,`i`))?.[1],n=(t(`scope`)??``).split(` `).filter(e=>mu.test(e)),r=t(`error`);return r===void 0?{scopes:n}:{error:r,scopes:n}}function gu(e){return e.status===401||hu(e.challenge).error===`insufficient_scope`}function*_u(e,t,n,r,i){let a=e.auth;if(!a||!t||!n)return;let o=a.onUnauthenticated??`gate`;if(t.status===401){let t=`The credential for '${e.name}' (slot: '${a.slot}') was refused.`;return fu(Zl(e.name,a,t,o),!0)}let s=hu(t.challenge);if(s.error!==`insufficient_scope`)return;let c=a.scopes??[],l=s.scopes;if(l.length>0&&l.every(e=>c.includes(e))){let t=`'${e.name}' needs scopes its credential (slot: '${a.slot}') does not carry.`;return fu(Zl(e.name,a,t,o),!0)}let u={kind:`auth_scope_refused`,slot:a.slot,requested:l,declared:c};return yield B(i,{phase:`progress`,data:u}),Z({code:`out_of_scope`,kind:`auth`,message:W(`sign_in.out_of_scope`,{service:a.service},r.profile.labels)},!1)}async function*vu(e){let t=yield*ru(e.tool.name,e.tool.auth,e.ctx,e.base),n=fu(t);if(n)return n;let r=yield*uu({tool:e.tool,input:e.input,ctx:e.ctx,base:e.base,stages:e.stages});return`ok`in r?{ok:!0,input:r.input,authHeaders:t.headers??{},...t.query?{query:t.query}:{},...t.secret?{secret:t.secret}:{},...t.audience?{audience:t.audience}:{}}:r}function*yu(e,t){if(ue(e)===`blocked`){let n=st();return t.record(n),Z(yield*Ne(e,n),!1)}return Z({code:`network_error`,kind:`network`,message:Ye(e)},!1)}var bu=`[omitted - credential]`,xu=4194304,Su=2e3;async function*Cu(e,t){let n=Number(e.headers.get(`content-length`));if(Number.isFinite(n)&&n>t)return await e.body?.cancel().catch(()=>{}),!1;if(!e.body)return yield await e.text(),!0;let r=e.body.getReader(),i=new TextDecoder,a=0;for(;;){let{done:e,value:n}=await r.read();if(e)break;if(a+=n.byteLength,a>t)return await r.cancel().catch(()=>{}),!1;let o=i.decode(n,{stream:!0});o&&(yield o)}let o=i.decode();return o&&(yield o),!0}async function wu(e,t=xu){let n=Cu(e,t),r=``;for(;;){let e=await n.next();if(e.done)return e.value?r:void 0;r+=e.value}}async function*Tu(e,t,n){let r=Cu(e,xu),i=n?n.length-1:0,a=``,o=``;for(;;){let e=await r.next();if(e.done)return e.value?(o&&(yield*t.show({kind:`draft`,text:o})),yield*t.end(),a):void 0;a+=e.value,o=n?Ou(o+e.value,n):o+e.value;let s=o.length-i;s<=0||(yield*t.show({kind:`draft`,text:o.slice(0,s)}),o=o.slice(s))}}function Eu(e){return e.length>Su?`${e.slice(0,Su)}…`:e}function Du(e){return{code:`response_too_large`,kind:`bad_response`,message:`Response from ${e} is larger than ${xu} bytes`}}function Ou(e,t){return e.replaceAll(t,bu)}function ku(e,t){return hn(e,e=>Ou(e,t))}function Au(e,t){return{...e,message:Ou(e.message,t),...e.details===void 0?{}:{details:ku(e.details,t)}}}function ju(e,t){if(!t)return e;if(e.kind===`ok`){let n=ku(e.outputRaw,t);return{kind:`ok`,outputRaw:n,modelResult:lu(cu(n),e.modelResult.parts)}}return e.kind===`failed`?{...e,failure:Au(e.failure,t)}:e}function Mu(e,t){if(e&&!Pl(e,t))return`The OAuth token for "${e}" cannot be sent to "${t.origin}${t.pathname}"`}async function*Nu(e,t,n){let r=Mu(e.audience,t);return r?Z({code:`credential_audience_mismatch`,kind:`config`,message:r},!0):ju(yield*n(Jl(t,e.query)),e.secret)}async function*Pu(e,t,n,r,i,a,o){let s=du(e,t,n);if(!s.ok)return s.outcome;let c=s.input,l=yield*vu({tool:e,input:c,ctx:n,base:r,stages:i});if(!(`ok`in l))return l;c=l.input;let u;try{u=au(e.endpoint,e.method,c,e.mapping)}catch(e){return Z({code:`invalid_input`,kind:`bad_response`,message:Ye(e)},!0)}let d=yield*dt(u.url,n,i?.span);return d.ok?(yield*h(e,c,n,r,a),yield*Nu(l,d.url,t=>Lu(e,t,u.body,l,n,r,i?.span,o))):Z(d.failure,!0)}function Fu(e){if(!e.ok)return!1;let t=e.headers.get(`content-type`)??``;return t===``||t.startsWith(`text/`)||/[/+]json\b/.test(t)}async function*Iu(e,t,n){return!t||!Fu(e)?await wu(e):yield*Tu(e,t,n)}async function*Lu(e,t,n,{authHeaders:r,secret:i},a,o,s,c){let l=Re(s),u={Accept:`application/json`};e.method!==`GET`&&(u[`Content-Type`]=`application/json`);let d;try{let s=e.limit?await Bl(e,e.limit,a.signal):void 0;if(s&&`full`in s)return Z(Zu(e,s),!1);d=e.timeoutMs===void 0?void 0:AbortSignal.timeout(e.timeoutMs);let f=d&&a.signal?AbortSignal.any([a.signal,d]):d??a.signal,p=await Vl(s,je(t.href,{method:e.method,headers:u,body:n,signal:f},{policy:rt(a),followRedirects:!0,...e.access===`read-only`?{fetchFn:Ya(fetch)}:{},originBoundHeaders:{...e.headers,...r},resolveHost:a.resolveHost,onCheck:l.onCheck})),m=yield*Iu(p,c,i);if(m===void 0)return Z(Du(t.hostname),!1);if(!p.ok)return(yield*_u(e,pu(p),i!==void 0,a,o))||Z({code:`http_${p.status}`,kind:Qu(p.status),message:`HTTP ${p.status} from ${t.hostname}: ${Eu(m)}`},!1);let h=ou(p.headers.get(`content-type`)??``,m,p.status),g=su(e.output,h);return g.success?{kind:`ok`,modelResult:cu(g.data),outputRaw:g.data}:Z({code:`invalid_output`,kind:`bad_response`,message:`HTTP response did not match tool output schema`,details:g.error.flatten()},!1)}catch(n){return e.timeoutMs!==void 0&&d?.aborted&&!a.signal?.aborted?Z(Ru(t.hostname,e.timeoutMs),!1):yield*yu(n,l)}finally{l.record()}}function Ru(e,t){return{code:`timeout`,kind:`timeout`,message:`${e} did not answer within ${t} ms`}}var zu=[`2026-07-28`,`2025-11-25`,`2025-06-18`,`2025-03-26`];function Bu(e){let t=e.trim();if(t.startsWith(`{`))return JSON.parse(t);let n=[];for(let t of e.split(`