@fungi.computer/grove 0.5.0 → 0.5.1

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 (29) hide show
  1. package/dist/assets/{anthropic-messages-B10kEhdr.js → anthropic-messages-BTv37DKo.js} +3 -3
  2. package/dist/assets/{azure-openai-responses-BfXWvSIh.js → azure-openai-responses-CLI5CTea.js} +1 -1
  3. package/dist/assets/burger-BrMTWnA6.js +1 -0
  4. package/dist/assets/cat-Ce0yvAsw.js +1 -0
  5. package/dist/assets/{compat-CbK3PtOb.js → compat-BQZx9Jx3.js} +2 -2
  6. package/dist/assets/{extension-hook-DLTz1137.js → extension-hook-UDdYbDsl.js} +118 -118
  7. package/dist/assets/extensions-DF9U5f_Z.js +1 -0
  8. package/dist/assets/{google-generative-ai-Fu8V-yz7.js → google-generative-ai-_8qHW2IX.js} +1 -1
  9. package/dist/assets/{google-shared-wlIfh6j_.js → google-shared-BjptlrJn.js} +1 -1
  10. package/dist/assets/{google-vertex-BgvHA6C2.js → google-vertex-C6JPlmUK.js} +1 -1
  11. package/dist/assets/{index-cUekAmc6.js → index-DM8ziIjn.js} +15 -15
  12. package/dist/assets/{mistral-conversations-BrU-wxK0.js → mistral-conversations-C_XYmgUS.js} +1 -1
  13. package/dist/assets/{mushroom-D6oZV5NT.js → mushroom-BTxbn3Sf.js} +1 -1
  14. package/dist/assets/{node.browser-Baqa49m1.js → node.browser-Bc9i4viB.js} +1 -1
  15. package/dist/assets/{openai-codex-responses-i1IzQiR2.js → openai-codex-responses-C0Thlbgz.js} +1 -1
  16. package/dist/assets/{openai-completions-DuCQ84Dy.js → openai-completions-CJJn6-l3.js} +1 -1
  17. package/dist/assets/{openai-responses-Vdmgof2r.js → openai-responses-BuHYr0Ip.js} +1 -1
  18. package/dist/assets/{openai-responses-shared-BgYppAGR.js → openai-responses-shared-px8hA25N.js} +1 -1
  19. package/dist/assets/parakeet-conversation-gakMmXhW.js +4 -0
  20. package/dist/assets/{renderer-bYZ9SYm9.js → renderer-69rvqVnj.js} +1 -1
  21. package/dist/assets/runtime-core-CHfIZEOV.js +40 -0
  22. package/dist/assets/{transform-messages-BycyMXl0.js → transform-messages-zEOZxc_F.js} +1 -1
  23. package/dist/index.html +2 -2
  24. package/package.json +9 -9
  25. package/dist/assets/burger-qdnxdNXn.js +0 -1
  26. package/dist/assets/cat-B_uav_x5.js +0 -1
  27. package/dist/assets/extensions-IZr7giz2.js +0 -1
  28. package/dist/assets/parakeet-conversation-Bnw6qiL2.js +0 -4
  29. package/dist/assets/runtime-core-CUZBVLjw.js +0 -40
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/compat-CbK3PtOb.js","assets/preload-helper-DY31Aviq.js","assets/index-cUekAmc6.js","assets/rolldown-runtime-hePW80VL.js","assets/Effect-TOXKEWei.js","assets/document-aOA3zT2S.js","assets/base-face-CD4oLBv-.js","assets/index-DRqG5MfY.css","assets/provider-env-CcCbsTJq.js","assets/diagnostics-CxvqSC4Q.js","assets/models-BM_0GHMS.js","assets/json-parse-M7s0500m.js","assets/openai-codex-responses-i1IzQiR2.js","assets/headers-FK4rgixo.js","assets/transform-messages-BycyMXl0.js","assets/runtime-core-CUZBVLjw.js","assets/extensions-IZr7giz2.js","assets/error-body-pkrba6pf.js","assets/openai-prompt-cache-DXo9f3w5.js","assets/openai-responses-shared-BgYppAGR.js","assets/sanitize-unicode-DmIE6hZJ.js","assets/hash-yQufAZII.js","assets/abort-signals-joV34wzR.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/compat-BQZx9Jx3.js","assets/preload-helper-DY31Aviq.js","assets/index-DM8ziIjn.js","assets/rolldown-runtime-hePW80VL.js","assets/Effect-TOXKEWei.js","assets/document-aOA3zT2S.js","assets/base-face-CD4oLBv-.js","assets/index-DRqG5MfY.css","assets/provider-env-CcCbsTJq.js","assets/diagnostics-CxvqSC4Q.js","assets/models-BM_0GHMS.js","assets/json-parse-M7s0500m.js","assets/openai-codex-responses-C0Thlbgz.js","assets/headers-FK4rgixo.js","assets/transform-messages-zEOZxc_F.js","assets/runtime-core-CHfIZEOV.js","assets/extensions-DF9U5f_Z.js","assets/error-body-pkrba6pf.js","assets/openai-prompt-cache-DXo9f3w5.js","assets/openai-responses-shared-px8hA25N.js","assets/sanitize-unicode-DmIE6hZJ.js","assets/hash-yQufAZII.js","assets/abort-signals-joV34wzR.js"])))=>i.map(i=>d[i]);
2
2
  import{$ as e,$i as t,$n as n,$r as r,$t as i,A as a,Ai as o,An as s,Ar as c,At as l,B as u,Br as d,Bt as f,C as p,Ci as m,Cr as ee,Ct as te,D as ne,Di as re,Dn as ie,Dr as ae,Dt as oe,E as se,Ei as ce,En as le,Er as ue,Et as de,Fr as fe,Ft as pe,G as me,Gi as he,Gr as h,Gt as ge,H as _e,Hi as ve,Hn as ye,Hr as be,Ht as xe,I as Se,In as Ce,Ir as we,It as Te,J as Ee,Ji as De,Jr as Oe,Jt as ke,K as Ae,Ki as je,Kn as Me,Kr as Ne,Kt as Pe,L as Fe,Ln as Ie,Lr as Le,Lt as Re,M as ze,Mr as Be,Mt as Ve,N as He,Nn as Ue,Nr as We,Nt as Ge,O as Ke,Oi as qe,On as Je,Or as Ye,Ot as Xe,P as Ze,Pn as Qe,Pr as $e,Pt as et,Qi as tt,Qn as nt,Qr as rt,Qt as it,R as at,Rn as ot,Rr as st,Rt as ct,S as lt,Si as ut,Sr as dt,St as ft,T as pt,Ti as mt,Tn as ht,Tr as gt,Tt as _t,U as vt,Un as yt,Ur as bt,Ut as xt,V as St,Vn as Ct,Vr as wt,Vt as Tt,W as Et,Wa as Dt,Wi as Ot,Wn as kt,Wt as At,X as jt,Xa as Mt,Xi as Nt,Xr as Pt,Xt as Ft,Y as It,Yr as Lt,Yt as Rt,Z as zt,Zn as Bt,Zr as Vt,Zt as Ht,_ as Ut,_a as Wt,_i as Gt,_n as Kt,_r as qt,_t as Jt,a as g,aa as _,ai as Yt,an as Xt,at as Zt,b as Qt,bi as $t,bn as en,br as tn,bt as nn,c as rn,ca as an,ci as on,cn as sn,cr as cn,ct as ln,d as un,di as dn,dn as fn,dr as pn,dt as v,ea as mn,en as hn,er as gn,et as _n,f as vn,fa as yn,fi as bn,fn as xn,fr as Sn,ft as Cn,g as y,gi as wn,gn as Tn,gt as En,h as Dn,ha as On,hi as kn,hn as An,hr as jn,i as Mn,ia as Nn,ii as Pn,in as Fn,ir as In,it as Ln,j as b,jn as Rn,jr as zn,jt as Bn,k as Vn,ki as Hn,kn as Un,kr as Wn,kt as Gn,l as Kn,la as qn,li as Jn,ln as Yn,lr as Xn,lt as Zn,m as Qn,ma as x,mi as $n,mn as er,mr as tr,mt as nr,ni as rr,nn as ir,nt as ar,o as or,oa as sr,oi as cr,on as lr,or as ur,ot as dr,p as fr,pa as pr,pi as mr,pn as hr,pr as gr,pt as S,q as _r,qa as vr,qi as yr,qn as br,qt as xr,r as Sr,ra as Cr,ri as wr,rn as Tr,rr as Er,rt as Dr,s as Or,sa as kr,si as Ar,sn as jr,t as Mr,ta as Nr,ti as Pr,tn as Fr,tr as Ir,tt as Lr,u as Rr,ua as zr,ui as Br,un as Vr,ur as Hr,ut as Ur,v as Wr,va as Gr,vi as Kr,vn as qr,vt as Jr,w as Yr,wr as Xr,wt as Zr,x as Qr,xi as $r,xr as ei,xt as ti,y as C,yi as ni,yn as ri,yr as ii,yt as ai,z as oi,zr as si,zt as ci}from"./Effect-TOXKEWei.js";import{l as li,t as ui}from"./preload-helper-DY31Aviq.js";var di=e=>e>0?Math.floor(e):0,fi=e=>Math.max(1,di(e)),pi=e=>{let t=e[Symbol.iterator]().next();if(t.done)throw Error(`headUnsafe: empty iterable`);return t.value},mi=`~effect/BigDecimal`,hi={[mi]:mi,[Yt](){let e=Ci(this);return Pr(Pn(String(e.value)),wr(e.scale))},[r](e){return gi(e)&&Oi(this,e)===0},toString(){return`BigDecimal(${Ai(this)})`},toJSON(){return{_id:`BigDecimal`,value:String(this.value),scale:this.scale}},[si](){return this.toJSON()},pipe(){return o(this,arguments)}},gi=e=>cr(e,mi),_i=(e,t)=>{if(!Number.isSafeInteger(t))throw RangeError(`Scale must be a safe integer, got ${t}`);let n=Object.create(hi);return n.value=e,n.scale=t,n},vi=(e,t)=>{let n=_i(e,t);return n.normalized=n,n},yi=BigInt(0),bi=BigInt(1),xi=BigInt(10),Si=vi(yi,0),Ci=e=>{if(e.normalized===void 0){if(e.value===yi)e.normalized=Si;else{let t=`${e.value}`,n=t.length;for(;t[n-1]===`0`;)n--;e.normalized=vi(BigInt(t.slice(0,n)),e.scale-(t.length-n))}}return e.normalized},wi=100,Ti=[bi],Ei=(e,t)=>e===t?0:e<t?-1:1,Di=(e,t)=>{let n=`${e.value<yi?-e.value:e.value}`,r=`${t.value<yi?-t.value:t.value}`,i=BigInt(n.length-r.length)-BigInt(e.scale)+BigInt(t.scale);if(i!==yi)return i<yi?-1:1;let a=Math.max(n.length,r.length);return pn(n.padEnd(a,`0`),r.padEnd(a,`0`))},Oi=(e,t)=>{if(e.scale===t.scale)return Ei(e.value,t.value);let n=ki(e),r=ki(t);if(n!==r)return n<r?-1:1;if(n===0)return 0;let i=e.scale-t.scale,a=Math.abs(i);if(a>wi)return n===-1?Di(t,e):Di(e,t);let o=Ti[a]??=xi**BigInt(a);return i>0?Ei(e.value,t.value*o):Ei(e.value*o,t.value)},ki=e=>e.value===yi?0:e.value<yi?-1:1,Ai=e=>{let t=Ci(e);if(Math.abs(t.scale)>=16)return ji(t);let n=t.value<yi,r=`${n?-t.value:t.value}`,i=t.scale>0?r.padStart(t.scale+1,`0`):r.padEnd(r.length-t.scale,`0`),a=i.length-t.scale,o=t.scale>0?`${i.slice(0,a)}.${i.slice(a)}`:i;return n?`-${o}`:o},ji=e=>{if(Mi(e))return`0e+0`;let t=Ci(e),n=`${t.value}`,r=t.value<yi?2:1,i=n.slice(0,r),a=n.slice(r),o=a.length-t.scale;return`${i}${a===``?``:`.${a}`}e${o>=0?`+`:``}${o}`},Mi=e=>e.value===yi,Ni=tn,Pi=`~effect/encoding/EncodingError`,Fi=class extends Ni(`EncodingError`){[Pi]=Pi},Ii=We,Li=Xr,Ri=ee,zi=dt,Bi=it,Vi=l,Hi=Ve,Ui=ke,Wi=Rt,Gi=xr,Ki=Bn,qi=zn,Ji=gt,Yi=_t;le()(`effect/Cause/StackTrace`),le()(`effect/Cause/InterruptorStackTrace`);var Xi=c,Zi=Wn,Qi=Ye,$i=ae,ea=Tt,ta=ci,na=ct,ra=f,ia=Te,aa={"~effect/Deferred":{_A:mt,_E:mt},pipe(){return o(this,arguments)}},oa=function(){this.resumes=void 0,this.effect=void 0};oa.prototype=aa;var sa=()=>new oa,ca=()=>Kt(()=>sa()),la=e=>Xe(t=>e.effect?t(e.effect):(e.resumes??=[],e.resumes.push(t),Kt(()=>{let n=e.resumes;if(n===void 0)return;let r=n.indexOf(t);r>=0&&n.splice(r,1)}))),ua=m(2,(e,t)=>Kt(()=>pa(e,t))),da=m(2,(e,t)=>ua(e,Ye(t))),fa=m(2,(e,t)=>ua(e,c(t))),pa=(e,t)=>{if(e.effect)return!1;if(e.effect=t,e.resumes){let n=e.resumes;e.resumes=void 0;for(let e=0;e<n.length;e++)n[e](t)}return!0},ma=hr,ha=fn,ga=xn,_a=Fn,va=jr,ya=lr,ba=Yn,xa=Vr,Sa=sn,Ca=et,wa=`~effect/DateTime`,Ta=`~effect/DateTime/TimeZone`,Ea={[wa]:wa,pipe(){return o(this,arguments)},[si](){return this.toString()},toJSON(){return La(this).toJSON()}},Da={...Ea,_tag:`Utc`,[Yt](){return wr(this.epochMilliseconds)},[r](e){return ka(e)&&e._tag===`Utc`&&this.epochMilliseconds===e.epochMilliseconds},toString(){return`DateTime.Utc(${La(this).toJSON()})`}};({...Ea});var Oa={[Ta]:Ta,[si](){return this.toString()}};({...Oa}),{...Oa};var ka=e=>cr(e,wa),Aa=e=>e._tag===`Utc`,ja=e=>{let t=Object.create(Da);return t.epochMilliseconds=e,Object.defineProperty(t,"partsUtc",{value:void 0,enumerable:!1,writable:!0}),t},Ma=e=>{let t=e.getTime();if(Number.isNaN(t))throw new Yi(`Invalid date`);return ja(t)},Na=e=>{if(ka(e))return e;if(e instanceof Date)return Ma(e);if(typeof e==`object`){if(`epochMilliseconds`in e)return Ma(new Date(e.epochMilliseconds));let t=new Date(0);return Ra(t,e),Ma(t)}return typeof e==`string`&&!Pa(e)?Ma(new Date(e+`Z`)):Ma(new Date(e))},Pa=e=>/Z|GMT|[+-]\d{2}$|[+-]\d{2}:?\d{2}$|\]$/.test(e),Fa=Ir(Na),Ia=e=>ja(e.epochMilliseconds),La=e=>new Date(e.epochMilliseconds),Ra=(e,t)=>{if((t.year!==void 0||t.month!==void 0||t.day!==void 0)&&e.setUTCFullYear(t.year??e.getUTCFullYear(),t.month===void 0?e.getUTCMonth():t.month-1,t.day??e.getUTCDate()),t.weekDay!==void 0){let n=t.weekDay-e.getUTCDay();e.setUTCDate(e.getUTCDate()+n)}t.hour!==void 0&&e.setUTCHours(t.hour),t.minute!==void 0&&e.setUTCMinutes(t.minute),t.second!==void 0&&e.setUTCSeconds(t.second),t.millisecond!==void 0&&e.setUTCMilliseconds(t.millisecond)},za=e=>La(e).toISOString();globalThis.Number;var Ba=m(2,(e,t)=>{if(!globalThis.Number.isFinite(e)||!globalThis.Number.isFinite(t)||t===0)return NaN;if(globalThis.Number.isInteger(e)&&globalThis.Number.isInteger(t))return e%t;let[n,r]=Va(e),[i,a]=Va(t),o=Math.min(r,a),s=n*BigInt(10)**BigInt(r-o)%(i*BigInt(10)**BigInt(a-o));if(s===BigInt(0))return e<0||Object.is(e,-0)?-0:0;let c=globalThis.Number(`${s}e${o}`);return c===0?Math.sign(e)*globalThis.Number.MIN_VALUE:c});function Va(e){if(globalThis.Number.isInteger(e))return[BigInt(e),0];let t=Math.abs(e).toExponential(),n=t.indexOf(`e`),r=t.slice(0,n).replace(`.`,``);return[BigInt(r)*(e<0?-BigInt(1):BigInt(1)),globalThis.Number(t.slice(n+1))-r.length+1]}globalThis.String;var Ha=e=>e.trim(),Ua=m(2,(e,t)=>Gn(e,qa,e=>t(e))),Wa=e=>e.reasons.some(Ga),Ga=e=>e._tag===`Fail`&&qi(e.error),Ka=e=>{let t,n=!1;for(let r of e.reasons)Ga(r)?t??=r.error:r._tag!==`Interrupt`&&(n=!0);return t===void 0?ot(e):n?ot(Li(e.reasons.filter(e=>!Ga(e)))):Me(t)},qa=e=>{let t=Ka(e);return Ct(t)?t:Me(t.success.value)},Ja=e=>{let t=Ka(e);return Ct(t)?Zi(t.failure):Xi(t.success.value)},Ya=ht(`effect/Metric/CurrentMetricAttributes`,{defaultValue:()=>({})}),Xa=ht(`effect/Metric/MetricRegistry`,{defaultValue:()=>new Map}),Za=`~effect/Metric`,Qa=class{[Za]=Za;#e;#t=``;id;description;attributes;constructor(e,t,n){this.id=e,this.description=t,this.attributes=n}valueUnsafe(e){return this.hook(e).get(e)}modifyUnsafe(e,t){return this.hook(t).modify(e,t)}updateUnsafe(e,t){return this.hook(t).update(e,t)}hook(e){let t=Un(e,Ya);t!==this.#e&&(this.#e=t,this.#t=ao(this,so(this.attributes,t)));let n=Un(e,Xa),r=n.get(this.#t);return ni(r)&&(r={id:this.id,type:this.type,description:this.description,attributes:Object.keys(t).length>0?so(this.attributes,t):this.attributes,hooks:this.createHooks()},n.set(this.#t,r)),r.hooks}pipe(){return o(this,arguments)}},$a=BigInt(0),eo=class extends Qa{type=`Counter`;#e;#t;constructor(e,t){super(e,t?.description,co(t?.attributes)),this.#e=t?.bigint??!1,this.#t=t?.incremental??!1}createHooks(){let e=this.#e?$a:0,t=this.#t?this.#e?e=>e>=$a:e=>e>=0:e=>!0;return oo(()=>({count:e,incremental:this.#t}),n=>{t(n)&&(e+=n)})}},to=class extends Qa{type;metric;valueUnsafe;updateUnsafe;modifyUnsafe;constructor(e,t,n,r){super(e.id,e.description,e.attributes),this.metric=e,this.valueUnsafe=t,this.updateUnsafe=n,this.modifyUnsafe=r,this.type=e.type}createHooks(){return this.metric.createHooks()}},no=(e,t)=>new eo(e,t),ro=m(2,(e,t)=>Ge(n=>Kt(()=>e.updateUnsafe(t,n)))),io=m(2,(e,t)=>{let n=lo(t);return new to(e,t=>e.valueUnsafe(n(t)),(t,r)=>e.updateUnsafe(t,n(r)),(t,r)=>e.modifyUnsafe(t,n(r)))});function ao(e,t){let n=Object.entries(t).sort((e,t)=>e[0]<t[0]?-1:+(e[0]>t[0]));return JSON.stringify([e.type,e.id,e.description,n])}function oo(e,t,n){return{get:e,update:t,modify:n??t}}function so(e,t){return{...co(e),...co(t)}}function co(e){return bn(e)&&Array.isArray(e)?e.reduce((e,[t,n])=>(h(e,t,n),e),{}):e}function lo(e){let t,n={};return r=>{let i=Un(r,Ya);return i!==t&&(t=i,n=so(i,e)),ie(r,Ya,n)}}var uo=ka,fo=Aa,po=Na,mo=Fa,ho=Ia;le()(`effect/DateTime/CurrentTimeZone`);var go=za,_o=e=>yo(typeof e==`string`?bo.encode(e):e),vo=e=>{let t=xo(e),n=t.length;if(n%4!=0)return ot(new Fi({kind:`Decode`,module:`Base64`,input:t,message:`Length must be a multiple of 4, but is ${n}`}));let r=t.indexOf(`=`);if(r!==-1&&(r<n-2||r===n-2&&t[n-1]!==`=`))return ot(new Fi({kind:`Decode`,module:`Base64`,input:t,message:`Found a '=' character, but it is not at the end`}));try{let e=t.endsWith(`==`)?2:+!!t.endsWith(`=`),r=new Uint8Array(n/4*3-e);for(let e=0,i=0;e<n;e+=4,i+=3){let n=wo(t.charCodeAt(e))<<18|wo(t.charCodeAt(e+1))<<12|wo(t.charCodeAt(e+2))<<6|wo(t.charCodeAt(e+3));r[i]=n>>16,r[i+1]=n>>8&255,r[i+2]=n&255}return Me(r)}catch(e){return ot(new Fi({kind:`Decode`,module:`Base64`,input:t,message:e instanceof Error?e.message:`Invalid input`}))}},yo=e=>{let t=e.length,n=``,r;for(r=2;r<t;r+=3)n+=So[e[r-2]>>2],n+=So[(e[r-2]&3)<<4|e[r-1]>>4],n+=So[(e[r-1]&15)<<2|e[r]>>6],n+=So[e[r]&63];return r===t+1&&(n+=So[e[r-2]>>2],n+=So[(e[r-2]&3)<<4],n+=`==`),r===t&&(n+=So[e[r-2]>>2],n+=So[(e[r-2]&3)<<4|e[r-1]>>4],n+=So[(e[r-1]&15)<<2],n+=`=`),n},bo=new TextEncoder,xo=e=>e.replace(/[\n\r]/g,``),So=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Co=new Uint8Array(123).fill(255);for(let e=0;e<64;e++)Co[So.charCodeAt(e)]=e;Co[61]=0;var wo=e=>{if(e>=Co.length||Co[e]===255)throw TypeError(`Invalid character ${String.fromCharCode(e)}`);return Co[e]};Ni(`CookiesError`),{...st},{...st};var To=new WeakMap,Eo=`~effect/Redacted`,Do=e=>cr(e,Eo),Oo=(e,t)=>{let n=Object.create(ko);return t?.label&&(n.label=t.label),To.set(n,e),n},ko={[Eo]:{_A:e=>e},label:void 0,...ii,toJSON(){return this.toString()},toString(){return`<redacted${Gt(this.label)?`:`+this.label:``}>`},[Yt](){return rr(To.get(this))},[r](e){return Do(e)&&Pt(To.get(this),To.get(e))}};({...ii});function Ao(e){return e.checks?e.checks[e.checks.length-1].annotations:e.annotations}function jo(e){return t=>Ao(t)?.[e]}var Mo=`~structural`,No=`~identifier`,Po=`~sentinels`,Fo=`~constructor`,Io=[`title`,`description`,`default`,`examples`,`readOnly`,`writeOnly`,`format`,`contentEncoding`,`contentMediaType`,`contentSchema`],Lo=jo(`identifier`),Ro=jo(No),zo=jo(`title`),Bo=jo(`description`),Vo=ce(e=>{let t=Ao(e)?.identifier;return typeof t==`string`?t:e.getExpected(Vo)}),Ho=new Set([Po,Mo,`representation`,`arbitraryConstraint`,`toJsonSchema`,`toCode`,`toEquivalence`,`toFormatter`,`toCodec`,`toCodecJson`,`toCodecStringTree`,`toCodecIso`,`toCodecArbitrary`]),w=Symbol(),Uo=Xi,Wo=Uo(w),Go=Uo(w),Ko=e=>e===w?In():ur(e),qo=e=>e._tag===`None`?Wo:Uo(e.value),Jo=`~effect/SchemaIssue/Issue`;function Yo(e){return cr(e,Jo)&&e[Jo]===Jo}function Xo(e){return Object.hasOwn(e,`input`)}var Zo=class{[Jo]=Jo;constructor(e,t){t?.reportInput===!0&&e!==w&&(this.input=e)}},Qo=class extends Zo{_tag=`Filter`;filter;issue;constructor(e,t,n,r){super(n,r),this.filter=e,this.issue=t}},$o=class extends Zo{_tag=`Encoding`;ast;issue;constructor(e,t,n,r){super(n,r),this.ast=e,this.issue=t}},es=class extends Zo{_tag=`Pointer`;path;issue;constructor(e,t){super(),this.path=e,this.issue=t}},ts=class extends Zo{_tag=`MissingKey`;annotations;constructor(e){super(),this.annotations=e}},ns=class extends Zo{_tag=`UnexpectedKey`;ast;constructor(e,t,n){super(t,n),this.ast=e}},rs=class extends Zo{_tag=`Composite`;ast;issues;constructor(e,t,n,r){super(n,r),this.ast=e,this.issues=t}},is=class extends Zo{_tag=`InvalidType`;ast;constructor(e,t,n){super(t,n),this.ast=e}},as=class extends Zo{_tag=`InvalidValue`;annotations;constructor(e,t,n){super(t,n),this.annotations=e}},os=class extends Zo{_tag=`Forbidden`;annotations;constructor(e,t,n){super(t,n),this.annotations=e}},ss=class extends Zo{_tag=`AnyOf`;ast;issues;constructor(e,t,n,r){super(n,r),this.ast=e,this.issues=t}},cs=class extends Zo{_tag=`OneOf`;ast;successes;constructor(e,t,n,r){super(n,r),this.ast=e,this.successes=t}};function ls(e,t,n){if(Yo(e))return e;if(typeof e==`string`)return new as({message:e},t,n);let r=typeof e.issue==`string`?new as({message:e.issue},t,n):e.issue;return new es(e.path,r)}function us(e,t,n){if(e!==void 0)return typeof e==`boolean`?e?void 0:new as(void 0,t,n):ls(e,t,n)}function ds(e,t,n,r){return Array.isArray(t)?Qe(t)?t.length===1?ls(t[0],n,r):new rs(e,Ce(t,e=>ls(e,n,r)),n,r):void 0:us(t,n,r)}var fs=e=>{let t=Cs(e);if(t!==void 0)return t;switch(e._tag){case`InvalidType`:return _s(Vo(e.ast),e);case`InvalidValue`:{let t=gs(e);if(t!==void 0)return _s(t,e);let n=hs(e);return n===void 0?`Expected a valid value`:`Invalid data ${n}`}case`MissingKey`:return`Missing key`;case`UnexpectedKey`:{let t=hs(e);return t===void 0?`Expected no excess property`:`Unexpected key with value ${t}`}case`Forbidden`:return`Forbidden operation`;case`OneOf`:{let t=hs(e);return t===void 0?`Expected exactly one member to match`:`Expected exactly one member to match the input ${t}`}}},ps=e=>Cs(e.issue)??Cs(e);function ms(e){return t=>({issues:vs(t,[],e?.leafHook??fs,e?.checkHook??ps)})}function hs(e){return Xo(e)?d(e.input):void 0}function gs(e){let t=e.annotations?.expected;return typeof t==`string`?t:void 0}function _s(e,t){let n=hs(t);return n===void 0?`Expected ${e}`:`Expected ${e}, got ${n}`}function vs(e,t,n,r){switch(e._tag){case`Filter`:{let i=r(e);if(i!==void 0)return[{path:t,message:i}];if(e.issue._tag!==`InvalidValue`)return vs(e.issue,t,n,r);let a=gs(e.issue);return[{path:t,message:a===void 0?_s(ys(e.filter),e):_s(a,e.issue)}]}case`Encoding`:return vs(e.issue,t,n,r);case`Pointer`:return vs(e.issue,[...t,...e.path],n,r);case`Composite`:return e.issues.flatMap(e=>vs(e,t,n,r));case`AnyOf`:return e.issues.length===0?[{path:t,message:Cs(e)??_s(Vo(e.ast),e)}]:e.issues.flatMap(e=>vs(e,t,n,r));default:return[{path:t,message:n(e)}]}}function ys(e){let t=e.annotations?.expected;if(typeof t==`string`)return t;switch(e._tag){case`Filter`:return`<filter>`;case`FilterGroup`:return e.checks.map(e=>ys(e)).join(` & `)}}function bs(){return e=>Ss(e,``)}var xs=bs();function Ss(e,t){let n;switch(e._tag){case`Filter`:{let r=ps(e);if(r!==void 0)n=r;else{if(e.issue._tag!==`InvalidValue`)return Ss(e.issue,t);let r=gs(e.issue);n=r===void 0?_s(ys(e.filter),e):_s(r,e.issue)}break}case`Encoding`:return Ss(e.issue,t);case`Pointer`:return Ss(e.issue,t+be(e.path));case`Composite`:case`AnyOf`:if(e._tag===`Composite`||e.issues.length>0)return e.issues.map(e=>Ss(e,t)).join(`
3
3
  `);n=Cs(e)??_s(Vo(e.ast),e);break;default:n=fs(e)}return t?`${n}\n at ${t}`:n}function Cs(e){if(e._tag===`Pointer`)return;if(e._tag===`Encoding`)return Cs(e.issue);let t=(e._tag===`Filter`?e.filter.annotations:`annotations`in e?e.annotations:e.ast.annotations)?.[e._tag===`MissingKey`?`messageMissingKey`:e._tag===`UnexpectedKey`?`messageUnexpectedKey`:`message`];if(typeof t==`string`)return t}function ws(e){let t;for(let n of e.reasons){if(!Ii(n)||!Yo(n.error))return;t??=n.error}return t}function Ts(e,t){let n=ws(e);if(n===void 0)throw Error(t,{cause:e});return n}var Es=e=>_o(e).replace(/=/g,``).replace(/\+/g,`-`).replace(/\//g,`_`),Ds=e=>{let t=e.replace(/[\n\r]/g,``),n=t.length;if(n%4==1)return ot(new Fi({module:`Base64Url`,kind:`Decode`,input:t,message:`Length should be a multiple of 4, but is ${n}`}));if(!/^[-_A-Z0-9]*?={0,2}$/i.test(t))return ot(new Fi({module:`Base64Url`,kind:`Decode`,input:t,message:`Invalid input`}));let r=n%4==2?`${t}==`:n%4==3?`${t}=`:t;return r=r.replace(/-/g,`+`).replace(/_/g,`/`),vo(r)},Os=e=>Object.assign(Object.create(Hn),e);function ks(e){return Rs((t,n)=>y(e(t,n)))}function As(e){return ks((t,n)=>{let r={message:e(t)};return gn(t)?new os(r,t.value,n):new os(r)})}var js=As(()=>`Encoding is not supported`),Ms=Os({_tag:`Passthrough`});function Ns(){return Ms}function Ps(){return Ms}function Fs(e){return Os({_tag:`Transform`,transform:e})}function Is(e){return Os({_tag:`TransformEffect`,transform:e})}function Ls(e){return Os({_tag:`TransformOptional`,transform:e})}function Rs(e){return Os({_tag:`TransformOptionalEffect`,transform:e})}function zs(){return Ls(()=>In())}function Bs(e){return Rs(t=>{let n=br(t,bn);return gn(n)?v(n):Fe(e,ur)})}function Vs(){return Fs(globalThis.String)}function Hs(){return Fs(globalThis.Number)}function Us(){return Fs(globalThis.BigInt)}function Ws(){return Fs(e=>new globalThis.Date(e))}function Gs(){return Fs(Ha)}function Ks(e){return Is((t,n)=>ai({try:()=>JSON.parse(t,e?.reviver),catch:()=>new as({expected:`a valid JSON string`},t,n)}))}function qs(e){return Is((t,n)=>ai({try:()=>{let n=JSON.stringify(t,e?.replacer,e?.space);if(n===void 0)throw TypeError(`Value cannot be represented as JSON`);return n},catch:()=>new as({expected:`a JSON-serializable value`},t,n)}))}function Js(){return Fs(_o)}function Ys(){return Is((e,t)=>oi(a(vo(e)),()=>new as({expected:`a valid Base64 string`},e,t)))}var Xs=class extends qe{_tag=`Middleware`;decode;encode;constructor(e,t){super(),this.decode=e,this.encode=t}flip(){return new Xs(this.encode,this.decode)}},Zs=`~effect/SchemaTransformation/Transformation`,Qs=class extends qe{[Zs]=Zs;_tag=`Transformation`;decode;encode;constructor(e,t){super(),this.decode=e,this.encode=t}flip(){return new Qs(this.encode,this.decode)}};function $s(e){return cr(e,Zs)&&e[Zs]===Zs}var ec=e=>$s(e)?e:new Qs(e.decode,e.encode);function tc(e){return new Qs(Is(e.decode),Is(e.encode))}function nc(){return new Qs(Gs(),Ns())}var rc=new Qs(Ns(),Ns());function ic(){return rc}var ac=new Qs(Hs(),Vs()),oc=new Qs(Us(),Vs()),sc=new Qs(Ws(),Fs(wt)),cc=new Qs(Ys(),Js());function lc(e){return new Qs(Ks(e??{}),qs(e))}function uc(e){return t=>t._tag===e}var dc=uc(`Declaration`),fc=uc(`Null`),pc=uc(`Undefined`),mc=uc(`Never`),hc=uc(`String`),gc=uc(`Number`),_c=uc(`Boolean`),vc=uc(`Literal`),yc=uc(`UniqueSymbol`),bc=uc(`Arrays`),xc=uc(`Objects`),Sc=uc(`Union`),Cc=uc(`Suspend`),wc=class{to;transformation;constructor(e,t){this.to=e,this.transformation=t}},Tc={},Ec=class{isOptional;isMutable;constructorDefault;annotations;constructor(e,t,n=void 0,r=void 0){this.isOptional=e,this.isMutable=t,this.constructorDefault=n,this.annotations=r}},Dc=`~effect/Schema`,Oc=class{[Dc]=Dc;annotations;checks;encoding;context;constructor(e=void 0,t=void 0,n=void 0,r=void 0){this.annotations=e,this.checks=t,this.encoding=n,this.context=r}toString(){return`<${this._tag}>`}},kc=class extends Oc{_tag=`Declaration`;typeParameters;run;encodingChecks;encodingRun;constructor(e,t,n,r,i,a,o,s){super(n,r,i,a),this.typeParameters=e,this.run=t,this.encodingChecks=o,this.encodingRun=s}getParser(){let e;return(t,n)=>t===w?Wo:(e??=this.run(this.typeParameters))(t,this,n)}_rebuild(e,t,n,r,i){let a=nu(this.typeParameters,e);return a===this.typeParameters&&t===this.checks&&n===this.encodingChecks&&r===this.run&&i===this.encodingRun?this:new kc(a,r,this.annotations,t,void 0,this.context,n,i)}recur(e){return this._rebuild(e,this.checks,this.encodingChecks,this.run,this.encodingRun)}flip(e){return this._rebuild(e,this.encodingChecks,this.checks,this.encodingRun??this.run,this.run)}getExpected(){let e=this.annotations?.expected;return typeof e==`string`?e:`<Declaration>`}},Ac=new class extends Oc{_tag=`Null`;getParser(){return Cu(this,null)}getExpected(){return`null`}},jc=class extends Oc{_tag=`Undefined`;getParser(){return Cu(this,void 0)}toCodecJson(){return Wl(this,[Mc])}getExpected(){return`undefined`}},Mc=new wc(Ac,new Qs(Fs(()=>void 0),Fs(()=>null))),Nc=new jc,Pc=new class extends Oc{_tag=`Never`;getParser(){return wu(this,Br)}getExpected(){return`never`}},Fc=new class extends Oc{_tag=`Unknown`;getParser(){return wu(this,$t)}getExpected(){return`unknown`}},Ic=class extends Oc{_tag=`Literal`;literal;constructor(e,t,n,r,i){if(super(t,n,r,i),typeof e==`number`&&!globalThis.Number.isFinite(e))throw Error(`A numeric literal must be finite, got ${d(e)}`);this.literal=e}getParser(){return Cu(this,this.literal)}matchPart(e,t){return e===globalThis.String(this.literal)?this.literal:void 0}toCodecJson(){return typeof this.literal==`bigint`?Lc(this):this}toCodecStringTree(){return typeof this.literal==`string`?this:Lc(this)}getExpected(){return typeof this.literal==`string`?JSON.stringify(this.literal):globalThis.String(this.literal)}};function Lc(e){let t=globalThis.String(e.literal);return Wl(e,[new wc(new Ic(t),new Qs(Fs(()=>e.literal),Fs(()=>t)))])}var Rc=new class extends Oc{_tag=`String`;getParser(){return wu(this,Gt)}matchPart(e,t){let n=this.checks;return n&&!t.disableChecks&&Bu(n,e,void 0,this,t)?void 0:e}getExpected(){return`string`}},zc=class extends Oc{_tag=`Number`;getParser(){return wu(this,mr)}matchKey(e,t){return this._match(ku,e,t)}matchPart(e,t){return this._match(Ou,e,t)}_match(e,t,n){if(!e.test(t))return;let r=globalThis.Number(t);return n.disableChecks||!this.checks?r:Bu(this.checks,r,void 0,this,n)?void 0:r}toCodecJson(){return this.checks&&(Bc(this.checks,`effect/schema/isFinite`)||Bc(this.checks,`effect/schema/isInt`))?this:Wl(this,[zl])}toCodecStringTree(){return this.toCodecJson()===this?Wl(this,[Mu]):Wl(this,[Nu])}getExpected(){return`number`}};function Bc(e,t){return e.some(e=>e.annotations?.representation?.id===t||e._tag===`FilterGroup`&&Bc(e.checks,t))}var Vc=new zc,Hc=new class extends Oc{_tag=`Boolean`;getParser(){return wu(this,on)}getExpected(){return`boolean`}},Uc=new class extends Oc{_tag=`Symbol`;getParser(){return wu(this,Kr)}matchKey(e,t){return t.disableChecks||!this.checks?e:Bu(this.checks,e,void 0,this,t)?void 0:e}toCodecStringTree(){return Wl(this,[Ru])}getExpected(){return`symbol`}},Wc=new class extends Oc{_tag=`BigInt`;getParser(){return wu(this,Ar)}matchPart(e,t){if(!Pu.test(e))return;let n=globalThis.BigInt(e);return t.disableChecks||!this.checks?n:Bu(this.checks,n,void 0,this,t)?void 0:n}toCodecStringTree(){return Wl(this,[Iu])}getExpected(){return`bigint`}},Gc=class extends Oc{_tag=`Arrays`;isMutable;elements;rest;encodingChecks;constructor(e,t,n,r,i,a,o,s){super(r,i,a,o),this.isMutable=e,this.elements=t,this.rest=n,this.encodingChecks=s;let c=!1;for(let e=0;e<t.length;e++)if(pu(t[e]))c=!0;else if(c)throw Error(`A required element cannot follow an optional element. ts(1257)`);if(c&&n.length>1)throw Error(`A required element cannot follow an optional element. ts(1257)`);for(let e=1;e<n.length;e++)if(pu(n[e]))throw Error(`An optional element cannot follow a rest element. ts(1266)`)}getParser(e,t=e){let n=this,r,i,a=n.elements.length,o=Math.max(0,n.rest.length-1);function s(e,t){return t<a?r[t]:t>=e?i[t-e+1]:i[0]}let c=e=>{let{input:t,len:r,options:i}=e;if(n.rest.length===0&&r>a)for(let o=a;o<r;o++){let r=new ns(n,t[o],i),a=new es([o],r);if(i.errors===`all`)e.issues?e.issues.push(a):e.issues=[a];else return y(new rs(n,[a],t,i))}return e.issues?y(new rs(n,e.issues,t,i)):Uo(e.output)},l=(e,t)=>{let r=e.length,i={ast:n,getParser:s,input:e,len:r,tailThreshold:Math.max(a,r-o),output:new globalThis.Array(r),issues:void 0,options:t},u=n.rest.length===0?a:Math.max(r,a+o),d=t.concurrency===void 0?1:Xt(t.concurrency),f=d===1?Jc(i,e,0,u):Yc(i,e,{concurrency:d,end:u});if(!f)return c(i);if(pe(f))return Qt(f,()=>c(i));let p=!0;return Cn(()=>p?(p=!1,C(f,()=>c(i))):l(e,t))};return(e,a)=>{if(e===w)return Wo;try{return Array.isArray(e)?(r||(r=n.elements.map(e=>({ast:e,parser:t(e)})),i=n.rest.map(e=>({ast:e,parser:t(e)}))),l(e,a)):y(new is(n,e,a))}catch(e){return fr(e)}}}_rebuild(e,t,n){let r=nu(this.elements,e),i=nu(this.rest,e);return r===this.elements&&i===this.rest&&t===this.checks&&n===this.encodingChecks?this:new Gc(this.isMutable,r,i,this.annotations,t,void 0,this.context,n)}recur(e){return this._rebuild(e,this.checks,this.encodingChecks)}flip(e){return this._rebuild(e,this.encodingChecks,this.checks)}getExpected(){return`array`}};function Kc(e,t,n,r){if(n._tag===`Failure`)return Xc(e,e.ast,r,n);let i=n===Go?t:n[ei];if(i!==w)e.output[r]=i;else{let t=e.getParser(e.tailThreshold,r);if(pu(t.ast))return;let n=new es([r],new ts(t.ast.context?.annotations));if(e.options.errors===`all`)e.issues?e.issues.push(n):e.issues=[n];else return Qi(new rs(e.ast,[n],e.input,e.options))}}var qc={onItem(e,t,n){let r=n<e.len?t:w;return e.getParser(e.tailThreshold,n).parser(r,e.options)},step:Kc},Jc=hn()(qc),Yc=i()(qc),Xc=(e,t,n,r)=>{if(r.cause.reasons.length===0)return r;let i=ws(r.cause);if(i===void 0)return Zi(Vi(r.cause,r=>new rs(t,[new es([n],r)],e.input,e.options)));let a=new es([n],i);if(e.options.errors===`all`)e.issues?e.issues.push(a):e.issues=[a];else return Qi(new rs(t,[a],e.input,e.options))},Zc=`[+-]?\\d*\\.?\\d+(?:[Ee][+-]?\\d+)?`;function Qc(e,t,n=Tc){let r,i;function a(t){switch(t._tag){case`String`:case`TemplateLiteral`:return(r??=Object.keys(e)).filter(e=>t.matchPart(e,n)!==void 0);case`Number`:return(r??=Object.keys(e)).filter(e=>t.matchKey(e,n)!==void 0);case`Symbol`:return(i??=Object.getOwnPropertySymbols(e)).filter(r=>Object.prototype.propertyIsEnumerable.call(e,r)&&t.matchKey(r,n)!==void 0);case`Union`:return[...new Set(t.types.flatMap(a))];default:return[]}}return a(Tu(yu(t)))}var $c=class{name;type;constructor(e,t){this.name=e,this.type=t}};function el(e){switch(e._tag){case`String`:case`Number`:case`Symbol`:case`TemplateLiteral`:return!0;case`Union`:return e.types.every(el);default:return!1}}function tl(e){let t=Kl(e);switch(t._tag){case`String`:case`Number`:case`Symbol`:case`TemplateLiteral`:return!0;case`Union`:return t.types.every(tl);default:return!1}}function nl(e){return el(e)&&tl(e)}var rl=class{parameter;type;constructor(e,t){if(!nl(e))throw Error(`Invalid index signature parameter ${e._tag}`);if(this.parameter=e,this.type=t,pu(t)&&!Su(t))throw Error("Cannot use `Schema.optionalKey` with index signatures, use `Schema.optional` instead.")}},il=class extends Oc{_tag=`Objects`;propertySignatures;indexSignatures;encodingChecks;constructor(e,t,n,r,i,a,o){super(n,r,i,a),this.propertySignatures=e,this.indexSignatures=t,this.encodingChecks=o}getParser(e,t=e){let n=this,r=n.propertySignatures.length,a=n.indexSignatures.length;if(!r&&!a)return wu(n,dn);let o,s,c=()=>(o||(o=n.propertySignatures.map(e=>({parser:t(e.type),name:e.name,type:e.type})),s=a?n.indexSignatures.map(n=>({is:n,parserKey:e(Tu(n.parameter)),parserValue:t(n.type)})):void 0),o),l=()=>{let e=new Set(n.propertySignatures.map(e=>typeof e.name==`number`?globalThis.String(e.name):e.name)),t=(t,i,a,o,s)=>{if(s._tag===`Failure`)return Xc(t,n,i,s)??ea;let c=s===Go?o:s[ei];if(a!==w&&c!==w){if(r&&(e.has(i)||e.has(typeof a==`number`?globalThis.String(a):a)))return ea;h(t.out,a,c)}return ea},l=(e,r,i,a)=>{if(!a){let t=i.parserKey(r,e.options);if(!pe(t))return C(Dn(t),t=>l(e,r,i,t));a=t}if(a._tag===`Failure`)return Xc(e,n,r,a)??ea;let o=a===Go?r:a[ei],s=e.input[r],c=i.parserValue(s,e.options);return pe(c)?t(e,r,o,s,c):C(Dn(c),n=>t(e,r,o,s,n))},u=(e,n,r)=>{let i=e.input[n],a=r.parserValue(i,e.options);return pe(a)?t(e,n,n,i,a):C(Dn(a),r=>t(e,n,n,i,r))},d=a?i()({onItem:(e,[t,n])=>n.is.parameter===Rc?u(e,t,n):l(e,t,n),step:(e,t,n)=>n._tag===`Failure`?n:void 0}):void 0;return p(function*(t,i){if(t===w)return w;if(!(typeof t==`object`&&t&&!Array.isArray(t)))return yield*y(new is(n,t,i));c();let f=t,p={},m={ast:n,input:f,out:p,issues:void 0,options:i},ee=i.errors===`all`,te=i.onExcessProperty===`error`,ne=i.concurrency===void 0?1:Xt(i.concurrency),re=a&&te?n.indexSignatures.map(e=>Qc(f,e.parameter,i)):void 0;if(te){let r=re?new Set(e):e;if(re)for(let e of re)for(let t of e)r.add(t);let a=Reflect.ownKeys(f);for(let e=0;e<a.length;e++){let o=a[e];if(!r.has(o)&&Object.prototype.propertyIsEnumerable.call(f,o)){let e=new ns(n,f[o],i),r=new es([o],e);if(ee){m.issues?m.issues.push(r):m.issues=[r];continue}return yield*y(new rs(n,[r],t,i))}}}if(r){let e=ne===1?sl(m,o):cl(m,o,{concurrency:ne});e&&(yield*e)}if(a&&ne===1)for(let e=0;e<a;e++){let t=s[e],n=t.is.parameter===Rc?u:l,r=re?.[e]??(t.is.parameter===Rc?Object.keys(f):Qc(f,t.is.parameter,i));for(let e=0;e<r.length;e++){let i=n(m,r[e],t);if(!pe(i))yield*i;else if(i._tag===`Failure`)return yield*i}}else if(d){let e=Rn();for(let t=0;t<a;t++){let n=s[t],r=re?.[t]??(n.is.parameter===Rc?Object.keys(f):Qc(f,n.is.parameter,i));for(let t=0;t<r.length;t++)e.push([r[t],n])}let t=d(m,e,{concurrency:ne});t&&(yield*t)}return m.issues?yield*y(new rs(n,m.issues,t,i)):p})};if(a)return l();let u,d=(e,t,n)=>{let r=o[t];return C(Dn(n),n=>{let i=al(e,r,n);if(i)return i;let a=()=>Uo(e.out),s=sl(e,o.slice(t+1));return s?Qt(s,a):a()})};return(e,t)=>{if(e===w)return Wo;if(t.errors===`all`||t.onExcessProperty!==void 0||t.concurrency!==void 0&&Xt(t.concurrency)!==1)return(u??=l())(e,t);if(!(typeof e==`object`&&e&&!Array.isArray(e)))return y(new is(n,e,t));let r=c(),i=e,a={},o={ast:n,input:i,out:a,issues:void 0,options:t};try{for(let e=0;e<r.length;e++){let n=r[e],s=n.name,c=xl(i,s),l=c?i[s]:w,u=n.parser(l,t);if(!pe(u))return d(o,e,u);if(u===Go){c&&h(a,s,l);continue}let f=al(o,n,u);if(f)return f}}catch(e){return fr(e)}return Uo(a)}}_rebuild(e,t,n,r){let i=nu(this.propertySignatures,t=>{let n=e(t.type);return n===t.type?t:new $c(t.name,n)}),a=nu(this.indexSignatures,n=>{let r=t(n.parameter),i=e(n.type);return r===n.parameter&&i===n.type?n:new rl(r,i)});return i===this.propertySignatures&&a===this.indexSignatures&&n===this.checks&&r===this.encodingChecks?this:new il(i,a,this.annotations,n,void 0,this.context,r)}flip(e){return this._rebuild(e,e,this.encodingChecks,this.checks)}recur(e,t=e){return this._rebuild(e,t,this.checks,this.encodingChecks)}getExpected(){return this.propertySignatures.length===0&&this.indexSignatures.length===0?`object | array`:`object`}};function al(e,t,n){if(n._tag===`Failure`)return Xc(e,e.ast,t.name,n);if(n===Go)return;let r=n[ei];if(r!==w){h(e.out,t.name,r);return}if(delete e.out[t.name],!pu(t.type)){let n=new es([t.name],new ts(t.type.context?.annotations));if(e.options.errors===`all`){e.issues?e.issues.push(n):e.issues=[n];return}return Qi(new rs(e.ast,[n],e.input,e.options))}}var ol={onItem(e,t){if(!xl(e.input,t.name))return t.parser(w,e.options);let n=e.input[t.name];return h(e.out,t.name,n),t.parser(n,e.options)},step:al},sl=hn()(ol),cl=i()(ol);function ll(e,t){return e?t?[...e,...t]:e:t}function ul(e,t,n){return new il(Reflect.ownKeys(e).map(t=>new $c(t,e[t].ast)),[],n,t)}function dl(e){return e.ast}function fl(e,t=void 0){return new Gc(!1,e.map(e=>e.ast),[],void 0,t)}function pl(e,t,n){return new Cl(e.map(dl),t,void 0,n)}function ml(e){if(e.encoding)throw Error(`mutable does not support encodings`);return new Gc(!0,e.elements,e.rest,e.annotations,e.checks,void 0,e.context,e.encodingChecks)}var hl=re(e=>{for(;;){if(Cc(e))return Fc;let t=e.encoding;if(!t)return e.recur?.(hl,mt)??e;if(t.some(e=>e.transformation._tag===`Middleware`&&e.transformation.decode!==mt))return Fc;e=t[t.length-1].to}});function gl(e){switch(e._tag){case`Null`:return[`null`];case`Undefined`:return[`undefined`];case`String`:case`TemplateLiteral`:return[`string`];case`Number`:return[`number`];case`Boolean`:return[`boolean`];case`Symbol`:case`UniqueSymbol`:return[`symbol`];case`BigInt`:return[`bigint`];case`Arrays`:return[`array`];case`ObjectKeyword`:return[`object`,`array`,`function`];case`Objects`:return e.propertySignatures.length||e.indexSignatures.length?[`object`]:[`string`,`number`,`boolean`,`symbol`,`bigint`,`object`,`array`,`function`];case`Enum`:return Array.from(new Set(e.enums.map(([,e])=>typeof e)));case`Literal`:return[typeof e.literal];case`Union`:return Array.from(new Set(e.types.flatMap(gl)));default:return[`null`,`undefined`,`string`,`number`,`boolean`,`symbol`,`bigint`,`object`,`array`,`function`]}}function _l(e){switch(e._tag){default:return[];case`Declaration`:{let t=e.annotations?.[Po];return Array.isArray(t)?t:[]}case`Objects`:return e.propertySignatures.flatMap(e=>{let t=e.type;if(!pu(t)){if(vc(t))return[{key:e.name,literal:t.literal}];if(yc(t))return[{key:e.name,literal:t.symbol}]}return[]});case`Arrays`:return e.elements.flatMap((e,t)=>{if(!pu(e)){if(vc(e))return[{key:t,literal:e.literal}];if(yc(e))return[{key:t,literal:e.symbol}]}return[]});case`Union`:{if(e.types.length===0)return[];let t=e.types.map(e=>_l(hl(e)));return t[0].filter(e=>t.every(t=>t.some(t=>t.key===e.key&&t.literal===e.literal)))}case`Suspend`:return _l(e.thunk())}}var vl=new WeakMap,yl=Object.freeze([]),bl=e=>e===null?`null`:Array.isArray(e)?`array`:typeof e,xl=(e,t)=>t===`__proto__`?Object.hasOwn(e,t):t in e;function Sl(e){let t=vl.get(e);if(t)return t;let n,r=0,i,a,o=!0,s=[];for(let t=0;t<e.length;t++){let c=e[t],l=hl(c);if(mc(l))continue;if(vc(l)||yc(l)){a??=new Map;let e=vc(l)?l.literal:l.symbol;s[t]=e;let n=a.get(e);n||a.set(e,n=[]),n.push(t)}else o=!1;let u=_l(l);if(u.length){n??=new Map,r++;for(let{key:e,literal:r}of u){let i=n.get(e);i||n.set(e,i=[new Map,new Set]),i[1].add(t);let a=i[0].get(r);a||i[0].set(r,a=new Set),a.add(t)}}else{i??={};let e=gl(l);for(let n of e)(i[n]??=[]).push(t)}}let c={},l=e=>c[e]??=Object.freeze(i?.[e]??yl);if(o&&a)a.forEach(Object.freeze),t=e=>a.get(e)??yl;else if(n?.size===1&&!i){let[r,[i]]=n.entries().next().value,a=new Map;for(let[e,t]of i)a.set(e,Object.freeze(Array.from(t)));let o=Object.freeze(e.map((e,t)=>t));t=(e,t)=>{if(kn(e)){let n=xl(e,r)?e[r]:void 0;if(n!==void 0)return a.get(n)??yl;if(t)return o}return yl}}else if(n){let e;for(let t of n)(!e||t[1][0].size>e[1][0].size)&&t[1][1].size===r&&(e=t);t=(t,r)=>{let a=bl(t);if(!kn(t))return l(a);let o=new Set(i?.[a]),s;if(e){let[n,[i]]=e,c=xl(t,n),u=c?t[n]:void 0;if(c&&(!r||u!==void 0)){let e=i.get(u);if(!e)return l(a);for(let t of e)o.add(t);s=n}}if(s===void 0)for(let[e,[i,a]]of n){let n=xl(t,e),s=n?t[e]:void 0;if(n&&(!r||s!==void 0)){let e=i.get(s);if(e)for(let t of e)o.add(t)}else if(r)for(let e of a)o.add(e)}for(let[e,[i,a]]of n){if(e===s)continue;let n=xl(t,e),c=n?t[e]:void 0;if(n&&(!r||c!==void 0)){let e=i.get(c);for(let t of o)a.has(t)&&!e?.has(t)&&o.delete(t)}}return Array.from(o).sort((e,t)=>e-t)}}else t=e=>{let t=l(bl(e));return a?t.filter(t=>s[t]===void 0||s[t]===e):t};return vl.set(e,t),t}var Cl=class extends Oc{_tag=`Union`;types;options;encodingChecks;constructor(e,t,n,r,i,a,o){super(n,r,i,a),this.types=e,this.options=t,this.encodingChecks=o}getParser(e,t){let n=this,r=t!==void 0,i=[],a=t=>i[t]??=e(n.types[t]),o;return(e,t)=>{if(e===w)return Wo;let i=(o??=Sl(n.types))(e,r);if(i.length===0)return y(new ss(n,[],e,t));if(i.length===1){let r=a(i[0])(e,t);return r._tag===`Success`?r:pe(r)?wl(n,r.cause,e,t):Tl(n,r,e,t)}return El(n,a,i,e,t)}}_rebuild(e,t,n){let r=nu(this.types,e);return r===this.types&&t===this.checks&&n===this.encodingChecks?this:new Cl(r,this.options,this.annotations,t,void 0,this.context,n)}recur(e){return this._rebuild(e,this.checks,this.encodingChecks)}flip(e){return this._rebuild(e,this.encodingChecks,this.checks)}matchPart(e,t){for(let n of this.types){let r=n.matchPart(e,t);if(r!==void 0)return r}}getExpected(e){let t=this.annotations?.expected;if(typeof t==`string`)return t;if(this.types.length===0)return`never`;let n=this.types.map(t=>{let n=yu(t);switch(n._tag){case`Arrays`:{let t=n.elements.filter(vc);if(t.length>0)return`${Al(n.isMutable)}[ ${t.map(t=>e(t)+jl(t.context?.isOptional)).join(`, `)}, ... ]`;break}case`Objects`:{let t=n.propertySignatures.filter(e=>vc(e.type));if(t.length>0)return`{ ${t.map(t=>`${Al(t.type.context?.isMutable)}${bt(t.name)}${jl(t.type.context?.isOptional)}: ${e(t.type)}`).join(`, `)}, ... }`;break}}return e(n)});return Array.from(new Set(n)).join(` | `)}};function wl(e,t,n,r){let i=ws(t);return i?Qi(new ss(e,[i],n,r)):Zi(t)}function Tl(e,t,n,r){return Rr(t,t=>wl(e,t,n,r))}function El(e,t,n,r,i){let a={ast:e,parser:t,input:r,out:void 0,successes:e.options?.mode===`oneOf`?[]:void 0,issues:void 0,options:i},o=Ol(a,n);if(!o)return a.out?a.out:y(new ss(e,a.issues??[],r,i));if(pe(o))return Dl(o,a);let s=!0;return Cn(()=>s?(s=!1,Dl(o,a)):El(e,t,n,r,i))}function Dl(e,t){return Qt(e,e=>t.out===Go?v(t.input):t.out?t.out:y(new ss(t.ast,t.issues??[],t.input,t.options)))}var Ol=hn()({onItem(e,t){return e.parser(t)(e.input,e.options)},step(e,t,n){if(n._tag===`Failure`){let t=ws(n.cause);if(t===void 0)return n;e.issues?e.issues.push(t):e.issues=[t]}else{if(e.out&&e.successes)return e.successes.push(e.ast.types[t]),Qi(new cs(e.ast,e.successes,e.input,e.options));if(e.out=n,e.successes)e.successes.push(e.ast.types[t]);else return ea}}}),kl=new Cl([new Ic(`Infinity`),new Ic(`-Infinity`),new Ic(`NaN`)]);function Al(e){return e?``:`readonly `}function jl(e){return e?`?`:``}var Ml=class extends Oc{_tag=`Suspend`;thunk;constructor(e,t,n,r,i){if(n)throw Error(`Cannot add checks to Suspend`);super(t,void 0,r,i);let a;this.thunk=()=>a??=e()}getParser(e){let t;return(n,r)=>(t??=e(this.thunk()))(n,r)}recur(e){return new Ml(()=>e(this.thunk()),this.annotations,void 0,void 0,this.context)}getExpected(e){return e(this.thunk())}},Nl=class extends qe{_tag=`Filter`;run;annotations;aborted;constructor(e,t=void 0,n=!1){super(),this.run=e,this.annotations=t,this.aborted=n}annotate(e){return new Nl(this.run,{...this.annotations,...e},this.aborted)}abort(){return new Nl(this.run,this.annotations,!0)}and(e,t){return new Pl([this,e],t)}},Pl=class extends qe{_tag=`FilterGroup`;checks;annotations;constructor(e,t=void 0){super(),this.checks=e,this.annotations=t}annotate(e){return new Pl(this.checks,{...this.annotations,...e})}and(e,t){return new Pl([this,e],t)}};function Fl(e,t,n=!1){return new Nl((t,n,r)=>ds(n,e(t,n,r),t,r),t,n)}function Il(e,t){return new Nl((t,n,r)=>e(t)?void 0:new as(void 0,t,r),t,!0)}function Ll(e){return Fl(e=>globalThis.Number.isFinite(e),{expected:`a finite number`,representation:{id:`effect/schema/isFinite`,payload:null},toJsonSchema:()=>({type:`number`}),toCode:()=>({runtime:`Schema.isFinite()`}),arbitraryConstraint:{number:`finite`},...e})}var Rl=Yl(Vc,[Ll()]),zl=new wc(new Cl([Rl,kl]),new Qs(Hs(),Fs(e=>globalThis.Number.isFinite(e)?e:globalThis.String(e))));function Bl(e,t){let n=new globalThis.RegExp(e),r={source:n.source,flags:n.flags};return Fl(e=>(n.lastIndex=0,n.test(e)),{expected:`a string matching the RegExp ${r.source}`,representation:{id:`effect/schema/isPattern`,payload:r},toJsonSchema:()=>[{},!0],arbitraryConstraint:{patterns:[r]},...t})}var Vl=new WeakMap;function Hl(e,t){let n=Object.assign(Object.create(Object.getPrototypeOf(e)),e,t);return Reflect.ownKeys(t).every(e=>e===`context`||e===`encoding`)&&Vl.set(n,Ul(e)),n}function Ul(e){let t=Vl.get(e);if(t!==void 0)return t;if(e.encoding===void 0)return e;let n=Object.assign(Object.create(Object.getPrototypeOf(e)),e,{encoding:void 0});return Vl.set(e,n),n}function Wl(e,t){return e.encoding===t?e:Hl(e,{encoding:t})}function Gl(e,t){if(e.context===t)return e;let n=Ul(e);return n.context===t&&n.encoding===e.encoding?n:Hl(e,{context:t})}function Kl(e){return e.encoding?Kl(e.encoding[e.encoding.length-1].to):e}function ql(e,t){if(e.checks){let n=e.checks[e.checks.length-1];return Jl(e,s(e.checks.slice(0,-1),n.annotate(t)))}return Hl(e,{annotations:{...e.annotations,...t}})}function Jl(e,t){if(e._tag===`Suspend`&&t)throw Error(`Cannot add checks to Suspend`);return e.checks===t?e:Hl(e,{checks:t})}function Yl(e,t){return Jl(e,ll(e.checks,t))}function Xl(e,t){let n=t(e.to);return n===e.to?e:new wc(n,e.transformation)}function Zl(e,t){let n=e,r=n[n.length-1],i=Xl(r,t);return i===r?e:s(e.slice(0,e.length-1),i)}function Ql(e){return t=>t.encoding?Wl(t,Zl(t.encoding,e)):t}function $l(e,t){return Ql(e=>Gl(e,t))(e)}function eu(e,t){function n(r){if(r.encoding){let e=r.encoding[r.encoding.length-1];return t?.stopAt?.(e)?r:Wl(r,Zl(r.encoding,n))}return e(r)}return re(n)}function tu(e,t,n){let r=new wc(e,t);return Wl(n,n.encoding?[...n.encoding,r]:[r])}function nu(e,t){let n;for(let r=0;r<e.length;r++){let i=e[r],a=t(i);if(n)n[r]=a;else if(a!==i){n=Array(e.length);for(let t=0;t<r;t++)n[t]=e[t];n[r]=a}}return n??e}function ru(e,t){return Gl(e,e.context?new Ec(e.context.isOptional,e.context.isMutable,e.context.constructorDefault,{...e.context.annotations,...t}):new Ec(!1,!1,void 0,t))}var iu=re(e=>au(Gl(e,e.context?e.context.isOptional===!1?new Ec(!0,e.context.isMutable,e.context.constructorDefault,e.context.annotations):e.context:new Ec(!0,!1)))),au=Ql(iu),ou=ce(e=>iu(new Cl([e,Nc]))),su=re(e=>cu(Gl(e,e.context?e.context.isMutable===!1?new Ec(e.context.isOptional,!0,e.context.constructorDefault,e.context.annotations):e.context:new Ec(!1,!0)))),cu=Ql(su);function lu(e,t){return Gl(e,e.context?new Ec(e.context.isOptional,e.context.isMutable,t,e.context.annotations):new Ec(!1,!1,t))}function uu(e,t,n){return tu(e,n,t)}function du(e){let t=[],n=[];function r(e){switch(e._tag){case`Literal`:wn(e.literal)&&!t.includes(e.literal)&&t.push(e.literal);return;case`UniqueSymbol`:t.includes(e.symbol)||t.push(e.symbol);return;case`Never`:return;case`Union`:for(let t=0;t<e.types.length;t++)r(e.types[t]);return;default:n.push(e)}}return r(e),{literals:t,parameters:n}}function fu(e,t){let{literals:n,parameters:r}=du(e);return new il(n.map(e=>new $c(e,t)),r.map(e=>new rl(e,t)))}function pu(e){return e.context?.isOptional??!1}function mu(e){return e.context?.isMutable??!1}function hu(e){return e.annotations?.[`~structural`]===!0||e._tag===`FilterGroup`&&e.checks.every(hu)}function gu(e){function t(e){return hu(e)?[e]:e._tag===`FilterGroup`?e.checks.flatMap(t):[]}let n=e.flatMap(t);return Ue(n)?n:void 0}function _u(e){let t=!0;function n(e){return t=t&&!e.encoding&&!Cc(e),t&&`recur`in e&&e.recur(n),e}return`recur`in e&&e.recur(n),t}var vu=re(e=>{let t=Ul(e);if(t!==e){let n=vu(t);return n===t&&e.encoding===void 0?e:Gl(n,e.context)}let n=`recur`in e?e.recur(vu):e;if(`encodingChecks`in n&&n.encodingChecks){let t=_u(e)?n.encodingChecks:bc(n)||xc(n)||dc(n)&&n.typeParameters.length>0?gu(n.encodingChecks):void 0;return Hl(n,{encodingChecks:void 0,checks:ll(n.checks,t)})}return n}),yu=re(e=>vu(xu(e)));function bu(e,t){let n=t,r=n.length,i=n[r-1],a=[new wc(xu(Wl(e,void 0)),n[0].transformation.flip())];for(let e=1;e<r;e++)a.unshift(new wc(xu(n[e-1].to),n[e].transformation.flip()));let o=xu(i.to);return o.encoding?Wl(o,[...o.encoding,...a]):Wl(o,a)}var xu=ce(e=>{if(e.encoding)return bu(e,e.encoding);let t=Ul(e);if(t!==e){let n=xu(t);return n===t?e:Gl(n,e.context)}return`flip`in e?e.flip(xu):`recur`in e?e.recur(xu):e});function Su(e){switch(e._tag){case`Undefined`:return!0;case`Union`:return e.types.some(Su);default:return!1}}function Cu(e,t){let n=t===0?Go:Uo(t);return(r,i)=>r===w?Wo:r===t?n:y(new is(e,r,i))}function wu(e,t){return(n,r)=>n===w?Wo:t(n)?Go:y(new is(e,n,r))}var Tu=eu(e=>{switch(e._tag){default:return e;case`Number`:return e.toCodecStringTree();case`Union`:return e.recur(Tu)}}),Eu=eu(e=>{switch(e._tag){default:return e;case`Symbol`:case`UniqueSymbol`:return e.toCodecStringTree();case`Union`:return e.recur(Eu)}}),Du=`[\\s\\S]*?`,Ou=new globalThis.RegExp(`^${Zc}$`),ku=new globalThis.RegExp(`^(?:${Zc}|Infinity|-Infinity|NaN)$`);function Au(e){return Bl(Ou,{expected:`a string representing a finite number`,representation:{id:`effect/schema/isStringFinite`,payload:null},toJsonSchema:()=>({pattern:Ou.source}),...e})}var ju=Yl(Rc,[Au()]),Mu=new wc(ju,ac),Nu=new wc(new Cl([ju,kl]),ac),Pu=new globalThis.RegExp(`^-?\\d+$`);function Fu(e){return Bl(Pu,{expected:`a string representing a bigint`,representation:{id:`effect/schema/isStringBigInt`,payload:null},toJsonSchema:()=>({pattern:Pu.source}),...e})}var Iu=new wc(Yl(Rc,[Fu({expected:`a string representing a bigint`})]),oc),Lu=new globalThis.RegExp(`^Symbol\\(([\\s\\S]*)\\)$`),Ru=new wc(Yl(Rc,[zu()]),new Qs(Fs(e=>globalThis.Symbol.for(Lu.exec(e)[1])),Is((e,t)=>globalThis.Symbol.keyFor(e)===void 0?y(new os({message:`cannot serialize to string, Symbol is not registered`},e,t)):v(globalThis.String(e)))));function zu(e){return Bl(Lu,{expected:`a string representing a symbol`,representation:{id:`effect/schema/isStringSymbol`,payload:null},toJsonSchema:()=>({pattern:Lu.source}),...e})}function Bu(e,t,n,r,i){for(let a=0;a<e.length;a++){let o=e[a];if(o._tag===`FilterGroup`){if(n=Bu(o.checks,t,n,r,i),n&&(i.errors!==`all`||n[n.length-1].filter.aborted))return n}else{let e=o.run(t,r,i);if(e){let r=new Qo(o,e,t,i);if(n?n.push(r):n=[r],i.errors!==`all`||o.aborted)return n}}}return n}function Vu(e){if(!dc(e))return;let t=e.annotations?.[Fo];return Jn(t)?t(e.typeParameters):void 0}var Hu=Ao,Uu=zo,Wu=Bo;function Gu(e){return e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`&&globalThis.Number.isFinite(e)}function Ku(e){return e===void 0||typeof e==`string`}function qu(e,t){let n=new WeakMap,r=[];outer:for(;;){if(typeof e!=`object`||!e){if(!t(e))return!1}else{let t=e,i=n.get(t);if(i===!1)return!1;if(i===void 0){let e=Array.isArray(t);if(!e){let e=Object.getPrototypeOf(t);if(e!==null&&e!==Object.prototype&&Object.getPrototypeOf(e)!==null)return!1}n.set(t,!1),r.push({value:t,keys:e?t.length:Object.keys(t),index:0})}}for(;r.length>0;){let t=r[r.length-1],i=t.keys;if(typeof i==`number`){if(t.index<i){e=t.value[t.index++];continue outer}}else if(t.index<i.length){e=t.value[i[t.index++]];continue outer}n.set(t.value,!0),r.pop()}return!0}}function Ju(e){return qu(e,Gu)}var Yu=new kc([],()=>(e,t,n)=>Ju(e)?Go:y(new is(t,e,n)),{representation:{id:`effect/schema/Json`,payload:null},expected:`JSON value`,toCodecJson:()=>void 0,toCodecStringTree:()=>$u}),Xu=new wc(Yu,ic()),Zu=new wc(new Cl([new Gc(!1,[],[Yu]),new il([],[new rl(Rc,Yu)])]),ic());function Qu(e){return qu(e,Ku)}var $u=new wc(new kc([],()=>(e,t,n)=>Qu(e)?Go:y(new is(t,e,n)),{expected:`StringTree`,toCodecStringTree:()=>void 0}),ic()),ed=(e,t,n)=>e===Go?n(t):Qt(e,n);function td(e){if(e._tag===`Middleware`)return(t,n,r)=>nd(t===Go?e.decode(Uo(Ko(n)),r):e.decode(Fe(t,Ko),r));let t=e.decode;switch(t._tag){case`Passthrough`:return(e,t)=>e===Go?Uo(t):e;case`Transform`:{let e=e=>e===w?Wo:Uo(t.transform(e));return(t,n)=>ed(t,n,e)}case`TransformOptional`:{let e=e=>qo(t.transform(Ko(e)));return(t,n)=>ed(t,n,e)}case`TransformEffect`:return(e,n,r)=>ed(e,n,e=>e===w?Wo:t.transform(e,r));case`TransformOptionalEffect`:return(e,n,r)=>ed(e,n,e=>nd(t.transform(Ko(e),r)))}}var nd=e=>Qt(e,qo),rd=(e,t,n,r)=>Rr(r,r=>Wr(()=>Vi(r,r=>new $o(e,r,t,n))));function id(e,t){let n=td(e.link.transformation),r;return(i,a)=>{if(i===w)return Wo;if(e.isConstructed(i))return Go;let o=(r??=t(e.link.to))(i,a);return n(o,i,a)}}function ad(e,t){let n=e.context.constructorDefault;return(r,i)=>{if(r!==w&&r!==void 0)return t(r,i);let a=n;if(pe(a)&&a._tag===`Success`){let e=t(a[ei],i);return e===Go?a:e}return Qt(rd(e,r,i,a),e=>{let n=t(e,i);return n===Go?Uo(e):n})}}function od(e,t){let n=t(e);return e.context?.constructorDefault===void 0?n:ad(e,n)}function sd(e,t,n,r,i){if(e._tag===`Declaration`)for(let n of e.typeParameters)t(n);let a=n?Vu(e):void 0,o=a?id(a,t):r??e.getParser(t,n),s=e.checks,c=e.encoding,l=c?.map(e=>td(e.transformation)),u=e.encodingChecks;if(!c&&!s&&!u)return o;let d,f=(t,n)=>{let r=o(t,n);if(u&&!n.disableChecks){if(pe(r)){if(r._tag===`Success`){let i=r===Go?t:r[ei];if(t!==w&&i!==w){let i=Bu(u,t,void 0,e,n);i&&(r=y(new rs(e,i,t,n)))}}}else r=C(r,r=>{if(t!==w&&r!==w){let r=Bu(u,t,void 0,e,n);if(r)return y(new rs(e,r,t,n))}return v(r)})}if(s&&!n.disableChecks){if(pe(r)){if(r._tag===`Success`){let i=r===Go?t:r[ei];if(i===w)return r;let a=Bu(s,i,void 0,e,n);a&&(r=y(new rs(e,a,i,n)))}}else r=C(r,t=>{if(t!==w){let r=Bu(s,t,void 0,e,n);if(r)return y(new rs(e,r,t,n))}return v(t)})}return r},p=i===void 0?f:i(f);return c?(n,r)=>{let i=d??=c.map(e=>t(e.to)),a=n,o=i[i.length-1](n,r);for(let e=c.length-1;e>=0;e--)if(o=l[e](o,a,r),e!==0){let t=i[e-1];o._tag===`Success`?(a=o[ei],o=t(a,r)):o=Qt(o,e=>{let n=t(e,r);return n===Go?Uo(e):n})}if(o._tag===`Success`){let e=o[ei],t=p(e,r);return t===Go?o:t}return o=rd(e,n,r,o),Qt(o,e=>{let t=p(e,r);return t===Go?Uo(e):t})}:p}var cd=Symbol(),ld=new WeakMap,ud=e=>md(e).parser,dd=e=>md(e).makeEffect,fd=e=>od(e,dd),pd=class{ast;constructor(e){this.ast=e}get decodeEffect(){return this.cachedDecodeEffect??=sd(this.ast,ud)}get parser(){return this.decodeEffect}get makeEffect(){return this.cachedMakeEffect??=sd(this.ast,dd,fd)}};function md(e){let t=ld.get(e);if(t!==void 0)return t;let n=new pd(e);return ld.set(e,n),n}function hd(e){let t=e.ast,n;return(e,r)=>(n??=Md(zd,vu(t)))(e,r?.disableChecks?r?.parseOptions?{...r.parseOptions,disableChecks:!0}:{disableChecks:!0}:r?.parseOptions)}function gd(e){let t=hd(e);return(e,n)=>{let r=dr(t(e,n));return ta(r)?ur(r.value):(Ts(r.cause,`Option adapter can only return none for schema issues`),In())}}function _d(e){return Ld(vu(e.ast))}function vd(e){return bd(e.ast)}function yd(e){{let t=Nd(Ad(e));return e=>{let n=t(e,Tc);return ta(n)?!0:(Ts(n.cause,`Type guard adapter can only return false for schema issues`),!1)}}}function bd(e){let t=vu(e),n=e=>(n=yd(t),n(e));return e=>n(e)}function xd(e,t){let n=Ad(e.ast);return t===void 0?n:(e,r)=>n(e,Od(t,r))}function Sd(e,t){return Nd(xd(e,t))}function Cd(e,t){return Pd(xd(e,t))}function wd(e,t){return Fd(xd(e,t))}function Td(e,t){let n=Ad(xu(e.ast));return t===void 0?n:(e,r)=>n(e,Od(t,r))}function Ed(e,t){return Nd(Td(e,t))}function Dd(e,t){return Fd(Td(e,t))}var Od=(e,t)=>t?{...e,...t}:e,kd=e=>e===w?y(new as):v(e);function Ad(e){return Md(Rd,e)}function jd(e,t){return e===Go?v(t):pe(e)?e[ei]===w?kd(w):e:Qt(e,kd)}function Md(e,t){let n;return(r,i)=>{let a=(n??=e(t))(r,i??Tc);return a===Go?v(r):pe(a)?a[ei]===w?kd(w):a:Qt(a,kd)}}function Nd(e){return(t,n)=>dr(e(t,n))}function Pd(e){let t=Nd(e);return(e,n)=>{let r=t(e,n);return ta(r)?ur(r.value):(Ts(r.cause,`Option adapter can only return none for schema issues`),In())}}function Fd(e){let t=Nd(e);return(e,n)=>{let r=t(e,n);return ta(r)?Me(r.value):ot(Ts(r.cause,`Result adapter can only return schema issues`))}}function Id(e,t){let n=dr(e);if(ta(n))return n.value;let r=Ts(n.cause,t);throw Error(`Schema validation failed`,{cause:r})}function Ld(e){let t,n;return(r,i)=>{t??=md(e);let a=i?.disableChecks?i.parseOptions?{...i.parseOptions,disableChecks:!0}:{disableChecks:!0}:i?.parseOptions??Tc,o=t.make;if(o!==void 0&&r!==w){let e;try{e=o(r,a)}catch(e){throw Ts(zi(e),`Constructor adapter can only throw schema issues`),e}if(e!==cd&&e!==w)return e}return Id(jd((n??=t.makeEffect)(r,a),r),`Constructor adapter can only throw schema issues`)}}var Rd=e=>md(e).parser,zd=e=>md(e).makeEffect,Bd=`~effect/Schema/Schema`,Vd=Symbol(),Hd={[Bd]:Bd,get make(){let e=_d(this);return Object.defineProperty(this,"make",{value:e,enumerable:!0}),e},get makeEffect(){let e=hd(this);return Object.defineProperty(this,"makeEffect",{value:e,enumerable:!0}),e},get makeOption(){let e=gd(this);return Object.defineProperty(this,"makeOption",{value:e,enumerable:!0}),e},pipe(){return o(this,arguments)},annotate(e){return this.rebuild(ql(this.ast,e))},annotateKey(e){return this.rebuild(ru(this.ast,e))},check(...e){return this.rebuild(Yl(this.ast,e))},rebuild(e){return Ud(e,this[Vd])}};function Ud(e,t){function n(){}let r=Object.setPrototypeOf(n,Hd);return t&&(Object.hasOwn(t,`name`)||Object.hasOwn(t,`length`)||Object.hasOwn(t,`__proto__`))?Object.defineProperties(r,Object.getOwnPropertyDescriptors({...t})):Object.assign(r,t),r[Vd]=t,r.ast=e,r}function Wd(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Gd(e){return e.replace(/~1/g,`/`).replace(/~0/g,`~`)}function Kd(e){return encodeURI(Wd(e)).replace(/#/g,`%23`)}function qd(e){if(e.length===0||e===`#`)return``;if(!e.startsWith(`#`))return;let t=e.slice(1);try{if(encodeURI(t).replace(/%25/g,`%`).replace(/#/g,`%23`)!==t)return;let e=decodeURIComponent(t);return e.startsWith(`/`)&&!/~(?:[^01]|$)/.test(e)?e:void 0}catch{return}}function Jd(e){let t=qd(e);return t===void 0?void 0:t.length===0?[]:t.slice(1).split(`/`).map(Gd)}function Yd(e){return e.reduce((e,t)=>`${e}/${Kd(t)}`,`#`)}var Xd=`http://json-schema.org/draft-07/schema#`;function Zd(e,t){return e===t||e===(t.endsWith(`#`)?t.slice(0,-1):`${t}#`)}function Qd(e){return{dialect:`draft-07`,...df(e,Cf)}}function $d(e,t){return n(e,!1,!0);function n(e,r,i=!1){if(!$n(e))return e;let a=r||!i&&uf(e.$id),o={};for(let t of Object.keys(e)){let r=e[t],i=r;switch(t){case`$defs`:case`properties`:case`patternProperties`:case`dependentSchemas`:i=nf(r,e=>n(e,a))??r;break;case`allOf`:case`anyOf`:case`oneOf`:case`prefixItems`:i=Array.isArray(r)?r.map(e=>n(e,a)):r;break;case`not`:case`additionalProperties`:case`propertyNames`:case`unevaluatedProperties`:case`items`:case`contains`:case`unevaluatedItems`:case`if`:case`then`:case`else`:case`contentSchema`:i=n(r,a)}h(o,t,i)}return t(o,a),o}}function ef(e,t){return $d(e,e=>{tf(e,t)})}function tf(e,t){typeof e.$ref==`string`&&h(e,`$ref`,t(e.$ref,`$ref`)),typeof e.$dynamicRef==`string`&&h(e,`$dynamicRef`,t(e.$dynamicRef,`$dynamicRef`))}function nf(e,t){if(!$n(e))return;let n={};for(let r of Object.keys(e))h(n,r,t(e[r],r));return n}function rf(e,t,n){let r=new Map,i=[],a=af;function o(e,n=[],r=[]){return n.length===0&&t?.trackIds&&(a=sf($n(e)?u(e):void 0,af)??af),l(e,n,r,{sourceRoot:[],targetRoot:[],uri:a})}function s(){for(let[e,t,n]of i){let i=t,a=of(t,n);if(a!==void 0){let e=Jd(a.hash);if(a.hash=``,e!==void 0){let n=r.get(lf(a.href,e));n!==void 0&&(i=cf(t,n))}}h(e,`$ref`,i)}}let c=n(o);return s(),c;function l(n,r,a,o){if(typeof n==`boolean`)return d(r,a,o),t?.booleanAdapter?.(n)??n;if(!$n(n))return n;let s=o,c=u(n);if(r.length>0&&t?.trackIds&&uf(c)){let e=sf(c,o.uri);e!==void 0&&(s={parent:o,sourceRoot:r,targetRoot:a,uri:e})}d(r,a,s);let f=s.uri;return e(n,{isDocumentRoot:r.length===0,schema(e,t,n=t){return l(e,[...r,t],[...a,n],s)},schemaAt(e,t,n){return l(e,[...r,...t],[...a,...n],s)},schemaArray(e,t,n=t){return Array.isArray(e)?e.map((e,i)=>l(e,[...r,t,String(i)],[...a,n,String(i)],s)):e},schemaMap(e,t,n=t){return $n(e)?nf(e,(e,i)=>l(e,[...r,t,i],[...a,n,i],s)):e},reference(e,t){typeof t==`string`?i.push([e,t,f]):h(e,`$ref`,t)}})}function u(e){return t?.ignoreRefSiblings===!0&&typeof e.$ref==`string`?void 0:e.$id}function d(e,t,n){n.parent!==void 0&&d(e,t,n.parent),r.set(lf(n.uri,e.slice(n.sourceRoot.length)),t.slice(n.targetRoot.length))}}var af=`https://effect.invalid/.json-schema/`;function of(e,t){return URL.canParse(e,t)?new URL(e,t):void 0}function sf(e,t){if(typeof e!=`string`)return;let n=of(e,t);if(n!==void 0)return n.hash=``,n.href}function cf(e,t){let n=e.indexOf(`#`);return n===-1&&t.length===0?e:`${n===-1?e:e.slice(0,n)}${Yd(t)}`}function lf(e,t){return`${e}\u0000${JSON.stringify(t)}`}function uf(e){return typeof e==`string`&&e.length>0&&e[0]!==`#`}function df(e,t,n){return rf(t,{...n,trackIds:!0},t=>({schema:t(e.schema),definitions:nf(e.definitions,(e,n)=>t(e,[`$defs`,n],[`definitions`,n]))}))}var ff=new Set([`properties`,`patternProperties`]),pf=new Set([`allOf`,`anyOf`,`oneOf`]),mf=new Set([`not`,`additionalProperties`,`propertyNames`,`contains`,`if`,`then`,`else`,`contentSchema`]);function hf(e,t,n,r,i,a=ff){let o;if(a.has(t))o=r.schemaMap(n,t);else if(pf.has(t))o=r.schemaArray(n,t);else if(i.has(t))o=r.schema(n,t);else return!1;return h(e,t,o),!0}var gf=[`$anchor`,`$defs`,`$dynamicAnchor`,`$dynamicRef`,`$vocabulary`,`contentSchema`,`dependentRequired`,`dependentSchemas`,`maxContains`,`minContains`,`prefixItems`,`unevaluatedItems`,`unevaluatedProperties`];[...gf],[...gf];var _f=/^[A-Za-z_][-A-Za-z0-9._]*$/,vf=/^[A-Za-z][-A-Za-z0-9._:]*$/;function yf(e,t,n){throw Error(`Cannot convert JSON Schema keyword "${e}" to ${t}: ${n}`)}function bf(e,t,n,r){for(let i of t)Object.hasOwn(e,i)&&yf(i,n,`it is not active in ${r} but would become active in the target`)}var xf=[`additionalItems`,`definitions`,`dependencies`];function Sf(e,t,n,r,i){n.isDocumentRoot?h(e,`$schema`,Zd(t,`https://json-schema.org/draft/2020-12/schema`)?r:t):Zd(t,`https://json-schema.org/draft/2020-12/schema`)||yf(`$schema`,i,`an embedded resource cannot declare a different dialect`)}function Cf(e,t){bf(e,xf,`Draft-07`,`Draft 2020-12`);let n={},r,i,a;for(let o of Object.keys(e)){let s=e[o];if(!hf(n,o,s,t,mf))switch(o){case`$ref`:r=s;break;case`$schema`:Sf(n,s,t,Xd,`Draft-07`);break;case`$id`:case`$anchor`:break;case`$defs`:h(n,`definitions`,t.schemaMap(s,o,`definitions`));break;case`prefixItems`:i=s;break;case`items`:a=s;break;case`dependentRequired`:case`dependentSchemas`:case`minContains`:case`maxContains`:break;case`$dynamicRef`:case`$dynamicAnchor`:case`$vocabulary`:case`unevaluatedProperties`:case`unevaluatedItems`:yf(o,`Draft-07`,`the target dialect has no equivalent`);case`required`:if(Array.isArray(s)&&s.length===0)break;h(n,o,s);break;default:h(n,o,s)}}if(wf(n,i,a,t),Object.hasOwn(e,`contains`)){let t=e.minContains,r=e.maxContains;(t!==void 0&&t!==1||r!==void 0)&&yf(`minContains/maxContains`,`Draft-07`,`contains cardinality cannot be represented`),Object.hasOwn(e,`minContains`)&&h(n,`minContains`,t)}else Object.hasOwn(e,`minContains`)&&h(n,`minContains`,e.minContains),Object.hasOwn(e,`maxContains`)&&h(n,`maxContains`,e.maxContains);return Ef(e,n,t,`draft-07`),Of(e,n,`$id`,`Draft-07`),Tf(n,r,t),n}function wf(e,t,n,r){if(t===void 0){n!==void 0&&h(e,`items`,r.schema(n,`items`));return}h(e,`items`,r.schemaArray(t,`prefixItems`,`items`)),n!==void 0&&h(e,`additionalItems`,r.schema(n,`items`,`additionalItems`))}function Tf(e,t,n){if(t!==void 0){if(typeof t==`string`&&Object.keys(e).length>0){let r={};n.reference(r,t),Df(e,r)}else n.reference(e,t)}}function Ef(e,t,n,r){let i=$n(e.dependentRequired)?e.dependentRequired:void 0,a=$n(e.dependentSchemas)?e.dependentSchemas:void 0;if(i===void 0&&a===void 0)return;let o={},s=new Set([...Object.keys(i??{}),...Object.keys(a??{})]);for(let e of s){let t=i?.[e],s=a?.[e],c=r===`draft-04`&&Array.isArray(t)&&t.length===0;s===void 0?c||h(o,e,t):t===void 0||c?h(o,e,n.schemaAt(s,[`dependentSchemas`,e],[`dependencies`,e])):h(o,e,{allOf:[n.schemaAt(s,[`dependentSchemas`,e],[`dependencies`,e,`allOf`,`0`]),{required:t}]})}Object.keys(o).length>0&&h(t,`dependencies`,o)}function Df(e,t){Array.isArray(e.allOf)?e.allOf.push(t):h(e,`allOf`,[t])}function Of(e,t,n,r){let i=e.$id,a=e.$anchor;if(a===void 0){i!==void 0&&h(t,n,i);return}(typeof a!=`string`||!_f.test(a))&&yf(`$anchor`,r,`the anchor is not valid`),vf.test(a)||yf(`$anchor`,r,`the anchor cannot be represented as a plain-name fragment identifier`),i===void 0?h(t,n,`#${a}`):yf(`$anchor`,r,`it cannot be combined with the schema $id`)}function kf(e){return Ud(Af(e.ast),{schema:e})}var Af=eu(e=>{let t=Ff(e,Af),n=e.context;return t===e||n===void 0?t:$l(t,jf(n))});function jf(e){return e.constructorDefault===void 0?e:new Ec(e.isOptional,e.isMutable,void 0,e.annotations)}function Mf(e){if(e.propertySignatures.some(e=>typeof e.name!=`string`))throw new globalThis.Error(`Objects property names must be strings`,{cause:e})}function Nf(e){return t=>{let n=[...t].sort((t,n)=>e(yu(t))-e(yu(n)));return n.some((e,n)=>e!==t[n])?n:t}}var Pf=Nf(e=>{switch(e._tag){case`BigInt`:case`Symbol`:case`UniqueSymbol`:return 0;default:return 1}});function Ff(e,t){switch(e._tag){case`Declaration`:{let n=e.annotations?.toCodecJson??e.annotations?.toCodec;if(!Jn(n))return Wl(e,[Xu]);let r=n(e.typeParameters.map(e=>Ud(yu(e))));return r===void 0?e:Wl(e,[Xl(r,t)])}case`Unknown`:return Wl(e,[Xu]);case`ObjectKeyword`:return Wl(e,[Zu]);case`Undefined`:case`Void`:case`Literal`:case`Number`:return e.toCodecJson();case`UniqueSymbol`:case`Symbol`:case`BigInt`:return e.toCodecStringTree();case`Objects`:return Mf(e),e.recur(t,Eu);case`Union`:{let n=Pf(e.types);return n===e.types?e.recur(t):new Cl(n,e.options,e.annotations,e.checks,e.encoding,e.context,e.encodingChecks).recur(t)}case`Arrays`:case`Suspend`:return e.recur(t)}return e}globalThis.RegExp;var If=e=>e.replace(/[/\\^$*+?.()|[\]{}]/g,`\\$&`);function Lf(e,t){return t.length>0&&(e+=`\n at ${be(t)}`),Error(e)}function Rf(e){return`#/$defs/${Kd(e)}`}var zf=new Set([...Ho,No,...Io]);function Bf(e,t){if(e===void 0)return;let n={},r=e.title;typeof r==`string`&&(n.title=r);let i=e.description,a=e.expected;typeof i==`string`?n.description=i:t?.generateDescriptions===!0&&typeof a==`string`&&(n.description=a);let o=e.default;Ju(o)&&(n.default=o);let s=e.examples;Array.isArray(s)&&Ju(s)&&(n.examples=s);let c=e.readOnly;typeof c==`boolean`&&(n.readOnly=c);let l=e.writeOnly;typeof l==`boolean`&&(n.writeOnly=l);let u=e.format;typeof u==`string`&&(n.format=u);let d=e.contentEncoding;typeof d==`string`&&(n.contentEncoding=d);let f=e.contentMediaType;typeof f==`string`&&(n.contentMediaType=f);let p=e.contentSchema;if(Ju(p)&&(n.contentSchema=p),t?.includeAnnotationKey!==void 0)for(let[r,i]of Object.entries(e))zf.has(r)||!t.includeAnnotationKey(r)||Ju(i)&&h(n,r,i);return Object.keys(n).length===0?void 0:n}function Vf(e){let t=e.type===`number`||e.type===`integer`?e.type:void 0,n=e;if(t!==void 0&&(n={...e},delete n.type),Array.isArray(n.allOf)){let e=[],r=!1;for(let i of n.allOf){let n=Vf(i);n.type!==void 0&&(r=!0,(t===void 0||n.type===`integer`)&&(t=n.type)),Object.keys(n.schema).length>0&&e.push(n.schema)}if(r){let{allOf:t,...r}=n;n=e.length===0?r:{...r,allOf:e}}}return{type:t,schema:n}}function Hf(e){if(!Array.isArray(e.anyOf)||e.anyOf.length!==2||e.anyOf[0]?.type!==`number`)return!1;let t=e.anyOf[1];return t?.type===`string`&&Array.isArray(t.enum)&&t.enum.length===3&&t.enum.includes(`NaN`)&&t.enum.includes(`Infinity`)&&t.enum.includes(`-Infinity`)}var Uf=`|type|format|pattern|multipleOf|minimum|maximum|exclusiveMinimum|exclusiveMaximum|minLength|maxLength|minItems|maxItems|uniqueItems|minProperties|maxProperties|propertyNames|`;function Wf(e,t){return Object.keys(e).every(e=>t.includes(`|${e}|`))}function Gf(e,t){return typeof e.$ref!=`string`&&t.every(t=>!Object.hasOwn(e,t))}var Kf=`|title|description|default|examples|readOnly|writeOnly|`,qf=Uf+Kf;function Jf(e,t,n){if(Object.keys(e).length===0)return t;let r=Object.keys(t);if(r.length===0)return e;let i=e.type===`number`||e.type===`integer`?e.type:void 0,a=Hf(e);if(i!==void 0||a){let r=Vf(t);if(r.type!==void 0){let t=i===`integer`||r.type===`integer`?`integer`:`number`,o={...e,type:t};a&&delete o.anyOf;let s=Object.keys(r.schema);return s.length===0?o:Wf(r.schema,Kf)&&Gf(o,s)?{...o,...r.schema}:Jf(o,r.schema,n)}}if(n&&Gf(e,r))return{...e,...t};let o=Array.isArray(t.allOf)&&r.length===1?t.allOf:[t];return Array.isArray(e.allOf)?{...e,allOf:[...e.allOf,...o]}:typeof e.$ref==`string`?{allOf:[e,...o]}:{...e,allOf:o}}function Yf(e,t=new Set){return typeof e==`boolean`?e:t.has(e)?!0:(t.add(e),e.every(e=>Yf(e,t)))}function Xf(e){return Array.isArray(e)}function Zf(e,t,n,r){let i=new Map,a=new Map,o=new WeakMap,s=new Map,c=new Map,l=Object.keys(n);for(let e of l)m(e,[`references`,e]);let u=Ce(e,(e,n)=>re(e,t[n],[]));for(let[e,t]of s.values())if(!Yf(e))for(let e of t)Array.isArray(e.oneOf)&&(e.anyOf=e.oneOf,delete e.oneOf);for(let e of l){let t=n[e],r=te(t);if(r===void 0)continue;let o=i.get(e)[0],s=c.get(r),l=s?.find(e=>Pt(i.get(e)[0],o));l===void 0?s===void 0?c.set(r,[e]):s.push(e):a.set(e,l)}let d=Ce(u,ee),f={};for(let e of l)a.has(e)||h(f,e,ee(i.get(e)[0]));return{dialect:`draft-2020-12`,schemas:d,definitions:f};function p(e){return Array.isArray(e.oneOf)&&s.get(e.oneOf)?.[1].push(e),e}function m(e,t){if(!Object.hasOwn(n,e))throw Lf(`Invalid reference ${e}`,[...t,`$ref`]);let r=i.get(e);if(r!==void 0)return r;let a=[{},[]];return i.set(e,a),a[0]=re(n[e],[`references`,e],a[1]),a}function ee(e){return ef(e,e=>{let t=qd(e);if(t===void 0){if(/^#(?:\/|%2f)/i.test(e))throw Error(`Invalid JSON Pointer URI fragment ${JSON.stringify(e)}`);return e}if(!t.startsWith(`/$defs/`))return e;let n=t.indexOf(`/`,7),r=a.get(Gd(t.slice(7,n<0?void 0:n)));return r===void 0?e:e.replace(/^#(?:\/|%2f).*?(?:\/|%2f).*?(?=\/|%2f|$)/i,Rf(r))})}function te(e){if(e._tag===`Reference`)return;let t=e.checks.length===0?e.annotations:e.checks[e.checks.length-1].annotations;return typeof t?.identifier!=`string`&&typeof t?.[`~identifier`]==`string`?t[No]:void 0}function ne(e,t,n,i){let a=e.annotations,o=a?.toJsonSchema;if(o!==void 0){let s=o({type:t,schemas:e.representation?.schemas?.map((e,t)=>re(e,[...n,`representation`,`schemas`,t],i))??[]}),c=Xf(s);c&&i.push(!1);let l=c?s[0]:s,u=Bf(a,r),d=u===void 0?l:{...l,...u},f=u===void 0?Uf:qf;return[d,e._tag===`Filter`&&Wf(d,f)&&(u===void 0||Wf(u,Kf))?!0:void 0]}if(e._tag===`Filter`){i.push(!1);return}let s=e.checks.flatMap((e,r)=>{let a=ne(e,t,[...n,`checks`,r],i);return a===void 0?[]:[a[0]]});if(s.length===0)return;let c=Bf(a,r),l={allOf:s};return[c===void 0?l:{...l,...c}]}function re(e,t,n){if(e._tag===`Reference`)return n.push(m(e.$ref,t)[1]),{$ref:Rf(e.$ref)};let i=o.get(e);if(i!==void 0)return n.push(i[1]),i[0];let a=[];n.push(a);let s=ie(e,t,a),c=Bf(e.annotations,r);c!==void 0&&(s={...s,...c});for(let n=0;n<e.checks.length;n++){let r=typeof s.type==`string`&&Qf(s.type)?s.type:void 0,i=ne(e.checks[n],r,[...t,`checks`,n],a);i!==void 0&&(s=Jf(s,...i))}return o.set(e,[s,a]),p(s)}function ie(e,t,n){switch(e._tag){case`Any`:case`Unknown`:return{};case`ObjectKeyword`:return{anyOf:[{type:`object`},{type:`array`}]};case`Void`:case`Undefined`:case`Null`:return{type:`null`};case`BigInt`:return{type:`string`,allOf:[{pattern:`^-?\\d+$`}]};case`Symbol`:return{type:`string`,allOf:[{pattern:`^Symbol\\(([\\s\\S]*)\\)$`}]};case`UniqueSymbol`:return globalThis.Symbol.keyFor(e.symbol)===void 0?{not:{}}:{type:`string`,enum:[globalThis.String(e.symbol)]};case`Declaration`:return n.push(!1),{};case`Suspend`:return re(e.thunk,[...t,`thunk`],n);case`Never`:return{not:{}};case`String`:return{type:`string`};case`Number`:return{anyOf:[{type:`number`},{type:`string`,enum:[`NaN`,`Infinity`,`-Infinity`]}]};case`Boolean`:return{type:`boolean`};case`Literal`:{let t=e.literal;return typeof t==`bigint`?{type:`string`,enum:[globalThis.String(t)]}:{type:typeof t,enum:[t]}}case`Enum`:{let n=e.enums.map(([e,n],r)=>{if(typeof n==`number`&&!globalThis.Number.isFinite(n))throw Lf(`Invalid numeric enum value ${globalThis.String(n)}`,[...t,`enums`,r,1]);return{type:typeof n,enum:[n],title:e}});return n.length===0?{not:{}}:{anyOf:n}}case`TemplateLiteral`:return{type:`string`,pattern:`^${e.parts.map(ep).join(``)}$`};case`Arrays`:{if(e.rest.length>1)throw Lf(`Invalid schema representation document`,[...t,`rest`]);let i={type:`array`},a=e.elements.length,o=e.elements.map((e,i)=>{e.isOptional&&a--;let o=re(e.type,[...t,`elements`,i,`type`],n),s=Bf(e.annotations,r);return s===void 0?o:p(Jf(o,s))});if(o.length>0?(i.prefixItems=o,i.maxItems=e.elements.length,a>0&&(i.minItems=a)):i.items=!1,e.rest.length===1){delete i.maxItems;let r=re(e.rest[0],[...t,`rest`,0],n);Object.keys(r).length>0?i.items=r:delete i.items}return i}case`Objects`:{if(e.propertySignatures.length===0&&e.indexSignatures.length===0)return{not:{type:`null`}};let i={type:`object`},a={},o=[];for(let i=0;i<e.propertySignatures.length;i++){let s=e.propertySignatures[i];if(typeof s.name!=`string`)throw Lf(`Invalid schema representation document`,[...t,`propertySignatures`,i,`name`]);let c=s.name,l=re(s.type,[...t,`propertySignatures`,i,`type`],n),u=Bf(s.annotations,r);h(a,c,u===void 0?l:p(Jf(l,u))),s.isOptional||o.push(c)}e.propertySignatures.length>0&&(i.properties=a),o.length>0&&(i.required=o);let s={},c=[],l=[],u=!1;for(let r=0;r<e.indexSignatures.length;r++){let i=e.indexSignatures[r],a=re(i.type,[...t,`indexSignatures`,r,`type`],n);Pt(a,{not:{}})&&(a=!1),l.push(a);let o=ae(i.parameter,[...t,`indexSignatures`,r,`parameter`],new Set);if(o===void 0){u=!0,n.push(!1);continue}if(o.length===0)c.push(a);else for(let e of o){let t=s[e];h(s,e,t===void 0?a:t===!1||a===!1?!1:p(Jf(t,a)))}}let d=Object.keys(s).length>0;if(d&&(i.patternProperties=s),u&&r?.onExcessProperty===`error`){let r=[];e.propertySignatures.length>0&&r.push({enum:Object.keys(a)});for(let i=0;i<e.indexSignatures.length;i++)r.push(re(e.indexSignatures[i].parameter,[...t,`indexSignatures`,i,`parameter`],n));i.propertyNames=r.length===1?r[0]:{anyOf:r},i.additionalProperties=l.length===1?l[0]:{anyOf:l},c.length>0&&(i.allOf=c.map(e=>({type:`object`,additionalProperties:e})))}else c.length===0?i.additionalProperties=u||r?.onExcessProperty!==`error`:c.length===1&&e.propertySignatures.length===0&&!d?i.additionalProperties=c[0]:c.length>0&&(i.allOf=c.map(e=>({type:`object`,additionalProperties:e})));return typeof i.additionalProperties==`object`&&i.additionalProperties!==null&&Object.keys(i.additionalProperties).length===0&&delete i.additionalProperties,i}case`Union`:{let r=[],i=e.types.map((e,n)=>re(e,[...t,`types`,n],r));if(n.push(r),i.length===0)return{not:{}};let a=e.options?.mode??`anyOf`;if(a===`anyOf`&&i.length>1){let e=$f(i);if(e!==void 0)return e}return a===`oneOf`&&s.set(i,[r,[]]),{[a]:i}}}}function ae(e,t,r){switch(e._tag){case`Reference`:{if(!Object.hasOwn(n,e.$ref))throw Lf(`Invalid reference ${e.$ref}`,[...t,`$ref`]);if(m(e.$ref,t),r.has(e.$ref))return;let i=new Set(r).add(e.$ref);return ae(n[e.$ref],[`references`,e.$ref],i)}case`String`:{if(e.checks.length===0)return[];if(e.checks.length!==1||e.checks[0]._tag!==`Filter`||e.checks[0].annotations?.toJsonSchema===void 0)return;let n=[],r=re(e,t,n);return Yf(n)&&r.type===`string`&&typeof r.pattern==`string`&&Wf(r,`|type|pattern|title|description|default|examples|readOnly|writeOnly|`)?[r.pattern]:void 0}case`TemplateLiteral`:return e.checks.length===0?[`^${e.parts.map(ep).join(``)}$`]:void 0;case`Union`:{if(e.types.length===0||e.checks.length>0||e.options?.mode===`oneOf`)return;let n=[];for(let i=0;i<e.types.length;i++){let a=ae(e.types[i],[...t,`types`,i],r);if(a===void 0)return;if(a.length===0)return[];n.push(...a)}return n}default:throw Lf(`Invalid schema representation document`,t)}}}function Qf(e){return e===`string`||e===`number`||e===`boolean`||e===`array`||e===`object`||e===`null`||e===`integer`}function $f(e){let t,n=[];for(let r of e){if(Object.keys(r).length!==2||r.type===void 0||!Array.isArray(r.enum)||r.enum.length===0)return;if(t===void 0)t=r.type;else if(r.type!==t)return;for(let e of r.enum){if(n.includes(e))return;n.push(e)}}return{type:t,enum:n}}function ep(e){switch(e._tag){case`Literal`:return If(globalThis.String(e.literal));case`String`:return Du;case`Number`:return Zc;case`TemplateLiteral`:return e.parts.map(ep).join(``);case`Union`:return`(?:${e.types.map(ep).join(`|`)})`;default:throw Lf(`Invalid schema representation document`,[])}}function tp(e,t){let n=Zf([e.representation],[[`representation`]],e.references,t);return{dialect:n.dialect,schema:n.schemas[0],definitions:n.definitions}}var np=({identifier:e})=>e;function rp(e){return e===void 0?void 0:{annotations:e}}function ip(e,t){let{references:n,representations:r}=ap([e],t);return{representation:r[0],references:n}}function ap(e,t){let n={},r=new Map,i=new Set,a=new Map,o=new Set;for(let t of e)f(t);let s=t?.referencePolicy??np;for(let e of a.values())for(let t of e.values()){let e=s({ast:t.ast,occurrences:t.occurrences,identifier:t.identifier});e===void 0?t.isRecursive&&(t.reference=c(`${t.ast._tag}_`,t,``)):t.reference=c(e,t,e===t.identifier||!e.endsWith(`_`)?`_`:``)}return{representations:Ce(e,e=>m(e)),references:n};function c(e,t,n=`_`){let i=e,a=0;for(;r.has(i);){if(r.get(i)===t)return i;i=`${e}${n}${++a}`}return r.set(i,t),i}function l(e,t,n){let r=t.fallback;return r===void 0?n===t.identifier?e:ql(e,{identifier:n}):Ro(e)===r?e:ql(e,{[No]:r})}function u(e,t){if(!Object.hasOwn(n,e)&&!i.has(e)){i.add(e);let r=ee(t);i.delete(e),h(n,e,r)}return{_tag:`Reference`,$ref:e}}function d(e){let t=Kl(e),n=Ul(t),r=Lo(t),i=r===void 0?(t===e?void 0:Lo(e))??Ro(t):void 0;i!==void 0&&(r=`${i}Encoded`);let o=a.get(n);o===void 0&&(o=new Map,a.set(n,o));let s=o.get(r);return s===void 0&&(s={ast:n,identifier:r,fallback:i,occurrences:0,isRecursive:!1,reference:void 0},o.set(r,s)),s}function f(e){let t=d(e),n=t.ast;if(t.occurrences++,o.has(t)){t.isRecursive=!0;return}if(!(t.occurrences>1)){switch(o.add(t),p(n.checks),n._tag){case`Declaration`:case`Arrays`:case`Objects`:case`Union`:n.recur(e=>(f(e),e));break;case`TemplateLiteral`:n.parts.forEach(f);break;case`Suspend`:f(n.thunk())}o.delete(t)}}function p(e){e?.forEach(e=>{e.annotations?.representation?.schemas?.forEach(e=>f(vu(e))),e._tag===`FilterGroup`&&p(e.checks)})}function m(e){let t=d(e),n=t.ast,r=t.reference;return r===void 0?ee(n):u(r,t.identifier===void 0?n:l(n,t,r))}function ee(e){let t=te(e.checks);switch(e._tag){case`Declaration`:return{_tag:`Declaration`,typeParameters:e.typeParameters.map(e=>m(e)),checks:t,...re(e.annotations)};case`Null`:case`Undefined`:case`Void`:case`Never`:case`Unknown`:case`Any`:case`String`:case`Boolean`:case`Number`:case`BigInt`:case`Symbol`:case`ObjectKeyword`:return{_tag:e._tag,checks:t,...rp(e.annotations)};case`Literal`:return{_tag:`Literal`,literal:e.literal,checks:t,...rp(e.annotations)};case`UniqueSymbol`:return{_tag:`UniqueSymbol`,symbol:e.symbol,checks:t,...rp(e.annotations)};case`Enum`:return{_tag:`Enum`,enums:e.enums,checks:t,...rp(e.annotations)};case`TemplateLiteral`:return{_tag:`TemplateLiteral`,parts:e.parts.map(e=>m(e)),checks:t,...rp(e.annotations)};case`Arrays`:return{_tag:`Arrays`,elements:e.elements.map(e=>{let t=Kl(e),n=t.context?.annotations;return{isOptional:pu(t),type:m(e),...rp(n)}}),rest:e.rest.map(e=>m(e)),checks:t,...rp(e.annotations)};case`Objects`:return{_tag:`Objects`,propertySignatures:e.propertySignatures.map(e=>{let t=Kl(e.type),n=t.context?.annotations;return{name:e.name,type:m(e.type),isOptional:pu(t),isMutable:mu(t),...rp(n)}}),indexSignatures:e.indexSignatures.map(e=>({parameter:m(e.parameter),type:m(e.type)})),checks:t,...rp(e.annotations)};case`Union`:return{_tag:`Union`,types:e.types.map(e=>m(e)),...e.options===void 0?{}:{options:e.options},checks:t,...rp(e.annotations)};case`Suspend`:return{_tag:`Suspend`,checks:[],thunk:m(e.thunk()),...rp(e.annotations)}}}function te(e){return e?.map(ne)??[]}function ne(e){switch(e._tag){case`Filter`:return{_tag:`Filter`,aborted:e.aborted,...ie(e.annotations)};case`FilterGroup`:return{_tag:`FilterGroup`,checks:Ce(e.checks,ne),...ie(e.annotations)}}}function re(e){if(e===void 0)return;let{representation:t,...n}=e;return{...t===void 0?void 0:{representation:t},...Object.keys(n).length===0?void 0:{annotations:n}}}function ie(e){if(e===void 0)return;let{representation:t,...n}=e,r=t===void 0?void 0:t.schemas===void 0?t:{...t,schemas:t.schemas.map(e=>m(vu(e)))};return{...r===void 0?void 0:{representation:r},...Object.keys(n).length===0?void 0:{annotations:n}}}}function op(e){return ta(e)?e.value:{issues:[{message:Ki(e.cause)}]}}function sp(e,t){let n=xd(e),r={errors:`all`,...t?.parseOptions},i=ms(t),a=e=>{let t=new en(`sync`),a=Lr(u(n(e,r),{onFailure:i,onSuccess:e=>({value:e})}),{scheduler:t});a.currentDispatcher?.flush();let o=a.pollUnsafe();return o?op(o):new Promise(e=>{a.addObserver(t=>{e(op(t))})})};if(Object.hasOwn(e,`~standard`)){let t=e;return`validate`in t[`~standard`]||Object.assign(t[`~standard`],{validate:a}),t}return Object.assign(e,{"~standard":{version:1,vendor:`effect`,validate:a}})}function cp(e){return tp(ip(Af(e)))}function lp(e,t){let n=cp(e);if(t===`draft-2020-12`){let e=n.schema;return Object.keys(n.definitions).length>0&&(e.$defs=n.definitions),e}if(t===`draft-07`){let e=Qd(n),t=e.schema;return Object.keys(e.definitions).length>0&&(t.definitions=e.definitions),t}throw new globalThis.Error(`Unsupported target: ${t}`)}function up(e){let t={input(t){return lp(e.ast,t.target)},output(t){return lp(vu(e.ast),t.target)}};if(Object.hasOwn(e,`~standard`)){let n=e;return`jsonSchema`in n[`~standard`]||Object.assign(n[`~standard`],{jsonSchema:t}),n}return Object.assign(e,{"~standard":{version:1,vendor:`effect`,jsonSchema:t}})}var dp=ce(e=>fp(e));function fp(e){let t=Ao(e)?.toEquivalence;if(t)return t(dc(e)?e.typeParameters.map(fp):[]);switch(e._tag){case`Never`:return Lt();case`Declaration`:return pp(e);case`Null`:case`Undefined`:case`Void`:case`Unknown`:case`Any`:case`String`:case`Number`:case`Boolean`:case`BigInt`:case`Symbol`:case`Literal`:case`UniqueSymbol`:case`ObjectKeyword`:case`Enum`:case`TemplateLiteral`:return Pt;case`Arrays`:{let t=e.elements.map(fp),n=e.rest.map(fp),[r,...i]=n,a=i.length;return Oe((o,s)=>{if(!Array.isArray(o)||!Array.isArray(s))return!1;let c=o.length;if(c!==s.length)return!1;let l=0;for(;l<Math.min(c,e.elements.length);l++)if(!t[l](o[l],s[l]))return!1;if(n.length>0){for(;l<c-a;l++)if(!r(o[l],s[l]))return!1;for(let e=0;e<a;e++)if(!i[e](o[l+e],s[l+e]))return!1}return!0})}case`Objects`:{if(e.propertySignatures.length===0&&e.indexSignatures.length===0)return Pt;let t=e.propertySignatures.map(e=>fp(e.type)),n=e.indexSignatures.map(e=>fp(e.type));return Oe((r,i)=>{if(!$n(r)||!$n(i))return!1;for(let n=0;n<t.length;n++){let a=e.propertySignatures[n],o=a.name,s=Object.hasOwn(r,o),c=Object.hasOwn(i,o);if(pu(a.type)&&s!==c||s&&c&&!t[n](r[o],i[o]))return!1}for(let t=0;t<n.length;t++){let a=e.indexSignatures[t],o=Qc(r,a.parameter),s=Qc(i,a.parameter);if(o.length!==s.length)return!1;for(let e=0;e<o.length;e++){let a=o[e];if(!Object.hasOwn(i,a)||!n[t](r[a],i[a]))return!1}}return!0})}case`Union`:{let t=vu(e).types,n=Sl(t),r=t.map((t,n)=>[bd(t),fp(e.types[n])]);return Oe((e,t)=>{let i=n(e,!1);for(let n=0;n<i.length;n++){let[a,o]=r[i[n]];if(a(e)&&a(t))return o(e,t)}return!1})}case`Suspend`:{let t;return Oe((n,r)=>(t??=dp(e.thunk()))(n,r))}}}function pp(e){let t=e.annotations?.representation;if(t===void 0)return Pt;switch(t.id){case`effect/schema/Option`:{let[t]=mp(e);return(e,n)=>e._tag===n._tag&&(e._tag===`None`||t(e.value,n.value))}case`effect/schema/Result`:{let[t,n]=mp(e);return(e,r)=>e._tag===r._tag&&(e._tag===`Success`?t(e.success,r.success):n(e.failure,r.failure))}case`effect/schema/CauseReason`:{let[t,n]=mp(e);return hp(t,n)}case`effect/schema/Cause`:{let[t,n]=mp(e);return gp(t,n)}case`effect/schema/Exit`:{let[t,n,r]=mp(e),i=gp(n,r);return(e,n)=>e._tag===n._tag&&(e._tag===`Success`?t(e.value,n.value):i(e.cause,n.cause))}case`effect/schema/ReadonlyMap`:{let[t,n]=mp(e);return Vt(t,n)}case`effect/schema/ReadonlySet`:return rt(mp(e)[0]);case`effect/schema/RegExp`:return(e,t)=>e.source===t.source&&e.flags===t.flags;case`effect/schema/URL`:return(e,t)=>e.toString()===t.toString();default:return Pt}}function mp(e){return e.typeParameters.map(fp)}function hp(e,t){return(n,r)=>{if(n._tag!==r._tag)return!1;switch(n._tag){case`Fail`:return e(n.error,r.error);case`Die`:return t(n.defect,r.defect);case`Interrupt`:return n.fiberId===r.fiberId}}}function gp(e,t){let n=Ne(hp(e,t));return(e,t)=>n(e.reasons,t.reasons)}var _p=m(2,(e,t)=>({...e,...t})),vp=e=>e,yp=`~effect/Schema/SchemaError`;function bp(e){return cr(e,`~effect/Schema/SchemaError`)&&e[`~effect/Schema/SchemaError`]===`~effect/Schema/SchemaError`}var xp=Bd;function Sp(){return(e,t,n)=>D(new kc(e.map(dl),e=>t(e.map(e=>D(e))),n))}function Cp(e,t){return Sp()([],()=>(t,n,r)=>e(t)?v(t):y(new is(n,t,r)),t)}var wp=class extends Ni(`SchemaError`){[yp]=yp;constructor(e){let t=we();Le(0);try{super({issue:e})}finally{Le(t)}}get message(){return xs(this.issue)}toString(){return`SchemaError(${this.message})`}};function Tp(e){return bp(e)}function Ep(e){return pe(e)?Dp(e):Rr(e,e=>Wr(()=>Vi(e,e=>new wp(e))))}function Dp(e){return ta(e)?e:Zi(Vi(e.cause,e=>new wp(e)))}function Op(e,t){let n;for(let r of e.reasons){if(!Ii(r)||!Tp(r.error))throw new globalThis.Error(t,{cause:e});n??=r.error}if(n===void 0)throw new globalThis.Error(t,{cause:e});return n}function kp(e){let t=dr(e);if(ta(t))return t.value;throw Op(t.cause,`Sync adapter can only throw schema errors`)}function Ap(e,t){return sp(e,t)}function jp(e){return up(e)}var Mp=vd;function Np(e,t){let n=xd(e,t);return(e,t)=>Ep(n(e,t))}function Pp(e,t){let n=Sd(e,t);return(e,t)=>Dp(n(e,t))}var Fp=Cd;function T(e,t){let n=wd(e,t);return(e,t)=>kt(n(e,t),e=>new wp(e))}var Ip=T;function E(e,t){let n=Np(e,t);return(e,t)=>kp(n(e,t))}var Lp=E;function Rp(e,t){let n=Td(e,t);return(e,t)=>Ep(n(e,t))}function zp(e,t){let n=Ed(e,t);return(e,t)=>Dp(n(e,t))}function Bp(e,t){let n=Dd(e,t);return(e,t)=>kt(n(e,t),e=>new wp(e))}var Vp=Bp;function Hp(e,t){let n=Rp(e,t);return(e,t)=>kp(n(e,t))}var Up=Hp,D=Ud;function Wp(e){return cr(e,xp)&&e[xp]===xp}var O=vp(e=>D(iu(e.ast),{schema:e})),k=vp(e=>{let t=cm(e);return D(ou(e.ast),{schema:t})}),Gp=vp(e=>D(su(e.ast),{schema:e})),Kp=vp(e=>D(vu(e.ast),{schema:e})),qp=vp(e=>D(yu(e.ast),{schema:e}));function A(e){let t=D(new Ic(e),{literal:e,transform(n){return t.pipe(fm(A(n),{decode:Fs(()=>n),encode:Fs(()=>e)}))}});return t}var Jp=D(Pc),Yp=D(Fc),Xp=D(Ac),Zp=D(Nc),j=D(Rc),M=D(Vc),Qp=D(Hc),$p=D(Uc),em=D(Wc);function tm(e,t){return D(e,{fields:t,mapFields(e,t){let n=e(this.fields);return tm(ul(n,t?.unsafePreserveChecks?this.ast.checks:void 0),n)}})}function N(e){return tm(ul(e,void 0),e)}function nm(e,t){return D(fu(e.ast,t.ast),{key:e,value:t})}function rm(e,t){return D(e,{elements:t,mapElements(e,t){let n=e(this.elements);return rm(fl(n,t?.unsafePreserveChecks?this.ast.checks:void 0),n)}})}function im(e){return rm(fl(e),e)}var P=vp(e=>D(new Gc(!1,[],[e.ast]),{value:e})),am=vp(e=>D(new Gc(!1,[e.ast],[e.ast]),{value:e})),om=vp(e=>D(ml(e.ast),{schema:e}));function sm(e,t){return D(e,{members:t,mapMembers(e,t){let n=e(this.members);return sm(pl(n,this.ast.options,t?.unsafePreserveChecks?this.ast.checks:void 0),n)}})}function F(e,t){return sm(pl(e,t,void 0),e)}function I(e){let t=e.map(A);return D(pl(t,void 0,void 0),{literals:e,members:t,mapMembers(e){return F(e(this.members))},pick(e){return I(e)},transform(e){return F(t.map((t,n)=>t.transform(e[n])))}})}var L=vp(e=>F([e,Xp])),cm=vp(e=>F([e,Zp]));function lm(e){return D(new Ml(()=>e().ast))}function R(...e){return t=>t.check(...e)}function um(e,t){return n=>D(Yl(n.ast,[Il(e,t)]),{schema:n})}function dm(e){return t=>D(t.ast,{schema:t,identifier:e})}function fm(e,t){return n=>D(uu(n.ast,e.ast,t?ec(t):ic()),{from:n,to:e})}function pm(){return(e,t)=>xm()(e,{decode:t,encode:js})}function mm(e,t){return n=>t?fm(n,t)(e):fm(n)(e)}function hm(e){return t=>D(lu(t.ast,e),{schema:t})}function gm(e){return Rr(e,e=>Wr(()=>Vi(e,e=>e.issue)))}function _m(e,t){let n=t?.encodingStrategy===`omit`?zs():Ns();return t=>k(qp(t)).pipe(fm(t,{decode:Bs(gm(e)),encode:n}))}function vm(e,t){return n=>Kp(n).pipe(_m(e,t),mm(k(n)))}function ym(e){return A(e).pipe(hm(v(e)))}function bm(e,t){return Cp(t=>t instanceof e,t)}function xm(){return(e,t)=>new wc(e.ast,ec(t))}var z=Fl,Sm=`^\\S[\\s\\S]*\\S$|^\\S$|^$`;function Cm(e){let t=new globalThis.RegExp(Sm);return z(e=>e.trim()===e,{expected:`a string with no leading or trailing whitespace`,representation:{id:`effect/schema/isTrimmed`,payload:null},toJsonSchema:()=>({pattern:t.source}),toCode:()=>({runtime:`Schema.isTrimmed()`}),arbitraryConstraint:{patterns:[{source:Sm,flags:``}]},...e})}function wm(e,t){let n=e.source,r=e.flags,i=/^[dg]*uy?$/.test(r),a=r===``?`new RegExp(${d(n)})`:`new RegExp(${d(n)}, ${d(r)})`;return Bl(e,{toJsonSchema:()=>i?{pattern:r.endsWith(`y`)?`^(?:${n})`:n}:[{},!0],toCode:()=>({runtime:`Schema.isPattern(${a})`}),...t})}var Tm=e=>e?new globalThis.RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$/;function Em(e,t){let n=Tm(e);return wm(n,{expected:e?`a UUID v${e}`:`a UUID`,representation:{id:`effect/schema/isUUID`,payload:{version:e??null}},toJsonSchema:()=>({pattern:n.source,format:`uuid`}),toCode:()=>({runtime:e===void 0?`Schema.isUUID()`:`Schema.isUUID(${e})`}),...t})}function Dm(e){let t=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;return wm(t,{expected:`a base64 encoded string`,representation:{id:`effect/schema/isBase64`,payload:null},toJsonSchema:()=>({pattern:t.source}),toCode:()=>({runtime:`Schema.isBase64()`}),...e})}function Om(e,t,n){if(e.length===0)return t.length===0?{}:[{},!0];let r={pattern:new globalThis.RegExp(n).source};return e===t?r:[r,!0]}function km(e,t){let n=JSON.stringify(e),r=new globalThis.RegExp(`^${If(e)}`),i=e.replace(/[\uD800-\uDBFF]$/,``);return z(t=>t.startsWith(e),{expected:`a string starting with ${n}`,representation:{id:`effect/schema/isStartingWith`,payload:{startsWith:e}},toJsonSchema:()=>Om(i,e,`^${If(i)}`),toCode:()=>({runtime:`Schema.isStartingWith(${d(e)})`}),arbitraryConstraint:{patterns:[{source:r.source,flags:r.flags}]},...t})}function Am(e,t){let n=JSON.stringify(e),r=new globalThis.RegExp(`${If(e)}$`),i=e.replace(/^[\uDC00-\uDFFF]/,``);return z(t=>t.endsWith(e),{expected:`a string ending with ${n}`,representation:{id:`effect/schema/isEndingWith`,payload:{endsWith:e}},toJsonSchema:()=>Om(i,e,`${If(i)}$`),toCode:()=>({runtime:`Schema.isEndingWith(${d(e)})`}),arbitraryConstraint:{patterns:[{source:r.source,flags:r.flags}]},...t})}function jm(e,t){let n=JSON.stringify(e),r=new globalThis.RegExp(If(e)),i=e.replace(/^[\uDC00-\uDFFF]|[\uD800-\uDBFF]$/g,``);return z(t=>t.includes(e),{expected:`a string including ${n}`,representation:{id:`effect/schema/isIncluding`,payload:{includes:e}},toJsonSchema:()=>Om(i,e,If(i)),toCode:()=>({runtime:`Schema.isIncluding(${d(e)})`}),arbitraryConstraint:{patterns:[{source:r.source,flags:r.flags}]},...t})}var Mm=D(Rl),Nm=Ll;function Pm(e){let t=Sn(e.order),n=e.formatter??d;return(r,i)=>z(e=>t(e,r),{expected:`a value greater than ${n(r)}`,arbitraryConstraint:{order:e.order,minimum:r,exclusiveMinimum:!0},...e.annotate?.(r),...i})}function Fm(e){let t=gr(e.order),n=e.formatter??d;return(r,i)=>z(e=>t(e,r),{expected:`a value greater than or equal to ${n(r)}`,arbitraryConstraint:{order:e.order,minimum:r},...e.annotate?.(r),...i})}function Im(e){let t=tr(e.order),n=e.formatter??d;return(r,i)=>z(e=>t(e,r),{expected:`a value less than ${n(r)}`,arbitraryConstraint:{order:e.order,maximum:r,exclusiveMaximum:!0},...e.annotate?.(r),...i})}function Lm(e){let t=jn(e.order),n=e.formatter??d;return(r,i)=>z(e=>t(e,r),{expected:`a value less than or equal to ${n(r)}`,arbitraryConstraint:{order:e.order,maximum:r},...e.annotate?.(r),...i})}function Rm(e){let t=gr(e.order),n=Sn(e.order),r=jn(e.order),i=tr(e.order),a=e.formatter??d;return(o,s)=>{let c=o.exclusiveMinimum?n:t,l=o.exclusiveMaximum?i:r;return z(e=>c(e,o.minimum)&&l(e,o.maximum),{expected:`a value between ${a(o.minimum)}${o.exclusiveMinimum?` (excluded)`:``} and ${a(o.maximum)}${o.exclusiveMaximum?` (excluded)`:``}`,arbitraryConstraint:{order:e.order,minimum:o.minimum,maximum:o.maximum,...o.exclusiveMinimum&&{exclusiveMinimum:!0},...o.exclusiveMaximum&&{exclusiveMaximum:!0}},...e.annotate?.(o),...s})}}function zm(e){if(!globalThis.Number.isFinite(e))throw new globalThis.RangeError(`Expected a finite number, got ${d(e)}`);return e}var Bm=Pm({order:Hr,annotate:e=>({representation:{id:`effect/schema/isGreaterThan`,payload:{exclusiveMinimum:zm(e)}},toJsonSchema:()=>({exclusiveMinimum:e}),toCode:()=>({runtime:`Schema.isGreaterThan(${d(e)})`})})}),B=Fm({order:Hr,annotate:e=>({representation:{id:`effect/schema/isGreaterThanOrEqualTo`,payload:{minimum:zm(e)}},toJsonSchema:()=>({minimum:e}),toCode:()=>({runtime:`Schema.isGreaterThanOrEqualTo(${d(e)})`})})}),Vm=Im({order:Hr,annotate:e=>({representation:{id:`effect/schema/isLessThan`,payload:{exclusiveMaximum:zm(e)}},toJsonSchema:()=>({exclusiveMaximum:e}),toCode:()=>({runtime:`Schema.isLessThan(${d(e)})`})})}),Hm=Lm({order:Hr,annotate:e=>({representation:{id:`effect/schema/isLessThanOrEqualTo`,payload:{maximum:zm(e)}},toJsonSchema:()=>({maximum:e}),toCode:()=>({runtime:`Schema.isLessThanOrEqualTo(${d(e)})`})})}),Um=Rm({order:Hr,annotate:e=>{let t=e.exclusiveMinimum?!0:void 0,n=e.exclusiveMaximum?!0:void 0;return{representation:{id:`effect/schema/isBetween`,payload:{minimum:zm(e.minimum),maximum:zm(e.maximum),...t&&{exclusiveMinimum:t},...n&&{exclusiveMaximum:n}}},toJsonSchema:()=>({[t?`exclusiveMinimum`:`minimum`]:e.minimum,[n?`exclusiveMaximum`:`maximum`]:e.maximum}),toCode:()=>({runtime:`Schema.isBetween({ minimum: ${d(e.minimum)}, maximum: ${d(e.maximum)}, exclusiveMinimum: ${d(t)}, exclusiveMaximum: ${d(n)} })`})}}});function Wm(e,t){if(!globalThis.Number.isFinite(e)||e===0)throw new globalThis.RangeError(`Expected a finite non-zero number, got ${globalThis.String(e)}`);return e=globalThis.Math.abs(e),z(t=>Ba(t,e)===0,{expected:`a value that is a multiple of ${e}`,representation:{id:`effect/schema/isMultipleOf`,payload:{divisor:e}},toJsonSchema:()=>({multipleOf:e}),toCode:()=>({runtime:`Schema.isMultipleOf(${d(e)})`}),...t})}function Gm(e){return z(e=>globalThis.Number.isSafeInteger(e),{expected:`an integer`,representation:{id:`effect/schema/isInt`,payload:null},toJsonSchema:()=>[{type:`integer`},!0],toCode:()=>({runtime:`Schema.isInt()`}),arbitraryConstraint:{number:`integer`},...e})}var V=M.check(Gm()),Km=V.check(B(0));function qm(e){if(globalThis.Number.isNaN(e.getTime()))throw new globalThis.RangeError(`Expected a valid Date, got ${d(e)}`);return e.toISOString()}function Jm(e){return`new Date(${d(e.getTime())})`}var Ym=Pm({order:Xn,annotate:e=>({representation:{id:`effect/schema/isGreaterThanDate`,payload:{exclusiveMinimum:qm(e)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isGreaterThanDate(${Jm(e)})`})})}),Xm=Fm({order:Xn,annotate:e=>({representation:{id:`effect/schema/isGreaterThanOrEqualToDate`,payload:{minimum:qm(e)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isGreaterThanOrEqualToDate(${Jm(e)})`})})}),Zm=Im({order:Xn,annotate:e=>({representation:{id:`effect/schema/isLessThanDate`,payload:{exclusiveMaximum:qm(e)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isLessThanDate(${Jm(e)})`})})}),Qm=Lm({order:Xn,annotate:e=>({representation:{id:`effect/schema/isLessThanOrEqualToDate`,payload:{maximum:qm(e)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isLessThanOrEqualToDate(${Jm(e)})`})})}),$m=Rm({order:Xn,annotate:e=>{let t=e.exclusiveMinimum?!0:void 0,n=e.exclusiveMaximum?!0:void 0;return{representation:{id:`effect/schema/isBetweenDate`,payload:{minimum:qm(e.minimum),maximum:qm(e.maximum),...t&&{exclusiveMinimum:t},...n&&{exclusiveMaximum:n}}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isBetweenDate({ minimum: ${Jm(e.minimum)}, maximum: ${Jm(e.maximum)}, exclusiveMinimum: ${d(t)}, exclusiveMaximum: ${d(n)} })`})}}}),eh=Pm({order:cn,annotate:e=>({representation:{id:`effect/schema/isGreaterThanBigInt`,payload:{exclusiveMinimum:e.toString(10)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isGreaterThanBigInt(${d(e)})`})})}),th=Fm({order:cn,annotate:e=>({representation:{id:`effect/schema/isGreaterThanOrEqualToBigInt`,payload:{minimum:e.toString(10)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isGreaterThanOrEqualToBigInt(${d(e)})`})})}),nh=Im({order:cn,annotate:e=>({representation:{id:`effect/schema/isLessThanBigInt`,payload:{exclusiveMaximum:e.toString(10)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isLessThanBigInt(${d(e)})`})})}),rh=Lm({order:cn,annotate:e=>({representation:{id:`effect/schema/isLessThanOrEqualToBigInt`,payload:{maximum:e.toString(10)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isLessThanOrEqualToBigInt(${d(e)})`})})}),ih=Rm({order:cn,annotate:e=>{let t=e.exclusiveMinimum?!0:void 0,n=e.exclusiveMaximum?!0:void 0;return{representation:{id:`effect/schema/isBetweenBigInt`,payload:{minimum:e.minimum.toString(10),maximum:e.maximum.toString(10),...t&&{exclusiveMinimum:t},...n&&{exclusiveMaximum:n}}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isBetweenBigInt({ minimum: ${d(e.minimum)}, maximum: ${d(e.maximum)}, exclusiveMinimum: ${d(t)}, exclusiveMaximum: ${d(n)} })`})}}});function ah(e,t){return e=ph(e),oh(e,Math.ceil(e/2),t)}function oh(e,t,n){return z(t=>t.length>=e,{expected:`a value with a length of at least ${e}`,representation:{id:`effect/schema/isMinLength`,payload:{minLength:e}},toJsonSchema:({type:n})=>n===`string`?e<=1?{minLength:t}:[{minLength:t},!0]:n===`array`?{minItems:e}:n===void 0?[{minLength:t,minItems:e},!0]:[{},!0],toCode:()=>({runtime:`Schema.isMinLength(${e})`}),[Mo]:!0,arbitraryConstraint:{minLength:e},...n})}function sh(e){return oh(1,1,e)}function H(e,t){return e=ph(e),z(t=>t.length<=e,{expected:`a value with a length of at most ${e}`,representation:{id:`effect/schema/isMaxLength`,payload:{maxLength:e}},toJsonSchema:({type:t})=>t===`string`?e===0?{maxLength:e}:[{maxLength:e},!0]:t===`array`?{maxItems:e}:t===void 0?[{maxLength:e,maxItems:e},!0]:[{},!0],toCode:()=>({runtime:`Schema.isMaxLength(${e})`}),[Mo]:!0,arbitraryConstraint:{maxLength:e},...t})}function ch(e,t,n){return e=ph(e),t=ph(t),z(n=>n.length>=e&&n.length<=t,{expected:e===t?`a value with a length of ${e}`:`a value with a length between ${e} and ${t}`,representation:{id:`effect/schema/isBetweenLength`,payload:{minimum:e,maximum:t}},toJsonSchema:({type:n})=>n===`string`?t===0||Math.ceil(e/2)>t?{minLength:Math.ceil(e/2),maxLength:t}:[{minLength:Math.ceil(e/2),maxLength:t},!0]:n===`array`?{minItems:e,maxItems:t}:n===void 0?[{minLength:Math.ceil(e/2),maxLength:t,minItems:e,maxItems:t},!0]:[{},!0],toCode:()=>({runtime:`Schema.isBetweenLength(${e}, ${t})`}),[Mo]:!0,arbitraryConstraint:{minLength:e,maxLength:t},...n})}function lh(e,t){return e=ph(e),z(t=>fh(t,e)>=e,{expected:`a string with at least ${e} code points`,representation:{id:`effect/schema/isMinCodePoints`,payload:{minCodePoints:e}},toJsonSchema:()=>({minLength:e}),toCode:()=>({runtime:`Schema.isMinCodePoints(${e})`}),arbitraryConstraint:{minCodePoints:e},...t})}function uh(e,t){return e=ph(e),z(t=>fh(t,e+1)<=e,{expected:`a string with at most ${e} code points`,representation:{id:`effect/schema/isMaxCodePoints`,payload:{maxCodePoints:e}},toJsonSchema:()=>({maxLength:e}),toCode:()=>({runtime:`Schema.isMaxCodePoints(${e})`}),arbitraryConstraint:{maxCodePoints:e},...t})}function dh(e,t,n){return e=ph(e),t=ph(t),z(n=>{let r=fh(n,t+1);return r>=e&&r<=t},{expected:e===t?`a string with ${e} code points`:`a string with between ${e} and ${t} code points`,representation:{id:`effect/schema/isBetweenCodePoints`,payload:{minimum:e,maximum:t}},toJsonSchema:()=>({allOf:[{minLength:e},{maxLength:t}]}),toCode:()=>({runtime:`Schema.isBetweenCodePoints(${e}, ${t})`}),arbitraryConstraint:{minCodePoints:e,maxCodePoints:t},...n})}function fh(e,t){if(t===0)return 0;let n=0;for(let r of e)if(++n>=t)break;return n}function ph(e){if(!globalThis.Number.isFinite(e))throw new globalThis.RangeError(`Expected a finite number, got ${e}`);return Math.max(0,Math.floor(e))}function mh(e,t){return e=ph(e),z(t=>t.size>=e,{expected:`a value with a size of at least ${e}`,representation:{id:`effect/schema/isMinSize`,payload:{minSize:e}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isMinSize(${e})`}),[Mo]:!0,arbitraryConstraint:{minSize:e},...t})}function hh(e,t){return e=ph(e),z(t=>t.size<=e,{expected:`a value with a size of at most ${e}`,representation:{id:`effect/schema/isMaxSize`,payload:{maxSize:e}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isMaxSize(${e})`}),[Mo]:!0,arbitraryConstraint:{maxSize:e},...t})}function gh(e,t,n){return e=ph(e),t=ph(t),z(n=>n.size>=e&&n.size<=t,{expected:e===t?`a value with a size of ${e}`:`a value with a size between ${e} and ${t}`,representation:{id:`effect/schema/isBetweenSize`,payload:{minimum:e,maximum:t}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isBetweenSize(${e}, ${t})`}),[Mo]:!0,arbitraryConstraint:{minSize:e,maxSize:t},...n})}function _h(e,t){return e=ph(e),z(t=>Reflect.ownKeys(t).length>=e,{expected:`a value with at least ${e===1?`1 entry`:`${e} entries`}`,representation:{id:`effect/schema/isMinProperties`,payload:{minProperties:e}},toJsonSchema:({type:t})=>t===`object`?{minProperties:e}:[{minProperties:e},!0],toCode:()=>({runtime:`Schema.isMinProperties(${e})`}),[Mo]:!0,arbitraryConstraint:{minProperties:e},...t})}function vh(e,t){return e=ph(e),z(t=>Reflect.ownKeys(t).length<=e,{expected:`a value with at most ${e===1?`1 entry`:`${e} entries`}`,representation:{id:`effect/schema/isMaxProperties`,payload:{maxProperties:e}},toJsonSchema:({type:t})=>t===`object`?{maxProperties:e}:[{maxProperties:e},!0],toCode:()=>({runtime:`Schema.isMaxProperties(${e})`}),[Mo]:!0,arbitraryConstraint:{maxProperties:e},...t})}function yh(e,t,n){return e=ph(e),t=ph(t),z(n=>Reflect.ownKeys(n).length>=e&&Reflect.ownKeys(n).length<=t,{expected:e===t?`a value with exactly ${e===1?`1 entry`:`${e} entries`}`:`a value with between ${e} and ${t} entries`,representation:{id:`effect/schema/isBetweenProperties`,payload:{minimum:e,maximum:t}},toJsonSchema:({type:n})=>n===`object`?{minProperties:e,maxProperties:t}:[{minProperties:e,maxProperties:t},!0],toCode:()=>({runtime:`Schema.isBetweenProperties(${e}, ${t})`}),[Mo]:!0,arbitraryConstraint:{minProperties:e,maxProperties:t},...n})}var bh=j.check(sh());globalThis.RegExp,globalThis.URL;var xh=j.annotate({expected:`a string that will be decoded as a Date`}),Sh=Cp(e=>e instanceof globalThis.Date&&!globalThis.Number.isNaN(e.getTime()),{representation:{id:`effect/schema/Date`,payload:null},toCode:()=>({runtime:`Schema.Date`,Type:`globalThis.Date`}),expected:`a valid Date`,toCodecJson:()=>xm()(xh,sc)}),Ch=j.annotate({expected:`a string that will be decoded as JSON`,contentMediaType:`application/json`});function U(e,t){return Ch.pipe(fm(e,lc(t)))}globalThis.File,globalThis.FormData,globalThis.URLSearchParams;var wh=j.annotate({expected:`a string that will be decoded as a number`}).pipe(fm(M,ac)),Th=j.check(Cm()),Eh=j.annotate({expected:`a string that will be decoded as a trimmed string`}).pipe(fm(Th,nc())),Dh=j.annotate({expected:`a base64 encoded string that will be decoded as Uint8Array`,format:`byte`,contentEncoding:`base64`}),Oh=bm(globalThis.Uint8Array,{representation:{id:`effect/schema/Uint8Array`,payload:null},toCode:()=>({runtime:`Schema.Uint8Array`,Type:`globalThis.Uint8Array`}),expected:`Uint8Array`,toCodecJson:()=>xm()(Dh,cc)}),kh=tc({decode:(e,t)=>Er(mo(e),{onNone:()=>y(new as({expected:`a valid UTC DateTime string`},e,t)),onSome:e=>v(ho(e))}),encode:e=>v(go(e))}),Ah=-864e13,jh=864e13;function Mh(e,t,n){let r=Math.max(t,e?.minimum===void 0?t:e.minimum.epochMilliseconds+ +(e.exclusiveMinimum===!0)),i=Math.min(n,e?.maximum===void 0?n:e.maximum.epochMilliseconds-+(e.exclusiveMaximum===!0));return r<=i?[r,i]:[t,n]}function Nh(e,t){return V.check(Um({minimum:e,maximum:t}))}var Ph=Cp(e=>uo(e)&&fo(e),{representation:{id:`effect/schema/DateTimeUtc`,payload:null},toCode:()=>({runtime:`Schema.DateTimeUtc`,Type:`DateTime.Utc`,importDeclarations:[`import * as DateTime from "effect/DateTime"`]}),expected:`DateTime.Utc`,toCodecArbitrary:({constraint:e})=>{let[t,n]=Mh(e,Ah,jh);return pm()(Nh(t,n),Fs(po))},toCodecJson:()=>xm()(j,kh),toFormatter:()=>e=>e.toString()}),Fh=j.annotate({expected:`a string that will be decoded as a DateTime.Utc`}).pipe(fm(Ph,kh));function Ih(e){return dp(e.ast)}function Lh(e,t){return ip(e.ast,t)}function Rh(e,t){return tp(ip(Af(e.ast),t),t)}var zh=kf,Bh=D(ql(Yu,{toCode:()=>({runtime:`Schema.Json`,Type:`Schema.Json`})})),Vh=nm(j,Bh),Hh=_(()=>pr({id:x().min(1).max(256),name:x().min(1).max(128),kind:sr(`agent`).optional()})),Uh=_(()=>x().min(1).max(256)),Wh=_(()=>pr({agentId:Uh,sessionId:Uh,commandId:Uh,outcome:Ot([`completed`,`failed`,`interrupted`,`cancelled`,`outcome_unknown`]),diagnostic:x().min(1).max(200).optional(),waitingOnYou:Nt(pr({itemId:Uh,kind:x().min(1).max(64),summary:x().min(1).max(200)})).min(1).max(8).optional()})),Gh=pr({author:Hh.optional(),sourceRequestId:Uh.optional(),delegation:pr({ancestors:Nt(Uh).max(8),maxDepth:qn().int().min(1).max(8),steer:sr(!0).optional(),goal:Wt([x().min(1).max(4e3),sr(!1)]).optional(),reply:Wh.optional()}).optional()});function Kh(e){let t=Gh.safeParse(e);return t.success?t.data.author:void 0}var qh=e=>crypto.getRandomValues(new Uint8Array(e)),Jh=(e,t,n)=>{let r=256-256%e.length;if(r===256){let r=e.length-1;return(i=t)=>{if(!i)return``;let a=``;for(;;){let t=n(i),o=i;for(;o--;)if(a+=e[t[o]&r],a.length>=i)return a}}}let i=Math.ceil(409.6*t/r);return(a=t)=>{if(!a)return``;let o=``;for(;;){let t=n(i),s=i;for(;s--;)if(t[s]<r&&(o+=e[t[s]%e.length],o.length>=a))return o}}},Yh=(e,t=21)=>Jh(e,t|0,qh),Xh=`abcdefghijklmnopqrstuvwxyz0123456789`;function Zh(e=21){if(e===1/0||e===-1/0)throw RangeError(`nanoid length must be finite`);return Yh(Xh,e)()}var Qh=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,$h=/^[a-z][a-z0-9]*(?:_[a-z][a-z0-9]*)*$/,eg=x().min(1).max(64).regex(Qh),tg=x().min(1).max(64).regex(Qh),ng=x().min(1).max(32).regex($h),rg=zr({prefix:ng}),ig=zr({family:eg,version:sr(1),kinds:yn(tg,rg)}).superRefine((e,t)=>{let n=Object.entries(e.kinds);if(n.length<1||n.length>64){t.addIssue({code:`custom`,message:`Identifier families must declare between one and 64 kinds`});return}let r=new Set;for(let[,e]of n){if(r.has(e.prefix)){t.addIssue({code:`custom`,message:`Identifier kind prefixes must be distinct`});return}r.add(e.prefix)}}),ag=x(),og=/^[a-z0-9]+$/,sg=new TextEncoder;function cg(e){return e===32||e>=9&&e<=13}function lg(e){let t=0,n=e.length;for(;t<n&&cg(e.charCodeAt(t));)t+=1;for(;n>t&&cg(e.charCodeAt(n-1));)--n;return e.slice(t,n).replace(/[A-Z]/g,e=>String.fromCharCode(e.charCodeAt(0)+32))}function ug(e){let t=`${e.prefix}_`;function n(e){if(!e.startsWith(t))return!1;let n=e.slice(t.length);return n.length===21&&og.test(n)}let r=_(()=>mn(e=>{let t=ag.safeParse(e);return t.success&&n(t.data)}));function i(i){let a,o=i,s=sg.encode(o).byteLength,c=r.safeParse(o),l=o.startsWith(t)?o.slice(t.length):void 0;if(s<3||s>96)a=`bounds`;else if(l!==void 0&&Array.from(l).length!==21)a=`bounds`;else if(c.success)return{ok:!0,value:c.data};else a=n(lg(o))?`non_canonical`:`grammar`;return{ok:!1,error:{code:`invalid_id`,family:e.family,kind:e.kind,version:1,reason:a}}}let a=_(()=>ag.transform((e,t)=>{let n=i(e);return n.ok?n.value:(t.addIssue({code:`custom`,message:n.error.reason}),Mt)}));function o(){let n;try{n=Zh(21)}catch{throw e.entropyUnavailable()}return r.parse(`${t}${n}`)}return{family:e.family,kind:e.kind,version:1,generate:o,schema:a,parse:i,is:e=>i(e).ok}}var dg=yn(x(),zr({family:x(),kind:x(),version:sr(1),generate:he(),schema:je(ve),parse:he(),is:he()})),fg=class extends Error{name=`CairnDefinitionError`;code=`invalid_definition`;constructor(){super(`Cairn identifier family definition is invalid`)}},pg=class extends Error{name=`CairnGenerationError`;code=`entropy_unavailable`;family;kind;version=1;constructor(e){super(`Cairn entropy source is unavailable`),this.family=e.family,this.kind=e.kind}};function mg(e){let t;try{t=ig.safeParse(e)}catch{throw new fg}if(!t.success)throw new fg;let n=t.data,r={};for(let[t,i]of Object.entries(n.kinds)){let a=i.prefix;r[t]=ug({family:e.family,kind:t,prefix:a,entropyUnavailable:()=>new pg({family:n.family,kind:t})})}let i=mn(e=>{let t=dg.safeParse(e);if(!t.success)return!1;let r=Object.entries(t.data);return r.length===Object.keys(n.kinds).length&&r.every(([e,t])=>Object.hasOwn(n.kinds,e)&&t.kind===e&&t.family===n.family)}).safeParse(r);if(!i.success)throw new fg;return i.data}var hg=Symbol.for(`effect/MutableList/Empty`),gg=()=>({head:void 0,tail:void 0,length:0}),_g=e=>{let t=e.head;t.offset>=1024&&t===e.tail&&t.mutable&&(t.array.length-t.offset)*8<=t.offset&&(e.head=e.tail={array:t.array.slice(t.offset),mutable:!0,offset:0,next:void 0})},vg=()=>({array:[],mutable:!0,offset:0,next:void 0}),yg=(e,t)=>{e.tail?e.tail.mutable||(e.tail.next=vg(),e.tail=e.tail.next):e.head=e.tail=vg(),e.tail.array.push(t),e.length++},bg=e=>{e.head=e.tail=void 0,e.length=0},xg=(e,t)=>{if(t=di(t),t<=0||!e.head)return[];if(t=Math.min(t,e.length),t===e.length&&e.head?.offset===0&&!e.head.next){let t=e.head.array;return bg(e),t}let n=Array(t),r=0,i=e.head;for(;i;){for(;i.offset<i.array.length;)if(n[r++]=i.array[i.offset],i.mutable&&(i.array[i.offset]=void 0),i.offset++,r===t)return e.head=i.offset===i.array.length&&i.next?i.next:i,e.length-=t,e.length===0?bg(e):_g(e),n;i=i.next}return bg(e),n},Sg=e=>{if(!e.head)return hg;let t=e.head.array[e.head.offset];return e.head.mutable&&(e.head.array[e.head.offset]=void 0),e.head.offset++,e.length--,e.head.offset===e.head.array.length?e.head.next?e.head=e.head.next:bg(e):_g(e),t},Cg=`~effect/Queue`,wg=`~effect/Queue/Enqueue`,Tg=`~effect/Queue/Dequeue`,Eg={_A:mt,_E:mt},Dg={[Cg]:Eg,[wg]:Eg,[Tg]:Eg,...ii,toJSON(){return{_id:`effect/Queue`,state:this.state._tag,size:Hg(this)}}},Og=e=>fe(t=>{let n=Object.create(Dg);return n.dispatcher=t.currentDispatcher,n.capacity=e?.capacity??1/0,n.strategy=e?.strategy??`suspend`,n.messages=gg(),n.scheduleRunning=!1,n.state={_tag:`Open`,takers:new Set,offers:new Set,awaiters:new Set},er(n)}),kg=e=>Og({capacity:e}),Ag=m(2,(e,t)=>Tn(()=>jg(e,t)?Wg:e.state._tag===`Open`&&e.strategy===`suspend`?$g(e,t):Ug)),jg=(e,t)=>e.state._tag===`Open`?e.messages.length>=e.capacity?e.strategy===`sliding`?(Sg(e.messages),yg(e.messages,t),!0):e.capacity<=0&&e.state.takers.size>0&&(yg(e.messages,t),qg(e),!0):(yg(e.messages,t),Jg(e),!0):!1,Mg=m(2,(e,t)=>Ng(e,ee(t))),Ng=m(2,(e,t)=>Kt(()=>Pg(e,t))),Pg=(e,t)=>{if(e.state._tag!==`Open`)return!1;let n=Wn(t),r=xe(n,Gg);return e.state.offers.size===0&&e.messages.length===0?(i_(e,r),!0):(e.state={...e.state,_tag:`Closing`,exit:r},Jg(e),!0)},Fg=e=>Pg(e,ee(qt())),Ig=e=>Kt(()=>Lg(e)),Lg=e=>{if(e.state._tag===`Done`)return!1;bg(e.messages);let t=e.state.offers;i_(e,e.state._tag===`Open`?Kg:e.state.exit);for(let e of t)t_(e);return!0},Rg=e=>zg(e,1,1/0),zg=m(3,(e,t,n)=>(t=di(t),n=di(n),Xg(()=>Yg(e,t,n)??de(Qg(e,()=>Zg(e,t)),zg(e,t,n))))),Bg=e=>Xg(()=>Vg(e)??de(Qg(e,()=>Zg(e,1)),Bg(e))),Vg=e=>{if(e.state._tag===`Done`)return e.state.exit;if(e.messages.length>0){let t=Sg(e.messages);return r_(e),c(t)}if(e.capacity<=0&&e.state.offers.size>0){let t=n_(e.state.offers);return r_(e),c(t)}},Hg=e=>e.state._tag===`Done`?0:e.messages.length,Ug=c(!1),Wg=c(!0),Gg=Ye(qt()),Kg=Re(),qg=e=>{if(e.state._tag!==`Done`&&e.state.takers.size!==0){for(let t of e.state.takers)if(t.ready()&&(e.state.takers.delete(t),t.resume(Tt),e.messages.length===0))break}},Jg=e=>{e.scheduleRunning||e.state._tag===`Done`||e.state.takers.size===0||(e.scheduleRunning=!0,e.dispatcher.scheduleTask(()=>{e.scheduleRunning=!1,qg(e)},0))},Yg=(e,t,n)=>{if(e.state._tag===`Done`)return e.state.exit;if(n<=0||t<=0)return c([]);if(!Zg(e,t))return;let r=e.messages.length>0?xg(e.messages,n):[n_(e.state.offers)];return r_(e),c(r)},Xg=$e({op:`QueueTake`,[ue](e){let t=this[ei]();return Be(t)?t[ue](e):t}}),Zg=(e,t)=>e.messages.length>=(e.state._tag===`Closing`?1:Math.min(t,e.capacity||1))||e.capacity<=0&&e.state._tag!==`Done`&&e.state.offers.size>0,Qg=(e,t)=>Xe(n=>{if(e.state._tag===`Done`)return n(e.state.exit);if(t())return n(Tt);let r={ready:t,resume:n};return e.state.takers.add(r),Kt(()=>{e.state._tag!==`Done`&&e.state.takers.delete(r)})}),$g=(e,t)=>Xe(n=>jg(e,t)?n(Wg):e_(e,{_tag:`Single`,message:t,resume:n})),e_=(e,t)=>{if(e.state._tag!==`Open`)return t_(t);let n=e.state.offers;return n.add(t),Kt(()=>{e.state._tag!==`Done`&&(n.delete(t),e.state._tag===`Closing`&&n.size===0&&e.messages.length===0&&i_(e,e.state.exit))})},t_=e=>e._tag===`Single`?e.resume(Ug):e.resume(c(e.remaining.slice(e.offset))),n_=e=>{let t=e.values().next().value;if(t._tag===`Single`)return e.delete(t),t.resume(Wg),t.message;let n=t.remaining[t.offset++];return t.offset===t.remaining.length&&(e.delete(t),t.resume(c([]))),n},r_=e=>{if(e.state._tag===`Done`)return Wa(e.state.exit.cause);if(e.state.offers.size===0)return e.state._tag===`Closing`&&e.messages.length===0&&(i_(e,e.state.exit),Wa(e.state.exit.cause));for(let t of e.state.offers){let n=e.capacity-e.messages.length;if(n<=0)break;if(t._tag===`Single`)yg(e.messages,t.message),e.state.offers.delete(t),t.resume(Wg);else{for(;t.offset<t.remaining.length;t.offset++){if(n===0)return!1;yg(e.messages,t.remaining[t.offset]),n--}e.state.offers.delete(t),t.resume(c([]))}let r=e.state;if(r._tag===`Done`)return Wa(r.exit.cause)}return!1},i_=(e,t)=>{if(e.state._tag===`Done`)return;let n=e.state;e.state={_tag:`Done`,exit:t};for(let e of n.takers)e.resume(t);n.takers.clear();for(let e of n.awaiters)e(t);n.awaiters.clear()},a_=xt,o_=ge,s_=At,c_=Pe,l_=ir,u_=Fr,d_=e=>new p_(e),f_=(e,t,n)=>Xe(r=>{if(e.free>=t)return r(n);let i=()=>{e.free<t||(e.waiters.delete(i),r(n))};return e.waiters.add(i),Kt(()=>{e.waiters.delete(i)})}),p_=class{waiters=new Set;taken=0;permits;constructor(e){this.permits=e}get free(){return this.permits-this.taken}take(e){let t=Tn(()=>this.free<e?f_(this,e,t):(this.taken+=e,er(e)));return t}takeIfAvailable(e){return Tn(()=>this.free<e?er(!1):(this.taken+=e,er(!0)))}releaseUnsafe(e,t){return this.taken-=t,this.waiters.size>0&&e.currentDispatcher.scheduleTask(()=>{for(let e of this.waiters){if(this.free<=0)break;e()}},0),this.free}resize(e){return fe(t=>(this.permits=e,this.free<0||this.releaseUnsafe(t,0),ri))}release(e){return fe(t=>er(this.releaseUnsafe(t,e)))}get releaseAll(){return fe(e=>er(this.releaseUnsafe(e,this.taken)))}withPermits(e){return t=>qr(n=>{let r=Tn(()=>{if(this.free<e){let t=f_(this,e,ri);return Ft(n(t),()=>r)}return this.taken+=e,Tr(n(t),()=>{this.releaseUnsafe(Ht(),e)},!0)});return r})}withPermit=this.withPermits(1);withPermitsIfAvailable(e){return t=>qr(n=>this.free<e?An:(this.taken+=e,Tr(n(oe(t)),()=>{this.releaseUnsafe(Ht(),e)},!0)))}},m_=e=>Kt(()=>new p_(e)),h_=`~effect/Channel`,g_=e=>cr(e,h_),__={[h_]:{_Env:mt,_InErr:mt,_InElem:mt,_OutErr:mt,_OutElem:mt},pipe(){return o(this,arguments)}},v_=e=>{let t=Object.create(__);return t.transform=(t,n)=>Rr(e(t,n),e=>v(Ut(e))),t},y_=(e,t)=>v_((n,r)=>C(S_(e)(n,r),e=>t(e,r))),b_=e=>v_((t,n)=>e),x_=e=>v_(lt(function*(t,n){let r=xa(n),i=e=>Sa(r,Ja(e)),a=yield*me(e(t,n,r),i);return me(a,i)})),S_=e=>e.transform,C_=4096,w_=(e,t,n)=>Og({capacity:n?.bufferSize,strategy:n?.strategy}).pipe(nr(t=>ya(e,Ig(t))),nr(n=>_a(t(n),e).pipe(Rr(e=>Ng(n,e)),Ke(e)))),T_=(e,t)=>v_((n,r)=>Se(w_(r,e,t),Rg)),E_=e=>v_((t,n)=>Cn(()=>S_(e())(t,n))),D_=e=>b_(S(()=>{let t=e();return Cn(()=>{let e=t.next();return e.done?Ji(e.value):v(e.value)})})),O_=(e,t=C_)=>{let n=fi(t);return b_(S(()=>{let t=e(),r=In();return Cn(()=>{if(r._tag===`Some`)return Ji(r.value);let e=[];for(;e.length<n;){let n=t.next();if(n.done){if(e.length===0)return Ji(n.value);r=ur(n.value);break}e.push(n.value)}return v(e)})}))},k_=(e,t=C_)=>O_(()=>e[Symbol.iterator](),t),A_=e=>N_(v(e)),j_=b_(v(Ji())),M_=e=>b_(Ut(e)),N_=e=>b_(S(()=>{let t=!1;return Cn(()=>t?Ji():(t=!0,e))})),P_=e=>b_(v(Rg(e))),F_=m(2,(e,t)=>y_(e,e=>S(()=>{let n=0;return Se(e,e=>t(e,n++))}))),I_=e=>e===void 0||e!==`unbounded`&&e<=1,L_=m(e=>g_(e[0]),(e,t,n)=>I_(n?.concurrency)?R_(e,t):z_(e,t,n)),R_=(e,t)=>v_((n,r)=>{let i=0;return Se(S_(e)(n,r),C(e=>t(e,i++)))}),z_=(e,t,n)=>x_(lt(function*(r,i,a){let o=0,s=yield*S_(e)(r,i),c=n.concurrency===`unbounded`?2**53-1:n.concurrency,l=yield*kg(0);yield*ya(a,Ig(l));let u=ar(yield*vn()),d=c_(a);if(n.unordered){let e=d_(c),n=ut(e.release(1)),r=St({onFailure:e=>C(Ng(l,e),n),onSuccess:e=>C(Ag(l,e),n)});yield*e.take(1).pipe(C(()=>s),C(e=>{let n=o++;return d(u(r(Cn(()=>t(e,n))))),ft}),pt({disableYield:!0}),Rr(t=>e.withPermits(c-1)(Ng(l,t))),Ke(a))}else{let e=yield*kg(c-2);yield*ya(a,Ig(e)),yield*Bg(e).pipe(Qr,C(e=>Ag(l,e)),pt({disableYield:!0}),Rr(e=>Ng(l,e)),Ke(a));let n,r=e=>{e._tag!==`Success`&&(n=e.cause,Pg(l,e.cause))};yield*s.pipe(C(i=>{if(n)return Ut(n);let a=o++,s=u(Cn(()=>t(i,a)));return d(s),s.addObserver(r),Ag(e,o_(s))}),pt({disableYield:!0}),Rr(t=>Ag(e,Zi(t)).pipe(g(Ng(e,t)))),Ke(a))}return Bg(l)})),B_=m(e=>g_(e[0]),(e,t,n)=>I_(n?.concurrency)?V_(e,t):H_(e,t,n)),V_=(e,t)=>v_((n,r)=>Se(S_(e)(n,r),e=>{let i,a,o=C(e,e=>(a??=xa(r),Qt(S_(t(e))(n,a),e=>(i=s(e),i)))),s=Ua(e=>{if(i=void 0,a.state._tag===`Empty`)return o;let t=Sa(a,ea);return a=void 0,C(t,()=>o)});return Cn(()=>i??o)})),H_=(e,t,n)=>e.pipe(F_(t),Y_(n)),U_=e=>B_(e,mt),W_=e=>y_(e,e=>{let t,n=0,r=Cn(function r(){if(t===void 0)return C(e,e=>{switch(e.length){case 0:return r();case 1:return v(e[0]);default:return t=e,v(e[n++])}});let i=t[n++];return n>=t.length&&(t=void 0,n=0),v(i)});return v(r)}),G_=m(2,(e,t)=>y_(e,e=>v(C(e,function n(r){let i=[];for(let e=0;e<r.length;e++)t(r[e])&&i.push(r[e]);return Qe(i)?v(i):C(e,n)})))),K_=m(2,(e,t)=>v_((n,r)=>{let i=xa(r);return Se(S_(e)(n,i),e=>{let a=e.pipe(Rr(e=>{if(Wa(e))return Ut(e);let o=i;return i=xa(r),Sa(o,Zi(e)).pipe(g(S_(t(e))(n,i)),C(e=>(a=e,e)))}));return Cn(()=>a)})})),q_=m(3,(e,t,n)=>K_(e,e=>{let r=t(e);return Ct(r)?M_(r.failure):n(r.success,e)})),J_=m(2,(e,t)=>q_(e,Ui,e=>t(e))),Y_=m(2,(t,{bufferSize:n=16,concurrency:r,switch:i=!1})=>x_(lt(function*(a,o,s){let c=r===`unbounded`?2**53-1:Math.max(1,r),l=i?void 0:d_(c),u=yield*u_(!0),d=new Set,f=yield*kg(n);yield*ya(s,Ig(f));let p=yield*S_(t)(a,o);return yield*b(function*(){for(;;){let t;l&&(d.size<c?yield*l.take(1):(t=yield*se(p),yield*e(l.take(1),g(o_(t),Et))));let n=t===void 0?yield*p:yield*o_(t),r=xa(s),i=yield*S_(n)(a,r);for(;d.size>=c;){let e=pi(d);d.delete(e),d.size===0&&(yield*u.open),yield*s_(e)}let o=yield*i.pipe(nr(()=>Zr),C(e=>Ag(f,e)),pt({disableYield:!0}),me(lt(function*(e){let t=Ja(e),n=yield*Dn(Sa(r,t));if(!d.has(o))return;let i=ia([t,n]);na(i)&&(yield*Ng(f,i.cause)),d.delete(o),l&&(yield*l.release(1)),d.size===0&&(yield*u.open)})),se);u.closeUnsafe(),d.add(o)}}).pipe(Rr(e=>{let t=Ka(e);return ye(t)?u.whenOpen(Ng(f,e)):Ng(f,e)}),Ke(s)),Bg(f)}))),X_=m(e=>g_(e[0])&&g_(e[1]),(e,t,n)=>x_(lt(function*(r,i,a){let o=n?.haltStrategy??`both`,s=yield*kg(0);yield*ya(a,Ig(s));let c=0;function l(e,t){if(c++,!Wa(t))return Ng(s,t);switch(o){case`both`:return c===2?Ng(s,t):ft;case`left`:case`right`:return e===o?Ng(s,t):ft;case`either`:return Ng(s,t)}}let u=(e,t,n)=>S_(t)(r,n).pipe(C(e=>e.pipe(C(e=>Ag(s,e)),pt)),me(t=>_r(Ja(t),e=>Sa(n,e)).pipe(St({onFailure:t=>l(e,t),onSuccess:()=>l(e,t)}))),Ke(a));return yield*u(`left`,e,xa(a)),yield*u(`right`,t,xa(a)),Bg(s)}))),Z_=e=>v_((t,n)=>{let r;return v(Cn(()=>r||e.pipe(_a(n),C(e=>S_(e)(t,n)),C(e=>r=e))))}),Q_=m(2,(e,t)=>X_(e,b_(v(C(t,Ji))),{haltStrategy:`either`})),$_=m(2,(e,t)=>x_((n,r,i)=>va(i,t).pipe(g(S_(e)(n,r))))),ev=m(2,(e,t)=>$_(e,e=>t)),tv=(e,t,n)=>Cn(()=>{let r=ga(),i=S_(e)(Ji(),r);return Ua(C(i,t),n||v).pipe(Ae(e=>Sa(r,e)))}),nv=m(2,(e,t)=>tv(e,e=>pt(C(e,t),{disableYield:!0}))),rv=lt(function*(e){let t=d_(1),n=yield*vn(),r=Un(n,ma);return(yield*S_(e)(Ji(),r)).pipe(zt(n),t.withPermits(1))},Rr(e=>v(Ut(e)))),iv=(e,t)=>S_(e)(Ji(),t),av=`~effect/Stream`,ov={_R:mt,_E:mt,_A:mt},sv=function(e){this.channel=e};sv.prototype={[av]:ov,pipe(){return o(this,arguments)}};var cv=e=>new sv(e),lv=`~effect/Sink`,uv={_A:mt,_In:mt,_L:mt,_E:mt,_R:mt},dv={[lv]:uv,pipe(){return o(this,arguments)}},fv=e=>{let t=Object.create(dv);return t.transform=e,t},pv=((e,t,n)=>fv(r=>{let i=e(),a;return t(i)?r.pipe(C(e=>{for(let r=0;r<e.length;r++)if(i=n(i,e[r]),!t(i))return r+1<e.length&&(a=e.slice(r+1)),Ji();return ft}),pt({disableYield:!0}),Ua(()=>v([i,a]))):v([i])}))(In,nt,(e,t)=>ur(t)),mv=()=>pv,hv=`~effect/Stream`,gv=e=>cr(e,hv),_v=cv,vv=e=>_v(N_(Se(e,Ie))),yv=e=>_v(b_(e)),bv=(e,t)=>_v(v_((n,r)=>C(iv(e.channel,r),e=>t(e,r)))),xv=e=>e.channel,Sv=(e,t)=>_v(T_(e,t)),Cv=_v(j_),wv=e=>_v(A_(Ie(e))),Tv=e=>_v(E_(()=>e().channel)),Ev=e=>_v(M_(e)),Dv=(e,t)=>Array.isArray(e)&&t?.chunkSize===void 0?Ov(e):_v(k_(e,t?.chunkSize)),Ov=e=>Qe(e)?_v(A_(e)):Cv,kv=e=>_v(P_(e)),Av=(e,t)=>yv(S(()=>{let n=e,r=!1;return Cn(function e(){return r?Ji():C(t(n),([t,i])=>(nt(i)?r=!0:n=i.value,Qe(t)?v(t):e()))})})),jv=e=>_v(Z_(Se(e,xv))),Mv=m(2,(e,t)=>Tv(()=>{let n=0;return _v(F_(e.channel,Ce(e=>t(e,n++))))})),Nv=m(e=>gv(e[0]),(e,t,n)=>e.channel.pipe(W_,L_(t,n),F_(Ie),_v)),Pv=e=>e.pipe(Mv(Me),Uv(e=>wv(ot(e)))),Fv=m(e=>gv(e[0]),(e,t,n)=>e.channel.pipe(W_,B_(e=>t(e).channel,n),_v)),Iv=m(2,(e,t)=>{let n=_v(U_(D_(()=>Rv(e,t))));return Lv.set(n,[e,t]),n}),Lv=new WeakMap;function*Rv(e,t){let n=[t,e];for(;n.length>0;){let e=n.pop(),t=Lv.get(e);t===void 0?yield e.channel:n.push(t[1],t[0])}}var zv=m(e=>gv(e[0])&&gv(e[1]),(e,t,n)=>_v(X_(xv(e),xv(t),n))),Bv=m(2,(e,t)=>_v(G_(xv(e),t))),Vv=m(2,lt(function*(e,t){let n,r=yield*rv(e.channel),i=Rr(r,e=>(n=e,Ut(e))),[a,o]=yield*Zn(e=>t.transform(i,e)),s=n?Cv:yv(v(r));return o&&(s=Iv(Ov(o),s)),[a,s]})),Hv=m(2,(e,t)=>e.channel.pipe(K_(e=>t(e).channel),_v)),Uv=m(2,(e,t)=>_v(J_(e.channel,e=>t(e).channel))),Wv=m(e=>gv(e[0]),(e,t,n)=>bv(e,(e,r)=>S(()=>{let r=0,i=!1;return C(Cn(()=>i?Ji():e),e=>{let a=e.findIndex(e=>t(e,r++));if(a>=0){i=!0;let t=e.slice(0,n?.excludeLast?a:a+1);return Qe(t)?v(t):Ji()}return v(e)})}))),Gv=m(2,(e,t)=>_v(Q_(e.channel,t))),Kv=m(2,(e,t)=>_v(ev(e.channel,t))),qv=m(2,(e,t)=>nv(e.channel,e=>{let n=0;return te({while:()=>n<e.length,body:()=>t(e[n++]),step:$r})})),Jv=m(2,(e,t)=>({[Symbol.asyncIterator](){let n=Ln(t),r=ar(t),i=ga(),a,o,s,c,l=e=>{if(c)return c;let t=s;return c=n(Or(g(t?s_(t):ft,Sa(i,e)),{done:!0,value:void 0})),c},u=async e=>{try{await l(e)}catch(e){await n(Ze(`Suppressed error while closing Stream async iterator`,e))}};return{async next(){if(c)return c;if(o){let e=o.next();if(!e.done)return e;o=void 0}let t=r(a??C(iv(e.channel,i),e=>(a=e,e)));s=t;let d=await n(a_(t));if(s===t&&(s=void 0),ta(d))return o=d.value[Symbol.iterator](),o.next();if(Wa(d.cause))return l(ea);if(c&&Bi(d.cause))return c;throw await u(d),Hi(d.cause)},return(){return l(ea)},async throw(e){throw await u($i(e)),e}}}})),Yv=e=>Jv(e,Je()),Xv=bh.check(H(256)),Zv=V.check(B(0)),Qv=N({agentId:Xv,sessionId:Xv,name:Xv}),$v=N({id:Xv,kind:bh.check(H(64)),summary:bh.check(H(200)),since:Zv,expiresAt:k(Zv),inbox:k(A(!1)),waitingOn:k(Qv)}),ey=$v.mapFields(e=>({...e,extensionId:Xv})),ty=4096,ny=P(ey).check(H(64)),ry=j.pipe(R(ah(1)),R(H(256))),iy=N({providerId:ry,modelId:ry,reasoning:k(I([`minimal`,`low`,`medium`,`high`,`xhigh`,`max`]))}),ay=E(L(iy)),oy=E(U(L(iy))),sy=I([`contract`,`extensions`,`instructions`,`model`,`runtime`,`store`,`tools`]),cy=I([`closed`,`conflict`,`incompatible`,`invalid`,`rejected`,`unavailable`,`state_reset_required`,`storage_pressure`,`archived`]),ly=j.pipe(R(ah(1)),R(H(256))),uy=N({_tag:A(`ShiitakeError`),boundary:sy,cause:cy,message:j,requestId:O(ly)}),W=class extends Error{boundary;requestId;_tag=`ShiitakeError`;cause;underlying;constructor(e,t,n,r,i){super(n),this.boundary=e,this.requestId=r,this.name=`ShiitakeError`,this.cause=t,this.underlying=i}},dy=new TextEncoder;function fy(e){return j.check(ah(1),H(e),z(t=>dy.encode(t).byteLength<=e))}var py=/\p{Cs}/u,my=fy(256).check(z(e=>!py.test(e))),hy=fy(262144),gy=N({type:A(`image`),data:j.check(ah(1),H(1048576),Dm()),mimeType:j.check(z(e=>[`image/png`,`image/jpeg`,`image/gif`,`image/webp`].includes(e)))}),_y=P(gy).check(ah(1),H(8)),vy=I([`steer`,`followUp`]),yy=my,by=T(N({commandId:my,timeoutMs:V.check(B(0),Hm(3e4))}),{onExcessProperty:`error`});T(N({commandId:my,timeoutMs:wh.check(Gm(),Um({minimum:0,maximum:3e4}))}),{onExcessProperty:`error`});var xy=T(fy(512)),Sy=N({requestId:my}),Cy=N({delivery:vy,requestId:my,type:A(`prompt`),text:j.check(H(262144),z(e=>dy.encode(e).byteLength<=262144)),images:O(_y)}).check(z(e=>(e.text.length>0||(e.images?.length??0)>0)&&dy.encode(e.text).byteLength+(e.images??[]).reduce((e,t)=>e+t.data.length,0)<=1048576)),wy=N({type:A(`abort`)}),Ty=N({commandId:my,onlyIfPending:k(Qp),type:A(`cancel`)}),Ey=N({type:A(`operator`),requestId:my,author:I([`operator`,`party`]),text:hy}),Dy=N({type:A(`branch`),entryId:my}),Oy=N({type:A(`fork`),entryId:my}),ky=j.check(ah(1),H(4096)),Ay=N({type:A(`compact`),requestId:my,instructions:O(ky)}),jy=F([Cy,Ay]),My=j.check(z(e=>e.length>0&&e.trim()===e&&!/\p{Cc}/u.test(e)&&Array.from(e).length<=120)),Ny=F([Cy,wy,Ty,Dy,Oy,Ey,Ay,N({type:A(`title`),title:L(My)})]),Py=N({command:Ny}),Fy=N({includeSandboxFailures:k(Qp),limit:k(V.check(Um({minimum:1,maximum:200}))),before:k(fy(512))}),Iy=N({includeSandboxFailures:k(A(`true`)),limit:k(wh.check(Gm(),Um({minimum:1,maximum:200}))),before:k(fy(512))}),Ly=N({includeSandboxFailures:k(Qp),after:k(j)}),Ry=N({includeSandboxFailures:k(A(`true`)),mode:k(A(`subscribe`)),after:k(j),limit:k(wh.check(Gm(),Um({minimum:1,maximum:200})))}),zy={onExcessProperty:`error`},By=T(yy,zy),Vy=T(Sy,zy),Hy=T(jy,zy);T(my);var Uy=T(Ny,zy);T(Py,zy);var Wy=T(F([Fy,Zp]),zy);T(Iy,zy);var Gy=T(Ly,zy);T(Ry,zy);function Ky(e){let t=By(e);if(t._tag===`Failure`)throw new W(`contract`,`invalid`,`Session id is invalid`);return t.success}function qy(e){let t=xy(e);if(t._tag===`Failure`)throw new W(`contract`,`invalid`,`Session cursor is invalid`);return t.success}function Jy(e){let t=Vy(e);if(t._tag===`Failure`)throw new W(`contract`,`invalid`,`Session creation request is invalid`);return t.success.requestId}function Yy(e){let t=Wy(e);if(t._tag===`Failure`)throw new W(`contract`,`invalid`,`Read options are invalid`);let n=t.success??{},r={limit:n.limit??200};return n.before!==void 0&&(r={...r,before:n.before}),n.includeSandboxFailures!==void 0&&(r={...r,includeSandboxFailures:n.includeSandboxFailures}),Object.freeze(r)}function Xy(e){let t=Gy(e);if(t._tag===`Failure`)throw new W(`contract`,`invalid`,`Subscribe options are invalid`);let n={};return t.success.after!==void 0&&(n={...n,after:t.success.after}),t.success.includeSandboxFailures!==void 0&&(n={...n,includeSandboxFailures:t.success.includeSandboxFailures}),Object.freeze(n)}function Zy(e,t){if(Ct(e))throw new W(`contract`,`invalid`,t);return e.success}var Qy=Nn();function $y(e){return e!==null&&!Array.isArray(e)&&typeof e==`object`}function eb(e,t){if(e===t)return 0;let n=Math.min(e.length,t.length);for(let r=0;r<n;r+=1){let n=e.charCodeAt(r)-t.charCodeAt(r);if(n!==0)return n}return e.length-t.length}function tb(e){return e.replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/([A-Z]+)([A-Z][a-z])/g,`$1 $2`).replace(/[_./:-]/g,` `).toLowerCase().trim()}function nb(e){return e.split(/[^a-zA-Z0-9]+/).filter(e=>e.length>0)}var rb=new Set([`the`,`a`,`an`,`for`,`to`,`of`,`that`,`this`,`with`,`in`,`on`]);function ib(e){return rb.has(e)}function ab(e){let t=[],n=n=>{n!==e&&n.length>=3&&!t.includes(n)&&t.push(n)};return e.endsWith(`ing`)&&e.length>4&&n(e.slice(0,-3)),e.endsWith(`ed`)&&e.length>3&&n(e.slice(0,-2)),e.endsWith(`ation`)&&e.length>6&&n(`${e.slice(0,-3)}e`),e.endsWith(`ies`)&&e.length>4&&(n(e.slice(0,-3)),n(`${e.slice(0,-3)}y`)),e.endsWith(`es`)&&e.length>3&&n(e.slice(0,-2)),e.endsWith(`s`)&&!e.endsWith(`ss`)&&e.length>3&&n(e.slice(0,-1)),t}function ob(e){let t=8997,n=33826,r=40164,i=52210;for(let a=0;a<e.length;a+=1){let o=t^e.charCodeAt(a),s=o*435,c=n*435+(s>>>16),l=r*435+(c>>>16)+(o<<8),u=i*435+(l>>>16)+(n<<8);t=s&65535,n=c&65535,r=l&65535,i=u&65535}return i.toString(16).padStart(4,`0`)+r.toString(16).padStart(4,`0`)+n.toString(16).padStart(4,`0`)+t.toString(16).padStart(4,`0`)}function sb(e){return e.slice(e.indexOf(`.`)+1)}function cb(e){return e.slice(0,e.indexOf(`.`))}var lb=/^[A-Za-z][A-Za-z0-9_]*(?:\.[A-Za-z][A-Za-z0-9_]*)+$/,ub=1e3,db=221;function fb(e,t){if(t>16)return t;if(Array.isArray(e)){let n=t;for(let r of e)n=Math.max(n,fb(r,t+1));return n}if(!$y(e))return t;let n=t;for(let r of Object.values(e))n=Math.max(n,fb(r,t+1));return n}var pb=_(()=>yn(x(),Nn()).superRefine((e,t)=>{Object.keys(e).length>100&&t.addIssue({code:`custom`,message:`Sample exceeds the entry bound`}),JSON.stringify(e).length>4e3&&t.addIssue({code:`custom`,message:`Sample exceeds the byte bound`}),fb(e,0)>16&&t.addIssue({code:`custom`,message:`Sample exceeds the depth bound`})})),mb=_(()=>zr({query:x().max(200),maxResults:qn().int().min(1).max(50).default(50)})),hb=_(()=>zr({path:x().max(160),detail:Ot([`index`,`full`]).default(`full`),methods:Nt(x().max(80)).max(50).optional()})),gb=zr({cursor:x().max(400).optional(),limit:qn().int().min(1).max(50).default(50),namespace:x().min(1).max(160).regex(/^[A-Za-z][A-Za-z0-9_]*(?:\.[A-Za-z][A-Za-z0-9_]*)*$/).optional()}),_b=_(()=>zr({path:x().max(160),capabilityNotes:x().max(500).optional()})),vb=zr({path:x().max(160),description:x().max(1e3).optional(),score:qn().min(0).max(db),matchReason:x().max(500).optional(),sample:pb.optional(),capabilityNotes:x().max(500).optional(),peers:Nt(_b).max(1e3).optional()}),yb=_(()=>zr({results:Nt(vb).max(50),total:qn().int().min(0).max(ub),truncated:t(),topScore:qn().min(0).max(db),margin:qn().min(0).max(db),catalogStamp:x().length(16).regex(/^[0-9a-f]{16}$/)})),bb=zr({results:Nt(vb).max(50),total:qn().int().min(0).max(ub),nextCursor:x().max(400).nullable(),catalogStamp:x().length(16).regex(/^[0-9a-f]{16}$/)}),xb=_(()=>zr({path:x().max(160),description:x().max(1e3).optional(),types:x().max(2e4),inputSchema:Nn().refine(e=>JSON.stringify(e).length<=2e4&&fb(e,0)<=16,`Input schema exceeds the description bounds`).optional(),kind:Ot([`module`,`operation`]),usage:x().max(300).optional()}));_(()=>zr({code:Ot([`empty_query`,`empty_catalog`,`unknown_target`,`duplicate_operation`,`invalid_input`]),message:x().max(1e3)}));var Sb=_(()=>zr({"~standard":zr({jsonSchema:zr({input:je(Function),output:je(Function)})})})),Cb=_(()=>mn(e=>Sb.safeParse(e).success,`Expected a Standard JSON Schema`)),wb=_(()=>zr({path:x().min(3).max(160).regex(lb),description:x().max(1e3).optional(),input:Cb,output:Cb.optional(),capabilityNotes:x().max(500).optional(),instructions:x().max(1e3).optional()})),Tb=_(()=>zr({revision:x().min(1).max(160),operations:Nt(wb).max(ub)})),Eb=class extends Error{code;failure;constructor(e,t,n){let r=t.slice(0,1e3);super(r,n),this.name=`ForageError`,this.code=e,this.failure={code:e,message:r}}},Db=Wt([kr({$ref:x().optional(),$defs:yn(x(),Gr()).optional(),definitions:yn(x(),Gr()).optional(),const:Gr().optional(),enum:Nt(Gr()).optional(),oneOf:Nt(Gr()).optional(),anyOf:Nt(Gr()).optional(),allOf:Nt(Gr()).optional(),type:Wt([x(),Nt(x())]).optional(),properties:yn(x(),Gr()).optional(),additionalProperties:Gr().optional(),required:Nt(x()).optional(),prefixItems:Nt(Gr()).optional(),items:Gr().optional(),examples:Nt(Gr()).optional(),default:Gr().optional()}),t()]),Ob=new WeakMap;function kb(e,t){let n=Ob.get(e),r=n?.[t];if(r!==void 0)return r;let i;try{i=e[`~standard`].jsonSchema[t]({target:`draft-2020-12`})}catch{throw new Eb(`invalid_input`,`Schema cannot be projected to JSON Schema`)}Mb(i);let a={raw:i};return n===void 0&&(n={},Ob.set(e,n)),n[t]=a,a}function Ab(e,t){return kb(e,t).raw}function jb(e,t){let n=kb(e,t);try{return n.text??=JSON.stringify(n.raw),n.text}catch{throw new Eb(`invalid_input`,`Schema cannot be projected to JSON Schema`)}}function Mb(e){let t=Db.safeParse(e);if(!t.success)throw new Eb(`invalid_input`,`Schema cannot be projected to JSON Schema`);return t.data}var Nb=256,Pb=/^#\/(?:\$defs|definitions)\/([^/]+)$/u;function Fb(e,t,n){let r=Pb.exec(e)?.[1];if(r===void 0||n.expanding.has(r))return`unknown`;let i=n.definitions[r];if(i===void 0)return`unknown`;if(n.budget.expansions+=1,n.budget.expansions>Nb)throw new Eb(`invalid_input`,`Schema references expand more than ${String(Nb)} times; flatten its shared definitions`);return Lb(Mb(i),t,{definitions:n.definitions,expanding:new Set([...n.expanding,r]),budget:n.budget})}function Ib(e,t){if(e===!0||e===!1)return!1;if(e.$ref!==void 0){let n=Pb.exec(e.$ref)?.[1],r=n===void 0||t.expanding.has(n)?void 0:t.definitions[n];return n!==void 0&&r!==void 0&&Ib(Mb(r),{definitions:t.definitions,expanding:new Set([...t.expanding,n]),budget:t.budget})}return e.const===void 0?e.enum!==void 0&&e.enum.length>1||e.oneOf!==void 0&&e.oneOf.length>1||e.anyOf!==void 0&&e.anyOf.length>1:!1}function Lb(e,t,n){if(t>12||e===!0||e===!1)return`unknown`;let r=n??{definitions:{...e.definitions,...e.$defs},expanding:new Set,budget:{expansions:0}};if(e.$ref)return Fb(e.$ref,t,r);if(e.const!==void 0)return JSON.stringify(e.const);if(e.enum)return e.enum.map(e=>JSON.stringify(e)).join(` | `);if(e.oneOf)return e.oneOf.map(e=>Lb(Mb(e),t+1,r)).join(` | `);if(e.anyOf)return e.anyOf.map(e=>Lb(Mb(e),t+1,r)).join(` | `);if(e.allOf)return e.allOf.map(e=>{let n=Mb(e),i=Lb(n,t+1,r);return Ib(n,r)?`(${i})`:i}).join(` & `);if(e.type===`object`||e.properties){let n=Object.entries(e.properties??{}).sort(([e],[t])=>eb(e,t));if(n.length===0){let n=e.additionalProperties;return n===!1?`Record<string, never>`:n&&n!==!0?`Record<string, ${Lb(Mb(n),t+1,r)}>`:`Record<string, unknown>`}let i=new Set(e.required??[]);return`{
4
4
  ${n.map(([e,n])=>{let a=Lb(Mb(n),t+1,r),o=i.has(e)?``:`?`,s=/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(e)?e:JSON.stringify(e);return`${` `.repeat(t+1)}${s}${o}: ${a};`}).join(`
@@ -15,10 +15,10 @@ Defaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=1
15
15
  `;break;default:e+=String.fromCharCode(n)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},Q.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case`\\`:++this.pos;break;case`$`:if(this.input[this.pos+1]!==`{`)break;case"`":return this.finishToken(J.invalidTemplate,this.input.slice(this.start,this.pos));case`\r`:this.input[this.pos+1]===`
16
16
  `&&++this.pos;case`
17
17
  `:case`\u2028`:case`\u2029`:++this.curLine,this.lineStart=this.pos+1}this.raise(this.start,`Unterminated template`)},Q.readEscapedChar=function(e){var t=this.input.charCodeAt(++this.pos);switch(++this.pos,t){case 110:return`
18
- `;case 114:return`\r`;case 120:return String.fromCharCode(this.readHexChar(2));case 117:return RS(this.readCodePoint());case 116:return` `;case 98:return`\b`;case 118:return`\v`;case 102:return`\f`;case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),``;case 56:case 57:if(this.strict&&this.invalidStringToken(this.pos-1,`Invalid escape sequence`),e){var n=this.pos-1;this.invalidStringToken(n,`Invalid escape sequence in template string`)}default:if(t>=48&&t<=55){var r=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],i=parseInt(r,8);return i>255&&(r=r.slice(0,-1),i=parseInt(r,8)),this.pos+=r.length-1,t=this.input.charCodeAt(this.pos),(r!==`0`||t===56||t===57)&&(this.strict||e)&&this.invalidStringToken(this.pos-1-r.length,e?`Octal literal in template string`:`Octal literal in strict mode`),String.fromCharCode(i)}return DS(t)?(this.options.locations&&(this.lineStart=this.pos,++this.curLine),``):String.fromCharCode(t)}},Q.readHexChar=function(e){var t=this.pos,n=this.readInt(16,e);return n===null&&this.invalidStringToken(t,`Bad character escape sequence`),n},Q.readWord1=function(){this.containsEsc=!1;for(var e=``,t=!0,n=this.pos,r=this.options.ecmaVersion>=6;this.pos<this.input.length;){var i=this.fullCharCodeAtPos();if(bS(i,r))this.pos+=i<=65535?1:2;else if(i===92){this.containsEsc=!0,e+=this.input.slice(n,this.pos);var a=this.pos;this.input.charCodeAt(++this.pos)!==117&&this.invalidStringToken(this.pos,`Expecting Unicode escape sequence \\uXXXX`),++this.pos;var o=this.readCodePoint();(t?yS:bS)(o,r)||this.invalidStringToken(a,`Invalid Unicode escape`),e+=RS(o),n=this.pos}else break;t=!1}return e+this.input.slice(n,this.pos)},Q.readWord=function(){var e=this.readWord1(),t=J.name;return this.keywords.test(e)&&(t=wS[e]),this.finishToken(t,e)},fC.acorn={Parser:fC,version:`8.18.0`,defaultOptions:US,Position:BS,SourceLocation:VS,getLineInfo:HS,Node:FC,TokenType:K,tokTypes:J,keywordTypes:wS,TokContext:EC,tokContexts:DC,isIdentifierChar:bS,isIdentifierStart:yS,Token:Ew,isNewLine:DS,lineBreak:TS,lineBreakG:ES,nonASCIIwhitespace:kS};function Aw(e,t){return fC.parse(e,t)}_(()=>Nr(`ok`,[pr({ok:sr(!0),value:Gr()}),pr({ok:sr(!1),error:pr({kind:sr(`guest_threw`),name:x().max(80),message:x().max(512),transportMessage:x().max(512).optional()})})]));var jw=_(()=>x().regex(/^[A-Za-z][A-Za-z0-9_]*$/u)),Mw=jw.refine(e=>{if(e===`env`)return!1;try{return Aw(`let ${e};`,{ecmaVersion:`latest`,sourceType:`module`}),!0}catch(e){if(!(e instanceof SyntaxError))throw e;return!1}},`Invalid sandbox transport alias`);_(()=>yn(Mw,Nt(jw).min(1))),_(()=>yn(Mw,Nt(x().regex(/^[A-Za-z][A-Za-z0-9_]*(?:\.[A-Za-z][A-Za-z0-9_]*)*$/u))));var Nw=I([`read`,`write`]),Pw=Qp,Fw=N({access:k(Nw),confirm:k(Pw)}),Iw=I([`none`,`read`,`write`]),Lw=T(Fw),Rw=T(Iw);function zw(e){let t=Lw({access:e.access,confirm:e.confirm});if(Ct(t))throw new G(`Access labels must be access: "read" | "write" and confirm: boolean`);return{access:t.success.access??`write`,confirm:t.success.confirm??!1}}function Bw(e,t){let n=`${t.module}.${t.operation}`;switch(e){case`not-granted`:return`${n} is not granted to this Agent.`;case`read-only`:return`${n} changes something, and this Agent has read-only access to ${t.module}.`;case`confirmation-unavailable`:return`${n} needs a person's approval, and no one can be asked here.`;case`declined`:return`${n} was not approved.`}}function Vw(e,t){return Object.freeze({refused:!0,module:t.module,operation:t.operation,reason:e,message:Bw(e,t)})}function Hw(e,t,n){let r=e.sessionGrants?.(t),i=r!==void 0&&Object.hasOwn(r,n)?r:e.grants;if(i===void 0||!Object.hasOwn(i,n))return e.required?.includes(n)===!0?`none`:e.defaultGrant??`write`;let a=Rw(i[n]);return ye(a)?a.success:`none`}async function Uw(e,t,n,r,i){let a=await Ww(e,t,n,r,i);return a!==void 0&&e.onRefused?.(a,t),a}async function Ww(e,t,n,r,i){await e.beforeCall?.(i),i.throwIfAborted();let a=Gw(e,t,n);if(a!==void 0)return a;if(!(!n.confirm&&(e.confirmWrites!==!0||n.access===`read`)))return e.confirm===void 0?Vw(`confirmation-unavailable`,n):await e.confirm({module:n.module,operation:n.operation,access:n.access,sessionId:t.sessionId,input:r},i)?(await e.beforeCall?.(i),i.throwIfAborted(),Gw(e,t,n)):Vw(`declined`,n)}function Gw(e,t,n){let r=Hw(e,t,n.module);if(r===`none`)return Vw(`not-granted`,n);if(r===`read`&&n.access!==`read`)return Vw(`read-only`,n)}function Kw(e,t,n){let r={module:e.module,operation:e.descriptor.name,...zw(e)};return{...e,prepare:i=>Jr({try:e=>Uw(t,n,r,i.arguments,e),catch:()=>({message:`Access check failed`})}).pipe(C(t=>t===void 0?e.prepare(i):v({execute:()=>wv({type:`result`,result:{content:[{type:`text`,text:JSON.stringify(t)}],isError:!1}})})))}}var qw=ms();async function Jw(e){let t=await Dr(e);if(ta(t))return{value:t.value};let n=Ui(t.cause);if(Ct(n))throw Hi(t.cause);return{issues:qw(n.success.issue).issues}}function Yw(e){let t=zh(e),n=jp(t)[`~standard`].jsonSchema,r=Np(t),i=Rp(t);return Object.freeze({description:{"~standard":{jsonSchema:{input:n.input,output:n.input}}},decode:e=>Jw(r(e)),encode:e=>Jw(i(e))})}function Xw(e){let t=async t=>e[`~standard`].validate(t);return Object.freeze({description:e,decode:t,encode:t})}function Zw(e){return Wp(e)?Yw(e):Xw(e)}var Qw=Symbol(`mycelium.operation`),$w=Symbol(`mycelium.module`),eT=new WeakMap,tT=new WeakMap;function nT(e){let t=Object.freeze({[Qw]:!0}),n=Zw(e.input),r=e.output===void 0?void 0:Zw(e.output),i={replay:e.replay??`unsafe`,...zw(e),input:n.description,invoke:async(t,i)=>{let a=await n.decode(t);if(a.issues!==void 0)throw new Nx(a.issues);let o=await e.execute(a.value,i);if(r===void 0)return o;let s=await r.encode(o);if(s.issues!==void 0)throw new Hx({reason:`Capability output failed its declared schema`,rawCause:new Px(s.issues)});return s.value}};e.description!==void 0&&(i.description=e.description),r!==void 0&&(i.output=r.description);let a=Object.freeze(i);return eT.set(t,a),t}function rT(e){let t=Nt(jw).safeParse(e.namespace??[]);if(!t.success)throw new G(`Invalid module namespace`);let n=Object.freeze({[$w]:!0}),r={id:e.id,grantKey:e.id,name:e.name??e.id,namespace:Object.freeze(t.data),operations:Object.freeze({...e.operations})};e.description!==void 0&&(r.description=e.description);let i=Object.freeze(r);return tT.set(n,i),n}function iT(e){return tT.has(e)}function aT(e){return eT.get(e)}function oT(e){return tT.get(e)}function sT(e,t,n){let r=oT(e);if(r===void 0)throw new G(`Unknown module registration`);let i={};for(let[e,a]of Object.entries(r.operations)){let r=n===``?e:`${n}.${e}`;if(iT(a)){let n=oT(a);if(n===void 0)throw new G(`Unknown child module registration`);i[e]=sT(a,t,[r,...n.namespace].join(`.`));continue}let o=aT(a);if(o===void 0)throw new G(`Unknown operation registration: ${e}`);let s=Object.freeze({[Qw]:!0});eT.set(s,Object.freeze({...o,invoke:async(e,n)=>{let i=await t({operation:r,context:n});return i.kind===`refuse`?i.value:await o.invoke(e,n)}})),i[e]=s}return cT(rT(r.description===void 0?{id:r.id,name:r.name,namespace:r.namespace,operations:i}:{id:r.id,name:r.name,namespace:r.namespace,description:r.description,operations:i}),r.grantKey)}function cT(e,t){let n=oT(e);if(n===void 0)throw new G(`Unknown module registration`);let r=Object.freeze({[$w]:!0});return tT.set(r,Object.freeze({...n,grantKey:t})),r}function lT(e,t){if(t.length===0||t.length>160)throw new G(`Grant key must be non-empty and bounded`);return cT(e,t)}function uT(e,t){return sT(e,t,``)}function dT(e,t){return e<t?-1:+(e>t)}function fT(e){return e instanceof Error?e.message:`Capability declarations could not be compiled`}var pT=160;function mT(e){if(e.length===0||e.length>pT)throw new G(`Module id must be non-empty and bounded`)}function hT(e){if(!e.split(`.`).every(e=>jw.safeParse(e).success))throw new G(`Operation key must be a path segment or a dotted relative path`)}function gT(e){let t=e.replace(/[^A-Za-z0-9_]/g,`_`);return/^[A-Za-z]/.test(t)?t:`module_${t}`}function _T(e){let t=gT(e);return Mw.safeParse(t).success?t:`module_${t}`}function vT(e,t){let n=new Set([`forage`,`env`]),r=new Map;for(let i of e){let e=t===`logical`?i.namespace:[],a=t===`logical`?gT(i.name):_T(i.name),o=t=>[...e,t].join(`.`),s=a,c=2;for(;n.has(o(s));)s=`${a}_${String(c)}`,c+=1;n.add(o(s)),r.set(i.id,s)}return r}var yT=14695981039346656037n,bT=1099511628211n,xT=18446744073709551615n;function ST(e,t){let n=e,r=BigInt(t.length);for(let e=0;e<8;e+=1)n=(n^r&255n)*bT&xT,r>>=8n;for(let e=0;e<t.length;e+=1){let r=t.charCodeAt(e);n=(n^BigInt(r&255))*bT&xT,n=(n^BigInt(r>>>8&255))*bT&xT}return n}function CT(e,t,n){let r=ST(yT,e),i=[...t.entries()].sort(([e],[t])=>dT(e,t));for(let[e,t]of i)r=ST(r,e),r=ST(r,t);let a=[...n].sort((e,t)=>dT(e.id,t.id));for(let e of a)r=ST(r,e.id),r=ST(r,e.version);return`installed-${r.toString(16).padStart(16,`0`)}`}function wT(){return[Ex,Tx,Dx]}function TT(e,t,n,r,i,a=[]){return Object.entries(t.operations).flatMap(([t,o])=>{if(hT(t),iT(o)){let s=oT(o);if(s===void 0)throw new G(`Unknown child module registration`);return TT(e,s,n,[...r,t,...s.namespace],s.description??i,[...a,t,...s.namespace])}let s=aT(o);if(s===void 0)throw new G(`Unknown operation registration: ${[...r,t].join(`.`)}`);return[Object.freeze({grantKey:e,path:[...r,t].join(`.`),namespace:n,name:[...a,t].join(`.`),moduleDescription:i,operation:s})]})}function ET(e,t=[]){let n=e.map(e=>{let t=oT(e);if(t===void 0)throw new G(`Unknown module registration`);return mT(t.id),t}).sort((e,t)=>dT(e.id,t.id)),r=new Set;for(let e of n){if(r.has(e.id))throw new G(`Duplicate module id: ${e.id}`);r.add(e.id)}let i=vT(n,`transport`),a=vT(n,`logical`),o=Object.freeze(Object.fromEntries(n.map(e=>{let t=i.get(e.id);if(t===void 0)throw new G(`Missing module alias: ${e.id}`);let n=a.get(e.id);if(n===void 0)throw new G(`Missing logical alias: ${e.id}`);return[t,Object.freeze([...e.namespace,n])]}))),s=n.flatMap(e=>{let t=i.get(e.id);if(t===void 0)throw new G(`Missing module alias: ${e.id}`);let n=o[t];if(n===void 0)throw new G(`Missing namespace path: ${e.id}`);return TT(e.grantKey,e,t,n,e.description)}).sort((e,t)=>dT(e.path,t.path)),c=new Set(s.map(e=>e.path));if(c.size!==s.length)throw new G(`Duplicate operation path`);for(let e of wT()){if(c.has(e.path))throw new G(`Reserved intrinsic path: ${e.path}`);c.add(e.path)}for(let e of c){let t=e.split(`.`);for(let n=1;n<t.length;n+=1)if(c.has(t.slice(0,n).join(`.`)))throw new G(`Operation conflicts with namespace: ${e}`)}let l;try{l=xx({revision:`prepared-content-stamp`,operations:[...s.map(({path:e,moduleDescription:t,operation:n})=>{let r={path:e,input:n.input};return n.description!==void 0&&(r.description=n.description),n.output!==void 0&&(r.output=n.output),t!==void 0&&(r.instructions=t),r}),...wT()]})}catch(e){throw new G(fT(e))}let u=CT(l.stamp(),i,t),d=Object.freeze({revision:u,search:l.search,describe:l.describe,list:l.list,stamp:l.stamp}),f=Object.freeze(Object.fromEntries([...i.entries()].map(([e,t])=>[t,e])));return Object.freeze({revision:u,catalog:d,operations:Object.freeze(s),moduleAliases:f,namespacePaths:o})}function DT(){return null}var OT=Nn(),kT=_(()=>Wt([yr(),x(),t(),qn()])),AT=_(()=>yn(x(),Gr())),jT=_(()=>oS.extend({timeoutMs:qn().int().min(1).max(9e5).optional(),abortGraceMs:qn().int().min(1).max(3e4).optional()}).optional()),MT=64,NT=262144,PT=new TextEncoder,FT=e=>{e(v(void 0))};function IT(e){let t=jT.safeParse(e);if(!t.success)throw new G(`Execution policy is invalid`);let n=t.data?.timeoutMs??18e4;return Object.freeze({timeoutMs:n,abortGraceMs:t.data?.abortGraceMs??5e3,...sS({sandboxCapacity:t.data?.sandboxCapacity,admissionWaitMs:t.data?.admissionWaitMs??n},(t.data?.sandboxCapacity,void 0))})}function LT(e){return b(function*(){let t=yield*m_(e);return Object.freeze({createGroup:()=>{let e=0,n=new Set,r=Kn(t=>e===0?(t(v(void 0)),S(()=>void 0)):(n.add(t),S(()=>n.delete(t))));return Object.freeze({start:r=>ti(i=>S(()=>{e+=1}).pipe(g(ne(i(t.withPermits(1)(r)).pipe(Qn(S(()=>{if(--e,e===0){let e=[...n];n.clear(),e.forEach(FT)}}))))))),awaitIdle:r})}})})}function RT(e,t=0){if(t>MT)throw Error(`JSON value exceeds the nesting bound`);let n=kT.safeParse(e);if(n.success)return n.data;if(Array.isArray(e))return e.map(e=>RT(e,t+1));let r=AT.safeParse(e);if(!r.success)throw r.error;return Object.fromEntries(Object.entries(r.data).filter(([,e])=>e!==void 0).map(([e,n])=>[e,RT(n,t+1)]))}function zT(e){return OT.parse(RT(e))}function BT(e){let t=JSON.stringify(zT(e)),n=PT.encode(t).byteLength;if(n>NT)throw new Ux({size:n});return Object.freeze({text:t})}function VT(e,t){return Object.freeze(Object.fromEntries(Object.entries(e).map(([e,n])=>[e,Object.freeze(Object.fromEntries(Object.entries(n).map(([n,r])=>[n,async i=>{t();try{return zT(await r(i))}catch(t){throw Zx(t)?t:t instanceof Eb?new Gx({namespace:e,operation:n,cause:{kind:`Forage`,message:t.message},rawCause:t}):t instanceof Nx?new Gx({namespace:e,operation:n,cause:{kind:`InvalidInput`,message:`Invalid operation input: ${Dt({issues:t.issues})}; use forage.describe`},rawCause:t}):t}}])))])))}function HT(e){return Kn(t=>{let n=t.bind(void 0,ft);return e.aborted?n():e.addEventListener(`abort`,n,{once:!0}),S(e.removeEventListener.bind(e,`abort`,n))})}function UT(e,t){if(e===void 0)return()=>void 0;let n=t.bind(void 0);return e.aborted?(n(),()=>void 0):(e.addEventListener(`abort`,n,{once:!0}),e.removeEventListener.bind(e,`abort`,n))}function WT(e,t,n){return e===`deadline_exceeded`?new Lx({limitMs:t,elapsedMs:n??0}):new zx({by:`caller`})}function GT(e){return Ca.pipe(Se(t=>t-e))}function KT(t){return Ca.pipe(C(n=>Cn(()=>{let r=t.executionId,i=new AbortController,a=n,o={kind:`waiting`},s,c=e=>{s===void 0&&o.kind!==`refused`&&(s=e,i.abort())},l=e=>{let n=new Rx({capacity:t.policy.capacity,waitedMs:Math.max(0,e-a)});return o={kind:`refused`,failure:n},n},u=()=>{if(i.signal.aborted)throw WT(s,t.policy.timeoutMs)},d=UT(t.callerSignal,()=>{c(`cancelled`)}),f=n+t.policy.timeoutMs,p={executionId:r,deadlineAt:f,signal:i.signal,images:t.images};t.toolCallId!==void 0&&Object.assign(p,{toolCallId:t.toolCallId}),t.output!==void 0&&Object.assign(p,{output:t.output});let m=Object.freeze(p),ee=Cn(()=>Ca.pipe(C(e=>o.kind===`refused`?y(o.failure):(e>=f&&c(`deadline_exceeded`),i.signal.aborted?GT(n).pipe(C(e=>y(WT(s,t.policy.timeoutMs,e)))):e>=a+t.policy.waitMs?y(l(e)):(o={kind:`admitted`},t.sandbox.execute(Object.freeze({executionId:r,code:t.code,timeoutMs:t.policy.timeoutMs,bindings:VT(t.createBindings(m),u),modules:t.modules,namespacePaths:t.namespacePaths,sessionId:t.sessionId}),i.signal).pipe(Rr(e=>Bi(e)?Ut(e):y(Qx(Hi(e)))))))))),te=e=>s_(e).pipe(Jt({duration:t.policy.abortGraceMs,orElse:()=>y(s===`deadline_exceeded`?new Lx({limitMs:t.policy.timeoutMs,elapsedMs:t.policy.timeoutMs,acknowledged:!1}):new zx({by:`caller`,acknowledged:!1}))})),ne,re=!1,ie=e=>(re=!0,GT(n).pipe(C(n=>{let i=Qx(e),a=i instanceof Lx?new Lx({limitMs:i.limitMs,elapsedMs:n,acknowledged:i.acknowledged}):i,o=qx(a,r),s=yn(x(),Nn()).parse(eS(a));s.ref=r;let c={kind:`sandbox_failure`,ref:r,executionId:r,adapter:t.sandbox.adapter??`effect`,buildSha:t.sandbox.buildSha??DT(),tag:o._tag,fields:s,healthAlert:o._tag===`Unknown`},l=Cn(()=>t.sandbox.onFailure?.(c)??ft);return Ze(`sandbox_failure`,c).pipe(or({executionId:r,ref:r,adapter:c.adapter,tag:c.tag,buildSha:c.buildSha}),g(o._tag===`Unknown`?ro(io(no(`sandbox_unknown`),{adapter:c.adapter}),1).pipe(g(Ze(`sandbox_health_alert`).pipe(or({ref:r,adapter:c.adapter})))):ft),g(l.pipe(Rr(e=>Ze(`sandbox_failure_record_failed`,e)))),Or(o))})));return b(function*(){if(i.signal.aborted){let e=yield*GT(n);return yield*y(WT(s,t.policy.timeoutMs,e))}a=yield*Ca,ne=yield*t.backingWork.start(ee);let r=yield*Ca,u=Ur(Math.max(0,a+t.policy.waitMs-r)).pipe(g(Ca),C(e=>o.kind===`admitted`?Et:o.kind===`refused`?v({kind:`busy`,failure:o.failure}):i.signal.aborted?v({kind:`cancelled`}):e>=f?(c(`deadline_exceeded`),v({kind:`deadline`})):v({kind:`busy`,failure:l(e)}))),d=yield*e(a_(ne).pipe(Se(e=>Object.freeze({kind:`settled`,exit:e}))),e(Ur(Math.max(0,f-r)).pipe(g(S(()=>(c(`deadline_exceeded`),Object.freeze({kind:`deadline`}))))),e(HT(i.signal).pipe(Or(Object.freeze({kind:`cancelled`}))),u))),p=o.kind===`refused`?o.failure:d.kind===`busy`?d.failure:void 0;if(p!==void 0)return yield*te(ne).pipe(g(y(p)));if(d.kind===`settled`)return yield*_e(d.exit,{onFailure:e=>s===void 0?Ut(e):GT(n).pipe(C(e=>y(WT(s,t.policy.timeoutMs,e)))),onSuccess:e=>ai({try:()=>BT(e),catch:t=>Zx(t)?t:new Wx({kind:$x(e),rawCause:t})})});d.kind===`deadline`&&c(`deadline_exceeded`);let m=yield*GT(n);return yield*te(ne).pipe(g(y(WT(s,t.policy.timeoutMs,m))))}).pipe(Ee(()=>(c(`cancelled`),(ne===void 0?ft:s_(ne).pipe(En(t.policy.abortGraceMs),rn)).pipe(g(Cn(()=>re?ft:ie(new zx({by:`operator`})).pipe(rn))))))).pipe(un(e=>ie(e).pipe(C(y))),Qn(S(d)))})))}var qT=lm(()=>F([Zp,Xp,Qp,M,j,Oh,bm(AbortSignal),P(qT),JT])),JT=nm(j,qT);function YT(e){return E(JT)(e)}var XT=nm(j,Bh),ZT=E(N({samplingParams:O(XT),samplingParamsByThinkingLevel:O(N({off:O(XT),minimal:O(XT),low:O(XT),medium:O(XT),high:O(XT),xhigh:O(XT),max:O(XT)}))}));function QT(e){return{...e,...ZT(e)}}function $T(e){if(e===void 0)return;let{onPayload:t,onProviderStreamEvent:n,onResponse:r,...i}=e,a={...i};return t!==void 0&&(a.onPayload=(e,n)=>t(YT(e),QT(n))),n!==void 0&&(a.onProviderStreamEvent=(e,t)=>n(YT(e),QT(t))),r!==void 0&&(a.onResponse=(e,t)=>r(e,QT(t))),a}var eE=async(e,t,n)=>{let{streamSimple:r}=await ui(async()=>{let{streamSimple:e}=await import(`./compat-CbK3PtOb.js`);return{streamSimple:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return r(e,li(t),$T(n))},tE=N({error:N({code:k(j),type:k(j)})});Fp(N({type:A(`response.failed`),response:tE})),Fp(U(tE)),E(bm(Uint8Array)),Fp(wh.check(Um({minimum:0,maximum:60}))),Fp(wh.check(Gm(),Um({minimum:0,maximum:864e10}))),Fp(I([`five_hour`,`seven_day`,`seven_day_opus`,`seven_day_sonnet`])),Fp(A(`rejected`)),Fp(A(`0`)),Fp(Fh),Fp(N({type:A(`error`),error:N({type:A(`overloaded_error`)})}));var nE=[/prompt (?:is )?too long/i,/prompt exceeds max length/i,/request_too_large/i,/input is too long for requested model/i,/exceeds the context window/i,/exceeds (?:the )?(?:model'?s )?maximum context length(?: of [\d,]+ tokens?|\s*\([\d,]+\))/i,/input token count.*exceeds the maximum/i,/maximum prompt length is \d+/i,/reduce the length of the messages/i,/maximum context length is \d+ tokens/i,/exceeds (?:the )?maximum allowed input length of [\d,]+ tokens?/i,/input \(\d+ tokens\) is longer than the model'?s context length \(\d+ tokens\)/i,/exceeds the limit of \d+/i,/exceeds the available context size/i,/greater than the context length/i,/context window exceeds limit/i,/exceeded model token limit/i,/too large for model with \d+ maximum context length/i,/prompt has [\d,]+ tokens?, but the configured context size is [\d,]+ tokens?/i,/model_context_window_exceeded/i,/prompt too long; exceeded (?:max )?context length/i,/range of input length should be/i,/context[_ ]length[_ ]exceeded/i,/too many tokens/i,/token limit exceeded/i],rE=/^4(?:00|13)\s*(?:status code)?\s*\(no body\)/i,iE=[/^(Throttling error|Service unavailable):/i,/rate limit/i,/too many requests/i];function aE(e,t){return!!(e.stopReason===`error`&&e.errorMessage&&!iE.some(t=>t.test(e.errorMessage))&&(nE.some(t=>t.test(e.errorMessage))||e.provider===`cerebras`&&rE.test(e.errorMessage))||t&&e.stopReason===`stop`&&e.usage.input+e.usage.cacheRead>t||t&&e.stopReason===`length`&&e.usage.output===0&&e.usage.input+e.usage.cacheRead>=t*.99)}function oE(e,t){return e.stopReason===`length`&&t>0&&e.usage.output<t}function sE(e){return new RegExp(e.join(`|`),`i`)}var cE=sE([`GoUsageLimitError`,`FreeUsageLimitError`,`Monthly usage limit reached`,`available balance`,`insufficient_quota`,`out of budget`,`quota exceeded`,`billing`,`subscription_sharing_usage_limit_exceeded`]),lE=sE(`overloaded,server_busy,servers are currently busy,currently experiencing high demand,model is at capacity,rate.?limit,too many requests,429,500,502,503,504,520,524,service.?(?:is.?)?(?:temporarily.?)?unavailable,server.?error,internal.?error,provider.?returned.?(?:an.?)?error,exceeded request buffer limit while retrying upstream,unable to forward upstream,network.?error,connection.?error,connection.?refused,connection.?lost,other side closed,fetch failed,getaddrinfo,ENOTFOUND,EAI_AGAIN,upstream.?connect,reset before headers,socket hang up,socket connection was closed,timed? out,timeout,terminated,websocket.?closed,websocket.?error,ended without,stream ended before message_stop,stream ended before a terminal response event,http2 request did not get a response,pending stream has been canceled,retry delay,you can retry your request,try your request again,please retry your request,ResourceExhausted,subscription_sharing_usage_unavailable,subscription_sharing_user_unavailable`.split(`,`)),uE=6e4;function dE(e,t){let n=e.baseDelayMs*2**Math.max(0,t-1);return Math.min(Number.isSafeInteger(n)?n:2**53-1,e.maxAgentDelayMs??6e4)}var fE=class extends Error{constructor(){super(`Aborted`)}};function pE(e,t){return new Promise((n,r)=>{if(t?.aborted){r(new fE);return}let i=setTimeout(n,e);t?.addEventListener(`abort`,()=>{clearTimeout(i),r(new fE)},{once:!0})})}async function mE(e,t,n,r){let i=t?.enabled?t.maxRetries:0,a=0,o;for(;;){let s=await e();if(s.stopReason===`aborted`)return o&&await r?.onRetryFinished?.(!1,o.attempt),s;if(s.stopReason!==`error`)return o&&await r?.onRetryFinished?.(!0,o.attempt),s;if(a>=i||!hE(s))return o&&await r?.onRetryFinished?.(!1,o.attempt,s.errorMessage),s;a++,o={attempt:a,errorMessage:s.errorMessage||`Unknown error`};let c=dE(t,a);await r?.onRetryScheduled?.(a,i,c,o.errorMessage);try{await pE(c,n)}catch(e){if(await r?.onRetryFinished?.(!1,a,o.errorMessage),e instanceof fE){let{errorMessage:e,...t}=s;return{...t,stopReason:`aborted`}}throw e}await r?.onRetryAttemptStart?.()}}function hE(e){if(e.stopReason!==`error`||!e.errorMessage)return!1;let t=e.errorMessage;return!cE.test(t)&&lE.test(t)}var gE={assign:0,create:0,clone:0,discard:0,update:0};function _E(e){return yE(e,null)}function vE(e){return yE(typeof e,`object`)&&!_E(e)}function yE(e,t){return e===t}function bE(e){return yE(e,`__proto__`)||yE(e,`constructor`)||yE(e,`prototype`)}function xE(e,t){return bE(t)?Object.prototype.hasOwnProperty.call(e,t):t in e}function SE(e){return Object.getOwnPropertyNames(e)}var CE={immutableTypes:!1,maxErrors:8,maxInstantiationCount:128,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1,unionPrioritySort:!0};function wE(){return CE}function TE(e){return wE().immutableTypes?Object.freeze(e):e}function EE(e,t){for(let n of Object.keys(t))Object.defineProperty(e,n,{configurable:!0,writable:!0,enumerable:!1,value:t[n]});return e}function DE(e,t){return{...e,...t}}function OE(e,t,n={}){gE.create+=1;let r=DE(t,n);return TE(wE().enumerableKind?DE(r,e):EE(r,e))}function kE(e){return vE(e)}function AE(e){return kE(e)&&xE(e,`~optional`)}function jE(e){return SE(e).filter(t=>!AE(e[t]))}function ME(e,t={}){let n=jE(e);return OE({"~kind":`Object`},{type:`object`,...n.length>0?{required:n}:{},properties:e},t)}var NE;(function(e){e[e.Array=0]=`Array`,e[e.BigInt=1]=`BigInt`,e[e.Boolean=2]=`Boolean`,e[e.Date=3]=`Date`,e[e.Constructor=4]=`Constructor`,e[e.Function=5]=`Function`,e[e.Null=6]=`Null`,e[e.Number=7]=`Number`,e[e.Object=8]=`Object`,e[e.RegExp=9]=`RegExp`,e[e.String=10]=`String`,e[e.Symbol=11]=`Symbol`,e[e.TypeArray=12]=`TypeArray`,e[e.Undefined=13]=`Undefined`})(NE||={}),Array.from({length:256}).map((e,t)=>BigInt(t));var PE=new Float64Array(1);new DataView(PE.buffer),new Uint8Array(PE.buffer),new TextEncoder;var FE=`-?(?:0|[1-9][0-9]*)`,IE=`-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?`;function LE(e){return OE({"~kind":`String`},{type:`string`},e)}var RE=`^${FE}$`;`${IE}`;function zE(e,t){return Array.from({length:t-e+1},(t,n)=>String.fromCharCode(e+n))}var BE=[...zE(97,122),...zE(65,90)],VE=[`0`,...zE(49,57)];[...VE],[...BE,...VE],[...VE],new RegExp(RE);var HE={enabled:!0,maxRetries:3,baseDelayMs:2e3,maxAgentDelayMs:6e4},UE={firstEventMs:6e4,idleMs:12e4,attemptMs:6e5,outputBytes:2097152},WE=1e3,GE=Symbol(`Mule model limit`);function KE(e,t){return aE(e,t)}var qE=(e,t,n)=>({_tag:`MuleError`,phase:e,message:t,cause:n}),JE=(e,t)=>({kind:e,value:`mule_${e}_${Zh()}`,parent:t}),YE=()=>ft;function XE(e,t){let n={role:`toolResult`,toolCallId:e.id,toolName:e.name,content:t.content,isError:t.isError,timestamp:Date.now()};return t.usage!==void 0&&(n.usage=t.usage),n}var ZE=(e,t)=>({content:[{type:`text`,text:e}],isError:!0,terminate:t});function QE(e,t){return e.find(e=>e.descriptor.name===t.name)}function $E(e,t,n,r){return r({type:`tool_execution_end`,run:t,turn:n,toolCall:e.identity,call:e.call,result:e.result})}function eD(e,t,n,r,i){let a=JE(`tool_call`,r);return b(function*(){if(yield*i({type:`tool_execution_start`,replay:e?.replay??`unsafe`,run:n,turn:r,toolCall:a,call:t}),e===void 0){let e=ZE(`Tool "${t.name}" not found`),o={call:t,identity:a,result:e};return yield*$E(o,n,r,i),{kind:`finalized`,value:o}}let o=yield*_n(e.prepare(t));if(Ct(o)){let e=ZE(o.failure.message,o.failure.terminate),s={call:t,identity:a,result:e};return yield*$E(s,n,r,i),{kind:`finalized`,value:s}}return{kind:`prepared`,call:t,identity:a,tool:o.success}})}function tD(e,t,n,r){return b(function*(){let i,a;yield*qv(Pv(e.tool.execute()),o=>Ct(o)?(a=o.failure,ft):i===void 0?o.success.type===`result`?(i=o.success.result,ft):r({type:`tool_execution_update`,run:t,turn:n,toolCall:e.identity,call:e.call,result:o.success.result}):ft);let o=a===void 0?i??ZE(`Tool "${e.call.name}" returned no result`):ZE(a.message),s={call:e.call,identity:e.identity,result:o};return yield*$E(s,t,n,r),s})}function nD(e,t,n,r){let i=XE(e.call,e.result),a=JE(`tool_result`,e.identity);return b(function*(){return yield*r({type:`message_start`,run:t,turn:n,message:a,value:i}),yield*r({type:`message_end`,run:t,turn:n,message:a,value:i,data:e.result.data}),i})}function rD(e,t,n,r,i){let a=t.tools??[],o=t.toolExecution===`sequential`||e.some(e=>QE(a,e)?.executionMode===`sequential`);return b(function*(){let t=e=>e.kind===`finalized`?v(e.value):tD(e,n,r,i),s=o?yield*Yr(e,e=>C(eD(QE(a,e),e,n,r,i),t)):yield*b(function*(){let o=yield*Yr(e,e=>eD(QE(a,e),e,n,r,i));return yield*Mn(o.map(t),{concurrency:`unbounded`})});return{messages:yield*Yr(s,e=>nD(e,n,r,i)),terminate:s.length>0&&s.every(e=>e.result.terminate===!0)}})}var iD=e=>ZE(`Tool call "${e.name}" was not executed: the response hit the output token limit, so its arguments may be truncated. Re-issue the tool call with complete arguments.`);function aD(e,t,n,r){return b(function*(){let i=yield*Yr(e,e=>b(function*(){let i=JE(`tool_call`,n),a={call:e,identity:i,result:iD(e)};return yield*r({type:`tool_execution_start`,replay:`unsafe`,run:t,turn:n,toolCall:i,call:e}),yield*$E(a,t,n,r),a}));return yield*Yr(i,e=>nD(e,t,n,r))})}function oD(e,t){return Jr({try:n=>{let r=()=>{t.abort(n.reason)};return n.aborted?r():n.addEventListener(`abort`,r,{once:!0}),Promise.resolve(e.next()).finally(()=>{n.removeEventListener(`abort`,r)})},catch:e=>qE(`model`,`Pi model stream failed`,e)})}function sD(e,t,n){return e.pipe(Jt({duration:t,orElse:()=>y(qE(`model`,n(),GE))}))}function cD(e,t,n,r,i,a){let o=JE(`message`,r),s,c={started:!1,terminal:void 0};return ln(b(function*(){let l=e.modelStreamLimits,u=Math.min(l?.firstEventMs??UE.firstEventMs,UE.firstEventMs),d=Math.min(l?.attemptMs??UE.attemptMs,UE.attemptMs),f=Math.min(l?.outputBytes??UE.outputBytes,UE.outputBytes);if([u,d,f,e.modelStreamIdleTimeoutMs??1].some(e=>!Number.isSafeInteger(e)||e<=0))return yield*y(qE(`model`,`Model stream limits must be positive safe integers`));let p=Date.now(),m=p,ee=0,te=0,ne=new TextEncoder,re=!1,ie=e=>qE(`model`,`Model ${e} after ${String(Date.now()-p)} ms (max provider gap ${String(Math.max(ee,Date.now()-m))} ms, streamed ${String(te)} bytes)`,GE),ae=t=>{let n=Date.now()-p,r=d-n,i=Math.min(re?UE.idleMs:u,e.modelStreamIdleTimeoutMs??UE.idleMs)-(Date.now()-m),a=r<=i?`attempt timed out`:re?`stream timed out (silence)`:`first event timed out`;return sD(t,Math.max(0,Math.min(r,i)),()=>ie(a).message)},oe=new AbortController;yield*Sr(()=>S(()=>{oe.abort(`Mule model scope closed`)}));let se=(e.resolveApiKey===void 0?void 0:yield*e.resolveApiKey(e.model.provider))??e.streamOptions?.apiKey,ce={...e.streamOptions,maxRetries:0,signal:oe.signal};se!==void 0&&(ce.apiKey=se);let le=e.prepareSystemPrompt===void 0?e.systemPrompt:yield*e.prepareSystemPrompt();e.prepareSystemPrompt!==void 0&&(yield*i({type:`model_prompt`,run:n,turn:r,attempt:a,systemPrompt:le}));let ue={systemPrompt:le,messages:t},de=(e.tools??[]).map(e=>e.descriptor);de.length>0&&(ue.tools=de);let fe=yield*ae(Jr({try:async()=>(e.stream??eE)(e.model,li(ue),ce),catch:e=>qE(`model`,`Pi model stream could not start`,e)})),pe=yield*Mr(S(()=>fe[Symbol.asyncIterator]()),e=>Jr({try:()=>(oe.abort(`Mule model stream closed`),new Promise(t=>{let n=setTimeout(t,WE);Promise.resolve(e.return?.()).then(()=>{clearTimeout(n),t()},()=>{clearTimeout(n),t()})})),catch:e=>qE(`model`,`Pi model stream failed`,e)}).pipe(ze)),me=e=>{let a=Date.now();if(ee=Math.max(ee,a-m),m=a,re=!0,(e.type===`text_delta`||e.type===`thinking_delta`||e.type===`toolcall_delta`)&&(te+=ne.encode(e.delta).byteLength,te>f))return y(ie(`output limit exceeded`));switch(`partial`in e&&(s=e.partial),e.type){case`start`:return t.push(e.partial),c.started=!0,i({type:`message_start`,run:n,turn:r,message:o,value:e.partial});case`text_start`:case`text_delta`:case`text_end`:case`thinking_start`:case`thinking_delta`:case`thinking_end`:case`toolcall_start`:case`toolcall_delta`:case`toolcall_end`:return c.started&&(t[t.length-1]=e.partial),i({type:`message_update`,run:n,turn:r,message:o,value:e.partial,event:e});case`done`:return c.terminal=e.message,ft;case`error`:return c.terminal=e.error,ft}},he=()=>ae(oD(pe,oe)),h=yield*he();for(;!h.done;)yield*me(h.value),h=yield*he();let ge=c.terminal??(yield*ae(Jr({try:()=>fe.result(),catch:e=>qE(`model`,`Pi model stream did not settle`,e)})));return c.started?t[t.length-1]=ge:(t.push(ge),yield*i({type:`message_start`,run:n,turn:r,message:o,value:ge})),yield*i({type:`message_end`,run:n,turn:r,message:o,value:ge}),{identity:o,message:ge}}).pipe(un(l=>{if(l.cause!==GE)return y(l);let u={role:`assistant`,content:s?.content??[],api:e.model.api,provider:e.model.provider,model:e.model.id,usage:s?.usage??{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,timestamp:Date.now(),errorMessage:e.retry?.enabled&&a>e.retry.maxRetries?`The model failed ${String(a)} times on this conversation: ${l.message}`:l.message};return b(function*(){return c.started?t[t.length-1]=u:(t.push(u),yield*i({type:`message_start`,run:n,turn:r,message:o,value:u})),yield*i({type:`message_end`,run:n,turn:r,message:o,value:u}),{identity:o,message:u,limitReached:!0}})})))}function lD(e,t,n,r,i){return b(function*(){let a=e.retry===void 0?void 0:{...e.retry};if(a?.enabled&&[a.maxRetries,a.baseDelayMs,a.maxAgentDelayMs??6e4].some(e=>!Number.isSafeInteger(e)||e<0))return yield*y(qE(`model`,`Retry policy requires non-negative safe-integer counts and delays`));let o,s=0,c=0,l=!1,u,d=t=>e.onRetry===void 0?ft:e.onRetry(t),f=(e,t)=>b(function*(){l=!0,yield*d(t===void 0?{type:`retry_finished`,run:n,turn:r,attempt:c,success:e}:{type:`retry_finished`,run:n,turn:r,attempt:c,success:e,finalError:t})});return yield*b(function*(){for(;;){if(o!==void 0){let e=t.indexOf(o.message);e!==-1&&t.splice(e,1)}o=yield*cD(e,t,n,r,i,++s);let l=o.message;if(l.stopReason!==`error`||a===void 0||!a.enabled||c>=a.maxRetries)return c>0&&(yield*f(l.stopReason!==`error`&&l.stopReason!==`aborted`,l.stopReason===`error`?l.errorMessage:void 0)),o;if(!(yield*ai({try:()=>o?.limitReached===!0||e.retryable(l),catch:e=>qE(`model`,`Typed model retry decision failed`,e)})))return c>0&&(yield*f(!1,l.errorMessage)),o;c++,u=l.errorMessage??`Unknown error`;let p=yield*ai({try:()=>e.retryAfterMs?.(l),catch:e=>qE(`model`,`Model retry delay observation failed`,e)}),m=Math.max(dE(a,c),p!==void 0&&Number.isSafeInteger(p)&&p>=0&&p<=6e4?p:0),ee=Math.min(1e3,m/4,Math.max(0,6e4-m)),te=m+Math.floor(Math.random()*ee);yield*d({type:`retry_scheduled`,run:n,turn:r,attempt:c,maxAttempts:a.maxRetries,delayMs:te,errorMessage:u}),yield*Ur(te),yield*d({type:`retry_attempt_started`,run:n,turn:r,attempt:c})}}).pipe(Ee(()=>c===0||l?ft:f(!1,u)))})}var uD=e=>e.stopReason===`aborted`?`cancelled`:e.stopReason===`error`?`failed`:`completed`;function dD(e,t,n,r,i,a){return Yr(e,e=>b(function*(){let o=JE(`message`,i);t.push(e),n.push(e),yield*a({type:`message_start`,run:r,turn:i,message:o,value:e}),yield*a({type:`message_end`,run:r,turn:i,message:o,value:e})})).pipe(rn)}function fD(e,t,n,r,i,a,o){return b(function*(){yield*o({type:`turn_start`,run:r,turn:i}),yield*dD(a,t,n,r,i,o);let s=yield*lD(e,t,r,i,o),c=uD(s.message)!==`completed`,l=s.message.content.filter(e=>e.type===`toolCall`),u=l.length===0||c?{messages:[],terminate:!1}:s.message.stopReason===`length`?{messages:yield*aD(l,r,i,o),terminate:!1}:yield*rD(l,e,r,i,o);t.push(...u.messages),n.push(s.message,...u.messages),yield*o({type:`turn_end`,run:r,turn:i,message:s.message,toolResults:u.messages});let d={message:s.message,toolResults:u.messages,terminate:u.terminate};return s.limitReached&&s.message.errorMessage!==void 0?{...d,modelLimitReason:s.message.errorMessage}:d})}function pD(e,t,n,r,i,a){let o=JE(`turn`,i);return b(function*(){if(uD(t.message)!==`completed`)return{message:t.message,toolResults:[],terminate:!0};let s=yield*Yr(t.tools,n=>b(function*(){if(n.state===`completed`&&n.message!==void 0)return{message:n.message,terminate:n.result.terminate===!0,recorded:!0};let r=QE(e.tools??[],n.call),s;if(t.message.stopReason!==`length`&&(n.state===`pending`||n.state===`started`&&n.replay===`safe`&&r?.replay===`safe`)){let e=yield*eD(r,n.call,i,o,a);s=e.kind===`finalized`?e.value:yield*tD(e,i,o,a)}else s={call:n.call,identity:JE(`tool_call`,o),result:n.state===`completed`?n.result:n.state===`pending`&&t.message.stopReason===`length`?iD(n.call):ZE(`Interrupted by a restart; it may or may not have completed; check before retrying.`)},yield*a({type:`tool_execution_start`,replay:`unsafe`,run:i,turn:o,toolCall:s.identity,call:s.call}),yield*$E(s,i,o,a);return{message:yield*nD(s,i,o,a),terminate:s.result.terminate===!0,recorded:!1}})),c=s.filter(({recorded:e})=>!e).map(({message:e})=>e);return n.push(...c),r.push(...c),{message:t.message,toolResults:s.map(({message:e})=>e),terminate:s.length>0&&s.every(({terminate:e})=>e)}})}function mD(e,t,n,r){return b(function*(){if(e.shouldStopAfterTurn!==void 0&&(yield*e.shouldStopAfterTurn({message:t.message,toolResults:t.toolResults,context:n,newMessages:r})))return{continue:!1,pending:[]};let i=e.getSteeringMessages===void 0?[]:[...yield*e.getSteeringMessages()];if(t.message.content.some(e=>e.type===`toolCall`)&&!t.terminate||i.length>0)return{continue:!0,pending:i};let a=e.getFollowUpMessages===void 0?[]:[...yield*e.getFollowUpMessages()];return{continue:a.length>0,pending:a}})}function hD(e,t,n,r,i,a,o){return b(function*(){yield*a({type:`run_end`,run:e,terminal:t,outcome:i});let s={status:i,run:e,terminal:t,message:n,messages:r};return o===void 0?s:{...s,modelLimitReason:o}})}function gD(e,t=YE){return b(function*(){let n=yield*m_(1),r={started:!1,ended:!1},i=e=>Cn(()=>(e.type===`run_end`&&(r.ended=!0),n.withPermits(1)(t(e)))).pipe(nr(()=>S(()=>{e.type===`run_start`&&(r.started=!0)}))),a=JE(`run`),o=JE(`terminal`,a);return yield*vD(e,i,a,o).pipe(Ae(e=>{let t=_D(e);return!r.started||r.ended||t===void 0?ft:i({type:`run_end`,run:a,terminal:o,outcome:t}).pipe(ze)}))})}function _D(e){if(ta(e))return;if(Bi(e.cause))return`cancelled`;let t=Wi(e.cause);if(!(gn(t)&&t.value.phase===`listener`))return`failed`}function vD(e,t,n,r){return b(function*(){let i=[...e.messages],a=[],o=e.getSteeringMessages===void 0?[]:[...yield*e.getSteeringMessages()],s,c;if(yield*t({type:`run_start`,run:n}),e.resume!==void 0){let s=yield*pD(e,e.resume,i,a,n,t),c=uD(s.message),l=c===`completed`?yield*mD(e,s,i,a):{continue:!1,pending:[]};if(!l.continue&&o.length===0)return yield*hD(n,r,s.message,a,c,t);o.push(...l.pending)}do{let l=yield*fD(e,i,a,n,JE(`turn`,n),o,t);s=l.message;let u=uD(l.message);if(u!==`completed`)return yield*hD(n,r,l.message,a,u,t,l.modelLimitReason);if(e.prepareNextTurn!==void 0&&!l.terminate&&l.message.content.some(e=>e.type===`toolCall`)){let t=yield*e.prepareNextTurn({message:l.message,toolResults:l.toolResults,context:i,newMessages:a});t!==void 0&&i.splice(0,i.length,...t)}let d=yield*mD(e,l,i,a);o=[...d.pending],c=d.continue}while(c);return yield*hD(n,r,s,a,`completed`,t)})}var yD={run:gD},bD=class{#e=new Map;#t;constructor(e=8){this.#t=e}push(e,t){let n=this.#e.get(e)??[];if(n.length>=this.#t)throw new Gx({namespace:`execute`,operation:`images`,cause:{kind:`Unavailable`,message:`Image collector cap reached for this execution (max ${String(this.#t)} images). Process images one at a time or write them to files.`}});let r=`img_${String(n.length)}`;return n.push(Object.freeze({...t})),this.#e.set(e,n),r}drain(e){let t=this.#e.get(e);return t===void 0?[]:(this.#e.delete(e),t)}dispose(e){this.#e.delete(e)}},xD=8192,SD=xD*4,CD=new TextEncoder,wD=()=>new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!1}),TD=class e{wake;#e={stdout:{decoder:wD(),pending:new Uint8Array},stderr:{decoder:wD(),pending:new Uint8Array}};#t=wD();#n=Array.from({length:xD},()=>void 0);#r=0;#i=0;#a=0;#o=0;#s=0;#c=0;#l=!1;#u=!1;constructor(e){this.wake=e}static make(){return Og({capacity:1,strategy:`dropping`}).pipe(Se(t=>new e(t)))}write(e,t){if(this.#u||t.length===0)return;let n=this.#e[e];this.#c+=t.length;for(let e=0;e<t.length;e+=SD){let r=t.subarray(e,e+SD),i=n.decoder.decode(r,{stream:!0}),a=new Uint8Array(n.pending.length+r.length);a.set(n.pending),a.set(r,n.pending.length);let o=this.#f(a);n.pending=a.slice(a.length-o),this.#h(i,a.length-o,a)}this.#l=!0,jg(this.wake,void 0)}#d(e,t){let n=this.#t.decode(e.subarray(0,t),{stream:!0});return this.#t.decode(),n}#f(e){for(let t=1;t<=Math.min(3,e.length);t++){let n=e.subarray(e.length-t);if(this.#d(n,n.length).length===0)return t}return 0}#p(){let e=this.#n[this.#r];if(e===void 0)throw Error(`Missing output ring entry`);this.#n[this.#r]=void 0,this.#r=(this.#r+1)%xD,this.#i--,this.#a-=e.textBytes,this.#o-=e.newlines,this.#s+=e.rawBytes}#m(e,t,n){let r=e.raw;if(r===null){this.#p();return}let i=e=>{let i=this.#d(r,e);return CD.encode(i).length>=t&&i.split(`
18
+ `;case 114:return`\r`;case 120:return String.fromCharCode(this.readHexChar(2));case 117:return RS(this.readCodePoint());case 116:return` `;case 98:return`\b`;case 118:return`\v`;case 102:return`\f`;case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),``;case 56:case 57:if(this.strict&&this.invalidStringToken(this.pos-1,`Invalid escape sequence`),e){var n=this.pos-1;this.invalidStringToken(n,`Invalid escape sequence in template string`)}default:if(t>=48&&t<=55){var r=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],i=parseInt(r,8);return i>255&&(r=r.slice(0,-1),i=parseInt(r,8)),this.pos+=r.length-1,t=this.input.charCodeAt(this.pos),(r!==`0`||t===56||t===57)&&(this.strict||e)&&this.invalidStringToken(this.pos-1-r.length,e?`Octal literal in template string`:`Octal literal in strict mode`),String.fromCharCode(i)}return DS(t)?(this.options.locations&&(this.lineStart=this.pos,++this.curLine),``):String.fromCharCode(t)}},Q.readHexChar=function(e){var t=this.pos,n=this.readInt(16,e);return n===null&&this.invalidStringToken(t,`Bad character escape sequence`),n},Q.readWord1=function(){this.containsEsc=!1;for(var e=``,t=!0,n=this.pos,r=this.options.ecmaVersion>=6;this.pos<this.input.length;){var i=this.fullCharCodeAtPos();if(bS(i,r))this.pos+=i<=65535?1:2;else if(i===92){this.containsEsc=!0,e+=this.input.slice(n,this.pos);var a=this.pos;this.input.charCodeAt(++this.pos)!==117&&this.invalidStringToken(this.pos,`Expecting Unicode escape sequence \\uXXXX`),++this.pos;var o=this.readCodePoint();(t?yS:bS)(o,r)||this.invalidStringToken(a,`Invalid Unicode escape`),e+=RS(o),n=this.pos}else break;t=!1}return e+this.input.slice(n,this.pos)},Q.readWord=function(){var e=this.readWord1(),t=J.name;return this.keywords.test(e)&&(t=wS[e]),this.finishToken(t,e)},fC.acorn={Parser:fC,version:`8.18.0`,defaultOptions:US,Position:BS,SourceLocation:VS,getLineInfo:HS,Node:FC,TokenType:K,tokTypes:J,keywordTypes:wS,TokContext:EC,tokContexts:DC,isIdentifierChar:bS,isIdentifierStart:yS,Token:Ew,isNewLine:DS,lineBreak:TS,lineBreakG:ES,nonASCIIwhitespace:kS};function Aw(e,t){return fC.parse(e,t)}_(()=>Nr(`ok`,[pr({ok:sr(!0),value:Gr()}),pr({ok:sr(!1),error:pr({kind:sr(`guest_threw`),name:x().max(80),message:x().max(512),transportMessage:x().max(512).optional()})})]));var jw=_(()=>x().regex(/^[A-Za-z][A-Za-z0-9_]*$/u)),Mw=jw.refine(e=>{if(e===`env`)return!1;try{return Aw(`let ${e};`,{ecmaVersion:`latest`,sourceType:`module`}),!0}catch(e){if(!(e instanceof SyntaxError))throw e;return!1}},`Invalid sandbox transport alias`);_(()=>yn(Mw,Nt(jw).min(1))),_(()=>yn(Mw,Nt(x().regex(/^[A-Za-z][A-Za-z0-9_]*(?:\.[A-Za-z][A-Za-z0-9_]*)*$/u))));var Nw=I([`read`,`write`]),Pw=Qp,Fw=N({access:k(Nw),confirm:k(Pw)}),Iw=I([`none`,`read`,`write`]),Lw=T(Fw),Rw=T(Iw);function zw(e){let t=Lw({access:e.access,confirm:e.confirm});if(Ct(t))throw new G(`Access labels must be access: "read" | "write" and confirm: boolean`);return{access:t.success.access??`write`,confirm:t.success.confirm??!1}}function Bw(e,t){let n=`${t.module}.${t.operation}`;switch(e){case`not-granted`:return`${n} is not granted to this Agent.`;case`read-only`:return`${n} changes something, and this Agent has read-only access to ${t.module}.`;case`confirmation-unavailable`:return`${n} needs a person's approval, and no one can be asked here.`;case`declined`:return`${n} was not approved.`}}function Vw(e,t){return Object.freeze({refused:!0,module:t.module,operation:t.operation,reason:e,message:Bw(e,t)})}function Hw(e,t,n){let r=e.sessionGrants?.(t),i=r!==void 0&&Object.hasOwn(r,n)?r:e.grants;if(i===void 0||!Object.hasOwn(i,n))return e.required?.includes(n)===!0?`none`:e.defaultGrant??`write`;let a=Rw(i[n]);return ye(a)?a.success:`none`}async function Uw(e,t,n,r,i){let a=await Ww(e,t,n,r,i);return a!==void 0&&e.onRefused?.(a,t),a}async function Ww(e,t,n,r,i){await e.beforeCall?.(i),i.throwIfAborted();let a=Gw(e,t,n);if(a!==void 0)return a;if(!(!n.confirm&&(e.confirmWrites!==!0||n.access===`read`)))return e.confirm===void 0?Vw(`confirmation-unavailable`,n):await e.confirm({module:n.module,operation:n.operation,access:n.access,sessionId:t.sessionId,input:r},i)?(await e.beforeCall?.(i),i.throwIfAborted(),Gw(e,t,n)):Vw(`declined`,n)}function Gw(e,t,n){let r=Hw(e,t,n.module);if(r===`none`)return Vw(`not-granted`,n);if(r===`read`&&n.access!==`read`)return Vw(`read-only`,n)}function Kw(e,t,n){let r={module:e.module,operation:e.descriptor.name,...zw(e)};return{...e,prepare:i=>Jr({try:e=>Uw(t,n,r,i.arguments,e),catch:()=>({message:`Access check failed`})}).pipe(C(t=>t===void 0?e.prepare(i):v({execute:()=>wv({type:`result`,result:{content:[{type:`text`,text:JSON.stringify(t)}],isError:!1}})})))}}var qw=ms();async function Jw(e){let t=await Dr(e);if(ta(t))return{value:t.value};let n=Ui(t.cause);if(Ct(n))throw Hi(t.cause);return{issues:qw(n.success.issue).issues}}function Yw(e){let t=zh(e),n=jp(t)[`~standard`].jsonSchema,r=Np(t),i=Rp(t);return Object.freeze({description:{"~standard":{jsonSchema:{input:n.input,output:n.input}}},decode:e=>Jw(r(e)),encode:e=>Jw(i(e))})}function Xw(e){let t=async t=>e[`~standard`].validate(t);return Object.freeze({description:e,decode:t,encode:t})}function Zw(e){return Wp(e)?Yw(e):Xw(e)}var Qw=Symbol(`mycelium.operation`),$w=Symbol(`mycelium.module`),eT=new WeakMap,tT=new WeakMap;function nT(e){let t=Object.freeze({[Qw]:!0}),n=Zw(e.input),r=e.output===void 0?void 0:Zw(e.output),i={replay:e.replay??`unsafe`,...zw(e),input:n.description,invoke:async(t,i)=>{let a=await n.decode(t);if(a.issues!==void 0)throw new Nx(a.issues);let o=await e.execute(a.value,i);if(r===void 0)return o;let s=await r.encode(o);if(s.issues!==void 0)throw new Hx({reason:`Capability output failed its declared schema`,rawCause:new Px(s.issues)});return s.value}};e.description!==void 0&&(i.description=e.description),r!==void 0&&(i.output=r.description);let a=Object.freeze(i);return eT.set(t,a),t}function rT(e){let t=Nt(jw).safeParse(e.namespace??[]);if(!t.success)throw new G(`Invalid module namespace`);let n=Object.freeze({[$w]:!0}),r={id:e.id,grantKey:e.id,name:e.name??e.id,namespace:Object.freeze(t.data),operations:Object.freeze({...e.operations})};e.description!==void 0&&(r.description=e.description);let i=Object.freeze(r);return tT.set(n,i),n}function iT(e){return tT.has(e)}function aT(e){return eT.get(e)}function oT(e){return tT.get(e)}function sT(e,t,n){let r=oT(e);if(r===void 0)throw new G(`Unknown module registration`);let i={};for(let[e,a]of Object.entries(r.operations)){let r=n===``?e:`${n}.${e}`;if(iT(a)){let n=oT(a);if(n===void 0)throw new G(`Unknown child module registration`);i[e]=sT(a,t,[r,...n.namespace].join(`.`));continue}let o=aT(a);if(o===void 0)throw new G(`Unknown operation registration: ${e}`);let s=Object.freeze({[Qw]:!0});eT.set(s,Object.freeze({...o,invoke:async(e,n)=>{let i=await t({operation:r,context:n});return i.kind===`refuse`?i.value:await o.invoke(e,n)}})),i[e]=s}return cT(rT(r.description===void 0?{id:r.id,name:r.name,namespace:r.namespace,operations:i}:{id:r.id,name:r.name,namespace:r.namespace,description:r.description,operations:i}),r.grantKey)}function cT(e,t){let n=oT(e);if(n===void 0)throw new G(`Unknown module registration`);let r=Object.freeze({[$w]:!0});return tT.set(r,Object.freeze({...n,grantKey:t})),r}function lT(e,t){if(t.length===0||t.length>160)throw new G(`Grant key must be non-empty and bounded`);return cT(e,t)}function uT(e,t){return sT(e,t,``)}function dT(e,t){return e<t?-1:+(e>t)}function fT(e){return e instanceof Error?e.message:`Capability declarations could not be compiled`}var pT=160;function mT(e){if(e.length===0||e.length>pT)throw new G(`Module id must be non-empty and bounded`)}function hT(e){if(!e.split(`.`).every(e=>jw.safeParse(e).success))throw new G(`Operation key must be a path segment or a dotted relative path`)}function gT(e){let t=e.replace(/[^A-Za-z0-9_]/g,`_`);return/^[A-Za-z]/.test(t)?t:`module_${t}`}function _T(e){let t=gT(e);return Mw.safeParse(t).success?t:`module_${t}`}function vT(e,t){let n=new Set([`forage`,`env`]),r=new Map;for(let i of e){let e=t===`logical`?i.namespace:[],a=t===`logical`?gT(i.name):_T(i.name),o=t=>[...e,t].join(`.`),s=a,c=2;for(;n.has(o(s));)s=`${a}_${String(c)}`,c+=1;n.add(o(s)),r.set(i.id,s)}return r}var yT=14695981039346656037n,bT=1099511628211n,xT=18446744073709551615n;function ST(e,t){let n=e,r=BigInt(t.length);for(let e=0;e<8;e+=1)n=(n^r&255n)*bT&xT,r>>=8n;for(let e=0;e<t.length;e+=1){let r=t.charCodeAt(e);n=(n^BigInt(r&255))*bT&xT,n=(n^BigInt(r>>>8&255))*bT&xT}return n}function CT(e,t,n){let r=ST(yT,e),i=[...t.entries()].sort(([e],[t])=>dT(e,t));for(let[e,t]of i)r=ST(r,e),r=ST(r,t);let a=[...n].sort((e,t)=>dT(e.id,t.id));for(let e of a)r=ST(r,e.id),r=ST(r,e.version);return`installed-${r.toString(16).padStart(16,`0`)}`}function wT(){return[Ex,Tx,Dx]}function TT(e,t,n,r,i,a=[]){return Object.entries(t.operations).flatMap(([t,o])=>{if(hT(t),iT(o)){let s=oT(o);if(s===void 0)throw new G(`Unknown child module registration`);return TT(e,s,n,[...r,t,...s.namespace],s.description??i,[...a,t,...s.namespace])}let s=aT(o);if(s===void 0)throw new G(`Unknown operation registration: ${[...r,t].join(`.`)}`);return[Object.freeze({grantKey:e,path:[...r,t].join(`.`),namespace:n,name:[...a,t].join(`.`),moduleDescription:i,operation:s})]})}function ET(e,t=[]){let n=e.map(e=>{let t=oT(e);if(t===void 0)throw new G(`Unknown module registration`);return mT(t.id),t}).sort((e,t)=>dT(e.id,t.id)),r=new Set;for(let e of n){if(r.has(e.id))throw new G(`Duplicate module id: ${e.id}`);r.add(e.id)}let i=vT(n,`transport`),a=vT(n,`logical`),o=Object.freeze(Object.fromEntries(n.map(e=>{let t=i.get(e.id);if(t===void 0)throw new G(`Missing module alias: ${e.id}`);let n=a.get(e.id);if(n===void 0)throw new G(`Missing logical alias: ${e.id}`);return[t,Object.freeze([...e.namespace,n])]}))),s=n.flatMap(e=>{let t=i.get(e.id);if(t===void 0)throw new G(`Missing module alias: ${e.id}`);let n=o[t];if(n===void 0)throw new G(`Missing namespace path: ${e.id}`);return TT(e.grantKey,e,t,n,e.description)}).sort((e,t)=>dT(e.path,t.path)),c=new Set(s.map(e=>e.path));if(c.size!==s.length)throw new G(`Duplicate operation path`);for(let e of wT()){if(c.has(e.path))throw new G(`Reserved intrinsic path: ${e.path}`);c.add(e.path)}for(let e of c){let t=e.split(`.`);for(let n=1;n<t.length;n+=1)if(c.has(t.slice(0,n).join(`.`)))throw new G(`Operation conflicts with namespace: ${e}`)}let l;try{l=xx({revision:`prepared-content-stamp`,operations:[...s.map(({path:e,moduleDescription:t,operation:n})=>{let r={path:e,input:n.input};return n.description!==void 0&&(r.description=n.description),n.output!==void 0&&(r.output=n.output),t!==void 0&&(r.instructions=t),r}),...wT()]})}catch(e){throw new G(fT(e))}let u=CT(l.stamp(),i,t),d=Object.freeze({revision:u,search:l.search,describe:l.describe,list:l.list,stamp:l.stamp}),f=Object.freeze(Object.fromEntries([...i.entries()].map(([e,t])=>[t,e])));return Object.freeze({revision:u,catalog:d,operations:Object.freeze(s),moduleAliases:f,namespacePaths:o})}function DT(){return null}var OT=Nn(),kT=_(()=>Wt([yr(),x(),t(),qn()])),AT=_(()=>yn(x(),Gr())),jT=_(()=>oS.extend({timeoutMs:qn().int().min(1).max(9e5).optional(),abortGraceMs:qn().int().min(1).max(3e4).optional()}).optional()),MT=64,NT=262144,PT=new TextEncoder,FT=e=>{e(v(void 0))};function IT(e){let t=jT.safeParse(e);if(!t.success)throw new G(`Execution policy is invalid`);let n=t.data?.timeoutMs??18e4;return Object.freeze({timeoutMs:n,abortGraceMs:t.data?.abortGraceMs??5e3,...sS({sandboxCapacity:t.data?.sandboxCapacity,admissionWaitMs:t.data?.admissionWaitMs??n},(t.data?.sandboxCapacity,void 0))})}function LT(e){return b(function*(){let t=yield*m_(e);return Object.freeze({createGroup:()=>{let e=0,n=new Set,r=Kn(t=>e===0?(t(v(void 0)),S(()=>void 0)):(n.add(t),S(()=>n.delete(t))));return Object.freeze({start:r=>ti(i=>S(()=>{e+=1}).pipe(g(ne(i(t.withPermits(1)(r)).pipe(Qn(S(()=>{if(--e,e===0){let e=[...n];n.clear(),e.forEach(FT)}}))))))),awaitIdle:r})}})})}function RT(e,t=0){if(t>MT)throw Error(`JSON value exceeds the nesting bound`);let n=kT.safeParse(e);if(n.success)return n.data;if(Array.isArray(e))return e.map(e=>RT(e,t+1));let r=AT.safeParse(e);if(!r.success)throw r.error;return Object.fromEntries(Object.entries(r.data).filter(([,e])=>e!==void 0).map(([e,n])=>[e,RT(n,t+1)]))}function zT(e){return OT.parse(RT(e))}function BT(e){let t=JSON.stringify(zT(e)),n=PT.encode(t).byteLength;if(n>NT)throw new Ux({size:n});return Object.freeze({text:t})}function VT(e,t){return Object.freeze(Object.fromEntries(Object.entries(e).map(([e,n])=>[e,Object.freeze(Object.fromEntries(Object.entries(n).map(([n,r])=>[n,async i=>{t();try{return zT(await r(i))}catch(t){throw Zx(t)?t:t instanceof Eb?new Gx({namespace:e,operation:n,cause:{kind:`Forage`,message:t.message},rawCause:t}):t instanceof Nx?new Gx({namespace:e,operation:n,cause:{kind:`InvalidInput`,message:`Invalid operation input: ${Dt({issues:t.issues})}; use forage.describe`},rawCause:t}):t}}])))])))}function HT(e){return Kn(t=>{let n=t.bind(void 0,ft);return e.aborted?n():e.addEventListener(`abort`,n,{once:!0}),S(e.removeEventListener.bind(e,`abort`,n))})}function UT(e,t){if(e===void 0)return()=>void 0;let n=t.bind(void 0);return e.aborted?(n(),()=>void 0):(e.addEventListener(`abort`,n,{once:!0}),e.removeEventListener.bind(e,`abort`,n))}function WT(e,t,n){return e===`deadline_exceeded`?new Lx({limitMs:t,elapsedMs:n??0}):new zx({by:`caller`})}function GT(e){return Ca.pipe(Se(t=>t-e))}function KT(t){return Ca.pipe(C(n=>Cn(()=>{let r=t.executionId,i=new AbortController,a=n,o={kind:`waiting`},s,c=e=>{s===void 0&&o.kind!==`refused`&&(s=e,i.abort())},l=e=>{let n=new Rx({capacity:t.policy.capacity,waitedMs:Math.max(0,e-a)});return o={kind:`refused`,failure:n},n},u=()=>{if(i.signal.aborted)throw WT(s,t.policy.timeoutMs)},d=UT(t.callerSignal,()=>{c(`cancelled`)}),f=n+t.policy.timeoutMs,p={executionId:r,deadlineAt:f,signal:i.signal,images:t.images};t.toolCallId!==void 0&&Object.assign(p,{toolCallId:t.toolCallId}),t.output!==void 0&&Object.assign(p,{output:t.output});let m=Object.freeze(p),ee=Cn(()=>Ca.pipe(C(e=>o.kind===`refused`?y(o.failure):(e>=f&&c(`deadline_exceeded`),i.signal.aborted?GT(n).pipe(C(e=>y(WT(s,t.policy.timeoutMs,e)))):e>=a+t.policy.waitMs?y(l(e)):(o={kind:`admitted`},t.sandbox.execute(Object.freeze({executionId:r,code:t.code,timeoutMs:t.policy.timeoutMs,bindings:VT(t.createBindings(m),u),modules:t.modules,namespacePaths:t.namespacePaths,sessionId:t.sessionId}),i.signal).pipe(Rr(e=>Bi(e)?Ut(e):y(Qx(Hi(e)))))))))),te=e=>s_(e).pipe(Jt({duration:t.policy.abortGraceMs,orElse:()=>y(s===`deadline_exceeded`?new Lx({limitMs:t.policy.timeoutMs,elapsedMs:t.policy.timeoutMs,acknowledged:!1}):new zx({by:`caller`,acknowledged:!1}))})),ne,re=!1,ie=e=>(re=!0,GT(n).pipe(C(n=>{let i=Qx(e),a=i instanceof Lx?new Lx({limitMs:i.limitMs,elapsedMs:n,acknowledged:i.acknowledged}):i,o=qx(a,r),s=yn(x(),Nn()).parse(eS(a));s.ref=r;let c={kind:`sandbox_failure`,ref:r,executionId:r,adapter:t.sandbox.adapter??`effect`,buildSha:t.sandbox.buildSha??DT(),tag:o._tag,fields:s,healthAlert:o._tag===`Unknown`},l=Cn(()=>t.sandbox.onFailure?.(c)??ft);return Ze(`sandbox_failure`,c).pipe(or({executionId:r,ref:r,adapter:c.adapter,tag:c.tag,buildSha:c.buildSha}),g(o._tag===`Unknown`?ro(io(no(`sandbox_unknown`),{adapter:c.adapter}),1).pipe(g(Ze(`sandbox_health_alert`).pipe(or({ref:r,adapter:c.adapter})))):ft),g(l.pipe(Rr(e=>Ze(`sandbox_failure_record_failed`,e)))),Or(o))})));return b(function*(){if(i.signal.aborted){let e=yield*GT(n);return yield*y(WT(s,t.policy.timeoutMs,e))}a=yield*Ca,ne=yield*t.backingWork.start(ee);let r=yield*Ca,u=Ur(Math.max(0,a+t.policy.waitMs-r)).pipe(g(Ca),C(e=>o.kind===`admitted`?Et:o.kind===`refused`?v({kind:`busy`,failure:o.failure}):i.signal.aborted?v({kind:`cancelled`}):e>=f?(c(`deadline_exceeded`),v({kind:`deadline`})):v({kind:`busy`,failure:l(e)}))),d=yield*e(a_(ne).pipe(Se(e=>Object.freeze({kind:`settled`,exit:e}))),e(Ur(Math.max(0,f-r)).pipe(g(S(()=>(c(`deadline_exceeded`),Object.freeze({kind:`deadline`}))))),e(HT(i.signal).pipe(Or(Object.freeze({kind:`cancelled`}))),u))),p=o.kind===`refused`?o.failure:d.kind===`busy`?d.failure:void 0;if(p!==void 0)return yield*te(ne).pipe(g(y(p)));if(d.kind===`settled`)return yield*_e(d.exit,{onFailure:e=>s===void 0?Ut(e):GT(n).pipe(C(e=>y(WT(s,t.policy.timeoutMs,e)))),onSuccess:e=>ai({try:()=>BT(e),catch:t=>Zx(t)?t:new Wx({kind:$x(e),rawCause:t})})});d.kind===`deadline`&&c(`deadline_exceeded`);let m=yield*GT(n);return yield*te(ne).pipe(g(y(WT(s,t.policy.timeoutMs,m))))}).pipe(Ee(()=>(c(`cancelled`),(ne===void 0?ft:s_(ne).pipe(En(t.policy.abortGraceMs),rn)).pipe(g(Cn(()=>re?ft:ie(new zx({by:`operator`})).pipe(rn))))))).pipe(un(e=>ie(e).pipe(C(y))),Qn(S(d)))})))}var qT=lm(()=>F([Zp,Xp,Qp,M,j,Oh,bm(AbortSignal),P(qT),JT])),JT=nm(j,qT);function YT(e){return E(JT)(e)}var XT=nm(j,Bh),ZT=E(N({samplingParams:O(XT),samplingParamsByThinkingLevel:O(N({off:O(XT),minimal:O(XT),low:O(XT),medium:O(XT),high:O(XT),xhigh:O(XT),max:O(XT)}))}));function QT(e){return{...e,...ZT(e)}}function $T(e){if(e===void 0)return;let{onPayload:t,onProviderStreamEvent:n,onResponse:r,...i}=e,a={...i};return t!==void 0&&(a.onPayload=(e,n)=>t(YT(e),QT(n))),n!==void 0&&(a.onProviderStreamEvent=(e,t)=>n(YT(e),QT(t))),r!==void 0&&(a.onResponse=(e,t)=>r(e,QT(t))),a}var eE=async(e,t,n)=>{let{streamSimple:r}=await ui(async()=>{let{streamSimple:e}=await import(`./compat-BQZx9Jx3.js`);return{streamSimple:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return r(e,li(t),$T(n))},tE=N({error:N({code:k(j),type:k(j)})});Fp(N({type:A(`response.failed`),response:tE})),Fp(U(tE)),E(bm(Uint8Array)),Fp(wh.check(Um({minimum:0,maximum:60}))),Fp(wh.check(Gm(),Um({minimum:0,maximum:864e10}))),Fp(I([`five_hour`,`seven_day`,`seven_day_opus`,`seven_day_sonnet`])),Fp(A(`rejected`)),Fp(A(`0`)),Fp(Fh),Fp(N({type:A(`error`),error:N({type:A(`overloaded_error`)})}));var nE=[/prompt (?:is )?too long/i,/prompt exceeds max length/i,/request_too_large/i,/input is too long for requested model/i,/exceeds the context window/i,/exceeds (?:the )?(?:model'?s )?maximum context length(?: of [\d,]+ tokens?|\s*\([\d,]+\))/i,/input token count.*exceeds the maximum/i,/maximum prompt length is \d+/i,/reduce the length of the messages/i,/maximum context length is \d+ tokens/i,/exceeds (?:the )?maximum allowed input length of [\d,]+ tokens?/i,/input \(\d+ tokens\) is longer than the model'?s context length \(\d+ tokens\)/i,/exceeds the limit of \d+/i,/exceeds the available context size/i,/greater than the context length/i,/context window exceeds limit/i,/exceeded model token limit/i,/too large for model with \d+ maximum context length/i,/prompt has [\d,]+ tokens?, but the configured context size is [\d,]+ tokens?/i,/model_context_window_exceeded/i,/prompt too long; exceeded (?:max )?context length/i,/range of input length should be/i,/context[_ ]length[_ ]exceeded/i,/too many tokens/i,/token limit exceeded/i],rE=/^4(?:00|13)\s*(?:status code)?\s*\(no body\)/i,iE=[/^(Throttling error|Service unavailable):/i,/rate limit/i,/too many requests/i];function aE(e,t){return!!(e.stopReason===`error`&&e.errorMessage&&!iE.some(t=>t.test(e.errorMessage))&&(nE.some(t=>t.test(e.errorMessage))||e.provider===`cerebras`&&rE.test(e.errorMessage))||t&&e.stopReason===`stop`&&e.usage.input+e.usage.cacheRead>t||t&&e.stopReason===`length`&&e.usage.output===0&&e.usage.input+e.usage.cacheRead>=t*.99)}function oE(e,t){return e.stopReason===`length`&&t>0&&e.usage.output<t}function sE(e){return new RegExp(e.join(`|`),`i`)}var cE=sE([`GoUsageLimitError`,`FreeUsageLimitError`,`Monthly usage limit reached`,`available balance`,`insufficient_quota`,`out of budget`,`quota exceeded`,`billing`,`subscription_sharing_usage_limit_exceeded`]),lE=sE(`overloaded,server_busy,servers are currently busy,currently experiencing high demand,model is at capacity,rate.?limit,too many requests,429,500,502,503,504,520,524,service.?(?:is.?)?(?:temporarily.?)?unavailable,server.?error,internal.?error,provider.?returned.?(?:an.?)?error,exceeded request buffer limit while retrying upstream,unable to forward upstream,network.?error,connection.?error,connection.?refused,connection.?lost,other side closed,fetch failed,getaddrinfo,ENOTFOUND,EAI_AGAIN,upstream.?connect,reset before headers,socket hang up,socket connection was closed,timed? out,timeout,terminated,websocket.?closed,websocket.?error,ended without,stream ended before message_stop,stream ended before a terminal response event,http2 request did not get a response,pending stream has been canceled,retry delay,you can retry your request,try your request again,please retry your request,ResourceExhausted,subscription_sharing_usage_unavailable,subscription_sharing_user_unavailable`.split(`,`)),uE=6e4;function dE(e,t){let n=e.baseDelayMs*2**Math.max(0,t-1);return Math.min(Number.isSafeInteger(n)?n:2**53-1,e.maxAgentDelayMs??6e4)}var fE=class extends Error{constructor(){super(`Aborted`)}};function pE(e,t){return new Promise((n,r)=>{if(t?.aborted){r(new fE);return}let i=setTimeout(n,e);t?.addEventListener(`abort`,()=>{clearTimeout(i),r(new fE)},{once:!0})})}async function mE(e,t,n,r){let i=t?.enabled?t.maxRetries:0,a=0,o;for(;;){let s=await e();if(s.stopReason===`aborted`)return o&&await r?.onRetryFinished?.(!1,o.attempt),s;if(s.stopReason!==`error`)return o&&await r?.onRetryFinished?.(!0,o.attempt),s;if(a>=i||!hE(s))return o&&await r?.onRetryFinished?.(!1,o.attempt,s.errorMessage),s;a++,o={attempt:a,errorMessage:s.errorMessage||`Unknown error`};let c=dE(t,a);await r?.onRetryScheduled?.(a,i,c,o.errorMessage);try{await pE(c,n)}catch(e){if(await r?.onRetryFinished?.(!1,a,o.errorMessage),e instanceof fE){let{errorMessage:e,...t}=s;return{...t,stopReason:`aborted`}}throw e}await r?.onRetryAttemptStart?.()}}function hE(e){if(e.stopReason!==`error`||!e.errorMessage)return!1;let t=e.errorMessage;return!cE.test(t)&&lE.test(t)}var gE={assign:0,create:0,clone:0,discard:0,update:0};function _E(e){return yE(e,null)}function vE(e){return yE(typeof e,`object`)&&!_E(e)}function yE(e,t){return e===t}function bE(e){return yE(e,`__proto__`)||yE(e,`constructor`)||yE(e,`prototype`)}function xE(e,t){return bE(t)?Object.prototype.hasOwnProperty.call(e,t):t in e}function SE(e){return Object.getOwnPropertyNames(e)}var CE={immutableTypes:!1,maxErrors:8,maxInstantiationCount:128,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1,unionPrioritySort:!0};function wE(){return CE}function TE(e){return wE().immutableTypes?Object.freeze(e):e}function EE(e,t){for(let n of Object.keys(t))Object.defineProperty(e,n,{configurable:!0,writable:!0,enumerable:!1,value:t[n]});return e}function DE(e,t){return{...e,...t}}function OE(e,t,n={}){gE.create+=1;let r=DE(t,n);return TE(wE().enumerableKind?DE(r,e):EE(r,e))}function kE(e){return vE(e)}function AE(e){return kE(e)&&xE(e,`~optional`)}function jE(e){return SE(e).filter(t=>!AE(e[t]))}function ME(e,t={}){let n=jE(e);return OE({"~kind":`Object`},{type:`object`,...n.length>0?{required:n}:{},properties:e},t)}var NE;(function(e){e[e.Array=0]=`Array`,e[e.BigInt=1]=`BigInt`,e[e.Boolean=2]=`Boolean`,e[e.Date=3]=`Date`,e[e.Constructor=4]=`Constructor`,e[e.Function=5]=`Function`,e[e.Null=6]=`Null`,e[e.Number=7]=`Number`,e[e.Object=8]=`Object`,e[e.RegExp=9]=`RegExp`,e[e.String=10]=`String`,e[e.Symbol=11]=`Symbol`,e[e.TypeArray=12]=`TypeArray`,e[e.Undefined=13]=`Undefined`})(NE||={}),Array.from({length:256}).map((e,t)=>BigInt(t));var PE=new Float64Array(1);new DataView(PE.buffer),new Uint8Array(PE.buffer),new TextEncoder;var FE=`-?(?:0|[1-9][0-9]*)`,IE=`-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?`;function LE(e){return OE({"~kind":`String`},{type:`string`},e)}var RE=`^${FE}$`;`${IE}`;function zE(e,t){return Array.from({length:t-e+1},(t,n)=>String.fromCharCode(e+n))}var BE=[...zE(97,122),...zE(65,90)],VE=[`0`,...zE(49,57)];[...VE],[...BE,...VE],[...VE],new RegExp(RE);var HE={enabled:!0,maxRetries:3,baseDelayMs:2e3,maxAgentDelayMs:6e4},UE={firstEventMs:6e4,idleMs:12e4,attemptMs:6e5,outputBytes:2097152},WE=1e3,GE=Symbol(`Mule model limit`);function KE(e,t){return aE(e,t)}var qE=(e,t,n)=>({_tag:`MuleError`,phase:e,message:t,cause:n}),JE=(e,t)=>({kind:e,value:`mule_${e}_${Zh()}`,parent:t}),YE=()=>ft;function XE(e,t){let n={role:`toolResult`,toolCallId:e.id,toolName:e.name,content:t.content,isError:t.isError,timestamp:Date.now()};return t.usage!==void 0&&(n.usage=t.usage),n}var ZE=(e,t)=>({content:[{type:`text`,text:e}],isError:!0,terminate:t});function QE(e,t){return e.find(e=>e.descriptor.name===t.name)}function $E(e,t,n,r){return r({type:`tool_execution_end`,run:t,turn:n,toolCall:e.identity,call:e.call,result:e.result})}function eD(e,t,n,r,i){let a=JE(`tool_call`,r);return b(function*(){if(yield*i({type:`tool_execution_start`,replay:e?.replay??`unsafe`,run:n,turn:r,toolCall:a,call:t}),e===void 0){let e=ZE(`Tool "${t.name}" not found`),o={call:t,identity:a,result:e};return yield*$E(o,n,r,i),{kind:`finalized`,value:o}}let o=yield*_n(e.prepare(t));if(Ct(o)){let e=ZE(o.failure.message,o.failure.terminate),s={call:t,identity:a,result:e};return yield*$E(s,n,r,i),{kind:`finalized`,value:s}}return{kind:`prepared`,call:t,identity:a,tool:o.success}})}function tD(e,t,n,r){return b(function*(){let i,a;yield*qv(Pv(e.tool.execute()),o=>Ct(o)?(a=o.failure,ft):i===void 0?o.success.type===`result`?(i=o.success.result,ft):r({type:`tool_execution_update`,run:t,turn:n,toolCall:e.identity,call:e.call,result:o.success.result}):ft);let o=a===void 0?i??ZE(`Tool "${e.call.name}" returned no result`):ZE(a.message),s={call:e.call,identity:e.identity,result:o};return yield*$E(s,t,n,r),s})}function nD(e,t,n,r){let i=XE(e.call,e.result),a=JE(`tool_result`,e.identity);return b(function*(){return yield*r({type:`message_start`,run:t,turn:n,message:a,value:i}),yield*r({type:`message_end`,run:t,turn:n,message:a,value:i,data:e.result.data}),i})}function rD(e,t,n,r,i){let a=t.tools??[],o=t.toolExecution===`sequential`||e.some(e=>QE(a,e)?.executionMode===`sequential`);return b(function*(){let t=e=>e.kind===`finalized`?v(e.value):tD(e,n,r,i),s=o?yield*Yr(e,e=>C(eD(QE(a,e),e,n,r,i),t)):yield*b(function*(){let o=yield*Yr(e,e=>eD(QE(a,e),e,n,r,i));return yield*Mn(o.map(t),{concurrency:`unbounded`})});return{messages:yield*Yr(s,e=>nD(e,n,r,i)),terminate:s.length>0&&s.every(e=>e.result.terminate===!0)}})}var iD=e=>ZE(`Tool call "${e.name}" was not executed: the response hit the output token limit, so its arguments may be truncated. Re-issue the tool call with complete arguments.`);function aD(e,t,n,r){return b(function*(){let i=yield*Yr(e,e=>b(function*(){let i=JE(`tool_call`,n),a={call:e,identity:i,result:iD(e)};return yield*r({type:`tool_execution_start`,replay:`unsafe`,run:t,turn:n,toolCall:i,call:e}),yield*$E(a,t,n,r),a}));return yield*Yr(i,e=>nD(e,t,n,r))})}function oD(e,t){return Jr({try:n=>{let r=()=>{t.abort(n.reason)};return n.aborted?r():n.addEventListener(`abort`,r,{once:!0}),Promise.resolve(e.next()).finally(()=>{n.removeEventListener(`abort`,r)})},catch:e=>qE(`model`,`Pi model stream failed`,e)})}function sD(e,t,n){return e.pipe(Jt({duration:t,orElse:()=>y(qE(`model`,n(),GE))}))}function cD(e,t,n,r,i,a){let o=JE(`message`,r),s,c={started:!1,terminal:void 0};return ln(b(function*(){let l=e.modelStreamLimits,u=Math.min(l?.firstEventMs??UE.firstEventMs,UE.firstEventMs),d=Math.min(l?.attemptMs??UE.attemptMs,UE.attemptMs),f=Math.min(l?.outputBytes??UE.outputBytes,UE.outputBytes);if([u,d,f,e.modelStreamIdleTimeoutMs??1].some(e=>!Number.isSafeInteger(e)||e<=0))return yield*y(qE(`model`,`Model stream limits must be positive safe integers`));let p=Date.now(),m=p,ee=0,te=0,ne=new TextEncoder,re=!1,ie=e=>qE(`model`,`Model ${e} after ${String(Date.now()-p)} ms (max provider gap ${String(Math.max(ee,Date.now()-m))} ms, streamed ${String(te)} bytes)`,GE),ae=t=>{let n=Date.now()-p,r=d-n,i=Math.min(re?UE.idleMs:u,e.modelStreamIdleTimeoutMs??UE.idleMs)-(Date.now()-m),a=r<=i?`attempt timed out`:re?`stream timed out (silence)`:`first event timed out`;return sD(t,Math.max(0,Math.min(r,i)),()=>ie(a).message)},oe=new AbortController;yield*Sr(()=>S(()=>{oe.abort(`Mule model scope closed`)}));let se=(e.resolveApiKey===void 0?void 0:yield*e.resolveApiKey(e.model.provider))??e.streamOptions?.apiKey,ce={...e.streamOptions,maxRetries:0,signal:oe.signal};se!==void 0&&(ce.apiKey=se);let le=e.prepareSystemPrompt===void 0?e.systemPrompt:yield*e.prepareSystemPrompt();e.prepareSystemPrompt!==void 0&&(yield*i({type:`model_prompt`,run:n,turn:r,attempt:a,systemPrompt:le}));let ue={systemPrompt:le,messages:t},de=(e.tools??[]).map(e=>e.descriptor);de.length>0&&(ue.tools=de);let fe=yield*ae(Jr({try:async()=>(e.stream??eE)(e.model,li(ue),ce),catch:e=>qE(`model`,`Pi model stream could not start`,e)})),pe=yield*Mr(S(()=>fe[Symbol.asyncIterator]()),e=>Jr({try:()=>(oe.abort(`Mule model stream closed`),new Promise(t=>{let n=setTimeout(t,WE);Promise.resolve(e.return?.()).then(()=>{clearTimeout(n),t()},()=>{clearTimeout(n),t()})})),catch:e=>qE(`model`,`Pi model stream failed`,e)}).pipe(ze)),me=e=>{let a=Date.now();if(ee=Math.max(ee,a-m),m=a,re=!0,(e.type===`text_delta`||e.type===`thinking_delta`||e.type===`toolcall_delta`)&&(te+=ne.encode(e.delta).byteLength,te>f))return y(ie(`output limit exceeded`));switch(`partial`in e&&(s=e.partial),e.type){case`start`:return t.push(e.partial),c.started=!0,i({type:`message_start`,run:n,turn:r,message:o,value:e.partial});case`text_start`:case`text_delta`:case`text_end`:case`thinking_start`:case`thinking_delta`:case`thinking_end`:case`toolcall_start`:case`toolcall_delta`:case`toolcall_end`:return c.started&&(t[t.length-1]=e.partial),i({type:`message_update`,run:n,turn:r,message:o,value:e.partial,event:e});case`done`:return c.terminal=e.message,ft;case`error`:return c.terminal=e.error,ft}},he=()=>ae(oD(pe,oe)),h=yield*he();for(;!h.done;)yield*me(h.value),h=yield*he();let ge=c.terminal??(yield*ae(Jr({try:()=>fe.result(),catch:e=>qE(`model`,`Pi model stream did not settle`,e)})));return c.started?t[t.length-1]=ge:(t.push(ge),yield*i({type:`message_start`,run:n,turn:r,message:o,value:ge})),yield*i({type:`message_end`,run:n,turn:r,message:o,value:ge}),{identity:o,message:ge}}).pipe(un(l=>{if(l.cause!==GE)return y(l);let u={role:`assistant`,content:s?.content??[],api:e.model.api,provider:e.model.provider,model:e.model.id,usage:s?.usage??{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,timestamp:Date.now(),errorMessage:e.retry?.enabled&&a>e.retry.maxRetries?`The model failed ${String(a)} times on this conversation: ${l.message}`:l.message};return b(function*(){return c.started?t[t.length-1]=u:(t.push(u),yield*i({type:`message_start`,run:n,turn:r,message:o,value:u})),yield*i({type:`message_end`,run:n,turn:r,message:o,value:u}),{identity:o,message:u,limitReached:!0}})})))}function lD(e,t,n,r,i){return b(function*(){let a=e.retry===void 0?void 0:{...e.retry};if(a?.enabled&&[a.maxRetries,a.baseDelayMs,a.maxAgentDelayMs??6e4].some(e=>!Number.isSafeInteger(e)||e<0))return yield*y(qE(`model`,`Retry policy requires non-negative safe-integer counts and delays`));let o,s=0,c=0,l=!1,u,d=t=>e.onRetry===void 0?ft:e.onRetry(t),f=(e,t)=>b(function*(){l=!0,yield*d(t===void 0?{type:`retry_finished`,run:n,turn:r,attempt:c,success:e}:{type:`retry_finished`,run:n,turn:r,attempt:c,success:e,finalError:t})});return yield*b(function*(){for(;;){if(o!==void 0){let e=t.indexOf(o.message);e!==-1&&t.splice(e,1)}o=yield*cD(e,t,n,r,i,++s);let l=o.message;if(l.stopReason!==`error`||a===void 0||!a.enabled||c>=a.maxRetries)return c>0&&(yield*f(l.stopReason!==`error`&&l.stopReason!==`aborted`,l.stopReason===`error`?l.errorMessage:void 0)),o;if(!(yield*ai({try:()=>o?.limitReached===!0||e.retryable(l),catch:e=>qE(`model`,`Typed model retry decision failed`,e)})))return c>0&&(yield*f(!1,l.errorMessage)),o;c++,u=l.errorMessage??`Unknown error`;let p=yield*ai({try:()=>e.retryAfterMs?.(l),catch:e=>qE(`model`,`Model retry delay observation failed`,e)}),m=Math.max(dE(a,c),p!==void 0&&Number.isSafeInteger(p)&&p>=0&&p<=6e4?p:0),ee=Math.min(1e3,m/4,Math.max(0,6e4-m)),te=m+Math.floor(Math.random()*ee);yield*d({type:`retry_scheduled`,run:n,turn:r,attempt:c,maxAttempts:a.maxRetries,delayMs:te,errorMessage:u}),yield*Ur(te),yield*d({type:`retry_attempt_started`,run:n,turn:r,attempt:c})}}).pipe(Ee(()=>c===0||l?ft:f(!1,u)))})}var uD=e=>e.stopReason===`aborted`?`cancelled`:e.stopReason===`error`?`failed`:`completed`;function dD(e,t,n,r,i,a){return Yr(e,e=>b(function*(){let o=JE(`message`,i);t.push(e),n.push(e),yield*a({type:`message_start`,run:r,turn:i,message:o,value:e}),yield*a({type:`message_end`,run:r,turn:i,message:o,value:e})})).pipe(rn)}function fD(e,t,n,r,i,a,o){return b(function*(){yield*o({type:`turn_start`,run:r,turn:i}),yield*dD(a,t,n,r,i,o);let s=yield*lD(e,t,r,i,o),c=uD(s.message)!==`completed`,l=s.message.content.filter(e=>e.type===`toolCall`),u=l.length===0||c?{messages:[],terminate:!1}:s.message.stopReason===`length`?{messages:yield*aD(l,r,i,o),terminate:!1}:yield*rD(l,e,r,i,o);t.push(...u.messages),n.push(s.message,...u.messages),yield*o({type:`turn_end`,run:r,turn:i,message:s.message,toolResults:u.messages});let d={message:s.message,toolResults:u.messages,terminate:u.terminate};return s.limitReached&&s.message.errorMessage!==void 0?{...d,modelLimitReason:s.message.errorMessage}:d})}function pD(e,t,n,r,i,a){let o=JE(`turn`,i);return b(function*(){if(uD(t.message)!==`completed`)return{message:t.message,toolResults:[],terminate:!0};let s=yield*Yr(t.tools,n=>b(function*(){if(n.state===`completed`&&n.message!==void 0)return{message:n.message,terminate:n.result.terminate===!0,recorded:!0};let r=QE(e.tools??[],n.call),s;if(t.message.stopReason!==`length`&&(n.state===`pending`||n.state===`started`&&n.replay===`safe`&&r?.replay===`safe`)){let e=yield*eD(r,n.call,i,o,a);s=e.kind===`finalized`?e.value:yield*tD(e,i,o,a)}else s={call:n.call,identity:JE(`tool_call`,o),result:n.state===`completed`?n.result:n.state===`pending`&&t.message.stopReason===`length`?iD(n.call):ZE(`Interrupted by a restart; it may or may not have completed; check before retrying.`)},yield*a({type:`tool_execution_start`,replay:`unsafe`,run:i,turn:o,toolCall:s.identity,call:s.call}),yield*$E(s,i,o,a);return{message:yield*nD(s,i,o,a),terminate:s.result.terminate===!0,recorded:!1}})),c=s.filter(({recorded:e})=>!e).map(({message:e})=>e);return n.push(...c),r.push(...c),{message:t.message,toolResults:s.map(({message:e})=>e),terminate:s.length>0&&s.every(({terminate:e})=>e)}})}function mD(e,t,n,r){return b(function*(){if(e.shouldStopAfterTurn!==void 0&&(yield*e.shouldStopAfterTurn({message:t.message,toolResults:t.toolResults,context:n,newMessages:r})))return{continue:!1,pending:[]};let i=e.getSteeringMessages===void 0?[]:[...yield*e.getSteeringMessages()];if(t.message.content.some(e=>e.type===`toolCall`)&&!t.terminate||i.length>0)return{continue:!0,pending:i};let a=e.getFollowUpMessages===void 0?[]:[...yield*e.getFollowUpMessages()];return{continue:a.length>0,pending:a}})}function hD(e,t,n,r,i,a,o){return b(function*(){yield*a({type:`run_end`,run:e,terminal:t,outcome:i});let s={status:i,run:e,terminal:t,message:n,messages:r};return o===void 0?s:{...s,modelLimitReason:o}})}function gD(e,t=YE){return b(function*(){let n=yield*m_(1),r={started:!1,ended:!1},i=e=>Cn(()=>(e.type===`run_end`&&(r.ended=!0),n.withPermits(1)(t(e)))).pipe(nr(()=>S(()=>{e.type===`run_start`&&(r.started=!0)}))),a=JE(`run`),o=JE(`terminal`,a);return yield*vD(e,i,a,o).pipe(Ae(e=>{let t=_D(e);return!r.started||r.ended||t===void 0?ft:i({type:`run_end`,run:a,terminal:o,outcome:t}).pipe(ze)}))})}function _D(e){if(ta(e))return;if(Bi(e.cause))return`cancelled`;let t=Wi(e.cause);if(!(gn(t)&&t.value.phase===`listener`))return`failed`}function vD(e,t,n,r){return b(function*(){let i=[...e.messages],a=[],o=e.getSteeringMessages===void 0?[]:[...yield*e.getSteeringMessages()],s,c;if(yield*t({type:`run_start`,run:n}),e.resume!==void 0){let s=yield*pD(e,e.resume,i,a,n,t),c=uD(s.message),l=c===`completed`?yield*mD(e,s,i,a):{continue:!1,pending:[]};if(!l.continue&&o.length===0)return yield*hD(n,r,s.message,a,c,t);o.push(...l.pending)}do{let l=yield*fD(e,i,a,n,JE(`turn`,n),o,t);s=l.message;let u=uD(l.message);if(u!==`completed`)return yield*hD(n,r,l.message,a,u,t,l.modelLimitReason);if(e.prepareNextTurn!==void 0&&!l.terminate&&l.message.content.some(e=>e.type===`toolCall`)){let t=yield*e.prepareNextTurn({message:l.message,toolResults:l.toolResults,context:i,newMessages:a});t!==void 0&&i.splice(0,i.length,...t)}let d=yield*mD(e,l,i,a);o=[...d.pending],c=d.continue}while(c);return yield*hD(n,r,s,a,`completed`,t)})}var yD={run:gD},bD=class{#e=new Map;#t;constructor(e=8){this.#t=e}push(e,t){let n=this.#e.get(e)??[];if(n.length>=this.#t)throw new Gx({namespace:`execute`,operation:`images`,cause:{kind:`Unavailable`,message:`Image collector cap reached for this execution (max ${String(this.#t)} images). Process images one at a time or write them to files.`}});let r=`img_${String(n.length)}`;return n.push(Object.freeze({...t})),this.#e.set(e,n),r}drain(e){let t=this.#e.get(e);return t===void 0?[]:(this.#e.delete(e),t)}dispose(e){this.#e.delete(e)}},xD=8192,SD=xD*4,CD=new TextEncoder,wD=()=>new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!1}),TD=class e{wake;#e={stdout:{decoder:wD(),pending:new Uint8Array},stderr:{decoder:wD(),pending:new Uint8Array}};#t=wD();#n=Array.from({length:xD},()=>void 0);#r=0;#i=0;#a=0;#o=0;#s=0;#c=0;#l=!1;#u=!1;constructor(e){this.wake=e}static make(){return Og({capacity:1,strategy:`dropping`}).pipe(Se(t=>new e(t)))}write(e,t){if(this.#u||t.length===0)return;let n=this.#e[e];this.#c+=t.length;for(let e=0;e<t.length;e+=SD){let r=t.subarray(e,e+SD),i=n.decoder.decode(r,{stream:!0}),a=new Uint8Array(n.pending.length+r.length);a.set(n.pending),a.set(r,n.pending.length);let o=this.#f(a);n.pending=a.slice(a.length-o),this.#h(i,a.length-o,a)}this.#l=!0,jg(this.wake,void 0)}#d(e,t){let n=this.#t.decode(e.subarray(0,t),{stream:!0});return this.#t.decode(),n}#f(e){for(let t=1;t<=Math.min(3,e.length);t++){let n=e.subarray(e.length-t);if(this.#d(n,n.length).length===0)return t}return 0}#p(){let e=this.#n[this.#r];if(e===void 0)throw Error(`Missing output ring entry`);this.#n[this.#r]=void 0,this.#r=(this.#r+1)%xD,this.#i--,this.#a-=e.textBytes,this.#o-=e.newlines,this.#s+=e.rawBytes}#m(e,t,n){let r=e.raw;if(r===null){this.#p();return}let i=e=>{let i=this.#d(r,e);return CD.encode(i).length>=t&&i.split(`
19
19
  `).length-1>=n},a=Math.min(r.length,Math.max(4,t));for(;a<r.length&&!i(a);)a=Math.min(r.length,a*2);let o=0;for(;o<a;){let e=Math.floor((o+a)/2);i(e)?a=e:o=e+1}let s=this.#d(r,o);if(s.length===e.text.length){this.#p();return}let c=o-this.#f(r.subarray(0,o)),l=CD.encode(s).length,u=s.split(`
20
20
  `).length-1;e.raw=r.slice(c),e.text=this.#d(e.raw,e.raw.length),e.rawBytes-=c,e.textBytes-=l,e.newlines-=u,this.#a-=l,this.#o-=u,this.#s+=c}#h(e,t,n){if(e.length===0)return;let r={text:e,raw:n,rawBytes:t,textBytes:CD.encode(e).length,newlines:e.split(`
21
- `).length-1};for(this.#i===xD&&this.#p(),this.#n[(this.#r+this.#i)%xD]=r,this.#i++,this.#a+=r.textBytes,this.#o+=r.newlines;this.#a>xD||this.#o>=200;){let e=this.#n[this.#r];if(e===void 0)throw Error(`Missing output ring entry`);let t=Math.max(0,this.#a-xD),n=Math.max(0,this.#o-199);e.textBytes<=t||e.newlines<n?this.#p():this.#m(e,t,n)}}snapshot(){let e=``;for(let t=0;t<this.#i;t++){let n=this.#n[(this.#r+t)%xD];if(n===void 0)throw Error(`Missing output ring entry`);e+=n.text}return{tail:e,droppedBytes:this.#s,totalBytes:this.#c}}#g(){if(!this.#l)return;this.#l=!1;let{tail:e,...t}=this.snapshot();return{type:`update`,result:{isError:!1,content:[{type:`text`,text:e}],data:t}}}finish(){if(!this.#u){this.#u=!0;for(let e of[this.#e.stdout,this.#e.stderr]){let t=e.decoder.decode();this.#h(t,e.pending.length,null),e.pending=new Uint8Array,t.length>0&&(this.#l=!0)}return this.#g()}}get updates(){return kv(this.wake).pipe(Nv(()=>Ur(`100 millis`).pipe(Se(()=>this.#u?void 0:this.#g()))),Bv(e=>e!==void 0))}dispose(){this.#u=!0,this.#n.fill(void 0),this.#r=this.#i=this.#a=this.#o=0,this.#c=this.#s=0,this.#l=!1;for(let e of[this.#e.stdout,this.#e.stderr])e.decoder.decode(),e.pending=new Uint8Array}},ED=N({code:j}),DD='Inside execute, call forage.search, forage.list or forage.describe to discover operations and inspect their inputs. forage is available only there, not as a separate tool. Run async JavaScript in the sandbox. Each call is a fresh sandbox, not a REPL: nothing survives between calls, so redefine helpers or persist state to a file. Never shadow injected module names with local bindings. Find operations with await forage.search({ query }) using one short keyword such as read or shell, or page them all with forage.list({limit:50}), optionally by namespace, until nextCursor is null. Inspect input with await forage.describe({ path }) before calling; describe known paths directly. Call an operation as await env.<path>({ ... }) with the exact dotted path, for example await env.computers.local.exec({ command: "pwd" }); a bare computers.local.exec is not defined. Put multiline shell commands in a template literal. Code is JavaScript first, so double each backslash the shell needs (`\\\\(` passes `\\(`; `\\(` becomes `(`). For file edits, prefer Files operations when available. Explicitly return the final value. Before treating a shell or process result as success, check status, exitCode and stderr.';function OD(e,t,n,r){let i={module:e.grantKey,operation:e.name,access:e.operation.access,confirm:e.operation.confirm};return async a=>await Uw(n,{sessionId:r},i,a,t.signal)??await e.operation.invoke(a,t)}function kD(e,t,n,r){let i=0,a=new Map;for(let o of e){let e=o.namespace,s=o.name,c=a.get(e)??new Map;c.set(s,e=>OD(o,Object.freeze({...t,operationOrdinal:i++}),n,r)(e)),a.set(e,c)}return Object.freeze(Object.fromEntries([...a].map(([e,t])=>[e,Object.freeze(Object.fromEntries(t))])))}function AD(e,t){let n=e.safeParse(t);if(!n.success)throw new Nx(n.error.issues);return n.data}function jD(e){return Object.freeze({list:t=>Promise.resolve().then(()=>e.list(AD(gb,t))),describe:t=>Promise.resolve().then(()=>e.describe(AD(hb,t))),search:t=>Promise.resolve().then(()=>e.search(AD(mb,t)))})}function MD(e,t,n,r,i){return Object.freeze({...kD(e,n,r,i),forage:jD(t)})}function ND(e,t,n,r,i,a,o,s){let c=n.execution??IT(void 0),l=new bD,u=(u,d,f,p,m)=>KT({executionId:u,toolCallId:p,output:m,images:Object.freeze({push:e=>l.push(u,e)}),code:d,callerSignal:f,policy:c,sandbox:n,backingWork:r,createBindings:n=>MD(e,t,Object.freeze({...n,toolCallCode:d}),s,o),modules:i,namespacePaths:a,sessionId:o}),d=(e,t)=>Cn(()=>{let n=Zh();return u(n,e,t).pipe(Qn(S(()=>{l.dispose(n)})))}),f=(e,t,n)=>Cn(()=>{let r=Zh(),i=()=>l.drain(r);return u(r,e,void 0,t,n).pipe(vt({onSuccess:e=>v(PD({text:e.text,isError:!1},i())),onFailure:e=>{let t=i();return e instanceof Ux&&t.length>0?v(PD({text:Jx(e),isError:!0},t)):y(FD(e))}}),Qn(S(()=>{l.dispose(r)})))}),p={replay:`unsafe`,descriptor:{name:`execute`,description:DD,parameters:ME({code:LE()},{additionalProperties:!1})},prepare:e=>Np(ED)(e.arguments).pipe(Se(({code:t})=>({execute:()=>jv(b(function*(){let n=yield*TD.make();yield*Sr(()=>S(()=>{n.dispose()}));let r=yield*Vn(f(t,e.id,{write:(e,t)=>{n.write(e,t)}}),{startImmediately:!0});return zv(n.updates,vv(a_(r)).pipe(Fv(e=>{let t=n.finish();return Iv(Dv(t===void 0?[]:[t]),vv(e))})),{haltStrategy:`right`}).pipe(Wv(e=>e.type===`result`))}))})),at(()=>({message:`Invalid execute arguments`})))};return Object.freeze({effectTool:p,execute:d})}function PD(e,t){let n=t.map(e=>({type:`image`,data:e.data,mimeType:e.mimeType})),r=[{type:`text`,text:e.text},...n];return t.length===0?{type:`result`,result:{content:r,isError:e.isError}}:{type:`result`,result:{content:r,data:{images:t.map(e=>({bytes:e.bytes,mimeType:e.mimeType,path:e.path}))},isError:e.isError}}}function FD(e){let t={_tag:`MuleError`,phase:`tool`,message:Zx(e)?Jx(e):e.message};return e instanceof Rx?{...t,cause:e}:t}function ID(e,t){return e<t?-1:+(e>t)}var LD=128,RD=_(()=>x().min(1).max(160)),zD=_(()=>zr({version:x().min(1).max(160),modules:Nt(Gr())})),BD=1e3;function VD(e){if(e.length>LD)throw new G(`Capability source count exceeds bound`);let t=[...e].sort((e,t)=>ID(e.id,t.id)),n=new Set;for(let e of t){if(!RD.safeParse(e.id).success)throw new G(`Capability source id must be non-empty and bounded`);if(n.has(e.id))throw new G(`Duplicate capability source id: ${e.id}`);n.add(e.id)}return t}function HD(e){if(e>BD)throw new G(`Candidate module count exceeds bound`)}function UD(e,t){let n=zD.safeParse(e);if(!n.success)throw new G(`Capability source snapshot must have a non-empty bounded version`);HD(t+n.data.modules.length)}function WD(e,t,n,r,i){return ti(a=>b(function*(){let o=t=>Jr({try:()=>t.release(),catch:()=>new Mx(e.id,`release`)}).pipe(un(e=>S(()=>{n.push(e)}))),s=yield*ai({try:()=>{let t=new AbortController;return{controller:t,outcome:e.acquire(i===void 0?{signal:t.signal,invalidate:r}:{signal:t.signal,invalidate:r,session:i}).then(e=>Xi(e),()=>Qi(new Mx(e.id,`acquire`)))}},catch:()=>new Mx(e.id,`acquire`)});yield*ya(t,jt(()=>s.outcome).pipe(C(e=>ta(e)?o(e.value):ft)));let c=yield*a(jt(()=>s.outcome)).pipe(Ee(()=>S(()=>{s.controller.abort()})));return na(c)?yield*Ut(c.cause):c.value}))}function GD(e){return b(function*(){let t=yield*ai({try:()=>VD(e.sources),catch:e=>e instanceof G?e:new G(`Capability sources are invalid`)});yield*ai({try:()=>{HD(e.modules.length)},catch:e=>e instanceof G?e:new G(`Static capability modules are invalid`)});let n=yield*ha(),r=[],i=!1,a=[...e.modules],o=[];return yield*b(function*(){for(let s of t){let t=yield*WD(s,n,r,()=>{i=!0},e.session);yield*ai({try:()=>{UD(t.snapshot,a.length)},catch:e=>e instanceof G?e:new G(`Capability source snapshot is invalid`)}),a.push(...t.snapshot.modules),o.push({id:s.id,version:t.snapshot.version})}let s=e.precompiled??(yield*ai({try:()=>ET(a,o),catch:e=>e instanceof G?e:new G(`Capability compilation failed`)})),c=e.backingWork.createGroup(),l=ND(s.operations,s.catalog,e.sandbox,c,s.moduleAliases,s.namespacePaths,e.session?.sessionId??null,e.access),u=!1;return Object.freeze({compiled:s,executeDoor:l,isStale:()=>i,close:()=>b(function*(){u||(u=!0,yield*c.awaitIdle,yield*Sa(n,ea));let e=r[0];e!==void 0&&(yield*y(e))})})}).pipe(Ae(e=>ta(e)?ft:Sa(n,e)))})}var KD=2;function qD(e){return b(function*(){for(let t=0;t<KD;t+=1){let t=yield*GD(e);if(!t.isStale())return t;yield*t.close()}return yield*y(new Mx(void 0,`stale`))})}function JD(e,t,n){return ti(r=>r(e.take(1)).pipe(C(()=>S(t).pipe(Qn(e.release(1)))),C(n)))}function YD(e,t){return nn(e.candidate.close().pipe(vt({onFailure:t=>da(e.settled,t).pipe(g(y(t))),onSuccess:()=>fa(e.settled,void 0).pipe(g(S(()=>{t.delete(e)})))})))}function XD(e,t){return e.runCleanup?YD(e.installed,t):la(e.installed.settled)}function ZD(e,t){return Mn(e.map(e=>XD(e,t).pipe(Dn)),{concurrency:`unbounded`}).pipe(C(e=>{let t=e.find(na);return t===void 0?ft:Ut(t.cause)}))}function QD(e){return b(function*(){let t=yield*m_(1),n=yield*ai({try:()=>IT(e.execution),catch:e=>e instanceof G?e:new G(`Execution policy is invalid`)}),r=yield*LT(n.capacity),i=Object.freeze({execute:e.sandbox.execute,adapter:e.sandbox.adapter,buildSha:e.sandbox.buildSha,onFailure:e.onSandboxFailure,execution:n}),a=e.modules.length===0&&e.sources.length>0?void 0:yield*ai({try:()=>ET(e.modules),catch:e=>e instanceof G?e:new G(`Capability compilation failed`)}),o=yield*ai({try:()=>Object.freeze(e.tools.map(t=>Kw(t,e.access,{sessionId:e.session?.sessionId??null}))),catch:e=>e instanceof G?e:new G(`Direct tool labels are invalid`)}),s,c=new Set,l=!1;if(e.sources.length===0&&a!==void 0){let t={candidate:yield*qD({...e,sandbox:i,backingWork:r,precompiled:a}),settled:yield*ca(),leases:0,retired:!1,closing:!1};s=t,c.add(t)}let u=()=>JD(t,()=>(l=!0,[...c].map(e=>{e.retired=!0;let t=e.leases===0&&!e.closing;return t&&(e.closing=!0),{installed:e,runCleanup:t}})),e=>ZD(e,c));return yield*Sr(()=>u().pipe(It)),Object.freeze({acquire:()=>t.withPermits(1)(b(function*(){if(l)return yield*y(new jx);if(s===void 0||s.candidate.isStale()){let t=yield*qD({...e,sandbox:i,backingWork:r}),n=s,a={candidate:t,settled:yield*ca(),leases:0,retired:!1,closing:!1};s=a,c.add(a),n!==void 0&&(n.retired=!0,n.leases===0&&!n.closing&&(n.closing=!0,yield*YD(n,c)))}let n=s;n.leases+=1;let a,u=()=>JD(t,()=>{if(a!==void 0)return a?{installed:n,runCleanup:!1}:void 0;if(--n.leases,a=n.retired&&n.leases===0&&!n.closing,a)return n.closing=!0,{installed:n,runCleanup:!0}},e=>e===void 0?ft:XD(e,c));return yield*Sr(()=>u().pipe(It)),Object.freeze({revision:n.candidate.compiled.revision,catalog:n.candidate.compiled.catalog,executeDoor:n.candidate.executeDoor,effectExecuteTool:n.candidate.executeDoor.effectTool,tools:o,release:u})})),close:u})})}function $D(e){return Object.freeze({adapter:e.adapter??`promise`,buildSha:e.buildSha,execute:(t,n)=>nn(Jr({try:()=>e.execute(t,n),catch:Qx}))})}function eO(e){return QD({modules:e.modules??[],sources:e.sources??[],session:e.session,execution:e.execution,sandbox:e.sandbox,onSandboxFailure:e.onSandboxFailure,tools:e.tools??[],access:e.access??{}}).pipe(Se(e=>Object.freeze({acquire:()=>e.acquire().pipe(Se(e=>Object.freeze({revision:e.revision,catalog:e.catalog,executeTool:e.effectExecuteTool,tools:e.tools,release:e.release}))),close:e.close})))}async function tO(e,t){let n=await Dr(e,t);if(ta(n))return n.value;let r=Wi(n.cause);if(gn(r))throw r.value;if(Bi(n.cause))throw t?.signal?.reason instanceof Error?t.signal.reason:new DOMException(`The operation was aborted`,`AbortError`);let i=Hi(n.cause);throw i instanceof Error?i:Error(`Effect failed without an Error cause`)}async function nO(e){let t=await tO(ha()),n=e.onSandboxFailure;try{let r=await tO(QD({modules:e.modules??[],sources:e.sources??[],session:e.session,execution:e.execution,sandbox:$D(e.sandbox),onSandboxFailure:n===void 0?void 0:e=>jt(()=>n(e)),tools:e.tools??[],access:e.access??{}}).pipe(_a(t))),i=async e=>{let t=await tO(ha());try{let n=await tO(r.acquire().pipe(_a(t)),e?.signal===void 0?void 0:{signal:e.signal}),i;return Object.freeze({revision:n.revision,catalog:n.catalog,executeTool:n.effectExecuteTool,tools:n.tools,release:()=>(i??=tO(n.release().pipe(Qn(Sa(t,ea)))),i)})}catch(e){throw await tO(Sa(t,ea)),e}},a;return Object.freeze({acquire:i,close:()=>(a??=tO(r.close().pipe(Qn(Sa(t,ea)))),a)})}catch(e){throw await tO(Sa(t,ea)),e}}var rO=lm(()=>F([Xp,Qp,Mm,j,om(P(rO)),Gp(nm(j,rO))])),iO=j.check(ah(1),H(256)),aO=j.check(ah(1),H(128)),oO=N({kind:A(`sandbox_failure`),ref:iO,executionId:iO,adapter:aO,buildSha:L(aO),tag:I([`SourceInvalid`,`GuestThrew`,`DeadlineExceeded`,`SandboxBusy`,`Cancelled`,`DispatchLost`,`SandboxCrashed`,`BadResponse`,`ResultTooLarge`,`ResultNotJson`,`CapabilityFailed`,`Unknown`]),fields:nm(j,rO),healthAlert:Qp});function sO(e){return nT(e)}function cO(e){return rT(e)}var lO=Object.freeze({module:cO,operation:sO,make:nO,gate:uT,grantAs:lT}),uO=Bh,dO=4096,fO=new TextEncoder,pO=uO.check(z(e=>fO.encode(JSON.stringify(e)).byteLength<=dO)),mO=T(pO);function hO(e,t){if(Wp(e))return ye(T(e)(t));let n=e[`~standard`].validate(t);if(cr(n,`then`))throw new W(`contract`,`invalid`,`Host metadata schema must validate synchronously`);return n.issues===void 0}function gO(e,t){let n=mO(t);if(Ct(n))throw new W(`contract`,`invalid`,`Host metadata is not JSON within 4096 bytes`);if(e!==void 0&&!hO(e.schema,n.success))throw new W(`contract`,`invalid`,`Host metadata does not match the host's schema`);return n.success}function _O(e,t){return JSON.stringify(e)===JSON.stringify(t)}function vO(e,t){Lr(Ze(`shiitake_operation_failed`,Oo(t)).pipe(or({operation:e,errorKind:t instanceof Error?`error`:`non-error`})))}var yO=64,bO=256,xO=new WeakMap;function SO(e,t){for(let n of xO.get(e)??[])if(n.observes(t))return!0;return!1}function CO(e,t){return e===`closed`||t===`closed`?`closed`:e===`reset`||t===`reset`?`reset`:e===`durable`||t===`durable`?`durable`:e===`activity`||t===`activity`?`activity`:`progress`}function wO(e,t){if(e.pendingCount>=bO){e.pendingCount=0,e.pendingReason=void 0,e.reset=!0;return}e.pendingCount+=1,e.pendingReason=e.pendingReason===`durable`||t===`durable`?`durable`:e.pendingReason===`activity`||t===`activity`?`activity`:`progress`}function TO(e,t){if(e.closed||e.reset)return;let n=e.wake;if(n===void 0){wO(e,t);return}e.wake=void 0;try{n(t)}catch(t){vO(`observation-delivery`,t),e.pendingCount=0,e.pendingReason=void 0,e.reset=!0}}function EO(e,t,n=`durable`){let r=xO.get(e);if(r!==void 0)for(let e of r)try{e.publish({kind:`session`,sessionId:t,reason:n})}catch(e){vO(`owner-observation-publish`,e);continue}}function DO(e){let t=xO.get(e);if(t!==void 0)for(let e of t)try{e.publish({kind:`agent-execution`})}catch(e){vO(`owner-execution-change-publish`,e)}}function OO(e){let t=new Map,n=new Set,r=xO.get(e)??new Set,i=!1,a=e=>{if(e.closed)return`closed`;if(e.reset)return e.reset=!1,`reset`;if(e.pendingCount===0)return;e.pendingCount=0;let t=e.pendingReason;return e.pendingReason=void 0,t??`progress`},o=e=>{if(e.closed)return;e.closed=!0,e.pendingCount=0,e.pendingReason=void 0,e.reset=!1;let r=e.wake;e.wake=void 0,n.delete(e);let i=t.get(e.sessionId);if(i?.delete(e),i?.size===0&&t.delete(e.sessionId),r!==void 0)try{r(`closed`)}catch(e){vO(`observation-listener-close`,e)}},s={publish:e=>{if(e.kind===`agent-execution`){for(let e of n)e.queued&&!e.settlementOnly&&TO(e,`activity`);return}let r=e.sessionId===null?n:t.get(e.sessionId);if(r!==void 0)for(let t of r)t.settlementOnly&&e.reason!==`settlement`||TO(t,e.reason===`settlement`?`durable`:e.reason)},observes:e=>[...t.get(e)??[]].some(e=>!e.closed&&!e.settlementOnly)};return r.add(s),xO.set(e,r),Object.freeze({register:(e,r)=>Cn(()=>{if(i)return y(new W(`runtime`,`closed`,`Shiitake is closed`));if(n.size>=yO)return y(new W(`runtime`,`rejected`,`Observation capacity is exhausted`));let s={sessionId:e,settlementOnly:r===`settlement`,closed:!1,pendingCount:0,pendingReason:void 0,queued:!0,reset:!1,wake:void 0},c=t.get(e)??new Set;c.add(s),t.set(e,c),n.add(s);let l=S(()=>a(s)),u=Kn(e=>{let t=a(s);if(t!==void 0){e(v(t));return}let n=t=>{e(v(t))};return s.wake=n,S(()=>{s.wake===n&&(s.wake=void 0)})});return v(Object.freeze({pollSignal:l,awaitSignal:u,close:()=>{o(s)},setQueued:e=>{s.closed||(s.queued=e)}}))}),close:S(()=>{if(!i){i=!0,r.delete(s),r.size===0&&xO.delete(e);for(let e of n)o(e)}})})}var kO=200,AO={onExcessProperty:`error`},jO=new TextEncoder,MO=V.pipe(R(B(0))),NO=j.pipe(R(ah(1)),R(z(e=>jO.encode(e).byteLength<=256)));T(N({limit:O(V.pipe(R(Um({minimum:1,maximum:kO})))),after:O(j)}),AO);var PO=U(im([MO,NO]));T(PO),Up(PO),T(N({session_id:NO,last_activity_at:MO,state:I([`needs_you`,`running`,`errored`,`done`]),bytes:V.pipe(R(B(0)))}),AO);var FO=E(N({extension_id:j,value_json:j})),IO=E(U($v)),LO=E(ey),RO=Up(U($v));function zO(e){e.sql.exec(`CREATE TABLE IF NOT EXISTS session_attention_grants (
21
+ `).length-1};for(this.#i===xD&&this.#p(),this.#n[(this.#r+this.#i)%xD]=r,this.#i++,this.#a+=r.textBytes,this.#o+=r.newlines;this.#a>xD||this.#o>=200;){let e=this.#n[this.#r];if(e===void 0)throw Error(`Missing output ring entry`);let t=Math.max(0,this.#a-xD),n=Math.max(0,this.#o-199);e.textBytes<=t||e.newlines<n?this.#p():this.#m(e,t,n)}}snapshot(){let e=``;for(let t=0;t<this.#i;t++){let n=this.#n[(this.#r+t)%xD];if(n===void 0)throw Error(`Missing output ring entry`);e+=n.text}return{tail:e,droppedBytes:this.#s,totalBytes:this.#c}}#g(){if(!this.#l)return;this.#l=!1;let{tail:e,...t}=this.snapshot();return{type:`update`,result:{isError:!1,content:[{type:`text`,text:e}],data:t}}}finish(){if(!this.#u){this.#u=!0;for(let e of[this.#e.stdout,this.#e.stderr]){let t=e.decoder.decode();this.#h(t,e.pending.length,null),e.pending=new Uint8Array,t.length>0&&(this.#l=!0)}return this.#g()}}get updates(){return kv(this.wake).pipe(Nv(()=>Ur(`100 millis`).pipe(Se(()=>this.#u?void 0:this.#g()))),Bv(e=>e!==void 0))}dispose(){this.#u=!0,this.#n.fill(void 0),this.#r=this.#i=this.#a=this.#o=0,this.#c=this.#s=0,this.#l=!1;for(let e of[this.#e.stdout,this.#e.stderr])e.decoder.decode(),e.pending=new Uint8Array}},ED=N({code:j}),DD='Inside execute, call forage.search, forage.list or forage.describe to discover operations and inspect their inputs. forage is available only there, not as a separate tool. Run async JavaScript in the sandbox. Each call is a fresh sandbox, not a REPL: nothing survives between calls, so redefine helpers or persist state to a file. Never shadow injected module names with local bindings. Find operations with await forage.search({ query }) using one short keyword such as read or shell, or page them all with forage.list({limit:50}), optionally by namespace, until nextCursor is null. Inspect input with await forage.describe({ path }) before calling; describe known paths directly. Call an operation as await env.<path>({ ... }) with the exact dotted path, for example await env.computers.local.exec({ command: "pwd" }); a bare computers.local.exec is not defined. Put multiline shell commands in a template literal. Code is JavaScript first, so double each backslash the shell needs (`\\\\(` passes `\\(`; `\\(` becomes `(`). For file edits, prefer Files operations when available. Explicitly return the final value. Before treating a shell or process result as success, check status, exitCode and stderr.';function OD(e,t,n,r){let i={module:e.grantKey,operation:e.name,access:e.operation.access,confirm:e.operation.confirm};return async a=>await Uw(n,{sessionId:r},i,a,t.signal)??await e.operation.invoke(a,t)}function kD(e,t,n,r){let i=0,a=new Map;for(let o of e){let e=o.namespace,s=o.name,c=a.get(e)??new Map;c.set(s,e=>OD(o,Object.freeze({...t,operationOrdinal:i++}),n,r)(e)),a.set(e,c)}return Object.freeze(Object.fromEntries([...a].map(([e,t])=>[e,Object.freeze(Object.fromEntries(t))])))}function AD(e,t){let n=e.safeParse(t);if(!n.success)throw new Nx(n.error.issues);return n.data}function jD(e){return Object.freeze({list:t=>Promise.resolve().then(()=>e.list(AD(gb,t))),describe:t=>Promise.resolve().then(()=>e.describe(AD(hb,t))),search:t=>Promise.resolve().then(()=>e.search(AD(mb,t)))})}function MD(e,t,n,r,i){return Object.freeze({...kD(e,n,r,i),forage:jD(t)})}function ND(e,t,n,r,i,a,o,s){let c=n.execution??IT(void 0),l=new bD,u=(u,d,f,p,m)=>KT({executionId:u,toolCallId:p,output:m,images:Object.freeze({push:e=>l.push(u,e)}),code:d,callerSignal:f,policy:c,sandbox:n,backingWork:r,createBindings:n=>MD(e,t,Object.freeze({...n,toolCallCode:d}),s,o),modules:i,namespacePaths:a,sessionId:o}),d=(e,t)=>Cn(()=>{let n=Zh();return u(n,e,t).pipe(Qn(S(()=>{l.dispose(n)})))}),f=(e,t,n)=>Cn(()=>{let r=Zh(),i=()=>l.drain(r);return u(r,e,void 0,t,n).pipe(vt({onSuccess:e=>v(PD({text:e.text,isError:!1},i())),onFailure:e=>{let t=i();return e instanceof Ux&&t.length>0?v(PD({text:Jx(e),isError:!0},t)):y(FD(e))}}),Qn(S(()=>{l.dispose(r)})))}),p={replay:`unsafe`,descriptor:{name:`execute`,description:DD,parameters:ME({code:LE()},{additionalProperties:!1})},prepare:e=>Np(ED)(e.arguments).pipe(Se(({code:t})=>({execute:()=>jv(b(function*(){let n=yield*TD.make();yield*Sr(()=>S(()=>{n.dispose()}));let r=yield*Vn(f(t,e.id,{write:(e,t)=>{n.write(e,t)}}),{startImmediately:!0});return zv(n.updates,vv(a_(r)).pipe(Fv(e=>{let t=n.finish();return Iv(Dv(t===void 0?[]:[t]),vv(e))})),{haltStrategy:`right`}).pipe(Wv(e=>e.type===`result`))}))})),at(()=>({message:`Invalid execute arguments`})))};return Object.freeze({effectTool:p,execute:d})}function PD(e,t){let n=t.map(e=>({type:`image`,data:e.data,mimeType:e.mimeType})),r=[{type:`text`,text:e.text},...n];return t.length===0?{type:`result`,result:{content:r,isError:e.isError}}:{type:`result`,result:{content:r,data:{images:t.map(e=>({bytes:e.bytes,mimeType:e.mimeType,path:e.path}))},isError:e.isError}}}function FD(e){let t={_tag:`MuleError`,phase:`tool`,message:Zx(e)?Jx(e):e.message};return e instanceof Rx?{...t,cause:e}:t}function ID(e,t){return e<t?-1:+(e>t)}var LD=128,RD=_(()=>x().min(1).max(160)),zD=_(()=>zr({version:x().min(1).max(160),modules:Nt(Gr())})),BD=1e3;function VD(e){if(e.length>LD)throw new G(`Capability source count exceeds bound`);let t=[...e].sort((e,t)=>ID(e.id,t.id)),n=new Set;for(let e of t){if(!RD.safeParse(e.id).success)throw new G(`Capability source id must be non-empty and bounded`);if(n.has(e.id))throw new G(`Duplicate capability source id: ${e.id}`);n.add(e.id)}return t}function HD(e){if(e>BD)throw new G(`Candidate module count exceeds bound`)}function UD(e,t){let n=zD.safeParse(e);if(!n.success)throw new G(`Capability source snapshot must have a non-empty bounded version`);HD(t+n.data.modules.length)}function WD(e,t,n,r,i){return ti(a=>b(function*(){let o=t=>Jr({try:()=>t.release(),catch:()=>new Mx(e.id,`release`)}).pipe(un(e=>S(()=>{n.push(e)}))),s=yield*ai({try:()=>{let t=new AbortController;return{controller:t,outcome:e.acquire(i===void 0?{signal:t.signal,invalidate:r}:{signal:t.signal,invalidate:r,session:i}).then(e=>Xi(e),()=>Qi(new Mx(e.id,`acquire`)))}},catch:()=>new Mx(e.id,`acquire`)});yield*ya(t,jt(()=>s.outcome).pipe(C(e=>ta(e)?o(e.value):ft)));let c=yield*a(jt(()=>s.outcome)).pipe(Ee(()=>S(()=>{s.controller.abort()})));return na(c)?yield*Ut(c.cause):c.value}))}function GD(e){return b(function*(){let t=yield*ai({try:()=>VD(e.sources),catch:e=>e instanceof G?e:new G(`Capability sources are invalid`)});yield*ai({try:()=>{HD(e.modules.length)},catch:e=>e instanceof G?e:new G(`Static capability modules are invalid`)});let n=yield*ha(),r=[],i=!1,a=[...e.modules],o=[];return yield*b(function*(){for(let s of t){let t=yield*WD(s,n,r,()=>{i=!0},e.session);yield*ai({try:()=>{UD(t.snapshot,a.length)},catch:e=>e instanceof G?e:new G(`Capability source snapshot is invalid`)}),a.push(...t.snapshot.modules),o.push({id:s.id,version:t.snapshot.version})}let s=e.precompiled??(yield*ai({try:()=>ET(a,o),catch:e=>e instanceof G?e:new G(`Capability compilation failed`)})),c=e.backingWork.createGroup(),l=ND(s.operations,s.catalog,e.sandbox,c,s.moduleAliases,s.namespacePaths,e.session?.sessionId??null,e.access),u=!1;return Object.freeze({compiled:s,executeDoor:l,isStale:()=>i,close:()=>b(function*(){u||(u=!0,yield*c.awaitIdle,yield*Sa(n,ea));let e=r[0];e!==void 0&&(yield*y(e))})})}).pipe(Ae(e=>ta(e)?ft:Sa(n,e)))})}var KD=2;function qD(e){return b(function*(){for(let t=0;t<KD;t+=1){let t=yield*GD(e);if(!t.isStale())return t;yield*t.close()}return yield*y(new Mx(void 0,`stale`))})}function JD(e,t,n){return ti(r=>r(e.take(1)).pipe(C(()=>S(t).pipe(Qn(e.release(1)))),C(n)))}function YD(e,t){return nn(e.candidate.close().pipe(vt({onFailure:t=>da(e.settled,t).pipe(g(y(t))),onSuccess:()=>fa(e.settled,void 0).pipe(g(S(()=>{t.delete(e)})))})))}function XD(e,t){return e.runCleanup?YD(e.installed,t):la(e.installed.settled)}function ZD(e,t){return Mn(e.map(e=>XD(e,t).pipe(Dn)),{concurrency:`unbounded`}).pipe(C(e=>{let t=e.find(na);return t===void 0?ft:Ut(t.cause)}))}function QD(e){return b(function*(){let t=yield*m_(1),n=yield*ai({try:()=>IT(e.execution),catch:e=>e instanceof G?e:new G(`Execution policy is invalid`)}),r=yield*LT(n.capacity),i=Object.freeze({execute:e.sandbox.execute,adapter:e.sandbox.adapter,buildSha:e.sandbox.buildSha,onFailure:e.onSandboxFailure,execution:n}),a=e.modules.length===0&&e.sources.length>0?void 0:yield*ai({try:()=>ET(e.modules),catch:e=>e instanceof G?e:new G(`Capability compilation failed`)}),o=yield*ai({try:()=>Object.freeze(e.tools.map(t=>Kw(t,e.access,{sessionId:e.session?.sessionId??null}))),catch:e=>e instanceof G?e:new G(`Direct tool labels are invalid`)}),s,c=new Set,l=!1;if(e.sources.length===0&&a!==void 0){let t={candidate:yield*qD({...e,sandbox:i,backingWork:r,precompiled:a}),settled:yield*ca(),leases:0,retired:!1,closing:!1};s=t,c.add(t)}let u=()=>JD(t,()=>(l=!0,[...c].map(e=>{e.retired=!0;let t=e.leases===0&&!e.closing;return t&&(e.closing=!0),{installed:e,runCleanup:t}})),e=>ZD(e,c));return yield*Sr(()=>u().pipe(It)),Object.freeze({acquire:()=>t.withPermits(1)(b(function*(){if(l)return yield*y(new jx);if(s===void 0||s.candidate.isStale()){let t=yield*qD({...e,sandbox:i,backingWork:r}),n=s,a={candidate:t,settled:yield*ca(),leases:0,retired:!1,closing:!1};s=a,c.add(a),n!==void 0&&(n.retired=!0,n.leases===0&&!n.closing&&(n.closing=!0,yield*YD(n,c)))}let n=s;n.leases+=1;let a,u=()=>JD(t,()=>{if(a!==void 0)return a?{installed:n,runCleanup:!1}:void 0;if(--n.leases,a=n.retired&&n.leases===0&&!n.closing,a)return n.closing=!0,{installed:n,runCleanup:!0}},e=>e===void 0?ft:XD(e,c));return yield*Sr(()=>u().pipe(It)),Object.freeze({revision:n.candidate.compiled.revision,catalog:n.candidate.compiled.catalog,executeDoor:n.candidate.executeDoor,effectExecuteTool:n.candidate.executeDoor.effectTool,tools:o,release:u})})),close:u})})}function $D(e){return Object.freeze({adapter:e.adapter??`promise`,buildSha:e.buildSha,execute:(t,n)=>nn(Jr({try:()=>e.execute(t,n),catch:Qx}))})}function eO(e){return QD({modules:e.modules??[],sources:e.sources??[],session:e.session,execution:e.execution,sandbox:e.sandbox,onSandboxFailure:e.onSandboxFailure,tools:e.tools??[],access:e.access??{}}).pipe(Se(e=>Object.freeze({acquire:()=>e.acquire().pipe(Se(e=>Object.freeze({revision:e.revision,catalog:e.catalog,executeTool:e.effectExecuteTool,tools:e.tools,release:e.release}))),close:e.close})))}async function tO(e,t){let n=await Dr(e,t);if(ta(n))return n.value;let r=Wi(n.cause);if(gn(r))throw r.value;if(Bi(n.cause))throw t?.signal?.reason instanceof Error?t.signal.reason:new DOMException(`The operation was aborted`,`AbortError`);let i=Hi(n.cause);throw i instanceof Error?i:Error(`Effect failed without an Error cause`)}async function nO(e){let t=await tO(ha()),n=e.onSandboxFailure;try{let r=await tO(QD({modules:e.modules??[],sources:e.sources??[],session:e.session,execution:e.execution,sandbox:$D(e.sandbox),onSandboxFailure:n===void 0?void 0:e=>jt(()=>n(e)),tools:e.tools??[],access:e.access??{}}).pipe(_a(t))),i=async e=>{let t=await tO(ha());try{let n=await tO(r.acquire().pipe(_a(t)),e?.signal===void 0?void 0:{signal:e.signal}),i;return Object.freeze({revision:n.revision,catalog:n.catalog,executeTool:n.effectExecuteTool,tools:n.tools,release:()=>(i??=tO(n.release().pipe(Qn(Sa(t,ea)))),i)})}catch(e){throw await tO(Sa(t,ea)),e}},a;return Object.freeze({acquire:i,close:()=>(a??=tO(r.close().pipe(Qn(Sa(t,ea)))),a)})}catch(e){throw await tO(Sa(t,ea)),e}}var rO=lm(()=>F([Xp,Qp,Mm,j,om(P(rO)),Gp(nm(j,rO))])),iO=j.check(ah(1),H(256)),aO=j.check(ah(1),H(128)),oO=N({kind:A(`sandbox_failure`),ref:iO,executionId:iO,adapter:aO,buildSha:L(aO),tag:I([`SourceInvalid`,`GuestThrew`,`DeadlineExceeded`,`SandboxBusy`,`Cancelled`,`DispatchLost`,`SandboxCrashed`,`BadResponse`,`ResultTooLarge`,`ResultNotJson`,`CapabilityFailed`,`Unknown`]),fields:nm(j,rO),healthAlert:Qp});function sO(e){return nT(e)}function cO(e){return rT(e)}var lO=Object.freeze({module:cO,operation:sO,make:nO,gate:uT,grantAs:lT}),uO=Bh,dO=4096,fO=new TextEncoder,pO=uO.check(z(e=>fO.encode(JSON.stringify(e)).byteLength<=dO)),mO=T(pO);function hO(e,t){if(Wp(e))return ye(T(e)(t));let n=e[`~standard`].validate(t);if(cr(n,`then`))throw new W(`contract`,`invalid`,`Host metadata schema must validate synchronously`);return n.issues===void 0}function gO(e,t){let n=mO(t);if(Ct(n))throw new W(`contract`,`invalid`,`Host metadata is not JSON within 4096 bytes`);if(e!==void 0&&!hO(e.schema,n.success))throw new W(`contract`,`invalid`,`Host metadata does not match the host's schema`);return n.success}function _O(e,t){return JSON.stringify(e)===JSON.stringify(t)}function vO(e,t){Lr(Ze(`shiitake_operation_failed`,Oo(t)).pipe(or({operation:e,errorKind:t instanceof Error?`error`:`non-error`})))}var yO=64,bO=256,xO=new WeakMap;function SO(e,t){for(let n of xO.get(e)??[])if(n.observes(t))return!0;return!1}function CO(e,t){return e===`closed`||t===`closed`?`closed`:e===`reset`||t===`reset`?`reset`:e===`durable`||t===`durable`?`durable`:e===`activity`||t===`activity`?`activity`:`progress`}function wO(e,t){if(e.pendingCount>=bO){e.pendingCount=0,e.pendingReason=void 0,e.reset=!0;return}e.pendingCount+=1,e.pendingReason=e.pendingReason===`durable`||t===`durable`?`durable`:e.pendingReason===`activity`||t===`activity`?`activity`:`progress`}function TO(e,t){if(e.closed||e.reset)return;let n=e.wake;if(n===void 0){wO(e,t);return}e.wake=void 0;try{n(t)}catch(t){vO(`observation-delivery`,t),e.pendingCount=0,e.pendingReason=void 0,e.reset=!0}}function EO(e,t){for(let n of e)n.queued&&!n.settlementOnly&&n.sessionId!==t&&TO(n,`activity`)}function DO(e,t,n=`durable`){let r=xO.get(e);if(r!==void 0)for(let e of r)try{e.publish({kind:`session`,sessionId:t,reason:n})}catch(e){vO(`owner-observation-publish`,e);continue}}function OO(e){let t=xO.get(e);if(t!==void 0)for(let e of t)try{e.publish({kind:`agent-execution`})}catch(e){vO(`owner-execution-change-publish`,e)}}function kO(e){let t=new Map,n=new Set,r=xO.get(e)??new Set,i=!1,a=e=>{if(e.closed)return`closed`;if(e.reset)return e.reset=!1,`reset`;if(e.pendingCount===0)return;e.pendingCount=0;let t=e.pendingReason;return e.pendingReason=void 0,t??`progress`},o=e=>{if(e.closed)return;e.closed=!0,e.pendingCount=0,e.pendingReason=void 0,e.reset=!1;let r=e.wake;e.wake=void 0,n.delete(e);let i=t.get(e.sessionId);if(i?.delete(e),i?.size===0&&t.delete(e.sessionId),r!==void 0)try{r(`closed`)}catch(e){vO(`observation-listener-close`,e)}},s={publish:e=>{if(e.kind===`agent-execution`){EO(n,null);return}e.sessionId!==null&&e.reason!==`settlement`&&EO(n,e.sessionId);let r=e.sessionId===null?n:t.get(e.sessionId);if(r!==void 0)for(let t of r)t.settlementOnly&&e.reason!==`settlement`||TO(t,e.reason===`settlement`?`durable`:e.reason)},observes:e=>[...t.get(e)??[]].some(e=>!e.closed&&!e.settlementOnly)};return r.add(s),xO.set(e,r),Object.freeze({register:(e,r)=>Cn(()=>{if(i)return y(new W(`runtime`,`closed`,`Shiitake is closed`));if(n.size>=yO)return y(new W(`runtime`,`rejected`,`Observation capacity is exhausted`));let s={sessionId:e,settlementOnly:r===`settlement`,closed:!1,pendingCount:0,pendingReason:void 0,queued:!0,reset:!1,wake:void 0},c=t.get(e)??new Set;c.add(s),t.set(e,c),n.add(s);let l=S(()=>a(s)),u=Kn(e=>{let t=a(s);if(t!==void 0){e(v(t));return}let n=t=>{e(v(t))};return s.wake=n,S(()=>{s.wake===n&&(s.wake=void 0)})});return v(Object.freeze({pollSignal:l,awaitSignal:u,close:()=>{o(s)},setQueued:e=>{s.closed||(s.queued=e)}}))}),close:S(()=>{if(!i){i=!0,r.delete(s),r.size===0&&xO.delete(e);for(let e of n)o(e)}})})}var AO=200,jO={onExcessProperty:`error`},MO=new TextEncoder,NO=V.pipe(R(B(0))),PO=j.pipe(R(ah(1)),R(z(e=>MO.encode(e).byteLength<=256)));T(N({limit:O(V.pipe(R(Um({minimum:1,maximum:AO})))),after:O(j)}),jO);var FO=U(im([NO,PO]));T(FO),Up(FO),T(N({session_id:PO,last_activity_at:NO,state:I([`needs_you`,`running`,`errored`,`done`]),bytes:V.pipe(R(B(0)))}),jO);var IO=E(N({extension_id:j,value_json:j})),LO=E(U($v)),RO=E(ey),zO=Up(U($v));function BO(e){e.sql.exec(`CREATE TABLE IF NOT EXISTS session_attention_grants (
22
22
  extension_id TEXT PRIMARY KEY
23
23
  )`),e.sql.exec(`CREATE TABLE IF NOT EXISTS session_attention (
24
24
  session_id TEXT NOT NULL REFERENCES sessions(id),
@@ -26,22 +26,22 @@ Defaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=1
26
26
  id TEXT NOT NULL,
27
27
  value_json TEXT NOT NULL,
28
28
  PRIMARY KEY (session_id, extension_id, id)
29
- )`),e.sql.exec(`CREATE INDEX IF NOT EXISTS idx_session_attention_owner ON session_attention(extension_id, session_id)`)}function BO(e,t){return e.sql.exec(`SELECT a.extension_id, a.value_json FROM session_attention a JOIN shiitake_extension_status s ON s.extension_id = a.extension_id AND s.status = 'running' JOIN session_attention_grants g ON g.extension_id = a.extension_id WHERE a.session_id = ? ORDER BY a.extension_id, a.id LIMIT ?`,t,64).toArray().map(e=>{let t=FO(e);return LO({...IO(t.value_json),extensionId:t.extension_id})})}function VO(e,t){return e.sql.exec(`SELECT 1 FROM session_attention a JOIN shiitake_extension_status s ON s.extension_id = a.extension_id AND s.status = 'running' JOIN session_attention_grants g ON g.extension_id = a.extension_id WHERE a.session_id = ? AND json_extract(a.value_json, '$.inbox') IS NOT 0 LIMIT 1`,t).toArray().length>0}function HO(e,t,n,r){if(E(N({count:V}))(e.sql.exec(`SELECT COUNT(*) AS count FROM session_attention WHERE session_id = ? AND NOT (extension_id = ? AND id = ?)`,t,n,r.id).one()).count>=64)throw new W(`contract`,`invalid`,`Session attention capacity reached`);if(E(N({count:V}))(e.sql.exec(`SELECT COUNT(*) AS count FROM session_attention WHERE extension_id = ? AND NOT (session_id = ? AND id = ?)`,n,t,r.id).one()).count>=4096)throw new W(`contract`,`invalid`,`Extension attention capacity reached`);e.sql.exec(`INSERT INTO session_attention (session_id, extension_id, id, value_json) VALUES (?, ?, ?, ?)
30
- ON CONFLICT (session_id, extension_id, id) DO UPDATE SET value_json = excluded.value_json`,t,n,r.id,RO(r))}function UO(e,t,n,r){e.sql.exec(`DELETE FROM session_attention WHERE session_id = ? AND extension_id = ? AND id = ?`,t,n,r)}function WO(e,t,n){let r=E(N({session_id:j}));return e.sql.exec(`SELECT DISTINCT session_id FROM session_attention WHERE extension_id = ? AND session_id > ? ORDER BY session_id LIMIT 64`,t,n).toArray().map(e=>r(e).session_id)}function GO(e,t){let n=E(N({extension_id:j})),r=new Set(e.sql.exec(`SELECT extension_id FROM session_attention_grants LIMIT 64`).toArray().map(e=>n(e).extension_id)),i=new Set(t),a=[];for(let t of r)i.has(t)||(e.sql.exec(`DELETE FROM session_attention_grants WHERE extension_id = ?`,t),a.push(t));for(let t of i)r.has(t)||(e.sql.exec(`INSERT INTO session_attention_grants (extension_id) VALUES (?)`,t),a.push(t));return a}var KO=8,qO=E(N({agent_id:j,sender_session_id:j,name:j})),JO=E(Qv);function YO(e){e.sql.exec(`CREATE TABLE IF NOT EXISTS session_work_senders (
29
+ )`),e.sql.exec(`CREATE INDEX IF NOT EXISTS idx_session_attention_owner ON session_attention(extension_id, session_id)`)}function VO(e,t){return e.sql.exec(`SELECT a.extension_id, a.value_json FROM session_attention a JOIN shiitake_extension_status s ON s.extension_id = a.extension_id AND s.status = 'running' JOIN session_attention_grants g ON g.extension_id = a.extension_id WHERE a.session_id = ? ORDER BY a.extension_id, a.id LIMIT ?`,t,64).toArray().map(e=>{let t=IO(e);return RO({...LO(t.value_json),extensionId:t.extension_id})})}function HO(e,t){return e.sql.exec(`SELECT 1 FROM session_attention a JOIN shiitake_extension_status s ON s.extension_id = a.extension_id AND s.status = 'running' JOIN session_attention_grants g ON g.extension_id = a.extension_id WHERE a.session_id = ? AND json_extract(a.value_json, '$.inbox') IS NOT 0 LIMIT 1`,t).toArray().length>0}function UO(e,t,n,r){if(E(N({count:V}))(e.sql.exec(`SELECT COUNT(*) AS count FROM session_attention WHERE session_id = ? AND NOT (extension_id = ? AND id = ?)`,t,n,r.id).one()).count>=64)throw new W(`contract`,`invalid`,`Session attention capacity reached`);if(E(N({count:V}))(e.sql.exec(`SELECT COUNT(*) AS count FROM session_attention WHERE extension_id = ? AND NOT (session_id = ? AND id = ?)`,n,t,r.id).one()).count>=4096)throw new W(`contract`,`invalid`,`Extension attention capacity reached`);e.sql.exec(`INSERT INTO session_attention (session_id, extension_id, id, value_json) VALUES (?, ?, ?, ?)
30
+ ON CONFLICT (session_id, extension_id, id) DO UPDATE SET value_json = excluded.value_json`,t,n,r.id,zO(r))}function WO(e,t,n,r){e.sql.exec(`DELETE FROM session_attention WHERE session_id = ? AND extension_id = ? AND id = ?`,t,n,r)}function GO(e,t,n){let r=E(N({session_id:j}));return e.sql.exec(`SELECT DISTINCT session_id FROM session_attention WHERE extension_id = ? AND session_id > ? ORDER BY session_id LIMIT 64`,t,n).toArray().map(e=>r(e).session_id)}function KO(e,t){let n=E(N({extension_id:j})),r=new Set(e.sql.exec(`SELECT extension_id FROM session_attention_grants LIMIT 64`).toArray().map(e=>n(e).extension_id)),i=new Set(t),a=[];for(let t of r)i.has(t)||(e.sql.exec(`DELETE FROM session_attention_grants WHERE extension_id = ?`,t),a.push(t));for(let t of i)r.has(t)||(e.sql.exec(`INSERT INTO session_attention_grants (extension_id) VALUES (?)`,t),a.push(t));return a}var qO=8,JO=E(N({agent_id:j,sender_session_id:j,name:j})),YO=E(Qv);function XO(e){e.sql.exec(`CREATE TABLE IF NOT EXISTS session_work_senders (
31
31
  session_id TEXT NOT NULL,
32
32
  work_id TEXT NOT NULL,
33
33
  agent_id TEXT NOT NULL,
34
34
  sender_session_id TEXT NOT NULL,
35
35
  name TEXT NOT NULL,
36
36
  PRIMARY KEY (session_id, work_id)
37
- )`)}function XO(e,t,n,r){e.sql.exec(`INSERT OR IGNORE INTO session_work_senders
37
+ )`)}function ZO(e,t,n,r){e.sql.exec(`INSERT OR IGNORE INTO session_work_senders
38
38
  (session_id, work_id, agent_id, sender_session_id, name)
39
- VALUES (?, ?, ?, ?, ?)`,t,n,r.agentId,r.sessionId,r.name)}function ZO(e,t,n){let r=e.sql.exec(`SELECT agent_id, sender_session_id, name FROM session_work_senders WHERE session_id = ? AND work_id = ?`,t,n).toArray()[0];if(r===void 0)return;let i=qO(r);return JO({agentId:i.agent_id,sessionId:i.sender_session_id,name:i.name})}function QO(e,t,n){let r=ZO(e,t,n);return r===void 0?[]:$O(e,t,[r])}function $O(e,t,n){return BO(e,t).filter(e=>n.some(t=>e.waitingOn?.agentId===t.agentId&&e.waitingOn.sessionId===t.sessionId)).slice(0,KO).map(e=>({itemId:e.id,kind:e.kind,summary:e.summary}))}var ek=N({status:I([`accepted`,`duplicate`]),cursor:V.check(B(0))});F([I([`accepted`,`duplicate`,`refused`]),ek,N({status:I([`accepted`,`duplicate`,`refused`]),receipt:Bh})]),Ni(`PostError`);var tk=j.check(ah(1),H(256));N({postKey:tk}),V.check(B(1),Hm(64)),mg({family:`post`,version:1,kinds:{work:{prefix:`post_work`}}});var nk=N({key:tk,kind:tk,address:Yp,event:Yp});U(F([N({state:A(`pending`),envelope:nk,attempts:V.check(B(0)),nextAttemptAt:M.check(B(0)),deadlineAt:k(M.check(B(0))),jobId:k(tk),delivery:k(nk),nextKey:k(tk)}),N({state:A(`delivered`),receipt:k(Bh),nextKey:k(tk)}),N({state:A(`dead`),envelope:nk,attempts:V.check(B(0)),reason:I([`refused`,`exhausted`,`expired`]),deadlineAt:k(M.check(B(0))),receipt:k(Bh),delivery:k(nk),nextKey:k(tk)})])),N({key:j,value:j}),N({due:L(M.check(B(0)))});var rk=j.check(ah(1),H(256)),ik=262144,ak=j.check(z(e=>new TextEncoder().encode(e).byteLength<=ik,{message:`Mail content must be at most ${String(ik)} UTF-8 bytes`})),ok=N({kind:A(`agent`),agentId:rk,sessionId:rk}),sk=N({kind:A(`agent`),agentId:rk,sessionId:O(rk)}),ck=N({kind:A(`system`),systemId:A(`hub`)}),lk=N({itemId:rk,kind:j.check(ah(1),H(64)),summary:j.check(ah(1),H(200))}),uk=N({commandId:rk,outcome:I([`completed`,`failed`,`interrupted`,`cancelled`,`outcome_unknown`]),diagnostic:O(j.check(ah(1),H(200))),waitingOnYou:O(P(lk).check(ah(1),H(8)))}),dk=I([`recipient_offline`,`recipient_left`]),fk=N({outcome:A(`undeliverable`),reason:dk}),pk=N({outcome:A(`accepted`),commandId:rk});F([uk,fk,pk]);var mk=F([uk,pk,N({outcome:A(`undeliverable`),reason:A(`recipient_left`)})]),hk=`[redacted]`,gk=/\b(bearer|basic)\s+[^\s"',;]+/giu,_k=/\b((?:api[_-]?key|access[_-]?token|refresh[_-]?token|token|secret|password|authorization)["']?\s*[:=]\s*["']?)(?!(?:bearer|basic)\s)[^\s"',;&]+/giu,vk=/[A-Za-z0-9][\w-]{23,}/gu;function yk(e){return e.replace(gk,`$1 ${hk}`).replace(_k,`$1${hk}`).replace(vk,e=>/\d/u.test(e)&&/[A-Za-z]/u.test(e)?hk:e)}function bk(e){let t=yk(e.replace(/[\p{Cc}\p{Zl}\p{Zp}\s]+/gu,` `).trim()).slice(0,200).trimEnd();return t.length===0?void 0:t}var xk={key:rk,to:sk,replyTo:P(ok),content:ak,createdAt:M.check(B(0)),meta:O(Bh)},Sk=F([N({...xk,from:ok,reply:O(mk)}),N({...xk,from:ck,reply:N({outcome:A(`undeliverable`),reason:A(`recipient_offline`)})})]),Ck=N({jobId:rk,sessionId:rk,commandFactId:rk,recovery:k(N({maxRecoveries:V.check(B(0))}))}),wk=N({work:N({sessionId:rk,commandFactId:rk}),mail:k(Sk)}),Tk=N({work:Ck,delivery:I([`steer`,`followUp`]),mail:k(Sk)}),Ek=e=>{let t=E(Tk)(e),n={sessionId:t.work.sessionId,commandFactId:t.work.commandFactId},r=t.mail===void 0?{work:n}:{work:n,mail:t.mail},i={jobId:t.work.jobId,queue:t.work.sessionId,lane:`default`,priority:+(t.delivery===`steer`),payload:r,state:`queued`};return t.work.recovery===void 0?i:{...i,recovery:t.work.recovery}},Dk=e=>E(wk)(e.payload);function Ok(e,t,n,r){let i=E(rk)(t),a=E(ok)(e.from),o=E(pk)({outcome:`accepted`,commandId:n});return{key:`${e.key}:accepted`,to:a,from:{...e.to,sessionId:i},replyTo:[],content:`Work accepted.`,createdAt:r,reply:o}}var kk=E(N({mail_key:j,agent_id:j,reply_to_json:U(P(ok))})),Ak=Up(U(P(ok)));function jk(e){e.sql.exec(`CREATE TABLE IF NOT EXISTS session_delegators (
39
+ VALUES (?, ?, ?, ?, ?)`,t,n,r.agentId,r.sessionId,r.name)}function QO(e,t,n){let r=e.sql.exec(`SELECT agent_id, sender_session_id, name FROM session_work_senders WHERE session_id = ? AND work_id = ?`,t,n).toArray()[0];if(r===void 0)return;let i=JO(r);return YO({agentId:i.agent_id,sessionId:i.sender_session_id,name:i.name})}function $O(e,t,n){let r=QO(e,t,n);return r===void 0?[]:ek(e,t,[r])}function ek(e,t,n){return VO(e,t).filter(e=>n.some(t=>e.waitingOn?.agentId===t.agentId&&e.waitingOn.sessionId===t.sessionId)).slice(0,qO).map(e=>({itemId:e.id,kind:e.kind,summary:e.summary}))}var tk=N({status:I([`accepted`,`duplicate`]),cursor:V.check(B(0))});F([I([`accepted`,`duplicate`,`refused`]),tk,N({status:I([`accepted`,`duplicate`,`refused`]),receipt:Bh})]),Ni(`PostError`);var nk=j.check(ah(1),H(256));N({postKey:nk}),V.check(B(1),Hm(64)),mg({family:`post`,version:1,kinds:{work:{prefix:`post_work`}}});var rk=N({key:nk,kind:nk,address:Yp,event:Yp});U(F([N({state:A(`pending`),envelope:rk,attempts:V.check(B(0)),nextAttemptAt:M.check(B(0)),deadlineAt:k(M.check(B(0))),jobId:k(nk),delivery:k(rk),nextKey:k(nk)}),N({state:A(`delivered`),receipt:k(Bh),nextKey:k(nk)}),N({state:A(`dead`),envelope:rk,attempts:V.check(B(0)),reason:I([`refused`,`exhausted`,`expired`]),deadlineAt:k(M.check(B(0))),receipt:k(Bh),delivery:k(rk),nextKey:k(nk)})])),N({key:j,value:j}),N({due:L(M.check(B(0)))});var ik=j.check(ah(1),H(256)),ak=262144,ok=j.check(z(e=>new TextEncoder().encode(e).byteLength<=ak,{message:`Mail content must be at most ${String(ak)} UTF-8 bytes`})),sk=N({kind:A(`agent`),agentId:ik,sessionId:ik}),ck=N({kind:A(`agent`),agentId:ik,sessionId:O(ik)}),lk=N({kind:A(`system`),systemId:A(`hub`)}),uk=N({itemId:ik,kind:j.check(ah(1),H(64)),summary:j.check(ah(1),H(200))}),dk=N({commandId:ik,outcome:I([`completed`,`failed`,`interrupted`,`cancelled`,`outcome_unknown`]),diagnostic:O(j.check(ah(1),H(200))),waitingOnYou:O(P(uk).check(ah(1),H(8)))}),fk=I([`recipient_offline`,`recipient_left`]),pk=N({outcome:A(`undeliverable`),reason:fk}),mk=N({outcome:A(`accepted`),commandId:ik});F([dk,pk,mk]);var hk=F([dk,mk,N({outcome:A(`undeliverable`),reason:A(`recipient_left`)})]),gk=`[redacted]`,_k=/\b(bearer|basic)\s+[^\s"',;]+/giu,vk=/\b((?:api[_-]?key|access[_-]?token|refresh[_-]?token|token|secret|password|authorization)["']?\s*[:=]\s*["']?)(?!(?:bearer|basic)\s)[^\s"',;&]+/giu,yk=/[A-Za-z0-9][\w-]{23,}/gu;function bk(e){return e.replace(_k,`$1 ${gk}`).replace(vk,`$1${gk}`).replace(yk,e=>/\d/u.test(e)&&/[A-Za-z]/u.test(e)?gk:e)}function xk(e){let t=bk(e.replace(/[\p{Cc}\p{Zl}\p{Zp}\s]+/gu,` `).trim()).slice(0,200).trimEnd();return t.length===0?void 0:t}var Sk={key:ik,to:ck,replyTo:P(sk),content:ok,createdAt:M.check(B(0)),meta:O(Bh)},Ck=F([N({...Sk,from:sk,reply:O(hk)}),N({...Sk,from:lk,reply:N({outcome:A(`undeliverable`),reason:A(`recipient_offline`)})})]),wk=N({jobId:ik,sessionId:ik,commandFactId:ik,recovery:k(N({maxRecoveries:V.check(B(0))}))}),Tk=N({work:N({sessionId:ik,commandFactId:ik}),mail:k(Ck)}),Ek=N({work:wk,delivery:I([`steer`,`followUp`]),mail:k(Ck)}),Dk=e=>{let t=E(Ek)(e),n={sessionId:t.work.sessionId,commandFactId:t.work.commandFactId},r=t.mail===void 0?{work:n}:{work:n,mail:t.mail},i={jobId:t.work.jobId,queue:t.work.sessionId,lane:`default`,priority:+(t.delivery===`steer`),payload:r,state:`queued`};return t.work.recovery===void 0?i:{...i,recovery:t.work.recovery}},Ok=e=>E(Tk)(e.payload);function kk(e,t,n,r){let i=E(ik)(t),a=E(sk)(e.from),o=E(mk)({outcome:`accepted`,commandId:n});return{key:`${e.key}:accepted`,to:a,from:{...e.to,sessionId:i},replyTo:[],content:`Work accepted.`,createdAt:r,reply:o}}var Ak=E(N({mail_key:j,agent_id:j,reply_to_json:U(P(sk))})),jk=Up(U(P(sk)));function Mk(e){e.sql.exec(`CREATE TABLE IF NOT EXISTS session_delegators (
40
40
  session_id TEXT PRIMARY KEY,
41
41
  mail_key TEXT NOT NULL,
42
42
  agent_id TEXT NOT NULL,
43
43
  reply_to_json TEXT NOT NULL
44
- )`)}function Mk(e,t,n){n!==void 0&&n.reply===void 0&&n.from.kind===`agent`&&n.replyTo.length!==0&&e.sql.exec(`INSERT OR IGNORE INTO session_delegators (session_id, mail_key, agent_id, reply_to_json) VALUES (?, ?, ?, ?)`,t,n.key,n.to.agentId,Ak(n.replyTo))}function Nk(e,t){let[n]=e.sql.exec(`SELECT mail_key, agent_id, reply_to_json FROM session_delegators WHERE session_id = ?`,t).toArray();if(n===void 0)return;let r=kk(n);return{key:r.mail_key,agentId:r.agent_id,replyTo:r.reply_to_json}}var Pk=new TextEncoder,Fk=new TextDecoder,Ik=/^[A-Za-z0-9_-]+$/u,Lk=N({v:A(1),generation:j.pipe(R(ah(1)),R(H(128)),R(z(e=>Pk.encode(e).byteLength<=128))),sequence:V.pipe(R(Bm(0)),R(Hm(2**53-1)))}),Rk={onExcessProperty:`error`},zk=T(Lk,Rk),Bk=T(U(Lk),Rk);function Vk(e){let t=zk({v:1,...e});if(t._tag===`Failure`)return;let n=JSON.stringify(t.success);if(Pk.encode(n).byteLength>384)return;let r=Es(n);return Pk.encode(r).byteLength<=512?r:void 0}function Hk(e){if(Pk.encode(e).byteLength>512||!Ik.test(e))return;let t=Ds(e);if(t._tag===`Failure`||t.success.byteLength>384)return;let n=Fk.decode(t.success),r=Bk(n);if(r._tag===`Failure`)return;let i=JSON.stringify(r.success);if(i===n&&Es(i)===e)return Object.freeze({generation:r.success.generation,sequence:r.success.sequence})}var Uk=j.check(ah(1),H(256)),Wk=F([N({agentId:Uk,sessionId:Uk,...uk.fields}),N({agentId:Uk,sessionId:O(Uk),...fk.fields})]),Gk=`fungi_agent_reply`,Kk=RegExp(`<(?=\\s*/?\\s*${Gk})`,`giu`);function qk(e){return e.replace(Kk,`&lt;`)}function Jk(e){return e.replaceAll(`&`,`&amp;`).replaceAll(`"`,`&quot;`).replaceAll(`<`,`&lt;`).replaceAll(`>`,`&gt;`)}function Yk(e){let t=[[`agent_id`,e.agentId]];return e.sessionId!==void 0&&t.push([`session_id`,e.sessionId]),e.outcome!==`undeliverable`&&t.push([`command_id`,e.commandId]),t.push([`outcome`,e.outcome]),e.outcome!==`undeliverable`&&e.diagnostic!==void 0&&t.push([`diagnostic`,e.diagnostic]),e.outcome!==`undeliverable`&&e.waitingOnYou!==void 0&&t.push([`waiting_on_you`,JSON.stringify(e.waitingOnYou)]),e.outcome===`undeliverable`&&t.push([`reason`,e.reason]),`<${Gk} ${t.map(([e,t])=>`${e}="${Jk(t)}"`).join(` `)}>`}function Xk(e,t){let n=Array.isArray(e.content)?e.content.map(e=>e.type===`text`?{...e,text:qk(e.text)}:e):qk(e.content);if(t===void 0)return{...e,content:n};let r=Yk(t),i=`</${Gk}>`;return{...e,content:Array.isArray(n)?[{type:`text`,text:r},...n,{type:`text`,text:i}]:`${r}\n${n}\n${i}`}}var Zk={onExcessProperty:`error`},Qk=new TextEncoder,$k=e=>j.pipe(R(ah(1)),R(z(t=>Qk.encode(t).byteLength<=e))),eA=$k(256),tA=$k(4096),nA=j.pipe(R(wm(/^[0-9a-f]{64}$/u))),rA=lm(()=>F([j,M,Qp,Xp,P(rA),nm(j,rA)])),iA=N({type:A(`text`),text:j,textSignature:O(j)}),aA=N({type:A(`thinking`),thinking:j,thinkingSignature:O(j),redacted:O(Qp)}),oA=N({type:A(`image`),data:j,mimeType:j}),sA=N({type:A(`toolCall`),id:j,name:j,arguments:nm(j,rA),thoughtSignature:O(j),namespace:O(j),argumentsError:O(j)}),cA=N({input:M,output:M,cacheRead:M,cacheWrite:M,cacheWrite1h:O(M),reasoning:O(M),totalTokens:M,cost:N({input:M,output:M,cacheRead:M,cacheWrite:M,total:M})}),lA=N({role:A(`user`),content:F([j,om(P(F([iA,oA])))]),timestamp:M}),uA=N({role:A(`user`),content:j,timestamp:M}),dA=N({name:j,description:j,parameters:nm(j,rA),constrainedSampling:O(F([A(!1),N({type:A(`json_schema`),strict:I([`prefer`,`require`])}),N({type:A(`grammar`),variants:N({openai_lark:O(j),openai_regex:O(j)})})]))}),fA=F([N({role:A(`system`),content:F([j,om(P(iA))]),sections:O(nm(j,F([j,Xp]))),toolsAdded:O(om(P(dA))),toolsRemoved:O(om(P(N({name:j})))),timestamp:M}),lA,N({role:A(`assistant`),content:om(P(F([iA,aA,sA]))),api:j,provider:j,model:j,responseModel:O(j),responseId:O(j),diagnostics:O(om(P(N({type:j,timestamp:M,error:O(N({name:O(j),message:j,stack:O(j),code:O(F([j,M]))})),details:O(nm(j,rA))})))),usage:cA,stopReason:I([`pending`,`stop`,`length`,`toolUse`,`error`,`aborted`,`deferred`]),deferred:O(N({provider:j,modelId:j,api:j,id:j,expiresAt:O(M),pollAfterMs:O(M),data:O(rA)})),errorMessage:O(j),providerError:O(j),rawStopReason:O(j),providerThinkingLevel:O(j),endTurn:O(Qp),timestamp:M,durationMs:O(M)}),N({role:A(`toolResult`),toolCallId:j,toolName:j,content:om(P(F([iA,oA]))),usage:O(cA),isError:Qp,timestamp:M,durationMs:O(M)})]),pA=I([`run`,`turn`,`message`,`tool_call`,`tool_result`,`terminal`]),mA=lm(()=>N({kind:pA,value:eA,parent:k(mA)})),hA=F([N({type:A(`auto_retry_start`),run:mA,attempt:M,maxAttempts:M,delayMs:M,errorMessage:j}),N({type:A(`auto_retry_attempt`),run:mA,attempt:M}),N({type:A(`auto_retry_end`),run:mA,attempt:M,success:Qp,finalError:O(j)})]),gA=N({core:nA,extensions:P(im([eA,j.pipe(R(wm(/^sha256:[0-9a-f]{64}$/u)))])).pipe(R(H(128)))}),_A=N({content:om(P(F([iA,oA]))),usage:k(cA),isError:Qp,terminate:k(Qp)}),vA={workId:eA},yA=I([`manual`,`threshold`,`overflow`]),bA=U(F([N({...vA,kind:A(`sandbox_failure`),event:oO}),N({kind:A(`document`),workId:Xp,extensionId:eA,name:eA,valueJson:j}),N({kind:A(`model_preference`),workId:Xp,preference:L(iy)}),N({...vA,kind:A(`command`),meta:O(pO),reply:O(Wk),delivery:O(I([`steer`,`followUp`])),requestId:eA,targetWorkId:O(eA),receiptId:eA,message:lA,contract:gA}),N({...vA,kind:A(`command`),work:A(`compact`),instructions:O(ky),meta:O(pO),requestId:eA,receiptId:eA,timestamp:V.check(B(0)),contract:gA}),N({kind:A(`operator`),workId:Xp,requestId:eA,author:I([`operator`,`party`]),meta:O(pO),message:uA}),N({...vA,kind:A(`cancellation`),requestId:eA,receiptId:eA,targetWorkId:eA,meta:O(pO)}),N({...vA,kind:A(`model_selection`),provider:eA,model:eA,catalogRevision:eA,definitionRevision:eA,selectionPolicyRevision:eA}),N({...vA,kind:A(`run_started`),run:mA,contract:gA}),N({...vA,kind:A(`turn_started`),run:mA,turn:mA}),N({...vA,kind:A(`model_prompt`),run:mA,turn:mA,attempt:M.pipe(R(Gm()),R(Bm(0))),contract:gA,systemPrompt:j.pipe(R(z(e=>Qk.encode(e).byteLength<=1048576)))}),N({...vA,kind:A(`message_start`),run:mA,turn:mA,message:mA,role:I([`assistant`,`system`,`toolResult`,`user`])}),N({...vA,kind:A(`message`),data:O(rA),run:mA,turn:mA,message:mA,value:fA}),N({...vA,kind:A(`tool_intent`),replay:I([`safe`,`unsafe`]).pipe(vm(v(`unsafe`))),contract:gA,run:mA,turn:mA,toolCall:mA,call:sA}),N({...vA,kind:A(`tool_outcome`),data:O(rA),run:mA,turn:mA,toolCall:mA,call:sA,result:_A}),N({...vA,kind:A(`live_retry`),event:hA}),N({...vA,kind:A(`compaction`),head:eA,model:im([lA]),data:N({reason:O(yA),resumesRun:Qp,tokensBefore:M,tokensAfter:O(M),usage:cA,contextRevision:eA,receipt:O(tA),details:O(N({readFiles:P(j),modifiedFiles:P(j)}))})}),N({...vA,kind:A(`compaction_notice`),trigger:yA,result:A(`nothing_to_compact`),diagnostic:O(j.check(H(200)))}),N({...vA,kind:A(`compaction_notice`),trigger:yA,result:A(`failed`),usage:O(cA),diagnostic:O(j.check(H(200)))}),N({...vA,kind:A(`compaction_notice`),trigger:yA,result:A(`stale`),usage:O(cA)}),N({...vA,kind:A(`compaction_notice`),trigger:yA,result:A(`insufficient`),usage:O(cA)}),N({...vA,kind:A(`run_terminal`),run:mA,terminal:mA,diagnostic:O(j.check(H(200))),outcome:I([`completed`,`cancelled`,`failed`])}),N({...vA,kind:A(`work_terminal`),diagnostic:O(j),outcome:I([`completed`,`interrupted`,`cancelled`,`failed`])})])),xA=U(Yp),SA=T(bA,Zk),CA=Up(xA),wA=E(bA,Zk);function TA(e){return`work`in e}function EA(e){return e.kind===`command`&&!TA(e)?e:void 0}function DA(e){return TA(e)?e.timestamp:e.message.timestamp}function OA(e){return Xk(e.author===`party`?e.message:{role:`user`,content:`[A human operator replied to the user on your behalf]\n${e.message.content}`,timestamp:e.message.timestamp})}function kA(e){return Xk(e.message,e.reply)}function AA(e){return e.author===`party`?e.message:{role:`assistant`,content:[{type:`text`,text:e.message.content}],api:`operator`,provider:`operator`,model:`operator`,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:e.message.timestamp}}function jA(e){return yt(SA(e),e=>e.kind===`command`&&!TA(e)&&e.delivery===void 0?{...e,delivery:`followUp`}:e)}function MA(e){let t=CA(e);return wA(t),t}var NA=j.pipe(R(ah(1))),PA=V.pipe(R(B(0))),FA={onExcessProperty:`error`},IA=N({value_json:j}),LA=N({state_version:V.pipe(R(B(1))),revision:NA}),RA=N({status:I([`running`,`stopped`]),reason:L(j),stopped_at:L(PA),revision:NA}),zA=N({extension_id:NA,key:NA,due_at:PA}),BA=N({collection:NA,key:NA,value_json:j}),VA=N({sequence:PA}),HA=N({due:I([0,1]),next_due_at:L(PA)});function UA(e){return new W(`store`,`unavailable`,e)}function WA(e,t,n){let r=T(e,FA);return t.map(e=>{let t=r(e);if(t._tag===`Failure`)throw UA(n);return t.success})}function GA(e){e.transactionSync(()=>{e.sql.exec(`CREATE TABLE IF NOT EXISTS shiitake_extension_records (
44
+ )`)}function Nk(e,t,n){n!==void 0&&n.reply===void 0&&n.from.kind===`agent`&&n.replyTo.length!==0&&e.sql.exec(`INSERT OR IGNORE INTO session_delegators (session_id, mail_key, agent_id, reply_to_json) VALUES (?, ?, ?, ?)`,t,n.key,n.to.agentId,jk(n.replyTo))}function Pk(e,t){let[n]=e.sql.exec(`SELECT mail_key, agent_id, reply_to_json FROM session_delegators WHERE session_id = ?`,t).toArray();if(n===void 0)return;let r=Ak(n);return{key:r.mail_key,agentId:r.agent_id,replyTo:r.reply_to_json}}var Fk=new TextEncoder,Ik=new TextDecoder,Lk=/^[A-Za-z0-9_-]+$/u,Rk=N({v:A(1),generation:j.pipe(R(ah(1)),R(H(128)),R(z(e=>Fk.encode(e).byteLength<=128))),sequence:V.pipe(R(Bm(0)),R(Hm(2**53-1)))}),zk={onExcessProperty:`error`},Bk=T(Rk,zk),Vk=T(U(Rk),zk);function Hk(e){let t=Bk({v:1,...e});if(t._tag===`Failure`)return;let n=JSON.stringify(t.success);if(Fk.encode(n).byteLength>384)return;let r=Es(n);return Fk.encode(r).byteLength<=512?r:void 0}function Uk(e){if(Fk.encode(e).byteLength>512||!Lk.test(e))return;let t=Ds(e);if(t._tag===`Failure`||t.success.byteLength>384)return;let n=Ik.decode(t.success),r=Vk(n);if(r._tag===`Failure`)return;let i=JSON.stringify(r.success);if(i===n&&Es(i)===e)return Object.freeze({generation:r.success.generation,sequence:r.success.sequence})}var Wk=j.check(ah(1),H(256)),Gk=F([N({agentId:Wk,sessionId:Wk,...dk.fields}),N({agentId:Wk,sessionId:O(Wk),...pk.fields})]),Kk=`fungi_agent_reply`,qk=RegExp(`<(?=\\s*/?\\s*${Kk})`,`giu`);function Jk(e){return e.replace(qk,`&lt;`)}function Yk(e){return e.replaceAll(`&`,`&amp;`).replaceAll(`"`,`&quot;`).replaceAll(`<`,`&lt;`).replaceAll(`>`,`&gt;`)}function Xk(e){let t=[[`agent_id`,e.agentId]];return e.sessionId!==void 0&&t.push([`session_id`,e.sessionId]),e.outcome!==`undeliverable`&&t.push([`command_id`,e.commandId]),t.push([`outcome`,e.outcome]),e.outcome!==`undeliverable`&&e.diagnostic!==void 0&&t.push([`diagnostic`,e.diagnostic]),e.outcome!==`undeliverable`&&e.waitingOnYou!==void 0&&t.push([`waiting_on_you`,JSON.stringify(e.waitingOnYou)]),e.outcome===`undeliverable`&&t.push([`reason`,e.reason]),`<${Kk} ${t.map(([e,t])=>`${e}="${Yk(t)}"`).join(` `)}>`}function Zk(e,t){let n=Array.isArray(e.content)?e.content.map(e=>e.type===`text`?{...e,text:Jk(e.text)}:e):Jk(e.content);if(t===void 0)return{...e,content:n};let r=Xk(t),i=`</${Kk}>`;return{...e,content:Array.isArray(n)?[{type:`text`,text:r},...n,{type:`text`,text:i}]:`${r}\n${n}\n${i}`}}var Qk={onExcessProperty:`error`},$k=new TextEncoder,eA=e=>j.pipe(R(ah(1)),R(z(t=>$k.encode(t).byteLength<=e))),tA=eA(256),nA=eA(4096),rA=j.pipe(R(wm(/^[0-9a-f]{64}$/u))),iA=lm(()=>F([j,M,Qp,Xp,P(iA),nm(j,iA)])),aA=N({type:A(`text`),text:j,textSignature:O(j)}),oA=N({type:A(`thinking`),thinking:j,thinkingSignature:O(j),redacted:O(Qp)}),sA=N({type:A(`image`),data:j,mimeType:j}),cA=N({type:A(`toolCall`),id:j,name:j,arguments:nm(j,iA),thoughtSignature:O(j),namespace:O(j),argumentsError:O(j)}),lA=N({input:M,output:M,cacheRead:M,cacheWrite:M,cacheWrite1h:O(M),reasoning:O(M),totalTokens:M,cost:N({input:M,output:M,cacheRead:M,cacheWrite:M,total:M})}),uA=N({role:A(`user`),content:F([j,om(P(F([aA,sA])))]),timestamp:M}),dA=N({role:A(`user`),content:j,timestamp:M}),fA=N({name:j,description:j,parameters:nm(j,iA),constrainedSampling:O(F([A(!1),N({type:A(`json_schema`),strict:I([`prefer`,`require`])}),N({type:A(`grammar`),variants:N({openai_lark:O(j),openai_regex:O(j)})})]))}),pA=F([N({role:A(`system`),content:F([j,om(P(aA))]),sections:O(nm(j,F([j,Xp]))),toolsAdded:O(om(P(fA))),toolsRemoved:O(om(P(N({name:j})))),timestamp:M}),uA,N({role:A(`assistant`),content:om(P(F([aA,oA,cA]))),api:j,provider:j,model:j,responseModel:O(j),responseId:O(j),diagnostics:O(om(P(N({type:j,timestamp:M,error:O(N({name:O(j),message:j,stack:O(j),code:O(F([j,M]))})),details:O(nm(j,iA))})))),usage:lA,stopReason:I([`pending`,`stop`,`length`,`toolUse`,`error`,`aborted`,`deferred`]),deferred:O(N({provider:j,modelId:j,api:j,id:j,expiresAt:O(M),pollAfterMs:O(M),data:O(iA)})),errorMessage:O(j),providerError:O(j),rawStopReason:O(j),providerThinkingLevel:O(j),endTurn:O(Qp),timestamp:M,durationMs:O(M)}),N({role:A(`toolResult`),toolCallId:j,toolName:j,content:om(P(F([aA,sA]))),usage:O(lA),isError:Qp,timestamp:M,durationMs:O(M)})]),mA=I([`run`,`turn`,`message`,`tool_call`,`tool_result`,`terminal`]),hA=lm(()=>N({kind:mA,value:tA,parent:k(hA)})),gA=F([N({type:A(`auto_retry_start`),run:hA,attempt:M,maxAttempts:M,delayMs:M,errorMessage:j}),N({type:A(`auto_retry_attempt`),run:hA,attempt:M}),N({type:A(`auto_retry_end`),run:hA,attempt:M,success:Qp,finalError:O(j)})]),_A=N({core:rA,extensions:P(im([tA,j.pipe(R(wm(/^sha256:[0-9a-f]{64}$/u)))])).pipe(R(H(128)))}),vA=N({content:om(P(F([aA,sA]))),usage:k(lA),isError:Qp,terminate:k(Qp)}),yA={workId:tA},bA=I([`manual`,`threshold`,`overflow`]),xA=U(F([N({...yA,kind:A(`sandbox_failure`),event:oO}),N({kind:A(`document`),workId:Xp,extensionId:tA,name:tA,valueJson:j}),N({kind:A(`model_preference`),workId:Xp,preference:L(iy)}),N({...yA,kind:A(`command`),meta:O(pO),reply:O(Gk),delivery:O(I([`steer`,`followUp`])),requestId:tA,targetWorkId:O(tA),receiptId:tA,message:uA,contract:_A}),N({...yA,kind:A(`command`),work:A(`compact`),instructions:O(ky),meta:O(pO),requestId:tA,receiptId:tA,timestamp:V.check(B(0)),contract:_A}),N({kind:A(`operator`),workId:Xp,requestId:tA,author:I([`operator`,`party`]),meta:O(pO),message:dA}),N({...yA,kind:A(`cancellation`),requestId:tA,receiptId:tA,targetWorkId:tA,meta:O(pO)}),N({...yA,kind:A(`model_selection`),provider:tA,model:tA,catalogRevision:tA,definitionRevision:tA,selectionPolicyRevision:tA}),N({...yA,kind:A(`run_started`),run:hA,contract:_A}),N({...yA,kind:A(`turn_started`),run:hA,turn:hA}),N({...yA,kind:A(`model_prompt`),run:hA,turn:hA,attempt:M.pipe(R(Gm()),R(Bm(0))),contract:_A,systemPrompt:j.pipe(R(z(e=>$k.encode(e).byteLength<=1048576)))}),N({...yA,kind:A(`message_start`),run:hA,turn:hA,message:hA,role:I([`assistant`,`system`,`toolResult`,`user`])}),N({...yA,kind:A(`message`),data:O(iA),run:hA,turn:hA,message:hA,value:pA}),N({...yA,kind:A(`tool_intent`),replay:I([`safe`,`unsafe`]).pipe(vm(v(`unsafe`))),contract:_A,run:hA,turn:hA,toolCall:hA,call:cA}),N({...yA,kind:A(`tool_outcome`),data:O(iA),run:hA,turn:hA,toolCall:hA,call:cA,result:vA}),N({...yA,kind:A(`live_retry`),event:gA}),N({...yA,kind:A(`compaction`),head:tA,model:im([uA]),data:N({reason:O(bA),resumesRun:Qp,tokensBefore:M,tokensAfter:O(M),usage:lA,contextRevision:tA,receipt:O(nA),details:O(N({readFiles:P(j),modifiedFiles:P(j)}))})}),N({...yA,kind:A(`compaction_notice`),trigger:bA,result:A(`nothing_to_compact`),diagnostic:O(j.check(H(200)))}),N({...yA,kind:A(`compaction_notice`),trigger:bA,result:A(`failed`),usage:O(lA),diagnostic:O(j.check(H(200)))}),N({...yA,kind:A(`compaction_notice`),trigger:bA,result:A(`stale`),usage:O(lA)}),N({...yA,kind:A(`compaction_notice`),trigger:bA,result:A(`insufficient`),usage:O(lA)}),N({...yA,kind:A(`run_terminal`),run:hA,terminal:hA,diagnostic:O(j.check(H(200))),outcome:I([`completed`,`cancelled`,`failed`])}),N({...yA,kind:A(`work_terminal`),diagnostic:O(j),outcome:I([`completed`,`interrupted`,`cancelled`,`failed`])})])),SA=U(Yp),CA=T(xA,Qk),wA=Up(SA),TA=E(xA,Qk);function EA(e){return`work`in e}function DA(e){return e.kind===`command`&&!EA(e)?e:void 0}function OA(e){return EA(e)?e.timestamp:e.message.timestamp}function kA(e){return Zk(e.author===`party`?e.message:{role:`user`,content:`[A human operator replied to the user on your behalf]\n${e.message.content}`,timestamp:e.message.timestamp})}function AA(e){return Zk(e.message,e.reply)}function jA(e){return e.author===`party`?e.message:{role:`assistant`,content:[{type:`text`,text:e.message.content}],api:`operator`,provider:`operator`,model:`operator`,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:e.message.timestamp}}function MA(e){return yt(CA(e),e=>e.kind===`command`&&!EA(e)&&e.delivery===void 0?{...e,delivery:`followUp`}:e)}function NA(e){let t=wA(e);return TA(t),t}var PA=j.pipe(R(ah(1))),FA=V.pipe(R(B(0))),IA={onExcessProperty:`error`},LA=N({value_json:j}),RA=N({state_version:V.pipe(R(B(1))),revision:PA}),zA=N({status:I([`running`,`stopped`]),reason:L(j),stopped_at:L(FA),revision:PA}),BA=N({extension_id:PA,key:PA,due_at:FA}),VA=N({collection:PA,key:PA,value_json:j}),HA=N({sequence:FA}),UA=N({due:I([0,1]),next_due_at:L(FA)});function WA(e){return new W(`store`,`unavailable`,e)}function GA(e,t,n){let r=T(e,IA);return t.map(e=>{let t=r(e);if(t._tag===`Failure`)throw WA(n);return t.success})}function KA(e){e.transactionSync(()=>{e.sql.exec(`CREATE TABLE IF NOT EXISTS shiitake_extension_records (
45
45
  extension_id TEXT NOT NULL,
46
46
  collection TEXT NOT NULL,
47
47
  key TEXT NOT NULL,
@@ -70,58 +70,58 @@ Defaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=1
70
70
  ON shiitake_extension_timers(due_at, extension_id, key)`),e.sql.exec(`CREATE TABLE IF NOT EXISTS shiitake_settled_cursors (
71
71
  consumer TEXT PRIMARY KEY,
72
72
  sequence INTEGER NOT NULL CHECK (sequence >= 0)
73
- )`)})}function KA(e,t,n,r){return WA(IA,e.sql.exec(`SELECT value_json FROM shiitake_extension_records
74
- WHERE extension_id = ? AND collection = ? AND key = ?`,t,n,r).toArray(),`Stored extension record is invalid`)[0]?.value_json}function qA(e,t,n,r){return WA(IA,e.sql.exec(`SELECT value_json FROM shiitake_extension_records
73
+ )`)})}function qA(e,t,n,r){return GA(LA,e.sql.exec(`SELECT value_json FROM shiitake_extension_records
74
+ WHERE extension_id = ? AND collection = ? AND key = ?`,t,n,r).toArray(),`Stored extension record is invalid`)[0]?.value_json}function JA(e,t,n,r){return GA(LA,e.sql.exec(`SELECT value_json FROM shiitake_extension_records
75
75
  WHERE extension_id = ? AND collection = ?
76
76
  AND (? IS NULL OR index_value = ?)
77
77
  AND (? IS NULL OR key > ?)
78
- ORDER BY key LIMIT ?`,t,n,r.index??null,r.index??null,r.after??null,r.after??null,r.limit).toArray(),`Stored extension record is invalid`).map(({value_json:e})=>e)}function JA(e,t,n,r,i,a){e.sql.exec(`INSERT INTO shiitake_extension_records
78
+ ORDER BY key LIMIT ?`,t,n,r.index??null,r.index??null,r.after??null,r.after??null,r.limit).toArray(),`Stored extension record is invalid`).map(({value_json:e})=>e)}function YA(e,t,n,r,i,a){e.sql.exec(`INSERT INTO shiitake_extension_records
79
79
  (extension_id, collection, key, index_value, value_json)
80
80
  VALUES (?, ?, ?, ?, ?)
81
81
  ON CONFLICT(extension_id, collection, key) DO UPDATE SET
82
- index_value = excluded.index_value, value_json = excluded.value_json`,t,n,r,i,a)}function YA(e,t,n,r){e.sql.exec(`DELETE FROM shiitake_extension_records
83
- WHERE extension_id = ? AND collection = ? AND key = ?`,t,n,r)}function XA(e,t){return WA(BA,e.sql.exec(`SELECT collection, key, value_json FROM shiitake_extension_records
84
- WHERE extension_id = ? ORDER BY collection, key`,t).toArray(),`Stored extension record is invalid`).map(e=>({collection:e.collection,key:e.key,valueJson:e.value_json}))}function ZA(e,t){e.sql.exec(`DELETE FROM shiitake_extension_records WHERE extension_id = ?`,t)}function QA(e,t){let n=WA(LA,e.sql.exec(`SELECT state_version, revision FROM shiitake_extension_state
85
- WHERE extension_id = ?`,t).toArray(),`Extension ledger is invalid`)[0];return n===void 0?void 0:{version:n.state_version,revision:n.revision}}function $A(e,t,n,r){e.sql.exec(`INSERT INTO shiitake_extension_state (extension_id, state_version, revision)
82
+ index_value = excluded.index_value, value_json = excluded.value_json`,t,n,r,i,a)}function XA(e,t,n,r){e.sql.exec(`DELETE FROM shiitake_extension_records
83
+ WHERE extension_id = ? AND collection = ? AND key = ?`,t,n,r)}function ZA(e,t){return GA(VA,e.sql.exec(`SELECT collection, key, value_json FROM shiitake_extension_records
84
+ WHERE extension_id = ? ORDER BY collection, key`,t).toArray(),`Stored extension record is invalid`).map(e=>({collection:e.collection,key:e.key,valueJson:e.value_json}))}function QA(e,t){e.sql.exec(`DELETE FROM shiitake_extension_records WHERE extension_id = ?`,t)}function $A(e,t){let n=GA(RA,e.sql.exec(`SELECT state_version, revision FROM shiitake_extension_state
85
+ WHERE extension_id = ?`,t).toArray(),`Extension ledger is invalid`)[0];return n===void 0?void 0:{version:n.state_version,revision:n.revision}}function ej(e,t,n,r){e.sql.exec(`INSERT INTO shiitake_extension_state (extension_id, state_version, revision)
86
86
  VALUES (?, ?, ?)
87
87
  ON CONFLICT(extension_id) DO UPDATE SET
88
- state_version = excluded.state_version, revision = excluded.revision`,t,n,r)}function ej(e,t){let n=WA(RA,e.sql.exec(`SELECT status, reason, stopped_at, revision FROM shiitake_extension_status
89
- WHERE extension_id = ?`,t).toArray(),`Extension status is invalid`)[0];return n===void 0?void 0:{status:n.status,reason:n.reason,stoppedAt:n.stopped_at,revision:n.revision}}function tj(e,t,n){e.sql.exec(`INSERT INTO shiitake_extension_status
88
+ state_version = excluded.state_version, revision = excluded.revision`,t,n,r)}function tj(e,t){let n=GA(zA,e.sql.exec(`SELECT status, reason, stopped_at, revision FROM shiitake_extension_status
89
+ WHERE extension_id = ?`,t).toArray(),`Extension status is invalid`)[0];return n===void 0?void 0:{status:n.status,reason:n.reason,stoppedAt:n.stopped_at,revision:n.revision}}function nj(e,t,n){e.sql.exec(`INSERT INTO shiitake_extension_status
90
90
  (extension_id, status, reason, stopped_at, revision)
91
91
  VALUES (?, ?, ?, ?, ?)
92
92
  ON CONFLICT(extension_id) DO UPDATE SET status = excluded.status,
93
93
  reason = excluded.reason, stopped_at = excluded.stopped_at,
94
- revision = excluded.revision`,t,n.status,n.reason,n.stoppedAt,n.revision)}function nj(e,t,n,r){e.sql.exec(`INSERT INTO shiitake_extension_timers (extension_id, key, due_at)
94
+ revision = excluded.revision`,t,n.status,n.reason,n.stoppedAt,n.revision)}function rj(e,t,n,r){e.sql.exec(`INSERT INTO shiitake_extension_timers (extension_id, key, due_at)
95
95
  VALUES (?, ?, ?)
96
- ON CONFLICT(extension_id, key) DO UPDATE SET due_at = excluded.due_at`,t,n,r)}function rj(e,t,n){e.sql.exec(`DELETE FROM shiitake_extension_timers WHERE extension_id = ? AND key = ?`,t,n)}function ij(e,t){e.sql.exec(`DELETE FROM shiitake_extension_timers WHERE extension_id = ?`,t)}function aj(e,t,n){return WA(zA,e.sql.exec(`SELECT extension_id, key, due_at FROM shiitake_extension_timers
97
- WHERE extension_id = ? AND key = ?`,t,n).toArray(),`Extension timer is invalid`)[0]?.due_at}function oj(e){return e.map(()=>`?`).join(`, `)}function sj(e,t,n,r){return t.length===0?[]:WA(zA,e.sql.exec(`SELECT extension_id, key, due_at FROM shiitake_extension_timers
98
- WHERE due_at <= ? AND extension_id IN (${oj(t)})
99
- ORDER BY due_at, extension_id, key LIMIT ?`,n,...t,r).toArray(),`Extension timer is invalid`).map(e=>({extensionId:e.extension_id,key:e.key,dueAt:e.due_at}))}function cj(e,t,n){if(t.length===0)return{due:!1,nextWakeAt:null};let r=oj(t),i=WA(HA,e.sql.exec(`SELECT
96
+ ON CONFLICT(extension_id, key) DO UPDATE SET due_at = excluded.due_at`,t,n,r)}function ij(e,t,n){e.sql.exec(`DELETE FROM shiitake_extension_timers WHERE extension_id = ? AND key = ?`,t,n)}function aj(e,t){e.sql.exec(`DELETE FROM shiitake_extension_timers WHERE extension_id = ?`,t)}function oj(e,t,n){return GA(BA,e.sql.exec(`SELECT extension_id, key, due_at FROM shiitake_extension_timers
97
+ WHERE extension_id = ? AND key = ?`,t,n).toArray(),`Extension timer is invalid`)[0]?.due_at}function sj(e){return e.map(()=>`?`).join(`, `)}function cj(e,t,n,r){return t.length===0?[]:GA(BA,e.sql.exec(`SELECT extension_id, key, due_at FROM shiitake_extension_timers
98
+ WHERE due_at <= ? AND extension_id IN (${sj(t)})
99
+ ORDER BY due_at, extension_id, key LIMIT ?`,n,...t,r).toArray(),`Extension timer is invalid`).map(e=>({extensionId:e.extension_id,key:e.key,dueAt:e.due_at}))}function lj(e,t,n){if(t.length===0)return{due:!1,nextWakeAt:null};let r=sj(t),i=GA(UA,e.sql.exec(`SELECT
100
100
  EXISTS (SELECT 1 FROM shiitake_extension_timers
101
101
  WHERE due_at <= ? AND extension_id IN (${r})) AS due,
102
102
  (SELECT MIN(due_at) FROM shiitake_extension_timers
103
- WHERE due_at > ? AND extension_id IN (${r})) AS next_due_at`,n,...t,n,...t).toArray(),`Extension timer is invalid`)[0];if(i===void 0)throw UA(`Extension timer is unavailable`);return{due:i.due===1,nextWakeAt:i.next_due_at}}function lj(e,t){return WA(VA,e.sql.exec(`SELECT sequence FROM shiitake_settled_cursors WHERE consumer = ?`,t).toArray(),`Settled cursor is invalid`)[0]?.sequence}function uj(e,t,n){e.sql.exec(`INSERT INTO shiitake_settled_cursors (consumer, sequence) VALUES (?, ?)
104
- ON CONFLICT(consumer) DO UPDATE SET sequence = MAX(sequence, excluded.sequence)`,t,n)}var dj=N({extension_id:j,name:j,initial_json:j,fork:I([`inherit-at-fork-point`,`current`,`fresh`]),max_bytes:V.pipe(R(Bm(0)))});function fj(e){e.sql.exec(`CREATE TABLE IF NOT EXISTS session_document_specs (
103
+ WHERE due_at > ? AND extension_id IN (${r})) AS next_due_at`,n,...t,n,...t).toArray(),`Extension timer is invalid`)[0];if(i===void 0)throw WA(`Extension timer is unavailable`);return{due:i.due===1,nextWakeAt:i.next_due_at}}function uj(e,t){return GA(HA,e.sql.exec(`SELECT sequence FROM shiitake_settled_cursors WHERE consumer = ?`,t).toArray(),`Settled cursor is invalid`)[0]?.sequence}function dj(e,t,n){e.sql.exec(`INSERT INTO shiitake_settled_cursors (consumer, sequence) VALUES (?, ?)
104
+ ON CONFLICT(consumer) DO UPDATE SET sequence = MAX(sequence, excluded.sequence)`,t,n)}var fj=N({extension_id:j,name:j,initial_json:j,fork:I([`inherit-at-fork-point`,`current`,`fresh`]),max_bytes:V.pipe(R(Bm(0)))});function pj(e){e.sql.exec(`CREATE TABLE IF NOT EXISTS session_document_specs (
105
105
  extension_id TEXT NOT NULL, name TEXT NOT NULL, initial_json TEXT NOT NULL,
106
106
  fork TEXT NOT NULL, max_bytes INTEGER NOT NULL,
107
107
  PRIMARY KEY (extension_id, name)
108
- )`)}function pj(e,t){e.sql.exec(`INSERT INTO session_document_specs
108
+ )`)}function mj(e,t){e.sql.exec(`INSERT INTO session_document_specs
109
109
  (extension_id, name, initial_json, fork, max_bytes) VALUES (?, ?, ?, ?, ?)
110
110
  ON CONFLICT(extension_id, name) DO UPDATE SET initial_json = excluded.initial_json,
111
- fork = excluded.fork, max_bytes = excluded.max_bytes`,t.extensionId,t.name,t.initialJson,t.fork,t.maxBytes)}function mj(e,t){return e.sql.exec(`SELECT extension_id, name, initial_json, fork, max_bytes FROM session_document_specs ORDER BY extension_id, name`).toArray().flatMap(e=>{let n=E(dj)(e);if(n.fork===`inherit-at-fork-point`)return[];let r=n.fork===`fresh`?n.initial_json:t(n.extension_id,n.name)??n.initial_json;if(new TextEncoder().encode(r).byteLength>n.max_bytes)throw new W(`store`,`rejected`,`Session document exceeds its declared size bound`);return[{kind:`document`,workId:null,extensionId:n.extension_id,name:n.name,valueJson:r}]})}var hj=Mp(j),gj=`The conversation history before this point was compacted into the following summary:
111
+ fork = excluded.fork, max_bytes = excluded.max_bytes`,t.extensionId,t.name,t.initialJson,t.fork,t.maxBytes)}function hj(e,t){return e.sql.exec(`SELECT extension_id, name, initial_json, fork, max_bytes FROM session_document_specs ORDER BY extension_id, name`).toArray().flatMap(e=>{let n=E(fj)(e);if(n.fork===`inherit-at-fork-point`)return[];let r=n.fork===`fresh`?n.initial_json:t(n.extension_id,n.name)??n.initial_json;if(new TextEncoder().encode(r).byteLength>n.max_bytes)throw new W(`store`,`rejected`,`Session document exceeds its declared size bound`);return[{kind:`document`,workId:null,extensionId:n.extension_id,name:n.name,valueJson:r}]})}var gj=Mp(j),_j=`The conversation history before this point was compacted into the following summary:
112
112
 
113
113
  <summary>
114
- `,_j=`
115
- </summary>`;function vj(e,t){return{role:`user`,content:[{type:`text`,text:gj+e+_j}],timestamp:t}}function yj(e){let t=Array.isArray(e.content)?e.content[0]:void 0,n=t?.type===`text`?t.text:void 0;if(n===void 0||!n.startsWith(gj)||!n.endsWith(_j))throw Error(`Compaction model message is not a summary`);return n.slice(gj.length,n.length-_j.length)}function bj(){return{edited:new Set,read:new Set,written:new Set}}function xj(e,t){if(e.role===`assistant`)for(let n of e.content){if(n.type!==`toolCall`)continue;let e=n.arguments.path;hj(e)&&(n.name===`edit`&&t.edited.add(e),n.name===`read`&&t.read.add(e),n.name===`write`&&t.written.add(e))}}function Sj(e){let t=new Set([...e.edited,...e.written]);return{modifiedFiles:[...t].sort(),readFiles:[...e.read].filter(e=>!t.has(e)).sort()}}function Cj(e,t){let n=[];return e.length>0&&n.push(`<read-files>\n${e.join(`
114
+ `,vj=`
115
+ </summary>`;function yj(e,t){return{role:`user`,content:[{type:`text`,text:_j+e+vj}],timestamp:t}}function bj(e){let t=Array.isArray(e.content)?e.content[0]:void 0,n=t?.type===`text`?t.text:void 0;if(n===void 0||!n.startsWith(_j)||!n.endsWith(vj))throw Error(`Compaction model message is not a summary`);return n.slice(_j.length,n.length-vj.length)}function xj(){return{edited:new Set,read:new Set,written:new Set}}function Sj(e,t){if(e.role===`assistant`)for(let n of e.content){if(n.type!==`toolCall`)continue;let e=n.arguments.path;gj(e)&&(n.name===`edit`&&t.edited.add(e),n.name===`read`&&t.read.add(e),n.name===`write`&&t.written.add(e))}}function Cj(e){let t=new Set([...e.edited,...e.written]);return{modifiedFiles:[...t].sort(),readFiles:[...e.read].filter(e=>!t.has(e)).sort()}}function wj(e,t){let n=[];return e.length>0&&n.push(`<read-files>\n${e.join(`
116
116
  `)}\n</read-files>`),t.length>0&&n.push(`<modified-files>\n${t.join(`
117
117
  `)}\n</modified-files>`),n.length===0?``:`\n\n${n.join(`
118
118
 
119
- `)}`}var wj=2e3;function Tj(e){return e.filter(e=>e.type===`text`).map(e=>e.text??``).join(``)}function Ej(e){if(e.length<=wj)return e;let t=String(e.length-wj);return`${e.slice(0,wj)}\n\n[... ${t} more characters truncated]`}function Dj(e){let t=hj(e.content)?e.content:Tj(e.content);return t?`[User]: ${t}`:void 0}function Oj(e){let t=[],n=[];for(let r of e.content)if(r.type===`text`)t.push(r.text);else if(r.type===`toolCall`){let e=Object.entries(r.arguments).map(([e,t])=>`${e}=${JSON.stringify(t)}`).join(`, `);n.push(`${r.name}(${e})`)}let r=[];return t.length>0&&r.push(`[Assistant]: ${t.join(`
120
- `)}`),n.length>0&&r.push(`[Assistant tool calls]: ${n.join(`; `)}`),r}function kj(e){let t=Tj(e.content);return t?`[Tool result]: ${Ej(t)}`:void 0}function Aj(e){let t=[];for(let n of e)if(n.role===`system`){let e=hj(n.content)?n.content:Tj(n.content);e&&t.push(`[System]: ${e}`)}else if(n.role===`user`){let e=Dj(n);e!==void 0&&t.push(e)}else if(n.role===`assistant`)t.push(...Oj(n));else{let e=kj(n);e!==void 0&&t.push(e)}return t.join(`
119
+ `)}`}var Tj=2e3;function Ej(e){return e.filter(e=>e.type===`text`).map(e=>e.text??``).join(``)}function Dj(e){if(e.length<=Tj)return e;let t=String(e.length-Tj);return`${e.slice(0,Tj)}\n\n[... ${t} more characters truncated]`}function Oj(e){let t=gj(e.content)?e.content:Ej(e.content);return t?`[User]: ${t}`:void 0}function kj(e){let t=[],n=[];for(let r of e.content)if(r.type===`text`)t.push(r.text);else if(r.type===`toolCall`){let e=Object.entries(r.arguments).map(([e,t])=>`${e}=${JSON.stringify(t)}`).join(`, `);n.push(`${r.name}(${e})`)}let r=[];return t.length>0&&r.push(`[Assistant]: ${t.join(`
120
+ `)}`),n.length>0&&r.push(`[Assistant tool calls]: ${n.join(`; `)}`),r}function Aj(e){let t=Ej(e.content);return t?`[Tool result]: ${Dj(t)}`:void 0}function jj(e){let t=[];for(let n of e)if(n.role===`system`){let e=gj(n.content)?n.content:Ej(n.content);e&&t.push(`[System]: ${e}`)}else if(n.role===`user`){let e=Oj(n);e!==void 0&&t.push(e)}else if(n.role===`assistant`)t.push(...kj(n));else{let e=Aj(n);e!==void 0&&t.push(e)}return t.join(`
121
121
 
122
- `)}function jj(e,t,n){return n.enabled?e>t-n.reserveTokens:!1}function Mj(e,t,n){return!n.enabled||n.backgroundTokens===0?!1:e>t-n.reserveTokens-n.backgroundTokens&&!jj(e,t,n)}var Nj={enabled:!0,reserveTokens:16384,keepRecentTokens:2e4,backgroundTokens:32768},Pj=`You are a context summarization assistant. Your task is to read a conversation between a user and an AI coding assistant, then produce a structured summary following the exact format specified.
122
+ `)}function Mj(e,t,n){return n.enabled?e>t-n.reserveTokens:!1}function Nj(e,t,n){return!n.enabled||n.backgroundTokens===0?!1:e>t-n.reserveTokens-n.backgroundTokens&&!Mj(e,t,n)}var Pj={enabled:!0,reserveTokens:16384,keepRecentTokens:2e4,backgroundTokens:32768},Fj=`You are a context summarization assistant. Your task is to read a conversation between a user and an AI coding assistant, then produce a structured summary following the exact format specified.
123
123
 
124
- Do NOT continue the conversation. Do NOT respond to any questions in the conversation. ONLY output the structured summary.`,Fj=`The messages above are a conversation to summarize. Create a structured context checkpoint summary that another LLM will use to continue the work.
124
+ Do NOT continue the conversation. Do NOT respond to any questions in the conversation. ONLY output the structured summary.`,Ij=`The messages above are a conversation to summarize. Create a structured context checkpoint summary that another LLM will use to continue the work.
125
125
 
126
126
  Use this EXACT format:
127
127
 
@@ -152,7 +152,7 @@ Use this EXACT format:
152
152
  - [Any data, examples, or references needed to continue]
153
153
  - [Or "(none)" if not applicable]
154
154
 
155
- Keep each section concise. Preserve exact file paths, function names, and error messages.`,Ij=`The messages above are NEW conversation messages to incorporate into the existing summary provided in <previous-summary> tags.
155
+ Keep each section concise. Preserve exact file paths, function names, and error messages.`,Lj=`The messages above are NEW conversation messages to incorporate into the existing summary provided in <previous-summary> tags.
156
156
 
157
157
  Update the existing structured summary with new information. RULES:
158
158
  - PRESERVE all existing information from the previous summary
@@ -189,7 +189,7 @@ Use this EXACT format:
189
189
  ## Critical Context
190
190
  - [Preserve important context, add new if needed]
191
191
 
192
- Keep each section concise. Preserve exact file paths, function names, and error messages.`,Lj=`The messages above are earlier context from an ongoing conversation. Later messages are stored separately and do not need to be reconstructed.
192
+ Keep each section concise. Preserve exact file paths, function names, and error messages.`,Rj=`The messages above are earlier context from an ongoing conversation. Later messages are stored separately and do not need to be reconstructed.
193
193
 
194
194
  Create a concise checkpoint of the user's request and the progress shown above. This checkpoint will be placed before the later messages so the conversation can continue with the necessary context.
195
195
 
@@ -202,15 +202,15 @@ Create a concise checkpoint of the user's request and the progress shown above.
202
202
  ## Context Needed to Continue
203
203
  - [Information from these messages needed to understand the later work]
204
204
 
205
- Only summarize information explicitly present above. Do not infer or recreate later messages.`;function Rj(e,t){if(e.stopReason===`error`){let n=e.errorMessage;return`${t} failed: ${n!==void 0&&n.length>0?n:`Unknown error`}`}return e.stopReason===`length`?`${t} failed: generation hit the token cap and the summary is incomplete`:e.content.some(e=>e.type===`toolCall`)?`${t} attempted to call a tool`:void 0}var zj=nm(j.check(ah(1),H(160)),I([`none`,`read`,`write`])).check(z(e=>Object.keys(e).length<=256)),Bj=T(N({version:V.check(B(0),Hm(2**53-1)),grants:zj}),{onExcessProperty:`error`}),Vj=T(U(zj)),Hj=Up(U(zj)),Uj=T(N({version:V,grants_json:j}));function Wj(e){e.sql.exec(`CREATE TABLE IF NOT EXISTS session_tool_grants (
205
+ Only summarize information explicitly present above. Do not infer or recreate later messages.`;function zj(e,t){if(e.stopReason===`error`){let n=e.errorMessage;return`${t} failed: ${n!==void 0&&n.length>0?n:`Unknown error`}`}return e.stopReason===`length`?`${t} failed: generation hit the token cap and the summary is incomplete`:e.content.some(e=>e.type===`toolCall`)?`${t} attempted to call a tool`:void 0}var Bj=nm(j.check(ah(1),H(160)),I([`none`,`read`,`write`])).check(z(e=>Object.keys(e).length<=256)),Vj=T(N({version:V.check(B(0),Hm(2**53-1)),grants:Bj}),{onExcessProperty:`error`}),Hj=T(U(Bj)),Uj=Up(U(Bj)),Wj=T(N({version:V,grants_json:j}));function Gj(e){e.sql.exec(`CREATE TABLE IF NOT EXISTS session_tool_grants (
206
206
  session_id TEXT PRIMARY KEY,
207
207
  version INTEGER NOT NULL,
208
208
  grants_json TEXT NOT NULL
209
- )`)}function Gj(e,t,n){let r=Bj(n);if(Ct(r))throw new W(`contract`,`invalid`,`Session grants delivery is invalid`);let i=Hj(r.success.grants),a=Kj(e,t);if(a!==void 0){if(r.success.version<a.version)throw new W(`contract`,`conflict`,`Session grants delivery is older than the stored delivery`);if(r.success.version===a.version&&a.grantsJson===i)return`unchanged`}return e.sql.exec(`INSERT INTO session_tool_grants (session_id, version, grants_json)
209
+ )`)}function Kj(e,t,n){let r=Vj(n);if(Ct(r))throw new W(`contract`,`invalid`,`Session grants delivery is invalid`);let i=Uj(r.success.grants),a=qj(e,t);if(a!==void 0){if(r.success.version<a.version)throw new W(`contract`,`conflict`,`Session grants delivery is older than the stored delivery`);if(r.success.version===a.version&&a.grantsJson===i)return`unchanged`}return e.sql.exec(`INSERT INTO session_tool_grants (session_id, version, grants_json)
210
210
  VALUES (?, ?, ?)
211
211
  ON CONFLICT(session_id) DO UPDATE SET
212
- version = excluded.version, grants_json = excluded.grants_json`,t,r.success.version,i),`applied`}function Kj(e,t){let[n]=e.sql.exec(`SELECT version, grants_json FROM session_tool_grants WHERE session_id = ?`,t).toArray();if(n===void 0)return;let r=Uj(n);if(Ct(r))throw new W(`store`,`unavailable`,`Stored Session grants are invalid`);return{version:r.success.version,grantsJson:r.success.grants_json}}function qj(e,t){let n=Kj(e,t);if(n===void 0)return null;let r=Vj(n.grantsJson);if(Ct(r))throw new W(`store`,`unavailable`,`Stored Session grants are invalid`);return{version:n.version,grants:r.success}}function Jj(e,t,n){e.sql.exec(`INSERT INTO session_tool_grants (session_id, version, grants_json)
213
- SELECT ?, version, grants_json FROM session_tool_grants WHERE session_id = ?`,n,t)}var Yj=200,Xj={onExcessProperty:`error`},Zj=new TextEncoder,Qj=j.pipe(R(ah(1)),R(z(e=>Zj.encode(e).byteLength<=256))),$j=V.pipe(R(B(0))),eM=I([0,1,2]),tM=I([`needs_you`,`running`,`errored`,`done`]),nM=I([`completed`,`failed`,`cancelled`,`outcome_unknown`,`interrupted`]),rM=N({session_id:Qj,title:L(j),created_at:$j,last_activity_at:$j,settled_at:L($j),state:tM,tier:eM}),iM=T(rM,Xj);T(rM.mapFields(_p({revision:$j})),Xj),T(N({revision:$j}),Xj);var aM=T(N({outcome:L(nM)}),Xj),oM=U(im([eM,$j,Qj])),sM=T(oM),cM=Up(oM),lM=`session_id, title, created_at, last_activity_at, settled_at, state, tier`;function uM(e){return new W(`store`,`unavailable`,e)}function dM(e){switch(e){case`needs_you`:return 0;case`running`:return 1;case`errored`:case`done`:return 2}}function fM(e,t,n){if(n)return`needs_you`;if(e.state!==`idle`)return`running`;switch(t){case`failed`:case`interrupted`:case`outcome_unknown`:return`errored`;case`completed`:case`cancelled`:case null:return`done`}}function pM(e){e.sql.exec(`
212
+ version = excluded.version, grants_json = excluded.grants_json`,t,r.success.version,i),`applied`}function qj(e,t){let[n]=e.sql.exec(`SELECT version, grants_json FROM session_tool_grants WHERE session_id = ?`,t).toArray();if(n===void 0)return;let r=Wj(n);if(Ct(r))throw new W(`store`,`unavailable`,`Stored Session grants are invalid`);return{version:r.success.version,grantsJson:r.success.grants_json}}function Jj(e,t){let n=qj(e,t);if(n===void 0)return null;let r=Hj(n.grantsJson);if(Ct(r))throw new W(`store`,`unavailable`,`Stored Session grants are invalid`);return{version:n.version,grants:r.success}}function Yj(e,t,n){e.sql.exec(`INSERT INTO session_tool_grants (session_id, version, grants_json)
213
+ SELECT ?, version, grants_json FROM session_tool_grants WHERE session_id = ?`,n,t)}var Xj=200,Zj={onExcessProperty:`error`},Qj=new TextEncoder,$j=j.pipe(R(ah(1)),R(z(e=>Qj.encode(e).byteLength<=256))),eM=V.pipe(R(B(0))),tM=I([0,1,2]),nM=I([`needs_you`,`running`,`errored`,`done`]),rM=I([`completed`,`failed`,`cancelled`,`outcome_unknown`,`interrupted`]),iM=N({session_id:$j,title:L(j),created_at:eM,last_activity_at:eM,settled_at:L(eM),state:nM,tier:tM}),aM=T(iM,Zj);T(iM.mapFields(_p({revision:eM})),Zj),T(N({revision:eM}),Zj);var oM=T(N({outcome:L(rM)}),Zj),sM=U(im([tM,eM,$j])),cM=T(sM),lM=Up(sM),uM=`session_id, title, created_at, last_activity_at, settled_at, state, tier`;function dM(e){return new W(`store`,`unavailable`,e)}function fM(e){switch(e){case`needs_you`:return 0;case`running`:return 1;case`errored`:case`done`:return 2}}function pM(e,t,n){if(n)return`needs_you`;if(e.state!==`idle`)return`running`;switch(t){case`failed`:case`interrupted`:case`outcome_unknown`:return`errored`;case`completed`:case`cancelled`:case null:return`done`}}function mM(e){e.sql.exec(`
214
214
  CREATE TABLE IF NOT EXISTS session_inbox (
215
215
  session_id TEXT PRIMARY KEY REFERENCES sessions(id),
216
216
  title TEXT,
@@ -240,34 +240,34 @@ Only summarize information explicitly present above. Do not infer or recreate la
240
240
  session_id TEXT PRIMARY KEY,
241
241
  revision INTEGER NOT NULL
242
242
  ) STRICT
243
- `),e.sql.exec(`CREATE INDEX IF NOT EXISTS idx_session_inbox_tombstones_revision ON session_inbox_tombstones(revision)`)}function mM(e){e.sql.exec(`UPDATE session_inbox_clock SET revision = revision + 1 WHERE singleton = 1`)}var hM=`(SELECT revision FROM session_inbox_clock WHERE singleton = 1)`;function gM(e,t){let n=t.title===void 0?``:t.title,r=t.title===void 0?0:1;mM(e),e.sql.exec(`INSERT INTO session_inbox
243
+ `),e.sql.exec(`CREATE INDEX IF NOT EXISTS idx_session_inbox_tombstones_revision ON session_inbox_tombstones(revision)`)}function hM(e){e.sql.exec(`UPDATE session_inbox_clock SET revision = revision + 1 WHERE singleton = 1`)}var gM=`(SELECT revision FROM session_inbox_clock WHERE singleton = 1)`;function _M(e,t){let n=t.title===void 0?``:t.title,r=t.title===void 0?0:1;hM(e),e.sql.exec(`INSERT INTO session_inbox
244
244
  (session_id, title, created_at, last_activity_at, settled_at, outcome,
245
245
  state, tier, revision)
246
246
  SELECT id, ?, created_at, COALESCE(?, created_at), NULL, NULL, 'done', 2,
247
- ${hM}
247
+ ${gM}
248
248
  FROM sessions
249
249
  WHERE id = ?
250
250
  ON CONFLICT (session_id) DO UPDATE SET
251
251
  title = CASE WHEN ? = 1 THEN excluded.title ELSE title END,
252
252
  last_activity_at = MAX(last_activity_at, excluded.last_activity_at),
253
- revision = excluded.revision`,n,t.activityAt??null,t.sessionId,r)}function _M(e,t){mM(e),e.sql.exec(`INSERT INTO session_inbox_tombstones (session_id, revision)
254
- VALUES (?, ${hM})
255
- ON CONFLICT (session_id) DO UPDATE SET revision = excluded.revision`,t)}function vM(e,t,n){let r=e.sql.exec(`SELECT outcome FROM session_inbox WHERE session_id = ?`,t.queue).toArray()[0];if(r===void 0)return;let i=aM(r);if(i._tag===`Failure`)throw uM(`Stored inbox row is invalid`);let a=t.settled?.outcome??i.success.outcome,o=fM(t.head,a,VO(e,t.queue));mM(e),e.sql.exec(`UPDATE session_inbox
256
- SET outcome = ?, state = ?, tier = ?, revision = ${hM},
253
+ revision = excluded.revision`,n,t.activityAt??null,t.sessionId,r)}function vM(e,t){hM(e),e.sql.exec(`INSERT INTO session_inbox_tombstones (session_id, revision)
254
+ VALUES (?, ${gM})
255
+ ON CONFLICT (session_id) DO UPDATE SET revision = excluded.revision`,t)}function yM(e,t,n){let r=e.sql.exec(`SELECT outcome FROM session_inbox WHERE session_id = ?`,t.queue).toArray()[0];if(r===void 0)return;let i=oM(r);if(i._tag===`Failure`)throw dM(`Stored inbox row is invalid`);let a=t.settled?.outcome??i.success.outcome,o=pM(t.head,a,HO(e,t.queue));hM(e),e.sql.exec(`UPDATE session_inbox
256
+ SET outcome = ?, state = ?, tier = ?, revision = ${gM},
257
257
  settled_at = CASE WHEN ? = 1 THEN ? ELSE settled_at END,
258
258
  last_activity_at = MAX(last_activity_at, ?)
259
- WHERE session_id = ?`,a,o,dM(o),t.settled===void 0?0:1,n,n,t.queue)}function yM(e,t,n){let r=e.sql.exec(`SELECT outcome FROM session_inbox WHERE session_id = ?`,t).toArray()[0];if(r===void 0)return;let i=aM(r);if(i._tag===`Failure`)throw uM(`Stored inbox row is invalid`);let a=fM(n,i.success.outcome,VO(e,t));mM(e),e.sql.exec(`UPDATE session_inbox SET state = ?, tier = ?, revision = ${hM} WHERE session_id = ?`,a,dM(a),t)}function bM(e){if(e.title===null)return Object.freeze({sessionId:e.session_id,state:`unavailable`});let t={sessionId:e.session_id,title:e.title,createdAt:e.created_at,lastActivityAt:e.last_activity_at,state:e.state};return Object.freeze(e.settled_at===null?t:{...t,settledAt:e.settled_at})}function xM(e){let t=sM(e);if(t._tag===`Failure`)throw new W(`contract`,`invalid`,`Session cursor is invalid`);return t.success}function SM(e,t){let n=t===void 0?void 0:xM(t),r=n===void 0?e.sql.exec(`SELECT ${lM} FROM session_inbox
259
+ WHERE session_id = ?`,a,o,fM(o),t.settled===void 0?0:1,n,n,t.queue)}function bM(e,t,n){let r=e.sql.exec(`SELECT outcome FROM session_inbox WHERE session_id = ?`,t).toArray()[0];if(r===void 0)return;let i=oM(r);if(i._tag===`Failure`)throw dM(`Stored inbox row is invalid`);let a=pM(n,i.success.outcome,HO(e,t));hM(e),e.sql.exec(`UPDATE session_inbox SET state = ?, tier = ?, revision = ${gM} WHERE session_id = ?`,a,fM(a),t)}function xM(e){if(e.title===null)return Object.freeze({sessionId:e.session_id,state:`unavailable`});let t={sessionId:e.session_id,title:e.title,createdAt:e.created_at,lastActivityAt:e.last_activity_at,state:e.state};return Object.freeze(e.settled_at===null?t:{...t,settledAt:e.settled_at})}function SM(e){let t=cM(e);if(t._tag===`Failure`)throw new W(`contract`,`invalid`,`Session cursor is invalid`);return t.success}function CM(e,t){let n=t===void 0?void 0:SM(t),r=n===void 0?e.sql.exec(`SELECT ${uM} FROM session_inbox
260
260
  ORDER BY tier ASC, last_activity_at DESC, session_id ASC
261
- LIMIT ?`,Yj).toArray():e.sql.exec(`SELECT ${lM} FROM session_inbox
261
+ LIMIT ?`,Xj).toArray():e.sql.exec(`SELECT ${uM} FROM session_inbox
262
262
  WHERE tier > ?
263
263
  OR (tier = ? AND last_activity_at < ?)
264
264
  OR (tier = ? AND last_activity_at = ? AND session_id > ?)
265
265
  ORDER BY tier ASC, last_activity_at DESC, session_id ASC
266
- LIMIT ?`,n[0],n[0],n[1],n[0],n[1],n[2],Yj).toArray(),i=[],a;for(let e of r){let t=iM(e);if(t._tag===`Failure`)throw uM(`Stored inbox row is invalid`);let n=t.success;a=[n.tier,n.last_activity_at,n.session_id],i.push(bM(n))}return{sessions:i,next:r.length===Yj&&a!==void 0?cM(a):void 0}}var CM=mg({family:`session`,version:1,kinds:{session:{prefix:`session`},work:{prefix:`session_work`},fact:{prefix:`session_fact`},receipt:{prefix:`session_receipt`}}});function wM(e){let t=[...e].reverse().find(({entry:e})=>e.kind===`message`&&e.value.role===`assistant`);if(t?.entry.kind!==`message`||t.entry.value.role!==`assistant`)return;let n=e.filter(({sequence:e})=>e>t.sequence);if(n.some(({entry:e})=>e.kind===`turn_started`||e.kind===`compaction`&&e.data.resumesRun||e.kind===`live_retry`&&e.event.type===`auto_retry_start`))return;let r=n.flatMap(({entry:e})=>e.kind===`message`&&e.value.role===`toolResult`?[e.value]:[]),i=t.entry.value.content.flatMap(e=>{if(e.type!==`toolCall`)return[];let t=[...n].reverse().find(({entry:t})=>t.kind===`tool_outcome`&&t.call.id===e.id)?.entry;if(t?.kind===`tool_outcome`)return[{call:e,state:`completed`,result:t.data===void 0?t.result:{...t.result,data:t.data},message:r.find(t=>t.toolCallId===e.id)}];let i=[...n].reverse().find(({entry:t})=>t.kind===`tool_intent`&&t.call.id===e.id)?.entry;return[i?.kind===`tool_intent`?{call:e,state:`started`,replay:i.replay}:{call:e,state:`pending`}]});return{message:t.entry.value,tools:i}}function TM(e,t){let n=new Set(e.flatMap(({entry:e})=>e.kind===`run_terminal`?[e.workId]:[])),r=new Set,i=new Map;for(let a of e){let e=a.entry;if(e.kind===`message`&&(e.value.role===`assistant`&&i.set(e.workId,a.id),(n.has(e.workId)||e.workId===t)&&(e.value.role!==`assistant`||e.value.stopReason!==`error`&&e.value.stopReason!==`aborted`)&&r.add(a.id)),e.kind===`compaction`&&e.data.resumesRun||e.kind===`live_retry`&&e.event.type===`auto_retry_start`){let t=i.get(e.workId);t!==void 0&&r.delete(t)}}return r}function EM(e){let t=[...e].reverse(),n=t.find(({entry:e})=>e.kind===`run_terminal`);if(n?.entry.kind!==`run_terminal`||e.some(({sequence:e,entry:t})=>e>n.sequence&&(t.kind===`run_started`||t.kind===`compaction`&&t.data.resumesRun)))return;if(n.entry.outcome===`cancelled`)return`cancelled`;if(n.entry.outcome!==`failed`)return;let r=t.find(({entry:e})=>e.kind===`turn_started`),i=t.find(({sequence:e,entry:t})=>t.kind===`message`&&t.value.role===`assistant`&&e>(r?.sequence??0));return i?.entry.kind===`message`&&i.entry.value.role===`assistant`&&i.entry.value.stopReason===`error`&&!e.some(({sequence:e,entry:t})=>e>i.sequence&&t.kind===`live_retry`&&t.event.type===`auto_retry_start`)?void 0:`failed`}var DM={onExcessProperty:`error`},OM=new TextEncoder,kM=j.pipe(R(ah(1)),R(z(e=>OM.encode(e).byteLength<=256))),AM=V.pipe(R(Bm(0))),jM=V.pipe(R(B(0))),MM=N({id:kM,leaf_id:L(kM)}),NM=N({session_id:kM}),PM=N({id:kM,leaf_id:L(kM),created_at:jM,updated_at:jM,metadata_json:L(j)}),FM=U(N({title:My})),IM=T(FM,DM),LM=Up(FM),RM=N({id:kM}),zM=N({version:V,protocol:A(`shiitake.extension/v0`)}),BM=N({name:kM}),VM=N({id:kM,session_id:kM,parent_id:L(kM),sequence:AM,type:j,role:L(I([`user`,`assistant`,`tool_result`])),state:I([`complete`,`streaming`]),request_id:L(kM),work_id:L(kM),data_json:j,timestamp:jM,completed_at:L(jM),damaged:I([0,1])}),HM=N({id:kM,session_id:kM,sequence:AM,request_id:kM,work_id:kM,data_json:j,timestamp:jM,origin_kind:I([`user`,`extension`]),origin_id:L(kM),origin_correlation:L(kM)}),UM=N({kind:A(`extension`),extensionId:kM,correlation:L(kM)}),WM=F([N({kind:A(`user`)}),UM]),GM=T(WM,DM),KM=Ih(WM),qM=e=>[`id`,`session_id`,`sequence`,`request_id`,`work_id`,`data_json`,`timestamp`,`origin_kind`,`origin_id`,`origin_correlation`].map(t=>e+t).join(`, `),JM=N({next_sequence:AM}),YM=N({present:A(1)}),XM=T(NM,DM),ZM=T(PM,DM),QM=T(RM,DM),$M=T(zM,DM),eN=T(BM,DM),tN=T(N({candidate_id:L(kM),path_count:V.pipe(R(Bm(0))),root_count:V.pipe(R(B(0))),missing_parent_count:V.pipe(R(B(0))),leaf_state:I([`complete`,`streaming`])}),DM),nN=T(VM,DM),rN=T(HM,DM),iN=T(JM,DM),aN=T(YM,DM);function oN(e){return`${[`id`,`session_id`,`parent_id`,`sequence`,`type`,`role`,`state`,`request_id`,`work_id`,`data_json`,`timestamp`,`completed_at`].map(t=>`${e}.${t}`).join(`, `)},
266
+ LIMIT ?`,n[0],n[0],n[1],n[0],n[1],n[2],Xj).toArray(),i=[],a;for(let e of r){let t=aM(e);if(t._tag===`Failure`)throw dM(`Stored inbox row is invalid`);let n=t.success;a=[n.tier,n.last_activity_at,n.session_id],i.push(xM(n))}return{sessions:i,next:r.length===Xj&&a!==void 0?lM(a):void 0}}var wM=mg({family:`session`,version:1,kinds:{session:{prefix:`session`},work:{prefix:`session_work`},fact:{prefix:`session_fact`},receipt:{prefix:`session_receipt`}}});function TM(e){let t=[...e].reverse().find(({entry:e})=>e.kind===`message`&&e.value.role===`assistant`);if(t?.entry.kind!==`message`||t.entry.value.role!==`assistant`)return;let n=e.filter(({sequence:e})=>e>t.sequence);if(n.some(({entry:e})=>e.kind===`turn_started`||e.kind===`compaction`&&e.data.resumesRun||e.kind===`live_retry`&&e.event.type===`auto_retry_start`))return;let r=n.flatMap(({entry:e})=>e.kind===`message`&&e.value.role===`toolResult`?[e.value]:[]),i=t.entry.value.content.flatMap(e=>{if(e.type!==`toolCall`)return[];let t=[...n].reverse().find(({entry:t})=>t.kind===`tool_outcome`&&t.call.id===e.id)?.entry;if(t?.kind===`tool_outcome`)return[{call:e,state:`completed`,result:t.data===void 0?t.result:{...t.result,data:t.data},message:r.find(t=>t.toolCallId===e.id)}];let i=[...n].reverse().find(({entry:t})=>t.kind===`tool_intent`&&t.call.id===e.id)?.entry;return[i?.kind===`tool_intent`?{call:e,state:`started`,replay:i.replay}:{call:e,state:`pending`}]});return{message:t.entry.value,tools:i}}function EM(e,t){let n=new Set(e.flatMap(({entry:e})=>e.kind===`run_terminal`?[e.workId]:[])),r=new Set,i=new Map;for(let a of e){let e=a.entry;if(e.kind===`message`&&(e.value.role===`assistant`&&i.set(e.workId,a.id),(n.has(e.workId)||e.workId===t)&&(e.value.role!==`assistant`||e.value.stopReason!==`error`&&e.value.stopReason!==`aborted`)&&r.add(a.id)),e.kind===`compaction`&&e.data.resumesRun||e.kind===`live_retry`&&e.event.type===`auto_retry_start`){let t=i.get(e.workId);t!==void 0&&r.delete(t)}}return r}function DM(e){let t=[...e].reverse(),n=t.find(({entry:e})=>e.kind===`run_terminal`);if(n?.entry.kind!==`run_terminal`||e.some(({sequence:e,entry:t})=>e>n.sequence&&(t.kind===`run_started`||t.kind===`compaction`&&t.data.resumesRun)))return;if(n.entry.outcome===`cancelled`)return`cancelled`;if(n.entry.outcome!==`failed`)return;let r=t.find(({entry:e})=>e.kind===`turn_started`),i=t.find(({sequence:e,entry:t})=>t.kind===`message`&&t.value.role===`assistant`&&e>(r?.sequence??0));return i?.entry.kind===`message`&&i.entry.value.role===`assistant`&&i.entry.value.stopReason===`error`&&!e.some(({sequence:e,entry:t})=>e>i.sequence&&t.kind===`live_retry`&&t.event.type===`auto_retry_start`)?void 0:`failed`}var OM={onExcessProperty:`error`},kM=new TextEncoder,AM=j.pipe(R(ah(1)),R(z(e=>kM.encode(e).byteLength<=256))),jM=V.pipe(R(Bm(0))),MM=V.pipe(R(B(0))),NM=N({id:AM,leaf_id:L(AM)}),PM=N({session_id:AM}),FM=N({id:AM,leaf_id:L(AM),created_at:MM,updated_at:MM,metadata_json:L(j)}),IM=U(N({title:My})),LM=T(IM,OM),RM=Up(IM),zM=N({id:AM}),BM=N({version:V,protocol:A(`shiitake.extension/v0`)}),VM=N({name:AM}),HM=N({id:AM,session_id:AM,parent_id:L(AM),sequence:jM,type:j,role:L(I([`user`,`assistant`,`tool_result`])),state:I([`complete`,`streaming`]),request_id:L(AM),work_id:L(AM),data_json:j,timestamp:MM,completed_at:L(MM),damaged:I([0,1])}),UM=N({id:AM,session_id:AM,sequence:jM,request_id:AM,work_id:AM,data_json:j,timestamp:MM,origin_kind:I([`user`,`extension`]),origin_id:L(AM),origin_correlation:L(AM)}),WM=N({kind:A(`extension`),extensionId:AM,correlation:L(AM)}),GM=F([N({kind:A(`user`)}),WM]),KM=T(GM,OM),qM=Ih(GM),JM=e=>[`id`,`session_id`,`sequence`,`request_id`,`work_id`,`data_json`,`timestamp`,`origin_kind`,`origin_id`,`origin_correlation`].map(t=>e+t).join(`, `),YM=N({next_sequence:jM}),XM=N({present:A(1)}),ZM=T(PM,OM),QM=T(FM,OM),$M=T(zM,OM),eN=T(BM,OM),tN=T(VM,OM),nN=T(N({candidate_id:L(AM),path_count:V.pipe(R(Bm(0))),root_count:V.pipe(R(B(0))),missing_parent_count:V.pipe(R(B(0))),leaf_state:I([`complete`,`streaming`])}),OM),rN=T(HM,OM),iN=T(UM,OM),aN=T(YM,OM),oN=T(XM,OM);function sN(e){return`${[`id`,`session_id`,`parent_id`,`sequence`,`type`,`role`,`state`,`request_id`,`work_id`,`data_json`,`timestamp`,`completed_at`].map(t=>`${e}.${t}`).join(`, `)},
267
267
  EXISTS (SELECT 1 FROM session_lineage_damage AS damage
268
- WHERE damage.session_id = ${e}.session_id) AS damaged`}var sN=oN(`session_entries`);function cN(e,t){return t===void 0?e:{...e,meta:t}}function lN(e,t){if(CN(e,t)===void 0)return;let n=e.sql.exec(`SELECT id, leaf_id, created_at, updated_at, metadata_json
268
+ WHERE damage.session_id = ${e}.session_id) AS damaged`}var cN=sN(`session_entries`);function lN(e,t){return t===void 0?e:{...e,meta:t}}function uN(e,t){if(wN(e,t)===void 0)return;let n=e.sql.exec(`SELECT id, leaf_id, created_at, updated_at, metadata_json
269
269
  FROM sessions
270
- WHERE id = ?`,t).toArray()[0];if(n===void 0)return;let r=ZM(n);if(r._tag===`Failure`)throw $(`Stored Session summary row is invalid`);let i=pN(e,t,r.success),a=r.success.metadata_json;if(a===null)return i;let o=IM(a);if(o._tag===`Failure`)throw $(`Stored Session title is invalid`);return Object.freeze({createdAt:r.success.created_at,updatedAt:r.success.updated_at,title:o.success.title})}var uN=T(N({id:kM,sequence:AM}),DM);function dN(e,t,n,r){let i=e.sql.exec(`SELECT command.id AS id, command.sequence AS sequence
270
+ WHERE id = ?`,t).toArray()[0];if(n===void 0)return;let r=QM(n);if(r._tag===`Failure`)throw $(`Stored Session summary row is invalid`);let i=mN(e,t,r.success),a=r.success.metadata_json;if(a===null)return i;let o=LM(a);if(o._tag===`Failure`)throw $(`Stored Session title is invalid`);return Object.freeze({createdAt:r.success.created_at,updatedAt:r.success.updated_at,title:o.success.title})}var dN=T(N({id:AM,sequence:jM}),OM);function fN(e,t,n,r){let i=e.sql.exec(`SELECT command.id AS id, command.sequence AS sequence
271
271
  FROM session_entries AS command
272
272
  WHERE command.session_id = ? AND command.type = 'command'
273
273
  AND command.role = 'user' AND command.state = 'complete'
@@ -278,13 +278,13 @@ Only summarize information explicitly present above. Do not infer or recreate la
278
278
  AND cancelled.type = 'cancellation'
279
279
  AND cancelled.sequence < command.sequence
280
280
  )
281
- ORDER BY command.sequence ASC LIMIT 1`,t).toArray()[0];if(i===void 0)return null;let a=uN(i);if(a._tag===`Failure`)throw $(`Stored Session first prompt is invalid`);let o=a.success;return r<o.sequence?null:e.sql.exec(`SELECT 1 AS present FROM session_entries AS parent
281
+ ORDER BY command.sequence ASC LIMIT 1`,t).toArray()[0];if(i===void 0)return null;let a=dN(i);if(a._tag===`Failure`)throw $(`Stored Session first prompt is invalid`);let o=a.success;return r<o.sequence?null:e.sql.exec(`SELECT 1 AS present FROM session_entries AS parent
282
282
  WHERE parent.session_id = ? AND parent.sequence < ?
283
283
  AND (SELECT COUNT(*) FROM session_entries AS child
284
284
  WHERE child.parent_id = parent.id
285
285
  AND child.session_id = parent.session_id
286
286
  AND child.state = 'complete') > 1
287
- LIMIT 1`,t,o.sequence).toArray()[0]===void 0?o.id:fN(e,t,n)}function fN(e,t,n){let r=tN(e.sql.exec(`WITH RECURSIVE branch (id, parent_id, sequence, type, role, state, work_id) AS (
287
+ LIMIT 1`,t,o.sequence).toArray()[0]===void 0?o.id:pN(e,t,n)}function pN(e,t,n){let r=nN(e.sql.exec(`WITH RECURSIVE branch (id, parent_id, sequence, type, role, state, work_id) AS (
288
288
  SELECT id, parent_id, sequence, type, role, state, work_id
289
289
  FROM session_entries
290
290
  WHERE session_id = ? AND id = ?
@@ -314,31 +314,31 @@ Only summarize information explicitly present above. Do not infer or recreate la
314
314
  SELECT 1 FROM session_entries AS parent
315
315
  WHERE parent.session_id = ? AND parent.id = child.parent_id
316
316
  )) AS missing_parent_count,
317
- (SELECT state FROM branch WHERE id = ?) AS leaf_state`,t,n,t,t,n).one());if(r._tag===`Failure`||r.success.leaf_state!==`complete`||r.success.root_count!==1||r.success.missing_parent_count!==0)throw $(`Stored Session summary lineage is invalid`);return r.success.candidate_id}function pN(e,t,n){if(n.leaf_id===null)return Object.freeze({createdAt:n.created_at,updatedAt:n.updated_at,title:``});let r=wN(e,t,n.leaf_id);if(r?.state!==`complete`)throw $(`Stored Session summary leaf is invalid`);let i=dN(e,t,n.leaf_id,r.sequence),a=i===null?void 0:wN(e,t,i)?.entry,o=a===void 0?void 0:EA(a);if(o!==void 0)return Object.freeze({createdAt:n.created_at,updatedAt:n.updated_at,title:Array.from(bF(o.message.content)?o.message.content.filter(e=>e.type===`text`).map(e=>e.text).join(``)||`Image prompt`:o.message.content).slice(0,120).join(``)})}function mN(e,t){try{return lN(e,t)?.title??``}catch(e){if(e instanceof W&&e.cause===`unavailable`)return null;throw e}}function $(e){return new W(`store`,`unavailable`,e)}function hN(e){return new W(`store`,`incompatible`,e)}function gN(e){return e.kind===`command`||e.kind===`cancellation`||e.kind===`operator`?e.requestId:null}function _N(e){return e.kind===`command`?TA(e)?null:`user`:e.kind===`operator`?e.author===`party`?`user`:`assistant`:e.kind===`message_start`?e.role===`toolResult`?`tool_result`:e.role:e.kind===`message`?e.value.role===`toolResult`?`tool_result`:e.value.role:null}function vN(e,t){return e.kind===t.kind&&e.value===t.value&&e.parent?.kind===t.parent?.kind&&e.parent?.value===t.parent?.value}function yN(e,t){let n=nN(t);if(n._tag===`Failure`)throw $(`Stored Session entry row is invalid`);let r=n.success;if(r.damaged===1)throw fP(e,r.session_id);let i=jA(r.data_json);if(i._tag===`Failure`)throw $(`Stored Session entry data is invalid`);let a=i.success;if(r.type!==a.kind||r.work_id!==a.workId||r.request_id!==gN(a)||r.role!==_N(a))throw $(`Stored Session entry columns disagree with its data`);return Object.freeze({id:r.id,sessionId:r.session_id,parentId:r.parent_id,sequence:r.sequence,state:r.state,timestamp:r.timestamp,completedAt:r.completed_at,entry:a})}function bN(e){let t=rN(e);if(t._tag===`Failure`)throw $(`Stored command admission row is invalid`);let n=t.success,r=jA(n.data_json);if(r._tag===`Failure`||r.success.kind!==`command`)throw $(`Stored command admission data is invalid`);let i=r.success;if(n.request_id!==i.requestId||n.work_id!==i.workId||n.id!==i.receiptId||n.id!==i.workId||n.timestamp!==DA(i))throw $(`Stored command admission columns disagree with its data`);let a=GM(n.origin_kind===`user`?{kind:`user`}:{kind:`extension`,extensionId:n.origin_id,correlation:n.origin_correlation});if(a._tag===`Failure`||n.origin_kind===`user`&&(n.origin_id!==null||n.origin_correlation!==null))throw $(`Stored command admission origin is invalid`);return Object.freeze({id:n.id,sessionId:n.session_id,sequence:n.sequence,timestamp:n.timestamp,entry:i,origin:a.success})}function xN(e,t){return CN(e,t)!==void 0}var SN=T(N({...MM.fields,damaged:I([0,1])}),DM);function CN(e,t){let n=e.sql.exec(`SELECT id, leaf_id,
317
+ (SELECT state FROM branch WHERE id = ?) AS leaf_state`,t,n,t,t,n).one());if(r._tag===`Failure`||r.success.leaf_state!==`complete`||r.success.root_count!==1||r.success.missing_parent_count!==0)throw $(`Stored Session summary lineage is invalid`);return r.success.candidate_id}function mN(e,t,n){if(n.leaf_id===null)return Object.freeze({createdAt:n.created_at,updatedAt:n.updated_at,title:``});let r=TN(e,t,n.leaf_id);if(r?.state!==`complete`)throw $(`Stored Session summary leaf is invalid`);let i=fN(e,t,n.leaf_id,r.sequence),a=i===null?void 0:TN(e,t,i)?.entry,o=a===void 0?void 0:DA(a);if(o!==void 0)return Object.freeze({createdAt:n.created_at,updatedAt:n.updated_at,title:Array.from(xF(o.message.content)?o.message.content.filter(e=>e.type===`text`).map(e=>e.text).join(``)||`Image prompt`:o.message.content).slice(0,120).join(``)})}function hN(e,t){try{return uN(e,t)?.title??``}catch(e){if(e instanceof W&&e.cause===`unavailable`)return null;throw e}}function $(e){return new W(`store`,`unavailable`,e)}function gN(e){return new W(`store`,`incompatible`,e)}function _N(e){return e.kind===`command`||e.kind===`cancellation`||e.kind===`operator`?e.requestId:null}function vN(e){return e.kind===`command`?EA(e)?null:`user`:e.kind===`operator`?e.author===`party`?`user`:`assistant`:e.kind===`message_start`?e.role===`toolResult`?`tool_result`:e.role:e.kind===`message`?e.value.role===`toolResult`?`tool_result`:e.value.role:null}function yN(e,t){return e.kind===t.kind&&e.value===t.value&&e.parent?.kind===t.parent?.kind&&e.parent?.value===t.parent?.value}function bN(e,t){let n=rN(t);if(n._tag===`Failure`)throw $(`Stored Session entry row is invalid`);let r=n.success;if(r.damaged===1)throw pP(e,r.session_id);let i=MA(r.data_json);if(i._tag===`Failure`)throw $(`Stored Session entry data is invalid`);let a=i.success;if(r.type!==a.kind||r.work_id!==a.workId||r.request_id!==_N(a)||r.role!==vN(a))throw $(`Stored Session entry columns disagree with its data`);return Object.freeze({id:r.id,sessionId:r.session_id,parentId:r.parent_id,sequence:r.sequence,state:r.state,timestamp:r.timestamp,completedAt:r.completed_at,entry:a})}function xN(e){let t=iN(e);if(t._tag===`Failure`)throw $(`Stored command admission row is invalid`);let n=t.success,r=MA(n.data_json);if(r._tag===`Failure`||r.success.kind!==`command`)throw $(`Stored command admission data is invalid`);let i=r.success;if(n.request_id!==i.requestId||n.work_id!==i.workId||n.id!==i.receiptId||n.id!==i.workId||n.timestamp!==OA(i))throw $(`Stored command admission columns disagree with its data`);let a=KM(n.origin_kind===`user`?{kind:`user`}:{kind:`extension`,extensionId:n.origin_id,correlation:n.origin_correlation});if(a._tag===`Failure`||n.origin_kind===`user`&&(n.origin_id!==null||n.origin_correlation!==null))throw $(`Stored command admission origin is invalid`);return Object.freeze({id:n.id,sessionId:n.session_id,sequence:n.sequence,timestamp:n.timestamp,entry:i,origin:a.success})}function SN(e,t){return wN(e,t)!==void 0}var CN=T(N({...NM.fields,damaged:I([0,1])}),OM);function wN(e,t){let n=e.sql.exec(`SELECT id, leaf_id,
318
318
  EXISTS (SELECT 1 FROM session_lineage_damage
319
319
  WHERE session_id = sessions.id) AS damaged
320
- FROM sessions WHERE id = ?`,t).toArray()[0];if(n===void 0)return;let r=SN(n);if(r._tag===`Failure`)throw $(`Stored Session row is invalid`);if(r.success.damaged===1)throw fP(e,t);return Object.freeze({id:r.success.id,leaf_id:r.success.leaf_id})}function wN(e,t,n){let r=e.sql.exec(`SELECT ${sN}
320
+ FROM sessions WHERE id = ?`,t).toArray()[0];if(n===void 0)return;let r=CN(n);if(r._tag===`Failure`)throw $(`Stored Session row is invalid`);if(r.success.damaged===1)throw pP(e,t);return Object.freeze({id:r.success.id,leaf_id:r.success.leaf_id})}function TN(e,t,n){let r=e.sql.exec(`SELECT ${cN}
321
321
  FROM session_entries
322
- WHERE session_id = ? AND id = ?`,t,n).toArray()[0];return r===void 0?void 0:yN(e,r)}function TN(e,t){if(t.leaf_id===null){let n=e.sql.exec(`SELECT 1 AS present
322
+ WHERE session_id = ? AND id = ?`,t,n).toArray()[0];return r===void 0?void 0:bN(e,r)}function EN(e,t){if(t.leaf_id===null){let n=e.sql.exec(`SELECT 1 AS present
323
323
  FROM session_entries
324
324
  WHERE session_id = ?
325
- LIMIT 1`,t.id).toArray()[0];if(n===void 0)return;throw aN(n)._tag===`Failure`?$(`Session entry presence is invalid`):$(`Session leaf is invalid`)}let n=wN(e,t.id,t.leaf_id);if(n?.state!==`complete`)throw $(`Session leaf is invalid`);return n}function EN(e,t){let n=e.sql.exec(`SELECT ${sN}
325
+ LIMIT 1`,t.id).toArray()[0];if(n===void 0)return;throw oN(n)._tag===`Failure`?$(`Session entry presence is invalid`):$(`Session leaf is invalid`)}let n=TN(e,t.id,t.leaf_id);if(n?.state!==`complete`)throw $(`Session leaf is invalid`);return n}function DN(e,t){let n=e.sql.exec(`SELECT ${cN}
326
326
  FROM session_entries
327
- WHERE id = ?`,t).toArray()[0];return n===void 0?void 0:yN(e,n)}function DN(e,t,n){let[r,i]=`id`in n?[`id`,n.id]:`requestId`in n?[`request_id`,n.requestId]:[`work_id`,n.workId],a=e.sql.exec(`SELECT ${qM(``)}
327
+ WHERE id = ?`,t).toArray()[0];return n===void 0?void 0:bN(e,n)}function ON(e,t,n){let[r,i]=`id`in n?[`id`,n.id]:`requestId`in n?[`request_id`,n.requestId]:[`work_id`,n.workId],a=e.sql.exec(`SELECT ${JM(``)}
328
328
  FROM session_command_admissions
329
- WHERE session_id = ? AND ${r} = ?`,t,i).toArray()[0];return a===void 0?void 0:bN(a)}var ON=`FROM session_command_admissions AS a
329
+ WHERE session_id = ? AND ${r} = ?`,t,i).toArray()[0];return a===void 0?void 0:xN(a)}var kN=`FROM session_command_admissions AS a
330
330
  WHERE a.session_id = ?
331
331
  AND NOT EXISTS (
332
332
  SELECT 1 FROM session_entries AS e
333
333
  WHERE e.session_id = a.session_id AND e.work_id = a.work_id
334
334
  AND e.type IN ('command', 'cancellation', 'run_terminal', 'work_terminal')
335
- )`;function kN(e,t,n){return e.sql.exec(`SELECT 1 FROM session_entries WHERE session_id = ? AND work_id = ? AND type = 'run_terminal' LIMIT 1`,t,n).toArray().length>0}var AN=E(N({identity:L(j)}));function jN(e,t,n){let{identity:r}=AN(e.sql.exec(`SELECT json_extract(?, ?) AS identity`,JSON.stringify(n??null),t).one());if(r===null||r.length===0)throw new W(`runtime`,`rejected`,`Request author is required`);return{path:t,value:r}}function MN(e,t,n,r){let i=BN(e,t,n);if(i!==void 0&&jN(e,r.path,i.entry.meta).value!==r.value)throw new W(`runtime`,`rejected`,`Message author does not match`)}function NN(e,t,n){let r=e.sql.exec(`SELECT ${qM(`a.`)} ${ON}
335
+ )`;function AN(e,t,n){return e.sql.exec(`SELECT 1 FROM session_entries WHERE session_id = ? AND work_id = ? AND type = 'run_terminal' LIMIT 1`,t,n).toArray().length>0}var jN=E(N({identity:L(j)}));function MN(e,t,n){let{identity:r}=jN(e.sql.exec(`SELECT json_extract(?, ?) AS identity`,JSON.stringify(n??null),t).one());if(r===null||r.length===0)throw new W(`runtime`,`rejected`,`Request author is required`);return{path:t,value:r}}function NN(e,t,n,r){let i=VN(e,t,n);if(i!==void 0&&MN(e,r.path,i.entry.meta).value!==r.value)throw new W(`runtime`,`rejected`,`Message author does not match`)}function PN(e,t,n){let r=e.sql.exec(`SELECT ${JM(`a.`)} ${kN}
336
336
  AND json_extract(a.data_json, '$.work') IS NULL
337
337
  AND a.origin_kind = 'user'
338
338
  AND (? IS NULL OR json_extract(json_extract(a.data_json, '$.meta'), ?) = ?)
339
- ORDER BY a.sequence DESC LIMIT 1`,t,n?.path??null,n?.path??null,n?.value??null).toArray()[0];return r===void 0?void 0:bN(r)}var PN=E(N({total:V.check(B(0))}));function FN(e,t,n,r=`all`){let i=r===`prompts`?`AND json_extract(a.data_json, '$.work') IS NULL`:``,a=PN(e.sql.exec(`SELECT COUNT(*) AS total ${ON} ${i}`,t).one()).total;return{commands:e.sql.exec(`SELECT ${qM(`a.`)} ${ON} ${i}
339
+ ORDER BY a.sequence DESC LIMIT 1`,t,n?.path??null,n?.path??null,n?.value??null).toArray()[0];return r===void 0?void 0:xN(r)}var FN=E(N({total:V.check(B(0))}));function IN(e,t,n,r=`all`){let i=r===`prompts`?`AND json_extract(a.data_json, '$.work') IS NULL`:``,a=FN(e.sql.exec(`SELECT COUNT(*) AS total ${kN} ${i}`,t).one()).total;return{commands:e.sql.exec(`SELECT ${JM(`a.`)} ${kN} ${i}
340
340
  ORDER BY (json_extract(a.data_json, '$.delivery') = 'steer') DESC,
341
- a.sequence ASC LIMIT ?`,t,n).toArray().map(bN),total:a}}function IN(e,t,n,r,i=200){return e.sql.exec(`SELECT ${qM(`a.`)}
341
+ a.sequence ASC LIMIT ?`,t,n).toArray().map(xN),total:a}}function LN(e,t,n,r,i=200){return e.sql.exec(`SELECT ${JM(`a.`)}
342
342
  FROM session_command_admissions AS a
343
343
  WHERE a.session_id = ?
344
344
  AND json_extract(a.data_json, '$.delivery') = ?
@@ -348,26 +348,26 @@ Only summarize information explicitly present above. Do not infer or recreate la
348
348
  WHERE e.session_id = a.session_id AND e.work_id = a.work_id
349
349
  AND e.type IN ('command', 'run_terminal', 'work_terminal')
350
350
  )
351
- ORDER BY a.sequence ASC LIMIT ?`,t,n,r??null,r??null,i).toArray().map(bN)}function LN(e,t,n){return IN(e,t,`steer`,n,1).length>0}function RN(e,t,n,r){return e.transactionSync(()=>IN(e,t,n,r).map(n=>{let r=EA(wN(e,t,n.id)?.entry??xP(e,{sessionId:t,id:n.id,entry:n.entry}).entry);if(r===void 0)throw $(`Session control admission is invalid`);return{workId:r.workId,requestId:r.requestId,message:kA(r)}}))}function zN(e,t){e.transactionSync(()=>{let n=e.sql.exec(`SELECT ${qM(`a.`)}
351
+ ORDER BY a.sequence ASC LIMIT ?`,t,n,r??null,r??null,i).toArray().map(xN)}function RN(e,t,n){return LN(e,t,`steer`,n,1).length>0}function zN(e,t,n,r){return e.transactionSync(()=>LN(e,t,n,r).map(n=>{let r=DA(TN(e,t,n.id)?.entry??SP(e,{sessionId:t,id:n.id,entry:n.entry}).entry);if(r===void 0)throw $(`Session control admission is invalid`);return{workId:r.workId,requestId:r.requestId,message:AA(r)}}))}function BN(e,t){e.transactionSync(()=>{let n=e.sql.exec(`SELECT ${JM(`a.`)}
352
352
  FROM session_command_admissions AS a
353
353
  WHERE a.session_id = ?
354
354
  AND json_extract(a.data_json, '$.delivery') = 'steer'
355
355
  AND json_extract(a.data_json, '$.targetWorkId') = ?
356
- ORDER BY a.sequence ASC`,t.sessionId,t.parentWorkId).toArray().map(bN);for(let r of n){if(e.sql.exec(`SELECT 1 AS present FROM session_entries WHERE session_id = ? AND work_id = ? AND type IN ('run_terminal', 'work_terminal') LIMIT 1`,t.sessionId,r.entry.workId).toArray()[0]!==void 0)continue;if(wN(e,t.sessionId,r.id)===void 0){t.enqueue({jobId:r.entry.workId,sessionId:t.sessionId,commandFactId:r.id,delivery:`steer`});continue}let n=t.outcome===`failed`||t.outcome===`interrupted`?t.diagnostic:void 0,i={kind:`work_terminal`,workId:r.entry.workId,outcome:t.outcome};n!==void 0&&(i={...i,diagnostic:n}),xP(e,{sessionId:t.sessionId,id:CM.fact.generate(),entry:i})}})}function BN(e,t,n){return DN(e,t,{id:n})}function VN(e,t,n){return DN(e,t,{workId:n})}function HN(e,t,n){return DN(e,t,{requestId:n})}function UN(e,t,n){return CN(e,t),e.sql.exec(`SELECT 1 AS present FROM session_entries
356
+ ORDER BY a.sequence ASC`,t.sessionId,t.parentWorkId).toArray().map(xN);for(let r of n){if(e.sql.exec(`SELECT 1 AS present FROM session_entries WHERE session_id = ? AND work_id = ? AND type IN ('run_terminal', 'work_terminal') LIMIT 1`,t.sessionId,r.entry.workId).toArray()[0]!==void 0)continue;if(TN(e,t.sessionId,r.id)===void 0){t.enqueue({jobId:r.entry.workId,sessionId:t.sessionId,commandFactId:r.id,delivery:`steer`});continue}let n=t.outcome===`failed`||t.outcome===`interrupted`?t.diagnostic:void 0,i={kind:`work_terminal`,workId:r.entry.workId,outcome:t.outcome};n!==void 0&&(i={...i,diagnostic:n}),SP(e,{sessionId:t.sessionId,id:wM.fact.generate(),entry:i})}})}function VN(e,t,n){return ON(e,t,{id:n})}function HN(e,t,n){return ON(e,t,{workId:n})}function UN(e,t,n){return ON(e,t,{requestId:n})}function WN(e,t,n){return wN(e,t),e.sql.exec(`SELECT 1 AS present FROM session_entries
357
357
  INDEXED BY idx_session_entries_work_terminal
358
358
  WHERE session_id = ? AND work_id = ?
359
359
  AND type IN ('run_terminal', 'work_terminal')
360
- LIMIT 1`,t,n).toArray().length>0}function WN(e,t,n){return CN(e,t),Object.freeze(e.sql.exec(`SELECT ${sN}
360
+ LIMIT 1`,t,n).toArray().length>0}function GN(e,t,n){return wN(e,t),Object.freeze(e.sql.exec(`SELECT ${cN}
361
361
  FROM session_entries
362
362
  WHERE session_id = ? AND work_id = ?
363
- ORDER BY sequence ASC`,t,n).toArray().map(t=>yN(e,t)))}function GN(e,t,n){let r=e.sql.exec(`SELECT ${sN}
363
+ ORDER BY sequence ASC`,t,n).toArray().map(t=>bN(e,t)))}function KN(e,t,n){let r=e.sql.exec(`SELECT ${cN}
364
364
  FROM session_entries
365
365
  WHERE session_id = ? AND work_id = ? AND type = 'live_retry'
366
366
  ORDER BY sequence DESC
367
- LIMIT 1`,t,n).toArray()[0];if(r===void 0)return;let i=yN(e,r);if(i.entry.kind!==`live_retry`)throw $(`Stored live retry entry is invalid`);return{event:i.entry.event,timestamp:i.timestamp}}function KN(e,t,n,r){return e.sql.exec(`SELECT 1 FROM session_entries INDEXED BY idx_session_entries_successful_tool
367
+ LIMIT 1`,t,n).toArray()[0];if(r===void 0)return;let i=bN(e,r);if(i.entry.kind!==`live_retry`)throw $(`Stored live retry entry is invalid`);return{event:i.entry.event,timestamp:i.timestamp}}function qN(e,t,n,r){return e.sql.exec(`SELECT 1 FROM session_entries INDEXED BY idx_session_entries_successful_tool
368
368
  WHERE session_id = ? AND work_id = ? AND type = 'tool_outcome'
369
369
  AND json_extract(data_json, '$.result.isError') = 0
370
- AND json_extract(data_json, '$.call.id') = ? LIMIT 1`,t,n,r).toArray().length>0}function qN(e,t,n){let r=e.sql.exec(`SELECT ${oN(`intent`)}
370
+ AND json_extract(data_json, '$.call.id') = ? LIMIT 1`,t,n,r).toArray().length>0}function JN(e,t,n){let r=e.sql.exec(`SELECT ${sN(`intent`)}
371
371
  FROM session_entries AS intent
372
372
  WHERE intent.session_id = ? AND intent.work_id = ?
373
373
  AND intent.type = 'tool_intent'
@@ -380,9 +380,9 @@ Only summarize information explicitly present above. Do not infer or recreate la
380
380
  json_extract(intent.data_json, '$.toolCall.value')
381
381
  )
382
382
  ORDER BY intent.sequence DESC
383
- LIMIT 1`,t,n).toArray()[0];if(r===void 0)return;let i=yN(e,r);if(i.entry.kind!==`tool_intent`)throw $(`Stored tool intent is invalid`);return i.entry.call.name}function JN(e,t){let n=iN(e.sql.exec(`SELECT COALESCE(MAX(sequence), 0) + 1 AS next_sequence
383
+ LIMIT 1`,t,n).toArray()[0];if(r===void 0)return;let i=bN(e,r);if(i.entry.kind!==`tool_intent`)throw $(`Stored tool intent is invalid`);return i.entry.call.name}function YN(e,t){let n=aN(e.sql.exec(`SELECT COALESCE(MAX(sequence), 0) + 1 AS next_sequence
384
384
  FROM session_entries
385
- WHERE session_id = ?`,t).one());if(n._tag===`Failure`)throw $(`Next Session sequence is invalid`);return n.success.next_sequence}function YN(e,t){let n=iN(e.sql.exec(`SELECT COALESCE(MAX(sequence), 0) + 1 AS next_sequence
385
+ WHERE session_id = ?`,t).one());if(n._tag===`Failure`)throw $(`Next Session sequence is invalid`);return n.success.next_sequence}function XN(e,t){let n=aN(e.sql.exec(`SELECT COALESCE(MAX(sequence), 0) + 1 AS next_sequence
386
386
  FROM (
387
387
  SELECT sequence
388
388
  FROM session_command_admissions
@@ -391,9 +391,9 @@ Only summarize information explicitly present above. Do not infer or recreate la
391
391
  SELECT sequence
392
392
  FROM session_entries
393
393
  WHERE session_id = ? AND type = 'command'
394
- )`,t,t).one());if(n._tag===`Failure`)throw $(`Next command admission sequence is invalid`);return n.success.next_sequence}function XN(e,t){let n=CN(e,t);if(n!==void 0)return n;let r=Date.now();e.sql.exec(`INSERT INTO sessions
394
+ )`,t,t).one());if(n._tag===`Failure`)throw $(`Next command admission sequence is invalid`);return n.success.next_sequence}function ZN(e,t){let n=wN(e,t);if(n!==void 0)return n;let r=Date.now();e.sql.exec(`INSERT INTO sessions
395
395
  (id, cwd, parent_session, leaf_id, created_at, updated_at, metadata_json)
396
- VALUES (?, '/', NULL, NULL, ?, ?, NULL)`,t,r,r),gM(e,{sessionId:t,activityAt:r,title:``});let i=CN(e,t);if(i===void 0)throw $(`Created Session row is unavailable`);return i}function ZN(e,t,n){return e.transactionSync(()=>QN(e,t,n))}function QN(e,t,n){let r=e.sql.exec(`SELECT session_id FROM session_creation_receipts WHERE request_id = ?`,t).toArray()[0];if(r!==void 0){let e=XM(r);if(e._tag===`Failure`)throw $(`Session creation receipt is invalid`);return e.success.session_id}n();let i=CM.session.generate();return XN(e,i),e.sql.exec(`INSERT INTO session_creation_receipts (request_id, session_id) VALUES (?, ?)`,t,i),i}function $N(e,t){return e.transactionSync(()=>{if(!(e.sql.exec(`SELECT id FROM sessions WHERE id = ?`,t.sessionId).toArray().length>0))return!1;t.assertIdleSession(t.sessionId),t.recordInboxDeletion(t.sessionId);for(let n of[`DELETE FROM session_command_admissions WHERE session_id = ?`,`DELETE FROM session_attention WHERE session_id = ?`,`DELETE FROM session_work_senders WHERE session_id = ?`,`DELETE FROM session_tool_grants WHERE session_id = ?`,`DELETE FROM session_inbox WHERE session_id = ?`,`DELETE FROM session_creation_receipts WHERE session_id = ?`,`DELETE FROM sessions WHERE id = ?`,`DELETE FROM session_entries WHERE session_id = ?`,`DELETE FROM session_lineage_damage WHERE session_id = ?`])e.sql.exec(n,t.sessionId);return!0})}var eP=3,tP=`shiitake.extension/v0`;function nP(e,t){let n=e.sql.exec(`SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?`,t).toArray()[0];if(n===void 0)return!1;if(eN(n)._tag===`Failure`)throw $(`Store catalog row is invalid`);return!0}function rP(e){if(!nP(e,`woodstock_schema`))return nP(e,`sessions`)?`unmarked`:`fresh`;if(!e.sql.exec(`PRAGMA table_info(woodstock_schema)`).toArray().some(e=>e.name===`protocol`))return`unmarked`;let t=e.sql.exec(`SELECT version, protocol FROM woodstock_schema`).toArray();if(t.length!==1)return`unmarked`;let n=$M(t[0]);return n._tag===`Success`&&n.success.version===eP?`v0`:`unmarked`}function iP(e){let t=rP(e);if(t!==`v0`){if(t===`unmarked`)throw hN(`Woodstock store has no current v0 schema marker; incompatible storage requires explicit host custody. To reset, stop the owning host before resetting a local store, then remove its database file and the file's .owner.sqlite sidecar. Reset discards that store's data. For the Hub, a Hub Agent is erased only with its Team; Team erasure is destructive and separately authorized, never a routine single-Agent repair. No migration runs.`);e.sql.exec(`CREATE TABLE woodstock_schema (version INTEGER NOT NULL, protocol TEXT NOT NULL)`),e.sql.exec(`INSERT INTO woodstock_schema (version, protocol) VALUES (?, ?)`,eP,tP)}}function aP(e){e.sql.exec(`
396
+ VALUES (?, '/', NULL, NULL, ?, ?, NULL)`,t,r,r),_M(e,{sessionId:t,activityAt:r,title:``});let i=wN(e,t);if(i===void 0)throw $(`Created Session row is unavailable`);return i}function QN(e,t,n){return e.transactionSync(()=>$N(e,t,n))}function $N(e,t,n){let r=e.sql.exec(`SELECT session_id FROM session_creation_receipts WHERE request_id = ?`,t).toArray()[0];if(r!==void 0){let e=ZM(r);if(e._tag===`Failure`)throw $(`Session creation receipt is invalid`);return e.success.session_id}n();let i=wM.session.generate();return ZN(e,i),e.sql.exec(`INSERT INTO session_creation_receipts (request_id, session_id) VALUES (?, ?)`,t,i),i}function eP(e,t){return e.transactionSync(()=>{if(!(e.sql.exec(`SELECT id FROM sessions WHERE id = ?`,t.sessionId).toArray().length>0))return!1;t.assertIdleSession(t.sessionId),t.recordInboxDeletion(t.sessionId);for(let n of[`DELETE FROM session_command_admissions WHERE session_id = ?`,`DELETE FROM session_attention WHERE session_id = ?`,`DELETE FROM session_work_senders WHERE session_id = ?`,`DELETE FROM session_tool_grants WHERE session_id = ?`,`DELETE FROM session_inbox WHERE session_id = ?`,`DELETE FROM session_creation_receipts WHERE session_id = ?`,`DELETE FROM sessions WHERE id = ?`,`DELETE FROM session_entries WHERE session_id = ?`,`DELETE FROM session_lineage_damage WHERE session_id = ?`])e.sql.exec(n,t.sessionId);return!0})}var tP=3,nP=`shiitake.extension/v0`;function rP(e,t){let n=e.sql.exec(`SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?`,t).toArray()[0];if(n===void 0)return!1;if(tN(n)._tag===`Failure`)throw $(`Store catalog row is invalid`);return!0}function iP(e){if(!rP(e,`woodstock_schema`))return rP(e,`sessions`)?`unmarked`:`fresh`;if(!e.sql.exec(`PRAGMA table_info(woodstock_schema)`).toArray().some(e=>e.name===`protocol`))return`unmarked`;let t=e.sql.exec(`SELECT version, protocol FROM woodstock_schema`).toArray();if(t.length!==1)return`unmarked`;let n=eN(t[0]);return n._tag===`Success`&&n.success.version===tP?`v0`:`unmarked`}function aP(e){let t=iP(e);if(t!==`v0`){if(t===`unmarked`)throw gN(`Woodstock store has no current v0 schema marker; incompatible storage requires explicit host custody. To reset, stop the owning host before resetting a local store, then remove its database file and the file's .owner.sqlite sidecar. Reset discards that store's data. For the Hub, a Hub Agent is erased only with its Team; Team erasure is destructive and separately authorized, never a routine single-Agent repair. No migration runs.`);e.sql.exec(`CREATE TABLE woodstock_schema (version INTEGER NOT NULL, protocol TEXT NOT NULL)`),e.sql.exec(`INSERT INTO woodstock_schema (version, protocol) VALUES (?, ?)`,tP,nP)}}function oP(e){e.sql.exec(`
397
397
  CREATE TABLE IF NOT EXISTS session_entries (
398
398
  id TEXT PRIMARY KEY,
399
399
  session_id TEXT NOT NULL,
@@ -409,9 +409,9 @@ Only summarize information explicitly present above. Do not infer or recreate la
409
409
  completed_at INTEGER,
410
410
  UNIQUE (session_id, sequence)
411
411
  )
412
- `)}var oP=[`session_entries_lineage_insert`,`session_entries_lineage_update`,`session_entries_lineage_delete`,`session_entries_damaged_session`,`session_entries_lineage_replace`,`session_entries_lineage_replace_position`],sP=T(N({installed:V.pipe(R(B(0)))}),DM),cP=T(N({session_id:j}),DM),lP=`Woodstock Session holds a broken lineage; a store never repairs itself — delete this Session (deleteSession), or reset the owning store`,uP=T(N({damaged:V.pipe(R(Bm(0))),first:j}),DM),dP=class extends W{store;sessionId;constructor(e,t,n){super(`store`,`unavailable`,n),this.store=e,this.sessionId=t}get diagnostic(){return`${this.store}: Woodstock Session ${this.sessionId} holds a broken lineage; delete it with deleteSession("${this.sessionId}"), or reset the owning store`}};function fP(e,t){let n=e.storeName??`Woodstock store`;return new dP(n,t,`${n}: ${mP(e,t)}`)}function pP(e,t){return e.sql.exec(`SELECT session_id FROM session_lineage_damage WHERE session_id = ?`,t).toArray().length>0}function mP(e,t){let n=uP(e.sql.exec(`SELECT COUNT(*) AS damaged, MIN(session_id) AS first FROM session_lineage_damage`).one());if(n._tag===`Failure`)throw $(`Stored Session lineage damage is invalid`);let{damaged:r,first:i}=n.success;return`Woodstock Session ${t} holds a broken lineage (this store has ${String(r)} damaged Session${r===1?``:`s`}, first ${i}); a store never repairs itself — delete this Session with deleteSession("${t}"), or reset the owning store: for a Durable Object, erase all of its storage (DurableObjectStorage.deleteAll(); a Hub Agent is erased only with its Team, POST /operator/teams/:teamId/erasure-durable-objects); for a local store, remove its file and the file's .owner.sqlite sidecar`}function hP(e){e.sql.exec(`CREATE TABLE IF NOT EXISTS session_lineage_damage (session_id TEXT PRIMARY KEY)`);let t=sP(e.sql.exec(`SELECT COUNT(*) AS installed FROM sqlite_master
412
+ `)}var sP=[`session_entries_lineage_insert`,`session_entries_lineage_update`,`session_entries_lineage_delete`,`session_entries_damaged_session`,`session_entries_lineage_replace`,`session_entries_lineage_replace_position`],cP=T(N({installed:V.pipe(R(B(0)))}),OM),lP=T(N({session_id:j}),OM),uP=`Woodstock Session holds a broken lineage; a store never repairs itself — delete this Session (deleteSession), or reset the owning store`,dP=T(N({damaged:V.pipe(R(Bm(0))),first:j}),OM),fP=class extends W{store;sessionId;constructor(e,t,n){super(`store`,`unavailable`,n),this.store=e,this.sessionId=t}get diagnostic(){return`${this.store}: Woodstock Session ${this.sessionId} holds a broken lineage; delete it with deleteSession("${this.sessionId}"), or reset the owning store`}};function pP(e,t){let n=e.storeName??`Woodstock store`;return new fP(n,t,`${n}: ${hP(e,t)}`)}function mP(e,t){return e.sql.exec(`SELECT session_id FROM session_lineage_damage WHERE session_id = ?`,t).toArray().length>0}function hP(e,t){let n=dP(e.sql.exec(`SELECT COUNT(*) AS damaged, MIN(session_id) AS first FROM session_lineage_damage`).one());if(n._tag===`Failure`)throw $(`Stored Session lineage damage is invalid`);let{damaged:r,first:i}=n.success;return`Woodstock Session ${t} holds a broken lineage (this store has ${String(r)} damaged Session${r===1?``:`s`}, first ${i}); a store never repairs itself — delete this Session with deleteSession("${t}"), or reset the owning store: for a Durable Object, erase all of its storage (DurableObjectStorage.deleteAll(); a Hub Agent is erased only with its Team, POST /operator/teams/:teamId/erasure-durable-objects); for a local store, remove its file and the file's .owner.sqlite sidecar`}function gP(e){e.sql.exec(`CREATE TABLE IF NOT EXISTS session_lineage_damage (session_id TEXT PRIMARY KEY)`);let t=cP(e.sql.exec(`SELECT COUNT(*) AS installed FROM sqlite_master
413
413
  WHERE type = 'trigger'
414
- AND name IN (SELECT value FROM json_each(?))`,JSON.stringify(oP)).one());if(t._tag===`Failure`)throw $(`Stored Session lineage guards are invalid`);if(t.success.installed!==oP.length){let t=e.sql.exec(`SELECT child.session_id AS session_id
414
+ AND name IN (SELECT value FROM json_each(?))`,JSON.stringify(sP)).one());if(t._tag===`Failure`)throw $(`Stored Session lineage guards are invalid`);if(t.success.installed!==sP.length){let t=e.sql.exec(`SELECT child.session_id AS session_id
415
415
  FROM session_entries AS child
416
416
  LEFT JOIN session_entries AS parent ON parent.id = child.parent_id
417
417
  WHERE child.parent_id IS NOT NULL
@@ -422,7 +422,7 @@ Only summarize information explicitly present above. Do not infer or recreate la
422
422
  UNION
423
423
  SELECT session_id FROM session_entries
424
424
  WHERE parent_id IS NULL AND state = 'complete'
425
- GROUP BY session_id HAVING COUNT(*) > 1`).toArray().map(e=>{let t=cP(e);if(t._tag===`Failure`)throw $(`Stored Session lineage audit is invalid`);return t.success.session_id});for(let n of t)e.sql.exec(`INSERT OR IGNORE INTO session_lineage_damage (session_id) VALUES (?)`,n),gM(e,{sessionId:n,title:null})}e.sql.exec(`
425
+ GROUP BY session_id HAVING COUNT(*) > 1`).toArray().map(e=>{let t=lP(e);if(t._tag===`Failure`)throw $(`Stored Session lineage audit is invalid`);return t.success.session_id});for(let n of t)e.sql.exec(`INSERT OR IGNORE INTO session_lineage_damage (session_id) VALUES (?)`,n),_M(e,{sessionId:n,title:null})}e.sql.exec(`
426
426
  CREATE TRIGGER IF NOT EXISTS session_entries_lineage_replace
427
427
  BEFORE INSERT ON session_entries
428
428
  WHEN EXISTS (
@@ -452,7 +452,7 @@ Only summarize information explicitly present above. Do not infer or recreate la
452
452
  WHEN EXISTS (
453
453
  SELECT 1 FROM session_lineage_damage WHERE session_id = NEW.session_id)
454
454
  BEGIN
455
- SELECT RAISE(ABORT, '${lP}');
455
+ SELECT RAISE(ABORT, '${uP}');
456
456
  END
457
457
  `),e.sql.exec(`
458
458
  CREATE TRIGGER IF NOT EXISTS session_entries_lineage_insert
@@ -487,7 +487,7 @@ Only summarize information explicitly present above. Do not infer or recreate la
487
487
  BEGIN
488
488
  SELECT RAISE(ABORT, 'Session entry still has children');
489
489
  END
490
- `)}function gP(e){e.transactionSync(()=>{iP(e),e.sql.exec(`
490
+ `)}function _P(e){e.transactionSync(()=>{aP(e),e.sql.exec(`
491
491
  CREATE TABLE IF NOT EXISTS sessions (
492
492
  id TEXT PRIMARY KEY,
493
493
  cwd TEXT NOT NULL,
@@ -497,7 +497,7 @@ Only summarize information explicitly present above. Do not infer or recreate la
497
497
  updated_at INTEGER NOT NULL,
498
498
  metadata_json TEXT
499
499
  )
500
- `),aP(e),fj(e),zO(e),YO(e),jk(e),Wj(e),pM(e),e.sql.exec(`
500
+ `),oP(e),pj(e),BO(e),XO(e),Mk(e),Gj(e),mM(e),e.sql.exec(`
501
501
  CREATE TABLE IF NOT EXISTS session_creation_receipts (
502
502
  request_id TEXT PRIMARY KEY,
503
503
  session_id TEXT NOT NULL UNIQUE REFERENCES sessions(id)
@@ -518,7 +518,7 @@ Only summarize information explicitly present above. Do not infer or recreate la
518
518
  ON session_entries(session_id, json_extract(data_json, '$.targetWorkId'))
519
519
  WHERE type = 'cancellation'`),e.sql.exec(`CREATE INDEX IF NOT EXISTS idx_session_entries_successful_tool
520
520
  ON session_entries(session_id, work_id, json_extract(data_json, '$.call.id'))
521
- WHERE type = 'tool_outcome' AND json_extract(data_json, '$.result.isError') = 0`),hP(e),e.sql.exec(`
521
+ WHERE type = 'tool_outcome' AND json_extract(data_json, '$.result.isError') = 0`),gP(e),e.sql.exec(`
522
522
  CREATE TABLE IF NOT EXISTS session_request_withdrawals (
523
523
  session_id TEXT NOT NULL,
524
524
  request_id TEXT NOT NULL,
@@ -543,14 +543,14 @@ Only summarize information explicitly present above. Do not infer or recreate la
543
543
  UNIQUE (session_id, request_id),
544
544
  UNIQUE (session_id, work_id)
545
545
  )
546
- `)}),GA(e)}function _P(e,t){let n=CN(e,t)?.leaf_id;return n==null?null:YP(e,t,n)}function vP(e,t){let n=CN(e,t)?.leaf_id;return n==null?null:JP(e,t,n)?.sequence??null}function yP(e,t,n){return e.transactionSync(()=>xP(e,{sessionId:t,id:CM.fact.generate(),entry:{kind:`model_preference`,workId:null,preference:n}}))}function bP(e,t,n){e.transactionSync(()=>{XN(e,t);let r=n===null?null:LM({title:n});e.sql.exec(`SELECT 1 FROM sessions WHERE id = ? AND metadata_json IS ?`,t,r).toArray().length>0||(e.sql.exec(`UPDATE sessions SET metadata_json = ? WHERE id = ?`,r,t),gM(e,{sessionId:t,title:mN(e,t)}))})}function xP(e,t){let n=TN(e,XN(e,t.sessionId)),r=t.state??`complete`;if(r===`streaming`!=(t.entry.kind===`message_start`))throw $(`A message start must be the streaming entry`);if(r===`streaming`&&t.entry.kind===`message_start`&&t.id!==t.entry.message.value)throw $(`Message placeholder identity does not match its row`);let i=Date.now(),a=JN(e,t.sessionId);e.sql.exec(`INSERT INTO session_entries
546
+ `)}),KA(e)}function vP(e,t){let n=wN(e,t)?.leaf_id;return n==null?null:XP(e,t,n)}function yP(e,t){let n=wN(e,t)?.leaf_id;return n==null?null:YP(e,t,n)?.sequence??null}function bP(e,t,n){return e.transactionSync(()=>SP(e,{sessionId:t,id:wM.fact.generate(),entry:{kind:`model_preference`,workId:null,preference:n}}))}function xP(e,t,n){e.transactionSync(()=>{ZN(e,t);let r=n===null?null:RM({title:n});e.sql.exec(`SELECT 1 FROM sessions WHERE id = ? AND metadata_json IS ?`,t,r).toArray().length>0||(e.sql.exec(`UPDATE sessions SET metadata_json = ? WHERE id = ?`,r,t),_M(e,{sessionId:t,title:hN(e,t)}))})}function SP(e,t){let n=EN(e,ZN(e,t.sessionId)),r=t.state??`complete`;if(r===`streaming`!=(t.entry.kind===`message_start`))throw $(`A message start must be the streaming entry`);if(r===`streaming`&&t.entry.kind===`message_start`&&t.id!==t.entry.message.value)throw $(`Message placeholder identity does not match its row`);let i=Date.now(),a=YN(e,t.sessionId);e.sql.exec(`INSERT INTO session_entries
547
547
  (id, session_id, parent_id, sequence, type, role, state,
548
548
  request_id, work_id, data_json, timestamp, completed_at)
549
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,t.id,t.sessionId,n?.id??null,a,t.entry.kind,_N(t.entry),r,gN(t.entry),t.entry.workId,MA(t.entry),i,r===`complete`?i:null),r===`complete`&&(e.sql.exec(`UPDATE sessions SET leaf_id = ?, updated_at = ? WHERE id = ?`,t.id,i,t.sessionId),gM(e,t.entry.kind===`command`?{sessionId:t.sessionId,activityAt:i,title:mN(e,t.sessionId)}:{sessionId:t.sessionId,activityAt:i}));let o=wN(e,t.sessionId,t.id);if(o===void 0)throw $(`Appended Session entry is unavailable`);return o}function SP(e,t){let n=TN(e,XN(e,t.sessionId)),r=wN(e,t.sessionId,t.id),i=Date.now(),a=r?.state===`streaming`&&r.parentId!==(n?.id??null),o=a?n?.id??null:r?.parentId??n?.id??null,s=a?JN(e,t.sessionId):r?.sequence??JN(e,t.sessionId),c=r?.timestamp??i;if(t.id!==t.entry.message.value)throw $(`Completed message identity does not match its row`);if(r!==void 0){let e=r.entry;if(e.kind!==`message_start`&&e.kind!==`message`)throw $(`Completed Session leaf is not a message entry`);if(e.workId!==t.entry.workId||!vN(e.run,t.entry.run)||!vN(e.turn,t.entry.turn)||!vN(e.message,t.entry.message)||e.kind===`message_start`&&e.role!==t.entry.value.role)throw $(`Completed message does not match its placeholder`)}e.sql.exec(`INSERT OR REPLACE INTO session_entries
549
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,t.id,t.sessionId,n?.id??null,a,t.entry.kind,vN(t.entry),r,_N(t.entry),t.entry.workId,NA(t.entry),i,r===`complete`?i:null),r===`complete`&&(e.sql.exec(`UPDATE sessions SET leaf_id = ?, updated_at = ? WHERE id = ?`,t.id,i,t.sessionId),_M(e,t.entry.kind===`command`?{sessionId:t.sessionId,activityAt:i,title:hN(e,t.sessionId)}:{sessionId:t.sessionId,activityAt:i}));let o=TN(e,t.sessionId,t.id);if(o===void 0)throw $(`Appended Session entry is unavailable`);return o}function CP(e,t){let n=EN(e,ZN(e,t.sessionId)),r=TN(e,t.sessionId,t.id),i=Date.now(),a=r?.state===`streaming`&&r.parentId!==(n?.id??null),o=a?n?.id??null:r?.parentId??n?.id??null,s=a?YN(e,t.sessionId):r?.sequence??YN(e,t.sessionId),c=r?.timestamp??i;if(t.id!==t.entry.message.value)throw $(`Completed message identity does not match its row`);if(r!==void 0){let e=r.entry;if(e.kind!==`message_start`&&e.kind!==`message`)throw $(`Completed Session leaf is not a message entry`);if(e.workId!==t.entry.workId||!yN(e.run,t.entry.run)||!yN(e.turn,t.entry.turn)||!yN(e.message,t.entry.message)||e.kind===`message_start`&&e.role!==t.entry.value.role)throw $(`Completed message does not match its placeholder`)}e.sql.exec(`INSERT OR REPLACE INTO session_entries
550
550
  (id, session_id, parent_id, sequence, type, role, state,
551
551
  request_id, work_id, data_json, timestamp, completed_at)
552
552
  VALUES (?, ?, ?, ?, 'message', ?, 'complete',
553
- NULL, ?, ?, ?, ?)`,t.id,t.sessionId,o,s,_N(t.entry),t.entry.workId,MA(t.entry),c,i),e.sql.exec(`UPDATE sessions SET leaf_id = ?, updated_at = ? WHERE id = ?`,t.id,i,t.sessionId),gM(e,{sessionId:t.sessionId,activityAt:i});let l=wN(e,t.sessionId,t.id);if(l===void 0)throw $(`Completed Session leaf is unavailable`);return l}var CP=4e3,wP=4194304,TP={selected:`WITH RECURSIVE branch (id, parent_id, sequence, state) AS (
553
+ NULL, ?, ?, ?, ?)`,t.id,t.sessionId,o,s,vN(t.entry),t.entry.workId,NA(t.entry),c,i),e.sql.exec(`UPDATE sessions SET leaf_id = ?, updated_at = ? WHERE id = ?`,t.id,i,t.sessionId),_M(e,{sessionId:t.sessionId,activityAt:i});let l=TN(e,t.sessionId,t.id);if(l===void 0)throw $(`Completed Session leaf is unavailable`);return l}var wP=4e3,TP=4194304,EP={selected:`WITH RECURSIVE branch (id, parent_id, sequence, state) AS (
554
554
  SELECT id, parent_id, sequence, state
555
555
  FROM session_entries
556
556
  WHERE session_id = ? AND id = ?
@@ -572,10 +572,10 @@ Only summarize information explicitly present above. Do not infer or recreate la
572
572
  WHERE parent.id = child.parent_id AND parent.session_id = ?
573
573
  AND child.sequence > ?
574
574
  AND parent.state != 'streaming'
575
- )`},EP={selected:{empty:`Selected Session leaf is unavailable`,missingParent:`Selected Session path has a missing parent`,invalid:`Selected Session path is invalid`},fork:{empty:`Fork entry is unavailable`,missingParent:`Fork path has a missing parent`,invalid:`Fork path is invalid`}},DP=T(N({id:kM,parent_id:L(j),sequence:AM,state:I([`complete`,`streaming`])}),DM),OP=new WeakMap;function kP(e,t,n,r=2**53-1){let i=OP.get(e);OP.set(e,{sessionId:t,before:r,encoded:new Map});try{return e.transactionSync(n)}finally{i===void 0?OP.delete(e):OP.set(e,i)}}function AP(e,t,n){return OP.get(e)?.sessionId===t?n():e.transactionSync(n)}function jP(e,t,n,r){let i=OP.get(e);if(i?.sessionId!==t)return;i.ancestry??=e.sql.exec(`WITH RECURSIVE read_window (before_sequence, rows) AS (VALUES (?, ?)),
575
+ )`},DP={selected:{empty:`Selected Session leaf is unavailable`,missingParent:`Selected Session path has a missing parent`,invalid:`Selected Session path is invalid`},fork:{empty:`Fork entry is unavailable`,missingParent:`Fork path has a missing parent`,invalid:`Fork path is invalid`}},OP=T(N({id:AM,parent_id:L(j),sequence:jM,state:I([`complete`,`streaming`])}),OM),kP=new WeakMap;function AP(e,t,n,r=2**53-1){let i=kP.get(e);kP.set(e,{sessionId:t,before:r,encoded:new Map});try{return e.transactionSync(n)}finally{i===void 0?kP.delete(e):kP.set(e,i)}}function jP(e,t,n){return kP.get(e)?.sessionId===t?n():e.transactionSync(n)}function MP(e,t,n,r){let i=kP.get(e);if(i?.sessionId!==t)return;i.ancestry??=e.sql.exec(`WITH RECURSIVE read_window (before_sequence, rows) AS (VALUES (?, ?)),
576
576
  ancestry (id, parent_id, sequence, state, head, context_closed, taken) AS (
577
577
  SELECT id, parent_id, sequence, state,
578
- ${aF(`session_entries`)}, 0,
578
+ ${oF(`session_entries`)}, 0,
579
579
  CASE WHEN state != 'streaming'
580
580
  AND sequence < (SELECT before_sequence FROM read_window)
581
581
  THEN 1 ELSE 0 END
@@ -583,7 +583,7 @@ Only summarize information explicitly present above. Do not infer or recreate la
583
583
  WHERE session_id = ? AND id = ?
584
584
  UNION ALL
585
585
  SELECT parent.id, parent.parent_id, parent.sequence, parent.state,
586
- COALESCE(child.head, ${aF(`parent`)}),
586
+ COALESCE(child.head, ${oF(`parent`)}),
587
587
  child.context_closed OR
588
588
  (child.head IS child.id AND child.state != 'streaming'),
589
589
  child.taken + CASE WHEN parent.state != 'streaming'
@@ -600,13 +600,13 @@ Only summarize information explicitly present above. Do not infer or recreate la
600
600
  SELECT id, parent_id, sequence, state FROM ancestry
601
601
  WHERE context_closed = 0
602
602
  OR sequence <= (SELECT before_sequence FROM read_window)
603
- ORDER BY sequence DESC`,i.before,201,t,n,t).toArray().map(e=>{let t=DP(e);if(t._tag===`Failure`)throw $(`Stored Session ancestry is invalid`);return t.success});let a=i.ancestry.findIndex(({id:e})=>e===n);if(a===-1)return;let o=i.ancestry.slice(a);if(r!==void 0){let e=o.at(-1);if(e!==void 0&&e.parent_id!==null&&e.sequence>r.floor+1)return;let t=r.ceiling??2**53-1;for(let e=1;e<o.length;e+=1){let n=o[e-1],i=o[e];if(n!==void 0&&i!==void 0&&n.parent_id!==i.id&&r.floor<n.sequence-1&&t>i.sequence)return}}let s=i.encoded.get(n);if(s!==void 0)return s;let c=JSON.stringify(o);return i.encoded.set(n,c),c}function MP(e){return`${e} AS MATERIALIZED (
603
+ ORDER BY sequence DESC`,i.before,201,t,n,t).toArray().map(e=>{let t=OP(e);if(t._tag===`Failure`)throw $(`Stored Session ancestry is invalid`);return t.success});let a=i.ancestry.findIndex(({id:e})=>e===n);if(a===-1)return;let o=i.ancestry.slice(a);if(r!==void 0){let e=o.at(-1);if(e!==void 0&&e.parent_id!==null&&e.sequence>r.floor+1)return;let t=r.ceiling??2**53-1;for(let e=1;e<o.length;e+=1){let n=o[e-1],i=o[e];if(n!==void 0&&i!==void 0&&n.parent_id!==i.id&&r.floor<n.sequence-1&&t>i.sequence)return}}let s=i.encoded.get(n);if(s!==void 0)return s;let c=JSON.stringify(o);return i.encoded.set(n,c),c}function NP(e){return`${e} AS MATERIALIZED (
604
604
  SELECT json_extract(value, '$.id') AS id,
605
605
  json_extract(value, '$.parent_id') AS parent_id,
606
606
  json_extract(value, '$.sequence') AS sequence,
607
607
  json_extract(value, '$.state') AS state
608
608
  FROM json_each(?)
609
- )`}var NP=V.pipe(R(B(0))),PP=T(N({length:NP,root_id:L(kM),root_parent_id:L(j),broken:NP,newest_id:L(kM),newest_sequence:L(AM)}),DM),FP=T(N({sequence:AM}),DM),IP=T(N({work_id:kM}),DM),LP=T(N({work_id:kM,diagnostic:j}),DM);function RP(e,t,n,r,...i){let a=t.walk===`selected`?jP(e,t.sessionId,t.tipId,n):void 0;return a===void 0?e.sql.exec(`${TP[t.walk]} ${r}`,t.sessionId,t.tipId,t.sessionId,n.floor,...i).toArray():e.sql.exec(`WITH ${MP(`branch`)} ${r}`,a,...i).toArray()}function zP(e,t,n,r){let i=EP[r],a=PP(e.sql.exec(`${TP[r]},
609
+ )`}var PP=V.pipe(R(B(0))),FP=T(N({length:PP,root_id:L(AM),root_parent_id:L(j),broken:PP,newest_id:L(AM),newest_sequence:L(jM)}),OM),IP=T(N({sequence:jM}),OM),LP=T(N({work_id:AM}),OM),RP=T(N({work_id:AM,diagnostic:j}),OM);function zP(e,t,n,r,...i){let a=t.walk===`selected`?MP(e,t.sessionId,t.tipId,n):void 0;return a===void 0?e.sql.exec(`${EP[t.walk]} ${r}`,t.sessionId,t.tipId,t.sessionId,n.floor,...i).toArray():e.sql.exec(`WITH ${NP(`branch`)} ${r}`,a,...i).toArray()}function BP(e,t,n,r){let i=DP[r],a=FP(e.sql.exec(`${EP[r]},
610
610
  kept AS MATERIALIZED (
611
611
  SELECT id, parent_id, sequence FROM branch
612
612
  WHERE state != 'streaming'
@@ -624,7 +624,7 @@ Only summarize information explicitly present above. Do not infer or recreate la
624
624
  WHERE previous IS NOT NULL AND parent_id IS NOT previous) AS broken,
625
625
  (SELECT id FROM kept ORDER BY sequence DESC LIMIT 1) AS newest_id,
626
626
  (SELECT sequence FROM kept ORDER BY sequence DESC LIMIT 1)
627
- AS newest_sequence`,t,n,t,0).one());if(a._tag===`Failure`)throw $(`Stored Session lineage check is invalid`);let o=a.success;if(o.length===0||o.root_id===null||o.newest_id===null||o.newest_sequence===null)throw $(i.empty);if(o.root_parent_id!==null)throw $(i.missingParent);if(o.broken!==0)throw $(i.invalid);return Object.freeze({sessionId:t,walk:r,tipId:n,rootId:o.root_id,newestId:o.newest_id,newestSequence:o.newest_sequence})}var BP=T(N({state:I([`complete`,`streaming`]),newest_sequence:AM,root_id:L(kM),root_parent_id:L(j)}),DM);function VP(e,t){let n=CN(e,t.sessionId),r=t.leafId??n?.leaf_id;if(r==null)return;let i=EP.selected,a=e.sql.exec(`SELECT tip.state AS state, tip.sequence AS newest_sequence,
627
+ AS newest_sequence`,t,n,t,0).one());if(a._tag===`Failure`)throw $(`Stored Session lineage check is invalid`);let o=a.success;if(o.length===0||o.root_id===null||o.newest_id===null||o.newest_sequence===null)throw $(i.empty);if(o.root_parent_id!==null)throw $(i.missingParent);if(o.broken!==0)throw $(i.invalid);return Object.freeze({sessionId:t,walk:r,tipId:n,rootId:o.root_id,newestId:o.newest_id,newestSequence:o.newest_sequence})}var VP=T(N({state:I([`complete`,`streaming`]),newest_sequence:jM,root_id:L(AM),root_parent_id:L(j)}),OM);function HP(e,t){let n=wN(e,t.sessionId),r=t.leafId??n?.leaf_id;if(r==null)return;let i=DP.selected,a=e.sql.exec(`SELECT tip.state AS state, tip.sequence AS newest_sequence,
628
628
  root.id AS root_id, root.parent_id AS root_parent_id
629
629
  FROM session_entries AS tip
630
630
  LEFT JOIN (
@@ -632,12 +632,12 @@ Only summarize information explicitly present above. Do not infer or recreate la
632
632
  WHERE session_id = ? AND state = 'complete'
633
633
  ORDER BY sequence ASC LIMIT 1
634
634
  ) AS root
635
- WHERE tip.session_id = ? AND tip.id = ?`,t.sessionId,t.sessionId,r).toArray()[0];if(a===void 0)throw $(i.empty);let o=BP(a);if(o._tag===`Failure`)throw $(`Stored Session lineage ends are invalid`);if(o.success.state!==`complete`||o.success.root_id===null)throw $(i.empty);if(o.success.root_parent_id!==null)throw $(i.missingParent);return Object.freeze({sessionId:t.sessionId,walk:`selected`,tipId:r,rootId:o.success.root_id,newestId:r,newestSequence:o.success.newest_sequence})}function HP(e,t,n,r){let i=Object.freeze(RP(e,t,{floor:n-1,ceiling:r},`SELECT ${sN}
635
+ WHERE tip.session_id = ? AND tip.id = ?`,t.sessionId,t.sessionId,r).toArray()[0];if(a===void 0)throw $(i.empty);let o=VP(a);if(o._tag===`Failure`)throw $(`Stored Session lineage ends are invalid`);if(o.success.state!==`complete`||o.success.root_id===null)throw $(i.empty);if(o.success.root_parent_id!==null)throw $(i.missingParent);return Object.freeze({sessionId:t.sessionId,walk:`selected`,tipId:r,rootId:o.success.root_id,newestId:r,newestSequence:o.success.newest_sequence})}function UP(e,t,n,r){let i=Object.freeze(zP(e,t,{floor:n-1,ceiling:r},`SELECT ${cN}
636
636
  FROM session_entries
637
637
  WHERE session_id = ? AND state != 'streaming'
638
638
  AND sequence BETWEEN ? AND ?
639
639
  AND id IN (SELECT id FROM branch)
640
- ORDER BY sequence ASC`,t.sessionId,n,r).map(t=>yN(e,t))),a=EP.selected,o=i[0];if(o!==void 0&&o.parentId!==null&&o.sequence!==n)throw $(a.missingParent);let s;for(let e of i){if(s!==void 0&&e.parentId!==s.id)throw $(a.invalid);s=e}return i}var UP=T(N({sizes:U(P(im([AM,NP]))),deepest_parent:L(j),deepest_sequence:L(AM)}),DM);function WP(e,t,n,r,i,a){let o=t.walk===`selected`?jP(e,t.sessionId,t.tipId):void 0;if(o!==void 0){let s=OP.get(e)?.ancestry?.filter(e=>e.sequence<=t.newestSequence&&e.state!==`streaming`&&e.sequence>r&&e.sequence<i),c=n===`newest`?s?.[a-1]:void 0;o=jP(e,t.sessionId,t.tipId,{floor:c===void 0?r:c.sequence-1,ceiling:i-1})}let s=n===`newest`?`DESC`:`ASC`,c=`SELECT
640
+ ORDER BY sequence ASC`,t.sessionId,n,r).map(t=>bN(e,t))),a=DP.selected,o=i[0];if(o!==void 0&&o.parentId!==null&&o.sequence!==n)throw $(a.missingParent);let s;for(let e of i){if(s!==void 0&&e.parentId!==s.id)throw $(a.invalid);s=e}return i}var WP=T(N({sizes:U(P(im([jM,PP]))),deepest_parent:L(j),deepest_sequence:L(jM)}),OM);function GP(e,t,n,r,i,a){let o=t.walk===`selected`?MP(e,t.sessionId,t.tipId):void 0;if(o!==void 0){let s=kP.get(e)?.ancestry?.filter(e=>e.sequence<=t.newestSequence&&e.state!==`streaming`&&e.sequence>r&&e.sequence<i),c=n===`newest`?s?.[a-1]:void 0;o=MP(e,t.sessionId,t.tipId,{floor:c===void 0?r:c.sequence-1,ceiling:i-1})}let s=n===`newest`?`DESC`:`ASC`,c=`SELECT
641
641
  (SELECT json_group_array(json_array(sequence, bytes)) FROM (
642
642
  SELECT sequence, octet_length(data_json) AS bytes
643
643
  FROM session_entries
@@ -652,7 +652,7 @@ Only summarize information explicitly present above. Do not infer or recreate la
652
652
  (SELECT sequence FROM branch ORDER BY sequence ASC LIMIT 1)
653
653
  AS deepest_sequence`,l=e=>`CASE WHEN ${e}.state != 'streaming'
654
654
  AND ${e}.sequence < ? AND ${e}.sequence > ?
655
- THEN 1 ELSE 0 END`,u=UP((o===void 0?n===`newest`?e.sql.exec(`WITH RECURSIVE branch (id, parent_id, sequence, state, taken) AS (
655
+ THEN 1 ELSE 0 END`,u=WP((o===void 0?n===`newest`?e.sql.exec(`WITH RECURSIVE branch (id, parent_id, sequence, state, taken) AS (
656
656
  SELECT id, parent_id, sequence, state,
657
657
  ${l(`session_entries`)}
658
658
  FROM session_entries
@@ -666,26 +666,26 @@ Only summarize information explicitly present above. Do not infer or recreate la
666
666
  AND +parent.sequence < child.sequence
667
667
  AND child.taken < ? AND child.sequence > ?
668
668
  )
669
- ${c}`,i,r,t.sessionId,t.tipId,i,r,t.sessionId,a,r,r,i,a).toArray():RP(e,t,{floor:r},c,t.sessionId,r,i,a):e.sql.exec(`WITH ${MP(`branch`)},
669
+ ${c}`,i,r,t.sessionId,t.tipId,i,r,t.sessionId,a,r,r,i,a).toArray():zP(e,t,{floor:r},c,t.sessionId,r,i,a):e.sql.exec(`WITH ${NP(`branch`)},
670
670
  candidates AS MATERIALIZED (
671
671
  SELECT id FROM branch
672
672
  WHERE state != 'streaming' AND sequence > ? AND sequence < ?
673
673
  ORDER BY sequence ${s} LIMIT ?
674
- ) ${c}`,o,r,i,a,...n===`newest`?[]:[t.sessionId],r,i,a).toArray())[0]);if(u._tag===`Failure`)throw $(`Stored Session entry size is invalid`);let{sizes:d,deepest_parent:f,deepest_sequence:p}=u.success;if(!(f===null||p===null||p<=r||n===`newest`&&d.length===a))throw $(EP.selected.missingParent);return Object.freeze(d.map(([e,t])=>({sequence:e,bytes:t})).sort((e,t)=>n===`newest`?t.sequence-e.sequence:e.sequence-t.sequence))}function GP(e,t,n){let r=WP(e,t,n.from,n.after??0,n.before??2**53-1,n.rows+1),i=0,a=0;for(let e of r){if(i===n.rows||i>0&&a+e.bytes>wP)break;a+=e.bytes,i+=1}let o=r[0],s=r[i-1];return Object.freeze(o===void 0||s===void 0?{rows:Object.freeze([]),more:!1}:{rows:HP(e,t,Math.min(o.sequence,s.sequence),Math.max(o.sequence,s.sequence)),more:r.length>i})}function KP(e,t,n){return RP(e,t,{floor:n-1,ceiling:n},`SELECT 1 AS present
674
+ ) ${c}`,o,r,i,a,...n===`newest`?[]:[t.sessionId],r,i,a).toArray())[0]);if(u._tag===`Failure`)throw $(`Stored Session entry size is invalid`);let{sizes:d,deepest_parent:f,deepest_sequence:p}=u.success;if(!(f===null||p===null||p<=r||n===`newest`&&d.length===a))throw $(DP.selected.missingParent);return Object.freeze(d.map(([e,t])=>({sequence:e,bytes:t})).sort((e,t)=>n===`newest`?t.sequence-e.sequence:e.sequence-t.sequence))}function KP(e,t,n){let r=GP(e,t,n.from,n.after??0,n.before??2**53-1,n.rows+1),i=0,a=0;for(let e of r){if(i===n.rows||i>0&&a+e.bytes>TP)break;a+=e.bytes,i+=1}let o=r[0],s=r[i-1];return Object.freeze(o===void 0||s===void 0?{rows:Object.freeze([]),more:!1}:{rows:UP(e,t,Math.min(o.sequence,s.sequence),Math.max(o.sequence,s.sequence)),more:r.length>i})}function qP(e,t,n){return zP(e,t,{floor:n-1,ceiling:n},`SELECT 1 AS present
675
675
  FROM session_entries
676
676
  WHERE session_id = ? AND state != 'streaming' AND sequence = ?
677
- AND id IN (SELECT id FROM branch)`,t.sessionId,n).length>0}function qP(e,t,n){let r=e.sql.exec(`SELECT sequence FROM session_entries
678
- WHERE session_id = ? AND id = ? AND state != 'streaming'`,t.sessionId,n).toArray()[0];if(r===void 0)return;let i=FP(r);if(i._tag===`Failure`)throw $(`Stored Session entry sequence is invalid`);return KP(e,t,i.success.sequence)?i.success.sequence:void 0}function JP(e,t,n){let[r]=eF(e,t,n,`SELECT id, sequence FROM session_entries
677
+ AND id IN (SELECT id FROM branch)`,t.sessionId,n).length>0}function JP(e,t,n){let r=e.sql.exec(`SELECT sequence FROM session_entries
678
+ WHERE session_id = ? AND id = ? AND state != 'streaming'`,t.sessionId,n).toArray()[0];if(r===void 0)return;let i=IP(r);if(i._tag===`Failure`)throw $(`Stored Session entry sequence is invalid`);return qP(e,t,i.success.sequence)?i.success.sequence:void 0}function YP(e,t,n){let[r]=tF(e,t,n,`SELECT id, sequence FROM session_entries
679
679
  WHERE session_id = ? AND type = 'model_preference'
680
680
  AND state != 'streaming'`,[t],e=>`${e}.id NOT IN (SELECT id FROM targets)
681
- AND ${e}.sequence > (SELECT MIN(sequence) FROM targets)`);return r===void 0?void 0:wN(e,t,r)}function YP(e,t,n){let r=JP(e,t,n)?.entry;return r?.kind===`model_preference`?r.preference:null}function XP(e,t,n,r){if(t===void 0)return;let i=RP(e,t,{floor:0},`SELECT ${sN}
681
+ AND ${e}.sequence > (SELECT MIN(sequence) FROM targets)`);return r===void 0?void 0:TN(e,t,r)}function XP(e,t,n){let r=YP(e,t,n)?.entry;return r?.kind===`model_preference`?r.preference:null}function ZP(e,t,n,r){if(t===void 0)return;let i=zP(e,t,{floor:0},`SELECT ${cN}
682
682
  FROM session_entries
683
683
  WHERE session_id = ? AND state != 'streaming' AND type = 'document'
684
684
  AND json_extract(data_json, '$.extensionId') = ?
685
685
  AND json_extract(data_json, '$.name') = ?
686
686
  AND id IN (SELECT id FROM branch)
687
687
  ORDER BY sequence DESC
688
- LIMIT 1`,t.sessionId,n,r)[0],a=i===void 0?void 0:yN(e,i).entry;if(a!==void 0){if(a.kind!==`document`||a.extensionId!==n||a.name!==r)throw $(`Stored Session document disagrees with its row`);return a.valueJson}}var ZP=T(N({oldest:L(AM),newest:L(AM)}),DM);function QP(e,t,n){if(n.size===0)return Object.freeze({commands:new Set,diagnostics:new Map,cancellations:new Map});let r=JSON.stringify([...n]),i=ZP(e.sql.exec(`SELECT MIN(oldest) AS oldest, MAX(newest) AS newest FROM (
688
+ LIMIT 1`,t.sessionId,n,r)[0],a=i===void 0?void 0:bN(e,i).entry;if(a!==void 0){if(a.kind!==`document`||a.extensionId!==n||a.name!==r)throw $(`Stored Session document disagrees with its row`);return a.valueJson}}var QP=T(N({oldest:L(jM),newest:L(jM)}),OM);function $P(e,t,n){if(n.size===0)return Object.freeze({commands:new Set,diagnostics:new Map,cancellations:new Map});let r=JSON.stringify([...n]),i=QP(e.sql.exec(`SELECT MIN(oldest) AS oldest, MAX(newest) AS newest FROM (
689
689
  SELECT MIN(sequence) AS oldest, MAX(sequence) AS newest
690
690
  FROM session_entries INDEXED BY idx_session_entries_work
691
691
  WHERE work_id IN (SELECT value FROM json_each(?))
@@ -696,11 +696,11 @@ Only summarize information explicitly present above. Do not infer or recreate la
696
696
  WHERE session_id = ? AND type = 'cancellation'
697
697
  AND json_extract(data_json, '$.targetWorkId')
698
698
  IN (SELECT value FROM json_each(?))
699
- )`,r,t.sessionId,t.sessionId,r).one());if(i._tag===`Failure`)throw $(`Stored Session work order is invalid`);if(i.success.oldest===null||i.success.newest===null)return Object.freeze({commands:new Set,diagnostics:new Map,cancellations:new Map});let a=i.success.oldest-1,o={floor:a,ceiling:i.success.newest},s=new Set(RP(e,t,o,`SELECT DISTINCT work_id
699
+ )`,r,t.sessionId,t.sessionId,r).one());if(i._tag===`Failure`)throw $(`Stored Session work order is invalid`);if(i.success.oldest===null||i.success.newest===null)return Object.freeze({commands:new Set,diagnostics:new Map,cancellations:new Map});let a=i.success.oldest-1,o={floor:a,ceiling:i.success.newest},s=new Set(zP(e,t,o,`SELECT DISTINCT work_id
700
700
  FROM session_entries
701
701
  WHERE session_id = ? AND sequence > ? AND state != 'streaming' AND type = 'command'
702
702
  AND work_id IN (SELECT value FROM json_each(?))
703
- AND id IN (SELECT id FROM branch)`,t.sessionId,a,r).map(e=>{let t=IP(e);if(t._tag===`Failure`)throw $(`Stored Session command work is invalid`);return t.success.work_id})),c=new Map;for(let n of RP(e,t,o,`SELECT work_id, diagnostic FROM (
703
+ AND id IN (SELECT id FROM branch)`,t.sessionId,a,r).map(e=>{let t=LP(e);if(t._tag===`Failure`)throw $(`Stored Session command work is invalid`);return t.success.work_id})),c=new Map;for(let n of zP(e,t,o,`SELECT work_id, diagnostic FROM (
704
704
  SELECT work_id, sequence,
705
705
  json_extract(data_json, '$.diagnostic') AS diagnostic
706
706
  FROM session_entries
@@ -710,13 +710,13 @@ Only summarize information explicitly present above. Do not infer or recreate la
710
710
  AND id IN (SELECT id FROM branch)
711
711
  )
712
712
  WHERE diagnostic IS NOT NULL
713
- ORDER BY sequence ASC`,t.sessionId,a,r)){let e=LP(n);if(e._tag===`Failure`)throw $(`Stored Session diagnostic is invalid`);c.set(e.success.work_id,e.success.diagnostic)}let l=new Map;for(let{entry:n}of RP(e,t,o,`SELECT ${sN}
713
+ ORDER BY sequence ASC`,t.sessionId,a,r)){let e=RP(n);if(e._tag===`Failure`)throw $(`Stored Session diagnostic is invalid`);c.set(e.success.work_id,e.success.diagnostic)}let l=new Map;for(let{entry:n}of zP(e,t,o,`SELECT ${cN}
714
714
  FROM session_entries
715
715
  WHERE session_id = ? AND sequence > ? AND state != 'streaming' AND type = 'cancellation'
716
716
  AND json_extract(data_json, '$.targetWorkId')
717
717
  IN (SELECT value FROM json_each(?))
718
718
  AND id IN (SELECT id FROM branch)
719
- ORDER BY sequence ASC`,t.sessionId,a,r).map(t=>yN(e,t)))n.kind===`cancellation`&&n.meta!==void 0&&l.set(n.targetWorkId,n.meta);return Object.freeze({commands:s,diagnostics:c,cancellations:l})}function $P(e,t,n,r){return r===void 0?{sql:`walk (id, parent_id, sequence, state) AS (
719
+ ORDER BY sequence ASC`,t.sessionId,a,r).map(t=>bN(e,t)))n.kind===`cancellation`&&n.meta!==void 0&&l.set(n.targetWorkId,n.meta);return Object.freeze({commands:s,diagnostics:c,cancellations:l})}function eF(e,t,n,r){return r===void 0?{sql:`walk (id, parent_id, sequence, state) AS (
720
720
  SELECT id, parent_id, sequence, state
721
721
  FROM session_entries
722
722
  WHERE session_id = ? AND id = ?
@@ -727,7 +727,7 @@ Only summarize information explicitly present above. Do not infer or recreate la
727
727
  WHERE parent.id = child.parent_id AND parent.session_id = ?
728
728
  AND +parent.sequence < child.sequence
729
729
  AND ${n}
730
- )`,bindings:[e,t,e],recursive:!0}:{sql:`${MP(`ancestors`)},
730
+ )`,bindings:[e,t,e],recursive:!0}:{sql:`${NP(`ancestors`)},
731
731
  stopped AS (
732
732
  SELECT child.*,
733
733
  COALESCE(SUM(CASE WHEN ${n} THEN 0 ELSE 1 END)
@@ -737,32 +737,32 @@ Only summarize information explicitly present above. Do not infer or recreate la
737
737
  ),
738
738
  walk AS (
739
739
  SELECT id, parent_id, sequence, state FROM stopped WHERE stops = 0
740
- )`,bindings:[r],recursive:!1}}function eF(e,t,n,r,i,a){let o=jP(e,t,n),s=o=>{let s=$P(t,n,a(`child`),o);return e.sql.exec(`WITH ${s.recursive?`RECURSIVE `:``}targets AS MATERIALIZED (
740
+ )`,bindings:[r],recursive:!1}}function tF(e,t,n,r,i,a){let o=MP(e,t,n),s=o=>{let s=eF(t,n,a(`child`),o);return e.sql.exec(`WITH ${s.recursive?`RECURSIVE `:``}targets AS MATERIALIZED (
741
741
  ${r}
742
742
  ),
743
743
  ${s.sql}
744
- ${tF(a(`walk`))}`,...i,...s.bindings).toArray()},c=s(o);if(o!==void 0){let r=c.at(-1);if(r!==void 0){let i=rF(r);if(i._tag===`Failure`)throw $(`Stored Session walk row is invalid`);(i.success.continues===1&&i.success.parent_id!==null||jP(e,t,n,{floor:i.success.sequence-1})===void 0)&&(c=s(void 0))}}return iF(c)}function tF(e){return`SELECT id, parent_id, sequence, target, continues FROM (
744
+ ${nF(a(`walk`))}`,...i,...s.bindings).toArray()},c=s(o);if(o!==void 0){let r=c.at(-1);if(r!==void 0){let i=iF(r);if(i._tag===`Failure`)throw $(`Stored Session walk row is invalid`);(i.success.continues===1&&i.success.parent_id!==null||MP(e,t,n,{floor:i.success.sequence-1})===void 0)&&(c=s(void 0))}}return aF(c)}function nF(e){return`SELECT id, parent_id, sequence, target, continues FROM (
745
745
  SELECT id, parent_id, sequence,
746
746
  id IN (SELECT id FROM targets) AS target,
747
747
  COALESCE((${e}), 0) AS continues
748
748
  FROM walk
749
749
  )
750
750
  WHERE target = 1 OR sequence = (SELECT MIN(sequence) FROM walk)
751
- ORDER BY sequence DESC`}var nF=I([0,1]),rF=T(N({id:kM,parent_id:L(j),sequence:AM,target:nF,continues:nF}),DM);function iF(e){let t=EP.selected;if(e.length===0)throw $(t.empty);let n=e.map(e=>{let t=rF(e);if(t._tag===`Failure`)throw $(`Stored Session walk row is invalid`);return t.success}),r=n.at(-1);if(r?.continues===1&&r.parent_id!==null)throw $(t.missingParent);return n.flatMap(e=>e.target===1?[e.id]:[])}function aF(e){return`CASE WHEN ${e}.type = 'compaction' AND ${e}.state != 'streaming'
752
- THEN json_extract(${e}.data_json, '$.head') END`}var oF=`WITH RECURSIVE walk (id, parent_id, sequence, state, head) AS (
751
+ ORDER BY sequence DESC`}var rF=I([0,1]),iF=T(N({id:AM,parent_id:L(j),sequence:jM,target:rF,continues:rF}),OM);function aF(e){let t=DP.selected;if(e.length===0)throw $(t.empty);let n=e.map(e=>{let t=iF(e);if(t._tag===`Failure`)throw $(`Stored Session walk row is invalid`);return t.success}),r=n.at(-1);if(r?.continues===1&&r.parent_id!==null)throw $(t.missingParent);return n.flatMap(e=>e.target===1?[e.id]:[])}function oF(e){return`CASE WHEN ${e}.type = 'compaction' AND ${e}.state != 'streaming'
752
+ THEN json_extract(${e}.data_json, '$.head') END`}var sF=`WITH RECURSIVE walk (id, parent_id, sequence, state, head) AS (
753
753
  SELECT id, parent_id, sequence, state,
754
- ${aF(`session_entries`)}
754
+ ${oF(`session_entries`)}
755
755
  FROM session_entries
756
756
  WHERE session_id = ? AND id = ?
757
757
  UNION ALL
758
758
  SELECT parent.id, parent.parent_id, parent.sequence, parent.state,
759
- COALESCE(child.head, ${aF(`parent`)})
759
+ COALESCE(child.head, ${oF(`parent`)})
760
760
  FROM walk AS child
761
761
  CROSS JOIN session_entries AS parent
762
762
  WHERE parent.id = child.parent_id AND parent.session_id = ?
763
763
  AND +parent.sequence < child.sequence
764
764
  AND (child.head IS NOT child.id OR child.state = 'streaming')
765
- )`;function sF(e,t,n,r,i){let a=JSON.stringify(r.flatMap(({entry:e})=>e.kind===`command`?[e.workId]:[])),o=eF(e,t,n.id,`SELECT id, sequence FROM session_entries
765
+ )`;function cF(e,t,n,r,i){let a=JSON.stringify(r.flatMap(({entry:e})=>e.kind===`command`?[e.workId]:[])),o=tF(e,t,n.id,`SELECT id, sequence FROM session_entries
766
766
  WHERE session_id = ? AND type = 'compaction' AND work_id = ?
767
767
  AND sequence < ? AND state != 'streaming'
768
768
  UNION ALL
@@ -772,10 +772,10 @@ Only summarize information explicitly present above. Do not infer or recreate la
772
772
  WHERE session_id = ? AND type = 'cancellation'
773
773
  AND json_extract(data_json, '$.targetWorkId')
774
774
  IN (SELECT value FROM json_each(?))
775
- AND sequence < ? AND state != 'streaming'`,[t,i,n.sequence,t,a,n.sequence],e=>`${e}.sequence > (SELECT MIN(sequence) FROM targets)`);return o.length===0?Object.freeze([]):Object.freeze(e.sql.exec(`SELECT ${sN}
775
+ AND sequence < ? AND state != 'streaming'`,[t,i,n.sequence,t,a,n.sequence],e=>`${e}.sequence > (SELECT MIN(sequence) FROM targets)`);return o.length===0?Object.freeze([]):Object.freeze(e.sql.exec(`SELECT ${cN}
776
776
  FROM session_entries
777
777
  WHERE id IN (SELECT value FROM json_each(?))
778
- ORDER BY sequence ASC`,JSON.stringify(o)).toArray().map(t=>yN(e,t)))}function cF(e,t,n){let r=EP.selected,i=jP(e,t,n);OP.get(e)?.ancestry?.[0]?.id!==n&&(i=void 0);let a=i===void 0?{sql:oF,bindings:[t,n,t]}:{sql:`WITH ${MP(`ancestors`)},
778
+ ORDER BY sequence ASC`,JSON.stringify(o)).toArray().map(t=>bN(e,t)))}function lF(e,t,n){let r=DP.selected,i=MP(e,t,n);kP.get(e)?.ancestry?.[0]?.id!==n&&(i=void 0);let a=i===void 0?{sql:sF,bindings:[t,n,t]}:{sql:`WITH ${NP(`ancestors`)},
779
779
  boundary AS (
780
780
  SELECT sequence, json_extract(data_json, '$.head') AS head
781
781
  FROM session_entries
@@ -793,27 +793,27 @@ Only summarize information explicitly present above. Do not infer or recreate la
793
793
  AND ancestors.sequence <= boundary.sequence
794
794
  ), 0)
795
795
  )`,bindings:[i,t]},o=e.sql.exec(`${a.sql}
796
- SELECT ${sN}
796
+ SELECT ${cN}
797
797
  FROM session_entries
798
798
  WHERE id IN (SELECT id FROM walk) AND state != 'streaming'
799
- ORDER BY sequence ASC`,...a.bindings).toArray().map(t=>yN(e,t)),s=o[0];if(s===void 0)throw $(r.empty);let c,l;for(let e of o){if(l!==void 0&&e.parentId!==l.id)throw $(r.invalid);e.entry.kind===`compaction`&&(c=e.entry.head),l=e}let u=c===s.id;if(!u&&s.parentId!==null)throw $(r.missingParent);return Object.freeze({rows:Object.freeze(o),compacted:u})}function lF(e,t){let n=CN(e,t.sessionId)?.leaf_id;if(n==null)return Object.freeze([]);let r=cF(e,t.sessionId,n),i=r.rows[0];return!r.compacted||i===void 0?r.rows:Object.freeze([...sF(e,t.sessionId,i,r.rows,t.workId??null),...r.rows])}function uF(e,t,n){return e.entry.kind===`compaction`&&e.entry.workId===t||e.entry.kind===`cancellation`&&n.has(e.entry.targetWorkId)}function dF(e,t,n,r,i){let a=VP(e,{sessionId:t,leafId:n.id});if(a===void 0)throw $(`Accepted Session command lineage is unavailable`);let o=r===void 0?[]:RP(e,r,{floor:n.sequence},`SELECT ${sN}
799
+ ORDER BY sequence ASC`,...a.bindings).toArray().map(t=>bN(e,t)),s=o[0];if(s===void 0)throw $(r.empty);let c,l;for(let e of o){if(l!==void 0&&e.parentId!==l.id)throw $(r.invalid);e.entry.kind===`compaction`&&(c=e.entry.head),l=e}let u=c===s.id;if(!u&&s.parentId!==null)throw $(r.missingParent);return Object.freeze({rows:Object.freeze(o),compacted:u})}function uF(e,t){let n=wN(e,t.sessionId)?.leaf_id;if(n==null)return Object.freeze([]);let r=lF(e,t.sessionId,n),i=r.rows[0];return!r.compacted||i===void 0?r.rows:Object.freeze([...cF(e,t.sessionId,i,r.rows,t.workId??null),...r.rows])}function dF(e,t,n){return e.entry.kind===`compaction`&&e.entry.workId===t||e.entry.kind===`cancellation`&&n.has(e.entry.targetWorkId)}function fF(e,t,n,r,i){let a=HP(e,{sessionId:t,leafId:n.id});if(a===void 0)throw $(`Accepted Session command lineage is unavailable`);let o=r===void 0?[]:zP(e,r,{floor:n.sequence},`SELECT ${cN}
800
800
  FROM session_entries
801
801
  WHERE session_id = ? AND sequence > ? AND state != 'streaming'
802
802
  AND id IN (SELECT id FROM branch)
803
803
  AND (work_id = ?
804
804
  OR (type = 'command'
805
805
  AND json_extract(data_json, '$.targetWorkId') = ?))
806
- ORDER BY sequence ASC`,t,n.sequence,i,i).map(t=>yN(e,t)),s;for(let e of o)e.entry.kind===`compaction`&&(s=e.entry.head);let c=0,l;if(s===void 0){let r=cF(e,t,n.id);l=r.rows,r.compacted&&(c=r.rows[0]?.sequence??0)}else{let t=s;c=o.find(({id:e})=>e===t)?.sequence??qP(e,a,t)??0,l=c>n.sequence?[]:HP(e,a,Math.max(c,1),n.sequence)}if(c===0)return Object.freeze([...l,...o]);let u=[...l,...o.filter(({sequence:e})=>e>=c)],d=new Set(u.flatMap(({entry:e})=>e.kind===`command`?[e.workId]:[]));return Object.freeze([...sF(e,t,l[0]??n,u,i),...o.filter(e=>e.sequence<c&&uF(e,i,d)),...u])}function fF(e){let t=new Set,n=new Set;for(let{entry:r}of e)r.kind===`command`&&t.add(r.workId),r.kind===`cancellation`&&!t.has(r.targetWorkId)&&n.add(r.targetWorkId);return n}function pF(e,t){let n=fF(e),r;for(let t=e.length-1;t>=0;--t){let n=e[t];if(n?.entry.kind===`compaction`){r=n;break}}let i=r?.entry.kind===`compaction`?r.entry:void 0,a=i===void 0?-1:e.findIndex(({id:e})=>e===i.head),o=a>=0?e.slice(a):e,s=TM(o,t),c=[];i!==void 0&&c.push(...i.model);for(let e of o){let t=EA(e.entry);t!==void 0&&!n.has(t.workId)&&c.push(kA(t)),e.entry.kind===`operator`&&c.push(OA(e.entry)),e.entry.kind===`message`&&s.has(e.id)&&c.push(e.entry.value)}return Object.freeze(c)}function mF(e,t){return e.transactionSync(()=>{let n=wN(e,t.sessionId,t.commandFactId),r=`replay`,i=BN(e,t.sessionId,t.commandFactId);if(n===void 0&&i!==void 0&&(n=xP(e,{sessionId:i.sessionId,id:i.id,entry:i.entry}),r=`new`),n?.entry.kind!==`command`)throw $(`Accepted Session command is unavailable`);if(i!==void 0&&MA(n.entry)!==MA(i.entry))throw $(`Accepted Session command disagrees with its admission`);e.sql.exec(`DELETE FROM session_entries WHERE session_id = ? AND work_id = ? AND state = 'streaming' AND type = 'message_start'`,t.sessionId,n.entry.workId);let a=WN(e,t.sessionId,n.entry.workId),o=n.entry.workId,s=VP(e,{sessionId:t.sessionId}),c=dF(e,t.sessionId,n,s,o),l=Object.freeze({...n,entry:n.entry});return Object.freeze({command:l,modelPreference:YP(e,t.sessionId,n.id),messages:pF(c,n.entry.workId),path:c,entryDelivery:r,resume:wM(a),abnormalTerminal:EM(a)})})}function hF(e,t){let n=CN(e,t.sessionId)?.leaf_id;if(n==null)return`stale`;let r=e.sql.exec(`${oF}
806
+ ORDER BY sequence ASC`,t,n.sequence,i,i).map(t=>bN(e,t)),s;for(let e of o)e.entry.kind===`compaction`&&(s=e.entry.head);let c=0,l;if(s===void 0){let r=lF(e,t,n.id);l=r.rows,r.compacted&&(c=r.rows[0]?.sequence??0)}else{let t=s;c=o.find(({id:e})=>e===t)?.sequence??JP(e,a,t)??0,l=c>n.sequence?[]:UP(e,a,Math.max(c,1),n.sequence)}if(c===0)return Object.freeze([...l,...o]);let u=[...l,...o.filter(({sequence:e})=>e>=c)],d=new Set(u.flatMap(({entry:e})=>e.kind===`command`?[e.workId]:[]));return Object.freeze([...cF(e,t,l[0]??n,u,i),...o.filter(e=>e.sequence<c&&dF(e,i,d)),...u])}function pF(e){let t=new Set,n=new Set;for(let{entry:r}of e)r.kind===`command`&&t.add(r.workId),r.kind===`cancellation`&&!t.has(r.targetWorkId)&&n.add(r.targetWorkId);return n}function mF(e,t){let n=pF(e),r;for(let t=e.length-1;t>=0;--t){let n=e[t];if(n?.entry.kind===`compaction`){r=n;break}}let i=r?.entry.kind===`compaction`?r.entry:void 0,a=i===void 0?-1:e.findIndex(({id:e})=>e===i.head),o=a>=0?e.slice(a):e,s=EM(o,t),c=[];i!==void 0&&c.push(...i.model);for(let e of o){let t=DA(e.entry);t!==void 0&&!n.has(t.workId)&&c.push(AA(t)),e.entry.kind===`operator`&&c.push(kA(e.entry)),e.entry.kind===`message`&&s.has(e.id)&&c.push(e.entry.value)}return Object.freeze(c)}function hF(e,t){return e.transactionSync(()=>{let n=TN(e,t.sessionId,t.commandFactId),r=`replay`,i=VN(e,t.sessionId,t.commandFactId);if(n===void 0&&i!==void 0&&(n=SP(e,{sessionId:i.sessionId,id:i.id,entry:i.entry}),r=`new`),n?.entry.kind!==`command`)throw $(`Accepted Session command is unavailable`);if(i!==void 0&&NA(n.entry)!==NA(i.entry))throw $(`Accepted Session command disagrees with its admission`);e.sql.exec(`DELETE FROM session_entries WHERE session_id = ? AND work_id = ? AND state = 'streaming' AND type = 'message_start'`,t.sessionId,n.entry.workId);let a=GN(e,t.sessionId,n.entry.workId),o=n.entry.workId,s=HP(e,{sessionId:t.sessionId}),c=fF(e,t.sessionId,n,s,o),l=Object.freeze({...n,entry:n.entry});return Object.freeze({command:l,modelPreference:XP(e,t.sessionId,n.id),messages:mF(c,n.entry.workId),path:c,entryDelivery:r,resume:TM(a),abnormalTerminal:DM(a)})})}function gF(e,t){let n=wN(e,t.sessionId)?.leaf_id;if(n==null)return`stale`;let r=e.sql.exec(`${sF}
807
807
  SELECT sequence
808
808
  FROM session_entries
809
- WHERE state != 'streaming' AND id = ? AND id IN (SELECT id FROM walk)`,t.sessionId,n,t.sessionId,t.head).toArray()[0];if(r===void 0)return`stale`;if(FP(r)._tag===`Failure`)throw $(`Stored Session entry sequence is invalid`);return`current`}function gF(e,t){return e.transactionSync(()=>{let n={kind:`compaction_notice`,workId:t.workId,trigger:t.trigger},r;if(t.result===`stale`||t.result===`insufficient`){let e={...n,result:t.result};r=t.usage===void 0?e:{...e,usage:t.usage}}else if(t.result===`failed`){let e={...n,result:`failed`},i=t.diagnostic===void 0?e:{...e,diagnostic:t.diagnostic.slice(0,200)};r=t.usage===void 0?i:{...i,usage:t.usage}}else{let e={...n,result:`nothing_to_compact`};r=t.diagnostic===void 0?e:{...e,diagnostic:t.diagnostic.slice(0,200)}}return xP(e,{sessionId:t.sessionId,id:CM.fact.generate(),entry:r})})}function _F(e,t){return e.transactionSync(()=>yF(e,t))}function vF(e,t){return e.transactionSync(()=>hF(e,{sessionId:t.sessionId,head:t.head})===`stale`?`stale`:yF(e,t))}function yF(e,t){if(CN(e,t.sessionId)?.leaf_id!==t.expectedLeafId)throw new W(`store`,`conflict`,`Session leaf changed during compaction`);let n={kind:`compaction`,workId:t.workId,head:t.head,model:[vj(t.summary,Date.now())],data:{reason:t.trigger,resumesRun:t.resumesRun??!1,tokensBefore:t.tokensBefore,tokensAfter:t.tokensAfter,usage:t.usage,contextRevision:t.contextRevision}},r=t.receipt===void 0?n:{...n,data:{...n.data,receipt:t.receipt}};return xP(e,{sessionId:t.sessionId,id:CM.fact.generate(),entry:t.details===void 0?r:{...r,data:{...r.data,details:t.details}}})}function bF(e){return Array.isArray(e)}function xF(e){if(e.images===void 0)return e.text;let t=[];return e.text.length>0&&t.push({type:`text`,text:e.text}),t.push(...e.images),t}function SF(e,t){return!bF(e)||!bF(t)?e===t:e.length===t.length&&e.every((e,n)=>{let r=t[n];return e.type===`text`?r?.type===`text`&&e.text===r.text:r?.type===`image`&&e.data===r.data&&e.mimeType===r.mimeType})}function CF(e,t){if(t.type===`compact`)return TA(e)&&e.instructions===t.instructions;let n=EA(e);return n?.delivery===t.delivery&&SF(n.message.content,xF(t))}function wF(e,t,n,r,i,a){let o={kind:`command`,requestId:e.requestId,receiptId:t,workId:t};if(e.type===`compact`){let t={...o,work:`compact`,timestamp:n,contract:r};return e.instructions===void 0?t:{...t,instructions:e.instructions}}let s={...o,delivery:e.delivery,message:{role:`user`,content:xF(e),timestamp:n},contract:r},c=i===void 0?s:{...s,targetWorkId:i};return a===void 0?c:{...c,reply:a}}function TF(e,t){return e?.agentId===t?.agentId&&e?.sessionId===t?.sessionId&&e?.outcome===t?.outcome&&(e?.outcome===`undeliverable`?t?.outcome===`undeliverable`&&e.reason===t.reason:t?.outcome!==`undeliverable`&&e?.commandId===t?.commandId&&e?.diagnostic===t?.diagnostic)}function EF(e,t,n,r,i,a,o,s,c){let l=HN(e,t,n.requestId);if(l!==void 0){if(!CF(l.entry,n)||!_O(l.entry.meta,r)||!TF(EA(l.entry)?.reply,c)||!KM(l.origin,i))throw new W(`contract`,`conflict`,`Request id conflicts with an accepted Session command`);return kF(l,`replay`)}let u=CM.fact.generate();XN(e,t);let d=Date.now(),f=wF(n,u,d,a,s,c);e.sql.exec(`INSERT INTO session_command_admissions
809
+ WHERE state != 'streaming' AND id = ? AND id IN (SELECT id FROM walk)`,t.sessionId,n,t.sessionId,t.head).toArray()[0];if(r===void 0)return`stale`;if(IP(r)._tag===`Failure`)throw $(`Stored Session entry sequence is invalid`);return`current`}function _F(e,t){return e.transactionSync(()=>{let n={kind:`compaction_notice`,workId:t.workId,trigger:t.trigger},r;if(t.result===`stale`||t.result===`insufficient`){let e={...n,result:t.result};r=t.usage===void 0?e:{...e,usage:t.usage}}else if(t.result===`failed`){let e={...n,result:`failed`},i=t.diagnostic===void 0?e:{...e,diagnostic:t.diagnostic.slice(0,200)};r=t.usage===void 0?i:{...i,usage:t.usage}}else{let e={...n,result:`nothing_to_compact`};r=t.diagnostic===void 0?e:{...e,diagnostic:t.diagnostic.slice(0,200)}}return SP(e,{sessionId:t.sessionId,id:wM.fact.generate(),entry:r})})}function vF(e,t){return e.transactionSync(()=>bF(e,t))}function yF(e,t){return e.transactionSync(()=>gF(e,{sessionId:t.sessionId,head:t.head})===`stale`?`stale`:bF(e,t))}function bF(e,t){if(wN(e,t.sessionId)?.leaf_id!==t.expectedLeafId)throw new W(`store`,`conflict`,`Session leaf changed during compaction`);let n={kind:`compaction`,workId:t.workId,head:t.head,model:[yj(t.summary,Date.now())],data:{reason:t.trigger,resumesRun:t.resumesRun??!1,tokensBefore:t.tokensBefore,tokensAfter:t.tokensAfter,usage:t.usage,contextRevision:t.contextRevision}},r=t.receipt===void 0?n:{...n,data:{...n.data,receipt:t.receipt}};return SP(e,{sessionId:t.sessionId,id:wM.fact.generate(),entry:t.details===void 0?r:{...r,data:{...r.data,details:t.details}}})}function xF(e){return Array.isArray(e)}function SF(e){if(e.images===void 0)return e.text;let t=[];return e.text.length>0&&t.push({type:`text`,text:e.text}),t.push(...e.images),t}function CF(e,t){return!xF(e)||!xF(t)?e===t:e.length===t.length&&e.every((e,n)=>{let r=t[n];return e.type===`text`?r?.type===`text`&&e.text===r.text:r?.type===`image`&&e.data===r.data&&e.mimeType===r.mimeType})}function wF(e,t){if(t.type===`compact`)return EA(e)&&e.instructions===t.instructions;let n=DA(e);return n?.delivery===t.delivery&&CF(n.message.content,SF(t))}function TF(e,t,n,r,i,a){let o={kind:`command`,requestId:e.requestId,receiptId:t,workId:t};if(e.type===`compact`){let t={...o,work:`compact`,timestamp:n,contract:r};return e.instructions===void 0?t:{...t,instructions:e.instructions}}let s={...o,delivery:e.delivery,message:{role:`user`,content:SF(e),timestamp:n},contract:r},c=i===void 0?s:{...s,targetWorkId:i};return a===void 0?c:{...c,reply:a}}function EF(e,t){return e?.agentId===t?.agentId&&e?.sessionId===t?.sessionId&&e?.outcome===t?.outcome&&(e?.outcome===`undeliverable`?t?.outcome===`undeliverable`&&e.reason===t.reason:t?.outcome!==`undeliverable`&&e?.commandId===t?.commandId&&e?.diagnostic===t?.diagnostic)}function DF(e,t,n,r,i,a,o,s,c){let l=UN(e,t,n.requestId);if(l!==void 0){if(!wF(l.entry,n)||!_O(l.entry.meta,r)||!EF(DA(l.entry)?.reply,c)||!qM(l.origin,i))throw new W(`contract`,`conflict`,`Request id conflicts with an accepted Session command`);return AF(l,`replay`)}let u=wM.fact.generate();ZN(e,t);let d=Date.now(),f=TF(n,u,d,a,s,c);e.sql.exec(`INSERT INTO session_command_admissions
810
810
  (id, session_id, sequence, request_id, work_id, data_json, timestamp,
811
811
  origin_kind, origin_id, origin_correlation)
812
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,u,t,YN(e,t),n.requestId,u,MA(cN(f,r)),d,i.kind,i.kind===`user`?null:i.extensionId,i.kind===`user`?null:i.correlation);let p=BN(e,t,u);if(p===void 0)throw $(`Accepted Session command admission is unavailable`);return o?.({jobId:u,sessionId:t,commandFactId:u,delivery:n.type===`prompt`?n.delivery:`followUp`}),kF(p,`new`)}function DF(e,t,n){if(e.sql.exec(`SELECT 1 FROM session_request_withdrawals WHERE session_id = ? AND request_id = ?`,t,n).toArray().length>0)throw new W(`contract`,`closed`,`Request was withdrawn`,n)}function OF(e,t,n){let r=HN(e,t,n);if(r!==void 0)return{status:`accepted`,commandId:r.id};let i=e.sql.exec(`SELECT id FROM session_entries WHERE session_id = ? AND request_id = ? AND type = 'operator'`,t,n).toArray()[0];if(i!==void 0){let e=QM(i);if(e._tag===`Failure`)throw $(`Stored operator receipt is invalid`);return{status:`accepted`,commandId:e.success.id}}return e.sql.exec(`INSERT OR IGNORE INTO session_request_withdrawals(session_id, request_id) VALUES (?, ?)`,t,n),{status:`unknown`}}function kF(e,t){let n=Object.freeze({sessionId:e.sessionId,requestId:e.entry.requestId,commandId:e.id});return Object.freeze({accepted:n,command:e,delivery:t})}function AF(e,t,n){if(e.entry.kind!==`cancellation`)throw $(`Accepted Session cancellation is unavailable`);return Object.freeze({accepted:Object.freeze({commandId:e.entry.targetWorkId,entryId:e.id}),delivery:t,active:n})}function jF(e,t,n,r,i){return e.transactionSync(()=>{let a=n(),o=a.state===`running`?VN(e,t,a.jobId):void 0,s=o===void 0?void 0:NF(e,t,o.id,n,r,!1,i);for(let a=YN(e,t);a>0;){let{commands:o}=FN(e,t,64);if(o.length===0)return s;a-=o.length;for(let a of o){if(NF(e,t,a.id,n,r,!1,i,!0)===void 0)throw $(`Pending Session command could not be cancelled`);xP(e,{sessionId:t,id:a.id,entry:a.entry})}}throw $(`Session cancellation did not settle its pending admissions`)})}function MF(e,t,n,r,i,a=!1,o){return e.transactionSync(()=>NF(e,t,n,r,i,a,o))}function NF(e,t,n,r,i,a=!1,o,s=!1){let c=r(),l=BN(e,t,n);if(l?.entry.kind!==`command`)return;let u=WN(e,t,l.entry.workId),d=u.find(({entry:e})=>e.kind===`cancellation`);if(d?.entry.kind===`cancellation`)return AF(d,`replay`,c.state===`running`&&c.jobId===l.entry.workId);let f=c.state===`running`&&c.jobId===l.entry.workId;if(!f&&u.some(({entry:e})=>e.kind===`run_terminal`||e.kind===`work_terminal`)||a&&(f||u.some(({entry:e})=>e.kind===`command`))||EA(l.entry)?.delivery===`steer`&&u.some(({entry:e})=>e.kind===`command`)&&!f)return;let p=CM.fact.generate(),m=i({jobId:l.entry.workId,cancellationId:p,onlyIfPending:a});if(m.status===`missing`&&EA(l.entry)?.delivery!==`steer`&&!s||m.status===`conflict`&&a)return;if(m.status!==`recorded`&&m.status!==`missing`)throw new W(`store`,`conflict`,`Session cancellation identity conflicts`);let ee=xP(e,{sessionId:t,id:p,entry:cN({kind:`cancellation`,requestId:p,receiptId:p,workId:l.entry.workId,targetWorkId:l.entry.workId},o)});return m.status===`missing`&&xP(e,{sessionId:t,id:CM.fact.generate(),entry:{kind:`work_terminal`,workId:l.entry.workId,outcome:`cancelled`}}),AF(ee,`new`,f)}function PF(e,t){e.transactionSync(()=>{t.assertIdleSession?.(t.sessionId);let n=CN(e,t.sessionId);if(n===void 0)throw $(`Session is unavailable for branch selection`);TN(e,n);let r=wN(e,t.sessionId,t.entryId);if(r?.state!==`complete`)throw $(`Selected branch entry is unavailable`);let i=Date.now();e.sql.exec(`UPDATE sessions SET leaf_id = ?, updated_at = ? WHERE id = ?`,r.id,i,n.id),gM(e,{sessionId:n.id,activityAt:i,title:mN(e,n.id)})})}function FF(e,t){return e.transactionSync(()=>{if(DF(e,t.sessionId,t.requestId),CN(e,t.sessionId)===void 0)throw $(`Session is unavailable for an operator entry`);let n=e.sql.exec(`SELECT id FROM session_entries WHERE session_id = ? AND request_id = ?`,t.sessionId,t.requestId).toArray()[0];if(n!==void 0){let r=QM(n);if(r._tag===`Failure`)throw $(`Stored Session entry identity is invalid`);let i=wN(e,t.sessionId,r.success.id);if(i?.entry.kind===`operator`&&i.entry.author===t.author&&_O(i.entry.meta,t.meta)&&i.entry.message.content===t.text)return!1;throw new W(`store`,`conflict`,`Request id already names another Session entry`)}t.assertIdleSession(t.sessionId);let r={kind:`operator`,workId:null,requestId:t.requestId,author:t.author,message:{role:`user`,content:t.text,timestamp:Date.now()}};return xP(e,{sessionId:t.sessionId,id:CM.fact.generate(),entry:cN(r,t.meta)}),!0})}function IF(e,t){return e.transactionSync(()=>{if(t.assertIdleSession?.(t.sessionId),CN(e,t.sessionId)===void 0)throw $(`Source Session is unavailable`);let n=zP(e,t.sessionId,t.entryId,`fork`),r=CM.session.generate(),i=Date.now();e.sql.exec(`INSERT INTO sessions
812
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,u,t,XN(e,t),n.requestId,u,NA(lN(f,r)),d,i.kind,i.kind===`user`?null:i.extensionId,i.kind===`user`?null:i.correlation);let p=VN(e,t,u);if(p===void 0)throw $(`Accepted Session command admission is unavailable`);return o?.({jobId:u,sessionId:t,commandFactId:u,delivery:n.type===`prompt`?n.delivery:`followUp`}),AF(p,`new`)}function OF(e,t,n){if(e.sql.exec(`SELECT 1 FROM session_request_withdrawals WHERE session_id = ? AND request_id = ?`,t,n).toArray().length>0)throw new W(`contract`,`closed`,`Request was withdrawn`,n)}function kF(e,t,n){let r=UN(e,t,n);if(r!==void 0)return{status:`accepted`,commandId:r.id};let i=e.sql.exec(`SELECT id FROM session_entries WHERE session_id = ? AND request_id = ? AND type = 'operator'`,t,n).toArray()[0];if(i!==void 0){let e=$M(i);if(e._tag===`Failure`)throw $(`Stored operator receipt is invalid`);return{status:`accepted`,commandId:e.success.id}}return e.sql.exec(`INSERT OR IGNORE INTO session_request_withdrawals(session_id, request_id) VALUES (?, ?)`,t,n),{status:`unknown`}}function AF(e,t){let n=Object.freeze({sessionId:e.sessionId,requestId:e.entry.requestId,commandId:e.id});return Object.freeze({accepted:n,command:e,delivery:t})}function jF(e,t,n){if(e.entry.kind!==`cancellation`)throw $(`Accepted Session cancellation is unavailable`);return Object.freeze({accepted:Object.freeze({commandId:e.entry.targetWorkId,entryId:e.id}),delivery:t,active:n})}function MF(e,t,n,r,i){return e.transactionSync(()=>{let a=n(),o=a.state===`running`?HN(e,t,a.jobId):void 0,s=o===void 0?void 0:PF(e,t,o.id,n,r,!1,i);for(let a=XN(e,t);a>0;){let{commands:o}=IN(e,t,64);if(o.length===0)return s;a-=o.length;for(let a of o){if(PF(e,t,a.id,n,r,!1,i,!0)===void 0)throw $(`Pending Session command could not be cancelled`);SP(e,{sessionId:t,id:a.id,entry:a.entry})}}throw $(`Session cancellation did not settle its pending admissions`)})}function NF(e,t,n,r,i,a=!1,o){return e.transactionSync(()=>PF(e,t,n,r,i,a,o))}function PF(e,t,n,r,i,a=!1,o,s=!1){let c=r(),l=VN(e,t,n);if(l?.entry.kind!==`command`)return;let u=GN(e,t,l.entry.workId),d=u.find(({entry:e})=>e.kind===`cancellation`);if(d?.entry.kind===`cancellation`)return jF(d,`replay`,c.state===`running`&&c.jobId===l.entry.workId);let f=c.state===`running`&&c.jobId===l.entry.workId;if(!f&&u.some(({entry:e})=>e.kind===`run_terminal`||e.kind===`work_terminal`)||a&&(f||u.some(({entry:e})=>e.kind===`command`))||DA(l.entry)?.delivery===`steer`&&u.some(({entry:e})=>e.kind===`command`)&&!f)return;let p=wM.fact.generate(),m=i({jobId:l.entry.workId,cancellationId:p,onlyIfPending:a});if(m.status===`missing`&&DA(l.entry)?.delivery!==`steer`&&!s||m.status===`conflict`&&a)return;if(m.status!==`recorded`&&m.status!==`missing`)throw new W(`store`,`conflict`,`Session cancellation identity conflicts`);let ee=SP(e,{sessionId:t,id:p,entry:lN({kind:`cancellation`,requestId:p,receiptId:p,workId:l.entry.workId,targetWorkId:l.entry.workId},o)});return m.status===`missing`&&SP(e,{sessionId:t,id:wM.fact.generate(),entry:{kind:`work_terminal`,workId:l.entry.workId,outcome:`cancelled`}}),jF(ee,`new`,f)}function FF(e,t){e.transactionSync(()=>{t.assertIdleSession?.(t.sessionId);let n=wN(e,t.sessionId);if(n===void 0)throw $(`Session is unavailable for branch selection`);EN(e,n);let r=TN(e,t.sessionId,t.entryId);if(r?.state!==`complete`)throw $(`Selected branch entry is unavailable`);let i=Date.now();e.sql.exec(`UPDATE sessions SET leaf_id = ?, updated_at = ? WHERE id = ?`,r.id,i,n.id),_M(e,{sessionId:n.id,activityAt:i,title:hN(e,n.id)})})}function IF(e,t){return e.transactionSync(()=>{if(OF(e,t.sessionId,t.requestId),wN(e,t.sessionId)===void 0)throw $(`Session is unavailable for an operator entry`);let n=e.sql.exec(`SELECT id FROM session_entries WHERE session_id = ? AND request_id = ?`,t.sessionId,t.requestId).toArray()[0];if(n!==void 0){let r=$M(n);if(r._tag===`Failure`)throw $(`Stored Session entry identity is invalid`);let i=TN(e,t.sessionId,r.success.id);if(i?.entry.kind===`operator`&&i.entry.author===t.author&&_O(i.entry.meta,t.meta)&&i.entry.message.content===t.text)return!1;throw new W(`store`,`conflict`,`Request id already names another Session entry`)}t.assertIdleSession(t.sessionId);let r={kind:`operator`,workId:null,requestId:t.requestId,author:t.author,message:{role:`user`,content:t.text,timestamp:Date.now()}};return SP(e,{sessionId:t.sessionId,id:wM.fact.generate(),entry:lN(r,t.meta)}),!0})}function LF(e,t){return e.transactionSync(()=>{if(t.assertIdleSession?.(t.sessionId),wN(e,t.sessionId)===void 0)throw $(`Source Session is unavailable`);let n=BP(e,t.sessionId,t.entryId,`fork`),r=wM.session.generate(),i=Date.now();e.sql.exec(`INSERT INTO sessions
813
813
  (id, cwd, parent_session, leaf_id, created_at, updated_at, metadata_json)
814
- VALUES (?, '/', ?, NULL, ?, ?, NULL)`,r,t.sessionId,i,i),Jj(e,t.sessionId,r);let a=null,o=null,s=1,c=new Map,l=0;for(;;){let t=GP(e,n,{after:l,from:`oldest`,rows:CP});for(let n of t.rows){let t=CM.fact.generate();c.set(n.id,t);let i=n.entry.kind===`compaction`?{...n.entry,head:c.get(n.entry.head)??(()=>{throw $(`Fork compaction boundary is unavailable`)})()}:n.entry;e.sql.exec(`INSERT INTO session_entries
814
+ VALUES (?, '/', ?, NULL, ?, ?, NULL)`,r,t.sessionId,i,i),Yj(e,t.sessionId,r);let a=null,o=null,s=1,c=new Map,l=0;for(;;){let t=KP(e,n,{after:l,from:`oldest`,rows:wP});for(let n of t.rows){let t=wM.fact.generate();c.set(n.id,t);let i=n.entry.kind===`compaction`?{...n.entry,head:c.get(n.entry.head)??(()=>{throw $(`Fork compaction boundary is unavailable`)})()}:n.entry;e.sql.exec(`INSERT INTO session_entries
815
815
  (id, session_id, parent_id, sequence, type, role, state,
816
816
  request_id, work_id, data_json, timestamp, completed_at)
817
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,t,r,a,s,i.kind,_N(i),n.state,gN(i),i.workId,MA(i),n.timestamp,n.completedAt),a=t,o=t,s+=1,l=n.sequence}if(!t.more)break}if(o===null)throw $(`Fork path is empty`);e.sql.exec(`UPDATE sessions SET leaf_id = ?, updated_at = ? WHERE id = ?`,o,i,r);let u=VP(e,{sessionId:t.sessionId});for(let t of mj(e,(t,n)=>XP(e,u,t,n)))xP(e,{sessionId:r,id:CM.fact.generate(),entry:t});return gM(e,{sessionId:r,activityAt:i,title:mN(e,r)}),r})}function LF(e,t,n,r){if(CN(e,t)===void 0)throw $(`Session document owner is unavailable`);return XP(e,VP(e,{sessionId:t}),n,r)}function RF(e,t,n,r,i){if(CN(e,t)===void 0)throw $(`Session document owner is unavailable`);xP(e,{sessionId:t,id:CM.fact.generate(),entry:{kind:`document`,workId:null,extensionId:n,name:r,valueJson:i}})}var zF=2097152,BF=200,VF=200,HF=new TextEncoder;function UF(e){return new W(`store`,`unavailable`,e)}function WF(e,t,n){let r=new Map;for(let e of n)e.entry.kind===`command`&&r.set(e.entry.workId,e.entry.workId);let i=n.flatMap(({entry:e})=>(e.kind===`run_terminal`||e.kind===`work_terminal`)&&!r.has(e.workId)?[e.workId]:[]);for(let n of i)BN(e,t,n)!==void 0&&r.set(n,n);return r}function GF(e,t){return n=>{let r=BN(e,t,n)?.origin;return r?.kind===`extension`?{extensionId:r.extensionId,correlation:r.correlation}:void 0}}function KF(e,t,n){return{commandIds:WF(e,t,n),diagnostics:YF(n),cancellations:new Map(n.flatMap(({entry:e})=>e.kind===`cancellation`&&e.meta!==void 0?[[e.targetWorkId,e.meta]]:[])),origin:GF(e,t)}}function qF(e,t,n,r){let i=QP(e,n,new Set(r.flatMap(({entry:e})=>e.kind===`message`||e.kind===`run_terminal`||e.kind===`work_terminal`?[e.workId]:[]))),a=new Map;for(let e of i.commands)a.set(e,e);for(let{entry:n}of r)(n.kind===`run_terminal`||n.kind===`work_terminal`)&&!a.has(n.workId)&&BN(e,t,n.workId)!==void 0&&a.set(n.workId,n.workId);return{commandIds:a,diagnostics:i.diagnostics,cancellations:i.cancellations,origin:GF(e,t)}}function JF(e,t){let n=EA(e.entry);if(n!==void 0){let r=t.origin(n.workId),i={id:e.id,sequence:e.sequence,commandId:n.workId,requestId:n.requestId,value:n.message};return n.meta!==void 0&&(i={...i,meta:n.meta}),r!==void 0&&(i={...i,origin:r}),Object.freeze(i)}if(e.entry.kind===`operator`){let t={id:e.id,sequence:e.sequence,commandId:null,requestId:e.entry.requestId,value:AA(e.entry)};return e.entry.meta!==void 0&&(t={...t,meta:e.entry.meta}),Object.freeze(t)}if(e.entry.kind===`message`){let n={id:e.entry.message.value,sequence:e.sequence,commandId:t.commandIds.get(e.entry.workId)??null,value:e.entry.value};return Object.freeze(e.entry.data===void 0?n:{...n,data:e.entry.data})}}function YF(e){let t=new Map;for(let{entry:n}of e)(n.kind===`work_terminal`||n.kind===`run_terminal`)&&n.diagnostic!==void 0&&t.set(n.workId,n.diagnostic);return t}function XF(e,{commandIds:t,diagnostics:n,cancellations:r}){if(e.entry.kind!==`run_terminal`&&e.entry.kind!==`work_terminal`)return;let i=t.get(e.entry.workId);if(i===void 0)return;let a={commandId:i,outcome:e.entry.outcome,sequence:e.sequence,diagnostic:n.get(e.entry.workId)??null},o=e.entry.outcome===`cancelled`?r.get(e.entry.workId):void 0;return Object.freeze(o===void 0?a:{...a,meta:o})}function ZF(e,t,n){let r=[];for(let i of n){let a=i.entry;if(a.kind!==`compaction`)continue;let o=n.find(e=>e.id===a.head)?.sequence??qP(e,t,a.head);if(o===void 0)throw UF(`Session compaction horizon is unavailable`);r.push(Object.freeze({id:i.id,sequence:o,at:i.timestamp,tokensBefore:a.data.tokensBefore,tokensAfter:a.data.tokensAfter??null,trigger:a.data.reason??null}))}return Object.freeze(r)}function QF(e){return Object.freeze(e.flatMap(({id:e,sequence:t,timestamp:n,entry:r})=>r.kind===`compaction_notice`?[Object.freeze({id:e,sequence:t,at:n,trigger:r.trigger,result:r.result,diagnostic:r.result===`stale`||r.result===`insufficient`?null:r.diagnostic??null})]:[]))}function $F(e){return HF.encode(JSON.stringify(e)).byteLength}function eI(e,t){let n=Vk({generation:e,sequence:t});if(n===void 0)throw UF(`Session cursor is unavailable`);return n}function tI(e,t,n,r,i=!1){let a=JF(t,r),o=XF(t,r),s=i&&t.entry.kind===`sandbox_failure`?t.entry.event:void 0;if(a!==void 0&&e.messages.length===n)return!1;let c=(a===void 0?0:$F(a))+(o===void 0?0:$F(o))+(s===void 0?0:$F(s));if(c>zF)throw UF(`Session projection entry exceeds the read bound`);return e.bytes+c>zF?!1:(a!==void 0&&e.messages.push(a),o!==void 0&&e.terminals.push(o),s!==void 0&&e.sandboxFailures.push(s),e.bytes+=c,!0)}function nI(e,t,n,r,i,a=!1){let o={messages:[],terminals:[],sandboxFailures:[],bytes:0},s=0;for(let t=0;t<e.length&&s!==VF;t+=1){let c=e[i===`forward`?t:e.length-1-t];if(c===void 0||!tI(o,c,n,r,a))break;s+=1}if(s===0&&e.length>0)throw UF(`Session page cannot make bounded progress`);let c=i===`backward`?[...o.messages].reverse():o.messages,l=i===`backward`?[...o.terminals].reverse():o.terminals,u=i===`backward`?[...o.sandboxFailures].reverse():o.sandboxFailures;return Object.freeze({messages:Object.freeze(c),terminals:Object.freeze(l),sandboxFailures:Object.freeze(u),consumed:s,hasMore:t||s<e.length})}function rI(e){return Array.isArray(e)}function iI(e,t){let{commands:n,total:r}=FN(e,t,VF+1,`prompts`),i=[],a=HF.encode(JSON.stringify({prompts:[],hasMore:!1,total:r})).byteLength;for(let e of n){let t=oI(e),n=HF.encode(JSON.stringify(t)).byteLength+(i.length===0?0:1);if(i.length===VF||a+n>zF)return{prompts:i,hasMore:!0,total:r};i.push(t),a+=n}return{prompts:i,hasMore:!1,total:r}}function aI(e,t,n){let r=NN(e,t,n);return r===void 0?null:oI(r)}function oI(e){let t=EA(e.entry);if(t===void 0)throw UF(`Pending Session prompt is unavailable`);let n=t.message.content,r=rI(n)?{commandId:e.entry.workId,requestId:t.requestId,text:n.filter(e=>e.type===`text`).map(e=>e.text).join(``),images:n.filter(e=>e.type===`image`),delivery:t.delivery??`followUp`}:{commandId:e.entry.workId,requestId:t.requestId,text:n,delivery:t.delivery??`followUp`},i=e.entry.meta===void 0?r:{...r,meta:e.entry.meta};return e.origin.kind===`extension`?{...i,origin:{extensionId:e.origin.extensionId,correlation:e.origin.correlation}}:i}function sI(e,t,n){let r=Hk(n);if(r?.generation===t.rootId)return KP(e,t,r.sequence)?r.sequence:void 0}function cI(e,t,n,r,i=()=>({})){return AP(e,t,()=>{let a=iI(e,t),o=VP(e,{sessionId:t});if(o===void 0)return Object.freeze({sessionId:t,cursor:null,hasMore:!1,oldestCursor:null,messages:Object.freeze([]),terminals:Object.freeze([]),compactions:Object.freeze([]),compactionNotices:Object.freeze([]),pending:a,activity:r.facts,progress:r.readProgress(),toolOutput:r.toolOutput,extensions:i(),attention:BO(e,t)});let s=o.rootId,c=n.before===void 0?2**53-1:sI(e,o,n.before);if(c===void 0)throw UF(`Session read cursor is unavailable`);let l=GP(e,o,{before:c,from:`newest`,rows:VF}),u=nI(l.rows,l.more,n.limit,qF(e,t,o,l.rows),`backward`,n.includeSandboxFailures===!0),d=l.rows.slice(l.rows.length-u.consumed),f=l.rows.at(-1),p=d[0],m={sessionId:t,cursor:f===void 0?null:eI(s,f.sequence),hasMore:u.hasMore,oldestCursor:u.hasMore&&p!==void 0?eI(s,p.sequence):null,messages:u.messages,terminals:u.terminals,compactions:ZF(e,o,d),compactionNotices:QF(d),pending:a,activity:r.facts,progress:n.before===void 0?r.readProgress():null,toolOutput:n.before===void 0?r.toolOutput:[],extensions:i(),attention:BO(e,t)};return Object.freeze(n.includeSandboxFailures===!0?{...m,sandboxFailures:u.sandboxFailures}:m)})}var lI=Object.freeze({kind:`reset`});function uI(e,t,n){if(n===void 0)return 0;if(n.generation===t.rootId)return KP(e,t,n.sequence)?n.sequence:void 0}function dI(e,t,n,r,i,a,o,s,c){let l=GP(e,t,{after:n,from:`oldest`,rows:VF}),u=nI(l.rows,l.more,BF,qF(e,t.sessionId,t,l.rows),`forward`,c),d=l.rows.slice(0,u.consumed),f=d.at(-1)?.sequence??t.newestSequence,p={kind:`update`,delivery:r,cursor:eI(t.rootId,f),messages:u.messages,terminals:u.terminals,compactions:ZF(e,t,d),compactionNotices:QF(d),pending:s,activity:i.facts,extensions:a,attention:o},m=[Object.freeze(c?{...p,sandboxFailures:u.sandboxFailures}:p)];return Object.freeze({kind:`page`,frames:Object.freeze(u.hasMore?m:[...m,{kind:`tool_output`,toolOutput:i.toolOutput,activity:i.facts}]),hasMore:u.hasMore})}function fI(e,t,n,r,i,a=()=>({}),o=!1){let s=n===void 0?void 0:Hk(n);return n!==void 0&&s===void 0?lI:AP(e,t,()=>{let c=iI(e,t),l=VP(e,{sessionId:t});if(l===void 0)return n===void 0?{kind:`page`,frames:[{kind:`update`,delivery:r,cursor:null,messages:[],terminals:[],compactions:[],compactionNotices:[],activity:i.facts,extensions:a(),attention:BO(e,t),pending:c}],hasMore:!1}:lI;let u=uI(e,l,s);return u===void 0?lI:dI(e,l,u,r,i,a(),BO(e,t),c,o)})}function pI(e,t,n){let r=BN(e,t,n);if(r===void 0)throw UF(`Accepted Session command is unavailable`);if(!UN(e,t,r.entry.workId))return;let i=WN(e,t,r.entry.workId),a=KF(e,t,i),o=i.flatMap(e=>{let t=XF(e,a);return t===void 0?[]:[t]}).at(-1);if(o===void 0)return;let s=i.flatMap(({entry:e})=>e.kind===`message`&&e.value.role===`assistant`?[e.value]:[]),c=s.at(-1),l=o.outcome===`cancelled`?o.meta:r.entry.meta,u=Kh(r.entry.meta);return{acceptedSender:u?.kind===`agent`?u.id:null,delegator:Nk(e,t)?.replyTo[0]?.agentId??null,terminal:l===void 0?o:{...o,meta:l},content:o.outcome===`cancelled`?``:c?.content.flatMap(e=>e.type===`text`?[e.text]:[]).join(``).trim()??``,usage:s.map(({provider:e,model:t,usage:n})=>({provider:e,model:t,usage:n})),toolCalls:new Set(i.flatMap(({entry:e})=>e.kind===`tool_intent`?[e.call.id]:[])).size,waitingOnYou:QO(e,t,r.entry.workId)}}var mI=65536,hI=2048,gI=new TextEncoder,_I=()=>({chunks:[],length:0,bytes:0});function vI(e,t){for(let n=0;n<t.length;){let r=Math.min(n+hI,t.length),i=t.charCodeAt(r-1);r<t.length&&i>=55296&&i<=56319&&r--;let a=t.slice(n,r),o=gI.encode(a).byteLength,s=e.chunks.at(-1);for(s!==void 0&&s.text.length+a.length<=hI?(s.text+=a,s.bytes+=o):e.chunks.push({offset:e.length,text:a,bytes:o}),e.length+=a.length,e.bytes+=o,n=r;e.bytes>mI&&e.chunks.length>1;){let t=e.chunks.shift();t!==void 0&&(e.bytes-=t.bytes)}}}function yI(e){return e.chunks[0]?.offset??0}function bI(e,t){return e.chunks.flatMap(e=>e.offset+e.text.length<=t?[]:[e.text.slice(Math.max(0,t-e.offset))]).join(``)}function xI(e){return e===null?null:{messageId:e.messageId,revision:e.revision,text:bI(e.text,yI(e.text)),thinking:bI(e.thinking,yI(e.thinking)),textOffset:yI(e.text),thinkingOffset:yI(e.thinking),textTruncated:yI(e.text)>0,thinkingTruncated:yI(e.thinking)>0}}function SI(e){return e===null?null:{messageId:e.messageId,revision:e.revision,text:e.textOffset+e.text.length,thinking:e.thinkingOffset+e.thinking.length}}function CI(e,t,n,r){let i=wI.get(e)?.get(t),a=i?.workId===n?i.value:null;if(a===null)return null;let o=r?.messageId===a.messageId?r:null;if(o!==null&&o.revision>=a.revision)return null;let s=o?.text??0,c=o?.thinking??0;if(!(s<yI(a.text)||c<yI(a.thinking)))return{messageId:a.messageId,revision:a.revision,text:{offset:s,append:bI(a.text,s)},thinking:{offset:c,append:bI(a.thinking,c)}}}var wI=new WeakMap;function TI(e,t,n){let r=wI.get(e)?.get(t);return r?.workId===n?[...r.slots.values()].filter(e=>e!==null):[]}var EI=T(N({droppedBytes:V.check(B(0)),totalBytes:V.check(B(0))}),{onExcessProperty:`error`});function DI(e,t){return b(function*(){let n=yield*kI(e,t),r=()=>{EO(e,t.sessionId,`progress`)};return{started:e=>S(()=>{n.slots.size<4&&!n.slots.has(e.toolCall.value)&&n.slots.set(e.toolCall.value,null)}),update:e=>S(()=>{let t=n.slots.get(e.toolCall.value);if(t===void 0)return;let i=EI(e.result.data);if(Ct(i))return;let a=e.result.content.filter(e=>e.type===`text`).map(e=>e.text).join(``);new TextEncoder().encode(a).byteLength>8192||a.split(`
818
- `).length>200||i.success.droppedBytes>i.success.totalBytes||(n.slots.set(e.toolCall.value,{toolCallId:e.call.id,revision:(t?.revision??0)+1,tail:a,...i.success}),r())}),terminal:e=>S(()=>{n.slots.delete(e.toolCall.value)&&r()})}})}function OI(e){let t=wI.get(e);if(t!==void 0)return t;let n=new Map;return wI.set(e,n),n}function kI(e,t){return b(function*(){let n=OI(e),r=n.get(t.sessionId);if(r?.workId===t.commandId)return r;let i={workId:t.commandId,value:null,slots:new Map};return n.set(t.sessionId,i),yield*Sr(()=>S(()=>{n.get(t.sessionId)===i&&(n.delete(t.sessionId),(i.value!==null||i.slots.size>0)&&EO(e,t.sessionId,`progress`))})),i})}function AI(e){return new W(`runtime`,`rejected`,e)}function jI(e,t,n){let r=OI(e).get(t);return xI(r?.workId===n?r.value:null)}function MI(e,t,n){return b(function*(){let r=yield*kI(e,t),i,a=0,o,s=()=>{o!==void 0&&clearTimeout(o),o=void 0},c=()=>{s();let n=r.value;n!==null&&(a=n.text.length+n.thinking.length,EO(e,t.sessionId,`progress`))},l=S(()=>{s();let n=r.value!==null;r.value=null,n&&EO(e,t.sessionId,`progress`),i=void 0});return yield*Sr(()=>l),Object.freeze({started:e=>S(()=>{s(),i=e,r.value=null,a=0}),update:e=>Cn(()=>{let t=i;if(t===void 0)return y(AI(`Mule progress arrived before its message start`));if(t.run.value!==e.run.value||t.turn.value!==e.turn.value||t.message.value!==e.message.value)return y(AI(`Mule progress identity conflicts`));let n=e.event;if(n.type!==`text_delta`&&n.type!==`thinking_delta`||n.delta.length===0)return ft;let s=r.value===null,l=r.value??{messageId:e.message.value,revision:0,text:_I(),thinking:_I()};vI(n.type===`text_delta`?l.text:l.thinking,n.delta),l.revision++,r.value=l;let u=l.text.length+l.thinking.length;return s||u-a>=4096?c():o??=setTimeout(c,100),ft}),terminal:e=>l.pipe(g(n(e)))})})}var NI=new WeakMap;function PI(e){let t=NI.get(e);if(t!==void 0)return t;let n=new Map;return NI.set(e,n),n}function FI(e,t){return PI(e).get(t)??null}function II(e,t,n){PI(e).set(t,Object.freeze({trigger:n})),EO(e,t,`progress`)}function LI(e,t){PI(e).delete(t)&&EO(e,t,`progress`)}var RI=Object.freeze({admitNew:()=>{}});function zI(e){return e===void 0?RI:Object.freeze({admitNew:()=>{if(e.underPressure())throw new W(`store`,`storage_pressure`,`Storage is near its budget. New Sessions and prompts are refused until space is freed; running work continues.`)}})}function BI(e,t){let n=gF(e,t);return EO(e,t.sessionId),n}function VI(e,t){let n=_F(e,t);return EO(e,t.sessionId),n}function HI(e,t){let n=vF(e,t);return n!==`stale`&&EO(e,t.sessionId),n}function UI(e){return new W(`store`,`rejected`,e)}function WI(e){return new W(`store`,`conflict`,e)}function GI(e){return ai({try:e,catch:e=>e instanceof W?e:new W(`store`,`rejected`,`Native Session store operation failed`,void 0,e)})}function KI(e){return GI(()=>{gP(e)})}function qI(e,t,n,r,i,a,o){return GI(()=>{let s=MF(e,t,n,i,a,r,o);return s?.delivery===`new`&&EO(e,t,`settlement`),s})}function JI(e,t){return GI(()=>{let n=RN(e,t.sessionId,t.delivery,t.workId);return n.length>0&&EO(e,t.sessionId),n})}function YI(e,t){return GI(()=>{zN(e,t),EO(e,t.sessionId,`settlement`)})}function XI(e,t,n,r,i){return GI(()=>{let a=jF(e,t,n,r,i);return EO(e,t,`settlement`),a?.accepted})}function ZI(e,t){return GI(()=>{PF(e,{sessionId:t.sessionId,entryId:t.entryId,assertIdleSession:t.assertIdleSession}),EO(e,t.sessionId)})}function QI(e,t){return GI(()=>{FF(e,t)&&EO(e,t.sessionId)})}function $I(e,t){return GI(()=>{let n=IF(e,{sessionId:t.sessionId,entryId:t.entryId,assertIdleSession:t.assertIdleSession});return EO(e,n),Object.freeze({sessionId:n})})}function eL(e,t){return GI(()=>{let n=mF(e,{sessionId:Ky(t.sessionId),commandFactId:t.commandFactId});return n.entryDelivery===`new`&&EO(e,t.sessionId),n})}function tL(e){return e.content.flatMap(e=>e.type===`text`?[e.text]:[]).join(``).trim()}function nL(e,t){return GI(()=>{let n=BN(e,t.sessionId,t.commandFactId);if(n===void 0)throw UI(`Accepted Session command is unavailable`);let r=WN(e,t.sessionId,n.entry.workId);for(let e=r.length-1;e>=0;--e){let t=r[e]?.entry;if(t?.kind===`message`&&t.value.role===`assistant`)return tL(t.value)}return``})}function rL(e,t,n){return GI(()=>{let r=BN(e,t.sessionId,t.commandFactId);if(r===void 0)throw UI(`Accepted Session command is unavailable`);if(n!==`cancelled`)return r.entry.meta;let i=WN(e,t.sessionId,r.entry.workId).find(({entry:e})=>e.kind===`cancellation`);return i?.entry.kind===`cancellation`?i.entry.meta:void 0})}function iL(e,t){return GI(()=>{let n=BN(e,t.sessionId,t.commandFactId);if(n===void 0)throw UI(`Accepted Session command is unavailable`);return YF(WN(e,t.sessionId,n.entry.workId)).get(n.entry.workId)})}function aL(e,t,n,r,i,a){return GI(()=>{let o=Ky(t),s=Yy(r);return kP(e,o,()=>a(cI(e,o,s,n(),i)),s.before===void 0?void 0:Hk(s.before)?.sequence)})}function oL(e,t){return GI(()=>lN(e,Ky(t)))}function sL(e,t,n){return GI(()=>ZN(e,Jy({requestId:t}),n))}function cL(e,t,n){return QN(e,Jy({requestId:t}),n)}function lL(e,t){return GI(()=>$N(e,{sessionId:Ky(t.sessionId),assertIdleSession:t.assertIdleSession,recordInboxDeletion:t=>{_M(e,t)}}))}function uL(e,t){return GI(()=>SM(e,t))}function dL(e,t,n,r,i,a,o,s){return GI(()=>{let c=Ky(t);return kP(e,c,()=>s(fI(e,c,n,r,i,a,o)))})}function fL(e,t){return MA(e)===MA(t)}function pL(e,t){return e.kind===t.kind&&e.value===t.value&&e.parent?.kind===t.parent?.kind&&e.parent?.value===t.parent?.value}function mL(e,t){return e.core===t.core&&e.extensions.length===t.extensions.length&&e.extensions.every(([e,n],r)=>{let i=t.extensions[r];return i?.[0]===e&&i[1]===n})}function hL(e,t,n,r,i){e.transactionSync(()=>{i?.();let a=WN(e,t.sessionId,t.commandId).find(r);if(a!==void 0){if(n.kind===`work_terminal`&&a.entry.kind===`run_terminal`||fL(a.entry,n))return`replay`;throw WI(`Mule event identity conflicts`)}for(let r=0;r<3;r+=1){let r=CM.fact.generate();if(EN(e,r)===void 0&&BN(e,t.sessionId,r)===void 0)return xP(e,{sessionId:t.sessionId,id:r,entry:n}),`new`}throw UI(`Session fact identity allocation failed`)})===`new`&&EO(e,t.sessionId,n.kind===`run_terminal`||n.kind===`work_terminal`?`settlement`:`durable`)}function gL(e,t,n){return GI(()=>{hL(e,t,{kind:`sandbox_failure`,workId:t.commandId,event:n},({entry:e})=>e.kind===`sandbox_failure`&&e.event.ref===n.ref)})}function _L(e,t,n,r){let i=BN(e,t,n);if(i?.entry.workId!==r)throw UI(`Accepted Session work is unavailable`);return i.origin.kind===`extension`?Object.freeze({extensionId:i.origin.extensionId,correlation:i.origin.correlation}):null}function vL(e,t,n,r){let i=_L(e,t,n,r),a=WN(e,t,r).map(({entry:e})=>e),o=new Set(a.flatMap(e=>e.kind===`tool_intent`?[e.call.id]:[])).size,s=a.filter(e=>e.kind===`run_terminal`||e.kind===`work_terminal`).at(-1);return Object.freeze({terminal:s?.kind===`run_terminal`||s?.kind===`work_terminal`?s.outcome:`missing`,origin:i,toolCalls:o})}function yL(e,t){return GI(()=>{if(BN(e,t.sessionId,t.commandFactId)?.entry.workId!==t.workId)throw UI(`Settled Session work is unavailable`);let n={workId:t.workId,kind:`work_terminal`,outcome:t.outcome};hL(e,{sessionId:t.sessionId,commandId:t.workId},t.diagnostic===void 0?n:{...n,diagnostic:t.diagnostic},({entry:e})=>e.kind===`work_terminal`||e.kind===`run_terminal`&&e.outcome===t.outcome,()=>{e.sql.exec(`DELETE FROM session_entries WHERE session_id = ? AND work_id = ? AND state = 'streaming' AND type = 'message_start'`,t.sessionId,t.workId)})})}function bL(e,t,n,r,i){return GI(()=>{let a=r.type===`run_start`?{kind:`run_started`,workId:t.commandId,run:r.run,contract:n}:r.type===`turn_start`?{kind:`turn_started`,workId:t.commandId,run:r.run,turn:r.turn}:{kind:`run_terminal`,workId:t.commandId,run:r.run,terminal:r.terminal,outcome:r.outcome};a.kind===`run_terminal`&&i!==void 0&&(a={...a,diagnostic:i}),hL(e,t,a,({entry:e})=>e.kind===a.kind?e.kind===`run_started`&&a.kind===`run_started`?pL(e.run,a.run)&&mL(e.contract,n):e.kind===`turn_started`&&a.kind===`turn_started`?pL(e.turn,a.turn):e.kind===`run_terminal`&&a.kind===`run_terminal`&&pL(e.terminal,a.terminal):!1)})}function xL(e,t,n){return GI(()=>{let r={kind:`message_start`,workId:t.commandId,run:n.run,turn:n.turn,message:n.message,role:n.value.role};e.transactionSync(()=>{let i=WN(e,t.sessionId,t.commandId).find(({entry:e})=>(e.kind===`message_start`||e.kind===`message`)&&pL(e.message,n.message));if(i!==void 0){if(i.entry.kind===`message`){if(i.entry.workId!==r.workId||!pL(i.entry.run,r.run)||!pL(i.entry.turn,r.turn)||i.entry.value.role!==r.role)throw WI(`Mule message-start identity conflicts`);return`replay`}if(!fL(i.entry,r))throw WI(`Mule message-start identity conflicts`);return`replay`}return xP(e,{sessionId:t.sessionId,id:n.message.value,entry:r,state:`streaming`}),`new`})===`new`&&EO(e,t.sessionId)})}function SL(e,t,n,r){return GI(()=>{hL(e,t,{kind:`model_prompt`,workId:t.commandId,run:r.run,turn:r.turn,attempt:r.attempt,contract:n,systemPrompt:r.systemPrompt},({entry:e})=>e.kind===`model_prompt`&&pL(e.turn,r.turn)&&e.attempt===r.attempt&&mL(e.contract,n))})}function CL(e,t,n){return GI(()=>{let r={kind:`message`,workId:t.commandId,run:n.run,turn:n.turn,message:n.message,value:n.value},i=n.data===void 0?r:{...r,data:n.data};e.transactionSync(()=>{let r=WN(e,t.sessionId,t.commandId).find(({entry:e})=>(e.kind===`message_start`||e.kind===`message`)&&pL(e.message,n.message));if(r?.entry.kind===`message`){if(!fL(r.entry,i))throw WI(`Mule completed-message identity conflicts`);return`replay`}return SP(e,{sessionId:t.sessionId,id:n.message.value,entry:i}),`new`})===`new`&&EO(e,t.sessionId)})}function wL(e,t,n,r){return GI(()=>{hL(e,t,{kind:`tool_intent`,replay:r.replay,contract:n,workId:t.commandId,run:r.run,turn:r.turn,toolCall:r.toolCall,call:r.call},({entry:e})=>e.kind===`tool_intent`&&pL(e.toolCall,r.toolCall)&&mL(e.contract,n))})}function TL(e,t,n){return GI(()=>{let{data:r,...i}=n.result,a={kind:`tool_outcome`,workId:t.commandId,run:n.run,turn:n.turn,toolCall:n.toolCall,call:n.call,result:i};hL(e,t,r===void 0?a:{...a,data:r},({entry:e})=>e.kind===`tool_outcome`&&pL(e.toolCall,n.toolCall))})}function EL(e,t,n,r){return GI(()=>{let i=WN(e,t.sessionId,t.commandId).find(({entry:e})=>e.kind===`turn_started`&&pL(e.turn,r));if(i===void 0)throw WI(`Retry has no recorded turn`);hL(e,t,{kind:`live_retry`,workId:t.commandId,event:n},({entry:e,sequence:t})=>t>i.sequence&&e.kind===`live_retry`&&e.event.type===n.type&&e.event.attempt===n.attempt&&pL(e.event.run,n.run))}).pipe(at(DL))}var DL=()=>({_tag:`MuleError`,phase:`listener`,message:`Woodstock could not record the Mule event`});function OL(e,t,n){return b(function*(){let r=yield*MI(e,t,n=>CL(e,t,n)),i=yield*DI(e,t),a=(a,o)=>{switch(a.type){case`model_prompt`:return SL(e,t,n,a);case`run_start`:case`turn_start`:case`run_end`:return bL(e,t,n,a,o);case`message_start`:return a.value.role===`user`?ft:xL(e,t,a).pipe(g(a.value.role===`assistant`?r.started(a):ft));case`message_update`:return r.update(a);case`message_end`:return a.value.role===`user`?ft:a.value.role===`assistant`?r.terminal(a):CL(e,t,a);case`tool_execution_start`:return wL(e,t,n,a).pipe(g(i.started(a)));case`tool_execution_end`:return TL(e,t,a).pipe(g(i.terminal(a)));case`tool_execution_update`:return i.update(a);case`turn_end`:return ft}};return(e,t)=>a(e,t).pipe(at(DL))})}function kL(e,t,n){return GI(()=>pI(e,Ky(t),Ky(n)))}var AL=UM.mapFields(({extensionId:e,correlation:t})=>({extensionId:e,correlation:t})),jL=N({requestId:O(j),meta:O(pO),data:O(uO),origin:O(AL),id:j,sequence:V.check(Bm(0)),commandId:L(j),value:fA}),ML=I([`manual`,`threshold`,`overflow`]),NL=N({queue:F([N({state:A(`idle`)}),N({state:A(`queued`),commandId:bh,runningWork:L(F([N({kind:A(`session`),sessionId:bh,commandId:bh,title:j}),N({kind:A(`host`),lane:bh,jobId:bh})]))}),N({state:A(`running`),commandId:bh})]),cancellationRequested:Qp,retry:L(N({attempt:V.check(Bm(0)),maxAttempts:V.check(Bm(0)),delayMs:V.check(B(0)),errorMessage:j,scheduledAt:V.check(B(0))})),activeTool:L(j),lastModelChoiceSequence:L(V.check(Bm(0))),compaction:L(N({trigger:ML}))}),PL=j,FL=nm(j,F([N({status:A(`running`),revision:PL,value:uO,catalog:O(uO)}),N({status:A(`stopped`),revision:PL,reason:j})])),IL=N({id:j,version:j,revision:PL,status:I([`running`,`stopped`]),reason:L(j),stoppedAt:L(M)}),LL=N({commandId:j,outcome:I([`completed`,`cancelled`,`failed`,`interrupted`]),sequence:V.check(Bm(0)),diagnostic:L(j),meta:O(pO)}),RL=N({id:j,sequence:V.check(Bm(0)),at:V.check(B(0)),tokensBefore:M,tokensAfter:L(M),trigger:L(ML)}),zL=N({id:j,sequence:V.check(Bm(0)),at:V.check(B(0)),trigger:ML,result:I([`nothing_to_compact`,`failed`,`stale`,`insufficient`]),diagnostic:L(j)}),BL=j.check(z(e=>new TextEncoder().encode(e).byteLength<=65536)),VL=N({messageId:j,revision:V.check(B(0)),text:BL,thinking:BL,textOffset:V.check(B(0)),thinkingOffset:V.check(B(0)),textTruncated:Qp,thinkingTruncated:Qp}),HL=N({commandId:j,requestId:j,meta:O(pO),origin:O(AL),text:j,images:O(P(gy)),delivery:I([`steer`,`followUp`])}),UL=P(N({toolCallId:j,revision:V.check(B(0)),tail:j.check(z(e=>new TextEncoder().encode(e).byteLength<=8192&&e.split(`
819
- `).length<=200)),droppedBytes:V.check(B(0)),totalBytes:V.check(B(0))})).check(H(4)),WL=N({total:V.check(B(0)),prompts:P(HL),hasMore:Qp}),GL=N({tokens:V.check(B(0)),window:L(V.check(Bm(0)))}),KL=N({sessionId:j,cursor:L(j),hasMore:Qp,oldestCursor:O(L(j)),messages:P(jL),terminals:P(LL),sandboxFailures:O(P(oO)),compactions:O(P(RL)),compactionNotices:O(P(zL)),pending:WL,activity:NL,progress:L(VL),toolOutput:UL,extensions:FL,attention:ny,context:O(GL)}),qL=F([N({kind:A(`activity`),activity:NL}),N({kind:A(`tool_output`),toolOutput:UL,activity:NL}),N({kind:A(`update`),delivery:I([`replay`,`live`]),cursor:L(j),messages:P(jL),terminals:P(LL),sandboxFailures:O(P(oO)),compactions:O(P(RL)),compactionNotices:O(P(zL)),pending:WL,activity:NL,extensions:FL,attention:ny,context:O(GL)}),N({kind:A(`progress`),progress:N({messageId:j,revision:V.check(B(0)),text:N({offset:V.check(B(0)),append:BL}),thinking:N({offset:V.check(B(0)),append:BL})}),activity:NL}),N({kind:A(`reset`),reason:A(`history_unavailable`),cursor:L(j),baseline:KL})]),JL=N({status:A(`accepted`),commandId:j,sessionId:O(j)});E(U(F([JL,N({status:A(`held`),reason:A(`recipient_offline`),message:A(`waiting: recipient offline`)})])),{onExcessProperty:`error`});var YL=N({status:A(`unknown`)}),XL=E(U(F([JL,YL])));function ZL(e){return XL(e)}var QL=F([JL,YL,N({status:A(`too_late`),commandId:j})]),$L=N({sessionId:j}),eR=E(U(KL),{onExcessProperty:`error`}),tR=E(U(qL),{onExcessProperty:`error`}),nR=E(U(JL)),rR=E(U(QL)),iR=E(U($L)),aR=E(U(uy)),oR=E(U(IL)),sR=E(U(P(IL))),cR=E(U(uO));function lR(e){return oR(e)}function uR(e){return sR(e)}function dR(e){return cR(e)}function fR(e){return nR(e)}function pR(e){return rR(e)}function mR(e){return E(U(L(HL)))(e)}function hR(e){return iR(e)}var gR=N({acceptedSender:L(j),delegator:L(j),terminal:LL,content:j,usage:P(N({provider:j,model:j,usage:cA})),toolCalls:V.check(B(0)),waitingOnYou:P(N({itemId:j,kind:j,summary:j})).check(H(8))});function _R(e){return E(U(L(gR)))(e)??void 0}function vR(e){return eR(e)}function yR(e){return tR(e)}function bR(e){let t=aR(e);return new W(t.boundary,t.cause,t.message,t.requestId)}var xR=E(U(N({sessions:P(F([N({sessionId:bh,createdAt:M,lastActivityAt:M,settledAt:O(M),title:j,state:I([`needs_you`,`running`,`errored`,`done`])}),N({sessionId:bh,state:A(`unavailable`)})])),next:k(bh)})));function SR(e){let t=xR(e);return{sessions:t.sessions,next:t.next}}var CR=E(U(N({sessionId:bh}))),wR=E(U(N({deleted:Qp})));function TR(e){return wR(e).deleted}function ER(e){return CR(e).sessionId}function DR(e){let t={modules:e.modules??[],sources:e.sources??[],sandbox:$D(e.sandbox),access:e.access??{}};return e.execution===void 0?t:{...t,execution:e.execution}}function OR(e,t){return Dr(e,t).then(e=>{if(ta(e))return e.value;let t=Bt(Wi(e.cause))??Hi(e.cause);return Promise.reject(t instanceof Error?t:Error(String(t)))})}function kR(e){let t=dr(e);if(ta(t))return t.value;let n=Bt(Wi(t.cause))??Hi(t.cause);throw n instanceof Error?n:Error(String(n))}function AR(e){let t=Yv(e);return Object.freeze({[Symbol.asyncIterator]:()=>{let e=t[Symbol.asyncIterator]();return{next:()=>e.next(),return:()=>e.return?.()??Promise.resolve({done:!0,value:void 0})}}})}function jR(e,t){function n(e){return OR(t.command(e))}return Object.freeze({address:e,command:n,withdraw:e=>OR(t.withdraw(e)),abort:()=>OR(t.abort),send:(e,n)=>OR(t.send(e,n)),cancel:e=>OR(t.cancel(e)),latestPending:()=>OR(t.latestPending),modelPreference:Object.freeze({read:()=>OR(t.modelPreference.read),set:e=>OR(t.modelPreference.set(e))}),extension:e=>{let n=t.extension(e);return Object.freeze({call:(e,t,r)=>OR(n.call(e,t,r))})},read:e=>OR(t.read(e)),readSettlement:(e,n)=>OR(t.readSettlement(e,n?.timeoutMs),n),subscribe:e=>AR(t.subscribe(e)),watch:e=>OR(t.watch(e)).then(e=>Object.freeze({snapshot:e.snapshot,changes:AR(e.changes),close:()=>OR(e.close)}))})}function MR(e,t){let n=t??`local:${Zh()}`;return Object.freeze({createSession:t=>OR(e.createSession(t)),deleteSession:t=>OR(e.deleteSession(t)),listSessions:t=>OR(e.listSessions(t)),extensions:Object.freeze({list:()=>OR(e.extensions.list),resume:t=>OR(e.extensions.resume(t)),call:(t,n,r)=>OR(e.extensions.call(t,n,r))}),session:t=>jR(`${n}/sessions/${encodeURIComponent(t)}`,e.session(t)),close:()=>OR(e.close)})}function NR(e){let t=`local:${Zh()}`;return Object.freeze({...MR(e,t),prepareConfiguration:async t=>{let n={extensions:t.extensions};t.tools!==void 0&&Object.assign(n,{tools:DR(t.tools)});let r=await OR(e.prepareConfiguration(n));return{commit:()=>{kR(r.commit)},discard:()=>OR(r.discard)}},grants:Object.freeze({deliver:(t,n)=>kR(e.grants.deliver(t,n)),read:t=>kR(e.grants.read(t))}),withMeta:n=>MR(e.withMeta(n),t)})}function PR(e=`Remote Shiitake operation is unavailable`){return new W(`runtime`,`unavailable`,e)}function FR(e){return new W(`runtime`,`invalid`,e)}function IR(){return new W(`runtime`,`closed`,`Shiitake client is closed`)}var LR=2,RR=E(j);function zR(e){if(!(e instanceof MessageEvent))throw FR(`Session stream event is invalid`);return RR(e.data)}function BR(e){return e.kind===`source-error`?y(PR(`Session stream is unavailable`)):e.kind===`snapshot`?ai({try:()=>({kind:`snapshot`,value:vR(zR(e.event))}),catch:()=>FR(`Session snapshot is invalid`)}):e.kind===`frame`?ai({try:()=>({kind:`frame`,value:yR(zR(e.event))}),catch:()=>FR(`Session frame is invalid`)}):ai({try:()=>bR(zR(e.event)),catch:()=>FR(`Session runtime error is invalid`)}).pipe(C(y))}function VR(e,t){return S(()=>{e.closed||(e.closed=!0,t.delete(e),e.source.close())})}function HR(e,t,n,r){return Sv(t=>Mr(ai({try:()=>{let i={source:new(r??EventSource)(e),closed:!1},a=(e,r)=>{jg(t,{kind:e,event:r})||(Pg(t,Ri(PR(`Session stream client fell behind`))),Zt(VR(i,n)))};return i.source.addEventListener(`snapshot`,e=>{a(`snapshot`,e)}),i.source.addEventListener(`frame`,e=>{a(`frame`,e)}),i.source.addEventListener(`runtime-error`,e=>{a(`runtime-error`,e)}),i.source.addEventListener(`error`,e=>{i.source.readyState===LR&&a(`source-error`,e)}),n.add(i),i},catch:()=>PR(`Session stream could not open`)}),e=>VR(e,n)),{bufferSize:256,strategy:`dropping`}).pipe(Nv(BR),Gv(t.await))}function UR(e,t){return`${e}/sessions/${encodeURIComponent(t)}`}function WR(e,t,n=!1){let r=new URLSearchParams({mode:`subscribe`});return t!==void 0&&r.set(`after`,t),n&&r.set(`includeSandboxFailures`,`true`),`${e}?${r.toString()}`}function GR(e,t,n,r){return HR(e,t,n,r).pipe(Nv(e=>e.kind===`frame`?v(e.value):y(FR(`Session subscription received a snapshot`))))}function KR(e,t,n,r,i,a){return b(function*(){yield*n;let o=yield*u_(!1),s=yield*ha();yield*S(()=>t.add(s)),yield*ya(s,S(()=>{t.delete(s)}));let c=yield*Dn(HR(e,r,i,a).pipe(Vv(mv()),_a(s)));if(na(c))return yield*Sa(s,c),yield*Ut(c.cause);let[l,u]=c.value;if(nt(l)||l.value.kind!==`snapshot`){let e=FR(`Session stream did not begin with a snapshot`);return yield*Sa(s,Qi(e)),yield*y(e)}let d=u.pipe(Nv(e=>e.kind===`frame`?v(e.value):v({kind:`reset`,reason:`history_unavailable`,cursor:e.value.cursor,baseline:e.value})),Gv(o.await),Hv(e=>o.isOpen()&&Bi(e)?Cv:Ev(e)));return Object.freeze({snapshot:l.value.value,changes:d,close:o.open.pipe(g(Sa(s,ea)))})})}function qR(e,t,n){return Jr({try:async t=>{let n=await e(t);return{response:n,body:await n.text()}},catch:()=>PR(`${n} request failed`)}).pipe(C(({response:e,body:r})=>e.ok?ai({try:()=>t(r),catch:()=>FR(`${n} response is invalid`)}):ai({try:()=>bR(r),catch:()=>FR(`${n} error response is invalid`)}).pipe(C(y))))}function JR(t){let n=t.baseUrl.replace(/\/+$/u,``),r=t.fetch??globalThis.fetch,i=new Set,a=new Set,o=l_(!1),s=!1,c=Cn(()=>s?y(IR()):ft),l=(t,n,r)=>e(qR(t,n,r),o.await.pipe(g(y(IR())))),u=(e,t)=>c.pipe(g(l(n=>r(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t),signal:n}),dR,`Extension command`)));return Object.freeze({createSession:e=>c.pipe(C(()=>{let t=Jy({requestId:e});return l(e=>r(`${n}/sessions`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({requestId:t}),signal:e}),ER,`Session creation`)})),deleteSession:e=>c.pipe(C(()=>{let t=Ky(e);return l(e=>r(`${n}/sessions/${encodeURIComponent(t)}`,{method:`DELETE`,signal:e}),TR,`Session deletion`)})),listSessions:e=>c.pipe(C(()=>{let t=new URLSearchParams;e!==void 0&&t.set(`after`,qy(e));let i=t.size===0?``:`?${t.toString()}`;return l(e=>r(`${n}/sessions${i}`,{signal:e}),SR,`Session discovery`)})),extensions:Object.freeze({list:c.pipe(g(l(e=>r(`${n}/extensions`,{signal:e}),uR,`Extension list`))),resume:e=>c.pipe(g(l(t=>r(`${n}/extensions/${encodeURIComponent(e)}/resume`,{method:`POST`,signal:t}),lR,`Extension resume`))),call:(e,t,r)=>u(`${n}/extensions/${encodeURIComponent(e)}/commands/${encodeURIComponent(t)}`,r)}),session:e=>{let s=Ky(e),d=UR(n,s),f=`${d}/events`;function p(e){return c.pipe(g(l(t=>r(`${d}/command`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({command:e}),signal:t}),e.type===`prompt`||e.type===`compact`?fR:e.type===`cancel`?pR:e.type===`fork`?hR:()=>void 0,`Command`)))}return Object.freeze({command:p,withdraw:e=>c.pipe(g(l(t=>r(`${d}/withdraw`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({requestId:e}),signal:t}),ZL,`Request withdrawal`))),abort:p({type:`abort`}),send:(e,t)=>S(()=>t?.requestId??Zh()).pipe(C(n=>{let r={type:`prompt`,delivery:t?.delivery??`steer`,requestId:n,text:e};return p(t?.images===void 0?r:{...r,images:t.images}).pipe(at(e=>e.requestId===n?e:new W(e.boundary,e.cause,e.message,n)))})),cancel:e=>p({type:`cancel`,...e}),latestPending:c.pipe(g(l(e=>r(`${d}/pending/latest`,{signal:e}),mR,`Newest pending prompt`))),modelPreference:Object.freeze({read:c.pipe(g(l(e=>r(`${d}/model-preference`,{signal:e}),oy,`Model preference read`))),set:e=>c.pipe(g(l(t=>r(`${d}/model-preference`,{signal:t,method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)}),()=>void 0,`Model preference set`)))}),extension:e=>Object.freeze({call:(t,n)=>u(`${d}/extensions/${encodeURIComponent(e)}/commands/${encodeURIComponent(t)}`,n)}),read:e=>c.pipe(g(ai({try:()=>Yy(e),catch:e=>e instanceof W?e:FR(`Read options are invalid`)})),C(({limit:e,before:t,includeSandboxFailures:n})=>{let i=new URLSearchParams({limit:String(e)});return t!==void 0&&i.set(`before`,t),n===!0&&i.set(`includeSandboxFailures`,`true`),l(e=>r(`${d}?${i.toString()}`,{signal:e}),vR,`Session read`)})),readSettlement:(e,t=0)=>c.pipe(g(l(n=>r(`${d}/settlement?${new URLSearchParams({commandId:e,timeoutMs:String(t)}).toString()}`,{signal:n}),_R,`Command settlement`))),subscribe:e=>jv(c.pipe(g(ai({try:()=>Xy(e),catch:e=>e instanceof W?e:FR(`Subscribe options are invalid`)})),Se(({after:e,includeSandboxFailures:n})=>GR(WR(f,e,n===!0),o,a,t.eventSource)))),watch:e=>KR(e?.includeSandboxFailures===!0?`${f}?includeSandboxFailures=true`:f,i,c,o,a,t.eventSource)})},close:Cn(()=>s?ft:(s=!0,o.open.pipe(g(Yr([...i],e=>Sa(e,ea),{discard:!0})),g(Yr([...a],e=>VR(e,a),{discard:!0})))))})}function YR(e){return MR(JR(e),e.baseUrl.replace(/\/+$/u,``))}T(uO);function XR(e,t){if(t===void 0)return{status:`unavailable`};if(t.status===`stopped`)return{status:`stopped`,reason:t.reason};if(t.value===null||e.projection===null)return{status:`running`,value:null};let n=T(e.projection.schema)(t.value);return n._tag===`Success`?{status:`running`,value:n.success}:{status:`stopped`,reason:`Extension projection does not match this client`}}function ZR(e,t){let n=e?.messageId===t.messageId?e:null;if(n!==null&&n.revision>=t.revision)return e;let r=n===null?0:n.textOffset+n.text.length,i=n===null?0:n.thinkingOffset+n.thinking.length;return t.text.offset>r||t.thinking.offset>i?e:{messageId:t.messageId,revision:t.revision,text:(n?.text??``)+t.text.append.slice(Math.max(0,r-t.text.offset)),thinking:(n?.thinking??``)+t.thinking.append.slice(Math.max(0,i-t.thinking.offset)),textOffset:n?.textOffset??0,thinkingOffset:n?.thinkingOffset??0,textTruncated:n?.textTruncated??!1,thinkingTruncated:n?.thinkingTruncated??!1}}var QR=j.pipe(R(ah(1)),R(H(128)),R(wm(/^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$/u))),$R=j.pipe(R(ah(1)),R(H(64)),R(wm(/^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/u))),ez=QR.pipe(dm(`ExtensionId`)),tz=j.pipe(R(wm(/^sha256:[0-9a-f]{64}$/u)),dm(`ExtensionRevision`)),nz=j.pipe(R(wm(/^sha256:[0-9a-f]{64}$/u)),dm(`ExtensionFingerprint`)),rz=class extends Ni(`ExtensionHookError`){};function iz(e){return Cn(()=>{let t=e();return He(t)?t:Jr({try:()=>Promise.resolve(t),catch:e=>new rz({cause:e})})})}var az=class extends Error{constructor(){super(`Extension transaction handler must return synchronously`),this.name=`AsyncExtensionTransactionError`}};function oz(e,t){let r=e(t);if(r instanceof Promise||He(r)&&!n(r))throw new az;return r}export{aI as $,ea as $a,lh as $i,oE as $n,$p as $r,GA as $t,_L as A,Hu as Aa,ch as Ai,UO as An,Zh as Ar,Gj as At,QI as B,ya as Ba,Xm as Bi,vO as Bn,Vh as Br,bj as Bt,lL as C,vc as Ca,U as Ci,Ek as Cn,a_ as Cr,OF as Ct,HI as D,hc as Da,ih as Di,QO as Dn,Mg as Dr,yM as Dt,OL as E,xc as Ea,Um as Ei,$O as En,Fg as Er,TM as Et,vL as F,Ps as Fa,Bm as Fi,SO as Fn,Qp as Fr,Lj as Ft,zI as G,la as Ga,Zm as Gi,KE as Gn,am as Gr,Mj as Gt,yL as H,ba as Ha,Gm as Hi,uO as Hn,I as Hr,Cj as Ht,nL as I,Fs as Ia,eh as Ii,CO as In,Sh as Ir,Ij as It,FI as J,ia as Ja,Qm as Ji,uE as Jn,L as Jr,uj as Jt,II as K,ca as Ka,Hm as Ki,yD as Kn,bh as Kr,Rj as Kt,iL as L,Ls as La,Ym as Li,OO as Ln,Mm as Lr,vj as Lt,uL as M,Uu as Ma,gh as Mi,WO as Mn,Kh as Mr,Nj as Mt,dL as N,yu as Na,Am as Ni,GO as Nn,P as Nr,Fj as Nt,KI as O,pc as Oa,dh as Oi,ZO as On,jg as Or,vM as Ot,oL as P,ic as Pa,Nm as Pi,HO as Pn,em as Pr,Pj as Pt,TI as Q,Xi as Qa,hh as Qi,aE as Qn,N as Qr,rj as Qt,rL as R,Oo as Ra,B as Ri,DO as Rn,V as Rr,yj as Rt,cL as S,Ju as Sa,Bp as Si,Ok as Sn,l_ as Sr,bP as St,eL as T,gc as Ta,Mp as Ti,Dk as Tn,o_ as Tr,RF as Tt,YI as U,ha as Ua,Vm as Ui,lO as Un,Km as Ur,Aj as Ut,gL as V,Sa as Va,jm as Vi,gO as Vn,A as Vr,xj as Vt,JI as W,_a as Wa,nh as Wi,eO as Wn,Jp as Wr,jj as Wt,CI as X,ta as Xa,H as Xi,mE as Xn,nm as Xr,ij as Xt,SI as Y,na as Ya,uh as Yi,hE as Yn,M as Yr,ZA as Yt,jI as Z,ra as Za,vh as Zi,dE as Zn,j as Zr,YA as Zt,BI as _,vm as _a,E as _i,EA as _n,Sv as _r,LF as _t,nz as a,km as aa,F as ai,QA as an,Ki as ao,Yy as ar,pF as at,qI as b,bc as ba,mm as bi,Mk as bn,Yv as br,pP as bt,$R as c,k as ca,R as ci,cj as cn,Ky as cr,kN as ct,YR as d,lm as da,Ip as di,tj as dn,Zy as dr,qN as dt,ah as ea,Eh as ei,XA as en,zi as eo,eE as er,WM as et,DR as f,ym as fa,Lp as fi,nj as fn,W as fr,jN as ft,XI as g,Ap as ga,T as gi,OA as gn,ty as gr,lF as gt,fR as h,Lh as ha,Fp as hi,TA as hn,Qv as hr,HN as ht,ez as i,wm as ia,cm as ii,qA as in,Bi as io,Hy as ir,DF as it,aL as j,Wu as ja,yh as ji,VO as jn,Gh as jr,qj as jt,kL as k,Sc as ka,$m as ki,XO as kn,mg as kr,SM as kt,ZR as l,O as la,Cp as li,JA as ln,by as lr,xN as lt,NR as m,Rh as ma,Pp as mi,kA as mn,$v as mr,GN as mt,iz as n,mh as na,Oh as ni,sj as nn,Gi as no,nT as nr,EF as nt,QR as o,Em as oa,Yp as oi,ej as on,Hi as oo,Uy as or,hF as ot,OR as p,zh as pa,Np as pi,tA as pn,ay as pr,vP as pt,LI as q,fa as qa,rh as qi,HE as qn,Xp as qr,pj as qt,oz as r,Wm as ra,Zp as ri,KA as rn,Wi as ro,uT as rr,MN as rt,tz as s,z as sa,dm as si,aj as sn,Ni as so,Jy as sr,LN as st,az as t,_h as ta,im as ti,lj as tn,Ri as to,rT as tr,dP as tt,XR as u,um as ua,Sp as ui,$A as un,Xy as ur,KN as ut,VI as v,xd as va,Vp as vi,Wk as vn,Kv as vr,VP as vt,$I as w,fc as wa,bm as wi,bk as wn,s_ as wr,fF as wt,sL as x,_c as xa,zp as xi,Sk as xn,jv as xr,yP as xt,ZI as y,wc as ya,Up as yi,Nk as yn,Av as yr,_P as yt,EL as z,ma as za,th as zi,EO as zn,Bh as zr,Sj as zt};
817
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,t,r,a,s,i.kind,vN(i),n.state,_N(i),i.workId,NA(i),n.timestamp,n.completedAt),a=t,o=t,s+=1,l=n.sequence}if(!t.more)break}if(o===null)throw $(`Fork path is empty`);e.sql.exec(`UPDATE sessions SET leaf_id = ?, updated_at = ? WHERE id = ?`,o,i,r);let u=HP(e,{sessionId:t.sessionId});for(let t of hj(e,(t,n)=>ZP(e,u,t,n)))SP(e,{sessionId:r,id:wM.fact.generate(),entry:t});return _M(e,{sessionId:r,activityAt:i,title:hN(e,r)}),r})}function RF(e,t,n,r){if(wN(e,t)===void 0)throw $(`Session document owner is unavailable`);return ZP(e,HP(e,{sessionId:t}),n,r)}function zF(e,t,n,r,i){if(wN(e,t)===void 0)throw $(`Session document owner is unavailable`);SP(e,{sessionId:t,id:wM.fact.generate(),entry:{kind:`document`,workId:null,extensionId:n,name:r,valueJson:i}})}var BF=2097152,VF=200,HF=200,UF=new TextEncoder;function WF(e){return new W(`store`,`unavailable`,e)}function GF(e,t,n){let r=new Map;for(let e of n)e.entry.kind===`command`&&r.set(e.entry.workId,e.entry.workId);let i=n.flatMap(({entry:e})=>(e.kind===`run_terminal`||e.kind===`work_terminal`)&&!r.has(e.workId)?[e.workId]:[]);for(let n of i)VN(e,t,n)!==void 0&&r.set(n,n);return r}function KF(e,t){return n=>{let r=VN(e,t,n)?.origin;return r?.kind===`extension`?{extensionId:r.extensionId,correlation:r.correlation}:void 0}}function qF(e,t,n){return{commandIds:GF(e,t,n),diagnostics:XF(n),cancellations:new Map(n.flatMap(({entry:e})=>e.kind===`cancellation`&&e.meta!==void 0?[[e.targetWorkId,e.meta]]:[])),origin:KF(e,t)}}function JF(e,t,n,r){let i=$P(e,n,new Set(r.flatMap(({entry:e})=>e.kind===`message`||e.kind===`run_terminal`||e.kind===`work_terminal`?[e.workId]:[]))),a=new Map;for(let e of i.commands)a.set(e,e);for(let{entry:n}of r)(n.kind===`run_terminal`||n.kind===`work_terminal`)&&!a.has(n.workId)&&VN(e,t,n.workId)!==void 0&&a.set(n.workId,n.workId);return{commandIds:a,diagnostics:i.diagnostics,cancellations:i.cancellations,origin:KF(e,t)}}function YF(e,t){let n=DA(e.entry);if(n!==void 0){let r=t.origin(n.workId),i={id:e.id,sequence:e.sequence,commandId:n.workId,requestId:n.requestId,value:n.message};return n.meta!==void 0&&(i={...i,meta:n.meta}),r!==void 0&&(i={...i,origin:r}),Object.freeze(i)}if(e.entry.kind===`operator`){let t={id:e.id,sequence:e.sequence,commandId:null,requestId:e.entry.requestId,value:jA(e.entry)};return e.entry.meta!==void 0&&(t={...t,meta:e.entry.meta}),Object.freeze(t)}if(e.entry.kind===`message`){let n={id:e.entry.message.value,sequence:e.sequence,commandId:t.commandIds.get(e.entry.workId)??null,value:e.entry.value};return Object.freeze(e.entry.data===void 0?n:{...n,data:e.entry.data})}}function XF(e){let t=new Map;for(let{entry:n}of e)(n.kind===`work_terminal`||n.kind===`run_terminal`)&&n.diagnostic!==void 0&&t.set(n.workId,n.diagnostic);return t}function ZF(e,{commandIds:t,diagnostics:n,cancellations:r}){if(e.entry.kind!==`run_terminal`&&e.entry.kind!==`work_terminal`)return;let i=t.get(e.entry.workId);if(i===void 0)return;let a={commandId:i,outcome:e.entry.outcome,sequence:e.sequence,diagnostic:n.get(e.entry.workId)??null},o=e.entry.outcome===`cancelled`?r.get(e.entry.workId):void 0;return Object.freeze(o===void 0?a:{...a,meta:o})}function QF(e,t,n){let r=[];for(let i of n){let a=i.entry;if(a.kind!==`compaction`)continue;let o=n.find(e=>e.id===a.head)?.sequence??JP(e,t,a.head);if(o===void 0)throw WF(`Session compaction horizon is unavailable`);r.push(Object.freeze({id:i.id,sequence:o,at:i.timestamp,tokensBefore:a.data.tokensBefore,tokensAfter:a.data.tokensAfter??null,trigger:a.data.reason??null}))}return Object.freeze(r)}function $F(e){return Object.freeze(e.flatMap(({id:e,sequence:t,timestamp:n,entry:r})=>r.kind===`compaction_notice`?[Object.freeze({id:e,sequence:t,at:n,trigger:r.trigger,result:r.result,diagnostic:r.result===`stale`||r.result===`insufficient`?null:r.diagnostic??null})]:[]))}function eI(e){return UF.encode(JSON.stringify(e)).byteLength}function tI(e,t){let n=Hk({generation:e,sequence:t});if(n===void 0)throw WF(`Session cursor is unavailable`);return n}function nI(e,t,n,r,i=!1){let a=YF(t,r),o=ZF(t,r),s=i&&t.entry.kind===`sandbox_failure`?t.entry.event:void 0;if(a!==void 0&&e.messages.length===n)return!1;let c=(a===void 0?0:eI(a))+(o===void 0?0:eI(o))+(s===void 0?0:eI(s));if(c>BF)throw WF(`Session projection entry exceeds the read bound`);return e.bytes+c>BF?!1:(a!==void 0&&e.messages.push(a),o!==void 0&&e.terminals.push(o),s!==void 0&&e.sandboxFailures.push(s),e.bytes+=c,!0)}function rI(e,t,n,r,i,a=!1){let o={messages:[],terminals:[],sandboxFailures:[],bytes:0},s=0;for(let t=0;t<e.length&&s!==HF;t+=1){let c=e[i===`forward`?t:e.length-1-t];if(c===void 0||!nI(o,c,n,r,a))break;s+=1}if(s===0&&e.length>0)throw WF(`Session page cannot make bounded progress`);let c=i===`backward`?[...o.messages].reverse():o.messages,l=i===`backward`?[...o.terminals].reverse():o.terminals,u=i===`backward`?[...o.sandboxFailures].reverse():o.sandboxFailures;return Object.freeze({messages:Object.freeze(c),terminals:Object.freeze(l),sandboxFailures:Object.freeze(u),consumed:s,hasMore:t||s<e.length})}function iI(e){return Array.isArray(e)}function aI(e,t){let{commands:n,total:r}=IN(e,t,HF+1,`prompts`),i=[],a=UF.encode(JSON.stringify({prompts:[],hasMore:!1,total:r})).byteLength;for(let e of n){let t=sI(e),n=UF.encode(JSON.stringify(t)).byteLength+(i.length===0?0:1);if(i.length===HF||a+n>BF)return{prompts:i,hasMore:!0,total:r};i.push(t),a+=n}return{prompts:i,hasMore:!1,total:r}}function oI(e,t,n){let r=PN(e,t,n);return r===void 0?null:sI(r)}function sI(e){let t=DA(e.entry);if(t===void 0)throw WF(`Pending Session prompt is unavailable`);let n=t.message.content,r=iI(n)?{commandId:e.entry.workId,requestId:t.requestId,text:n.filter(e=>e.type===`text`).map(e=>e.text).join(``),images:n.filter(e=>e.type===`image`),delivery:t.delivery??`followUp`}:{commandId:e.entry.workId,requestId:t.requestId,text:n,delivery:t.delivery??`followUp`},i=e.entry.meta===void 0?r:{...r,meta:e.entry.meta};return e.origin.kind===`extension`?{...i,origin:{extensionId:e.origin.extensionId,correlation:e.origin.correlation}}:i}function cI(e,t,n){let r=Uk(n);if(r?.generation===t.rootId)return qP(e,t,r.sequence)?r.sequence:void 0}function lI(e,t,n,r,i=()=>({})){return jP(e,t,()=>{let a=aI(e,t),o=HP(e,{sessionId:t});if(o===void 0)return Object.freeze({sessionId:t,cursor:null,hasMore:!1,oldestCursor:null,messages:Object.freeze([]),terminals:Object.freeze([]),compactions:Object.freeze([]),compactionNotices:Object.freeze([]),pending:a,activity:r.facts,progress:r.readProgress(),toolOutput:r.toolOutput,extensions:i(),attention:VO(e,t)});let s=o.rootId,c=n.before===void 0?2**53-1:cI(e,o,n.before);if(c===void 0)throw WF(`Session read cursor is unavailable`);let l=KP(e,o,{before:c,from:`newest`,rows:HF}),u=rI(l.rows,l.more,n.limit,JF(e,t,o,l.rows),`backward`,n.includeSandboxFailures===!0),d=l.rows.slice(l.rows.length-u.consumed),f=l.rows.at(-1),p=d[0],m={sessionId:t,cursor:f===void 0?null:tI(s,f.sequence),hasMore:u.hasMore,oldestCursor:u.hasMore&&p!==void 0?tI(s,p.sequence):null,messages:u.messages,terminals:u.terminals,compactions:QF(e,o,d),compactionNotices:$F(d),pending:a,activity:r.facts,progress:n.before===void 0?r.readProgress():null,toolOutput:n.before===void 0?r.toolOutput:[],extensions:i(),attention:VO(e,t)};return Object.freeze(n.includeSandboxFailures===!0?{...m,sandboxFailures:u.sandboxFailures}:m)})}var uI=Object.freeze({kind:`reset`});function dI(e,t,n){if(n===void 0)return 0;if(n.generation===t.rootId)return qP(e,t,n.sequence)?n.sequence:void 0}function fI(e,t,n,r,i,a,o,s,c){let l=KP(e,t,{after:n,from:`oldest`,rows:HF}),u=rI(l.rows,l.more,VF,JF(e,t.sessionId,t,l.rows),`forward`,c),d=l.rows.slice(0,u.consumed),f=d.at(-1)?.sequence??t.newestSequence,p={kind:`update`,delivery:r,cursor:tI(t.rootId,f),messages:u.messages,terminals:u.terminals,compactions:QF(e,t,d),compactionNotices:$F(d),pending:s,activity:i.facts,extensions:a,attention:o},m=[Object.freeze(c?{...p,sandboxFailures:u.sandboxFailures}:p)];return Object.freeze({kind:`page`,frames:Object.freeze(u.hasMore?m:[...m,{kind:`tool_output`,toolOutput:i.toolOutput,activity:i.facts}]),hasMore:u.hasMore})}function pI(e,t,n,r,i,a=()=>({}),o=!1){let s=n===void 0?void 0:Uk(n);return n!==void 0&&s===void 0?uI:jP(e,t,()=>{let c=aI(e,t),l=HP(e,{sessionId:t});if(l===void 0)return n===void 0?{kind:`page`,frames:[{kind:`update`,delivery:r,cursor:null,messages:[],terminals:[],compactions:[],compactionNotices:[],activity:i.facts,extensions:a(),attention:VO(e,t),pending:c}],hasMore:!1}:uI;let u=dI(e,l,s);return u===void 0?uI:fI(e,l,u,r,i,a(),VO(e,t),c,o)})}function mI(e,t,n){let r=VN(e,t,n);if(r===void 0)throw WF(`Accepted Session command is unavailable`);if(!WN(e,t,r.entry.workId))return;let i=GN(e,t,r.entry.workId),a=qF(e,t,i),o=i.flatMap(e=>{let t=ZF(e,a);return t===void 0?[]:[t]}).at(-1);if(o===void 0)return;let s=i.flatMap(({entry:e})=>e.kind===`message`&&e.value.role===`assistant`?[e.value]:[]),c=s.at(-1),l=o.outcome===`cancelled`?o.meta:r.entry.meta,u=Kh(r.entry.meta);return{acceptedSender:u?.kind===`agent`?u.id:null,delegator:Pk(e,t)?.replyTo[0]?.agentId??null,terminal:l===void 0?o:{...o,meta:l},content:o.outcome===`cancelled`?``:c?.content.flatMap(e=>e.type===`text`?[e.text]:[]).join(``).trim()??``,usage:s.map(({provider:e,model:t,usage:n})=>({provider:e,model:t,usage:n})),toolCalls:new Set(i.flatMap(({entry:e})=>e.kind===`tool_intent`?[e.call.id]:[])).size,waitingOnYou:$O(e,t,r.entry.workId)}}var hI=65536,gI=2048,_I=new TextEncoder,vI=()=>({chunks:[],length:0,bytes:0});function yI(e,t){for(let n=0;n<t.length;){let r=Math.min(n+gI,t.length),i=t.charCodeAt(r-1);r<t.length&&i>=55296&&i<=56319&&r--;let a=t.slice(n,r),o=_I.encode(a).byteLength,s=e.chunks.at(-1);for(s!==void 0&&s.text.length+a.length<=gI?(s.text+=a,s.bytes+=o):e.chunks.push({offset:e.length,text:a,bytes:o}),e.length+=a.length,e.bytes+=o,n=r;e.bytes>hI&&e.chunks.length>1;){let t=e.chunks.shift();t!==void 0&&(e.bytes-=t.bytes)}}}function bI(e){return e.chunks[0]?.offset??0}function xI(e,t){return e.chunks.flatMap(e=>e.offset+e.text.length<=t?[]:[e.text.slice(Math.max(0,t-e.offset))]).join(``)}function SI(e){return e===null?null:{messageId:e.messageId,revision:e.revision,text:xI(e.text,bI(e.text)),thinking:xI(e.thinking,bI(e.thinking)),textOffset:bI(e.text),thinkingOffset:bI(e.thinking),textTruncated:bI(e.text)>0,thinkingTruncated:bI(e.thinking)>0}}function CI(e){return e===null?null:{messageId:e.messageId,revision:e.revision,text:e.textOffset+e.text.length,thinking:e.thinkingOffset+e.thinking.length}}function wI(e,t,n,r){let i=TI.get(e)?.get(t),a=i?.workId===n?i.value:null;if(a===null)return null;let o=r?.messageId===a.messageId?r:null;if(o!==null&&o.revision>=a.revision)return null;let s=o?.text??0,c=o?.thinking??0;if(!(s<bI(a.text)||c<bI(a.thinking)))return{messageId:a.messageId,revision:a.revision,text:{offset:s,append:xI(a.text,s)},thinking:{offset:c,append:xI(a.thinking,c)}}}var TI=new WeakMap;function EI(e,t,n){let r=TI.get(e)?.get(t);return r?.workId===n?[...r.slots.values()].filter(e=>e!==null):[]}var DI=T(N({droppedBytes:V.check(B(0)),totalBytes:V.check(B(0))}),{onExcessProperty:`error`});function OI(e,t){return b(function*(){let n=yield*AI(e,t),r=()=>{DO(e,t.sessionId,`progress`)};return{started:e=>S(()=>{n.slots.size<4&&!n.slots.has(e.toolCall.value)&&n.slots.set(e.toolCall.value,null)}),update:e=>S(()=>{let t=n.slots.get(e.toolCall.value);if(t===void 0)return;let i=DI(e.result.data);if(Ct(i))return;let a=e.result.content.filter(e=>e.type===`text`).map(e=>e.text).join(``);new TextEncoder().encode(a).byteLength>8192||a.split(`
818
+ `).length>200||i.success.droppedBytes>i.success.totalBytes||(n.slots.set(e.toolCall.value,{toolCallId:e.call.id,revision:(t?.revision??0)+1,tail:a,...i.success}),r())}),terminal:e=>S(()=>{n.slots.delete(e.toolCall.value)&&r()})}})}function kI(e){let t=TI.get(e);if(t!==void 0)return t;let n=new Map;return TI.set(e,n),n}function AI(e,t){return b(function*(){let n=kI(e),r=n.get(t.sessionId);if(r?.workId===t.commandId)return r;let i={workId:t.commandId,value:null,slots:new Map};return n.set(t.sessionId,i),yield*Sr(()=>S(()=>{n.get(t.sessionId)===i&&(n.delete(t.sessionId),(i.value!==null||i.slots.size>0)&&DO(e,t.sessionId,`progress`))})),i})}function jI(e){return new W(`runtime`,`rejected`,e)}function MI(e,t,n){let r=kI(e).get(t);return SI(r?.workId===n?r.value:null)}function NI(e,t,n){let r=TI.get(e)?.get(t);return r?.workId===n&&(r.value?.text.length??0)>0}function PI(e,t,n){return b(function*(){let r=yield*AI(e,t),i,a=0,o,s=()=>{o!==void 0&&clearTimeout(o),o=void 0},c=()=>{s();let n=r.value;n!==null&&(a=n.text.length+n.thinking.length,DO(e,t.sessionId,`progress`))},l=S(()=>{s();let n=r.value!==null;r.value=null,n&&DO(e,t.sessionId,`progress`),i=void 0});return yield*Sr(()=>l),Object.freeze({started:e=>S(()=>{s(),i=e,r.value=null,a=0}),update:e=>Cn(()=>{let t=i;if(t===void 0)return y(jI(`Mule progress arrived before its message start`));if(t.run.value!==e.run.value||t.turn.value!==e.turn.value||t.message.value!==e.message.value)return y(jI(`Mule progress identity conflicts`));let n=e.event;if(n.type!==`text_delta`&&n.type!==`thinking_delta`||n.delta.length===0)return ft;let s=r.value===null,l=r.value??{messageId:e.message.value,revision:0,text:vI(),thinking:vI()};yI(n.type===`text_delta`?l.text:l.thinking,n.delta),l.revision++,r.value=l;let u=l.text.length+l.thinking.length;return s||u-a>=4096?c():o??=setTimeout(c,100),ft}),terminal:e=>l.pipe(g(n(e)))})})}var FI=new WeakMap;function II(e){let t=FI.get(e);if(t!==void 0)return t;let n=new Map;return FI.set(e,n),n}function LI(e,t){return II(e).get(t)??null}function RI(e,t,n){II(e).set(t,Object.freeze({trigger:n})),DO(e,t,`progress`)}function zI(e,t){II(e).delete(t)&&DO(e,t,`progress`)}var BI=Object.freeze({admitNew:()=>{}});function VI(e){return e===void 0?BI:Object.freeze({admitNew:()=>{if(e.underPressure())throw new W(`store`,`storage_pressure`,`Storage is near its budget. New Sessions and prompts are refused until space is freed; running work continues.`)}})}function HI(e,t){let n=_F(e,t);return DO(e,t.sessionId),n}function UI(e,t){let n=vF(e,t);return DO(e,t.sessionId),n}function WI(e,t){let n=yF(e,t);return n!==`stale`&&DO(e,t.sessionId),n}function GI(e){return new W(`store`,`rejected`,e)}function KI(e){return new W(`store`,`conflict`,e)}function qI(e){return ai({try:e,catch:e=>e instanceof W?e:new W(`store`,`rejected`,`Native Session store operation failed`,void 0,e)})}function JI(e){return qI(()=>{_P(e)})}function YI(e,t,n,r,i,a,o){return qI(()=>{let s=NF(e,t,n,i,a,r,o);return s?.delivery===`new`&&DO(e,t,`settlement`),s})}function XI(e,t){return qI(()=>{let n=zN(e,t.sessionId,t.delivery,t.workId);return n.length>0&&DO(e,t.sessionId),n})}function ZI(e,t){return qI(()=>{BN(e,t),DO(e,t.sessionId,`settlement`)})}function QI(e,t,n,r,i){return qI(()=>{let a=MF(e,t,n,r,i);return DO(e,t,`settlement`),a?.accepted})}function $I(e,t){return qI(()=>{FF(e,{sessionId:t.sessionId,entryId:t.entryId,assertIdleSession:t.assertIdleSession}),DO(e,t.sessionId)})}function eL(e,t){return qI(()=>{IF(e,t)&&DO(e,t.sessionId)})}function tL(e,t){return qI(()=>{let n=LF(e,{sessionId:t.sessionId,entryId:t.entryId,assertIdleSession:t.assertIdleSession});return DO(e,n),Object.freeze({sessionId:n})})}function nL(e,t){return qI(()=>{let n=hF(e,{sessionId:Ky(t.sessionId),commandFactId:t.commandFactId});return n.entryDelivery===`new`&&DO(e,t.sessionId),n})}function rL(e){return e.content.flatMap(e=>e.type===`text`?[e.text]:[]).join(``).trim()}function iL(e,t){return qI(()=>{let n=VN(e,t.sessionId,t.commandFactId);if(n===void 0)throw GI(`Accepted Session command is unavailable`);let r=GN(e,t.sessionId,n.entry.workId);for(let e=r.length-1;e>=0;--e){let t=r[e]?.entry;if(t?.kind===`message`&&t.value.role===`assistant`)return rL(t.value)}return``})}function aL(e,t,n){return qI(()=>{let r=VN(e,t.sessionId,t.commandFactId);if(r===void 0)throw GI(`Accepted Session command is unavailable`);if(n!==`cancelled`)return r.entry.meta;let i=GN(e,t.sessionId,r.entry.workId).find(({entry:e})=>e.kind===`cancellation`);return i?.entry.kind===`cancellation`?i.entry.meta:void 0})}function oL(e,t){return qI(()=>{let n=VN(e,t.sessionId,t.commandFactId);if(n===void 0)throw GI(`Accepted Session command is unavailable`);return XF(GN(e,t.sessionId,n.entry.workId)).get(n.entry.workId)})}function sL(e,t,n,r,i,a){return qI(()=>{let o=Ky(t),s=Yy(r);return AP(e,o,()=>a(lI(e,o,s,n(),i)),s.before===void 0?void 0:Uk(s.before)?.sequence)})}function cL(e,t,n){return qI(()=>QN(e,Jy({requestId:t}),n))}function lL(e,t,n){return $N(e,Jy({requestId:t}),n)}function uL(e,t){return qI(()=>eP(e,{sessionId:Ky(t.sessionId),assertIdleSession:t.assertIdleSession,recordInboxDeletion:t=>{vM(e,t)}}))}function dL(e,t){return qI(()=>CM(e,t))}function fL(e,t,n,r,i,a,o,s){return qI(()=>{let c=Ky(t);return AP(e,c,()=>s(pI(e,c,n,r,i,a,o)))})}function pL(e,t){return NA(e)===NA(t)}function mL(e,t){return e.kind===t.kind&&e.value===t.value&&e.parent?.kind===t.parent?.kind&&e.parent?.value===t.parent?.value}function hL(e,t){return e.core===t.core&&e.extensions.length===t.extensions.length&&e.extensions.every(([e,n],r)=>{let i=t.extensions[r];return i?.[0]===e&&i[1]===n})}function gL(e,t,n,r,i){e.transactionSync(()=>{i?.();let a=GN(e,t.sessionId,t.commandId).find(r);if(a!==void 0){if(n.kind===`work_terminal`&&a.entry.kind===`run_terminal`||pL(a.entry,n))return`replay`;throw KI(`Mule event identity conflicts`)}for(let r=0;r<3;r+=1){let r=wM.fact.generate();if(DN(e,r)===void 0&&VN(e,t.sessionId,r)===void 0)return SP(e,{sessionId:t.sessionId,id:r,entry:n}),`new`}throw GI(`Session fact identity allocation failed`)})===`new`&&DO(e,t.sessionId,n.kind===`run_terminal`||n.kind===`work_terminal`?`settlement`:`durable`)}function _L(e,t,n){return qI(()=>{gL(e,t,{kind:`sandbox_failure`,workId:t.commandId,event:n},({entry:e})=>e.kind===`sandbox_failure`&&e.event.ref===n.ref)})}function vL(e,t,n,r){let i=VN(e,t,n);if(i?.entry.workId!==r)throw GI(`Accepted Session work is unavailable`);return i.origin.kind===`extension`?Object.freeze({extensionId:i.origin.extensionId,correlation:i.origin.correlation}):null}function yL(e,t,n,r){let i=vL(e,t,n,r),a=GN(e,t,r).map(({entry:e})=>e),o=new Set(a.flatMap(e=>e.kind===`tool_intent`?[e.call.id]:[])).size,s=a.filter(e=>e.kind===`run_terminal`||e.kind===`work_terminal`).at(-1);return Object.freeze({terminal:s?.kind===`run_terminal`||s?.kind===`work_terminal`?s.outcome:`missing`,origin:i,toolCalls:o})}function bL(e,t){return qI(()=>{if(VN(e,t.sessionId,t.commandFactId)?.entry.workId!==t.workId)throw GI(`Settled Session work is unavailable`);let n={workId:t.workId,kind:`work_terminal`,outcome:t.outcome};gL(e,{sessionId:t.sessionId,commandId:t.workId},t.diagnostic===void 0?n:{...n,diagnostic:t.diagnostic},({entry:e})=>e.kind===`work_terminal`||e.kind===`run_terminal`&&e.outcome===t.outcome,()=>{e.sql.exec(`DELETE FROM session_entries WHERE session_id = ? AND work_id = ? AND state = 'streaming' AND type = 'message_start'`,t.sessionId,t.workId)})})}function xL(e,t,n,r,i){return qI(()=>{let a=r.type===`run_start`?{kind:`run_started`,workId:t.commandId,run:r.run,contract:n}:r.type===`turn_start`?{kind:`turn_started`,workId:t.commandId,run:r.run,turn:r.turn}:{kind:`run_terminal`,workId:t.commandId,run:r.run,terminal:r.terminal,outcome:r.outcome};a.kind===`run_terminal`&&i!==void 0&&(a={...a,diagnostic:i}),gL(e,t,a,({entry:e})=>e.kind===a.kind?e.kind===`run_started`&&a.kind===`run_started`?mL(e.run,a.run)&&hL(e.contract,n):e.kind===`turn_started`&&a.kind===`turn_started`?mL(e.turn,a.turn):e.kind===`run_terminal`&&a.kind===`run_terminal`&&mL(e.terminal,a.terminal):!1)})}function SL(e,t,n){return qI(()=>{let r={kind:`message_start`,workId:t.commandId,run:n.run,turn:n.turn,message:n.message,role:n.value.role};e.transactionSync(()=>{let i=GN(e,t.sessionId,t.commandId).find(({entry:e})=>(e.kind===`message_start`||e.kind===`message`)&&mL(e.message,n.message));if(i!==void 0){if(i.entry.kind===`message`){if(i.entry.workId!==r.workId||!mL(i.entry.run,r.run)||!mL(i.entry.turn,r.turn)||i.entry.value.role!==r.role)throw KI(`Mule message-start identity conflicts`);return`replay`}if(!pL(i.entry,r))throw KI(`Mule message-start identity conflicts`);return`replay`}return SP(e,{sessionId:t.sessionId,id:n.message.value,entry:r,state:`streaming`}),`new`})===`new`&&DO(e,t.sessionId)})}function CL(e,t,n,r){return qI(()=>{gL(e,t,{kind:`model_prompt`,workId:t.commandId,run:r.run,turn:r.turn,attempt:r.attempt,contract:n,systemPrompt:r.systemPrompt},({entry:e})=>e.kind===`model_prompt`&&mL(e.turn,r.turn)&&e.attempt===r.attempt&&hL(e.contract,n))})}function wL(e,t,n){return qI(()=>{let r={kind:`message`,workId:t.commandId,run:n.run,turn:n.turn,message:n.message,value:n.value},i=n.data===void 0?r:{...r,data:n.data};e.transactionSync(()=>{let r=GN(e,t.sessionId,t.commandId).find(({entry:e})=>(e.kind===`message_start`||e.kind===`message`)&&mL(e.message,n.message));if(r?.entry.kind===`message`){if(!pL(r.entry,i))throw KI(`Mule completed-message identity conflicts`);return`replay`}return CP(e,{sessionId:t.sessionId,id:n.message.value,entry:i}),`new`})===`new`&&DO(e,t.sessionId)})}function TL(e,t,n,r){return qI(()=>{gL(e,t,{kind:`tool_intent`,replay:r.replay,contract:n,workId:t.commandId,run:r.run,turn:r.turn,toolCall:r.toolCall,call:r.call},({entry:e})=>e.kind===`tool_intent`&&mL(e.toolCall,r.toolCall)&&hL(e.contract,n))})}function EL(e,t,n){return qI(()=>{let{data:r,...i}=n.result,a={kind:`tool_outcome`,workId:t.commandId,run:n.run,turn:n.turn,toolCall:n.toolCall,call:n.call,result:i};gL(e,t,r===void 0?a:{...a,data:r},({entry:e})=>e.kind===`tool_outcome`&&mL(e.toolCall,n.toolCall))})}function DL(e,t,n,r){return qI(()=>{let i=GN(e,t.sessionId,t.commandId).find(({entry:e})=>e.kind===`turn_started`&&mL(e.turn,r));if(i===void 0)throw KI(`Retry has no recorded turn`);gL(e,t,{kind:`live_retry`,workId:t.commandId,event:n},({entry:e,sequence:t})=>t>i.sequence&&e.kind===`live_retry`&&e.event.type===n.type&&e.event.attempt===n.attempt&&mL(e.event.run,n.run))}).pipe(at(OL))}var OL=e=>({_tag:`MuleError`,phase:`listener`,message:`Woodstock could not record the Mule event`,cause:e});function kL(e,t,n){return b(function*(){let r=yield*PI(e,t,n=>wL(e,t,n)),i=yield*OI(e,t),a=(a,o)=>{switch(a.type){case`model_prompt`:return CL(e,t,n,a);case`run_start`:case`turn_start`:case`run_end`:return xL(e,t,n,a,o);case`message_start`:return a.value.role===`user`?ft:SL(e,t,a).pipe(g(a.value.role===`assistant`?r.started(a):ft));case`message_update`:return r.update(a);case`message_end`:return a.value.role===`user`?ft:a.value.role===`assistant`?r.terminal(a):wL(e,t,a);case`tool_execution_start`:return TL(e,t,n,a).pipe(g(i.started(a)));case`tool_execution_end`:return EL(e,t,a).pipe(g(i.terminal(a)));case`tool_execution_update`:return i.update(a);case`turn_end`:return ft}};return(e,t)=>a(e,t).pipe(at(OL))})}function AL(e,t,n){return qI(()=>mI(e,Ky(t),Ky(n)))}var jL=WM.mapFields(({extensionId:e,correlation:t})=>({extensionId:e,correlation:t})),ML=N({requestId:O(j),meta:O(pO),data:O(uO),origin:O(jL),id:j,sequence:V.check(Bm(0)),commandId:L(j),value:pA}),NL=I([`manual`,`threshold`,`overflow`]),PL=N({queue:F([N({state:A(`idle`)}),N({state:A(`queued`),commandId:bh,runningWork:L(N({phase:I([`thinking`,`streaming`,`running_tool`,`waiting_on_you`,`cancelling`])}))}),N({state:A(`running`),commandId:bh})]),cancellationRequested:Qp,retry:L(N({attempt:V.check(Bm(0)),maxAttempts:V.check(Bm(0)),delayMs:V.check(B(0)),errorMessage:j,scheduledAt:V.check(B(0))})),activeTool:L(j),lastModelChoiceSequence:L(V.check(Bm(0))),compaction:L(N({trigger:NL}))}),FL=j,IL=nm(j,F([N({status:A(`running`),revision:FL,value:uO,catalog:O(uO)}),N({status:A(`stopped`),revision:FL,reason:j})])),LL=N({id:j,version:j,revision:FL,status:I([`running`,`stopped`]),reason:L(j),stoppedAt:L(M)}),RL=N({commandId:j,outcome:I([`completed`,`cancelled`,`failed`,`interrupted`]),sequence:V.check(Bm(0)),diagnostic:L(j),meta:O(pO)}),zL=N({id:j,sequence:V.check(Bm(0)),at:V.check(B(0)),tokensBefore:M,tokensAfter:L(M),trigger:L(NL)}),BL=N({id:j,sequence:V.check(Bm(0)),at:V.check(B(0)),trigger:NL,result:I([`nothing_to_compact`,`failed`,`stale`,`insufficient`]),diagnostic:L(j)}),VL=j.check(z(e=>new TextEncoder().encode(e).byteLength<=65536)),HL=N({messageId:j,revision:V.check(B(0)),text:VL,thinking:VL,textOffset:V.check(B(0)),thinkingOffset:V.check(B(0)),textTruncated:Qp,thinkingTruncated:Qp}),UL=N({commandId:j,requestId:j,meta:O(pO),origin:O(jL),text:j,images:O(P(gy)),delivery:I([`steer`,`followUp`])}),WL=P(N({toolCallId:j,revision:V.check(B(0)),tail:j.check(z(e=>new TextEncoder().encode(e).byteLength<=8192&&e.split(`
819
+ `).length<=200)),droppedBytes:V.check(B(0)),totalBytes:V.check(B(0))})).check(H(4)),GL=N({total:V.check(B(0)),prompts:P(UL),hasMore:Qp}),KL=N({tokens:V.check(B(0)),window:L(V.check(Bm(0)))}),qL=N({sessionId:j,cursor:L(j),hasMore:Qp,oldestCursor:O(L(j)),messages:P(ML),terminals:P(RL),sandboxFailures:O(P(oO)),compactions:O(P(zL)),compactionNotices:O(P(BL)),pending:GL,activity:PL,progress:L(HL),toolOutput:WL,extensions:IL,attention:ny,context:O(KL)}),JL=F([N({kind:A(`activity`),activity:PL}),N({kind:A(`tool_output`),toolOutput:WL,activity:PL}),N({kind:A(`update`),delivery:I([`replay`,`live`]),cursor:L(j),messages:P(ML),terminals:P(RL),sandboxFailures:O(P(oO)),compactions:O(P(zL)),compactionNotices:O(P(BL)),pending:GL,activity:PL,extensions:IL,attention:ny,context:O(KL)}),N({kind:A(`progress`),progress:N({messageId:j,revision:V.check(B(0)),text:N({offset:V.check(B(0)),append:VL}),thinking:N({offset:V.check(B(0)),append:VL})}),activity:PL}),N({kind:A(`reset`),reason:A(`history_unavailable`),cursor:L(j),baseline:qL})]),YL=N({status:A(`accepted`),commandId:j,sessionId:O(j)});E(U(F([YL,N({status:A(`held`),reason:A(`recipient_offline`),message:A(`waiting: recipient offline`)})])),{onExcessProperty:`error`});var XL=N({status:A(`unknown`)}),ZL=E(U(F([YL,XL])));function QL(e){return ZL(e)}var $L=F([YL,XL,N({status:A(`too_late`),commandId:j})]),eR=N({sessionId:j}),tR=E(U(qL),{onExcessProperty:`error`}),nR=E(U(JL),{onExcessProperty:`error`}),rR=E(U(YL)),iR=E(U($L)),aR=E(U(eR)),oR=E(U(uy)),sR=E(U(LL)),cR=E(U(P(LL))),lR=E(U(uO));function uR(e){return sR(e)}function dR(e){return cR(e)}function fR(e){return lR(e)}function pR(e){return rR(e)}function mR(e){return iR(e)}function hR(e){return E(U(L(UL)))(e)}function gR(e){return aR(e)}var _R=N({acceptedSender:L(j),delegator:L(j),terminal:RL,content:j,usage:P(N({provider:j,model:j,usage:lA})),toolCalls:V.check(B(0)),waitingOnYou:P(N({itemId:j,kind:j,summary:j})).check(H(8))});function vR(e){return E(U(L(_R)))(e)??void 0}function yR(e){return tR(e)}function bR(e){return nR(e)}function xR(e){let t=oR(e);return new W(t.boundary,t.cause,t.message,t.requestId)}var SR=E(U(N({sessions:P(F([N({sessionId:bh,createdAt:M,lastActivityAt:M,settledAt:O(M),title:j,state:I([`needs_you`,`running`,`errored`,`done`])}),N({sessionId:bh,state:A(`unavailable`)})])),next:k(bh)})));function CR(e){let t=SR(e);return{sessions:t.sessions,next:t.next}}var wR=E(U(N({sessionId:bh}))),TR=E(U(N({deleted:Qp})));function ER(e){return TR(e).deleted}function DR(e){return wR(e).sessionId}function OR(e){let t={modules:e.modules??[],sources:e.sources??[],sandbox:$D(e.sandbox),access:e.access??{}};return e.execution===void 0?t:{...t,execution:e.execution}}function kR(e,t){return Dr(e,t).then(e=>{if(ta(e))return e.value;let t=Bt(Wi(e.cause))??Hi(e.cause);return Promise.reject(t instanceof Error?t:Error(String(t)))})}function AR(e){let t=dr(e);if(ta(t))return t.value;let n=Bt(Wi(t.cause))??Hi(t.cause);throw n instanceof Error?n:Error(String(n))}function jR(e){let t=Yv(e);return Object.freeze({[Symbol.asyncIterator]:()=>{let e=t[Symbol.asyncIterator]();return{next:()=>e.next(),return:()=>e.return?.()??Promise.resolve({done:!0,value:void 0})}}})}function MR(e,t){function n(e){return kR(t.command(e))}return Object.freeze({address:e,command:n,withdraw:e=>kR(t.withdraw(e)),abort:()=>kR(t.abort),send:(e,n)=>kR(t.send(e,n)),cancel:e=>kR(t.cancel(e)),latestPending:()=>kR(t.latestPending),modelPreference:Object.freeze({read:()=>kR(t.modelPreference.read),set:e=>kR(t.modelPreference.set(e))}),extension:e=>{let n=t.extension(e);return Object.freeze({call:(e,t,r)=>kR(n.call(e,t,r))})},read:e=>kR(t.read(e)),readSettlement:(e,n)=>kR(t.readSettlement(e,n?.timeoutMs),n),subscribe:e=>jR(t.subscribe(e)),watch:e=>kR(t.watch(e)).then(e=>Object.freeze({snapshot:e.snapshot,changes:jR(e.changes),close:()=>kR(e.close)}))})}function NR(e,t){let n=t??`local:${Zh()}`;return Object.freeze({createSession:t=>kR(e.createSession(t)),deleteSession:t=>kR(e.deleteSession(t)),listSessions:t=>kR(e.listSessions(t)),extensions:Object.freeze({list:()=>kR(e.extensions.list),resume:t=>kR(e.extensions.resume(t)),call:(t,n,r)=>kR(e.extensions.call(t,n,r))}),session:t=>MR(`${n}/sessions/${encodeURIComponent(t)}`,e.session(t)),close:()=>kR(e.close)})}function PR(e){let t=`local:${Zh()}`;return Object.freeze({...NR(e,t),prepareConfiguration:async t=>{let n={extensions:t.extensions};t.tools!==void 0&&Object.assign(n,{tools:OR(t.tools)});let r=await kR(e.prepareConfiguration(n));return{commit:()=>{AR(r.commit)},discard:()=>kR(r.discard)}},grants:Object.freeze({deliver:(t,n)=>AR(e.grants.deliver(t,n)),read:t=>AR(e.grants.read(t))}),withMeta:n=>NR(e.withMeta(n),t)})}function FR(e=`Remote Shiitake operation is unavailable`){return new W(`runtime`,`unavailable`,e)}function IR(e){return new W(`runtime`,`invalid`,e)}function LR(){return new W(`runtime`,`closed`,`Shiitake client is closed`)}var RR=2,zR=E(j);function BR(e){if(!(e instanceof MessageEvent))throw IR(`Session stream event is invalid`);return zR(e.data)}function VR(e){return e.kind===`source-error`?y(FR(`Session stream is unavailable`)):e.kind===`snapshot`?ai({try:()=>({kind:`snapshot`,value:yR(BR(e.event))}),catch:()=>IR(`Session snapshot is invalid`)}):e.kind===`frame`?ai({try:()=>({kind:`frame`,value:bR(BR(e.event))}),catch:()=>IR(`Session frame is invalid`)}):ai({try:()=>xR(BR(e.event)),catch:()=>IR(`Session runtime error is invalid`)}).pipe(C(y))}function HR(e,t){return S(()=>{e.closed||(e.closed=!0,t.delete(e),e.source.close())})}function UR(e,t,n,r){return Sv(t=>Mr(ai({try:()=>{let i={source:new(r??EventSource)(e),closed:!1},a=(e,r)=>{jg(t,{kind:e,event:r})||(Pg(t,Ri(FR(`Session stream client fell behind`))),Zt(HR(i,n)))};return i.source.addEventListener(`snapshot`,e=>{a(`snapshot`,e)}),i.source.addEventListener(`frame`,e=>{a(`frame`,e)}),i.source.addEventListener(`runtime-error`,e=>{a(`runtime-error`,e)}),i.source.addEventListener(`error`,e=>{i.source.readyState===RR&&a(`source-error`,e)}),n.add(i),i},catch:()=>FR(`Session stream could not open`)}),e=>HR(e,n)),{bufferSize:256,strategy:`dropping`}).pipe(Nv(VR),Gv(t.await))}function WR(e,t){return`${e}/sessions/${encodeURIComponent(t)}`}function GR(e,t,n=!1){let r=new URLSearchParams({mode:`subscribe`});return t!==void 0&&r.set(`after`,t),n&&r.set(`includeSandboxFailures`,`true`),`${e}?${r.toString()}`}function KR(e,t,n,r){return UR(e,t,n,r).pipe(Nv(e=>e.kind===`frame`?v(e.value):y(IR(`Session subscription received a snapshot`))))}function qR(e,t,n,r,i,a){return b(function*(){yield*n;let o=yield*u_(!1),s=yield*ha();yield*S(()=>t.add(s)),yield*ya(s,S(()=>{t.delete(s)}));let c=yield*Dn(UR(e,r,i,a).pipe(Vv(mv()),_a(s)));if(na(c))return yield*Sa(s,c),yield*Ut(c.cause);let[l,u]=c.value;if(nt(l)||l.value.kind!==`snapshot`){let e=IR(`Session stream did not begin with a snapshot`);return yield*Sa(s,Qi(e)),yield*y(e)}let d=u.pipe(Nv(e=>e.kind===`frame`?v(e.value):v({kind:`reset`,reason:`history_unavailable`,cursor:e.value.cursor,baseline:e.value})),Gv(o.await),Hv(e=>o.isOpen()&&Bi(e)?Cv:Ev(e)));return Object.freeze({snapshot:l.value.value,changes:d,close:o.open.pipe(g(Sa(s,ea)))})})}function JR(e,t,n){return Jr({try:async t=>{let n=await e(t);return{response:n,body:await n.text()}},catch:()=>FR(`${n} request failed`)}).pipe(C(({response:e,body:r})=>e.ok?ai({try:()=>t(r),catch:()=>IR(`${n} response is invalid`)}):ai({try:()=>xR(r),catch:()=>IR(`${n} error response is invalid`)}).pipe(C(y))))}function YR(t){let n=t.baseUrl.replace(/\/+$/u,``),r=t.fetch??globalThis.fetch,i=new Set,a=new Set,o=l_(!1),s=!1,c=Cn(()=>s?y(LR()):ft),l=(t,n,r)=>e(JR(t,n,r),o.await.pipe(g(y(LR())))),u=(e,t)=>c.pipe(g(l(n=>r(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t),signal:n}),fR,`Extension command`)));return Object.freeze({createSession:e=>c.pipe(C(()=>{let t=Jy({requestId:e});return l(e=>r(`${n}/sessions`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({requestId:t}),signal:e}),DR,`Session creation`)})),deleteSession:e=>c.pipe(C(()=>{let t=Ky(e);return l(e=>r(`${n}/sessions/${encodeURIComponent(t)}`,{method:`DELETE`,signal:e}),ER,`Session deletion`)})),listSessions:e=>c.pipe(C(()=>{let t=new URLSearchParams;e!==void 0&&t.set(`after`,qy(e));let i=t.size===0?``:`?${t.toString()}`;return l(e=>r(`${n}/sessions${i}`,{signal:e}),CR,`Session discovery`)})),extensions:Object.freeze({list:c.pipe(g(l(e=>r(`${n}/extensions`,{signal:e}),dR,`Extension list`))),resume:e=>c.pipe(g(l(t=>r(`${n}/extensions/${encodeURIComponent(e)}/resume`,{method:`POST`,signal:t}),uR,`Extension resume`))),call:(e,t,r)=>u(`${n}/extensions/${encodeURIComponent(e)}/commands/${encodeURIComponent(t)}`,r)}),session:e=>{let s=Ky(e),d=WR(n,s),f=`${d}/events`;function p(e){return c.pipe(g(l(t=>r(`${d}/command`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({command:e}),signal:t}),e.type===`prompt`||e.type===`compact`?pR:e.type===`cancel`?mR:e.type===`fork`?gR:()=>void 0,`Command`)))}return Object.freeze({command:p,withdraw:e=>c.pipe(g(l(t=>r(`${d}/withdraw`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({requestId:e}),signal:t}),QL,`Request withdrawal`))),abort:p({type:`abort`}),send:(e,t)=>S(()=>t?.requestId??Zh()).pipe(C(n=>{let r={type:`prompt`,delivery:t?.delivery??`steer`,requestId:n,text:e};return p(t?.images===void 0?r:{...r,images:t.images}).pipe(at(e=>e.requestId===n?e:new W(e.boundary,e.cause,e.message,n)))})),cancel:e=>p({type:`cancel`,...e}),latestPending:c.pipe(g(l(e=>r(`${d}/pending/latest`,{signal:e}),hR,`Newest pending prompt`))),modelPreference:Object.freeze({read:c.pipe(g(l(e=>r(`${d}/model-preference`,{signal:e}),oy,`Model preference read`))),set:e=>c.pipe(g(l(t=>r(`${d}/model-preference`,{signal:t,method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)}),()=>void 0,`Model preference set`)))}),extension:e=>Object.freeze({call:(t,n)=>u(`${d}/extensions/${encodeURIComponent(e)}/commands/${encodeURIComponent(t)}`,n)}),read:e=>c.pipe(g(ai({try:()=>Yy(e),catch:e=>e instanceof W?e:IR(`Read options are invalid`)})),C(({limit:e,before:t,includeSandboxFailures:n})=>{let i=new URLSearchParams({limit:String(e)});return t!==void 0&&i.set(`before`,t),n===!0&&i.set(`includeSandboxFailures`,`true`),l(e=>r(`${d}?${i.toString()}`,{signal:e}),yR,`Session read`)})),readSettlement:(e,t=0)=>c.pipe(g(l(n=>r(`${d}/settlement?${new URLSearchParams({commandId:e,timeoutMs:String(t)}).toString()}`,{signal:n}),vR,`Command settlement`))),subscribe:e=>jv(c.pipe(g(ai({try:()=>Xy(e),catch:e=>e instanceof W?e:IR(`Subscribe options are invalid`)})),Se(({after:e,includeSandboxFailures:n})=>KR(GR(f,e,n===!0),o,a,t.eventSource)))),watch:e=>qR(e?.includeSandboxFailures===!0?`${f}?includeSandboxFailures=true`:f,i,c,o,a,t.eventSource)})},close:Cn(()=>s?ft:(s=!0,o.open.pipe(g(Yr([...i],e=>Sa(e,ea),{discard:!0})),g(Yr([...a],e=>HR(e,a),{discard:!0})))))})}function XR(e){return NR(YR(e),e.baseUrl.replace(/\/+$/u,``))}T(uO);function ZR(e,t){if(t===void 0)return{status:`unavailable`};if(t.status===`stopped`)return{status:`stopped`,reason:t.reason};if(t.value===null||e.projection===null)return{status:`running`,value:null};let n=T(e.projection.schema)(t.value);return n._tag===`Success`?{status:`running`,value:n.success}:{status:`stopped`,reason:`Extension projection does not match this client`}}function QR(e,t){let n=e?.messageId===t.messageId?e:null;if(n!==null&&n.revision>=t.revision)return e;let r=n===null?0:n.textOffset+n.text.length,i=n===null?0:n.thinkingOffset+n.thinking.length;return t.text.offset>r||t.thinking.offset>i?e:{messageId:t.messageId,revision:t.revision,text:(n?.text??``)+t.text.append.slice(Math.max(0,r-t.text.offset)),thinking:(n?.thinking??``)+t.thinking.append.slice(Math.max(0,i-t.thinking.offset)),textOffset:n?.textOffset??0,thinkingOffset:n?.thinkingOffset??0,textTruncated:n?.textTruncated??!1,thinkingTruncated:n?.thinkingTruncated??!1}}var $R=j.pipe(R(ah(1)),R(H(128)),R(wm(/^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$/u))),ez=j.pipe(R(ah(1)),R(H(64)),R(wm(/^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/u))),tz=$R.pipe(dm(`ExtensionId`)),nz=j.pipe(R(wm(/^sha256:[0-9a-f]{64}$/u)),dm(`ExtensionRevision`)),rz=j.pipe(R(wm(/^sha256:[0-9a-f]{64}$/u)),dm(`ExtensionFingerprint`)),iz=class extends Ni(`ExtensionHookError`){};function az(e){return Cn(()=>{let t=e();return He(t)?t:Jr({try:()=>Promise.resolve(t),catch:e=>new iz({cause:e})})})}var oz=class extends Error{constructor(){super(`Extension transaction handler must return synchronously`),this.name=`AsyncExtensionTransactionError`}};function sz(e,t){let r=e(t);if(r instanceof Promise||He(r)&&!n(r))throw new oz;return r}export{oI as $,Xi as $a,hh as $i,aE as $n,N as $r,KA as $t,vL as A,Sc as Aa,$m as Ai,WO as An,mg as Ar,Kj as At,_L as B,ma as Ba,th as Bi,DO as Bn,Bh as Br,xj as Bt,uL as C,Ju as Ca,Bp as Ci,Dk as Cn,l_ as Cr,kF as Ct,WI as D,xc as Da,Um as Di,$O as Dn,Fg as Dr,bM as Dt,kL as E,gc as Ea,Mp as Ei,ek as En,o_ as Er,EM as Et,iL as F,ic as Fa,Nm as Fi,UO as Fn,em as Fr,Rj as Ft,RI as G,_a as Ga,nh as Gi,eO as Gn,Jp as Gr,Nj as Gt,ZI as H,Sa as Ha,jm as Hi,gO as Hn,A as Hr,wj as Ht,oL as I,Ps as Ia,Bm as Ii,SO as In,Qp as Ir,Lj as It,NI as J,fa as Ja,rh as Ji,HE as Jn,Xp as Jr,dj as Jt,zI as K,la as Ka,Zm as Ki,KE as Kn,am as Kr,zj as Kt,aL as L,Fs as La,eh as Li,CO as Ln,Sh as Lr,yj as Lt,dL as M,Wu as Ma,yh as Mi,GO as Mn,Gh as Mr,Pj as Mt,fL as N,Uu as Na,gh as Ni,VO as Nn,Kh as Nr,Ij as Nt,JI as O,hc as Oa,ih as Oi,QO as On,Mg as Or,yM as Ot,yL as P,yu as Pa,Am as Pi,KO as Pn,P as Pr,Fj as Pt,EI as Q,ra as Qa,vh as Qi,dE as Qn,j as Qr,ij as Qt,DL as R,Ls as Ra,Ym as Ri,kO as Rn,Mm as Rr,bj as Rt,lL as S,_c as Sa,zp as Si,kk as Sn,jv as Sr,xP as St,nL as T,fc as Ta,bm as Ti,Ok as Tn,s_ as Tr,zF as Tt,XI as U,ba as Ua,Gm as Ui,uO as Un,I as Ur,jj as Ut,bL as V,ya as Va,Xm as Vi,vO as Vn,Vh as Vr,Sj as Vt,VI as W,ha as Wa,Vm as Wi,lO as Wn,Km as Wr,Mj as Wt,wI as X,na as Xa,uh as Xi,hE as Xn,M as Xr,aj as Xt,CI as Y,ia as Ya,Qm as Yi,uE as Yn,L as Yr,QA as Yt,MI as Z,ta as Za,H as Zi,mE as Zn,nm as Zr,XA as Zt,HI as _,Ap as _a,T as _i,DA as _n,ty as _r,RF as _t,rz as a,wm as aa,cm as ai,$A as an,Bi as ao,Hy as ar,mF as at,YI as b,wc as ba,Up as bi,Nk as bn,Av as br,mP as bt,ez as c,z as ca,dm as ci,lj as cn,Ni as co,Jy as cr,AN as ct,XR as d,um as da,Sp as di,nj as dn,Xy as dr,JN as dt,lh as ea,$p as ei,ZA as en,ea as eo,oE as er,GM as et,OR as f,lm as fa,Ip as fi,rj as fn,Zy as fr,MN as ft,QI as g,Lh as ga,Fp as gi,kA as gn,Qv as gr,uF as gt,pR as h,Rh as ha,Pp as hi,EA as hn,$v as hr,UN as ht,tz as i,Wm as ia,Zp as ii,JA as in,Wi as io,uT as ir,OF as it,sL as j,Hu as ja,ch as ji,HO as jn,Zh as jr,Jj as jt,AL as k,pc as ka,dh as ki,ZO as kn,jg as kr,CM as kt,QR as l,k as la,R as li,YA as ln,Ky as lr,SN as lt,PR as m,zh as ma,Np as mi,AA as mn,ay as mr,KN as mt,az as n,_h as na,im as ni,cj as nn,Ri as no,rT as nr,DF as nt,$R as o,km as oa,F as oi,tj as on,Ki as oo,Yy as or,gF as ot,kR as p,ym as pa,Lp as pi,nA as pn,W as pr,yP as pt,LI as q,ca as qa,Hm as qi,yD as qn,bh as qr,mj as qt,sz as r,mh as ra,Oh as ri,qA as rn,Gi as ro,nT as rr,NN as rt,nz as s,Em as sa,Yp as si,oj as sn,Hi as so,Uy as sr,RN as st,oz as t,ah as ta,Eh as ti,uj as tn,zi as to,eE as tr,fP as tt,ZR as u,O as ua,Cp as ui,ej as un,by as ur,qN as ut,UI as v,vm as va,E as vi,Gk as vn,Sv as vr,HP as vt,tL as w,vc as wa,U as wi,xk as wn,a_ as wr,pF as wt,cL as x,bc as xa,mm as xi,Ck as xn,Yv as xr,bP as xt,$I as y,xd as ya,Vp as yi,Pk as yn,Kv as yr,vP as yt,eL as z,Oo as za,B as zi,OO as zn,V as zr,Cj as zt};