@linzumi/cli 1.0.219 → 1.0.221

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.
@@ -145,7 +145,7 @@ Auth:
145
145
  `:return JSON.stringify(e);default:t=r+1|0;continue}}}function pfe(e){return e===""?[]:JSON.parse(e.split('"]["').join('","'))}function hfe(e){return"["+Wh(e)+"]"}function _fe(e){let t=e.length;return t!==1?t!==0?e.map(hfe).join(""):"":"["+Wh(e[0])+"]"}var k1="sury",C1=Symbol(k1),O1=Symbol(k1+":item"),Fh="string",Mc="number",gfe="bigint",ET="boolean",bfe="symbol",Nh="null",al="undefined",x1="nan";var E1="instance",Gu="array",ko="object",Hl="union",S1="never",ab="unknown",T1="ref",P1=wc("Sury.Exn"),Ed="const";function yfe(e){return e.type===al?!0:e.type===Hl?al in e.has:!1}function xfe(e,t){return(e&t)!==0}var Si={[ab]:1,[Fh]:2,[Mc]:4,[ET]:8,[al]:16,[Nh]:32,[ko]:64,[Gu]:128,[Hl]:256,[T1]:512,[gfe]:1024,[x1]:2048,function:4096,[E1]:8192,[S1]:32768,[bfe]:16384};function PT(e){let t=Si[typeof e];if(t&16)return al;if(!(t&64))return t&2?'"'+e+'"':t&1024?e+"n":t&4096?"Function":e.toString();if(e===null)return Nh;if(Array.isArray(e)){let i="[";for(let o=0,a=e.length;o<a;++o)o!==0&&(i=i+", "),i=i+PT(e[o]);return i+"]"}if(e.constructor!==Object)return Object.prototype.toString.call(e);let r=Object.keys(e),n="{ ";for(let i=0,o=r.length;i<o;++i){let a=r[i],s=e[a];n=n+a+": "+PT(s)+"; "}return n+"}"}function to(e){let t=e.type,r=e.to,n=e.const,i=e.name;if(i!==void 0)return i;if(n!==void 0)return PT(n);let o=e.format,a=e.anyOf;if(a!==void 0)return a.map(to).join(" | ");if(o!==void 0){if(o!=="compactColumns")return o;let s=e.additionalItems;if(r===void 0)return s!==void 0&&s!=="strip"&&s!=="strict"?to(s)+"[]":"unknown[][]";let l=r.properties;return l===void 0?"unknown[][]":"["+Object.keys(l).map(u=>{let c=l[u];return to(c)+"[]"}).join(", ")+"]"}switch(t){case"nan":return"NaN";case"object":let s=e.additionalItems,l=e.properties,d=Object.keys(l);return d.length===0?typeof s===ko?"{ [key: string]: "+to(s)+"; }":"{}":"{ "+d.map(u=>u+": "+to(l[u])+";").join(" ")+" }";default:if(e.b)return t;switch(t){case"instance":return e.class.name;case"array":let u=e.additionalItems,c=e.items;if(typeof u!==ko)return"["+c.map(to).join(", ")+"]";let f=to(u);return(u.type===Hl?"("+f+")":f)+"[]";default:return t}}}var ym=class extends Error{constructor(t){super();for(let r in t)this[r]=t[r]}},Fs=Object.defineProperty,sb=ym.prototype;Fs(sb,"message",{get(){return X5(this)}});Fs(sb,"name",{value:"SuryError"});Fs(sb,"s",{value:C1});Fs(sb,"_1",{get(){return this}});Fs(sb,"RE_EXN_ID",{value:P1});var Y5=1,G1=function(){},R1=Object.create(null);Fs(R1,"with",{get(){return(e,...t)=>e(this,...t)}});G1.prototype=R1;function $T(e){if(e&&e.s===C1)return e;throw e}function X5(e){let t=e.path;return(t===""?"":"Failed at "+t+": ")+e.reason}var eb={m:X5,d:void 0,a:"strip",f:0},Ad={},H5={configurable:!0},qh="value",bm="r";function _o(e,t){let r=new G1;return r.type=e,r.seq=Y5++,t&&(Ad[qh]=r,Fs(r,bm,Ad)),r}function e3(e){return e}var g1={};function Fc(e,t,r){if(g1[e])return g1[e];let n=_o(t,!0);return r(n),g1[e]=n,n}var pi=_o(ab,!0);pi.decoder=e3;var Vl=(e=>{let t=new G1;for(let r in e)t[r]=e[r];return t.seq=Y5++,t});function $c(e,t){let r=Vl(e),n=r;for(;n.to;){let i=Vl(n.to);n.to=i,n=i}return t(n),r}function kd(e,t){let r=e.g.e,n=r.length;return r[n]=t,"e["+n+"]"}function lb(e,t){let r=Si[t.type],n=t.const;return r&16?"void 0":r&2?Wh(n):r&1024?n+"n":r&28672?kd(e,t.const):n}function xm(e,t){let r='"'+t+'"',n=e[r];if(n!==void 0)return n;let i=Wh(t);return e[r]=i,i}function Sa(){return this.i}function Sfe(){return this.b.v()}function Tfe(){return this.prev.v()}function fs(e){let t=e.v+1;return e.v=t,"v"+t}function GT(e,t){e.hd=e.hd===""?t:e.hd+","+t}function vfe(){let e=this,t=fs(e.g);return e.cp="let "+t+"="+e.i+";",e.i=t,e.v=Sa,t}function v1(){let e=this,t=e.p;if(t.fz)return e.v=Sa,e.i;let r=fs(e.g);return GT(t,r+"="+e.i),e.v=Sa,e.i=r,r}function RT(){let e=this;if(e.fz)return e.v=Sa,e.i="("+e.i+")",e.i;let t=fs(e.g);if(e.prev!==void 0){let n=e.i;n===""?e.cp="let "+t+";"+e.cp:e.cp=e.cp+("let "+t+"="+n+";")}else{let n=e.i;n===""?GT(e,t):GT(e,t+"="+n)}return e.v=Sa,e.i=t,t}function wfe(e,t,r,n){return{v:Sa,i:"i",s:e,e:t,f:0,cp:"",hd:"",path:"",g:{v:-1,o:r,e:[],d:n}}}function Tm(e,t,r){let n=e.path,i="Can't decode "+to(t)+" to "+to(r)+". Use S.to to define a custom decoder",o={code:"unsupported_decode",path:n,reason:i,from:t,to:r};throw new ym(o)}function tb(e,t,r){return kd(e,n=>{let i=t(n);throw new ym(i)})+"("+r+")"}function t3(e,t,r,n,i,o,a){let s=a!==void 0?a:"Expected "+to(e)+", received "+(i?PT(n):to(t));if(o!==void 0){let d={};for(let u=0,c=o.length;u<c;++u){let f=o[u],h=f.reason.split(`
146
146
  `).join(`
147
147
  `),m=f.path,_=`
148
- - `+(m===""?"":"At "+m+": ")+h;d[_]||(d[_]=1,s=s+_)}}let l={code:"invalid_input",path:r,reason:s,expected:e,received:t,unionErrors:o};return i&&(l.input=n),l}function I1(e,t,r,n){return i=>{let o=t!==void 0?t:"",a=n!==void 0?n:!0,s=e!==void 0?e:i.e,l=i.prev,d=l!==void 0?l.s:i.s,u=o===""?i.path:i.path+o;return c=>t3(s,d,u,c,a,void 0,r)}}function Wo(e){let t=e.e.errorMessage,r;if(t!==void 0){let n=t.type;r=n!==void 0?n:t._}else r=void 0;return I1(void 0,void 0,r,void 0)(e)}function r3(e,t){let r=t!==void 0?t:e.e;return tb(e,I1(r,void 0,void 0,void 0)(e),e.v())}function Afe(e,t){let r=e.vc,n=r.length;if(n===1){let a=r[0];return a.c(t)+"||"+tb(e,a.f(e),t)+";"}let i="",o=0;for(;o<n;){let a=r[o],s=a.f,l=a.c(t);for(o=o+1|0;o<n&&r[o].f===s;)l=l+"&&"+r[o].c(t),o=o+1|0;i=i+(l+"||"+tb(e,s(e),t)+";")}return i}function n3(e){return e.t===!0?e.prev.t!==!0?e.cp==="":!1:!0}function Cd(e,t){let r=e,n="";for(;r!==void 0;){let i=r;r=i.prev;let o="";if(i.vc)if(t!==void 0&&n3(i)){let s=r.v(),l=i.vc,d="";for(let u=0,c=l.length;u<c;++u){let f=l[u],h=f.c(s);f.f===Wo?d=d?d+"&&"+h:h:i.e.noValidation!==!0&&(o=o+(h+"||"+tb(i,f.f(i),s)+";"))}d&&(t.contents?t.contents=d+"&&"+t.contents:t.contents=d)}else i.e.noValidation!==!0&&(o=Afe(i,r.v()));i.hd!==""&&(o=o+("let "+i.hd+";")),i.fz=!0,o=i.cp+o,n=o+n}return n}function sl(e,t,r,n){let i=n!==void 0?n:e.e;return{v:RT,i:t,s:r,e:i,prev:e,f:0,d:e.d,cp:"",hd:"",t:!0,path:e.path,g:e.g}}function Dn(e,t,r,n){let i=t!==void 0?t:e.s,o=n!==void 0?n:e.e,a=e.v!==Sa,s={v:a?Tfe:Sa,i:e.i,s:i,e:o,prev:e,f:e.f,d:e.d,cp:"",hd:"",vc:r,t:e.t,path:e.path,g:e.g};if(a){let l=e.v.bind(e);e.v=()=>{let d=l();return s.i=d,s.v=Sa,d}}return s}function D1(e,t){let r=e.vc;r!==void 0?r.push(t):e.vc=[t]}function rb(e,t){let r=t.e.inputRefiner,n;if(r!==void 0){let s=r(t);if(s.length!==0)if(t.prev!==void 0){for(let d=0,u=s.length;d<u;++d)D1(t,s[d]);n=void 0}else n=s;else n=void 0}else n=void 0;let i=e.e.refiner,o;if(i!==void 0){let s=i(e);o=s.length!==0?s:void 0}else o=void 0;let a=n!==void 0?o!==void 0?Dn(e,void 0,n.concat(o),void 0):Dn(e,void 0,n,void 0):o!==void 0?Dn(e,void 0,o,void 0):e;return a.io=!0,a}function i3(e,t,r){if(!t.vc)return;let i="["+xm(e.g,r)+"]";t.vc.forEach(o=>D1(e,{c:a=>o.c(a+i),f:o.f})),t.vc=void 0}function o3(e,t){let r=e.s.additionalItems,n;n=r!==void 0&&r!=="strip"&&r!=="strict"?r:pi;let i=e.e.additionalItems,o;return o=i!==void 0&&i!=="strip"&&i!=="strict"?i:pi,{p:e,v:vfe,i:e.v()+"["+t+"]",s:n,e:o,f:e.f,cp:"",hd:"",path:"",g:e.g}}function Dc(e,t,r){return sl(e,lb(e,t),t,r)}function a3(e,t){let r=sl(e,t,e.s,void 0);return r.f=1,r}function Od(e,t,r){e.s.type===Gu?e.s.items.push(r.s):(r.o||e.s.required.push(t),e.s.properties[t]=r.s),r.f&1&&r.v(),e.cp=e.cp+Cd(r,void 0),e.d[t]=r}function s3(e,t,r){return e.v()+"["+t+"]="+r.i}function Ru(e){let t=e.v!==Sa,r={b:e,v:t?Sfe:Sa,i:e.i,s:e.s,io:e.io,e:e.e,f:0,d:e.d,cp:"",hd:"",u:!1,t:!1,path:e.path,g:e.g};if(t){let n=e.v.bind(e);e.v=()=>{let i=n();return r.i=i,r.v=Sa,i}}return r}function kfe(e,t){throw new ym({code:"invalid_operation",path:e.path,reason:t})}function M1(e,t,r,n){if(e.path===""&&r===void 0)return Cd(e,void 0);{let i=l=>{let d=t.path,u=d===""?"":Wh(d)+"+";return l+".path="+u+(r!==void 0?`'["'+`+r+`+'"]'+`:"")+l+".path"},o=Cd(e,void 0);if(o===""&&!(e.f&1))return o+(n!==void 0?n():"");let a=fs(e.g),s=i(a)+";throw "+a;return e.f&1&&(e.i=e.i+".catch("+a+"=>{"+s+"})"),"try{"+o+(n!==void 0?n():"")+"}catch("+a+"){"+s+"}"}}function l3(e){return e}l3.embedded=MT;function b1(e){return e+"<=2147483647&&"+e+">=-2147483648&&"+e+"%1===0"}function zh(e){return t=>"typeof "+t+'==="'+e+'"'}function jh(e){return"Number.isNaN("+e+")"}function IT(e){return"Array.isArray("+e+")"}function d3(e){return zh(ko)(e)+"&&"+e}function Cfe(e,t){return r=>r+" instanceof "+kd(e,t)}function Ofe(e){let t=Si[e.s.type];if(t&1){let i=[{c:zh(Mc),f:Wo}],o=e.e.format,a=0;return o==="int32"?i.push({c:b1,f:Wo}):a=1,a===1&&(e.g.o&2||i.push({c:s=>"!"+jh(s),f:Wo})),Dn(e,e.e,i,void 0)}if(!(t&2))return t&4?e.s.format!==e.e.format&&e.e.format==="int32"?Dn(e,e.e,[{c:b1,f:Wo}],void 0):e:Tm(e,e.s,e.e);let r=fs(e.g),n=sl(e,r,e.e,void 0);return n.v=Sa,n.cp="let "+r+"=+"+e.v()+";",n.vc=[{c:i=>{let o=e.e.format;return o!==void 0&&o==="int32"?b1(r):"!"+jh(r)},f:Wo}],n}function $1(){return Fc(Mc,Mc,e=>{e.decoder=Ofe})}function Efe(e){return sl(e,'""+'+e.i,Hh(),void 0)}function Pfe(e){let t=Si[e.s.type];if(t&1)return Dn(e,e.e,[{c:zh(Fh),f:Wo}],void 0);if(!(t&3132&&Ed in e.s))return t&1036?Efe(e):t&2?e:Tm(e,e.s,e.e);let r=""+e.s.const,n=_o(Fh,!1);return n.const=r,sl(e,'"'+r+'"',n,void 0)}function Hh(){return Fc(Fh,Fh,e=>{e.decoder=Pfe})}function Gfe(e){let t=Si[e.s.type];if(t&1)return Dn(e,e.e,[{c:zh(ET),f:Wo}],void 0);if(!(t&2))return t&8?e:Tm(e,e.s,e.e);let r=fs(e.g),n=sl(e,r,e.e,void 0);n.v=Sa;let i=e.v();return n.cp="let "+r+";("+n.i+"="+i+'==="true")||'+i+'==="false"||'+r3(e,void 0)+";",n}function j1(){return Fc(ET,ET,e=>{e.decoder=Gfe})}function u3(e,t){e[Si[t]&768?ab:t]=!0}var gm="JSON";function Lh(e){let t=e.e;if(t.noValidation&&!e.u)return Dc(e,t,void 0);if(Ed in e.s)return e.s.const===t.const?e:Dc(e,t,void 0);let r=Si[t.type];if(!(Si[e.s.type]&2&&r&3132))return r&2048?Dn(e,t,[{c:jh,f:Wo}],void 0):Dn(e,t,[{c:o=>o+"==="+lb(e,t),f:Wo}],void 0);let n=_o(Fh,!1);n.const=""+t.const;let i=Dc(e,n,n);return i.vc=[{c:o=>o+'==="'+n.const+'"',f:Wo}],Dc(i,t,t)}function Iu(){return Fc(al,al,e=>{e.const=void 0,e.decoder=Lh})}function Vh(){return Fc(Nh,Nh,e=>{e.const=null,e.decoder=Lh})}function c3(){return Fc(x1,x1,e=>{e.const=NaN,e.decoder=Lh})}function F1(e){if(e===null)return Vh();let t=typeof e;if(t===al)return Iu();if(t===Mc&&Number.isNaN(e))return c3();if(t===ko){let n=_o(E1,!0);return n.class=e.constructor,n.const=e,n.decoder=Lh,n}let r=_o(t,!0);return r.const=e,r.decoder=Lh,r}function Fi(e){let t=e,r,n=0;for(;!t.io||t.e.to;){let i=r;r=void 0;let o=t;if(n=n+1|0,n>50)throw new Error("Loop count exceeded 100");if(o.e.$defs&&(o.g.d?Object.assign(o.g.d,o.e.$defs):o.g.d=o.e.$defs),o.f&1){let a=o.v(),s=Ru(o),l=Fi(s),d=Cd(l,void 0);t=s.i!==l.i||d!==""?sl(o,a+".then("+a+"=>{"+d+"return "+l.i+"})",l.s,l.e):Dn(o,l.s,void 0,l.e),t.f=t.f|1,t.io=!0}else if(o.io){let a=o.e.to,l=o.e.parser;t=l!==void 0?l(o):Dn(t,void 0,void 0,a)}else{let a=o.s.encoder;a&&a!==i&&o.s!==o.e&&o.e.type!==ab&&(t=a(o,o.e)),o!==t?r=a:(t=o.e.decoder(o),t.io||(t=rb(t,t)))}}return t}function jc(e){for(;;){let t=e,r=t.to;if(r===void 0)return t;e=r}}function wd(e){if(bm in e)return e[bm];let t,r=e;for(;r;){let i=Vl(r),o=i.to,a=t;a!==void 0?i.to=a:delete i.to;let s=i.parser,l=i.serializer;l!==void 0?i.parser=l:delete i.parser,s!==void 0?i.serializer=s:delete i.serializer;let d=i.refiner,u=i.inputRefiner;u!==void 0?i.refiner=u:delete i.refiner,d!==void 0?i.inputRefiner=d:delete i.inputRefiner;let c=i.fromDefault,f=i.default;f!==void 0?i.fromDefault=f:delete i.fromDefault,c!==void 0?i.default=c:delete i.default;let h=i.items;h!==void 0&&(i.items=h.map(wd));let m=i.properties;if(m!==void 0){let g={},b=Object.keys(m);for(let y=0,S=b.length;y<S;++y){let T=b[y];g[T]=wd(m[T])}i.properties=g}typeof i.additionalItems===ko&&(i.additionalItems=wd(i.additionalItems));let p=i.anyOf;if(p!==void 0){let g={},b=[];for(let y=0,S=p.length;y<S;++y){let T=p[y],w=wd(T);b.push(w),u3(g,w.type)}i.has=g,i.anyOf=b}let _=i.$defs;if(_!==void 0){let g={};for(let b=0,y=Object.keys(_).length;b<y;++b){let S=Object.keys(_)[b];g[S]=wd(_[S])}i.$defs=g}t=i,r=o}let n=t;return Ad[qh]=n,Fs(e,bm,Ad),Ad[qh]=e,Fs(n,bm,Ad),n}function f3(e){try{return Fi(e)}catch(t){let r=$T(t),n=e.p;throw r.path=(n!==void 0?n.path:"")+(e.path+"[]"+r.path),r}}function m3(e,t,r,n){let i=wfe(Ed in e?pi:e,t,r,n),o=Fi(i),a=Cd(o,void 0),s=xfe(o.f,1);t.isAsync=s;let l=o.t===!0;if(t.hasTransform=l,a===""&&(o===i||o.i===i.i)&&!(r&1))return l3;let d=o.i;r&1&&!s&&!n&&(d="Promise.resolve("+d+")");let u="i=>{"+a+"return "+d+"}",c=i.g.e,f=new Function("e","s","return "+u)(c,C1);return f.embedded=i.g.e,f}function nb(e,t){let r=arguments,n=0,i,o="",a=0,s;for(;i===void 0;){let d=r[n];if(d)if(typeof d===Mc){let u=d|eb.f;i=u,o=o+"-"+u}else{let u=d.seq;u>a&&(a=u,s=d),o=o+u+"-",n=n+1|0}else{let u=eb.f;i=u,o=o+"-"+u}}let l=s;if(l!==void 0){let d=o;if(d in l)return l[d];let u=r[n-1|0];for(let f=n-2|0;f>=0;--f){let h=u;u=$c(r[f],m=>{m.to=h})}let c=m3(u,u,i,0);return Ad[qh]=c,Fs(l,d,Ad),c}throw new Error("[Sury] No schema provided for decoder.")}var Sm="BS_PRIVATE_NESTED_SOME_NONE";function Rfe(e){let t=Dn(e,void 0,void 0,N1());return t.cp=r3(e,void 0)+";",t}function N1(){return Fc(S1,S1,e=>{e.decoder=Rfe})}function Ife(e){let t=e.e.to;return sl(e,"{"+Sm+":"+jc(e.e).properties[Sm].const+"}",t,t)}function Uh(e,t){return{v:RT,i:"",s:t.type===Gu?{type:Gu,decoder:db,additionalItems:"strict",items:[]}:{type:ko,decoder:Kh,additionalItems:"strict",required:[],properties:{}},e:e.e,prev:e,f:0,d:{},cp:"",hd:"",t:!0,path:e.path,g:e.g}}function q1(e){return jT(e,Iu())}function Kh(e){let t=e.u,r=e.e,n=Si[e.s.type],i;if(n&65){let u=n&64,c;if(u)c=e.s;else{let h=_o(ko,!1);h.properties=A1,h.additionalItems=pi,c=h}let f=[];u||(f.push({c:d3,f:Wo}),r.additionalItems!=="strip"&&f.push({c:h=>"!"+IT(h),f:Wo})),i=f.length!==0?Dn(e,c,f,void 0):Dn(e,c,void 0,void 0)}else i=Tm(e,e.s,r);let o=r.additionalItems,a;a=o==="strip"||o==="strict"?void 0:o;let s=i.s.additionalItems,l;l=s!=="strip"&&s!=="strict";let d;if(a!==void 0)if(a===pi)d=i;else if(l){let u=i.v(),c=fs(i.g),f=o3(i,c),h=f3(f),m=h.t,p=m?sl(i,"{}",r,void 0):Dn(i,r,void 0,void 0),_=M1(h,i,c,m?()=>s3(p,c,h):void 0);if((m||_!=="")&&(p.cp=p.cp+("for(let "+c+" in "+u+"){"+_+"}")),h.f&1){let g=fs(p.g),b=fs(p.g),y=fs(p.g),S=fs(p.g),T=p.v();d=a3(p,"new Promise(("+g+","+b+")=>{let "+S+"=Object.keys("+T+").length;for(let "+c+" in "+T+"){"+T+"["+c+"].then("+y+"=>{"+T+"["+c+"]="+y+";if("+S+"--===1){"+g+"("+T+")}},"+b+")}})")}else d=p}else{let u=Uh(i,r),c=Object.keys(i.s.properties);for(let f=0,h=c.length;f<h;++f){let m=c[f],p=ib(i,m);p.e=a,p.io=!1,p.u=t,Od(u,m,Fi(p))}d=Bh(u)}else{let u=r.properties,c=Object.keys(u),f=c.length,h=Uh(i,r),m=r.additionalItems,p;p=m==="strip"||m==="strict"?m==="strip"?l||Object.keys(i.s.properties).length!==f:!1:!0;let _=i.s.additionalItems,g;g=_==="strip"||_==="strict"?!1:_.name===gm;for(let y=0;y<f;++y){let S=c[y],T=u[S],w=ib(i,S);w.e=T,w.io=!1,w.u=t,g&&T.type===Hl&&T.has[al]&&(w.i="("+w.i+"??null)");let A=Fi(w);t&&Ed in T&&i3(i,A,S),Od(h,S,A),p||(p=A.t)}let b=!1;if(r.additionalItems==="strict"){let y=i.s.additionalItems,S;S=y!=="strip"&&y!=="strict",b=S}if(b){let y=fs(h.g);if(GT(i,y),h.cp=h.cp+("for("+y+" in "+i.v()+"){if("),c.length!==0)for(let S=0,T=c.length;S<T;++S){let w=c[S];S!==0&&(h.cp=h.cp+"&&"),h.cp=h.cp+(y+"!=="+xm(i.g,w))}else h.cp=h.cp+"true";h.cp=h.cp+("){"+tb(i,S=>({code:"unrecognized_keys",path:h.path,reason:'Unrecognized key "'+S+'"',keys:[S]}),y)+"}}")}if(p)d=Bh(h);else{let y=Dn(i,void 0,void 0,void 0);y.cp=h.cp,y.d=h.d,d=y}}return rb(d,i)}function Dfe(){let e=F1(0),t={};return t[Sm]=e,{type:ko,serializer:r=>{let n=r.e.to;return Dc(r,n,n)},decoder:Kh,additionalItems:"strip",required:[Sm],properties:t}}function db(e){let t=e.u,r=e.e,n=Si[e.s.type],i=r.items,o=i.length,a;if(n&129){let u=n&128,c=u?e.s:ub(pi),f=[];u||f.push({c:IT,f:Wo});let h=c.additionalItems,m;if(m=h==="strip"||h==="strict"?c.items.length===o:!1,!m){let p=r.additionalItems;(p==="strip"||p==="strict")&&(p==="strip"?f.push({c:_=>_+".length>="+o,f:Wo}):f.push({c:_=>_+".length==="+o,f:Wo}))}a=f.length!==0?Dn(e,c,f,void 0):Dn(e,c,void 0,void 0)}else a=Tm(e,e.s,r);let s=r.additionalItems,l,d=0;if(s==="strip"||s==="strict")d=1;else if(s===pi)l=a;else{let u=a.v(),c=fs(a.g),f=o3(a,c),h=f3(f),m=h.t,p=m?sl(a,"new Array("+u+".length)",r,void 0):Dn(a,r,void 0,void 0),_=M1(h,a,c,m?()=>s3(p,c,h):void 0);(m||_!=="")&&(p.cp=p.cp+("for(let "+c+"="+o+";"+c+"<"+u+".length;++"+c+"){"+_+"}")),l=h.f&1?a3(p,"Promise.all("+p.i+")"):p}if(d===1){let u=Uh(a,r),c=r.additionalItems,f;if(c==="strip"||c==="strict")if(c==="strip"){let h=a.s.additionalItems;f=h==="strip"||h==="strict"?a.s.items.length!==o:!0}else f=!1;else f=!0;for(let h=0;h<o;++h){let m=i[h],p=h.toString(),_=ib(a,p);_.e=m,_.io=!1,_.u=t;let g=Fi(_);t&&Ed in m&&i3(a,g,p),Od(u,p,g),f||(f=g.t)}if(f)l=Bh(u);else{let h=Dn(a,void 0,void 0,void 0);h.cp=u.cp,h.d=u.d,l=h}}return rb(l,a)}function Mfe(e,t){let r=e.s.anyOf;return t.type===Hl&&g3(t)===void 0&&h3(t.anyOf,r)||!$fe(r,t)?e:_3(e,t)}function p3(e){let t=e.e,r=t.anyOf,n=Si[e.s.type],i=g3(t);if(e.s===t&&i===void 0&&r.every(CT)||n&256&&h3(r,e.s.anyOf)&&i===void 0||e.io&&e.e===e.s)return e;(n&256||e.s.encoder===void 0&&n&512)&&(e.s=pi);let o="";if(!(n&769)){let D=y1(e.s),q=!1,re=!1,te=r.length,W=0;for(;o===""&&W<te;){let j=r[W];y1(j)===D?o=D:j.type===Nh?q=!0:j.type===al&&(re=!0),W=W+1|0}o===""&&(n&16&&q?o=Nh:n&32&&re&&(o=al))}let a=o,s=e.i,l=D=>kd(e,function(){let q=arguments,re=t3(t,pi,e.path,q[0],!0,q.length>1?Array.from(q).slice(1):void 0,void 0);throw new ym(re)})+"("+e.v()+D+")",d=Dn(e,void 0,void 0,void 0),u=[],c={contents:""},f=(D,q)=>{let re=D[0],te=D[1],W="",j="",X=!1,M={contents:""},I="",Q={},H=2,ie=D.length-1|0;for(;H<=ie;){let se=Ru(te);se.u=!0,se.t=te.t,se.io=!1,se.e=D[H];let de=H===ie,le=H===2,be=le&&de,Xe=!be,Qe=!1,oe="",Te={contents:""};try{let ae=Fi(se);if(u.push(ae.s),oe=Cd(ae,Te),ae.t){d.t=!0,ae.f&1&&(d.f=d.f|1);let Ue=re.v();ae.i!==Ue&&(oe=oe+(Ue+"="+ae.i))}}catch(ae){let Ue=kd(se,$T(ae));I=I+","+Ue,q&&be?(c.contents=Ue,Qe=!0):de?(Xe=!1,oe=q?"throw "+Ue:l(I)):Qe=!0}let qe=Te.contents,Ne=oe;if(!Qe&&qe)if(Ne){let ae=Q[qe];ae!==void 0?typeof ae=="string"?Q[qe]=[ae,Ne]:ae.push(Ne):Q[qe]=Ne}else M.contents=M.contents?M.contents+"||"+qe:qe;if(!Qe&&(!qe||de)){let ae=Object.keys(Q);for(let Ue=0,Ee=ae.length;Ue<Ee;++Ue){let Re=ae[Ue];W=W+(X?"else if":"if")+("("+Re+"){");let Be=Q[Re];if(typeof Be=="string")W=W+Be+"}";else{let ht="";for(let Rt=0,Wt=Be.length;Rt<Wt;++Rt){let ge=Be[Rt],Ge="e"+Rt;W=W+("try{"+ge+"}catch("+Ge+"){"),ht=ht+","+Ge}W=W+l(ht)+"}".repeat(Be.length)+"}"}X=!0}Q={}}if(!Qe&&!qe)if(Ne)if(M.contents&&(W=W+(X?"else if":"if")+("(!("+M.contents+")){"),j="}"+j,M.contents="",X=!1),de&&(q||!Xe||le))W=W+((X?"else{":"")+Ne),j=(X?"}":"")+j;else{let ae="e"+(H-2|0);W=W+((X?"else{":"")+"try{"+Ne+"}catch("+ae+"){"),j=(X?"}":"")+"}"+j,I=I+","+ae,X=!1}else M.contents="",H=ie,Xe=!1;if(de){if(M.contents)W||I?W=W+(X?"else if":"if")+("(!("+M.contents+")){"+l(I)+"}"):D1(te,{c:ae=>"("+M.contents+")",f:Wo});else if(Xe){let ae=l(I);W=W+(X?"else{"+ae+"}":ae)}}H=H+1}return W+j},h="",m="",p="",_=!1,g=r.length-1|0,b={},y=[],S=t.refiner,T=t.inputRefiner,w={contents:void 0},A={contents:void 0},P=(D,q,re)=>{if(q===void 0)return D;let te=W=>{let j=re.contents;if(j!==void 0)return j;let X=q(W);return re.contents=X,X};return D!==void 0?W=>{let j=D(W),X=te(W);for(let M=0,I=X.length;M<I;++M)j.push(X[M]);return j}:te},C=D=>{let q=P(D.refiner,S,w);q!==void 0&&(D.refiner=q);let re=P(D.inputRefiner,T,A);if(re!==void 0){D.inputRefiner=re;return}},k;if(Ed in e.s){let D=[],q=[];for(let re=0;re<=g;++re){let te=r[re];Ed in te&&te.const===e.s.const?D.push(te):q.push(te)}k=D.concat(q)}else k=r;for(let D=0;D<=g;++D){let q=i!==void 0?$c(k[D],j=>{C(j),j.to=i}):k[D],re=q.type,te=Si[re],W=y1(q);if((a===""||a===W)&&!(te&16&&"fromDefault"in t)){let j=b[W];if(j!==void 0)te&64&&Sm in q.properties?j.splice(j.length-1|0,0,q):te&2096||j.push(q);else{let X=Ru(e),M;if(te&37633)M=pi;else{let ie=_o(q.type,!1);ie.encoder=q.encoder,te&8192?ie.class=q.class:te&64?(ie.properties=A1,ie.additionalItems=pi):te&128?(ie.additionalItems=pi,ie.items=MT):te&2096&&(ie.const=q.const),ie.decoder=se=>Si[se.s.type]&1?Dn(se,se.e,[{c:de=>{let le=Si[q.type];if(le&64)return d3(de)+"&&!"+IT(de);if(le&128)return IT(de);if(le&8192)return Cfe(se,q.class)(de);if(!(le&4))return le&2048?jh(de):le&48?de+"==="+lb(se,q):le&17418?zh(q.type)(de):"";let be=zh(Mc)(de);return se.g.o&2?be:be+"&&!"+jh(de)},f:Wo}],void 0):q.decoder(se),M=ie}X.e=M;let I;try{I=Fi(X)}catch{X.vc=void 0,I=X}V5(te,b)?y.unshift(W):y.push(W),b[W]=[X,I,q];let Q=!0,H=I;for(;H!==void 0&&Q;){let ie=H;H=ie.prev,Q=!(ie.vc&&n3(ie))}if(Q){for(let ie=0,se=y.length;ie<se;++ie){let de=y[ie];if(!_){let le=b[de],be=le[1],Xe=f(le,!0),Qe=Cd(be,void 0)+Xe,oe=c.contents;if(oe)if(c.contents="",Qe){let Te="e"+(D+ie|0);h=h+("try{"+Qe+"throw "+oe+"}catch("+Te+"){"),m="}"+m,p=p+","+Te}else p=p+","+oe;else if(Qe){let Te="e"+(D+ie|0);h=h+("try{"+Qe+"}catch("+Te+"){"),m="}"+m,p=p+","+Te}else _=!0}}b={},y=[]}}}}let $=b,V=y;if(!_){let D=!1,q="";for(let W=0,j=V.length;W<j;++W){let X=$[V[W]],M=X[1],I=X[2],Q=f(X,!1),H={contents:""},ie=Cd(M,H)+Q,se=H.contents;ie||V5(Si[I.type],$)?(h=h+(D?"else if":"if")+("("+se+"){"+ie+"}"),D=!0):q=q?q+"||"+se:se}let re=l(p),te;q?te=(D?"else if":"if")+("(!("+q+")){"+re+"}"):te=D?"else{"+re+"}":m===""?re+";":re,h=h+te}d.cp=d.cp+h+m,e.i!==d.i&&(d.i=e.i);let F=d.f&1?(d.i="Promise.resolve("+d.i+")",d.v=RT,d):d.v===Sa&&e.cp===""&&d.cp===""&&s==="i"?(e.hd="",e.v=RT,e.i=s,e):d;return F.s=u.length?Pd(u):N1(),F.e=i!==void 0?(F.io=!0,jc(i)):t,F}function h3(e,t){return t.every((r,n)=>{let i=e[n];return i!==void 0&&!(Si[r.type]&9152)&&r.type===i.type&&r.const===i.const?r.to===void 0:!1})}function _3(e,t){return Dn(e,pi,void 0,$c(e.s,r=>{r.to=t}))}function $fe(e,t){return!(Si[jc(t).type]&512)&&!(t.type===Hl&&t.anyOf.some(r=>Si[r.type]&512))?!e.some(r=>r.to!==void 0||r.parser!==void 0?!0:Si[r.type]&512):!1}function g3(e){if(e.parser!==void 0)return;let r=e.to;if(r!==void 0)return r}function ib(e,t){let r=e.d,n;if(r!==void 0)n=r;else{let u={};e.d=u,n=u}let i=n[t];if(i!==void 0)return Ru(i);let o=e.s.type===ko?e.s.properties[t]:e.s.items[t],a;if(o!==void 0)a=o;else{let u=e.s.additionalItems;a=u==="strip"||u==="strict"?Tm(e,e.s,e.e):e.s.type===ko&&u.type!==ab&&!(Si[u.type]&512)&&!yfe(u)?q1(u):u}let l="["+xm(e.g,t)+"]",d={p:e,v:v1,i:Ed in a?lb(e,a):e.v()+l,s:a,e:a,f:0,cp:"",hd:"",path:e.path+l,g:e.g};return n[t]=d,d}function Bh(e){let t=e.s.type===Gu,r="",n="",i,o=Object.keys(e.d);for(let d=0,u=o.length;d<u;++d){let c=o[d],f=e.d[c];if(f.f&1&&(n=n+f.i+","),f.o){let h=i;i=m=>(h!==void 0?h(m):"")+("if("+f.v()+"!==void 0){"+m+"["+xm(e.g,c)+"]="+f.i+"}")}else r=r+(t?f.i:xm(e.g,c)+":"+f.i)+","}if(e.i=t?"["+r+"]":"{"+r+"}",n){let d=Ru(e);d.io=!0;let u=Fi(d),c=Cd(u,void 0);return c===""&&n===u.i+","?e.i=u.i:e.i="Promise.all(["+n+"]).then((["+n+"])=>{"+c+"return "+u.i+"})",e.f=e.f|1,e.s=u.s,e.e=u.e,e.io=!0,e}let a=i;if(a===void 0)return e;let s=a(e.v()),l=Dn(e,void 0,void 0,void 0);return l.cp=l.cp+s,l}function Pd(e){let t=e.length;if(t===1)return e[0];if(t!==0){let r={},n=new Set;for(let o=0,a=e.length;o<a;++o){let s=e[o];s.type===Hl&&s.to===void 0?(s.anyOf.forEach(l=>{n.add(l)}),Object.assign(r,s.has)):(n.add(s),u3(r,s.type))}let i=_o(Hl,!1);return i.anyOf=Array.from(n),i.decoder=p3,i.encoder=Mfe,i.has=r,i}throw new Error("[Sury] S.union requires at least one item")}function V5(e,t){return e&8320&&ko in t?!0:e&2048?Mc in t:!1}function y1(e){return Si[e.type]&8192?e.class.name:e.type}function CT(e){for(;;){let t=e,r=!1,n=!1,i=!1;if(t.to===void 0&&t.parser===void 0&&!(Si[t.type]&512)){let a=t.anyOf;i=a!==void 0?a.every(CT):!0}if(i){let a=t.items;n=a!==void 0?a.every(CT):!0}if(n){let a=t.properties;r=a!==void 0?Object.values(a).every(CT):!0}if(!r)return!1;let o=t.additionalItems;if(o===void 0||o==="strip"||o==="strict")return!0;e=o}}function ub(e){let t=_o(Gu,e[bm]===e);return t.additionalItems=e,t.items=MT,t.decoder=db,t}function jT(e,t){let r=t!==void 0?t:Iu(),n=jc(e);switch(n.type){case"undefined":return Pd([r,K5(e)]);case"union":let o=n.has,a=n.anyOf;return $c(e,s=>{let l=mfe(o),d=[];for(let u=0,c=a.length;u<c;++u){let f=a[u],h=jc(f),m=h.type,p;if(m==="undefined")l[r.type]=!0,d.push(r),p=K5(f);else{let _=h.properties;if(_!==void 0){let g=_[Sm];p=g!==void 0?$c(f,b=>{let y={},S={...g};S.const=g.const+1,y[Sm]=S,b.properties=y}):f}else p=f}d.push(p)}d.length===a.length&&(l[r.type]=!0,d.push(r)),s.anyOf=d,s.has=l});default:return Pd([e,r])}}function K5(e){return $c(e,t=>{t.to=Dfe(),t.parser=Ife})}function FT(e){let t=_o(ko,e[bm]===e);return t.properties=A1,t.additionalItems=e,t.decoder=Kh,t}function J5(e){let t=e.e,r=t.$ref,n=e.g.d,i=r.slice(8),o=n[i],a=e.g.o,s=e.s.seq===t.seq?o:e.s,l=s.seq+"-"+o.seq+"--"+a,d="",u=o[l];if(u!==void 0){let p=ce(u);d=p===0?kd(e,o)+('["'+l+'"]'):kd(e,p)}else{let p=v(o.hasTransform,!1),_=v(o.isAsync,!1),g=!0,b=0;for(;g;){g=!1,o.hasTransform===void 0&&(o.hasTransform=p),o.isAsync===void 0&&(o.isAsync=_),H5[qh]=0,Fs(o,l,H5);let y=m3(s,o,a,n);Ad[qh]=y,Fs(o,l,Ad),b=y;let S=o.hasTransform,T=o.isAsync;(S!==p||T!==_)&&(p=S,_=T,delete o[l],g=!0)}d=kd(e,b)}let c=o.hasTransform===!0,f=o.isAsync,h="",m;if(c||f){let p=fs(e.g);h="let "+p+";";let _=sl(e,p,t,t);_.v=Sa,_.cp=p+"="+d+"("+e.i+");",f&&(_.f=_.f|1),m=_}else{let p=Dn(e,t,void 0,t);p.cp=d+"("+e.i+");",m=p}return m.prev=void 0,m.cp=h+M1(m,e,void 0,void 0),m.fz=void 0,m.prev=e,m}Fs(R1,"~standard",{get:function(){let e=this;return{version:1,vendor:k1,validate:t=>{try{return{value:nb(pi,e)(t)}}catch(r){let n=$T(r);return{issues:[{message:n.reason,path:n.path===""?void 0:pfe(n.path)}]}}}}}});function b3(e,t){return nb(pi,t)(e)}function y3(e,t,r){return nb(wd(t),r)(e)}var jfe="#/$defs/";function Ffe(e,t){return $c(e,r=>{let n=t(r),i=r.refiner;i!==void 0?r.refiner=o=>{let a=i(o),s=n(o);for(let l=0,d=s.length;l<d;++l)a.push(s[l]);return a}:r.refiner=n})}function x3(e,t,r,n){let i=r!==void 0?r:"Refinement failed",o=n!==void 0?_fe(n):"";return Ffe(e,a=>(s=>{let l=kd(s,t);return[{c:d=>l+"("+d+")",f:I1(void 0,o,i,void 0)}]}))}function z1(){let e=Vl(Vh());return e.to=Iu(),e}function S3(e,t){return $c(e,r=>{let n=r.anyOf;if(n!==void 0){let o=[],a=[];for(let f=0,h=n.length;f<h;++f){let m=n[f],p=jc(m);p.type!=="undefined"&&(o.push(p),a.push(m))}let s=o.length,l;if(s!==1)if(s!==0)l=Pd(o);else{let f="Can't set default for "+to(r);throw new Error("[Sury] "+f)}else l=o[0];let d=a.length!==1?Pd(a):a[0];if(t.TAG==="Value"){let f=t._0;try{nb(pi,l)(f)}catch(h){let m=$T(h),p="Invalid default for "+to(r)+": "+m.message;throw new Error("[Sury] "+p)}try{r.default=nb(wd(d),void 0)(f)}catch{}}r.parser=f=>{let h=f.e.to,m=f.v(),p;return p=t.TAG==="Value"?lb(f,F1(t._0)):kd(f,t._0)+"()",sl(f,m+"===void 0?"+p+":"+m,h,h)};let u=Vl(l),c=u.decoder;u.serializer=f=>{let h=wd(d);return Dn(c(f),h,void 0,h)},u.decoder=e3,r.to=u;return}let i="Can't set default for "+to(r);throw new Error("[Sury] "+i)})}function w1(e,t){let r=Si[t.type];if(r&46)return Fi(Dn(e,pi,void 0,t));if(r&2064){let i=Vl(Vh());return i.to=t,Fi(Dn(e,pi,void 0,i))}if(r&128){let i=ub(pi),o=Fi(Dn(e,pi,void 0,i));return o.s.additionalItems=cs(),o.e=t,o.io=!1,o}if(r&64){let i=FT(pi),o=Fi(Dn(e,pi,void 0,i));return o.s.additionalItems=cs(),o.e=t,o.io=!1,o}if(r&768)return e;let n=Vl(Hh());return n.to=t,Fi(Dn(e,pi,void 0,n))}function $h(e){let t=Si[e.type],r=!0;if(!(t&46||e.$ref===cs().$ref||t&256&&e.anyOf.every($h))){let i=!1;if(t&128){let o=e.additionalItems,a;a=o==="strip"||o==="strict"?!0:$h(o),i=a}r=i&&e.items.every($h)}if(r)return!0;let n=!1;if(t&64){let i=e.additionalItems,o;o=i==="strip"||i==="strict"?!0:$h(i),n=o}return n?Object.values(e.properties).every($h):!1}function Z5(e){let t=Si[e.s.type];if($h(e.s))return e;if(t&2064)return Dc(e,Vh(),void 0);if(t&128){let r=_o(Gu,!1);r.items=e.s.items.map(o=>cs()),r.decoder=db;let n=e.s.additionalItems,i;return i=n==="strip"||n==="strict"?n:cs(),r.additionalItems=i,r.to=e.e.to,Fi(Dn(e,void 0,void 0,r))}if(t&64){let r=e.s.additionalItems;if(!(r==="strip"||r==="strict")){let o=FT(cs());return o.to=e.e.to,Fi(Dn(e,void 0,void 0,o))}let n=Uh(e,e.s);n.e=cs(),e.e.to&&(n.e=Vl(n.e),n.e.to=e.e.to);let i=Object.keys(e.s.properties);for(let o=0,a=i.length;o<a;++o){let s=i[o],l=ib(e,s);if(l.io=!1,l.s.type===Hl&&l.s.has[al]){l.e=Pd([Iu(),cs()]);let d=Fi(l);d.o=!0,Od(n,s,d)}else l.e=cs(),Od(n,s,Fi(l))}return Bh(n)}if(t&512)return J5(e);if(t&256&&!(al in e.s.has))return Fi(_3(e,e.e));if(t&1)return e.e.to&&!e.e.parser?(e.s=cs(),w1(e,e.e)):e.e.noValidation?(e.s=cs(),e):J5(e);try{let r=Vl(Hh());return r.to=e.e,e.e=r,Fi(e)}catch{return Tm(e,e.s,cs())}}function cs(){return Fc(gm,T1,e=>{let t=_o(T1,!0);t.$ref=jfe+gm,t.name=gm,t.decoder=Z5,t.encoder=w1,e.$ref=t.$ref,e.name=gm,e.decoder=Z5,e.encoder=w1;let r=[Hh(),j1(),$1(),Vh(),FT(t),ub(t)],n={};r.forEach(a=>{n[a.type]=!0});let i=_o(Hl,!0);i.anyOf=r,i.has=n,i.decoder=p3,i.name=gm,i.type=Hl;let o={};o[gm]=i,e.$defs=o})}function Nfe(e){return e[O1]}function ob(e,t,r){let n=Vl(jc(e));return n.from=t,r!==void 0&&(n.fromFlattened=r),new Proxy(n,{get:(i,o)=>{if(o===O1)return i;let a=i.items,s=i.properties,l=s!==void 0?s[o]:a!==void 0?a[o]:void 0;if(l===void 0){let d='Cannot read property "'+o+'" of '+to(i);throw new Error("[Sury] "+d)}return ob(l,i.from.concat(o),i.fromFlattened)}})}function T3(e,t,r){let n=Uh(e,t);n.io=!0;let i=t.items;if(i!==void 0)for(let o=0,a=i.length;o<a;++o){let s=o.toString();Od(n,s,r(s,i[o]))}else{let o=t.properties;if(o!==void 0){let a=Object.keys(o);for(let s=0,l=a.length;s<l;++s){let d=a[s];Od(n,d,r(d,o[d]))}}else{let a="Don't know where the value is coming from: "+to(t);throw new Error("[Sury] "+a)}}return Bh(n)}function v3(e,t){let r=t.from,n=t.fromFlattened,i=n!==void 0?Ru(Q5(e.fv[n],t.from,0)):r!==void 0?Ru(Q5(e,r,0)):Ed in t?Dc(e,t,void 0):T3(e,t,(o,a)=>v3(e,a));return i.prev=void 0,i.e=t,i}function w3(e,t){let r=t.e,n=r.from;if(n!==void 0){let a=r.fromFlattened,s;if(a!==void 0){e.flattened===void 0&&(e.flattened=[]);let l=e.flattened[a];if(l!==void 0)s=l;else{let d={};e.flattened[a]=d,s=d}}else s=e;for(let l=0,d=n.length;l<d;++l){let u=n[l],c=s.properties,f;if(c!==void 0)f=c;else{let p={};s.properties=p,f=p}let h=f[u],m;if(h!==void 0)m=h;else{let p={};f[u]=p,m=p}s=m}s.val=t;return}let i=t.d;if(i===void 0)return;let o=Object.keys(i);for(let a=0,s=o.length;a<s;++a)w3(e,i[o[a]])}function OT(e,t,r,n){let i=0;if(t!==void 0){let o=t.val;if(o!==void 0){let a=Ru(o);return a.t=!0,a.s=r,a.e=r,Fi(a)}i=1}else i=1;if(i===1){if(Ed in r){let c=Dc(e,r,r);return c.prev=void 0,c.p=e,c.v=v1,c.io=!0,Fi(c)}let o=t===void 0?jc(r):r,a=Uh(e,o);a.e=o,a.io=!0,a.prev=void 0,a.p=e,a.v=v1;let s=o.flattened,l=o.items,d=0,u=0;if(l!==void 0&&(t!==void 0||typeof o.additionalItems!==ko))for(let c=0,f=l.length;c<f;++c){let h=c.toString(),m;if(t!==void 0){let _=t.properties;m=_!==void 0?_[h]:void 0}else m=void 0;let p=xm(e.g,h);Od(a,h,OT(e,m,l[c],n+("["+p+"]")))}else u=3;if(u===3){let c=o.properties;if(c!==void 0&&(t!==void 0||typeof o.additionalItems!==ko)){if(s!==void 0&&t!==void 0){let h=t.flattened;h!==void 0&&h.forEach((m,p)=>{let g=OT(e,m,wd(s[p]),n).d,b=Object.keys(g);for(let y=0,S=b.length;y<S;++y){let T=b[y];Od(a,T,g[T])}})}let f=Object.keys(c);for(let h=0,m=f.length;h<m;++h){let p=f[h];if(!(p in a.d)){let _;if(t!==void 0){let b=t.properties;_=b!==void 0?b[p]:void 0}else _=void 0;let g=xm(e.g,p);Od(a,p,OT(e,_,c[p],n+("["+g+"]")))}}}else d=2}if(d===2){let c=r.from,f=c!==void 0?n+c.map(m=>'["'+m+'"]').join(""):n,h=f===""?"":" at "+f;kfe(e,"Missing input for "+to(r)+h)}return Bh(a)}}function Q5(e,t,r){for(;;){let n=r,i=e,o=t[n];if(o===void 0)return i;r=n+1|0,e=i.d[o]}}function DT(e,t){if(typeof e!==ko||e===null)return F1(e);let r=t(e);if(r!==void 0)return r;if(Array.isArray(e)){for(let l=0,d=e.length;l<d;++l){let u=DT(e[l],t);e[l]=u}let s=_o(Gu,!1);return s.items=e,s.additionalItems="strict",s.decoder=db,s}let n=e.constructor;if(n&&n!==Object){let s=_o(E1,!0);return s.class=n,s.const=e,s.decoder=Lh,s}let i=Object.keys(e),o=i.length;for(let s=0;s<o;++s){let l=i[s],d=DT(e[l],t);e[l]=d}let a=_o(ko,!1);return a.required=i,a.properties=e,a.additionalItems=eb.a,a.decoder=Kh,a}function qfe(e){let t={};w3(t,e);let r=e.e.to,n=OT(e,t,r,"");return n.t=!0,n.prev=e,n}function cb(e){return DT(e,t=>{if(t["~standard"])return t})}function A3(e){let t=this,r="~"+e,n=t[r];if(n!==void 0)return ce(n);let i={},o=[],a=_o(ko,!1);a.required=o,a.properties=i,a.additionalItems=eb.a,a.decoder=Kh;let s=t.f(e,a)[O1],l=(h,m)=>{let p=Wh(h);if(h in i)throw new Error("[Sury] "+("The field "+p+" defined twice"));return o.push(h),i[h]=m,ob(m,s.from.concat(h),s.fromFlattened)},f={field:l,f:l,fieldOr:(h,m,p)=>{let _=jT(m,void 0);return l(h,S3(_,{TAG:"Value",_0:p}))},tag:(h,m)=>{l(h,cb(m))},nested:A3,flatten:h=>{if(h.type==="object"){let _=h.to,g=h.properties;if(_){let S="Unsupported nested flatten for transformed object schema "+to(h);throw new Error("[Sury] "+S)}let b=Object.keys(g),y={};for(let S=0,T=b.length;S<T;++S){let w=b[S];y[w]=l(w,g[w])}return y}let p="Can't flatten "+to(h)+" schema";throw new Error("[Sury] "+p)}};return t[r]=f,f}function k3(e){let t=Vl(DT(e,Nfe));return t.serializer=qfe,t}function C3(e){let t=e.e.flattened;if(t!==void 0){let i=[];for(let o=0,a=t.length;o<a;++o){let s=t[o],l=s.to,d;if(l!==void 0){let u=Ru(e);u.e=s,u.io=!0,d=Fi(u)}else{let u=T3(e,s,(c,f)=>ib(e,c));u.e=s,u.prev=void 0,d=rb(u,u)}i.push(d),e.cp=e.cp+Cd(d,void 0)}e.fv=i}let r=e.e.to,n=v3(e,r);return n.t=!0,n.prev=e,rb(n,e)}function O3(e){let t,r={},n=u=>{if(u.type==="object"){let h=u.properties,m=Object.keys(h);for(let _=0,g=m.length;_<g;++_){let b=m[_],y=h[b],S=r[b];if(S!==void 0){if(S!==y)throw new Error("[Sury] "+('The field "'+b+'" defined twice with incompatible schemas'))}else r[b]=y}let p=t||(t=[]);return ob(u,MT,p.push(u)-1|0)}let f="The '"+to(u)+"' schema can't be flattened";throw new Error("[Sury] "+f)},i=(u,c)=>{if(u in r)throw new Error("[Sury] "+('The field "'+u+'" defined twice with incompatible schemas'));return r[u]=c,ob(c,[u],void 0)},l=e({field:i,f:i,fieldOr:(u,c,f)=>{let h=jT(c,void 0);return i(u,S3(h,{TAG:"Value",_0:f}))},tag:(u,c)=>{i(u,cb(c))},nested:A3,flatten:n}),d=_o(ko,!1);return d.required=Object.keys(r),d.properties=r,d.additionalItems=eb.a,d.decoder=Kh,d.parser=C3,d.to=k3(l),t!==void 0&&(d.flattened=t),d}function E3(e){let t=[],r=(s,l)=>{let d=s.toString();if(t[s])throw new Error("[Sury] "+("The item ["+d+"] is defined multiple times"));return t[s]=l,ob(l,[s.toString()],void 0)},o=e({item:r,tag:(s,l)=>{r(s,cb(l))}});for(let s=0,l=t.length;s<l;++s)t[s]||(t[s]=Iu());let a=_o(Gu,!1);return a.items=t,a.additionalItems="strict",a.decoder=db,a.parser=C3,a.to=k3(o),a}function zfe(e){return e}var Lfe={m:zfe};function Ufe(e){return cb(e(Lfe))}var P3=cb;function G3(e){return Pd(e.map(P3))}function R3(e){return jT(e,z1())}function I3(e){return Pd([e,Iu(),Vh()])}function D3(e){return Pd([e,Iu(),z1()])}var M3=P3,$3=FT,j3=Pd;var F3=Ufe;var N3=pi;var U=Hh(),Ho=j1();var Cr=$1();var Ti=cs();var L1=P1;var vm=M3,Vo=ub;var fb=$3,Z=q1;var U1=R3,mb=I3,go=D3,Jh=j3,NT=G3;var Du=x3;var q3=b3;var z3=y3;var Va=F3;var Pt=O3;var L3=E3;function U3(e){return{path:e.path,summary:e.message}}function at(e){return{path:"",summary:e}}function Kl(e,t){try{return{TAG:"Ok",_0:q3(e,t)}}catch(r){let n=N(r);if(n.RE_EXN_ID===L1)return{TAG:"Error",_0:U3(n._1)};throw n}}function Zh(e,t){try{let r=z3(e,t,N3),n=JSON.stringify(r);return n!==void 0?{TAG:"Ok",_0:JSON.parse(n)}:{TAG:"Error",_0:{path:"",summary:"value is not JSON-serializable"}}}catch(r){let n=N(r);return n.RE_EXN_ID===L1?{TAG:"Error",_0:U3(n._1)}:{TAG:"Error",_0:{path:"",summary:"serialized value is not valid JSON"}}}}import*as pb from"node:fs";import*as V3 from"node:os";import*as qT from"node:path";function Qh(){return qT.join(V3.homedir(),".linzumi","auth.json")}var B3="Kandan auth cache must contain a JSON object",Wfe="Kandan auth cache local_codex_runner must be an object",Hfe="Kandan auth cache personal_agent_delegation must be an object";function W3(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e.access_token,r=e.issued_at;if(t===void 0||typeof t!="string"||r===void 0||typeof r!="string")return;let n=e.expires_at,i;return i=typeof n=="string"?n:void 0,{accessToken:t,issuedAt:r,expiresAt:i}}function K3(e){let t;try{t=JSON.parse(e)}catch{t=void 0}if(t===void 0)return{TAG:"Error",_0:at(B3)};if(typeof t!="object"||t===null||Array.isArray(t))return{TAG:"Error",_0:at(B3)};let r=t.local_codex_runner,n=t.personal_agent_delegation,i=r!==void 0?typeof r=="object"&&r!==null&&!Array.isArray(r):!0,o=n!==void 0?typeof n=="object"&&n!==null&&!Array.isArray(n):!0;if(!i)return{TAG:"Error",_0:at(Wfe)};if(!o)return{TAG:"Error",_0:at(Hfe)};let a;return a=typeof r=="object"&&r!==null&&!Array.isArray(r)?Object.fromEntries(Fe(Object.entries(r),s=>{let l=s[0];return z(W3(s[1]),d=>[l,d])})):void 0,{TAG:"Ok",_0:{serverTokens:a,personalAgentDelegation:E(n,W3)}}}function J3(e){return pb.existsSync(e)?Ae(He($t(e),t=>at(t.message)),t=>Ze(K3(t),r=>r)):{TAG:"Ok",_0:void 0}}function Z3(e,t){return e!==void 0?new Date(e).getTime()<=t:!1}function Yh(e,t,r){return pb.existsSync(t)?Ae(J3(t),n=>Ze(He(mi(e),at),i=>E(E(E(n,o=>o.serverTokens),o=>o[i]),o=>{if(!(o.accessToken.trim()===""||Z3(o.expiresAt,r)))return{accessToken:o.accessToken,serverBaseUrl:i,issuedAt:o.issuedAt,expiresAt:o.expiresAt}}))):{TAG:"Ok",_0:void 0}}function Vfe(e){return"missing personal-agent delegation auth file: "+e}var Kfe="personal-agent delegation auth file is missing access_token",Jfe="personal-agent delegation auth file token is expired";function Q3(e,t){return pb.existsSync(e)?Ae(J3(e),r=>{let n=E(r,i=>i.personalAgentDelegation);return n!==void 0&&n.accessToken.trim()!==""?Z3(n.expiresAt,t)?{TAG:"Error",_0:at(Jfe)}:{TAG:"Ok",_0:n}:{TAG:"Error",_0:at(Kfe)}}):{TAG:"Error",_0:at(Vfe(e))}}function H3(e){let t={};t.access_token=e.accessToken,t.issued_at=e.issuedAt;let r=e.expiresAt;return r!==void 0&&(t.expires_at=r),t}function Zfe(e){let t={};t.version=1;let r=e.serverTokens;r!==void 0&&(t.local_codex_runner=Object.fromEntries(Object.entries(r).map(i=>[i[0],H3(i[1])])));let n=e.personalAgentDelegation;return n!==void 0&&(t.personal_agent_delegation=H3(n)),t}function Am(e,t,r,n,i){return Ae(He(mi(e),at),o=>{let a=pb.existsSync(n)?Ae(He($t(n),s=>at(s.message)),K3):{TAG:"Ok",_0:{serverTokens:void 0,personalAgentDelegation:void 0}};return Ae(a,s=>{let l=i.toISOString(),d=z(r,g=>new Date(i.getTime()+g*1e3).toISOString()),u={accessToken:t,issuedAt:l,expiresAt:d},c=s.serverTokens,f=c!==void 0?Object.fromEntries(Object.entries(c)):{};f[o]=u;let h=Zfe({serverTokens:f,personalAgentDelegation:s.personalAgentDelegation}),m=JSON.stringify(h,void 0,2)+`
148
+ - `+(m===""?"":"At "+m+": ")+h;d[_]||(d[_]=1,s=s+_)}}let l={code:"invalid_input",path:r,reason:s,expected:e,received:t,unionErrors:o};return i&&(l.input=n),l}function I1(e,t,r,n){return i=>{let o=t!==void 0?t:"",a=n!==void 0?n:!0,s=e!==void 0?e:i.e,l=i.prev,d=l!==void 0?l.s:i.s,u=o===""?i.path:i.path+o;return c=>t3(s,d,u,c,a,void 0,r)}}function Wo(e){let t=e.e.errorMessage,r;if(t!==void 0){let n=t.type;r=n!==void 0?n:t._}else r=void 0;return I1(void 0,void 0,r,void 0)(e)}function r3(e,t){let r=t!==void 0?t:e.e;return tb(e,I1(r,void 0,void 0,void 0)(e),e.v())}function Afe(e,t){let r=e.vc,n=r.length;if(n===1){let a=r[0];return a.c(t)+"||"+tb(e,a.f(e),t)+";"}let i="",o=0;for(;o<n;){let a=r[o],s=a.f,l=a.c(t);for(o=o+1|0;o<n&&r[o].f===s;)l=l+"&&"+r[o].c(t),o=o+1|0;i=i+(l+"||"+tb(e,s(e),t)+";")}return i}function n3(e){return e.t===!0?e.prev.t!==!0?e.cp==="":!1:!0}function Cd(e,t){let r=e,n="";for(;r!==void 0;){let i=r;r=i.prev;let o="";if(i.vc)if(t!==void 0&&n3(i)){let s=r.v(),l=i.vc,d="";for(let u=0,c=l.length;u<c;++u){let f=l[u],h=f.c(s);f.f===Wo?d=d?d+"&&"+h:h:i.e.noValidation!==!0&&(o=o+(h+"||"+tb(i,f.f(i),s)+";"))}d&&(t.contents?t.contents=d+"&&"+t.contents:t.contents=d)}else i.e.noValidation!==!0&&(o=Afe(i,r.v()));i.hd!==""&&(o=o+("let "+i.hd+";")),i.fz=!0,o=i.cp+o,n=o+n}return n}function sl(e,t,r,n){let i=n!==void 0?n:e.e;return{v:RT,i:t,s:r,e:i,prev:e,f:0,d:e.d,cp:"",hd:"",t:!0,path:e.path,g:e.g}}function Dn(e,t,r,n){let i=t!==void 0?t:e.s,o=n!==void 0?n:e.e,a=e.v!==Sa,s={v:a?Tfe:Sa,i:e.i,s:i,e:o,prev:e,f:e.f,d:e.d,cp:"",hd:"",vc:r,t:e.t,path:e.path,g:e.g};if(a){let l=e.v.bind(e);e.v=()=>{let d=l();return s.i=d,s.v=Sa,d}}return s}function D1(e,t){let r=e.vc;r!==void 0?r.push(t):e.vc=[t]}function rb(e,t){let r=t.e.inputRefiner,n;if(r!==void 0){let s=r(t);if(s.length!==0)if(t.prev!==void 0){for(let d=0,u=s.length;d<u;++d)D1(t,s[d]);n=void 0}else n=s;else n=void 0}else n=void 0;let i=e.e.refiner,o;if(i!==void 0){let s=i(e);o=s.length!==0?s:void 0}else o=void 0;let a=n!==void 0?o!==void 0?Dn(e,void 0,n.concat(o),void 0):Dn(e,void 0,n,void 0):o!==void 0?Dn(e,void 0,o,void 0):e;return a.io=!0,a}function i3(e,t,r){if(!t.vc)return;let i="["+xm(e.g,r)+"]";t.vc.forEach(o=>D1(e,{c:a=>o.c(a+i),f:o.f})),t.vc=void 0}function o3(e,t){let r=e.s.additionalItems,n;n=r!==void 0&&r!=="strip"&&r!=="strict"?r:pi;let i=e.e.additionalItems,o;return o=i!==void 0&&i!=="strip"&&i!=="strict"?i:pi,{p:e,v:vfe,i:e.v()+"["+t+"]",s:n,e:o,f:e.f,cp:"",hd:"",path:"",g:e.g}}function Dc(e,t,r){return sl(e,lb(e,t),t,r)}function a3(e,t){let r=sl(e,t,e.s,void 0);return r.f=1,r}function Od(e,t,r){e.s.type===Gu?e.s.items.push(r.s):(r.o||e.s.required.push(t),e.s.properties[t]=r.s),r.f&1&&r.v(),e.cp=e.cp+Cd(r,void 0),e.d[t]=r}function s3(e,t,r){return e.v()+"["+t+"]="+r.i}function Ru(e){let t=e.v!==Sa,r={b:e,v:t?Sfe:Sa,i:e.i,s:e.s,io:e.io,e:e.e,f:0,d:e.d,cp:"",hd:"",u:!1,t:!1,path:e.path,g:e.g};if(t){let n=e.v.bind(e);e.v=()=>{let i=n();return r.i=i,r.v=Sa,i}}return r}function kfe(e,t){throw new ym({code:"invalid_operation",path:e.path,reason:t})}function M1(e,t,r,n){if(e.path===""&&r===void 0)return Cd(e,void 0);{let i=l=>{let d=t.path,u=d===""?"":Wh(d)+"+";return l+".path="+u+(r!==void 0?`'["'+`+r+`+'"]'+`:"")+l+".path"},o=Cd(e,void 0);if(o===""&&!(e.f&1))return o+(n!==void 0?n():"");let a=fs(e.g),s=i(a)+";throw "+a;return e.f&1&&(e.i=e.i+".catch("+a+"=>{"+s+"})"),"try{"+o+(n!==void 0?n():"")+"}catch("+a+"){"+s+"}"}}function l3(e){return e}l3.embedded=MT;function b1(e){return e+"<=2147483647&&"+e+">=-2147483648&&"+e+"%1===0"}function zh(e){return t=>"typeof "+t+'==="'+e+'"'}function jh(e){return"Number.isNaN("+e+")"}function IT(e){return"Array.isArray("+e+")"}function d3(e){return zh(ko)(e)+"&&"+e}function Cfe(e,t){return r=>r+" instanceof "+kd(e,t)}function Ofe(e){let t=Si[e.s.type];if(t&1){let i=[{c:zh(Mc),f:Wo}],o=e.e.format,a=0;return o==="int32"?i.push({c:b1,f:Wo}):a=1,a===1&&(e.g.o&2||i.push({c:s=>"!"+jh(s),f:Wo})),Dn(e,e.e,i,void 0)}if(!(t&2))return t&4?e.s.format!==e.e.format&&e.e.format==="int32"?Dn(e,e.e,[{c:b1,f:Wo}],void 0):e:Tm(e,e.s,e.e);let r=fs(e.g),n=sl(e,r,e.e,void 0);return n.v=Sa,n.cp="let "+r+"=+"+e.v()+";",n.vc=[{c:i=>{let o=e.e.format;return o!==void 0&&o==="int32"?b1(r):"!"+jh(r)},f:Wo}],n}function $1(){return Fc(Mc,Mc,e=>{e.decoder=Ofe})}function Efe(e){return sl(e,'""+'+e.i,Hh(),void 0)}function Pfe(e){let t=Si[e.s.type];if(t&1)return Dn(e,e.e,[{c:zh(Fh),f:Wo}],void 0);if(!(t&3132&&Ed in e.s))return t&1036?Efe(e):t&2?e:Tm(e,e.s,e.e);let r=""+e.s.const,n=_o(Fh,!1);return n.const=r,sl(e,'"'+r+'"',n,void 0)}function Hh(){return Fc(Fh,Fh,e=>{e.decoder=Pfe})}function Gfe(e){let t=Si[e.s.type];if(t&1)return Dn(e,e.e,[{c:zh(ET),f:Wo}],void 0);if(!(t&2))return t&8?e:Tm(e,e.s,e.e);let r=fs(e.g),n=sl(e,r,e.e,void 0);n.v=Sa;let i=e.v();return n.cp="let "+r+";("+n.i+"="+i+'==="true")||'+i+'==="false"||'+r3(e,void 0)+";",n}function j1(){return Fc(ET,ET,e=>{e.decoder=Gfe})}function u3(e,t){e[Si[t]&768?ab:t]=!0}var gm="JSON";function Lh(e){let t=e.e;if(t.noValidation&&!e.u)return Dc(e,t,void 0);if(Ed in e.s)return e.s.const===t.const?e:Dc(e,t,void 0);let r=Si[t.type];if(!(Si[e.s.type]&2&&r&3132))return r&2048?Dn(e,t,[{c:jh,f:Wo}],void 0):Dn(e,t,[{c:o=>o+"==="+lb(e,t),f:Wo}],void 0);let n=_o(Fh,!1);n.const=""+t.const;let i=Dc(e,n,n);return i.vc=[{c:o=>o+'==="'+n.const+'"',f:Wo}],Dc(i,t,t)}function Iu(){return Fc(al,al,e=>{e.const=void 0,e.decoder=Lh})}function Vh(){return Fc(Nh,Nh,e=>{e.const=null,e.decoder=Lh})}function c3(){return Fc(x1,x1,e=>{e.const=NaN,e.decoder=Lh})}function F1(e){if(e===null)return Vh();let t=typeof e;if(t===al)return Iu();if(t===Mc&&Number.isNaN(e))return c3();if(t===ko){let n=_o(E1,!0);return n.class=e.constructor,n.const=e,n.decoder=Lh,n}let r=_o(t,!0);return r.const=e,r.decoder=Lh,r}function Fi(e){let t=e,r,n=0;for(;!t.io||t.e.to;){let i=r;r=void 0;let o=t;if(n=n+1|0,n>50)throw new Error("Loop count exceeded 100");if(o.e.$defs&&(o.g.d?Object.assign(o.g.d,o.e.$defs):o.g.d=o.e.$defs),o.f&1){let a=o.v(),s=Ru(o),l=Fi(s),d=Cd(l,void 0);t=s.i!==l.i||d!==""?sl(o,a+".then("+a+"=>{"+d+"return "+l.i+"})",l.s,l.e):Dn(o,l.s,void 0,l.e),t.f=t.f|1,t.io=!0}else if(o.io){let a=o.e.to,l=o.e.parser;t=l!==void 0?l(o):Dn(t,void 0,void 0,a)}else{let a=o.s.encoder;a&&a!==i&&o.s!==o.e&&o.e.type!==ab&&(t=a(o,o.e)),o!==t?r=a:(t=o.e.decoder(o),t.io||(t=rb(t,t)))}}return t}function jc(e){for(;;){let t=e,r=t.to;if(r===void 0)return t;e=r}}function wd(e){if(bm in e)return e[bm];let t,r=e;for(;r;){let i=Vl(r),o=i.to,a=t;a!==void 0?i.to=a:delete i.to;let s=i.parser,l=i.serializer;l!==void 0?i.parser=l:delete i.parser,s!==void 0?i.serializer=s:delete i.serializer;let d=i.refiner,u=i.inputRefiner;u!==void 0?i.refiner=u:delete i.refiner,d!==void 0?i.inputRefiner=d:delete i.inputRefiner;let c=i.fromDefault,f=i.default;f!==void 0?i.fromDefault=f:delete i.fromDefault,c!==void 0?i.default=c:delete i.default;let h=i.items;h!==void 0&&(i.items=h.map(wd));let m=i.properties;if(m!==void 0){let g={},b=Object.keys(m);for(let y=0,S=b.length;y<S;++y){let T=b[y];g[T]=wd(m[T])}i.properties=g}typeof i.additionalItems===ko&&(i.additionalItems=wd(i.additionalItems));let p=i.anyOf;if(p!==void 0){let g={},b=[];for(let y=0,S=p.length;y<S;++y){let T=p[y],w=wd(T);b.push(w),u3(g,w.type)}i.has=g,i.anyOf=b}let _=i.$defs;if(_!==void 0){let g={};for(let b=0,y=Object.keys(_).length;b<y;++b){let S=Object.keys(_)[b];g[S]=wd(_[S])}i.$defs=g}t=i,r=o}let n=t;return Ad[qh]=n,Fs(e,bm,Ad),Ad[qh]=e,Fs(n,bm,Ad),n}function f3(e){try{return Fi(e)}catch(t){let r=$T(t),n=e.p;throw r.path=(n!==void 0?n.path:"")+(e.path+"[]"+r.path),r}}function m3(e,t,r,n){let i=wfe(Ed in e?pi:e,t,r,n),o=Fi(i),a=Cd(o,void 0),s=xfe(o.f,1);t.isAsync=s;let l=o.t===!0;if(t.hasTransform=l,a===""&&(o===i||o.i===i.i)&&!(r&1))return l3;let d=o.i;r&1&&!s&&!n&&(d="Promise.resolve("+d+")");let u="i=>{"+a+"return "+d+"}",c=i.g.e,f=new Function("e","s","return "+u)(c,C1);return f.embedded=i.g.e,f}function nb(e,t){let r=arguments,n=0,i,o="",a=0,s;for(;i===void 0;){let d=r[n];if(d)if(typeof d===Mc){let u=d|eb.f;i=u,o=o+"-"+u}else{let u=d.seq;u>a&&(a=u,s=d),o=o+u+"-",n=n+1|0}else{let u=eb.f;i=u,o=o+"-"+u}}let l=s;if(l!==void 0){let d=o;if(d in l)return l[d];let u=r[n-1|0];for(let f=n-2|0;f>=0;--f){let h=u;u=$c(r[f],m=>{m.to=h})}let c=m3(u,u,i,0);return Ad[qh]=c,Fs(l,d,Ad),c}throw new Error("[Sury] No schema provided for decoder.")}var Sm="BS_PRIVATE_NESTED_SOME_NONE";function Rfe(e){let t=Dn(e,void 0,void 0,N1());return t.cp=r3(e,void 0)+";",t}function N1(){return Fc(S1,S1,e=>{e.decoder=Rfe})}function Ife(e){let t=e.e.to;return sl(e,"{"+Sm+":"+jc(e.e).properties[Sm].const+"}",t,t)}function Uh(e,t){return{v:RT,i:"",s:t.type===Gu?{type:Gu,decoder:db,additionalItems:"strict",items:[]}:{type:ko,decoder:Kh,additionalItems:"strict",required:[],properties:{}},e:e.e,prev:e,f:0,d:{},cp:"",hd:"",t:!0,path:e.path,g:e.g}}function q1(e){return jT(e,Iu())}function Kh(e){let t=e.u,r=e.e,n=Si[e.s.type],i;if(n&65){let u=n&64,c;if(u)c=e.s;else{let h=_o(ko,!1);h.properties=A1,h.additionalItems=pi,c=h}let f=[];u||(f.push({c:d3,f:Wo}),r.additionalItems!=="strip"&&f.push({c:h=>"!"+IT(h),f:Wo})),i=f.length!==0?Dn(e,c,f,void 0):Dn(e,c,void 0,void 0)}else i=Tm(e,e.s,r);let o=r.additionalItems,a;a=o==="strip"||o==="strict"?void 0:o;let s=i.s.additionalItems,l;l=s!=="strip"&&s!=="strict";let d;if(a!==void 0)if(a===pi)d=i;else if(l){let u=i.v(),c=fs(i.g),f=o3(i,c),h=f3(f),m=h.t,p=m?sl(i,"{}",r,void 0):Dn(i,r,void 0,void 0),_=M1(h,i,c,m?()=>s3(p,c,h):void 0);if((m||_!=="")&&(p.cp=p.cp+("for(let "+c+" in "+u+"){"+_+"}")),h.f&1){let g=fs(p.g),b=fs(p.g),y=fs(p.g),S=fs(p.g),T=p.v();d=a3(p,"new Promise(("+g+","+b+")=>{let "+S+"=Object.keys("+T+").length;for(let "+c+" in "+T+"){"+T+"["+c+"].then("+y+"=>{"+T+"["+c+"]="+y+";if("+S+"--===1){"+g+"("+T+")}},"+b+")}})")}else d=p}else{let u=Uh(i,r),c=Object.keys(i.s.properties);for(let f=0,h=c.length;f<h;++f){let m=c[f],p=ib(i,m);p.e=a,p.io=!1,p.u=t,Od(u,m,Fi(p))}d=Bh(u)}else{let u=r.properties,c=Object.keys(u),f=c.length,h=Uh(i,r),m=r.additionalItems,p;p=m==="strip"||m==="strict"?m==="strip"?l||Object.keys(i.s.properties).length!==f:!1:!0;let _=i.s.additionalItems,g;g=_==="strip"||_==="strict"?!1:_.name===gm;for(let y=0;y<f;++y){let S=c[y],T=u[S],w=ib(i,S);w.e=T,w.io=!1,w.u=t,g&&T.type===Hl&&T.has[al]&&(w.i="("+w.i+"??null)");let A=Fi(w);t&&Ed in T&&i3(i,A,S),Od(h,S,A),p||(p=A.t)}let b=!1;if(r.additionalItems==="strict"){let y=i.s.additionalItems,S;S=y!=="strip"&&y!=="strict",b=S}if(b){let y=fs(h.g);if(GT(i,y),h.cp=h.cp+("for("+y+" in "+i.v()+"){if("),c.length!==0)for(let S=0,T=c.length;S<T;++S){let w=c[S];S!==0&&(h.cp=h.cp+"&&"),h.cp=h.cp+(y+"!=="+xm(i.g,w))}else h.cp=h.cp+"true";h.cp=h.cp+("){"+tb(i,S=>({code:"unrecognized_keys",path:h.path,reason:'Unrecognized key "'+S+'"',keys:[S]}),y)+"}}")}if(p)d=Bh(h);else{let y=Dn(i,void 0,void 0,void 0);y.cp=h.cp,y.d=h.d,d=y}}return rb(d,i)}function Dfe(){let e=F1(0),t={};return t[Sm]=e,{type:ko,serializer:r=>{let n=r.e.to;return Dc(r,n,n)},decoder:Kh,additionalItems:"strip",required:[Sm],properties:t}}function db(e){let t=e.u,r=e.e,n=Si[e.s.type],i=r.items,o=i.length,a;if(n&129){let u=n&128,c=u?e.s:ub(pi),f=[];u||f.push({c:IT,f:Wo});let h=c.additionalItems,m;if(m=h==="strip"||h==="strict"?c.items.length===o:!1,!m){let p=r.additionalItems;(p==="strip"||p==="strict")&&(p==="strip"?f.push({c:_=>_+".length>="+o,f:Wo}):f.push({c:_=>_+".length==="+o,f:Wo}))}a=f.length!==0?Dn(e,c,f,void 0):Dn(e,c,void 0,void 0)}else a=Tm(e,e.s,r);let s=r.additionalItems,l,d=0;if(s==="strip"||s==="strict")d=1;else if(s===pi)l=a;else{let u=a.v(),c=fs(a.g),f=o3(a,c),h=f3(f),m=h.t,p=m?sl(a,"new Array("+u+".length)",r,void 0):Dn(a,r,void 0,void 0),_=M1(h,a,c,m?()=>s3(p,c,h):void 0);(m||_!=="")&&(p.cp=p.cp+("for(let "+c+"="+o+";"+c+"<"+u+".length;++"+c+"){"+_+"}")),l=h.f&1?a3(p,"Promise.all("+p.i+")"):p}if(d===1){let u=Uh(a,r),c=r.additionalItems,f;if(c==="strip"||c==="strict")if(c==="strip"){let h=a.s.additionalItems;f=h==="strip"||h==="strict"?a.s.items.length!==o:!0}else f=!1;else f=!0;for(let h=0;h<o;++h){let m=i[h],p=h.toString(),_=ib(a,p);_.e=m,_.io=!1,_.u=t;let g=Fi(_);t&&Ed in m&&i3(a,g,p),Od(u,p,g),f||(f=g.t)}if(f)l=Bh(u);else{let h=Dn(a,void 0,void 0,void 0);h.cp=u.cp,h.d=u.d,l=h}}return rb(l,a)}function Mfe(e,t){let r=e.s.anyOf;return t.type===Hl&&g3(t)===void 0&&h3(t.anyOf,r)||!$fe(r,t)?e:_3(e,t)}function p3(e){let t=e.e,r=t.anyOf,n=Si[e.s.type],i=g3(t);if(e.s===t&&i===void 0&&r.every(CT)||n&256&&h3(r,e.s.anyOf)&&i===void 0||e.io&&e.e===e.s)return e;(n&256||e.s.encoder===void 0&&n&512)&&(e.s=pi);let o="";if(!(n&769)){let D=y1(e.s),q=!1,re=!1,te=r.length,W=0;for(;o===""&&W<te;){let j=r[W];y1(j)===D?o=D:j.type===Nh?q=!0:j.type===al&&(re=!0),W=W+1|0}o===""&&(n&16&&q?o=Nh:n&32&&re&&(o=al))}let a=o,s=e.i,l=D=>kd(e,function(){let q=arguments,re=t3(t,pi,e.path,q[0],!0,q.length>1?Array.from(q).slice(1):void 0,void 0);throw new ym(re)})+"("+e.v()+D+")",d=Dn(e,void 0,void 0,void 0),u=[],c={contents:""},f=(D,q)=>{let re=D[0],te=D[1],W="",j="",X=!1,M={contents:""},I="",Q={},H=2,ie=D.length-1|0;for(;H<=ie;){let se=Ru(te);se.u=!0,se.t=te.t,se.io=!1,se.e=D[H];let de=H===ie,le=H===2,be=le&&de,Xe=!be,Qe=!1,oe="",Te={contents:""};try{let ae=Fi(se);if(u.push(ae.s),oe=Cd(ae,Te),ae.t){d.t=!0,ae.f&1&&(d.f=d.f|1);let Ue=re.v();ae.i!==Ue&&(oe=oe+(Ue+"="+ae.i))}}catch(ae){let Ue=kd(se,$T(ae));I=I+","+Ue,q&&be?(c.contents=Ue,Qe=!0):de?(Xe=!1,oe=q?"throw "+Ue:l(I)):Qe=!0}let qe=Te.contents,Ne=oe;if(!Qe&&qe)if(Ne){let ae=Q[qe];ae!==void 0?typeof ae=="string"?Q[qe]=[ae,Ne]:ae.push(Ne):Q[qe]=Ne}else M.contents=M.contents?M.contents+"||"+qe:qe;if(!Qe&&(!qe||de)){let ae=Object.keys(Q);for(let Ue=0,Ee=ae.length;Ue<Ee;++Ue){let Re=ae[Ue];W=W+(X?"else if":"if")+("("+Re+"){");let Be=Q[Re];if(typeof Be=="string")W=W+Be+"}";else{let ht="";for(let Rt=0,Wt=Be.length;Rt<Wt;++Rt){let ge=Be[Rt],Ge="e"+Rt;W=W+("try{"+ge+"}catch("+Ge+"){"),ht=ht+","+Ge}W=W+l(ht)+"}".repeat(Be.length)+"}"}X=!0}Q={}}if(!Qe&&!qe)if(Ne)if(M.contents&&(W=W+(X?"else if":"if")+("(!("+M.contents+")){"),j="}"+j,M.contents="",X=!1),de&&(q||!Xe||le))W=W+((X?"else{":"")+Ne),j=(X?"}":"")+j;else{let ae="e"+(H-2|0);W=W+((X?"else{":"")+"try{"+Ne+"}catch("+ae+"){"),j=(X?"}":"")+"}"+j,I=I+","+ae,X=!1}else M.contents="",H=ie,Xe=!1;if(de){if(M.contents)W||I?W=W+(X?"else if":"if")+("(!("+M.contents+")){"+l(I)+"}"):D1(te,{c:ae=>"("+M.contents+")",f:Wo});else if(Xe){let ae=l(I);W=W+(X?"else{"+ae+"}":ae)}}H=H+1}return W+j},h="",m="",p="",_=!1,g=r.length-1|0,b={},y=[],S=t.refiner,T=t.inputRefiner,w={contents:void 0},A={contents:void 0},P=(D,q,re)=>{if(q===void 0)return D;let te=W=>{let j=re.contents;if(j!==void 0)return j;let X=q(W);return re.contents=X,X};return D!==void 0?W=>{let j=D(W),X=te(W);for(let M=0,I=X.length;M<I;++M)j.push(X[M]);return j}:te},C=D=>{let q=P(D.refiner,S,w);q!==void 0&&(D.refiner=q);let re=P(D.inputRefiner,T,A);if(re!==void 0){D.inputRefiner=re;return}},k;if(Ed in e.s){let D=[],q=[];for(let re=0;re<=g;++re){let te=r[re];Ed in te&&te.const===e.s.const?D.push(te):q.push(te)}k=D.concat(q)}else k=r;for(let D=0;D<=g;++D){let q=i!==void 0?$c(k[D],j=>{C(j),j.to=i}):k[D],re=q.type,te=Si[re],W=y1(q);if((a===""||a===W)&&!(te&16&&"fromDefault"in t)){let j=b[W];if(j!==void 0)te&64&&Sm in q.properties?j.splice(j.length-1|0,0,q):te&2096||j.push(q);else{let X=Ru(e),M;if(te&37633)M=pi;else{let ie=_o(q.type,!1);ie.encoder=q.encoder,te&8192?ie.class=q.class:te&64?(ie.properties=A1,ie.additionalItems=pi):te&128?(ie.additionalItems=pi,ie.items=MT):te&2096&&(ie.const=q.const),ie.decoder=se=>Si[se.s.type]&1?Dn(se,se.e,[{c:de=>{let le=Si[q.type];if(le&64)return d3(de)+"&&!"+IT(de);if(le&128)return IT(de);if(le&8192)return Cfe(se,q.class)(de);if(!(le&4))return le&2048?jh(de):le&48?de+"==="+lb(se,q):le&17418?zh(q.type)(de):"";let be=zh(Mc)(de);return se.g.o&2?be:be+"&&!"+jh(de)},f:Wo}],void 0):q.decoder(se),M=ie}X.e=M;let I;try{I=Fi(X)}catch{X.vc=void 0,I=X}V5(te,b)?y.unshift(W):y.push(W),b[W]=[X,I,q];let Q=!0,H=I;for(;H!==void 0&&Q;){let ie=H;H=ie.prev,Q=!(ie.vc&&n3(ie))}if(Q){for(let ie=0,se=y.length;ie<se;++ie){let de=y[ie];if(!_){let le=b[de],be=le[1],Xe=f(le,!0),Qe=Cd(be,void 0)+Xe,oe=c.contents;if(oe)if(c.contents="",Qe){let Te="e"+(D+ie|0);h=h+("try{"+Qe+"throw "+oe+"}catch("+Te+"){"),m="}"+m,p=p+","+Te}else p=p+","+oe;else if(Qe){let Te="e"+(D+ie|0);h=h+("try{"+Qe+"}catch("+Te+"){"),m="}"+m,p=p+","+Te}else _=!0}}b={},y=[]}}}}let $=b,V=y;if(!_){let D=!1,q="";for(let W=0,j=V.length;W<j;++W){let X=$[V[W]],M=X[1],I=X[2],Q=f(X,!1),H={contents:""},ie=Cd(M,H)+Q,se=H.contents;ie||V5(Si[I.type],$)?(h=h+(D?"else if":"if")+("("+se+"){"+ie+"}"),D=!0):q=q?q+"||"+se:se}let re=l(p),te;q?te=(D?"else if":"if")+("(!("+q+")){"+re+"}"):te=D?"else{"+re+"}":m===""?re+";":re,h=h+te}d.cp=d.cp+h+m,e.i!==d.i&&(d.i=e.i);let F=d.f&1?(d.i="Promise.resolve("+d.i+")",d.v=RT,d):d.v===Sa&&e.cp===""&&d.cp===""&&s==="i"?(e.hd="",e.v=RT,e.i=s,e):d;return F.s=u.length?Pd(u):N1(),F.e=i!==void 0?(F.io=!0,jc(i)):t,F}function h3(e,t){return t.every((r,n)=>{let i=e[n];return i!==void 0&&!(Si[r.type]&9152)&&r.type===i.type&&r.const===i.const?r.to===void 0:!1})}function _3(e,t){return Dn(e,pi,void 0,$c(e.s,r=>{r.to=t}))}function $fe(e,t){return!(Si[jc(t).type]&512)&&!(t.type===Hl&&t.anyOf.some(r=>Si[r.type]&512))?!e.some(r=>r.to!==void 0||r.parser!==void 0?!0:Si[r.type]&512):!1}function g3(e){if(e.parser!==void 0)return;let r=e.to;if(r!==void 0)return r}function ib(e,t){let r=e.d,n;if(r!==void 0)n=r;else{let u={};e.d=u,n=u}let i=n[t];if(i!==void 0)return Ru(i);let o=e.s.type===ko?e.s.properties[t]:e.s.items[t],a;if(o!==void 0)a=o;else{let u=e.s.additionalItems;a=u==="strip"||u==="strict"?Tm(e,e.s,e.e):e.s.type===ko&&u.type!==ab&&!(Si[u.type]&512)&&!yfe(u)?q1(u):u}let l="["+xm(e.g,t)+"]",d={p:e,v:v1,i:Ed in a?lb(e,a):e.v()+l,s:a,e:a,f:0,cp:"",hd:"",path:e.path+l,g:e.g};return n[t]=d,d}function Bh(e){let t=e.s.type===Gu,r="",n="",i,o=Object.keys(e.d);for(let d=0,u=o.length;d<u;++d){let c=o[d],f=e.d[c];if(f.f&1&&(n=n+f.i+","),f.o){let h=i;i=m=>(h!==void 0?h(m):"")+("if("+f.v()+"!==void 0){"+m+"["+xm(e.g,c)+"]="+f.i+"}")}else r=r+(t?f.i:xm(e.g,c)+":"+f.i)+","}if(e.i=t?"["+r+"]":"{"+r+"}",n){let d=Ru(e);d.io=!0;let u=Fi(d),c=Cd(u,void 0);return c===""&&n===u.i+","?e.i=u.i:e.i="Promise.all(["+n+"]).then((["+n+"])=>{"+c+"return "+u.i+"})",e.f=e.f|1,e.s=u.s,e.e=u.e,e.io=!0,e}let a=i;if(a===void 0)return e;let s=a(e.v()),l=Dn(e,void 0,void 0,void 0);return l.cp=l.cp+s,l}function Pd(e){let t=e.length;if(t===1)return e[0];if(t!==0){let r={},n=new Set;for(let o=0,a=e.length;o<a;++o){let s=e[o];s.type===Hl&&s.to===void 0?(s.anyOf.forEach(l=>{n.add(l)}),Object.assign(r,s.has)):(n.add(s),u3(r,s.type))}let i=_o(Hl,!1);return i.anyOf=Array.from(n),i.decoder=p3,i.encoder=Mfe,i.has=r,i}throw new Error("[Sury] S.union requires at least one item")}function V5(e,t){return e&8320&&ko in t?!0:e&2048?Mc in t:!1}function y1(e){return Si[e.type]&8192?e.class.name:e.type}function CT(e){for(;;){let t=e,r=!1,n=!1,i=!1;if(t.to===void 0&&t.parser===void 0&&!(Si[t.type]&512)){let a=t.anyOf;i=a!==void 0?a.every(CT):!0}if(i){let a=t.items;n=a!==void 0?a.every(CT):!0}if(n){let a=t.properties;r=a!==void 0?Object.values(a).every(CT):!0}if(!r)return!1;let o=t.additionalItems;if(o===void 0||o==="strip"||o==="strict")return!0;e=o}}function ub(e){let t=_o(Gu,e[bm]===e);return t.additionalItems=e,t.items=MT,t.decoder=db,t}function jT(e,t){let r=t!==void 0?t:Iu(),n=jc(e);switch(n.type){case"undefined":return Pd([r,K5(e)]);case"union":let o=n.has,a=n.anyOf;return $c(e,s=>{let l=mfe(o),d=[];for(let u=0,c=a.length;u<c;++u){let f=a[u],h=jc(f),m=h.type,p;if(m==="undefined")l[r.type]=!0,d.push(r),p=K5(f);else{let _=h.properties;if(_!==void 0){let g=_[Sm];p=g!==void 0?$c(f,b=>{let y={},S={...g};S.const=g.const+1,y[Sm]=S,b.properties=y}):f}else p=f}d.push(p)}d.length===a.length&&(l[r.type]=!0,d.push(r)),s.anyOf=d,s.has=l});default:return Pd([e,r])}}function K5(e){return $c(e,t=>{t.to=Dfe(),t.parser=Ife})}function FT(e){let t=_o(ko,e[bm]===e);return t.properties=A1,t.additionalItems=e,t.decoder=Kh,t}function J5(e){let t=e.e,r=t.$ref,n=e.g.d,i=r.slice(8),o=n[i],a=e.g.o,s=e.s.seq===t.seq?o:e.s,l=s.seq+"-"+o.seq+"--"+a,d="",u=o[l];if(u!==void 0){let p=ce(u);d=p===0?kd(e,o)+('["'+l+'"]'):kd(e,p)}else{let p=v(o.hasTransform,!1),_=v(o.isAsync,!1),g=!0,b=0;for(;g;){g=!1,o.hasTransform===void 0&&(o.hasTransform=p),o.isAsync===void 0&&(o.isAsync=_),H5[qh]=0,Fs(o,l,H5);let y=m3(s,o,a,n);Ad[qh]=y,Fs(o,l,Ad),b=y;let S=o.hasTransform,T=o.isAsync;(S!==p||T!==_)&&(p=S,_=T,delete o[l],g=!0)}d=kd(e,b)}let c=o.hasTransform===!0,f=o.isAsync,h="",m;if(c||f){let p=fs(e.g);h="let "+p+";";let _=sl(e,p,t,t);_.v=Sa,_.cp=p+"="+d+"("+e.i+");",f&&(_.f=_.f|1),m=_}else{let p=Dn(e,t,void 0,t);p.cp=d+"("+e.i+");",m=p}return m.prev=void 0,m.cp=h+M1(m,e,void 0,void 0),m.fz=void 0,m.prev=e,m}Fs(R1,"~standard",{get:function(){let e=this;return{version:1,vendor:k1,validate:t=>{try{return{value:nb(pi,e)(t)}}catch(r){let n=$T(r);return{issues:[{message:n.reason,path:n.path===""?void 0:pfe(n.path)}]}}}}}});function b3(e,t){return nb(pi,t)(e)}function y3(e,t,r){return nb(wd(t),r)(e)}var jfe="#/$defs/";function Ffe(e,t){return $c(e,r=>{let n=t(r),i=r.refiner;i!==void 0?r.refiner=o=>{let a=i(o),s=n(o);for(let l=0,d=s.length;l<d;++l)a.push(s[l]);return a}:r.refiner=n})}function x3(e,t,r,n){let i=r!==void 0?r:"Refinement failed",o=n!==void 0?_fe(n):"";return Ffe(e,a=>(s=>{let l=kd(s,t);return[{c:d=>l+"("+d+")",f:I1(void 0,o,i,void 0)}]}))}function z1(){let e=Vl(Vh());return e.to=Iu(),e}function S3(e,t){return $c(e,r=>{let n=r.anyOf;if(n!==void 0){let o=[],a=[];for(let f=0,h=n.length;f<h;++f){let m=n[f],p=jc(m);p.type!=="undefined"&&(o.push(p),a.push(m))}let s=o.length,l;if(s!==1)if(s!==0)l=Pd(o);else{let f="Can't set default for "+to(r);throw new Error("[Sury] "+f)}else l=o[0];let d=a.length!==1?Pd(a):a[0];if(t.TAG==="Value"){let f=t._0;try{nb(pi,l)(f)}catch(h){let m=$T(h),p="Invalid default for "+to(r)+": "+m.message;throw new Error("[Sury] "+p)}try{r.default=nb(wd(d),void 0)(f)}catch{}}r.parser=f=>{let h=f.e.to,m=f.v(),p;return p=t.TAG==="Value"?lb(f,F1(t._0)):kd(f,t._0)+"()",sl(f,m+"===void 0?"+p+":"+m,h,h)};let u=Vl(l),c=u.decoder;u.serializer=f=>{let h=wd(d);return Dn(c(f),h,void 0,h)},u.decoder=e3,r.to=u;return}let i="Can't set default for "+to(r);throw new Error("[Sury] "+i)})}function w1(e,t){let r=Si[t.type];if(r&46)return Fi(Dn(e,pi,void 0,t));if(r&2064){let i=Vl(Vh());return i.to=t,Fi(Dn(e,pi,void 0,i))}if(r&128){let i=ub(pi),o=Fi(Dn(e,pi,void 0,i));return o.s.additionalItems=cs(),o.e=t,o.io=!1,o}if(r&64){let i=FT(pi),o=Fi(Dn(e,pi,void 0,i));return o.s.additionalItems=cs(),o.e=t,o.io=!1,o}if(r&768)return e;let n=Vl(Hh());return n.to=t,Fi(Dn(e,pi,void 0,n))}function $h(e){let t=Si[e.type],r=!0;if(!(t&46||e.$ref===cs().$ref||t&256&&e.anyOf.every($h))){let i=!1;if(t&128){let o=e.additionalItems,a;a=o==="strip"||o==="strict"?!0:$h(o),i=a}r=i&&e.items.every($h)}if(r)return!0;let n=!1;if(t&64){let i=e.additionalItems,o;o=i==="strip"||i==="strict"?!0:$h(i),n=o}return n?Object.values(e.properties).every($h):!1}function Z5(e){let t=Si[e.s.type];if($h(e.s))return e;if(t&2064)return Dc(e,Vh(),void 0);if(t&128){let r=_o(Gu,!1);r.items=e.s.items.map(o=>cs()),r.decoder=db;let n=e.s.additionalItems,i;return i=n==="strip"||n==="strict"?n:cs(),r.additionalItems=i,r.to=e.e.to,Fi(Dn(e,void 0,void 0,r))}if(t&64){let r=e.s.additionalItems;if(!(r==="strip"||r==="strict")){let o=FT(cs());return o.to=e.e.to,Fi(Dn(e,void 0,void 0,o))}let n=Uh(e,e.s);n.e=cs(),e.e.to&&(n.e=Vl(n.e),n.e.to=e.e.to);let i=Object.keys(e.s.properties);for(let o=0,a=i.length;o<a;++o){let s=i[o],l=ib(e,s);if(l.io=!1,l.s.type===Hl&&l.s.has[al]){l.e=Pd([Iu(),cs()]);let d=Fi(l);d.o=!0,Od(n,s,d)}else l.e=cs(),Od(n,s,Fi(l))}return Bh(n)}if(t&512)return J5(e);if(t&256&&!(al in e.s.has))return Fi(_3(e,e.e));if(t&1)return e.e.to&&!e.e.parser?(e.s=cs(),w1(e,e.e)):e.e.noValidation?(e.s=cs(),e):J5(e);try{let r=Vl(Hh());return r.to=e.e,e.e=r,Fi(e)}catch{return Tm(e,e.s,cs())}}function cs(){return Fc(gm,T1,e=>{let t=_o(T1,!0);t.$ref=jfe+gm,t.name=gm,t.decoder=Z5,t.encoder=w1,e.$ref=t.$ref,e.name=gm,e.decoder=Z5,e.encoder=w1;let r=[Hh(),j1(),$1(),Vh(),FT(t),ub(t)],n={};r.forEach(a=>{n[a.type]=!0});let i=_o(Hl,!0);i.anyOf=r,i.has=n,i.decoder=p3,i.name=gm,i.type=Hl;let o={};o[gm]=i,e.$defs=o})}function Nfe(e){return e[O1]}function ob(e,t,r){let n=Vl(jc(e));return n.from=t,r!==void 0&&(n.fromFlattened=r),new Proxy(n,{get:(i,o)=>{if(o===O1)return i;let a=i.items,s=i.properties,l=s!==void 0?s[o]:a!==void 0?a[o]:void 0;if(l===void 0){let d='Cannot read property "'+o+'" of '+to(i);throw new Error("[Sury] "+d)}return ob(l,i.from.concat(o),i.fromFlattened)}})}function T3(e,t,r){let n=Uh(e,t);n.io=!0;let i=t.items;if(i!==void 0)for(let o=0,a=i.length;o<a;++o){let s=o.toString();Od(n,s,r(s,i[o]))}else{let o=t.properties;if(o!==void 0){let a=Object.keys(o);for(let s=0,l=a.length;s<l;++s){let d=a[s];Od(n,d,r(d,o[d]))}}else{let a="Don't know where the value is coming from: "+to(t);throw new Error("[Sury] "+a)}}return Bh(n)}function v3(e,t){let r=t.from,n=t.fromFlattened,i=n!==void 0?Ru(Q5(e.fv[n],t.from,0)):r!==void 0?Ru(Q5(e,r,0)):Ed in t?Dc(e,t,void 0):T3(e,t,(o,a)=>v3(e,a));return i.prev=void 0,i.e=t,i}function w3(e,t){let r=t.e,n=r.from;if(n!==void 0){let a=r.fromFlattened,s;if(a!==void 0){e.flattened===void 0&&(e.flattened=[]);let l=e.flattened[a];if(l!==void 0)s=l;else{let d={};e.flattened[a]=d,s=d}}else s=e;for(let l=0,d=n.length;l<d;++l){let u=n[l],c=s.properties,f;if(c!==void 0)f=c;else{let p={};s.properties=p,f=p}let h=f[u],m;if(h!==void 0)m=h;else{let p={};f[u]=p,m=p}s=m}s.val=t;return}let i=t.d;if(i===void 0)return;let o=Object.keys(i);for(let a=0,s=o.length;a<s;++a)w3(e,i[o[a]])}function OT(e,t,r,n){let i=0;if(t!==void 0){let o=t.val;if(o!==void 0){let a=Ru(o);return a.t=!0,a.s=r,a.e=r,Fi(a)}i=1}else i=1;if(i===1){if(Ed in r){let c=Dc(e,r,r);return c.prev=void 0,c.p=e,c.v=v1,c.io=!0,Fi(c)}let o=t===void 0?jc(r):r,a=Uh(e,o);a.e=o,a.io=!0,a.prev=void 0,a.p=e,a.v=v1;let s=o.flattened,l=o.items,d=0,u=0;if(l!==void 0&&(t!==void 0||typeof o.additionalItems!==ko))for(let c=0,f=l.length;c<f;++c){let h=c.toString(),m;if(t!==void 0){let _=t.properties;m=_!==void 0?_[h]:void 0}else m=void 0;let p=xm(e.g,h);Od(a,h,OT(e,m,l[c],n+("["+p+"]")))}else u=3;if(u===3){let c=o.properties;if(c!==void 0&&(t!==void 0||typeof o.additionalItems!==ko)){if(s!==void 0&&t!==void 0){let h=t.flattened;h!==void 0&&h.forEach((m,p)=>{let g=OT(e,m,wd(s[p]),n).d,b=Object.keys(g);for(let y=0,S=b.length;y<S;++y){let T=b[y];Od(a,T,g[T])}})}let f=Object.keys(c);for(let h=0,m=f.length;h<m;++h){let p=f[h];if(!(p in a.d)){let _;if(t!==void 0){let b=t.properties;_=b!==void 0?b[p]:void 0}else _=void 0;let g=xm(e.g,p);Od(a,p,OT(e,_,c[p],n+("["+g+"]")))}}}else d=2}if(d===2){let c=r.from,f=c!==void 0?n+c.map(m=>'["'+m+'"]').join(""):n,h=f===""?"":" at "+f;kfe(e,"Missing input for "+to(r)+h)}return Bh(a)}}function Q5(e,t,r){for(;;){let n=r,i=e,o=t[n];if(o===void 0)return i;r=n+1|0,e=i.d[o]}}function DT(e,t){if(typeof e!==ko||e===null)return F1(e);let r=t(e);if(r!==void 0)return r;if(Array.isArray(e)){for(let l=0,d=e.length;l<d;++l){let u=DT(e[l],t);e[l]=u}let s=_o(Gu,!1);return s.items=e,s.additionalItems="strict",s.decoder=db,s}let n=e.constructor;if(n&&n!==Object){let s=_o(E1,!0);return s.class=n,s.const=e,s.decoder=Lh,s}let i=Object.keys(e),o=i.length;for(let s=0;s<o;++s){let l=i[s],d=DT(e[l],t);e[l]=d}let a=_o(ko,!1);return a.required=i,a.properties=e,a.additionalItems=eb.a,a.decoder=Kh,a}function qfe(e){let t={};w3(t,e);let r=e.e.to,n=OT(e,t,r,"");return n.t=!0,n.prev=e,n}function cb(e){return DT(e,t=>{if(t["~standard"])return t})}function A3(e){let t=this,r="~"+e,n=t[r];if(n!==void 0)return ce(n);let i={},o=[],a=_o(ko,!1);a.required=o,a.properties=i,a.additionalItems=eb.a,a.decoder=Kh;let s=t.f(e,a)[O1],l=(h,m)=>{let p=Wh(h);if(h in i)throw new Error("[Sury] "+("The field "+p+" defined twice"));return o.push(h),i[h]=m,ob(m,s.from.concat(h),s.fromFlattened)},f={field:l,f:l,fieldOr:(h,m,p)=>{let _=jT(m,void 0);return l(h,S3(_,{TAG:"Value",_0:p}))},tag:(h,m)=>{l(h,cb(m))},nested:A3,flatten:h=>{if(h.type==="object"){let _=h.to,g=h.properties;if(_){let S="Unsupported nested flatten for transformed object schema "+to(h);throw new Error("[Sury] "+S)}let b=Object.keys(g),y={};for(let S=0,T=b.length;S<T;++S){let w=b[S];y[w]=l(w,g[w])}return y}let p="Can't flatten "+to(h)+" schema";throw new Error("[Sury] "+p)}};return t[r]=f,f}function k3(e){let t=Vl(DT(e,Nfe));return t.serializer=qfe,t}function C3(e){let t=e.e.flattened;if(t!==void 0){let i=[];for(let o=0,a=t.length;o<a;++o){let s=t[o],l=s.to,d;if(l!==void 0){let u=Ru(e);u.e=s,u.io=!0,d=Fi(u)}else{let u=T3(e,s,(c,f)=>ib(e,c));u.e=s,u.prev=void 0,d=rb(u,u)}i.push(d),e.cp=e.cp+Cd(d,void 0)}e.fv=i}let r=e.e.to,n=v3(e,r);return n.t=!0,n.prev=e,rb(n,e)}function O3(e){let t,r={},n=u=>{if(u.type==="object"){let h=u.properties,m=Object.keys(h);for(let _=0,g=m.length;_<g;++_){let b=m[_],y=h[b],S=r[b];if(S!==void 0){if(S!==y)throw new Error("[Sury] "+('The field "'+b+'" defined twice with incompatible schemas'))}else r[b]=y}let p=t||(t=[]);return ob(u,MT,p.push(u)-1|0)}let f="The '"+to(u)+"' schema can't be flattened";throw new Error("[Sury] "+f)},i=(u,c)=>{if(u in r)throw new Error("[Sury] "+('The field "'+u+'" defined twice with incompatible schemas'));return r[u]=c,ob(c,[u],void 0)},l=e({field:i,f:i,fieldOr:(u,c,f)=>{let h=jT(c,void 0);return i(u,S3(h,{TAG:"Value",_0:f}))},tag:(u,c)=>{i(u,cb(c))},nested:A3,flatten:n}),d=_o(ko,!1);return d.required=Object.keys(r),d.properties=r,d.additionalItems=eb.a,d.decoder=Kh,d.parser=C3,d.to=k3(l),t!==void 0&&(d.flattened=t),d}function E3(e){let t=[],r=(s,l)=>{let d=s.toString();if(t[s])throw new Error("[Sury] "+("The item ["+d+"] is defined multiple times"));return t[s]=l,ob(l,[s.toString()],void 0)},o=e({item:r,tag:(s,l)=>{r(s,cb(l))}});for(let s=0,l=t.length;s<l;++s)t[s]||(t[s]=Iu());let a=_o(Gu,!1);return a.items=t,a.additionalItems="strict",a.decoder=db,a.parser=C3,a.to=k3(o),a}function zfe(e){return e}var Lfe={m:zfe};function Ufe(e){return cb(e(Lfe))}var P3=cb;function G3(e){return Pd(e.map(P3))}function R3(e){return jT(e,z1())}function I3(e){return Pd([e,Iu(),Vh()])}function D3(e){return Pd([e,Iu(),z1()])}var M3=P3,$3=FT,j3=Pd;var F3=Ufe;var N3=pi;var B=Hh(),Ho=j1();var Cr=$1();var Ti=cs();var L1=P1;var vm=M3,Vo=ub;var fb=$3,Z=q1;var U1=R3,mb=I3,go=D3,Jh=j3,NT=G3;var Du=x3;var q3=b3;var z3=y3;var Va=F3;var Pt=O3;var L3=E3;function U3(e){return{path:e.path,summary:e.message}}function at(e){return{path:"",summary:e}}function Kl(e,t){try{return{TAG:"Ok",_0:q3(e,t)}}catch(r){let n=N(r);if(n.RE_EXN_ID===L1)return{TAG:"Error",_0:U3(n._1)};throw n}}function Zh(e,t){try{let r=z3(e,t,N3),n=JSON.stringify(r);return n!==void 0?{TAG:"Ok",_0:JSON.parse(n)}:{TAG:"Error",_0:{path:"",summary:"value is not JSON-serializable"}}}catch(r){let n=N(r);return n.RE_EXN_ID===L1?{TAG:"Error",_0:U3(n._1)}:{TAG:"Error",_0:{path:"",summary:"serialized value is not valid JSON"}}}}import*as pb from"node:fs";import*as V3 from"node:os";import*as qT from"node:path";function Qh(){return qT.join(V3.homedir(),".linzumi","auth.json")}var B3="Kandan auth cache must contain a JSON object",Wfe="Kandan auth cache local_codex_runner must be an object",Hfe="Kandan auth cache personal_agent_delegation must be an object";function W3(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e.access_token,r=e.issued_at;if(t===void 0||typeof t!="string"||r===void 0||typeof r!="string")return;let n=e.expires_at,i;return i=typeof n=="string"?n:void 0,{accessToken:t,issuedAt:r,expiresAt:i}}function K3(e){let t;try{t=JSON.parse(e)}catch{t=void 0}if(t===void 0)return{TAG:"Error",_0:at(B3)};if(typeof t!="object"||t===null||Array.isArray(t))return{TAG:"Error",_0:at(B3)};let r=t.local_codex_runner,n=t.personal_agent_delegation,i=r!==void 0?typeof r=="object"&&r!==null&&!Array.isArray(r):!0,o=n!==void 0?typeof n=="object"&&n!==null&&!Array.isArray(n):!0;if(!i)return{TAG:"Error",_0:at(Wfe)};if(!o)return{TAG:"Error",_0:at(Hfe)};let a;return a=typeof r=="object"&&r!==null&&!Array.isArray(r)?Object.fromEntries(Fe(Object.entries(r),s=>{let l=s[0];return z(W3(s[1]),d=>[l,d])})):void 0,{TAG:"Ok",_0:{serverTokens:a,personalAgentDelegation:E(n,W3)}}}function J3(e){return pb.existsSync(e)?Ae(He($t(e),t=>at(t.message)),t=>Ze(K3(t),r=>r)):{TAG:"Ok",_0:void 0}}function Z3(e,t){return e!==void 0?new Date(e).getTime()<=t:!1}function Yh(e,t,r){return pb.existsSync(t)?Ae(J3(t),n=>Ze(He(mi(e),at),i=>E(E(E(n,o=>o.serverTokens),o=>o[i]),o=>{if(!(o.accessToken.trim()===""||Z3(o.expiresAt,r)))return{accessToken:o.accessToken,serverBaseUrl:i,issuedAt:o.issuedAt,expiresAt:o.expiresAt}}))):{TAG:"Ok",_0:void 0}}function Vfe(e){return"missing personal-agent delegation auth file: "+e}var Kfe="personal-agent delegation auth file is missing access_token",Jfe="personal-agent delegation auth file token is expired";function Q3(e,t){return pb.existsSync(e)?Ae(J3(e),r=>{let n=E(r,i=>i.personalAgentDelegation);return n!==void 0&&n.accessToken.trim()!==""?Z3(n.expiresAt,t)?{TAG:"Error",_0:at(Jfe)}:{TAG:"Ok",_0:n}:{TAG:"Error",_0:at(Kfe)}}):{TAG:"Error",_0:at(Vfe(e))}}function H3(e){let t={};t.access_token=e.accessToken,t.issued_at=e.issuedAt;let r=e.expiresAt;return r!==void 0&&(t.expires_at=r),t}function Zfe(e){let t={};t.version=1;let r=e.serverTokens;r!==void 0&&(t.local_codex_runner=Object.fromEntries(Object.entries(r).map(i=>[i[0],H3(i[1])])));let n=e.personalAgentDelegation;return n!==void 0&&(t.personal_agent_delegation=H3(n)),t}function Am(e,t,r,n,i){return Ae(He(mi(e),at),o=>{let a=pb.existsSync(n)?Ae(He($t(n),s=>at(s.message)),K3):{TAG:"Ok",_0:{serverTokens:void 0,personalAgentDelegation:void 0}};return Ae(a,s=>{let l=i.toISOString(),d=z(r,g=>new Date(i.getTime()+g*1e3).toISOString()),u={accessToken:t,issuedAt:l,expiresAt:d},c=s.serverTokens,f=c!==void 0?Object.fromEntries(Object.entries(c)):{};f[o]=u;let h=Zfe({serverTokens:f,personalAgentDelegation:s.personalAgentDelegation}),m=JSON.stringify(h,void 0,2)+`
149
149
  `,p=n+".tmp."+process.pid.toString()+"."+JS(6),_=g=>at(g.message);return Ae(He(Nt(qT.dirname(n)),_),()=>{let g=Ae(Ac(p,m,{encoding:"utf8",mode:384}),()=>Jn(p,n));return g.TAG==="Ok"?{TAG:"Ok",_0:{accessToken:t,serverBaseUrl:o,issuedAt:l,expiresAt:d}}:(Wi(p),{TAG:"Error",_0:at(g._0.message)})})})})}function Xh(e){let t=St(e);return t!==void 0?v(At(ce(t)),"unknown error"):"unknown error"}async function ms(e,t){try{return{TAG:"Ok",_0:await fetch(e,t)}}catch(r){let n=N(r);return{TAG:"Error",_0:{message:Xh(n)}}}}async function Qfe(e){try{return{TAG:"Ok",_0:await e.text()}}catch(t){let r=N(t);return{TAG:"Error",_0:{message:Xh(r)}}}}async function Gd(e){let t=await Qfe(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};try{return{TAG:"Ok",_0:JSON.parse(t._0)}}catch(r){let n=N(r);return{TAG:"Error",_0:{message:Xh(n)}}}}function Y3(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function Yfe(e,t){let r=e[t];if(typeof r=="number")return r}async function t_(e,t,r,n,i){let o=i!==void 0?i:[],a=He(mi(e),at);if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};let s=Hi("/api/v2/local-codex-runner/oauth/validate",a._0);if(s.TAG!=="Ok")return{TAG:"Error",_0:at(s._0)};let l=s._0,d=l.searchParams;r!==void 0&&d.set("workspace",r),n!==void 0&&d.set("channel",n),o.forEach(m=>{d.append("required_scope",m)});let u={};u.authorization="Bearer "+t;let c=await ms(l.toString(),{method:"GET",headers:u});if(c.TAG!=="Ok")return{TAG:"Error",_0:at(c._0.message)};let f=c._0,h=f.status;if(h>404||h<401){if(h===200){let m=await Gd(f);return m.TAG!=="Ok"?{TAG:"Error",_0:at(m._0.message)}:E(Y3(m._0),_=>_.ok)===!0?{TAG:"Ok",_0:"Usable"}:{TAG:"Ok",_0:"Rejected"}}}else{if(h<402)return{TAG:"Ok",_0:"Rejected"};switch(h){case 402:break;case 403:return{TAG:"Ok",_0:"Rejected"};case 404:return{TAG:"Ok",_0:"NotFound"}}}return{TAG:"Error",_0:at("local runner auth validation failed with HTTP "+h.toString())}}async function X3(e,t){let r=He(mi(e),at);if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=Hi("/api/v2/local-codex-runner/oauth/renew",r._0);if(n.TAG!=="Ok")return{TAG:"Error",_0:at(n._0)};let i={};i.authorization="Bearer "+t,i["content-type"]="application/json";let o=await ms(n._0.toString(),{method:"POST",headers:i,body:"{}"});if(o.TAG!=="Ok")return{TAG:"Error",_0:at(o._0.message)};let a=o._0,s=a.status;if(s>=401){if(s===429)return{TAG:"Error",_0:at("local runner token renewal rate limited")};if(s<404)switch(s){case 401:return{TAG:"Ok",_0:"Expired"};case 402:break;case 403:return{TAG:"Ok",_0:"Unavailable"}}}else if(s!==200){if(s>=400)return{TAG:"Ok",_0:"Unavailable"}}else{let l=await Gd(a);if(l.TAG!=="Ok")return{TAG:"Error",_0:at(l._0.message)};let d=Y3(l._0);if(d===void 0)return{TAG:"Error",_0:at("local runner token renewal response missing access_token")};let u=d.access_token;return u!==void 0&&typeof u=="string"&&u.trim()!==""?{TAG:"Ok",_0:{TAG:"Renewed",_0:{accessToken:u,expiresInSeconds:Yfe(d,"expires_in"),workspaceSlug:void 0,channelSlug:void 0}}}:{TAG:"Error",_0:at("local runner token renewal response missing access_token")}}return{TAG:"Error",_0:at("local runner token renewal failed with HTTP "+s.toString())}}import*as E8 from"node:os";function W1(e){if(typeof e=="number"&&e%1===0)return e}function Xfe(e){if(typeof e=="string")return e}function eme(e){let t=e.replaceAll("-","+").replaceAll("_","/");switch(t.length&3){case 2:return t+"==";case 3:return t+"=";default:return t}}function UT(e){let t=e.split(".")[1];if(t===void 0)return;let r=Buffer.from(eme(t),"base64").toString("utf8"),n;try{n=JSON.parse(r)}catch{n=void 0}if(typeof n=="object"&&n!==null&&!Array.isArray(n))return n}function hb(e){let t=UT(e);if(t===void 0)return{actorUserId:void 0,actorUsername:void 0};let r=W1(t.actor_id);return{actorUserId:r!==void 0?r:W1(t.sub),actorUsername:Xfe(t.actor_username)}}function e8(e){let t=E(UT(e),n=>n.workspace_scope),r=t!==void 0?Array.isArray(t)?Fe(t,n=>{if(typeof n=="string"&&n.trim()!=="")return n}):[]:[];if(r.length===1)return r[0]}var B1=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function t8(e){let t=UT(e);if(t===void 0)return!1;let n=t.document_surfaces===!0,i=t.linzumi_agent_session,o=typeof i=="string"?B1.test(i):!1,a=t.coding_job_id,s=t.coding_job_thread_id,l=typeof a=="string"&&typeof s=="string"?B1.test(a)&&B1.test(s):!1;return n?o?!0:l:!1}function H1(e){let t=E(UT(e),r=>W1(r.exp));if(t===void 0)return{TAG:"Ok",_0:void 0};if(t<=0)return{TAG:"Ok",_0:void 0};try{return{TAG:"Ok",_0:new Date(t*1e3).toISOString()}}catch(r){let n=N(r),i=St(n);return{TAG:"Error",_0:at(i!==void 0?v(At(ce(i)),"unknown error"):"unknown error")}}}import*as a8 from"node:http";import*as s8 from"node:crypto";import*as l8 from"node:child_process";function BT(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e.error;if(typeof t=="string")return t}function r8(e,t){if(e===void 0)return t!==void 0?"local runner device authorization failed (HTTP "+t.toString()+", no reason returned by the server)":"local runner device authorization failed (no reason returned by the server)";switch(e){case"access_denied":return"local runner device authorization was denied";case"approving_user_not_found":return"local runner device authorization failed: the approving Linzumi account could not be found";case"device_session_consumed":return"local runner device authorization was already used";case"device_session_expired":return"local runner device authorization expired";case"device_session_not_pending":return"local runner device authorization was already decided (approved or denied) on the server";case"invalid_device_code":return"local runner device authorization code was rejected";case"invalid_user_code":return"local runner device authorization code was not recognized by the server";case"rate_limited":return"local runner device authorization was rate limited by the server; wait a minute and retry";default:return"local runner device authorization failed (server said: "+e+")"}}function Rd(e,t){let r=e[t];if(r!==void 0&&typeof r=="string"&&r.trim()!=="")return r}async function n8(e,t,r,n,i){let o=Hi("/api/v2/local-codex-runner/device/start",e);if(o.TAG!=="Ok")return{TAG:"Error",_0:at(o._0)};let a={},s=(_,g)=>{if(g!==void 0){a[_]=g;return}};s("workspace",t),s("channel",r),s("onboarding",n),i!==void 0&&(s("runner_id",i.commanderId),s("machine_fingerprint",i.machineFingerprint),s("hostname",i.hostname));let l={};l["content-type"]="application/json";let d=await ms(o._0.toString(),{method:"POST",headers:l,body:JSON.stringify(a)});if(d.TAG!=="Ok")return{TAG:"Error",_0:at(d._0.message)};let u=d._0,c=u.status,f=await Gd(u);if(f.TAG!=="Ok")return{TAG:"Error",_0:at(f._0.message)};let h=f._0;if(c>=200&&c<300){if(Array.isArray(h))return{TAG:"Error",_0:at("local runner device authorization response was incomplete")};if(h!==null)switch(typeof h){case"object":let _=Rd(h,"device_code"),g=Rd(h,"user_code"),b=Rd(h,"verification_uri");if(_===void 0)return{TAG:"Error",_0:at("local runner device authorization response was incomplete")};if(g===void 0)return{TAG:"Error",_0:at("local runner device authorization response was incomplete")};if(b===void 0)return{TAG:"Error",_0:at("local runner device authorization response was incomplete")};let y=h.expires_in,S;return S=typeof y=="number"?y:void 0,{TAG:"Ok",_0:{deviceCode:_,userCode:g,verificationUri:b,expiresInSeconds:S}}}}let p=BT(h);return{TAG:"Error",_0:at(p!==void 0?"local runner device authorization failed to start (server said: "+p+")":"local runner device authorization failed to start (HTTP "+c.toString()+")")}}async function tme(e,t,r){let n=new AbortController,i=setTimeout(()=>{n.abort()},r+1e4|0),o={};o.device_code=t,o.wait_ms=r;let a={};a["content-type"]="application/json";let s=Hi("/api/v2/local-codex-runner/device/token",e),l;if(l=s.TAG==="Ok"?await ms(s._0.toString(),{method:"POST",headers:a,body:JSON.stringify(o),signal:ve(n.signal)}):{TAG:"Error",_0:{message:s._0}},l.TAG==="Ok"){let d=l._0,u=d.status,c=await Gd(d);if(clearTimeout(i),c.TAG!=="Ok")return n.signal.aborted?"Continue":{TAG:"Done",_0:{TAG:"Transient",reason:"non-JSON device/token response ("+c._0.message+")",httpStatus:u}};let f=c._0,h=u>=200&&u<300,m=BT(f),p=0;if(u!==202||m===void 0)p=1;else{if(m==="authorization_pending")return"Continue";p=1}if(p===1){let _=0;if(h){if(Array.isArray(f))return{TAG:"Done",_0:{TAG:"Rejected",reason:"device token response did not include access_token",httpStatus:u}};if(f===null)_=2;else switch(typeof f){case"object":let g=Rd(f,"access_token");if(g===void 0)return{TAG:"Done",_0:{TAG:"Rejected",reason:"device token response did not include access_token",httpStatus:u}};let b=f.expires_in,y;return y=typeof b=="number"?b:void 0,{TAG:"Done",_0:{TAG:"Token",_0:{accessToken:g,expiresInSeconds:y,workspaceSlug:Rd(f,"workspace"),channelSlug:Rd(f,"channel")}}};default:_=2}}else _=2;if(_===2){let g=0;if(m!==void 0)switch(m){case"access_denied":return{TAG:"Done",_0:"Denied"};case"device_session_consumed":return{TAG:"Done",_0:"Consumed"};case"device_session_expired":return{TAG:"Done",_0:"CodeExpired"};default:g=3}else g=3;if(g===3)return u>=500||u===429?{TAG:"Done",_0:{TAG:"Transient",reason:m!==void 0?m:"HTTP "+u.toString(),httpStatus:u}}:{TAG:"Done",_0:{TAG:"Rejected",reason:m,httpStatus:u}}}}}else return clearTimeout(i),n.signal.aborted?"Continue":{TAG:"Done",_0:{TAG:"Transient",reason:l._0.message,httpStatus:void 0}}}async function i8(e,t,r,n){let i=n!==void 0?n:()=>Date.now(),o=r!==void 0&&r>=0?r:600,a=i()+o*1e3,s=async()=>{if(i()>=a)return"CodeExpired";let l=Math.max(0,Math.min(3e4,a-i())),d=await tme(e,t,l);return typeof d!="object"?await s():d._0};return await s()}function d8(e,t){if(e!==void 0&&isFinite(e)&&e>0)return e;let r=z(Ei(t,"LINZUMI_OAUTH_CALLBACK_TIMEOUT_MS"),i=>i.trim());if(r===void 0||r==="")return 3e5;let n=Number.parseInt(r,10);return isFinite(n)&&n>0?n:3e5}function rme(e){let t=e.split(".").map(o=>Number.parseInt(o,10));if(t.length!==4||t.some(o=>!Number.isInteger(o)||o<0?!0:o>255))return e==="localhost";let n=t[0],i=t[1];return n!==void 0&&i!==void 0?n===10||n===127||n===172&&i>=16&&i<=31||n===192&&i===168||n===169&&i===254?!0:n===100&&i>=64?i<=127:!1:!1}function nme(e){try{return{TAG:"Ok",_0:new URL(e)}}catch(t){let r=N(t);return{TAG:"Error",_0:Xh(r)}}}function ime(e,t){let r=z(t,o=>o.trim());if(r!==void 0&&r!=="")return{TAG:"Ok",_0:r};let n=nme(e);if(n.TAG!=="Ok")return{TAG:"Error",_0:n._0};let i=n._0.hostname.trim();return rme(i)&&i!=="localhost"?{TAG:"Ok",_0:i}:{TAG:"Ok",_0:"127.0.0.1"}}function ome(e,t,r,n,i,o,a){return Ze(Hi("/api/v2/local-codex-runner/oauth/authorize",e),s=>{let l=s.searchParams;return l.set("redirect_uri",t),l.set("state",r),n!==void 0&&l.set("workspace",n),i!==void 0&&l.set("channel",i),o!==void 0&&l.set("onboarding",o),a!==void 0&&l.set("purpose","persisted_documents_publish"),s.toString()})}async function ame(e,t,r){let n=Hi("/api/v2/local-codex-runner/oauth/token",e);if(n.TAG!=="Ok")return{TAG:"Error",_0:at(n._0)};let i={};i.code=t,i.redirect_uri=r;let o={};o["content-type"]="application/json";let a=await ms(n._0.toString(),{method:"POST",headers:o,body:JSON.stringify(i)});if(a.TAG!=="Ok")return{TAG:"Error",_0:at(a._0.message)};let s=a._0,l=s.status,d=await Gd(s);if(d.TAG!=="Ok")return{TAG:"Error",_0:at(d._0.message)};let u=d._0;if(l>=200&&l<300){if(Array.isArray(u))return{TAG:"Error",_0:at("local runner OAuth token response did not include access_token")};if(u!==null)switch(typeof u){case"object":let h=Rd(u,"access_token");if(h===void 0)return{TAG:"Error",_0:at("local runner OAuth token response did not include access_token")};let m=u.expires_in,p;p=typeof m=="number"?m:void 0;let _=Rd(u,"workspace"),g=Rd(u,"channel");return{TAG:"Ok",_0:{accessToken:h,expiresInSeconds:p,workspaceSlug:_,channelSlug:g}}}}let f=BT(u);return f!==void 0?f==="admin_role_required"?{TAG:"Error",_0:at("This token requires a Linzumi admin account. Approve the request while signed in as an admin.")}:{TAG:"Error",_0:at("local runner OAuth token exchange failed: "+f)}:{TAG:"Error",_0:at("local runner OAuth token exchange failed")}}function V1(e){return e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;")}var sme='<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path fill="currentColor" d="M206.7,82.37l2.55-6.45,2.01-3.63c.67-1.21,1.07-1.88,2.55-3.63,1.34-1.61,3.36-4.43,5.64-6.58,2.42-2.24,5.06-4.3,7.93-6.18,3.92-2.53,8.17-4.52,12.63-5.91,1.79-.63,4.03-1.16,6.72-1.61,6.1-.88,12.29-.92,18.4-.13,2.69.45,5.06,1.03,7.12,1.75,2.15.67,3.49,1.07,5.64,2.15,4.55,2.16,8.87,4.77,12.9,7.79,1.61,1.34,2.42,2.15,4.16,4.16l5.91,7.66c1.34,2.01,1.34,2.28,2.15,4.03l2.55,6.58c.67,1.34-.13,1.34,1.07.94,1.21-.27,4.3-2.01,6.45-2.82,4.7-1.83,9.62-3,14.64-3.49,2.42-.27,3.76-.54,7.12-.27s9.27,1.21,12.76,2.15c3.63.94,6.58,2.55,8.73,3.49,2.15,1.07,2.55,1.48,4.16,2.55,3.49,2.51,6.77,5.29,9.81,8.33,1.52,1.7,3.04,3.58,4.57,5.64,2.74,4.49,4.86,9.32,6.31,14.37.67,2.28,1.07,3.49,1.34,6.72.27,3.22,0,10.48.4,12.76.27,2.28.27.67,1.61.94,1.48.27,4.3,0,6.72.4,2.42.27,4.97.85,7.66,1.75,6.76,2.32,13.01,5.92,18.4,10.61,2.28,1.75,2.96,2.69,4.3,4.3,3.51,3.93,6.32,8.43,8.33,13.3,1.07,2.15,1.21,2.28,1.88,5.1.54,2.96,1.61,8.19,1.61,12.36s-.81,9.67-1.34,12.76c-.67,3.22-1.07,4.03-2.15,6.18-2.16,4.54-4.81,8.82-7.93,12.76-1.25,1.61-2.6,3-4.03,4.16-1.48,1.34-2.69,2.42-4.7,3.76-3.79,2.34-7.74,4.4-11.82,6.18l-6.58,2.15c-2.06.45-4.12.72-6.18.81l-7.25.13c-2.28,0-2.82.27-6.58-.4-3.76-.81-11.69-2.82-15.99-4.3-4.16-1.34-6.31-2.69-9.67-4.43-3.49-1.75-10.48-6.18-12.9-7.39-8.26-4.54-16.78-8.58-25.52-12.09-4.3-1.75-9.27-3.22-11.82-4.03-2.55-.81-5.24-1.61-7.66-2.15-8.39-2.25-16.99-3.6-25.66-4.03-3.9-.27-4.84-.27-8.19-.13-3.67-.09-7.79.04-12.36.4-7.9.79-15.75,2.04-23.51,3.76-8.37,2.26-16.62,4.95-24.72,8.06-3.22,1.34-2.82.81-9.13,4.16-6.31,3.36-22.03,12.22-28.75,15.58-6.72,3.36-8.73,3.49-11.82,4.43-3.09,1.07-4.3,1.21-6.58,1.61-7.3,1.09-14.71,1.18-22.03.27-2.55-.54-5.78-1.61-7.79-2.28-2.01-.54-2.15-.67-4.03-1.75-2.02-1.07-5.64-3.22-7.79-4.7-3.24-2.15-6.14-4.77-8.6-7.79-1.34-1.52-2.69-3.36-4.03-5.51-1.52-2.51-2.96-5.24-4.3-8.19-2.03-5.46-3.03-11.24-2.96-17.06,0-2.96.13-6.72.67-9.67.54-2.87,1.34-5.6,2.42-8.19,4.24-10.52,12.04-19.22,22.03-24.58,5.19-2.98,10.88-4.98,16.79-5.91,2.55-.4,5.37-.13,6.72-.4,1.34-.27,1.34,1.34,1.61-.94.4-2.28,0-9.4.4-12.76.27-3.36.81-4.97,1.48-7.25,1.87-6.19,4.88-11.97,8.87-17.06,3.47-3.98,7.39-7.54,11.69-10.61,4.43-2.61,9.11-4.77,13.97-6.45,2.55-.67,6.99-1.34,9.13-1.75,2.15-.27,1.88-.13,3.63-.13,1.79-.09,4.03,0,6.72.27,2.69.18,5.73.72,9.13,1.61,3.49,1.07,9.27,4.03,11.28,4.7s.4.27,1.07-.94ZM512.27,255.7c0,141.39-114.62,256-256,256S.27,397.09.27,255.7,114.89-.3,256.27-.3s256,114.62,256,256ZM449.33,352.66c14.67-29.16,22.94-62.09,22.94-96.95,0-119.29-96.71-216-216-216S40.27,136.41,40.27,255.7c0,41.89,11.94,80.98,32.57,114.09,1.7,1.79,2.94.65,3.05-.57.27-1.61,2.75-20.85,4.43-27.27,1.87-7.6,4.52-14.98,7.93-22.03,1.75-3.49,3.76-7.93,6.18-11.82,8.77-13.95,19.75-26.38,32.51-36.81,7.24-5.32,14.87-10.08,22.84-14.24,9.74-4.78,20.09-8.22,30.76-10.21,4.03-.99,7.61-1.66,10.75-2.02,3.36-.54,5.78-.54,9.27-.94,3.49-.54,9.32-1.16,11.82-2.01,6.65-2.27,5.64-6.72,3.09-7.52-2.55-.81-9.67-1.88-13.84-2.96-4.16-1.21-8.73-2.82-11.28-3.76-2.55-.94-2.28-.94-3.9-2.02l-5.91-4.03c-.94-.94-1.34-.94.54-2.02l10.21-5.51c2.01-1.07,1.75-.67,3.09-.13,1.34.67,4.3,2.42,6.72,3.36,7.2,2.69,14.96,3.52,22.57,2.42,1.34-.27,1.34-.54,1.61-1.21.27-.67.81-.94-.13-2.69-.94-1.88-4.43-6.58-5.64-8.46l-1.21-2.28c-.27-.45-1.07-1.07,1.21-1.75,2.42-.54,10.48-2.58,12.9-2.82.86-.09.67,0,1.75,1.07,1.07,1.07,3.09,3.63,4.84,5.24,1.88,1.61,4.43,3.22,6.18,4.3,2.8,1.71,5.99,2.68,9.27,2.82,1.88,0,4.97-.13,7.12-.67,2.15-.4,3.63-.94,5.64-2.02,2.01-1.07,4.7-2.69,6.72-4.43,2.01-1.75,3.49-5.1,5.64-6.04,2.15-.81,4.97.54,7.12.94,2.28.4,4.97,1.21,6.18,1.61,1.21.4,2.01.4.67,2.28l-8.06,10.34c-1.34,1.88.13,5.51,1.21,5.64l5.64.27c2.28-.13,4.43.13,7.66-.67,3.36-.81,9.27-2.96,11.82-3.9,2.69-.94,3.22-1.34,4.16-2.01.81-.54,1.39-1.03,1.75-1.48.45-.27.67-1.07,2.82,0s9.4,4.97,11.28,6.18c2.01,1.21,1.07.94,0,1.75l-5.51,3.9c-1.48.94-1.07.94-3.22,1.88-2.15,1.07-6.58,2.96-9.67,4.03s-4.03,1.75-8.73,2.69c-4.7.81-14.51,1.75-19.48,2.55-4.97.81-7.93,1.34-10.34,2.01-2.28.67-2.15.94-3.49,1.88-1.48,1.07-2.69,1.61-4.97,3.9-2.28,2.28-5.91,6.85-8.73,9.81-2.82,2.96-6.45,6.04-8.33,7.79-2.02,1.61-1.61,1.34-3.36,2.42l-6.99,4.03-4.03,2.02-6.72,2.15c-2.42.67-3.9,1.21-7.66,2.01l-14.91,2.82c-3.63.81-4.3,1.07-7.12,2.01-2.96,1.07-6.22,2.46-9.81,4.16-3.22,1.43-6.81,3.45-10.75,6.04-13.6,9.14-24.61,21.63-31.97,36.27-2.01,3.76-2.96,6.58-3.9,9.27-1.07,2.69-1.61,4.03-2.28,6.58-.67,2.69-1.48,5.24-2.15,9.27-.54,4.16-1.48,11.15-1.75,15.45-.27,4.16-.27,6.04,0,10.21l1.88,14.91c.67,3.76,1.48,5.91,2.15,8.19l1.88,5.64c.99,2.6,2.42,5.78,4.3,9.54,2.15,3.76,5.37,9.13,8.06,13.03,10.08,14.51,23.81,26.36,40.17,33.05,22.55,9.22,43.32,10.46,61.89,10.46,3.25,0,6.49-.09,9.71-.23,3.07-.42,2.74-6.09,10.48-9.42,5.26-2.26,13.7-2.42,14.91-2.55,1.07-.13-5.24-4.57-7.79-6.45-2.55-1.88-4.97-4.3-6.72-5.91-1.75-1.75-2.42-2.28-3.9-4.16-1.61-1.88-3.9-5.51-5.24-7.12-1.34-1.61-1.48-2.28-2.55-2.55-.98-.27-2.37-.09-4.16.54-1.88.4-5.37,1.21-7.12,1.88-1.75.67-2.02.81-3.09,2.01-1.07,1.07-2.69,3.76-3.63,4.7-.81.94-.67.67-1.48.94-.81.27-2.42.67-3.63.54-1.34-.18-2.55-.58-3.63-1.21-.81-.81-1.48-2.42-1.88-3.22-.4-.94-.54-1.21-.54-2.15l.4-3.49c.18-1.52.72-3.27,1.61-5.24.94-1.75,1.88-3.49,4.16-5.64,2.15-2.02,7.52-5.51,9.13-6.85,1.61-1.34,1.21-2.15.54-3.63-2.69-5.16-6.33-9.77-10.75-13.57-2.42-1.88-5.51-3.22-7.79-4.3-2.15-1.21-2.01-1.21-5.78-2.42-3.76-1.07-13.16-3.63-16.79-4.84-3.63-1.07-2.82-.94-5.1-2.01l-8.19-4.3c-1.75-.94-1.34-.54-2.69-1.61l-5.51-4.57c-2.18-1.93-3.77-4.45-4.57-7.25-.45-1.52-.45-2.87,0-4.03.4-1.34,0-1.21,2.01-3.63,2.15-2.42,7.25-7.93,10.21-10.75,3.09-2.82,4.97-4.03,7.79-6.04,5.43-3.82,11.09-7.32,16.93-10.48,2.42-1.21,5.37-2.02,7.12-2.69,1.61-.81,2.64-1.43,3.09-1.88.54-.4.67.54.4-.94-.4-1.48-1.88-4.97-2.28-7.66-.4-2.82-.4-6.18,0-8.73.36-2.42,1.03-4.66,2.01-6.72,1.16-2.24,2.46-4.3,3.9-6.18,1.34-1.7,2.91-3.04,4.7-4.03,1.75-1.07,4.3-2.01,6.18-2.42,1.61-.45,3.13-.58,4.57-.4l4.57.27c1.34.18,2.55.49,3.63.94,1.07.54,2.55,1.48,3.09,2.01.4.67.67.13-.27,1.61-1.07,1.48-4.16,4.57-5.78,7.12-1.61,2.69-2.96,5.6-4.03,8.73-.94,3.22-1.88,8.73-2.01,10.75-.27,2.15,4.7,1.75,5.1.54.54-1.07.27-2.55,1.07-5.1.81-2.42,2.42-7.25,3.9-9.81,1.34-2.55,2.82-3.76,4.57-5.51,1.79-1.88,3.67-3.45,5.64-4.7,1.88-1.21,3.22-1.75,5.64-2.28,2.42-.4,6.18-.67,8.73-.67,2.42,0,3.9.13,6.18.94,2.15.81,5.24,2.69,7.12,4.03,1.79,1.52,3.22,3.09,4.3,4.7,1.21,1.61,1.88,2.96,2.55,5.1.67,2.15,1.34,5.1,1.34,7.66,0,2.69-.54,6.04-1.21,8.19-.63,2.24-1.43,4.03-2.42,5.37-.67,1.34-.94,1.61-2.15,2.82-1.21,1.34-3.22,3.22-4.97,4.57-1.75,1.21-4.43,2.28-5.51,3.22-.94.81-.4,2.51.4,2.42.94.13,1.75.4,4.57-.13,2.82-.4,8.33-2.15,12.22-2.82,11.99-2.63,24.41-2.63,36.4,0,3.22.54,4.16,1.07,6.31,1.75l6.04,2.28c2.42,1.07,5.51,2.42,8.19,4.16,8.15,5.36,15.14,12.3,20.55,20.42,1.61,2.42,2.87,4.66,3.76,6.72,1.85,4.51,3.42,9.13,4.7,13.84.67,2.82,1.21,4.43,1.61,8.19.4,3.76.4,11.82.54,14.37.27,2.55-.13,2.28,1.75,1.34,1.75-.94,20.09-7.74,30.63-31.57,9.16-20.71,1.9-47.26-2.28-55.34-1.75-3.22-4.16-6.99-6.31-9.81-4.44-5.14-9.6-9.62-15.31-13.3-2.96-1.7-5.55-3.09-7.79-4.16-4.33-1.6-8.77-2.86-13.3-3.76l-6.18-.4h-14.37c-2.69-.27-3.1-3.18-.54-4.3,3.64-1.58,9.88-2.63,18.54-2.42,8.78.21,14.91,1.88,17.33,2.55,13.98,3.94,30.19,16.65,38.55,30.76,6.61,11.16,9.81,29.96,9.81,29.96.37,1.75,2.18,1.66,3.08.35ZM232.78,345.3c-3.91,0-7.08,3.17-7.08,7.08s3.17,7.08,7.08,7.08,7.08-3.17,7.08-7.08-3.17-7.08-7.08-7.08Z"/></svg>';function lme(e){let t=e.status>=200&&e.status<300,r=t?"badge badge--success":"badge badge--notice",n=t?'<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false" class="mark"><path fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" d="M5 12.5l4.2 4.2L19 7"/></svg>':'<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false" class="mark"><path fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" d="M12 7v6M12 17h.01"/></svg>',i=t?"--success-soft":"--notice-soft";return`<!doctype html>
150
150
  <html lang="en">
151
151
  <head>
@@ -249,7 +249,7 @@ Auth:
249
249
  </body>
250
250
  </html>`}function gb(e,t){let r={};r["content-type"]="text/html; charset=utf-8",e.writeHead(t.status,r),e.end(lme(t))}var dme=new RegExp('[&^|<>()%"]',"g");function ume(e,t){switch(e){case"darwin":return["open",[t]];case"win32":return["cmd",["/c","start","",t.replace(dme,"^$&")]];default:return["xdg-open",[t]]}}function u8(e,t,r){let n=ume(t,r),i=n[1],o=n[0];return new Promise((a,s)=>{let l=(u,c)=>{let f={};return f.command=o,f.args=i.map(h=>h),u!==void 0&&(f.pid=u),c!==void 0&&(f.message=c),f.purpose="oauth.open_browser",f};e("process.spawn",l(void 0,void 0));let d=l8.spawn(o,i,{stdio:["ignore","ignore","ignore"],detached:!0});e("process.spawned",l(lt(d.pid),void 0)),d.on("error",u=>{e("process.spawn_failed",l(lt(d.pid),u.message)),a()}),d.on("spawn",()=>{d.unref(),a()})})}function cme(e,t,r){return new Promise((n,i)=>{let o={contents:void 0},a=new Promise((f,h)=>{o.contents=f}),s={contents:!1},l=f=>{if(s.contents)return!1;s.contents=!0;let h=o.contents;return h!==void 0&&h(f),!0},d={contents:"http://"+e+"/callback"},u=async(f,h)=>{let m=v(lt(f.url),"/"),p=Hi(m,"http://"+e);if(p.TAG==="Ok"){let _=p._0.searchParams,g=_.get("code"),b=_.get("state"),y=_.get("error"),S=0;if(y==null)S=1;else{if(y.trim()!=="")return l({TAG:"Error",_0:at("local runner OAuth failed: "+y)}),gb(h,{title:"Not authorized",body:"You denied the request. Close this tab and rerun the bootstrap command when you're ready.",status:403});S=1}if(S===1){let T=0;if(g==null||b==null)T=2;else{if(g.trim()!==""&&b.trim()!==""){let w=await r({code:g,state:b,redirectUri:d.contents});if(w.TAG==="Ok"){let A=l({TAG:"Ok",_0:w._0});return gb(h,{title:A?"Computer authorized":"Already authorized",body:"This computer has been authorized for agentic use in Linzumi. Feel free to close this tab and let the terminal finish setup.",status:200})}return l({TAG:"Error",_0:w._0}),gb(h,{title:"Authorization could not be completed",body:"We received the authorization but could not finish setup. Return to your terminal for details and rerun the bootstrap command.",status:400})}T=2}if(T===2)return gb(h,{title:"Authorization callback was incomplete",body:"We didn't receive the authorization code. Return to your terminal and try again.",status:400})}}else return l({TAG:"Error",_0:at(p._0)}),gb(h,{title:"Authorization callback failed",body:"Return to your terminal and rerun the bootstrap command.",status:500})},c=a8.createServer((f,h)=>{u(f,h)});c.once("error",f=>n({TAG:"Error",_0:at(f.message)})),c.listen(0,e,()=>{let f=c.address(),h;if(f==null||typeof f!="object"||f===null||Array.isArray(f))h=void 0;else{let p=f.port;h=typeof p=="number"?p:void 0}if(h===void 0)return n({TAG:"Error",_0:at("local runner OAuth callback server did not bind to a TCP port")});d.contents="http://"+e+":"+h.toString()+"/callback";let m;if(f==null||typeof f!="object"||f===null||Array.isArray(f))m="";else{let p=f.address;m=typeof p=="string"?p:""}n({TAG:"Ok",_0:{redirectUri:d.contents,boundAddress:m,waitForToken:p=>{let _=d8(p,t),g=setTimeout(()=>{l({TAG:"Error",_0:at("Authorization timed out before the browser callback completed. Rerun the connect command and finish authorizing in the browser.")}),c.close()},_);return g.unref(),a.then(b=>{clearTimeout(g)}),a},close:()=>{c.close()}}})})})}async function c8(e,t,r,n,i,o,a,s,l,d){let u=He(mi(e),at);if(u.TAG!=="Ok")return{TAG:"Error",_0:u._0};let c=u._0,f=He(ime(e,o),at);if(f.TAG!=="Ok")return{TAG:"Error",_0:f._0};let h=s8.randomBytes(18).toString("base64url"),m=await cme(f._0,a,g=>g.state===h?ame(c,g.code,g.redirectUri):Promise.resolve({TAG:"Error",_0:at("local runner OAuth state mismatch")}));if(m.TAG!=="Ok")return{TAG:"Error",_0:m._0};let p=m._0,_=He(ome(c,p.redirectUri,h,t,r,n,i),at);if(_.TAG==="Ok"){let g=_._0;s(`Authorize the local Codex runner:
251
251
  `+g+`
252
- `);let b;try{await l(g),b=await p.waitForToken(d8(d,a))}catch(y){let S=N(y);b={TAG:"Error",_0:at(Xh(S))}}return p.close(),b}return p.close(),{TAG:"Error",_0:_._0}}import*as KT from"node:fs";import*as Z1 from"node:os";import*as na from"node:path";import*as JT from"node:crypto";var mme=new RegExp("^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","i"),pme=new RegExp("^[a-zA-Z0-9_.-]+$");function HT(e){return mme.test(e)}function VT(e){return pme.test(e)}var hme=Du(U,e=>e.trim()!=="","allowedCwds entries must be non-empty strings",void 0);function p8(e){return{version:1,machineId:e.f("machineId",Z(Du(U,HT,"invalid machine id",void 0))),runnerId:e.f("runnerId",Z(Du(U,VT,"invalid runner id",void 0))),allowedCwds:e.f("allowedCwds",Vo(hme))}}var _me=Pt(p8),gme=Pt(e=>(e.tag("version",1),p8(e)));function r_(e){let t=new Set;return Fe(e,r=>{let n=r.trim();if(!(n===""||t.has(n)))return t.add(n),n})}function h8(e){return{version:e.version,machineId:e.machineId,runnerId:e.runnerId,allowedCwds:r_(e.allowedCwds)}}function K1(e){return Ze(Kl(e,gme),h8)}function _8(e){return Ze(Kl(e,_me),h8)}var WT=Z(Du(U,e=>e.trim()!=="","must be a non-empty string",void 0)),f8=Z(Du(Cr,e=>sr(e)?e>0:!1,"must be a positive integer",void 0));function bme(e){return!Number.isNaN(new Date(e).getTime())}var m8=Du(U,bme,"must be a parseable date",void 0),xLe=Pt(e=>({email:e.f("email",Du(U,t=>t.trim()!=="","must be a non-empty string",void 0)),serviceUrl:e.f("service_url",Du(U,t=>t.trim()!=="","must be a non-empty string",void 0)),accessToken:e.f("access_token",WT),refreshToken:e.f("refresh_token",WT),expiresInSeconds:e.f("expires_in_seconds",f8),userId:e.f("user_id",f8),workspaceSlug:e.f("workspace_slug",WT),launchUrl:e.f("launch_url",WT),createdAt:e.f("created_at",m8),updatedAt:e.f("updated_at",m8)}));var Id="prod";function g8(e){let t=e!==void 0?e:process.env,r=Ei(t,"HOME");return r!==void 0&&r.trim()!==""?r:Z1.homedir()}function km(e,t){let r=e!==void 0?e:process.env;return t==="~"?g8(r):t.startsWith("~/")?na.resolve(g8(r),t.slice(2)):t}function n_(e){let t=Ei(e,"LINZUMI_CONFIG_FILE");return t!==void 0&&t.trim()!==""?na.resolve(km(e,t)):na.resolve(Z1.homedir(),".linzumi","config.json")}function Dd(e){let t=mi(e),r=mi(Gc);if(t.TAG!=="Ok")return{TAG:"Error",_0:at(t._0)};let n=t._0;return r.TAG==="Ok"?{TAG:"Ok",_0:n===r._0?Id:n}:{TAG:"Error",_0:at(r._0)}}function Q1(e){return Ze(Dd(e),t=>t===Id?Id:Buffer.from(t).toString("base64url"))}function xme(e,t,r){let n=na.dirname(e),i=na.basename(e);return t!==void 0?Ae(Dd(t),o=>o===Id?{TAG:"Ok",_0:na.join(n,i+"."+r)}:Ze(Q1(t),a=>na.join(n,i+"."+a+"."+r))):{TAG:"Ok",_0:na.join(n,i+"."+r)}}function y8(e){if(KT.existsSync(e))return Ae(He($t(e),r=>at(r.message)),r=>{let n;try{n=JSON.parse(r)}catch{n=void 0}return typeof n=="object"&&n!==null&&!Array.isArray(n)?K1(n).TAG==="Ok"?{TAG:"Ok",_0:n}:{TAG:"Error",_0:at("invalid Linzumi config: "+e)}:{TAG:"Error",_0:at("invalid Linzumi config: "+e)}});let t={};return t.version=1,t.allowedCwds=[],{TAG:"Ok",_0:t}}function Sme(){let e={};return e.allowedCwds=[],e}function J1(e,t){return Ae(y8(e),r=>{let n=t!==void 0?Dd(t):{TAG:"Ok",_0:Id};return Ae(n,i=>{let o=i===Id?r:v(r[i],Sme()),a=i===Id?K1(o):_8(o);return He(a,s=>at("invalid Linzumi config section "+i+": "+e))})})}function Tme(e,t){let r=i=>at(i.message),n=KT.existsSync(e)?He(Eu(e,384),r):{TAG:"Ok",_0:void 0};return Ae(Ae(n,()=>He(Ac(e,JSON.stringify(t,void 0,2)+`
252
+ `);let b;try{await l(g),b=await p.waitForToken(d8(d,a))}catch(y){let S=N(y);b={TAG:"Error",_0:at(Xh(S))}}return p.close(),b}return p.close(),{TAG:"Error",_0:_._0}}import*as KT from"node:fs";import*as Z1 from"node:os";import*as na from"node:path";import*as JT from"node:crypto";var mme=new RegExp("^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","i"),pme=new RegExp("^[a-zA-Z0-9_.-]+$");function HT(e){return mme.test(e)}function VT(e){return pme.test(e)}var hme=Du(B,e=>e.trim()!=="","allowedCwds entries must be non-empty strings",void 0);function p8(e){return{version:1,machineId:e.f("machineId",Z(Du(B,HT,"invalid machine id",void 0))),runnerId:e.f("runnerId",Z(Du(B,VT,"invalid runner id",void 0))),allowedCwds:e.f("allowedCwds",Vo(hme))}}var _me=Pt(p8),gme=Pt(e=>(e.tag("version",1),p8(e)));function r_(e){let t=new Set;return Fe(e,r=>{let n=r.trim();if(!(n===""||t.has(n)))return t.add(n),n})}function h8(e){return{version:e.version,machineId:e.machineId,runnerId:e.runnerId,allowedCwds:r_(e.allowedCwds)}}function K1(e){return Ze(Kl(e,gme),h8)}function _8(e){return Ze(Kl(e,_me),h8)}var WT=Z(Du(B,e=>e.trim()!=="","must be a non-empty string",void 0)),f8=Z(Du(Cr,e=>sr(e)?e>0:!1,"must be a positive integer",void 0));function bme(e){return!Number.isNaN(new Date(e).getTime())}var m8=Du(B,bme,"must be a parseable date",void 0),xLe=Pt(e=>({email:e.f("email",Du(B,t=>t.trim()!=="","must be a non-empty string",void 0)),serviceUrl:e.f("service_url",Du(B,t=>t.trim()!=="","must be a non-empty string",void 0)),accessToken:e.f("access_token",WT),refreshToken:e.f("refresh_token",WT),expiresInSeconds:e.f("expires_in_seconds",f8),userId:e.f("user_id",f8),workspaceSlug:e.f("workspace_slug",WT),launchUrl:e.f("launch_url",WT),createdAt:e.f("created_at",m8),updatedAt:e.f("updated_at",m8)}));var Id="prod";function g8(e){let t=e!==void 0?e:process.env,r=Ei(t,"HOME");return r!==void 0&&r.trim()!==""?r:Z1.homedir()}function km(e,t){let r=e!==void 0?e:process.env;return t==="~"?g8(r):t.startsWith("~/")?na.resolve(g8(r),t.slice(2)):t}function n_(e){let t=Ei(e,"LINZUMI_CONFIG_FILE");return t!==void 0&&t.trim()!==""?na.resolve(km(e,t)):na.resolve(Z1.homedir(),".linzumi","config.json")}function Dd(e){let t=mi(e),r=mi(Gc);if(t.TAG!=="Ok")return{TAG:"Error",_0:at(t._0)};let n=t._0;return r.TAG==="Ok"?{TAG:"Ok",_0:n===r._0?Id:n}:{TAG:"Error",_0:at(r._0)}}function Q1(e){return Ze(Dd(e),t=>t===Id?Id:Buffer.from(t).toString("base64url"))}function xme(e,t,r){let n=na.dirname(e),i=na.basename(e);return t!==void 0?Ae(Dd(t),o=>o===Id?{TAG:"Ok",_0:na.join(n,i+"."+r)}:Ze(Q1(t),a=>na.join(n,i+"."+a+"."+r))):{TAG:"Ok",_0:na.join(n,i+"."+r)}}function y8(e){if(KT.existsSync(e))return Ae(He($t(e),r=>at(r.message)),r=>{let n;try{n=JSON.parse(r)}catch{n=void 0}return typeof n=="object"&&n!==null&&!Array.isArray(n)?K1(n).TAG==="Ok"?{TAG:"Ok",_0:n}:{TAG:"Error",_0:at("invalid Linzumi config: "+e)}:{TAG:"Error",_0:at("invalid Linzumi config: "+e)}});let t={};return t.version=1,t.allowedCwds=[],{TAG:"Ok",_0:t}}function Sme(){let e={};return e.allowedCwds=[],e}function J1(e,t){return Ae(y8(e),r=>{let n=t!==void 0?Dd(t):{TAG:"Ok",_0:Id};return Ae(n,i=>{let o=i===Id?r:v(r[i],Sme()),a=i===Id?K1(o):_8(o);return He(a,s=>at("invalid Linzumi config section "+i+": "+e))})})}function Tme(e,t){let r=i=>at(i.message),n=KT.existsSync(e)?He(Eu(e,384),r):{TAG:"Ok",_0:void 0};return Ae(Ae(n,()=>He(Ac(e,JSON.stringify(t,void 0,2)+`
253
253
  `,{encoding:"utf8",mode:384}),r)),()=>He(Eu(e,384),r))}function vme(e){let t={},r=e.machineId;r!==void 0&&(t.machineId=r);let n=e.runnerId;return n!==void 0&&(t.runnerId=n),t.allowedCwds=r_(e.allowedCwds).map(i=>i),t}function wme(e){let t=e.version===1,r=e.machineId,n=r!==void 0?HT(r):!0,i=e.runnerId,o=i!==void 0?VT(i):!0,a=e.allowedCwds.every(s=>s.trim()!=="");return t&&n&&o&&a?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:at("invalid Linzumi config")}}function Ame(e,t,r){return Ae(wme(e),()=>{let n=r!==void 0?Dd(r):{TAG:"Ok",_0:Id};return Ae(n,i=>Ae(y8(t),o=>{let a=Object.fromEntries(Object.entries(o)),s=vme(e);return i===Id?(Object.entries(s).forEach(l=>{a[l[0]]=l[1]}),a.version=1):(a.version=1,a[i]=s),Ae(He(Nt(na.dirname(t)),l=>at(l.message)),()=>Tme(t,a))}))})}function b8(e,t,r){return Ae(He($t(e),n=>at(n.message)),n=>{let i=n.trim();return t(i)?{TAG:"Ok",_0:i}:{TAG:"Error",_0:at("invalid Linzumi "+r+" seed: "+e)}})}function kme(e,t,r,n){if(KT.existsSync(e))return b8(e,r,n);let i=t();if(!r(i))return{TAG:"Error",_0:at("invalid generated Linzumi "+n+": "+i)};let o=na.dirname(e),a=na.basename(e),s=na.join(o,"."+a+"."+process.pid.toString()+"."+JT.randomUUID()+".tmp"),l=d=>at(d.message);return Ae(Ae(He(Nt(o),l),()=>He(Ac(s,i+`
254
254
  `,{encoding:"utf8",flag:"wx"}),l)),()=>{let d=kc(s,e),u;if(d.TAG==="Ok")u={TAG:"Ok",_0:i};else{let c=d._0;u=In(c,"EEXIST")?b8(e,r,n):{TAG:"Error",_0:at(c.message)}}return fi(s),u})}function Cme(){return"runner-"+JT.randomUUID()}function x8(e,t,r,n,i,o,a,s){let l=t!==void 0?Ze(Dd(t),d=>{if(d!==Id)return t}):{TAG:"Ok",_0:void 0};return Ae(l,d=>Ae(J1(e,d),u=>{let c=a(u);return c!==void 0?{TAG:"Ok",_0:c}:Ae(xme(e,d,r),f=>Ae(kme(f,n,i,o),h=>Ae(J1(e,d),m=>{let p=a(m);return p!==void 0?{TAG:"Ok",_0:p}:Ze(Ame(s(m,h),e,d),()=>h)})))}))}function S8(e,t,r){return x8(e,t,"machine-id",r!==void 0?r:i=>JT.randomUUID(),HT,"machine id",i=>i.machineId,(i,o)=>({version:i.version,machineId:o,runnerId:i.runnerId,allowedCwds:i.allowedCwds}))}function ZT(e,t,r){return x8(e,t,"runner-id",r!==void 0?r:Cme,VT,"runner id",i=>i.runnerId,(i,o)=>({version:i.version,machineId:i.machineId,runnerId:o,allowedCwds:i.allowedCwds}))}var Ome=["ENOENT","ENOTDIR","EACCES","ELOOP","EIO"];function Eme(e){let t=e.code;return t!==void 0?Ome.includes(t):!1}function T8(e,t){return Ae(J1(e,t),r=>{let n=[],i=[],o=[],a={contents:void 0};r.allowedCwds.forEach(l=>{if(a.contents!==void 0)return;let u=km(void 0,l),c=na.resolve(u),f=mo(c);if(f.TAG==="Ok"){let m=f._0;if(n.push(m),m===c)return;n.push(c);return}let h=f._0;Eme(h)?(i.push(c),o.push(u)):a.contents=at(h.message)});let s=a.contents;return s!==void 0?{TAG:"Error",_0:s}:{TAG:"Ok",_0:{allowedCwds:r_(n),missingAllowedCwds:r_(i),rawMissingAllowedCwds:r_(o)}}})}var Pme=3600*1e3;function Gme(e,t,r,n){return e<=3?"DecidePrompt":r!==void 0&&t-r<Pme?n?"DecideRefreshLine":"DecideSilent":"DecideSummary"}function v8(e){let t=Math.floor(e/6e4),r=Math.floor(t/60),n=t-r*60;return r>0?r.toString()+"h "+n.toString()+"m":n.toString()+"m"}function Rme(e){switch(e.TAG){case"Prompt":return(e.cycle===1?"":`The previous code expired; here is a fresh one (no restart needed - this prompt stays alive).
255
255
  `)+`Authorize this computer:
@@ -262,7 +262,7 @@ Open: `+e.verificationUri+`
262
262
  `);case"RefreshLine":return"\r\x1B[2KCode: "+e.userCode+" (waiting "+v8(e.waitedMs)+") - open "+e.verificationUri;case"TransientFailure":return"Device authorization poll hit a transient failure ("+e.reason+`); retrying with the same code.
263
263
  `;case"StartFailed":return"Could not mint a device authorization code ("+e.reason+"); retrying in "+Math.round(e.retryInMs/1e3).toString()+`s.
264
264
  `}}function Ime(e){return new Promise((t,r)=>{setTimeout(()=>t(),e|0)})}function Dme(e){return{startDeviceAuthorization:t=>n8(t.httpBaseUrl,t.workspaceSlug,t.channelSlug,t.onboarding,t.identity),pollDeviceCodeForToken:t=>i8(t.httpBaseUrl,t.deviceCode,t.expiresInSeconds,void 0),now:()=>Date.now(),sleep:Ime,report:e,log:(t,r)=>{}}}var Mme="local runner device authorization was denied - a signed-in user rejected this computer";async function w8(e,t,r,n,i,o,a,s){let l=o!==void 0?o:g=>{nr(g)},d=s!==void 0?s:Dme(g=>l(Rme(g))),u=a!==void 0?a:J(lt(process.stderr.isTTY),!0),c=He(mi(e),at);if(c.TAG!=="Ok")return{TAG:"Error",_0:c._0};let f=c._0,h=d.now(),m={cycle:0,lastLoudPromptAtMs:void 0,startFailures:0},p=async g=>{let b=await d.pollDeviceCodeForToken({httpBaseUrl:f,deviceCode:g.deviceCode,expiresInSeconds:g.expiresInSeconds});if(typeof b!="object"||b.TAG!=="Transient")return b;let y=b.httpStatus,S=b.reason;d.report({TAG:"TransientFailure",reason:S,waitedMs:d.now()-h});let T={};return T.cycle=m.cycle,T.reason=S,T.httpStatus=y!==void 0?y:null,d.log("device_wait.transient_poll_failure",T),await d.sleep(5e3),await p(g)},_=async()=>{let g=await d.startDeviceAuthorization({httpBaseUrl:f,workspaceSlug:t,channelSlug:r,onboarding:n,identity:i});if(g.TAG==="Ok"){let b=g._0;m.startFailures=0,m.cycle=m.cycle+1|0;let y=Gme(m.cycle,d.now(),m.lastLoudPromptAtMs,u),S=0;switch(y){case"DecidePrompt":case"DecideSummary":S=1;break;case"DecideRefreshLine":d.report({TAG:"RefreshLine",cycle:m.cycle,userCode:b.userCode,verificationUri:b.verificationUri,waitedMs:d.now()-h});break;case"DecideSilent":break}if(S===1){m.lastLoudPromptAtMs=d.now();let A=d.now()-h,P;P=y==="DecidePrompt"?{TAG:"Prompt",cycle:m.cycle,userCode:b.userCode,verificationUri:b.verificationUri,waitedMs:A}:{TAG:"Summary",cycle:m.cycle,userCode:b.userCode,verificationUri:b.verificationUri,waitedMs:A},d.report(P)}let T={};T.cycle=m.cycle,T.verificationUri=b.verificationUri,d.log("device_wait.code_issued",T);let w=await p(b);if(typeof w!="object")switch(w){case"CodeExpired":let A={};return A.cycle=m.cycle,A.outcome="code_expired",d.log("device_wait.code_retired",A),await _();case"Denied":return{TAG:"Error",_0:at(Mme)};case"Consumed":let P={};return P.cycle=m.cycle,P.outcome="consumed",d.log("device_wait.code_retired",P),await _()}else switch(w.TAG){case"Token":let A={};return A.cycle=m.cycle,A.waitedMs=d.now()-h,d.log("device_wait.authorized",A),{TAG:"Ok",_0:w._0};case"Rejected":let P=w.httpStatus,C=w.reason;d.report({TAG:"TransientFailure",reason:r8(C,P),waitedMs:d.now()-h});let k={};return k.cycle=m.cycle,k.reason=C!==void 0?C:null,k.httpStatus=P,d.log("device_wait.code_rejected",k),await _();case"Transient":return await _()}}else{let b=g._0;m.startFailures=m.startFailures+1|0;let y=Math.min(6e4,5e3*Math.pow(2,m.startFailures-1|0));d.report({TAG:"StartFailed",reason:b.summary,retryInMs:y});let S={};return S.reason=b.summary,S.retryInMs=y,S.attempt=m.startFailures,d.log("device_wait.start_failed",S),await d.sleep(y),await _()}};return await _()}var jme="linzumi-machine-fingerprint:v1:",Fme="linzumi-machine-fingerprint:v2:";var YT={platform:void 0,execFile:void 0,readFile:void 0,username:void 0};function Nme(e,t){return js(e,t,5e3,1024*1024)}var qme=new RegExp('"IOPlatformUUID"\\s*=\\s*"([0-9A-Fa-f-]{36})"'),zme=new RegExp("^[0-9a-f]{32}$"),Lme=["/etc/machine-id","/var/lib/dbus/machine-id"];function A8(e){let t=e!==void 0?e:YT,r=v(t.platform,process.platform),n=v(t.execFile,Nme),i=v(t.readFile,$t);switch(r){case"darwin":let o=n("ioreg",["-rd1","-c","IOPlatformExpertDevice"]);if(o.TAG!=="Ok")return;let a=qme.exec(o._0);if(a==null)return;let s=a.slice(1)[0];if(s===void 0)return;let l=ce(s);return l!==void 0?l.toLowerCase():void 0;case"linux":return nt(Lme,void 0,(d,u)=>{if(d!==void 0)return d;let c=i(u);if(c.TAG!=="Ok")return;let f=c._0.trim().toLowerCase();if(zme.test(f))return f});default:return}}function XT(e){return z(A8(e!==void 0?e:YT),r=>"mfp-"+po(jme+r).slice(0,32))}function Ume(e){let n=v((e!==void 0?e:YT).username,H4)();if(n.TAG==="Ok"){let i=n._0;return i===""?void 0:i}console.warn("[machineFingerprintV2] username probe failed:",n._0.message)}function k8(e){let t=e!==void 0?e:YT,r=A8(t),n=Ume(t);if(r!==void 0&&n!==void 0)return"mfp2-"+po(Fme+r+":"+n).slice(0,32)}function C8(e){let t={};return e!==void 0&&(t.machineFingerprintV2=e),t}function P8(e){return e==="UnusableRejected"?"Cached Linzumi local runner auth was rejected; starting OAuth.":"Cached Linzumi local runner auth points at a workspace or runner the server no longer knows (it may have been reset); starting OAuth."}function Bme(e,t){return Ae(He(mi(e),at),r=>{let n=ho(r);return n===void 0?{TAG:"Error",_0:at("invalid URL: "+r)}:{TAG:"Ok",_0:"Workspace '"+(t!==void 0?t:"undefined")+"' was not found on "+ce(n).host+". Sign in to the web app to create it, then re-run connect."}})}function G8(e){let t=e.authFilePath;return t!==void 0?t:Qh()}function R8(e,t){let r=G8(e);return Ze(Am(e.serviceUrl,t.accessToken,t.expiresInSeconds,r,new Date),n=>({accessToken:n.accessToken,expiresAt:n.expiresAt,authFilePath:r}))}function O8(e,t){if(t===void 0)return H1(e);let r=new Date(t).getTime();if(isFinite(r))return{TAG:"Ok",_0:t};let n=H1(e);if(n.TAG!=="Ok")return{TAG:"Error",_0:n._0};let i=n._0;return i!==void 0?{TAG:"Ok",_0:i}:{TAG:"Error",_0:at("invalid managed token expiry metadata and access token has no usable expiry")}}async function Wme(e){let t=n_(process.env),r=ZT(t,e.serviceUrl,void 0);if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=r._0,i=XT(void 0),o=E8.hostname(),a={commanderId:n,machineFingerprint:i,hostname:o},s=await w8(e.serviceUrl,e.workspaceSlug,e.channelSlug,e.onboarding,a,void 0,void 0,void 0);return s.TAG==="Ok"?R8(e,s._0):{TAG:"Error",_0:s._0}}async function Hme(e){let t=e.authMode;if(typeof t!="object")return await Wme(e);let r=z(t.callbackHost,d5),n=await c8(e.serviceUrl,e.workspaceSlug,e.channelSlug,e.onboarding,void 0,r,process.env,i=>{nr(i)},i=>u8((o,a)=>{if(o!=="process.spawn_failed"||typeof a!="object"||a===null||Array.isArray(a))return;let s=E(a.command,qr),l=E(a.message,qr);if(s!==void 0&&l!==void 0){nr("linzumi (rescript commander): could not open the authorization URL with "+s+" ("+l+`); open the URL above manually
265
- `);return}},process.platform,i),void 0);return n.TAG==="Ok"?R8(e,n._0):{TAG:"Error",_0:n._0}}function Vme(){return{readCachedToken:(e,t)=>Yh(e,t,Date.now()),validateToken:(e,t,r,n,i)=>t_(e,t,r,n,i),acquireAndCacheAuth:Hme}}async function Kme(e,t,r){let n=await t.validateToken(e.serviceUrl,r,e.workspaceSlug,e.channelSlug,e.requiredScopes);if(n.TAG!=="Ok")return{TAG:"Ok",_0:void 0};switch(n._0){case"Usable":case"Rejected":return{TAG:"Ok",_0:void 0};case"NotFound":return Ae(Bme(e.serviceUrl,e.workspaceSlug),i=>({TAG:"Error",_0:at(i)}))}}async function X1(e,t){let r=t!==void 0?t:Vme(),n=z(e.explicitToken,_=>_.trim()),i=n!==void 0&&n!==""?n:void 0;if(i!==void 0)return{TAG:"Ok",_0:{TAG:"ExplicitAuth",accessToken:i}};let o=G8(e),a=r.readCachedToken(e.serviceUrl,o);if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};let s=a._0,l;if(s!==void 0){let _=await r.validateToken(e.serviceUrl,s.accessToken,e.workspaceSlug,e.channelSlug,e.requiredScopes);if(_.TAG==="Ok")switch(_._0){case"Usable":l={TAG:"Ok",_0:s};break;case"Rejected":let g=e.reportRejectedCachedToken;g!==void 0&&g("UnusableRejected"),l={TAG:"Ok",_0:void 0};break;case"NotFound":let b=e.reportRejectedCachedToken;b!==void 0&&b("UnusableNotFound"),l={TAG:"Ok",_0:void 0};break}else l={TAG:"Error",_0:_._0}}else l={TAG:"Ok",_0:void 0};if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0};let d=l._0;if(d!==void 0)return Ze(O8(d.accessToken,d.expiresAt),_=>({TAG:"CachedAuth",_0:{accessToken:d.accessToken,expiresAt:_,authFilePath:o}}));let u=await r.acquireAndCacheAuth(e);if(u.TAG!=="Ok")return{TAG:"Error",_0:u._0};let c=u._0,f=O8(c.accessToken,c.expiresAt);if(f.TAG!=="Ok")return{TAG:"Error",_0:f._0};let h=f._0;if(e.workspaceSlug===void 0)return{TAG:"Ok",_0:{TAG:"AcquiredAuth",accessToken:c.accessToken,expiresAt:h,authFilePath:c.authFilePath,mode:e.authMode}};let p=await Kme(e,r,c.accessToken);return p.TAG==="Ok"?{TAG:"Ok",_0:{TAG:"AcquiredAuth",accessToken:c.accessToken,expiresAt:h,authFilePath:c.authFilePath,mode:e.authMode}}:{TAG:"Error",_0:p._0}}function eP(e){switch(e.TAG){case"CachedAuth":return e._0.accessToken;case"ExplicitAuth":case"AcquiredAuth":return e.accessToken}}async function I8(e,t){return Ze(await X1(e,t),eP)}function ev(e){return at(e.message)}function Jme(e,t,r,n,i){return Ae(He(Cc(tP.join(M8.tmpdir(),"linzumi-mcp-auth-")),ev),o=>Ae(He(Eu(o,448),ev),()=>{let a=tP.join(o,"auth.json");return Ae(Am(e,r!==void 0?r:n!==void 0?n:t,void 0,a,i),s=>Ze(He(Eu(a,384),ev),()=>({path:a,directory:o,cleanup:()=>{ds(o)}})))}))}function Zme(e,t,r,n){return Ae(Am(t,r,void 0,e.path,n),i=>Ze(He(Eu(e.path,384),ev),()=>{}))}function Qme(){return{readCachedToken:(e,t)=>Yh(e,t,Date.now()),validateTokenOutcome:(e,t,r,n)=>t_(e,t,r,n,void 0),resolveToken:e=>I8(e,void 0)}}var rP="missing Linzumi MCP token; run linzumi auth or pass --token";function Yme(e){return"Linzumi MCP token was rejected by the server and re-mint failed: "+e}async function $8(e,t,r,n,i,o){let a=o!==void 0?o:Qme(),s=r!==void 0?r:Qh(),l=t!==void 0?{TAG:"Ok",_0:t}:Ze(a.readCachedToken(e,s),f=>z(f,h=>h.accessToken));if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0};let d=l._0;if(d===void 0)return{TAG:"Error",_0:at(rP)};let u=await a.validateTokenOutcome(e,d,n,i);if(u.TAG!=="Ok")return{TAG:"Error",_0:u._0};switch(u._0){case"Usable":return{TAG:"Ok",_0:d};case"Rejected":case"NotFound":break}let c=await a.resolveToken({serviceUrl:e,explicitToken:void 0,workspaceSlug:n,channelSlug:i,requiredScopes:[],onboarding:void 0,authFilePath:r,authMode:{TAG:"BrowserMode",callbackHost:void 0},reportRejectedCachedToken:void 0});return c.TAG==="Ok"?{TAG:"Ok",_0:c._0}:{TAG:"Error",_0:at(Yme(c._0.summary))}}function nP(e,t,r){if(t!==void 0)return{TAG:"PersonalAgentMcp",_0:{accessToken:t}};if(r!==void 0)return{TAG:"CodingJobMcp",_0:{accessToken:r}};if(e.TAG==="StaticRunner")return{TAG:"StaticRunnerMcp",_0:{accessToken:e._0.currentToken()}};let n=e._0;return{TAG:"ManagedRunnerMcp",_0:{initialToken:n.currentToken(),subscribe:n.subscribe}}}function tv(){let e={contents:"AwaitingMcpConsumer"};return{state:()=>e.contents,attach:t=>{let r=e.contents;if(typeof r!="object")return e.contents={TAG:"ActiveMcpConsumer",_0:t},{TAG:"Ok",_0:void 0};switch(r.TAG){case"ActiveMcpConsumer":return{TAG:"Error",_0:at("MCP consumer is already attached")};case"FailedBeforeMcpConsumer":let n=r._0;return e.contents={TAG:"RetiredMcpConsumer",_0:n},t.retire(),{TAG:"Error",_0:n};case"RetiredMcpConsumer":return t.retire(),{TAG:"Error",_0:r._0}}},reportRefreshFailure:t=>{let r=e.contents;if(typeof r!="object"){e.contents={TAG:"FailedBeforeMcpConsumer",_0:t};return}switch(r.TAG){case"ActiveMcpConsumer":return e.contents={TAG:"RetiredMcpConsumer",_0:t},r._0.retire();case"FailedBeforeMcpConsumer":case"RetiredMcpConsumer":return}}}}function rv(e,t,r,n){let i;if(t.TAG==="ManagedRunnerMcp"){let a=t._0;i=[a.initialToken,a.subscribe]}else i=[t._0.accessToken,void 0];let o=i[1];return Ze(Jme(e,i[0],void 0,void 0,n),a=>{let s={contents:{TAG:"ActiveStatic",_0:{path:a.path}}};if(o!==void 0){let l={contents:()=>{}};s.contents={TAG:"ActiveManaged",_0:{path:a.path,unsubscribe:()=>l.contents()}};let d=o(u=>{let c=s.contents;if(typeof c!="object"||c.TAG==="ActiveStatic")return;let f=Zme(a,e,u,new Date);if(f.TAG!=="Ok")return r(f._0)});l.contents=d}return{path:a.path,directory:a.directory,state:()=>s.contents,cleanup:()=>{let l=s.contents;if(typeof l=="object"){if(l.TAG==="ActiveStatic")return s.contents="Cleaned",a.cleanup();s.contents="Cleaned",l._0.unsubscribe(),a.cleanup()}}}})}var B={};oE(B,{BRAND:()=>wpe,DIRTY:()=>Cm,EMPTY_PATH:()=>rpe,INVALID:()=>mr,NEVER:()=>she,OK:()=>va,ParseStatus:()=>ia,Schema:()=>Qr,ZodAny:()=>zc,ZodArray:()=>Fu,ZodBigInt:()=>Em,ZodBoolean:()=>Pm,ZodBranded:()=>yb,ZodCatch:()=>zm,ZodDate:()=>Gm,ZodDefault:()=>qm,ZodDiscriminatedUnion:()=>ov,ZodEffects:()=>dl,ZodEnum:()=>Fm,ZodError:()=>ps,ZodFirstPartyTypeKind:()=>st,ZodFunction:()=>sv,ZodIntersection:()=>Mm,ZodIssueCode:()=>ot,ZodLazy:()=>$m,ZodLiteral:()=>jm,ZodMap:()=>d_,ZodNaN:()=>c_,ZodNativeEnum:()=>Nm,ZodNever:()=>Jl,ZodNull:()=>Im,ZodNullable:()=>jd,ZodNumber:()=>Om,ZodObject:()=>_s,ZodOptional:()=>hs,ZodParsedType:()=>kt,ZodPipeline:()=>xb,ZodPromise:()=>Lc,ZodReadonly:()=>Lm,ZodRecord:()=>av,ZodSchema:()=>Qr,ZodSet:()=>u_,ZodString:()=>qc,ZodSymbol:()=>s_,ZodTransformer:()=>dl,ZodTuple:()=>$d,ZodType:()=>Qr,ZodUndefined:()=>Rm,ZodUnion:()=>Dm,ZodUnknown:()=>ju,ZodVoid:()=>l_,addIssueToContext:()=>xt,any:()=>Ipe,array:()=>jpe,bigint:()=>Ope,boolean:()=>V8,coerce:()=>ahe,custom:()=>B8,date:()=>Epe,datetimeRegex:()=>L8,defaultErrorMap:()=>Mu,discriminatedUnion:()=>qpe,effect:()=>Ype,enum:()=>Jpe,function:()=>Hpe,getErrorMap:()=>i_,getParsedType:()=>Md,instanceof:()=>kpe,intersection:()=>zpe,isAborted:()=>nv,isAsync:()=>o_,isDirty:()=>iv,isValid:()=>Nc,late:()=>Ape,lazy:()=>Vpe,literal:()=>Kpe,makeIssue:()=>bb,map:()=>Bpe,nan:()=>Cpe,nativeEnum:()=>Zpe,never:()=>Mpe,null:()=>Rpe,nullable:()=>ehe,number:()=>H8,object:()=>lP,objectUtil:()=>oP,oboolean:()=>ohe,onumber:()=>ihe,optional:()=>Xpe,ostring:()=>nhe,pipeline:()=>rhe,preprocess:()=>the,promise:()=>Qpe,quotelessJson:()=>Xme,record:()=>Upe,set:()=>Wpe,setErrorMap:()=>tpe,strictObject:()=>Fpe,string:()=>W8,symbol:()=>Ppe,transformer:()=>Ype,tuple:()=>Lpe,undefined:()=>Gpe,union:()=>Npe,unknown:()=>Dpe,util:()=>fn,void:()=>$pe});var fn;(function(e){e.assertEqual=i=>{};function t(i){}e.assertIs=t;function r(i){throw new Error}e.assertNever=r,e.arrayToEnum=i=>{let o={};for(let a of i)o[a]=a;return o},e.getValidEnumValues=i=>{let o=e.objectKeys(i).filter(s=>typeof i[i[s]]!="number"),a={};for(let s of o)a[s]=i[s];return e.objectValues(a)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let o=[];for(let a in i)Object.prototype.hasOwnProperty.call(i,a)&&o.push(a);return o},e.find=(i,o)=>{for(let a of i)if(o(a))return a},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function n(i,o=" | "){return i.map(a=>typeof a=="string"?`'${a}'`:a).join(o)}e.joinValues=n,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(fn||(fn={}));var oP;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(oP||(oP={}));var kt=fn.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Md=e=>{switch(typeof e){case"undefined":return kt.undefined;case"string":return kt.string;case"number":return Number.isNaN(e)?kt.nan:kt.number;case"boolean":return kt.boolean;case"function":return kt.function;case"bigint":return kt.bigint;case"symbol":return kt.symbol;case"object":return Array.isArray(e)?kt.array:e===null?kt.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?kt.promise:typeof Map<"u"&&e instanceof Map?kt.map:typeof Set<"u"&&e instanceof Set?kt.set:typeof Date<"u"&&e instanceof Date?kt.date:kt.object;default:return kt.unknown}};var ot=fn.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Xme=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ps=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){let r=t||function(o){return o.message},n={_errors:[]},i=o=>{for(let a of o.issues)if(a.code==="invalid_union")a.unionErrors.map(i);else if(a.code==="invalid_return_type")i(a.returnTypeError);else if(a.code==="invalid_arguments")i(a.argumentsError);else if(a.path.length===0)n._errors.push(r(a));else{let s=n,l=0;for(;l<a.path.length;){let d=a.path[l];l===a.path.length-1?(s[d]=s[d]||{_errors:[]},s[d]._errors.push(r(a))):s[d]=s[d]||{_errors:[]},s=s[d],l++}}};return i(this),n}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,fn.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=r=>r.message){let r={},n=[];for(let i of this.issues)if(i.path.length>0){let o=i.path[0];r[o]=r[o]||[],r[o].push(t(i))}else n.push(t(i));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};ps.create=e=>new ps(e);var epe=(e,t)=>{let r;switch(e.code){case ot.invalid_type:e.received===kt.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case ot.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,fn.jsonStringifyReplacer)}`;break;case ot.unrecognized_keys:r=`Unrecognized key(s) in object: ${fn.joinValues(e.keys,", ")}`;break;case ot.invalid_union:r="Invalid input";break;case ot.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${fn.joinValues(e.options)}`;break;case ot.invalid_enum_value:r=`Invalid enum value. Expected ${fn.joinValues(e.options)}, received '${e.received}'`;break;case ot.invalid_arguments:r="Invalid function arguments";break;case ot.invalid_return_type:r="Invalid function return type";break;case ot.invalid_date:r="Invalid date";break;case ot.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:fn.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case ot.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case ot.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case ot.custom:r="Invalid input";break;case ot.invalid_intersection_types:r="Intersection results could not be merged";break;case ot.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case ot.not_finite:r="Number must be finite";break;default:r=t.defaultError,fn.assertNever(e)}return{message:r}},Mu=epe;var j8=Mu;function tpe(e){j8=e}function i_(){return j8}var bb=e=>{let{data:t,path:r,errorMaps:n,issueData:i}=e,o=[...r,...i.path||[]],a={...i,path:o};if(i.message!==void 0)return{...i,path:o,message:i.message};let s="",l=n.filter(d=>!!d).slice().reverse();for(let d of l)s=d(a,{data:t,defaultError:s}).message;return{...i,path:o,message:s}},rpe=[];function xt(e,t){let r=i_(),n=bb({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===Mu?void 0:Mu].filter(i=>!!i)});e.common.issues.push(n)}var ia=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){let n=[];for(let i of r){if(i.status==="aborted")return mr;i.status==="dirty"&&t.dirty(),n.push(i.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,r){let n=[];for(let i of r){let o=await i.key,a=await i.value;n.push({key:o,value:a})}return e.mergeObjectSync(t,n)}static mergeObjectSync(t,r){let n={};for(let i of r){let{key:o,value:a}=i;if(o.status==="aborted"||a.status==="aborted")return mr;o.status==="dirty"&&t.dirty(),a.status==="dirty"&&t.dirty(),o.value!=="__proto__"&&(typeof a.value<"u"||i.alwaysSet)&&(n[o.value]=a.value)}return{status:t.value,value:n}}},mr=Object.freeze({status:"aborted"}),Cm=e=>({status:"dirty",value:e}),va=e=>({status:"valid",value:e}),nv=e=>e.status==="aborted",iv=e=>e.status==="dirty",Nc=e=>e.status==="valid",o_=e=>typeof Promise<"u"&&e instanceof Promise;var zt;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(zt||(zt={}));var ll=class{constructor(t,r,n,i){this._cachedPath=[],this.parent=t,this.data=r,this._path=n,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},F8=(e,t)=>{if(Nc(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new ps(e.common.issues);return this._error=r,this._error}}};function Lr(e){if(!e)return{};let{errorMap:t,invalid_type_error:r,required_error:n,description:i}=e;if(t&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(a,s)=>{let{message:l}=e;return a.code==="invalid_enum_value"?{message:l??s.defaultError}:typeof s.data>"u"?{message:l??n??s.defaultError}:a.code!=="invalid_type"?{message:s.defaultError}:{message:l??r??s.defaultError}},description:i}}var Qr=class{get description(){return this._def.description}_getType(t){return Md(t.data)}_getOrReturnCtx(t,r){return r||{common:t.parent.common,data:t.data,parsedType:Md(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new ia,ctx:{common:t.parent.common,data:t.data,parsedType:Md(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let r=this._parse(t);if(o_(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){let r=this._parse(t);return Promise.resolve(r)}parse(t,r){let n=this.safeParse(t,r);if(n.success)return n.data;throw n.error}safeParse(t,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Md(t)},i=this._parseSync({data:t,path:n.path,parent:n});return F8(n,i)}"~validate"(t){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Md(t)};if(!this["~standard"].async)try{let n=this._parseSync({data:t,path:[],parent:r});return Nc(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:r}).then(n=>Nc(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(t,r){let n=await this.safeParseAsync(t,r);if(n.success)return n.data;throw n.error}async safeParseAsync(t,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Md(t)},i=this._parse({data:t,path:n.path,parent:n}),o=await(o_(i)?i:Promise.resolve(i));return F8(n,o)}refine(t,r){let n=i=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(i):r;return this._refinement((i,o)=>{let a=t(i),s=()=>o.addIssue({code:ot.custom,...n(i)});return typeof Promise<"u"&&a instanceof Promise?a.then(l=>l?!0:(s(),!1)):a?!0:(s(),!1)})}refinement(t,r){return this._refinement((n,i)=>t(n)?!0:(i.addIssue(typeof r=="function"?r(n,i):r),!1))}_refinement(t){return new dl({schema:this,typeName:st.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return hs.create(this,this._def)}nullable(){return jd.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Fu.create(this)}promise(){return Lc.create(this,this._def)}or(t){return Dm.create([this,t],this._def)}and(t){return Mm.create(this,t,this._def)}transform(t){return new dl({...Lr(this._def),schema:this,typeName:st.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let r=typeof t=="function"?t:()=>t;return new qm({...Lr(this._def),innerType:this,defaultValue:r,typeName:st.ZodDefault})}brand(){return new yb({typeName:st.ZodBranded,type:this,...Lr(this._def)})}catch(t){let r=typeof t=="function"?t:()=>t;return new zm({...Lr(this._def),innerType:this,catchValue:r,typeName:st.ZodCatch})}describe(t){let r=this.constructor;return new r({...this._def,description:t})}pipe(t){return xb.create(this,t)}readonly(){return Lm.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},npe=/^c[^\s-]{8,}$/i,ipe=/^[0-9a-z]+$/,ope=/^[0-9A-HJKMNP-TV-Z]{26}$/i,ape=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,spe=/^[a-z0-9_-]{21}$/i,lpe=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,dpe=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,upe=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,cpe="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",aP,fpe=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,mpe=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ppe=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,hpe=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,_pe=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,gpe=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,q8="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",bpe=new RegExp(`^${q8}$`);function z8(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let r=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${r}`}function ype(e){return new RegExp(`^${z8(e)}$`)}function L8(e){let t=`${q8}T${z8(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function xpe(e,t){return!!((t==="v4"||!t)&&fpe.test(e)||(t==="v6"||!t)&&ppe.test(e))}function Spe(e,t){if(!lpe.test(e))return!1;try{let[r]=e.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),i=JSON.parse(atob(n));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||t&&i.alg!==t)}catch{return!1}}function Tpe(e,t){return!!((t==="v4"||!t)&&mpe.test(e)||(t==="v6"||!t)&&hpe.test(e))}var qc=class e extends Qr{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==kt.string){let o=this._getOrReturnCtx(t);return xt(o,{code:ot.invalid_type,expected:kt.string,received:o.parsedType}),mr}let n=new ia,i;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(i=this._getOrReturnCtx(t,i),xt(i,{code:ot.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),n.dirty());else if(o.kind==="max")t.data.length>o.value&&(i=this._getOrReturnCtx(t,i),xt(i,{code:ot.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),n.dirty());else if(o.kind==="length"){let a=t.data.length>o.value,s=t.data.length<o.value;(a||s)&&(i=this._getOrReturnCtx(t,i),a?xt(i,{code:ot.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):s&&xt(i,{code:ot.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),n.dirty())}else if(o.kind==="email")upe.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"email",code:ot.invalid_string,message:o.message}),n.dirty());else if(o.kind==="emoji")aP||(aP=new RegExp(cpe,"u")),aP.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"emoji",code:ot.invalid_string,message:o.message}),n.dirty());else if(o.kind==="uuid")ape.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"uuid",code:ot.invalid_string,message:o.message}),n.dirty());else if(o.kind==="nanoid")spe.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"nanoid",code:ot.invalid_string,message:o.message}),n.dirty());else if(o.kind==="cuid")npe.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"cuid",code:ot.invalid_string,message:o.message}),n.dirty());else if(o.kind==="cuid2")ipe.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"cuid2",code:ot.invalid_string,message:o.message}),n.dirty());else if(o.kind==="ulid")ope.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"ulid",code:ot.invalid_string,message:o.message}),n.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{i=this._getOrReturnCtx(t,i),xt(i,{validation:"url",code:ot.invalid_string,message:o.message}),n.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"regex",code:ot.invalid_string,message:o.message}),n.dirty())):o.kind==="trim"?t.data=t.data.trim():o.kind==="includes"?t.data.includes(o.value,o.position)||(i=this._getOrReturnCtx(t,i),xt(i,{code:ot.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),n.dirty()):o.kind==="toLowerCase"?t.data=t.data.toLowerCase():o.kind==="toUpperCase"?t.data=t.data.toUpperCase():o.kind==="startsWith"?t.data.startsWith(o.value)||(i=this._getOrReturnCtx(t,i),xt(i,{code:ot.invalid_string,validation:{startsWith:o.value},message:o.message}),n.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(i=this._getOrReturnCtx(t,i),xt(i,{code:ot.invalid_string,validation:{endsWith:o.value},message:o.message}),n.dirty()):o.kind==="datetime"?L8(o).test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{code:ot.invalid_string,validation:"datetime",message:o.message}),n.dirty()):o.kind==="date"?bpe.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{code:ot.invalid_string,validation:"date",message:o.message}),n.dirty()):o.kind==="time"?ype(o).test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{code:ot.invalid_string,validation:"time",message:o.message}),n.dirty()):o.kind==="duration"?dpe.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"duration",code:ot.invalid_string,message:o.message}),n.dirty()):o.kind==="ip"?xpe(t.data,o.version)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"ip",code:ot.invalid_string,message:o.message}),n.dirty()):o.kind==="jwt"?Spe(t.data,o.alg)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"jwt",code:ot.invalid_string,message:o.message}),n.dirty()):o.kind==="cidr"?Tpe(t.data,o.version)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"cidr",code:ot.invalid_string,message:o.message}),n.dirty()):o.kind==="base64"?_pe.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"base64",code:ot.invalid_string,message:o.message}),n.dirty()):o.kind==="base64url"?gpe.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"base64url",code:ot.invalid_string,message:o.message}),n.dirty()):fn.assertNever(o);return{status:n.value,value:t.data}}_regex(t,r,n){return this.refinement(i=>t.test(i),{validation:r,code:ot.invalid_string,...zt.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...zt.errToObj(t)})}url(t){return this._addCheck({kind:"url",...zt.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...zt.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...zt.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...zt.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...zt.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...zt.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...zt.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...zt.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...zt.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...zt.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...zt.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...zt.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...zt.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...zt.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...zt.errToObj(t)})}regex(t,r){return this._addCheck({kind:"regex",regex:t,...zt.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r?.position,...zt.errToObj(r?.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,...zt.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,...zt.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,...zt.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,...zt.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,...zt.errToObj(r)})}nonempty(t){return this.min(1,zt.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};qc.create=e=>new qc({checks:[],typeName:st.ZodString,coerce:e?.coerce??!1,...Lr(e)});function vpe(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,i=r>n?r:n,o=Number.parseInt(e.toFixed(i).replace(".","")),a=Number.parseInt(t.toFixed(i).replace(".",""));return o%a/10**i}var Om=class e extends Qr{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==kt.number){let o=this._getOrReturnCtx(t);return xt(o,{code:ot.invalid_type,expected:kt.number,received:o.parsedType}),mr}let n,i=new ia;for(let o of this._def.checks)o.kind==="int"?fn.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),xt(n,{code:ot.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(n=this._getOrReturnCtx(t,n),xt(n,{code:ot.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(n=this._getOrReturnCtx(t,n),xt(n,{code:ot.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?vpe(t.data,o.value)!==0&&(n=this._getOrReturnCtx(t,n),xt(n,{code:ot.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),xt(n,{code:ot.not_finite,message:o.message}),i.dirty()):fn.assertNever(o);return{status:i.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,zt.toString(r))}gt(t,r){return this.setLimit("min",t,!1,zt.toString(r))}lte(t,r){return this.setLimit("max",t,!0,zt.toString(r))}lt(t,r){return this.setLimit("max",t,!1,zt.toString(r))}setLimit(t,r,n,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:zt.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:zt.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:zt.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:zt.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:zt.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:zt.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:zt.toString(r)})}finite(t){return this._addCheck({kind:"finite",message:zt.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:zt.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:zt.toString(t)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&fn.isInteger(t.value))}get isFinite(){let t=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(t===null||n.value<t)&&(t=n.value)}return Number.isFinite(r)&&Number.isFinite(t)}};Om.create=e=>new Om({checks:[],typeName:st.ZodNumber,coerce:e?.coerce||!1,...Lr(e)});var Em=class e extends Qr{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==kt.bigint)return this._getInvalidInput(t);let n,i=new ia;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(n=this._getOrReturnCtx(t,n),xt(n,{code:ot.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(n=this._getOrReturnCtx(t,n),xt(n,{code:ot.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),xt(n,{code:ot.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):fn.assertNever(o);return{status:i.value,value:t.data}}_getInvalidInput(t){let r=this._getOrReturnCtx(t);return xt(r,{code:ot.invalid_type,expected:kt.bigint,received:r.parsedType}),mr}gte(t,r){return this.setLimit("min",t,!0,zt.toString(r))}gt(t,r){return this.setLimit("min",t,!1,zt.toString(r))}lte(t,r){return this.setLimit("max",t,!0,zt.toString(r))}lt(t,r){return this.setLimit("max",t,!1,zt.toString(r))}setLimit(t,r,n,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:zt.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:zt.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:zt.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:zt.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:zt.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:zt.toString(r)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};Em.create=e=>new Em({checks:[],typeName:st.ZodBigInt,coerce:e?.coerce??!1,...Lr(e)});var Pm=class extends Qr{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==kt.boolean){let n=this._getOrReturnCtx(t);return xt(n,{code:ot.invalid_type,expected:kt.boolean,received:n.parsedType}),mr}return va(t.data)}};Pm.create=e=>new Pm({typeName:st.ZodBoolean,coerce:e?.coerce||!1,...Lr(e)});var Gm=class e extends Qr{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==kt.date){let o=this._getOrReturnCtx(t);return xt(o,{code:ot.invalid_type,expected:kt.date,received:o.parsedType}),mr}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return xt(o,{code:ot.invalid_date}),mr}let n=new ia,i;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(i=this._getOrReturnCtx(t,i),xt(i,{code:ot.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),n.dirty()):o.kind==="max"?t.data.getTime()>o.value&&(i=this._getOrReturnCtx(t,i),xt(i,{code:ot.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),n.dirty()):fn.assertNever(o);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:zt.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:zt.toString(r)})}get minDate(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t!=null?new Date(t):null}};Gm.create=e=>new Gm({checks:[],coerce:e?.coerce||!1,typeName:st.ZodDate,...Lr(e)});var s_=class extends Qr{_parse(t){if(this._getType(t)!==kt.symbol){let n=this._getOrReturnCtx(t);return xt(n,{code:ot.invalid_type,expected:kt.symbol,received:n.parsedType}),mr}return va(t.data)}};s_.create=e=>new s_({typeName:st.ZodSymbol,...Lr(e)});var Rm=class extends Qr{_parse(t){if(this._getType(t)!==kt.undefined){let n=this._getOrReturnCtx(t);return xt(n,{code:ot.invalid_type,expected:kt.undefined,received:n.parsedType}),mr}return va(t.data)}};Rm.create=e=>new Rm({typeName:st.ZodUndefined,...Lr(e)});var Im=class extends Qr{_parse(t){if(this._getType(t)!==kt.null){let n=this._getOrReturnCtx(t);return xt(n,{code:ot.invalid_type,expected:kt.null,received:n.parsedType}),mr}return va(t.data)}};Im.create=e=>new Im({typeName:st.ZodNull,...Lr(e)});var zc=class extends Qr{constructor(){super(...arguments),this._any=!0}_parse(t){return va(t.data)}};zc.create=e=>new zc({typeName:st.ZodAny,...Lr(e)});var ju=class extends Qr{constructor(){super(...arguments),this._unknown=!0}_parse(t){return va(t.data)}};ju.create=e=>new ju({typeName:st.ZodUnknown,...Lr(e)});var Jl=class extends Qr{_parse(t){let r=this._getOrReturnCtx(t);return xt(r,{code:ot.invalid_type,expected:kt.never,received:r.parsedType}),mr}};Jl.create=e=>new Jl({typeName:st.ZodNever,...Lr(e)});var l_=class extends Qr{_parse(t){if(this._getType(t)!==kt.undefined){let n=this._getOrReturnCtx(t);return xt(n,{code:ot.invalid_type,expected:kt.void,received:n.parsedType}),mr}return va(t.data)}};l_.create=e=>new l_({typeName:st.ZodVoid,...Lr(e)});var Fu=class e extends Qr{_parse(t){let{ctx:r,status:n}=this._processInputParams(t),i=this._def;if(r.parsedType!==kt.array)return xt(r,{code:ot.invalid_type,expected:kt.array,received:r.parsedType}),mr;if(i.exactLength!==null){let a=r.data.length>i.exactLength.value,s=r.data.length<i.exactLength.value;(a||s)&&(xt(r,{code:a?ot.too_big:ot.too_small,minimum:s?i.exactLength.value:void 0,maximum:a?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),n.dirty())}if(i.minLength!==null&&r.data.length<i.minLength.value&&(xt(r,{code:ot.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),n.dirty()),i.maxLength!==null&&r.data.length>i.maxLength.value&&(xt(r,{code:ot.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((a,s)=>i.type._parseAsync(new ll(r,a,r.path,s)))).then(a=>ia.mergeArray(n,a));let o=[...r.data].map((a,s)=>i.type._parseSync(new ll(r,a,r.path,s)));return ia.mergeArray(n,o)}get element(){return this._def.type}min(t,r){return new e({...this._def,minLength:{value:t,message:zt.toString(r)}})}max(t,r){return new e({...this._def,maxLength:{value:t,message:zt.toString(r)}})}length(t,r){return new e({...this._def,exactLength:{value:t,message:zt.toString(r)}})}nonempty(t){return this.min(1,t)}};Fu.create=(e,t)=>new Fu({type:e,minLength:null,maxLength:null,exactLength:null,typeName:st.ZodArray,...Lr(t)});function a_(e){if(e instanceof _s){let t={};for(let r in e.shape){let n=e.shape[r];t[r]=hs.create(a_(n))}return new _s({...e._def,shape:()=>t})}else return e instanceof Fu?new Fu({...e._def,type:a_(e.element)}):e instanceof hs?hs.create(a_(e.unwrap())):e instanceof jd?jd.create(a_(e.unwrap())):e instanceof $d?$d.create(e.items.map(t=>a_(t))):e}var _s=class e extends Qr{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),r=fn.objectKeys(t);return this._cached={shape:t,keys:r},this._cached}_parse(t){if(this._getType(t)!==kt.object){let d=this._getOrReturnCtx(t);return xt(d,{code:ot.invalid_type,expected:kt.object,received:d.parsedType}),mr}let{status:n,ctx:i}=this._processInputParams(t),{shape:o,keys:a}=this._getCached(),s=[];if(!(this._def.catchall instanceof Jl&&this._def.unknownKeys==="strip"))for(let d in i.data)a.includes(d)||s.push(d);let l=[];for(let d of a){let u=o[d],c=i.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new ll(i,c,i.path,d)),alwaysSet:d in i.data})}if(this._def.catchall instanceof Jl){let d=this._def.unknownKeys;if(d==="passthrough")for(let u of s)l.push({key:{status:"valid",value:u},value:{status:"valid",value:i.data[u]}});else if(d==="strict")s.length>0&&(xt(i,{code:ot.unrecognized_keys,keys:s}),n.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let d=this._def.catchall;for(let u of s){let c=i.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new ll(i,c,i.path,u)),alwaysSet:u in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let d=[];for(let u of l){let c=await u.key,f=await u.value;d.push({key:c,value:f,alwaysSet:u.alwaysSet})}return d}).then(d=>ia.mergeObjectSync(n,d)):ia.mergeObjectSync(n,l)}get shape(){return this._def.shape()}strict(t){return zt.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,n)=>{let i=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:zt.errToObj(t).message??i}:{message:i}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:st.ZodObject})}setKey(t,r){return this.augment({[t]:r})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let r={};for(let n of fn.objectKeys(t))t[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}omit(t){let r={};for(let n of fn.objectKeys(this.shape))t[n]||(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}deepPartial(){return a_(this)}partial(t){let r={};for(let n of fn.objectKeys(this.shape)){let i=this.shape[n];t&&!t[n]?r[n]=i:r[n]=i.optional()}return new e({...this._def,shape:()=>r})}required(t){let r={};for(let n of fn.objectKeys(this.shape))if(t&&!t[n])r[n]=this.shape[n];else{let o=this.shape[n];for(;o instanceof hs;)o=o._def.innerType;r[n]=o}return new e({...this._def,shape:()=>r})}keyof(){return U8(fn.objectKeys(this.shape))}};_s.create=(e,t)=>new _s({shape:()=>e,unknownKeys:"strip",catchall:Jl.create(),typeName:st.ZodObject,...Lr(t)});_s.strictCreate=(e,t)=>new _s({shape:()=>e,unknownKeys:"strict",catchall:Jl.create(),typeName:st.ZodObject,...Lr(t)});_s.lazycreate=(e,t)=>new _s({shape:e,unknownKeys:"strip",catchall:Jl.create(),typeName:st.ZodObject,...Lr(t)});var Dm=class extends Qr{_parse(t){let{ctx:r}=this._processInputParams(t),n=this._def.options;function i(o){for(let s of o)if(s.result.status==="valid")return s.result;for(let s of o)if(s.result.status==="dirty")return r.common.issues.push(...s.ctx.common.issues),s.result;let a=o.map(s=>new ps(s.ctx.common.issues));return xt(r,{code:ot.invalid_union,unionErrors:a}),mr}if(r.common.async)return Promise.all(n.map(async o=>{let a={...r,common:{...r.common,issues:[]},parent:null};return{result:await o._parseAsync({data:r.data,path:r.path,parent:a}),ctx:a}})).then(i);{let o,a=[];for(let l of n){let d={...r,common:{...r.common,issues:[]},parent:null},u=l._parseSync({data:r.data,path:r.path,parent:d});if(u.status==="valid")return u;u.status==="dirty"&&!o&&(o={result:u,ctx:d}),d.common.issues.length&&a.push(d.common.issues)}if(o)return r.common.issues.push(...o.ctx.common.issues),o.result;let s=a.map(l=>new ps(l));return xt(r,{code:ot.invalid_union,unionErrors:s}),mr}}get options(){return this._def.options}};Dm.create=(e,t)=>new Dm({options:e,typeName:st.ZodUnion,...Lr(t)});var $u=e=>e instanceof $m?$u(e.schema):e instanceof dl?$u(e.innerType()):e instanceof jm?[e.value]:e instanceof Fm?e.options:e instanceof Nm?fn.objectValues(e.enum):e instanceof qm?$u(e._def.innerType):e instanceof Rm?[void 0]:e instanceof Im?[null]:e instanceof hs?[void 0,...$u(e.unwrap())]:e instanceof jd?[null,...$u(e.unwrap())]:e instanceof yb||e instanceof Lm?$u(e.unwrap()):e instanceof zm?$u(e._def.innerType):[],ov=class e extends Qr{_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==kt.object)return xt(r,{code:ot.invalid_type,expected:kt.object,received:r.parsedType}),mr;let n=this.discriminator,i=r.data[n],o=this.optionsMap.get(i);return o?r.common.async?o._parseAsync({data:r.data,path:r.path,parent:r}):o._parseSync({data:r.data,path:r.path,parent:r}):(xt(r,{code:ot.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),mr)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,r,n){let i=new Map;for(let o of r){let a=$u(o.shape[t]);if(!a.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let s of a){if(i.has(s))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(s)}`);i.set(s,o)}}return new e({typeName:st.ZodDiscriminatedUnion,discriminator:t,options:r,optionsMap:i,...Lr(n)})}};function sP(e,t){let r=Md(e),n=Md(t);if(e===t)return{valid:!0,data:e};if(r===kt.object&&n===kt.object){let i=fn.objectKeys(t),o=fn.objectKeys(e).filter(s=>i.indexOf(s)!==-1),a={...e,...t};for(let s of o){let l=sP(e[s],t[s]);if(!l.valid)return{valid:!1};a[s]=l.data}return{valid:!0,data:a}}else if(r===kt.array&&n===kt.array){if(e.length!==t.length)return{valid:!1};let i=[];for(let o=0;o<e.length;o++){let a=e[o],s=t[o],l=sP(a,s);if(!l.valid)return{valid:!1};i.push(l.data)}return{valid:!0,data:i}}else return r===kt.date&&n===kt.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var Mm=class extends Qr{_parse(t){let{status:r,ctx:n}=this._processInputParams(t),i=(o,a)=>{if(nv(o)||nv(a))return mr;let s=sP(o.value,a.value);return s.valid?((iv(o)||iv(a))&&r.dirty(),{status:r.value,value:s.data}):(xt(n,{code:ot.invalid_intersection_types}),mr)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([o,a])=>i(o,a)):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Mm.create=(e,t,r)=>new Mm({left:e,right:t,typeName:st.ZodIntersection,...Lr(r)});var $d=class e extends Qr{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==kt.array)return xt(n,{code:ot.invalid_type,expected:kt.array,received:n.parsedType}),mr;if(n.data.length<this._def.items.length)return xt(n,{code:ot.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),mr;!this._def.rest&&n.data.length>this._def.items.length&&(xt(n,{code:ot.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let o=[...n.data].map((a,s)=>{let l=this._def.items[s]||this._def.rest;return l?l._parse(new ll(n,a,n.path,s)):null}).filter(a=>!!a);return n.common.async?Promise.all(o).then(a=>ia.mergeArray(r,a)):ia.mergeArray(r,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};$d.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new $d({items:e,typeName:st.ZodTuple,rest:null,...Lr(t)})};var av=class e extends Qr{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==kt.object)return xt(n,{code:ot.invalid_type,expected:kt.object,received:n.parsedType}),mr;let i=[],o=this._def.keyType,a=this._def.valueType;for(let s in n.data)i.push({key:o._parse(new ll(n,s,n.path,s)),value:a._parse(new ll(n,n.data[s],n.path,s)),alwaysSet:s in n.data});return n.common.async?ia.mergeObjectAsync(r,i):ia.mergeObjectSync(r,i)}get element(){return this._def.valueType}static create(t,r,n){return r instanceof Qr?new e({keyType:t,valueType:r,typeName:st.ZodRecord,...Lr(n)}):new e({keyType:qc.create(),valueType:t,typeName:st.ZodRecord,...Lr(r)})}},d_=class extends Qr{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==kt.map)return xt(n,{code:ot.invalid_type,expected:kt.map,received:n.parsedType}),mr;let i=this._def.keyType,o=this._def.valueType,a=[...n.data.entries()].map(([s,l],d)=>({key:i._parse(new ll(n,s,n.path,[d,"key"])),value:o._parse(new ll(n,l,n.path,[d,"value"]))}));if(n.common.async){let s=new Map;return Promise.resolve().then(async()=>{for(let l of a){let d=await l.key,u=await l.value;if(d.status==="aborted"||u.status==="aborted")return mr;(d.status==="dirty"||u.status==="dirty")&&r.dirty(),s.set(d.value,u.value)}return{status:r.value,value:s}})}else{let s=new Map;for(let l of a){let d=l.key,u=l.value;if(d.status==="aborted"||u.status==="aborted")return mr;(d.status==="dirty"||u.status==="dirty")&&r.dirty(),s.set(d.value,u.value)}return{status:r.value,value:s}}}};d_.create=(e,t,r)=>new d_({valueType:t,keyType:e,typeName:st.ZodMap,...Lr(r)});var u_=class e extends Qr{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==kt.set)return xt(n,{code:ot.invalid_type,expected:kt.set,received:n.parsedType}),mr;let i=this._def;i.minSize!==null&&n.data.size<i.minSize.value&&(xt(n,{code:ot.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),r.dirty()),i.maxSize!==null&&n.data.size>i.maxSize.value&&(xt(n,{code:ot.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),r.dirty());let o=this._def.valueType;function a(l){let d=new Set;for(let u of l){if(u.status==="aborted")return mr;u.status==="dirty"&&r.dirty(),d.add(u.value)}return{status:r.value,value:d}}let s=[...n.data.values()].map((l,d)=>o._parse(new ll(n,l,n.path,d)));return n.common.async?Promise.all(s).then(l=>a(l)):a(s)}min(t,r){return new e({...this._def,minSize:{value:t,message:zt.toString(r)}})}max(t,r){return new e({...this._def,maxSize:{value:t,message:zt.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}};u_.create=(e,t)=>new u_({valueType:e,minSize:null,maxSize:null,typeName:st.ZodSet,...Lr(t)});var sv=class e extends Qr{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==kt.function)return xt(r,{code:ot.invalid_type,expected:kt.function,received:r.parsedType}),mr;function n(s,l){return bb({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,i_(),Mu].filter(d=>!!d),issueData:{code:ot.invalid_arguments,argumentsError:l}})}function i(s,l){return bb({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,i_(),Mu].filter(d=>!!d),issueData:{code:ot.invalid_return_type,returnTypeError:l}})}let o={errorMap:r.common.contextualErrorMap},a=r.data;if(this._def.returns instanceof Lc){let s=this;return va(async function(...l){let d=new ps([]),u=await s._def.args.parseAsync(l,o).catch(h=>{throw d.addIssue(n(l,h)),d}),c=await Reflect.apply(a,this,u);return await s._def.returns._def.type.parseAsync(c,o).catch(h=>{throw d.addIssue(i(c,h)),d})})}else{let s=this;return va(function(...l){let d=s._def.args.safeParse(l,o);if(!d.success)throw new ps([n(l,d.error)]);let u=Reflect.apply(a,this,d.data),c=s._def.returns.safeParse(u,o);if(!c.success)throw new ps([i(u,c.error)]);return c.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:$d.create(t).rest(ju.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,r,n){return new e({args:t||$d.create([]).rest(ju.create()),returns:r||ju.create(),typeName:st.ZodFunction,...Lr(n)})}},$m=class extends Qr{get schema(){return this._def.getter()}_parse(t){let{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};$m.create=(e,t)=>new $m({getter:e,typeName:st.ZodLazy,...Lr(t)});var jm=class extends Qr{_parse(t){if(t.data!==this._def.value){let r=this._getOrReturnCtx(t);return xt(r,{received:r.data,code:ot.invalid_literal,expected:this._def.value}),mr}return{status:"valid",value:t.data}}get value(){return this._def.value}};jm.create=(e,t)=>new jm({value:e,typeName:st.ZodLiteral,...Lr(t)});function U8(e,t){return new Fm({values:e,typeName:st.ZodEnum,...Lr(t)})}var Fm=class e extends Qr{_parse(t){if(typeof t.data!="string"){let r=this._getOrReturnCtx(t),n=this._def.values;return xt(r,{expected:fn.joinValues(n),received:r.parsedType,code:ot.invalid_type}),mr}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let r=this._getOrReturnCtx(t),n=this._def.values;return xt(r,{received:r.data,code:ot.invalid_enum_value,options:n}),mr}return va(t.data)}get options(){return this._def.values}get enum(){let t={};for(let r of this._def.values)t[r]=r;return t}get Values(){let t={};for(let r of this._def.values)t[r]=r;return t}get Enum(){let t={};for(let r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return e.create(t,{...this._def,...r})}exclude(t,r=this._def){return e.create(this.options.filter(n=>!t.includes(n)),{...this._def,...r})}};Fm.create=U8;var Nm=class extends Qr{_parse(t){let r=fn.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==kt.string&&n.parsedType!==kt.number){let i=fn.objectValues(r);return xt(n,{expected:fn.joinValues(i),received:n.parsedType,code:ot.invalid_type}),mr}if(this._cache||(this._cache=new Set(fn.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let i=fn.objectValues(r);return xt(n,{received:n.data,code:ot.invalid_enum_value,options:i}),mr}return va(t.data)}get enum(){return this._def.values}};Nm.create=(e,t)=>new Nm({values:e,typeName:st.ZodNativeEnum,...Lr(t)});var Lc=class extends Qr{unwrap(){return this._def.type}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==kt.promise&&r.common.async===!1)return xt(r,{code:ot.invalid_type,expected:kt.promise,received:r.parsedType}),mr;let n=r.parsedType===kt.promise?r.data:Promise.resolve(r.data);return va(n.then(i=>this._def.type.parseAsync(i,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Lc.create=(e,t)=>new Lc({type:e,typeName:st.ZodPromise,...Lr(t)});var dl=class extends Qr{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===st.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:r,ctx:n}=this._processInputParams(t),i=this._def.effect||null,o={addIssue:a=>{xt(n,a),a.fatal?r.abort():r.dirty()},get path(){return n.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="preprocess"){let a=i.transform(n.data,o);if(n.common.async)return Promise.resolve(a).then(async s=>{if(r.value==="aborted")return mr;let l=await this._def.schema._parseAsync({data:s,path:n.path,parent:n});return l.status==="aborted"?mr:l.status==="dirty"?Cm(l.value):r.value==="dirty"?Cm(l.value):l});{if(r.value==="aborted")return mr;let s=this._def.schema._parseSync({data:a,path:n.path,parent:n});return s.status==="aborted"?mr:s.status==="dirty"?Cm(s.value):r.value==="dirty"?Cm(s.value):s}}if(i.type==="refinement"){let a=s=>{let l=i.refinement(s,o);if(n.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?mr:(s.status==="dirty"&&r.dirty(),a(s.value),{status:r.value,value:s.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>s.status==="aborted"?mr:(s.status==="dirty"&&r.dirty(),a(s.value).then(()=>({status:r.value,value:s.value}))))}if(i.type==="transform")if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Nc(a))return mr;let s=i.transform(a.value,o);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:s}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>Nc(a)?Promise.resolve(i.transform(a.value,o)).then(s=>({status:r.value,value:s})):mr);fn.assertNever(i)}};dl.create=(e,t,r)=>new dl({schema:e,typeName:st.ZodEffects,effect:t,...Lr(r)});dl.createWithPreprocess=(e,t,r)=>new dl({schema:t,effect:{type:"preprocess",transform:e},typeName:st.ZodEffects,...Lr(r)});var hs=class extends Qr{_parse(t){return this._getType(t)===kt.undefined?va(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};hs.create=(e,t)=>new hs({innerType:e,typeName:st.ZodOptional,...Lr(t)});var jd=class extends Qr{_parse(t){return this._getType(t)===kt.null?va(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};jd.create=(e,t)=>new jd({innerType:e,typeName:st.ZodNullable,...Lr(t)});var qm=class extends Qr{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return r.parsedType===kt.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};qm.create=(e,t)=>new qm({innerType:e,typeName:st.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Lr(t)});var zm=class extends Qr{_parse(t){let{ctx:r}=this._processInputParams(t),n={...r,common:{...r.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return o_(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new ps(n.common.issues)},input:n.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new ps(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};zm.create=(e,t)=>new zm({innerType:e,typeName:st.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Lr(t)});var c_=class extends Qr{_parse(t){if(this._getType(t)!==kt.nan){let n=this._getOrReturnCtx(t);return xt(n,{code:ot.invalid_type,expected:kt.nan,received:n.parsedType}),mr}return{status:"valid",value:t.data}}};c_.create=e=>new c_({typeName:st.ZodNaN,...Lr(e)});var wpe=Symbol("zod_brand"),yb=class extends Qr{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},xb=class e extends Qr{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?mr:o.status==="dirty"?(r.dirty(),Cm(o.value)):this._def.out._parseAsync({data:o.value,path:n.path,parent:n})})();{let i=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?mr:i.status==="dirty"?(r.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:n.path,parent:n})}}static create(t,r){return new e({in:t,out:r,typeName:st.ZodPipeline})}},Lm=class extends Qr{_parse(t){let r=this._def.innerType._parse(t),n=i=>(Nc(i)&&(i.value=Object.freeze(i.value)),i);return o_(r)?r.then(i=>n(i)):n(r)}unwrap(){return this._def.innerType}};Lm.create=(e,t)=>new Lm({innerType:e,typeName:st.ZodReadonly,...Lr(t)});function N8(e,t){let r=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof r=="string"?{message:r}:r}function B8(e,t={},r){return e?zc.create().superRefine((n,i)=>{let o=e(n);if(o instanceof Promise)return o.then(a=>{if(!a){let s=N8(t,n),l=s.fatal??r??!0;i.addIssue({code:"custom",...s,fatal:l})}});if(!o){let a=N8(t,n),s=a.fatal??r??!0;i.addIssue({code:"custom",...a,fatal:s})}}):zc.create()}var Ape={object:_s.lazycreate},st;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(st||(st={}));var kpe=(e,t={message:`Input not instance of ${e.name}`})=>B8(r=>r instanceof e,t),W8=qc.create,H8=Om.create,Cpe=c_.create,Ope=Em.create,V8=Pm.create,Epe=Gm.create,Ppe=s_.create,Gpe=Rm.create,Rpe=Im.create,Ipe=zc.create,Dpe=ju.create,Mpe=Jl.create,$pe=l_.create,jpe=Fu.create,lP=_s.create,Fpe=_s.strictCreate,Npe=Dm.create,qpe=ov.create,zpe=Mm.create,Lpe=$d.create,Upe=av.create,Bpe=d_.create,Wpe=u_.create,Hpe=sv.create,Vpe=$m.create,Kpe=jm.create,Jpe=Fm.create,Zpe=Nm.create,Qpe=Lc.create,Ype=dl.create,Xpe=hs.create,ehe=jd.create,the=dl.createWithPreprocess,rhe=xb.create,nhe=()=>W8().optional(),ihe=()=>H8().optional(),ohe=()=>V8().optional(),ahe={string:(e=>qc.create({...e,coerce:!0})),number:(e=>Om.create({...e,coerce:!0})),boolean:(e=>Pm.create({...e,coerce:!0})),bigint:(e=>Em.create({...e,coerce:!0})),date:(e=>Gm.create({...e,coerce:!0}))};var she=mr;var lhe=new Intl.Segmenter("en",{granularity:"grapheme"});function J8(e){return Array.from(lhe.segment(e)).length}import*as uP from"node:fs";import*as rL from"node:os";import*as gs from"node:path";import*as f_ from"node:fs/promises";function Z8(e,t){return"Kandan attachment path must resolve inside an allowed upload root ("+e+"): "+t}function Q8(e){return"Kandan attachment upload path must not include hidden path segments: "+e}function dP(e){return"Kandan attachment upload requires a known media/document type or text content (binary content is not allowed): "+e}var Y8="LINZUMI_THREAD_RUNNER_KANDAN_THREAD_ID";var X8="Kandan attachment path must not be empty";function oa(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function Sb(e){if(Array.isArray(e))return e}function ro(e){if(e!==void 0&&typeof e=="string"&&e.trim()!=="")return e.trim()}function uhe(e){if(e!==void 0&&typeof e=="number"&&Number.isInteger(e))return e}function cP(e){if(e!==void 0)return e}function wa(e){let t={};t.type="text",t.text=JSON.stringify(e,void 0,2);let r={};return r.content=[t],r.structuredContent=e,r}var che="failed: ([a-z0-9_]+)(?: detail=(.+))?$";async function fP(e){let t;try{t=await e}catch(r){let n=N(r),i=Hn(n),o=new RegExp(che).exec(i);if(o==null){let c={};return c.error=i,wa(c)}let a=o.slice(1),s=a[0],l;if(s!==void 0){let c=ce(s);l=c!==void 0?c:i}else l=i;let d={};d.error=l;let u=a[1];if(u!==void 0){let c=ce(u);c!==void 0&&(d.detail=c)}return wa(d)}return wa(t)}function nL(e){let t=St(e);if(t===void 0)return OE(e);let r=ce(t),n=At(r);return n!==void 0&&n.includes("channel_required")?rq(new Error(n+". Remediation: pass the channel slug in the `channel` parameter, or set target.thread_id to a Linzumi thread you can access (the server resolves the thread's channel). The files were NOT attached; retry with a channel or thread instead of leaving them on disk.",{cause:r})):nq(r)}function Nu(e){let t={};return Object.entries(e).forEach(r=>{t[r[0]]=r[1]}),t}function mP(e,t){if(ro(e.thread_id)!==void 0||t===void 0)return e;let n=()=>{let a=Nu(e);return a.thread_id=t,a},i=e.message_seq;if(i!==void 0&&typeof i<"u")return n();let o=ro(e.kind);if(o===void 0)return e;switch(o){case"latest_assistant_message":case"message_seq":case"new_message":return n();default:return e}}function ul(e,t){if(ro(e.thread_id)!==void 0||t===void 0)return e;let n=Nu(e);return n.thread_id=t,n}function lv(e,t){let r=ho(t);if(r!==void 0)return ce(r).toString();let n=e.replace(new RegExp("^wss://"),"https://").replace(new RegExp("^ws://"),"http://"),i=Hi(t,n);return i.TAG==="Ok"?i._0.toString():Pi(i._0)}function fhe(e,t){let r=ro(t.inline_url),n=ro(t.carousel_url),i=Nu(t);return r!==void 0&&(i.inline_url=lv(e,r)),n!==void 0&&(i.carousel_url=lv(e,n)),i}function mhe(e,t){if(typeof t!="object"||t===null||Array.isArray(t))return t;let r=ro(t.url),n=oa(t.image_variants),i=Nu(t);return r!==void 0&&(i.url=lv(e,r)),n!==void 0&&(i.image_variants=fhe(e,n)),i}function tL(e,t){let r=Sb(t.attachments);if(r===void 0)return t;let n=Nu(t);return n.attachments=r.map(i=>mhe(e,i)),n}function pP(e,t){let r=oa(t.message),n=oa(t.target_message);if(r===void 0&&n===void 0)return t;let i=Nu(t);return r!==void 0&&(i.message=tL(e,r)),n!==void 0&&(i.target_message=tL(e,n)),i}var hP=[".csv",".diff",".gif",".htm",".html",".jpeg",".jpg",".json",".jsonl",".log",".md",".mp4",".patch",".pdf",".png",".svg",".txt",".webm",".webp",".xml",".zip"];async function phe(e){let t=[{path:e,label:"runner cwd"}],r=z(process.env.HOME,o=>o.trim()),n=gs.resolve(r!==void 0&&r!==""?r:rL.homedir(),"Downloads"),i;try{i=await f_.realpath(n)}catch{return t}return t.some(o=>o.path===i)||t.push({path:i,label:"~/Downloads"}),t}function hhe(e,t){let r=gs.relative(e,t);return r===""?!0:r.startsWith("..")?!1:!gs.isAbsolute(r)}async function _he(e,t){if(t==="")return Pi(X8);let r=gs.isAbsolute(t)?gs.resolve(t):gs.resolve(e,t);return await f_.realpath(r)}async function ghe(e,t){if(!(await e.stat()).isFile())return Pi("Kandan attachment path is not a file: "+t);let n=gs.extname(t).toLowerCase();if(hP.includes(n))return{classification:"KnownType",bytes:await e.readFile()};let i=Buffer.alloc(8192),a=(await e.read(i,0,8192,0)).bytesRead;if(i.subarray(0,a).includes(0))return Pi(dP(t));let s=await e.readFile();return s.subarray(0,8192).includes(0)?Pi(dP(t)):{classification:"TextContent",bytes:s}}async function bhe(e,t){let r=e.find(i=>hhe(i.path,t));if(r!==void 0){if(gs.relative(r.path,t).split(new RegExp("[\\\\/]+","g")).find(u=>u!==void 0?u.startsWith("."):!1)!==void 0)return Pi(Q8(t));let a=await f_.open(t,uP.constants.O_RDONLY|uP.constants.O_NONBLOCK),s,l=0,d;try{d=await ghe(a,t),l=1}catch(u){s={TAG:"Error",_0:N(u)}}return l===1&&(s={TAG:"Ok",_0:d}),await a.close(),s.TAG==="Ok"?s._0:OE(s._0)}let n=e.map(i=>i.label).join(", ");return Pi(Z8(n,t))}function yhe(e){let t=e.toLowerCase();return t.endsWith(".png")?"image/png":t.endsWith(".jpg")||t.endsWith(".jpeg")?"image/jpeg":t.endsWith(".gif")?"image/gif":t.endsWith(".webp")?"image/webp":t.endsWith(".csv")?"text/csv":t.endsWith(".json")?"application/json":t.endsWith(".md")||t.endsWith(".txt")||t.endsWith(".log")?"text/plain":"application/octet-stream"}function xhe(e,t){if(e.toLowerCase().endsWith(".py"))return"text/x-python";let n=yhe(e);return t==="KnownType"||n!=="application/octet-stream"?n:"text/plain"}async function dv(e,t){let r=await f_.realpath(e),n=await phe(r),i=await _he(r,t),o=await bhe(n,i);return{fileName:gs.basename(i),contentType:xhe(i,o.classification),sizeBytes:o.bytes.byteLength,bytes:o.bytes}}async function uv(e,t,r,n,i){let o={};return o["content-type"]=n,await eT.binary(lv(e,t),{method:r,headers:o,body:iq(i)})}async function iL(e){let t=await Promise.all(e.files.map(m=>dv(e.cwd,m))),r=ro(e.target.thread_id),n={},i=e.workspace;i!==void 0&&(n.workspace=i);let o=e.channel;o!==void 0&&(n.channel=o),r!==void 0&&(n.thread_id=r),n.files=t.map(m=>{let p={};return p.file_name=m.fileName,p.content_type=m.contentType,p.size_bytes=m.sizeBytes,p});let a=await e.client.prepareMessageUploads(n),s=Sb(a.uploads),l=s!==void 0?s:[];l.length===t.length||Pi("Linzumi upload prepare response count mismatch"),await Promise.all(t.map(async(m,p)=>{let _=oa(l[p]),g=ro(E(_,T=>T.upload_url)),b=ro(E(_,T=>T.upload_method)),y=b!==void 0?b:"PUT";if(g===void 0)return Pi("Linzumi upload prepare response missing upload_url");let S=await uv(e.serviceUrl,g,y,m.contentType,m.bytes);if(!S.ok)return Pi("Linzumi upload failed for "+m.fileName+": "+S.status.toString()+" "+S.statusText)}));let d=l.map(m=>{let p=ro(E(oa(m),_=>_.file_id));return p!==void 0?p:Pi("Linzumi upload prepare response missing file_id")}),u={},c=e.workspace;c!==void 0&&(u.workspace=c);let f=e.channel;f!==void 0&&(u.channel=f),r!==void 0&&(u.thread_id=r),u.target=e.target;let h=e.body;return h!==void 0&&(u.body=h),u.uploaded_file_ids=d,await e.client.attachMessageFiles(u)}async function oL(e){let t=await dv(e.cwd,e.file),r={},n=e.workspace;n!==void 0&&(r.workspace=n),r.name=e.name,r.file_name=t.fileName,r.content_type=t.contentType,r.size_bytes=t.sizeBytes;let i=await e.client.prepareCustomEmoji(r),o=oa(i.upload),a=ro(E(o,m=>m.upload_url)),s=ro(E(o,m=>m.upload_method)),l=s!==void 0?s:"PUT";if(a===void 0)return Pi("Linzumi custom emoji prepare response missing upload_url");let d=await uv(e.serviceUrl,a,l,t.contentType,t.bytes);if(d.ok){let m=await d.json();if(typeof m!="object"||m===null||Array.isArray(m))return Pi("Linzumi custom emoji upload returned non-object JSON");let p=oa(m.custom_emoji);if(p===void 0)return Pi("Linzumi custom emoji upload response missing custom_emoji");let _={};_.ok=!0;let g=i.workspace;_.workspace=g!==void 0?g:void 0,_.emoji=p;let b=ro(m.asset_id);_.asset_id=b!==void 0?b:void 0;let y=uhe(p.id);_.id=y!==void 0?y:void 0;let S=ro(p.name);_.name=S!==void 0?S:void 0;let T=ro(p.shortcode);_.shortcode=T!==void 0?T:void 0;let w=ro(p.image_url);return _.image_url=w!==void 0?w:void 0,_}let u=d.status.toString()+" "+d.statusText,f=(await d.text()).trim(),h;if(f==="")h=u;else{let m=0,p;try{p=JSON.parse(f),m=1}catch{h=f}if(m===1)if(typeof p=="object"&&p!==null&&!Array.isArray(p)){let _=p.error;h=typeof _=="string"?_:f}else h=f}return Pi("Linzumi custom emoji upload failed: "+h)}import*as Ja from"node:fs";import*as aL from"node:os";import*as sL from"node:net";import*as Ka from"node:path";var lL=xa(yE(),1);import*as dL from"node:child_process";function fv(e,t){}function xP(e){return e==="DesiredRunning"?"running":"stopped"}function uL(e){switch(e){case"Running":return"running";case"Unhealthy":return"unhealthy";case"Exited":return"exited";case"Failed":return"failed";case"Stopped":return"stopped"}}function She(){let e=z(process.env.LINZUMI_DEV_SERVICES_DIR,t=>t.trim());return e!==void 0&&e!==""?e:Ka.join(aL.homedir(),".linzumi","dev-services")}function Wm(e){let t=e.replace(new RegExp("[^A-Za-z0-9._-]+","g"),"-").replace(new RegExp("^[-.]+|[-.]+$","g"),"").slice(0,80),r=po(e).slice(0,8),n=t===""?"runner":t;return Ka.join(She(),n+"."+r)}function mv(e){let t=e.trim().toLowerCase();if(new RegExp("^[a-z0-9][a-z0-9._-]{0,63}$").test(t)&&!t.includes(".."))return t}function Tb(e,t){return Ka.join(e,"services",t+".json")}function SP(e,t){return Ka.join(e,"exits",t+".json")}function cL(e,t){return Ka.join(e,"logs",t+".log")}function Bm(e){if(typeof e=="string"&&e!=="")return e}function qu(e){if(e!==void 0&&typeof e=="number"&&isFinite(e))return e}function The(e){return e!==void 0?Array.isArray(e)?Fe(e,t=>{if(typeof t=="number"&&Number.isInteger(t)&&t>0&&t<=65535)return t}):[]:[]}function vhe(e,t,r){if(r!==void 0&&r!==null){if(typeof r=="object"&&!Array.isArray(r)){let n=Bm(r.reason),i=qu(r.atMs);if(n!==void 0&&i!==void 0)return{reason:n,atMs:i};let o=[];n!==void 0||o.push("reason"),i!==void 0||o.push("atMs");let a=o.join(", ");return console.warn("[dev_services.failure_record_malformed] name="+e+" invalid_fields="+o.join(",")),{reason:'dev-service "'+e+'" has a malformed persisted failure record: invalid '+a,atMs:t}}return console.warn("[dev_services.failure_record_malformed] name="+e+" invalid_fields=reason,atMs"),{reason:'dev-service "'+e+'" has a malformed persisted failure record: invalid reason, atMs',atMs:t}}}function fL(e){if(typeof e!="object"||e===null||Array.isArray(e)||!J(e.version,1))return;let t=Bm(e.name),r=E(t,mv),n=Bm(e.command),i=Bm(e.cwd),o=e.desiredState,a;if(typeof o=="string")switch(o){case"running":a="DesiredRunning";break;case"stopped":a="DesiredStopped";break;default:a=void 0}else a=void 0;let s=qu(e.updatedAtMs),l=Bm(e.logPath),d=J(r,t);if(r!==void 0&&d&&n!==void 0&&i!==void 0&&a!==void 0&&s!==void 0&&l!==void 0)return{watchdogVersion:qu(e.watchdogVersion),name:r,command:n,cwd:i,ports:The(e.ports),restartOnBranchChange:J(e.restartOnBranchChange,!0),desiredState:a,pid:qu(e.pid),ownerPid:qu(e.ownerPid),startedAtMs:qu(e.startedAtMs),updatedAtMs:s,lastBranch:Bm(e.lastBranch),logPath:l,automaticRestartAttempts:v(qu(e.automaticRestartAttempts),0),automaticRestartWindowStartedAtMs:qu(e.automaticRestartWindowStartedAtMs),automaticRestartCause:Bm(e.automaticRestartCause),failure:vhe(r,s,e.failure)}}function Um(e){return e!==void 0?ce(e):null}function whe(e){let t=e.failure,r=t!==void 0?{reason:t.reason,atMs:t.atMs}:null,n={version:1,watchdogVersion:Um(e.watchdogVersion),name:e.name,command:e.command,cwd:e.cwd,ports:e.ports,restartOnBranchChange:e.restartOnBranchChange,desiredState:xP(e.desiredState),pid:Um(e.pid),ownerPid:Um(e.ownerPid),startedAtMs:Um(e.startedAtMs),updatedAtMs:e.updatedAtMs,lastBranch:Um(e.lastBranch),logPath:e.logPath,automaticRestartAttempts:e.automaticRestartAttempts,automaticRestartWindowStartedAtMs:Um(e.automaticRestartWindowStartedAtMs),automaticRestartCause:Um(e.automaticRestartCause),failure:r},i=JSON.stringify(n);if(i!==void 0)return i+`
265
+ `);return}},process.platform,i),void 0);return n.TAG==="Ok"?R8(e,n._0):{TAG:"Error",_0:n._0}}function Vme(){return{readCachedToken:(e,t)=>Yh(e,t,Date.now()),validateToken:(e,t,r,n,i)=>t_(e,t,r,n,i),acquireAndCacheAuth:Hme}}async function Kme(e,t,r){let n=await t.validateToken(e.serviceUrl,r,e.workspaceSlug,e.channelSlug,e.requiredScopes);if(n.TAG!=="Ok")return{TAG:"Ok",_0:void 0};switch(n._0){case"Usable":case"Rejected":return{TAG:"Ok",_0:void 0};case"NotFound":return Ae(Bme(e.serviceUrl,e.workspaceSlug),i=>({TAG:"Error",_0:at(i)}))}}async function X1(e,t){let r=t!==void 0?t:Vme(),n=z(e.explicitToken,_=>_.trim()),i=n!==void 0&&n!==""?n:void 0;if(i!==void 0)return{TAG:"Ok",_0:{TAG:"ExplicitAuth",accessToken:i}};let o=G8(e),a=r.readCachedToken(e.serviceUrl,o);if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};let s=a._0,l;if(s!==void 0){let _=await r.validateToken(e.serviceUrl,s.accessToken,e.workspaceSlug,e.channelSlug,e.requiredScopes);if(_.TAG==="Ok")switch(_._0){case"Usable":l={TAG:"Ok",_0:s};break;case"Rejected":let g=e.reportRejectedCachedToken;g!==void 0&&g("UnusableRejected"),l={TAG:"Ok",_0:void 0};break;case"NotFound":let b=e.reportRejectedCachedToken;b!==void 0&&b("UnusableNotFound"),l={TAG:"Ok",_0:void 0};break}else l={TAG:"Error",_0:_._0}}else l={TAG:"Ok",_0:void 0};if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0};let d=l._0;if(d!==void 0)return Ze(O8(d.accessToken,d.expiresAt),_=>({TAG:"CachedAuth",_0:{accessToken:d.accessToken,expiresAt:_,authFilePath:o}}));let u=await r.acquireAndCacheAuth(e);if(u.TAG!=="Ok")return{TAG:"Error",_0:u._0};let c=u._0,f=O8(c.accessToken,c.expiresAt);if(f.TAG!=="Ok")return{TAG:"Error",_0:f._0};let h=f._0;if(e.workspaceSlug===void 0)return{TAG:"Ok",_0:{TAG:"AcquiredAuth",accessToken:c.accessToken,expiresAt:h,authFilePath:c.authFilePath,mode:e.authMode}};let p=await Kme(e,r,c.accessToken);return p.TAG==="Ok"?{TAG:"Ok",_0:{TAG:"AcquiredAuth",accessToken:c.accessToken,expiresAt:h,authFilePath:c.authFilePath,mode:e.authMode}}:{TAG:"Error",_0:p._0}}function eP(e){switch(e.TAG){case"CachedAuth":return e._0.accessToken;case"ExplicitAuth":case"AcquiredAuth":return e.accessToken}}async function I8(e,t){return Ze(await X1(e,t),eP)}function ev(e){return at(e.message)}function Jme(e,t,r,n,i){return Ae(He(Cc(tP.join(M8.tmpdir(),"linzumi-mcp-auth-")),ev),o=>Ae(He(Eu(o,448),ev),()=>{let a=tP.join(o,"auth.json");return Ae(Am(e,r!==void 0?r:n!==void 0?n:t,void 0,a,i),s=>Ze(He(Eu(a,384),ev),()=>({path:a,directory:o,cleanup:()=>{ds(o)}})))}))}function Zme(e,t,r,n){return Ae(Am(t,r,void 0,e.path,n),i=>Ze(He(Eu(e.path,384),ev),()=>{}))}function Qme(){return{readCachedToken:(e,t)=>Yh(e,t,Date.now()),validateTokenOutcome:(e,t,r,n)=>t_(e,t,r,n,void 0),resolveToken:e=>I8(e,void 0)}}var rP="missing Linzumi MCP token; run linzumi auth or pass --token";function Yme(e){return"Linzumi MCP token was rejected by the server and re-mint failed: "+e}async function $8(e,t,r,n,i,o){let a=o!==void 0?o:Qme(),s=r!==void 0?r:Qh(),l=t!==void 0?{TAG:"Ok",_0:t}:Ze(a.readCachedToken(e,s),f=>z(f,h=>h.accessToken));if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0};let d=l._0;if(d===void 0)return{TAG:"Error",_0:at(rP)};let u=await a.validateTokenOutcome(e,d,n,i);if(u.TAG!=="Ok")return{TAG:"Error",_0:u._0};switch(u._0){case"Usable":return{TAG:"Ok",_0:d};case"Rejected":case"NotFound":break}let c=await a.resolveToken({serviceUrl:e,explicitToken:void 0,workspaceSlug:n,channelSlug:i,requiredScopes:[],onboarding:void 0,authFilePath:r,authMode:{TAG:"BrowserMode",callbackHost:void 0},reportRejectedCachedToken:void 0});return c.TAG==="Ok"?{TAG:"Ok",_0:c._0}:{TAG:"Error",_0:at(Yme(c._0.summary))}}function nP(e,t,r){if(t!==void 0)return{TAG:"PersonalAgentMcp",_0:{accessToken:t}};if(r!==void 0)return{TAG:"CodingJobMcp",_0:{accessToken:r}};if(e.TAG==="StaticRunner")return{TAG:"StaticRunnerMcp",_0:{accessToken:e._0.currentToken()}};let n=e._0;return{TAG:"ManagedRunnerMcp",_0:{initialToken:n.currentToken(),subscribe:n.subscribe}}}function tv(){let e={contents:"AwaitingMcpConsumer"};return{state:()=>e.contents,attach:t=>{let r=e.contents;if(typeof r!="object")return e.contents={TAG:"ActiveMcpConsumer",_0:t},{TAG:"Ok",_0:void 0};switch(r.TAG){case"ActiveMcpConsumer":return{TAG:"Error",_0:at("MCP consumer is already attached")};case"FailedBeforeMcpConsumer":let n=r._0;return e.contents={TAG:"RetiredMcpConsumer",_0:n},t.retire(),{TAG:"Error",_0:n};case"RetiredMcpConsumer":return t.retire(),{TAG:"Error",_0:r._0}}},reportRefreshFailure:t=>{let r=e.contents;if(typeof r!="object"){e.contents={TAG:"FailedBeforeMcpConsumer",_0:t};return}switch(r.TAG){case"ActiveMcpConsumer":return e.contents={TAG:"RetiredMcpConsumer",_0:t},r._0.retire();case"FailedBeforeMcpConsumer":case"RetiredMcpConsumer":return}}}}function rv(e,t,r,n){let i;if(t.TAG==="ManagedRunnerMcp"){let a=t._0;i=[a.initialToken,a.subscribe]}else i=[t._0.accessToken,void 0];let o=i[1];return Ze(Jme(e,i[0],void 0,void 0,n),a=>{let s={contents:{TAG:"ActiveStatic",_0:{path:a.path}}};if(o!==void 0){let l={contents:()=>{}};s.contents={TAG:"ActiveManaged",_0:{path:a.path,unsubscribe:()=>l.contents()}};let d=o(u=>{let c=s.contents;if(typeof c!="object"||c.TAG==="ActiveStatic")return;let f=Zme(a,e,u,new Date);if(f.TAG!=="Ok")return r(f._0)});l.contents=d}return{path:a.path,directory:a.directory,state:()=>s.contents,cleanup:()=>{let l=s.contents;if(typeof l=="object"){if(l.TAG==="ActiveStatic")return s.contents="Cleaned",a.cleanup();s.contents="Cleaned",l._0.unsubscribe(),a.cleanup()}}}})}var U={};oE(U,{BRAND:()=>wpe,DIRTY:()=>Cm,EMPTY_PATH:()=>rpe,INVALID:()=>mr,NEVER:()=>she,OK:()=>va,ParseStatus:()=>ia,Schema:()=>Qr,ZodAny:()=>zc,ZodArray:()=>Fu,ZodBigInt:()=>Em,ZodBoolean:()=>Pm,ZodBranded:()=>yb,ZodCatch:()=>zm,ZodDate:()=>Gm,ZodDefault:()=>qm,ZodDiscriminatedUnion:()=>ov,ZodEffects:()=>dl,ZodEnum:()=>Fm,ZodError:()=>ps,ZodFirstPartyTypeKind:()=>st,ZodFunction:()=>sv,ZodIntersection:()=>Mm,ZodIssueCode:()=>ot,ZodLazy:()=>$m,ZodLiteral:()=>jm,ZodMap:()=>d_,ZodNaN:()=>c_,ZodNativeEnum:()=>Nm,ZodNever:()=>Jl,ZodNull:()=>Im,ZodNullable:()=>jd,ZodNumber:()=>Om,ZodObject:()=>_s,ZodOptional:()=>hs,ZodParsedType:()=>kt,ZodPipeline:()=>xb,ZodPromise:()=>Lc,ZodReadonly:()=>Lm,ZodRecord:()=>av,ZodSchema:()=>Qr,ZodSet:()=>u_,ZodString:()=>qc,ZodSymbol:()=>s_,ZodTransformer:()=>dl,ZodTuple:()=>$d,ZodType:()=>Qr,ZodUndefined:()=>Rm,ZodUnion:()=>Dm,ZodUnknown:()=>ju,ZodVoid:()=>l_,addIssueToContext:()=>xt,any:()=>Ipe,array:()=>jpe,bigint:()=>Ope,boolean:()=>V8,coerce:()=>ahe,custom:()=>B8,date:()=>Epe,datetimeRegex:()=>L8,defaultErrorMap:()=>Mu,discriminatedUnion:()=>qpe,effect:()=>Ype,enum:()=>Jpe,function:()=>Hpe,getErrorMap:()=>i_,getParsedType:()=>Md,instanceof:()=>kpe,intersection:()=>zpe,isAborted:()=>nv,isAsync:()=>o_,isDirty:()=>iv,isValid:()=>Nc,late:()=>Ape,lazy:()=>Vpe,literal:()=>Kpe,makeIssue:()=>bb,map:()=>Bpe,nan:()=>Cpe,nativeEnum:()=>Zpe,never:()=>Mpe,null:()=>Rpe,nullable:()=>ehe,number:()=>H8,object:()=>lP,objectUtil:()=>oP,oboolean:()=>ohe,onumber:()=>ihe,optional:()=>Xpe,ostring:()=>nhe,pipeline:()=>rhe,preprocess:()=>the,promise:()=>Qpe,quotelessJson:()=>Xme,record:()=>Upe,set:()=>Wpe,setErrorMap:()=>tpe,strictObject:()=>Fpe,string:()=>W8,symbol:()=>Ppe,transformer:()=>Ype,tuple:()=>Lpe,undefined:()=>Gpe,union:()=>Npe,unknown:()=>Dpe,util:()=>fn,void:()=>$pe});var fn;(function(e){e.assertEqual=i=>{};function t(i){}e.assertIs=t;function r(i){throw new Error}e.assertNever=r,e.arrayToEnum=i=>{let o={};for(let a of i)o[a]=a;return o},e.getValidEnumValues=i=>{let o=e.objectKeys(i).filter(s=>typeof i[i[s]]!="number"),a={};for(let s of o)a[s]=i[s];return e.objectValues(a)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let o=[];for(let a in i)Object.prototype.hasOwnProperty.call(i,a)&&o.push(a);return o},e.find=(i,o)=>{for(let a of i)if(o(a))return a},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function n(i,o=" | "){return i.map(a=>typeof a=="string"?`'${a}'`:a).join(o)}e.joinValues=n,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(fn||(fn={}));var oP;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(oP||(oP={}));var kt=fn.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Md=e=>{switch(typeof e){case"undefined":return kt.undefined;case"string":return kt.string;case"number":return Number.isNaN(e)?kt.nan:kt.number;case"boolean":return kt.boolean;case"function":return kt.function;case"bigint":return kt.bigint;case"symbol":return kt.symbol;case"object":return Array.isArray(e)?kt.array:e===null?kt.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?kt.promise:typeof Map<"u"&&e instanceof Map?kt.map:typeof Set<"u"&&e instanceof Set?kt.set:typeof Date<"u"&&e instanceof Date?kt.date:kt.object;default:return kt.unknown}};var ot=fn.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Xme=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ps=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){let r=t||function(o){return o.message},n={_errors:[]},i=o=>{for(let a of o.issues)if(a.code==="invalid_union")a.unionErrors.map(i);else if(a.code==="invalid_return_type")i(a.returnTypeError);else if(a.code==="invalid_arguments")i(a.argumentsError);else if(a.path.length===0)n._errors.push(r(a));else{let s=n,l=0;for(;l<a.path.length;){let d=a.path[l];l===a.path.length-1?(s[d]=s[d]||{_errors:[]},s[d]._errors.push(r(a))):s[d]=s[d]||{_errors:[]},s=s[d],l++}}};return i(this),n}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,fn.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=r=>r.message){let r={},n=[];for(let i of this.issues)if(i.path.length>0){let o=i.path[0];r[o]=r[o]||[],r[o].push(t(i))}else n.push(t(i));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};ps.create=e=>new ps(e);var epe=(e,t)=>{let r;switch(e.code){case ot.invalid_type:e.received===kt.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case ot.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,fn.jsonStringifyReplacer)}`;break;case ot.unrecognized_keys:r=`Unrecognized key(s) in object: ${fn.joinValues(e.keys,", ")}`;break;case ot.invalid_union:r="Invalid input";break;case ot.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${fn.joinValues(e.options)}`;break;case ot.invalid_enum_value:r=`Invalid enum value. Expected ${fn.joinValues(e.options)}, received '${e.received}'`;break;case ot.invalid_arguments:r="Invalid function arguments";break;case ot.invalid_return_type:r="Invalid function return type";break;case ot.invalid_date:r="Invalid date";break;case ot.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:fn.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case ot.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case ot.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case ot.custom:r="Invalid input";break;case ot.invalid_intersection_types:r="Intersection results could not be merged";break;case ot.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case ot.not_finite:r="Number must be finite";break;default:r=t.defaultError,fn.assertNever(e)}return{message:r}},Mu=epe;var j8=Mu;function tpe(e){j8=e}function i_(){return j8}var bb=e=>{let{data:t,path:r,errorMaps:n,issueData:i}=e,o=[...r,...i.path||[]],a={...i,path:o};if(i.message!==void 0)return{...i,path:o,message:i.message};let s="",l=n.filter(d=>!!d).slice().reverse();for(let d of l)s=d(a,{data:t,defaultError:s}).message;return{...i,path:o,message:s}},rpe=[];function xt(e,t){let r=i_(),n=bb({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===Mu?void 0:Mu].filter(i=>!!i)});e.common.issues.push(n)}var ia=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){let n=[];for(let i of r){if(i.status==="aborted")return mr;i.status==="dirty"&&t.dirty(),n.push(i.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,r){let n=[];for(let i of r){let o=await i.key,a=await i.value;n.push({key:o,value:a})}return e.mergeObjectSync(t,n)}static mergeObjectSync(t,r){let n={};for(let i of r){let{key:o,value:a}=i;if(o.status==="aborted"||a.status==="aborted")return mr;o.status==="dirty"&&t.dirty(),a.status==="dirty"&&t.dirty(),o.value!=="__proto__"&&(typeof a.value<"u"||i.alwaysSet)&&(n[o.value]=a.value)}return{status:t.value,value:n}}},mr=Object.freeze({status:"aborted"}),Cm=e=>({status:"dirty",value:e}),va=e=>({status:"valid",value:e}),nv=e=>e.status==="aborted",iv=e=>e.status==="dirty",Nc=e=>e.status==="valid",o_=e=>typeof Promise<"u"&&e instanceof Promise;var zt;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(zt||(zt={}));var ll=class{constructor(t,r,n,i){this._cachedPath=[],this.parent=t,this.data=r,this._path=n,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},F8=(e,t)=>{if(Nc(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new ps(e.common.issues);return this._error=r,this._error}}};function Lr(e){if(!e)return{};let{errorMap:t,invalid_type_error:r,required_error:n,description:i}=e;if(t&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(a,s)=>{let{message:l}=e;return a.code==="invalid_enum_value"?{message:l??s.defaultError}:typeof s.data>"u"?{message:l??n??s.defaultError}:a.code!=="invalid_type"?{message:s.defaultError}:{message:l??r??s.defaultError}},description:i}}var Qr=class{get description(){return this._def.description}_getType(t){return Md(t.data)}_getOrReturnCtx(t,r){return r||{common:t.parent.common,data:t.data,parsedType:Md(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new ia,ctx:{common:t.parent.common,data:t.data,parsedType:Md(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let r=this._parse(t);if(o_(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){let r=this._parse(t);return Promise.resolve(r)}parse(t,r){let n=this.safeParse(t,r);if(n.success)return n.data;throw n.error}safeParse(t,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Md(t)},i=this._parseSync({data:t,path:n.path,parent:n});return F8(n,i)}"~validate"(t){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Md(t)};if(!this["~standard"].async)try{let n=this._parseSync({data:t,path:[],parent:r});return Nc(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:r}).then(n=>Nc(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(t,r){let n=await this.safeParseAsync(t,r);if(n.success)return n.data;throw n.error}async safeParseAsync(t,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Md(t)},i=this._parse({data:t,path:n.path,parent:n}),o=await(o_(i)?i:Promise.resolve(i));return F8(n,o)}refine(t,r){let n=i=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(i):r;return this._refinement((i,o)=>{let a=t(i),s=()=>o.addIssue({code:ot.custom,...n(i)});return typeof Promise<"u"&&a instanceof Promise?a.then(l=>l?!0:(s(),!1)):a?!0:(s(),!1)})}refinement(t,r){return this._refinement((n,i)=>t(n)?!0:(i.addIssue(typeof r=="function"?r(n,i):r),!1))}_refinement(t){return new dl({schema:this,typeName:st.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return hs.create(this,this._def)}nullable(){return jd.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Fu.create(this)}promise(){return Lc.create(this,this._def)}or(t){return Dm.create([this,t],this._def)}and(t){return Mm.create(this,t,this._def)}transform(t){return new dl({...Lr(this._def),schema:this,typeName:st.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let r=typeof t=="function"?t:()=>t;return new qm({...Lr(this._def),innerType:this,defaultValue:r,typeName:st.ZodDefault})}brand(){return new yb({typeName:st.ZodBranded,type:this,...Lr(this._def)})}catch(t){let r=typeof t=="function"?t:()=>t;return new zm({...Lr(this._def),innerType:this,catchValue:r,typeName:st.ZodCatch})}describe(t){let r=this.constructor;return new r({...this._def,description:t})}pipe(t){return xb.create(this,t)}readonly(){return Lm.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},npe=/^c[^\s-]{8,}$/i,ipe=/^[0-9a-z]+$/,ope=/^[0-9A-HJKMNP-TV-Z]{26}$/i,ape=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,spe=/^[a-z0-9_-]{21}$/i,lpe=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,dpe=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,upe=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,cpe="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",aP,fpe=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,mpe=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ppe=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,hpe=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,_pe=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,gpe=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,q8="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",bpe=new RegExp(`^${q8}$`);function z8(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let r=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${r}`}function ype(e){return new RegExp(`^${z8(e)}$`)}function L8(e){let t=`${q8}T${z8(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function xpe(e,t){return!!((t==="v4"||!t)&&fpe.test(e)||(t==="v6"||!t)&&ppe.test(e))}function Spe(e,t){if(!lpe.test(e))return!1;try{let[r]=e.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),i=JSON.parse(atob(n));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||t&&i.alg!==t)}catch{return!1}}function Tpe(e,t){return!!((t==="v4"||!t)&&mpe.test(e)||(t==="v6"||!t)&&hpe.test(e))}var qc=class e extends Qr{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==kt.string){let o=this._getOrReturnCtx(t);return xt(o,{code:ot.invalid_type,expected:kt.string,received:o.parsedType}),mr}let n=new ia,i;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(i=this._getOrReturnCtx(t,i),xt(i,{code:ot.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),n.dirty());else if(o.kind==="max")t.data.length>o.value&&(i=this._getOrReturnCtx(t,i),xt(i,{code:ot.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),n.dirty());else if(o.kind==="length"){let a=t.data.length>o.value,s=t.data.length<o.value;(a||s)&&(i=this._getOrReturnCtx(t,i),a?xt(i,{code:ot.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):s&&xt(i,{code:ot.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),n.dirty())}else if(o.kind==="email")upe.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"email",code:ot.invalid_string,message:o.message}),n.dirty());else if(o.kind==="emoji")aP||(aP=new RegExp(cpe,"u")),aP.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"emoji",code:ot.invalid_string,message:o.message}),n.dirty());else if(o.kind==="uuid")ape.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"uuid",code:ot.invalid_string,message:o.message}),n.dirty());else if(o.kind==="nanoid")spe.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"nanoid",code:ot.invalid_string,message:o.message}),n.dirty());else if(o.kind==="cuid")npe.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"cuid",code:ot.invalid_string,message:o.message}),n.dirty());else if(o.kind==="cuid2")ipe.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"cuid2",code:ot.invalid_string,message:o.message}),n.dirty());else if(o.kind==="ulid")ope.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"ulid",code:ot.invalid_string,message:o.message}),n.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{i=this._getOrReturnCtx(t,i),xt(i,{validation:"url",code:ot.invalid_string,message:o.message}),n.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"regex",code:ot.invalid_string,message:o.message}),n.dirty())):o.kind==="trim"?t.data=t.data.trim():o.kind==="includes"?t.data.includes(o.value,o.position)||(i=this._getOrReturnCtx(t,i),xt(i,{code:ot.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),n.dirty()):o.kind==="toLowerCase"?t.data=t.data.toLowerCase():o.kind==="toUpperCase"?t.data=t.data.toUpperCase():o.kind==="startsWith"?t.data.startsWith(o.value)||(i=this._getOrReturnCtx(t,i),xt(i,{code:ot.invalid_string,validation:{startsWith:o.value},message:o.message}),n.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(i=this._getOrReturnCtx(t,i),xt(i,{code:ot.invalid_string,validation:{endsWith:o.value},message:o.message}),n.dirty()):o.kind==="datetime"?L8(o).test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{code:ot.invalid_string,validation:"datetime",message:o.message}),n.dirty()):o.kind==="date"?bpe.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{code:ot.invalid_string,validation:"date",message:o.message}),n.dirty()):o.kind==="time"?ype(o).test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{code:ot.invalid_string,validation:"time",message:o.message}),n.dirty()):o.kind==="duration"?dpe.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"duration",code:ot.invalid_string,message:o.message}),n.dirty()):o.kind==="ip"?xpe(t.data,o.version)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"ip",code:ot.invalid_string,message:o.message}),n.dirty()):o.kind==="jwt"?Spe(t.data,o.alg)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"jwt",code:ot.invalid_string,message:o.message}),n.dirty()):o.kind==="cidr"?Tpe(t.data,o.version)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"cidr",code:ot.invalid_string,message:o.message}),n.dirty()):o.kind==="base64"?_pe.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"base64",code:ot.invalid_string,message:o.message}),n.dirty()):o.kind==="base64url"?gpe.test(t.data)||(i=this._getOrReturnCtx(t,i),xt(i,{validation:"base64url",code:ot.invalid_string,message:o.message}),n.dirty()):fn.assertNever(o);return{status:n.value,value:t.data}}_regex(t,r,n){return this.refinement(i=>t.test(i),{validation:r,code:ot.invalid_string,...zt.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...zt.errToObj(t)})}url(t){return this._addCheck({kind:"url",...zt.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...zt.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...zt.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...zt.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...zt.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...zt.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...zt.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...zt.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...zt.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...zt.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...zt.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...zt.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...zt.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...zt.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...zt.errToObj(t)})}regex(t,r){return this._addCheck({kind:"regex",regex:t,...zt.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r?.position,...zt.errToObj(r?.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,...zt.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,...zt.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,...zt.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,...zt.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,...zt.errToObj(r)})}nonempty(t){return this.min(1,zt.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};qc.create=e=>new qc({checks:[],typeName:st.ZodString,coerce:e?.coerce??!1,...Lr(e)});function vpe(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,i=r>n?r:n,o=Number.parseInt(e.toFixed(i).replace(".","")),a=Number.parseInt(t.toFixed(i).replace(".",""));return o%a/10**i}var Om=class e extends Qr{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==kt.number){let o=this._getOrReturnCtx(t);return xt(o,{code:ot.invalid_type,expected:kt.number,received:o.parsedType}),mr}let n,i=new ia;for(let o of this._def.checks)o.kind==="int"?fn.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),xt(n,{code:ot.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(n=this._getOrReturnCtx(t,n),xt(n,{code:ot.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(n=this._getOrReturnCtx(t,n),xt(n,{code:ot.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?vpe(t.data,o.value)!==0&&(n=this._getOrReturnCtx(t,n),xt(n,{code:ot.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),xt(n,{code:ot.not_finite,message:o.message}),i.dirty()):fn.assertNever(o);return{status:i.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,zt.toString(r))}gt(t,r){return this.setLimit("min",t,!1,zt.toString(r))}lte(t,r){return this.setLimit("max",t,!0,zt.toString(r))}lt(t,r){return this.setLimit("max",t,!1,zt.toString(r))}setLimit(t,r,n,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:zt.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:zt.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:zt.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:zt.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:zt.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:zt.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:zt.toString(r)})}finite(t){return this._addCheck({kind:"finite",message:zt.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:zt.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:zt.toString(t)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&fn.isInteger(t.value))}get isFinite(){let t=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(t===null||n.value<t)&&(t=n.value)}return Number.isFinite(r)&&Number.isFinite(t)}};Om.create=e=>new Om({checks:[],typeName:st.ZodNumber,coerce:e?.coerce||!1,...Lr(e)});var Em=class e extends Qr{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==kt.bigint)return this._getInvalidInput(t);let n,i=new ia;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(n=this._getOrReturnCtx(t,n),xt(n,{code:ot.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(n=this._getOrReturnCtx(t,n),xt(n,{code:ot.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),xt(n,{code:ot.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):fn.assertNever(o);return{status:i.value,value:t.data}}_getInvalidInput(t){let r=this._getOrReturnCtx(t);return xt(r,{code:ot.invalid_type,expected:kt.bigint,received:r.parsedType}),mr}gte(t,r){return this.setLimit("min",t,!0,zt.toString(r))}gt(t,r){return this.setLimit("min",t,!1,zt.toString(r))}lte(t,r){return this.setLimit("max",t,!0,zt.toString(r))}lt(t,r){return this.setLimit("max",t,!1,zt.toString(r))}setLimit(t,r,n,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:zt.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:zt.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:zt.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:zt.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:zt.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:zt.toString(r)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};Em.create=e=>new Em({checks:[],typeName:st.ZodBigInt,coerce:e?.coerce??!1,...Lr(e)});var Pm=class extends Qr{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==kt.boolean){let n=this._getOrReturnCtx(t);return xt(n,{code:ot.invalid_type,expected:kt.boolean,received:n.parsedType}),mr}return va(t.data)}};Pm.create=e=>new Pm({typeName:st.ZodBoolean,coerce:e?.coerce||!1,...Lr(e)});var Gm=class e extends Qr{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==kt.date){let o=this._getOrReturnCtx(t);return xt(o,{code:ot.invalid_type,expected:kt.date,received:o.parsedType}),mr}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return xt(o,{code:ot.invalid_date}),mr}let n=new ia,i;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(i=this._getOrReturnCtx(t,i),xt(i,{code:ot.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),n.dirty()):o.kind==="max"?t.data.getTime()>o.value&&(i=this._getOrReturnCtx(t,i),xt(i,{code:ot.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),n.dirty()):fn.assertNever(o);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:zt.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:zt.toString(r)})}get minDate(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t!=null?new Date(t):null}};Gm.create=e=>new Gm({checks:[],coerce:e?.coerce||!1,typeName:st.ZodDate,...Lr(e)});var s_=class extends Qr{_parse(t){if(this._getType(t)!==kt.symbol){let n=this._getOrReturnCtx(t);return xt(n,{code:ot.invalid_type,expected:kt.symbol,received:n.parsedType}),mr}return va(t.data)}};s_.create=e=>new s_({typeName:st.ZodSymbol,...Lr(e)});var Rm=class extends Qr{_parse(t){if(this._getType(t)!==kt.undefined){let n=this._getOrReturnCtx(t);return xt(n,{code:ot.invalid_type,expected:kt.undefined,received:n.parsedType}),mr}return va(t.data)}};Rm.create=e=>new Rm({typeName:st.ZodUndefined,...Lr(e)});var Im=class extends Qr{_parse(t){if(this._getType(t)!==kt.null){let n=this._getOrReturnCtx(t);return xt(n,{code:ot.invalid_type,expected:kt.null,received:n.parsedType}),mr}return va(t.data)}};Im.create=e=>new Im({typeName:st.ZodNull,...Lr(e)});var zc=class extends Qr{constructor(){super(...arguments),this._any=!0}_parse(t){return va(t.data)}};zc.create=e=>new zc({typeName:st.ZodAny,...Lr(e)});var ju=class extends Qr{constructor(){super(...arguments),this._unknown=!0}_parse(t){return va(t.data)}};ju.create=e=>new ju({typeName:st.ZodUnknown,...Lr(e)});var Jl=class extends Qr{_parse(t){let r=this._getOrReturnCtx(t);return xt(r,{code:ot.invalid_type,expected:kt.never,received:r.parsedType}),mr}};Jl.create=e=>new Jl({typeName:st.ZodNever,...Lr(e)});var l_=class extends Qr{_parse(t){if(this._getType(t)!==kt.undefined){let n=this._getOrReturnCtx(t);return xt(n,{code:ot.invalid_type,expected:kt.void,received:n.parsedType}),mr}return va(t.data)}};l_.create=e=>new l_({typeName:st.ZodVoid,...Lr(e)});var Fu=class e extends Qr{_parse(t){let{ctx:r,status:n}=this._processInputParams(t),i=this._def;if(r.parsedType!==kt.array)return xt(r,{code:ot.invalid_type,expected:kt.array,received:r.parsedType}),mr;if(i.exactLength!==null){let a=r.data.length>i.exactLength.value,s=r.data.length<i.exactLength.value;(a||s)&&(xt(r,{code:a?ot.too_big:ot.too_small,minimum:s?i.exactLength.value:void 0,maximum:a?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),n.dirty())}if(i.minLength!==null&&r.data.length<i.minLength.value&&(xt(r,{code:ot.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),n.dirty()),i.maxLength!==null&&r.data.length>i.maxLength.value&&(xt(r,{code:ot.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((a,s)=>i.type._parseAsync(new ll(r,a,r.path,s)))).then(a=>ia.mergeArray(n,a));let o=[...r.data].map((a,s)=>i.type._parseSync(new ll(r,a,r.path,s)));return ia.mergeArray(n,o)}get element(){return this._def.type}min(t,r){return new e({...this._def,minLength:{value:t,message:zt.toString(r)}})}max(t,r){return new e({...this._def,maxLength:{value:t,message:zt.toString(r)}})}length(t,r){return new e({...this._def,exactLength:{value:t,message:zt.toString(r)}})}nonempty(t){return this.min(1,t)}};Fu.create=(e,t)=>new Fu({type:e,minLength:null,maxLength:null,exactLength:null,typeName:st.ZodArray,...Lr(t)});function a_(e){if(e instanceof _s){let t={};for(let r in e.shape){let n=e.shape[r];t[r]=hs.create(a_(n))}return new _s({...e._def,shape:()=>t})}else return e instanceof Fu?new Fu({...e._def,type:a_(e.element)}):e instanceof hs?hs.create(a_(e.unwrap())):e instanceof jd?jd.create(a_(e.unwrap())):e instanceof $d?$d.create(e.items.map(t=>a_(t))):e}var _s=class e extends Qr{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),r=fn.objectKeys(t);return this._cached={shape:t,keys:r},this._cached}_parse(t){if(this._getType(t)!==kt.object){let d=this._getOrReturnCtx(t);return xt(d,{code:ot.invalid_type,expected:kt.object,received:d.parsedType}),mr}let{status:n,ctx:i}=this._processInputParams(t),{shape:o,keys:a}=this._getCached(),s=[];if(!(this._def.catchall instanceof Jl&&this._def.unknownKeys==="strip"))for(let d in i.data)a.includes(d)||s.push(d);let l=[];for(let d of a){let u=o[d],c=i.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new ll(i,c,i.path,d)),alwaysSet:d in i.data})}if(this._def.catchall instanceof Jl){let d=this._def.unknownKeys;if(d==="passthrough")for(let u of s)l.push({key:{status:"valid",value:u},value:{status:"valid",value:i.data[u]}});else if(d==="strict")s.length>0&&(xt(i,{code:ot.unrecognized_keys,keys:s}),n.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let d=this._def.catchall;for(let u of s){let c=i.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new ll(i,c,i.path,u)),alwaysSet:u in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let d=[];for(let u of l){let c=await u.key,f=await u.value;d.push({key:c,value:f,alwaysSet:u.alwaysSet})}return d}).then(d=>ia.mergeObjectSync(n,d)):ia.mergeObjectSync(n,l)}get shape(){return this._def.shape()}strict(t){return zt.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,n)=>{let i=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:zt.errToObj(t).message??i}:{message:i}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:st.ZodObject})}setKey(t,r){return this.augment({[t]:r})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let r={};for(let n of fn.objectKeys(t))t[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}omit(t){let r={};for(let n of fn.objectKeys(this.shape))t[n]||(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}deepPartial(){return a_(this)}partial(t){let r={};for(let n of fn.objectKeys(this.shape)){let i=this.shape[n];t&&!t[n]?r[n]=i:r[n]=i.optional()}return new e({...this._def,shape:()=>r})}required(t){let r={};for(let n of fn.objectKeys(this.shape))if(t&&!t[n])r[n]=this.shape[n];else{let o=this.shape[n];for(;o instanceof hs;)o=o._def.innerType;r[n]=o}return new e({...this._def,shape:()=>r})}keyof(){return U8(fn.objectKeys(this.shape))}};_s.create=(e,t)=>new _s({shape:()=>e,unknownKeys:"strip",catchall:Jl.create(),typeName:st.ZodObject,...Lr(t)});_s.strictCreate=(e,t)=>new _s({shape:()=>e,unknownKeys:"strict",catchall:Jl.create(),typeName:st.ZodObject,...Lr(t)});_s.lazycreate=(e,t)=>new _s({shape:e,unknownKeys:"strip",catchall:Jl.create(),typeName:st.ZodObject,...Lr(t)});var Dm=class extends Qr{_parse(t){let{ctx:r}=this._processInputParams(t),n=this._def.options;function i(o){for(let s of o)if(s.result.status==="valid")return s.result;for(let s of o)if(s.result.status==="dirty")return r.common.issues.push(...s.ctx.common.issues),s.result;let a=o.map(s=>new ps(s.ctx.common.issues));return xt(r,{code:ot.invalid_union,unionErrors:a}),mr}if(r.common.async)return Promise.all(n.map(async o=>{let a={...r,common:{...r.common,issues:[]},parent:null};return{result:await o._parseAsync({data:r.data,path:r.path,parent:a}),ctx:a}})).then(i);{let o,a=[];for(let l of n){let d={...r,common:{...r.common,issues:[]},parent:null},u=l._parseSync({data:r.data,path:r.path,parent:d});if(u.status==="valid")return u;u.status==="dirty"&&!o&&(o={result:u,ctx:d}),d.common.issues.length&&a.push(d.common.issues)}if(o)return r.common.issues.push(...o.ctx.common.issues),o.result;let s=a.map(l=>new ps(l));return xt(r,{code:ot.invalid_union,unionErrors:s}),mr}}get options(){return this._def.options}};Dm.create=(e,t)=>new Dm({options:e,typeName:st.ZodUnion,...Lr(t)});var $u=e=>e instanceof $m?$u(e.schema):e instanceof dl?$u(e.innerType()):e instanceof jm?[e.value]:e instanceof Fm?e.options:e instanceof Nm?fn.objectValues(e.enum):e instanceof qm?$u(e._def.innerType):e instanceof Rm?[void 0]:e instanceof Im?[null]:e instanceof hs?[void 0,...$u(e.unwrap())]:e instanceof jd?[null,...$u(e.unwrap())]:e instanceof yb||e instanceof Lm?$u(e.unwrap()):e instanceof zm?$u(e._def.innerType):[],ov=class e extends Qr{_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==kt.object)return xt(r,{code:ot.invalid_type,expected:kt.object,received:r.parsedType}),mr;let n=this.discriminator,i=r.data[n],o=this.optionsMap.get(i);return o?r.common.async?o._parseAsync({data:r.data,path:r.path,parent:r}):o._parseSync({data:r.data,path:r.path,parent:r}):(xt(r,{code:ot.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),mr)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,r,n){let i=new Map;for(let o of r){let a=$u(o.shape[t]);if(!a.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let s of a){if(i.has(s))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(s)}`);i.set(s,o)}}return new e({typeName:st.ZodDiscriminatedUnion,discriminator:t,options:r,optionsMap:i,...Lr(n)})}};function sP(e,t){let r=Md(e),n=Md(t);if(e===t)return{valid:!0,data:e};if(r===kt.object&&n===kt.object){let i=fn.objectKeys(t),o=fn.objectKeys(e).filter(s=>i.indexOf(s)!==-1),a={...e,...t};for(let s of o){let l=sP(e[s],t[s]);if(!l.valid)return{valid:!1};a[s]=l.data}return{valid:!0,data:a}}else if(r===kt.array&&n===kt.array){if(e.length!==t.length)return{valid:!1};let i=[];for(let o=0;o<e.length;o++){let a=e[o],s=t[o],l=sP(a,s);if(!l.valid)return{valid:!1};i.push(l.data)}return{valid:!0,data:i}}else return r===kt.date&&n===kt.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var Mm=class extends Qr{_parse(t){let{status:r,ctx:n}=this._processInputParams(t),i=(o,a)=>{if(nv(o)||nv(a))return mr;let s=sP(o.value,a.value);return s.valid?((iv(o)||iv(a))&&r.dirty(),{status:r.value,value:s.data}):(xt(n,{code:ot.invalid_intersection_types}),mr)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([o,a])=>i(o,a)):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Mm.create=(e,t,r)=>new Mm({left:e,right:t,typeName:st.ZodIntersection,...Lr(r)});var $d=class e extends Qr{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==kt.array)return xt(n,{code:ot.invalid_type,expected:kt.array,received:n.parsedType}),mr;if(n.data.length<this._def.items.length)return xt(n,{code:ot.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),mr;!this._def.rest&&n.data.length>this._def.items.length&&(xt(n,{code:ot.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let o=[...n.data].map((a,s)=>{let l=this._def.items[s]||this._def.rest;return l?l._parse(new ll(n,a,n.path,s)):null}).filter(a=>!!a);return n.common.async?Promise.all(o).then(a=>ia.mergeArray(r,a)):ia.mergeArray(r,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};$d.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new $d({items:e,typeName:st.ZodTuple,rest:null,...Lr(t)})};var av=class e extends Qr{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==kt.object)return xt(n,{code:ot.invalid_type,expected:kt.object,received:n.parsedType}),mr;let i=[],o=this._def.keyType,a=this._def.valueType;for(let s in n.data)i.push({key:o._parse(new ll(n,s,n.path,s)),value:a._parse(new ll(n,n.data[s],n.path,s)),alwaysSet:s in n.data});return n.common.async?ia.mergeObjectAsync(r,i):ia.mergeObjectSync(r,i)}get element(){return this._def.valueType}static create(t,r,n){return r instanceof Qr?new e({keyType:t,valueType:r,typeName:st.ZodRecord,...Lr(n)}):new e({keyType:qc.create(),valueType:t,typeName:st.ZodRecord,...Lr(r)})}},d_=class extends Qr{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==kt.map)return xt(n,{code:ot.invalid_type,expected:kt.map,received:n.parsedType}),mr;let i=this._def.keyType,o=this._def.valueType,a=[...n.data.entries()].map(([s,l],d)=>({key:i._parse(new ll(n,s,n.path,[d,"key"])),value:o._parse(new ll(n,l,n.path,[d,"value"]))}));if(n.common.async){let s=new Map;return Promise.resolve().then(async()=>{for(let l of a){let d=await l.key,u=await l.value;if(d.status==="aborted"||u.status==="aborted")return mr;(d.status==="dirty"||u.status==="dirty")&&r.dirty(),s.set(d.value,u.value)}return{status:r.value,value:s}})}else{let s=new Map;for(let l of a){let d=l.key,u=l.value;if(d.status==="aborted"||u.status==="aborted")return mr;(d.status==="dirty"||u.status==="dirty")&&r.dirty(),s.set(d.value,u.value)}return{status:r.value,value:s}}}};d_.create=(e,t,r)=>new d_({valueType:t,keyType:e,typeName:st.ZodMap,...Lr(r)});var u_=class e extends Qr{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==kt.set)return xt(n,{code:ot.invalid_type,expected:kt.set,received:n.parsedType}),mr;let i=this._def;i.minSize!==null&&n.data.size<i.minSize.value&&(xt(n,{code:ot.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),r.dirty()),i.maxSize!==null&&n.data.size>i.maxSize.value&&(xt(n,{code:ot.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),r.dirty());let o=this._def.valueType;function a(l){let d=new Set;for(let u of l){if(u.status==="aborted")return mr;u.status==="dirty"&&r.dirty(),d.add(u.value)}return{status:r.value,value:d}}let s=[...n.data.values()].map((l,d)=>o._parse(new ll(n,l,n.path,d)));return n.common.async?Promise.all(s).then(l=>a(l)):a(s)}min(t,r){return new e({...this._def,minSize:{value:t,message:zt.toString(r)}})}max(t,r){return new e({...this._def,maxSize:{value:t,message:zt.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}};u_.create=(e,t)=>new u_({valueType:e,minSize:null,maxSize:null,typeName:st.ZodSet,...Lr(t)});var sv=class e extends Qr{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==kt.function)return xt(r,{code:ot.invalid_type,expected:kt.function,received:r.parsedType}),mr;function n(s,l){return bb({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,i_(),Mu].filter(d=>!!d),issueData:{code:ot.invalid_arguments,argumentsError:l}})}function i(s,l){return bb({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,i_(),Mu].filter(d=>!!d),issueData:{code:ot.invalid_return_type,returnTypeError:l}})}let o={errorMap:r.common.contextualErrorMap},a=r.data;if(this._def.returns instanceof Lc){let s=this;return va(async function(...l){let d=new ps([]),u=await s._def.args.parseAsync(l,o).catch(h=>{throw d.addIssue(n(l,h)),d}),c=await Reflect.apply(a,this,u);return await s._def.returns._def.type.parseAsync(c,o).catch(h=>{throw d.addIssue(i(c,h)),d})})}else{let s=this;return va(function(...l){let d=s._def.args.safeParse(l,o);if(!d.success)throw new ps([n(l,d.error)]);let u=Reflect.apply(a,this,d.data),c=s._def.returns.safeParse(u,o);if(!c.success)throw new ps([i(u,c.error)]);return c.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:$d.create(t).rest(ju.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,r,n){return new e({args:t||$d.create([]).rest(ju.create()),returns:r||ju.create(),typeName:st.ZodFunction,...Lr(n)})}},$m=class extends Qr{get schema(){return this._def.getter()}_parse(t){let{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};$m.create=(e,t)=>new $m({getter:e,typeName:st.ZodLazy,...Lr(t)});var jm=class extends Qr{_parse(t){if(t.data!==this._def.value){let r=this._getOrReturnCtx(t);return xt(r,{received:r.data,code:ot.invalid_literal,expected:this._def.value}),mr}return{status:"valid",value:t.data}}get value(){return this._def.value}};jm.create=(e,t)=>new jm({value:e,typeName:st.ZodLiteral,...Lr(t)});function U8(e,t){return new Fm({values:e,typeName:st.ZodEnum,...Lr(t)})}var Fm=class e extends Qr{_parse(t){if(typeof t.data!="string"){let r=this._getOrReturnCtx(t),n=this._def.values;return xt(r,{expected:fn.joinValues(n),received:r.parsedType,code:ot.invalid_type}),mr}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let r=this._getOrReturnCtx(t),n=this._def.values;return xt(r,{received:r.data,code:ot.invalid_enum_value,options:n}),mr}return va(t.data)}get options(){return this._def.values}get enum(){let t={};for(let r of this._def.values)t[r]=r;return t}get Values(){let t={};for(let r of this._def.values)t[r]=r;return t}get Enum(){let t={};for(let r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return e.create(t,{...this._def,...r})}exclude(t,r=this._def){return e.create(this.options.filter(n=>!t.includes(n)),{...this._def,...r})}};Fm.create=U8;var Nm=class extends Qr{_parse(t){let r=fn.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==kt.string&&n.parsedType!==kt.number){let i=fn.objectValues(r);return xt(n,{expected:fn.joinValues(i),received:n.parsedType,code:ot.invalid_type}),mr}if(this._cache||(this._cache=new Set(fn.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let i=fn.objectValues(r);return xt(n,{received:n.data,code:ot.invalid_enum_value,options:i}),mr}return va(t.data)}get enum(){return this._def.values}};Nm.create=(e,t)=>new Nm({values:e,typeName:st.ZodNativeEnum,...Lr(t)});var Lc=class extends Qr{unwrap(){return this._def.type}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==kt.promise&&r.common.async===!1)return xt(r,{code:ot.invalid_type,expected:kt.promise,received:r.parsedType}),mr;let n=r.parsedType===kt.promise?r.data:Promise.resolve(r.data);return va(n.then(i=>this._def.type.parseAsync(i,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Lc.create=(e,t)=>new Lc({type:e,typeName:st.ZodPromise,...Lr(t)});var dl=class extends Qr{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===st.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:r,ctx:n}=this._processInputParams(t),i=this._def.effect||null,o={addIssue:a=>{xt(n,a),a.fatal?r.abort():r.dirty()},get path(){return n.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="preprocess"){let a=i.transform(n.data,o);if(n.common.async)return Promise.resolve(a).then(async s=>{if(r.value==="aborted")return mr;let l=await this._def.schema._parseAsync({data:s,path:n.path,parent:n});return l.status==="aborted"?mr:l.status==="dirty"?Cm(l.value):r.value==="dirty"?Cm(l.value):l});{if(r.value==="aborted")return mr;let s=this._def.schema._parseSync({data:a,path:n.path,parent:n});return s.status==="aborted"?mr:s.status==="dirty"?Cm(s.value):r.value==="dirty"?Cm(s.value):s}}if(i.type==="refinement"){let a=s=>{let l=i.refinement(s,o);if(n.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?mr:(s.status==="dirty"&&r.dirty(),a(s.value),{status:r.value,value:s.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>s.status==="aborted"?mr:(s.status==="dirty"&&r.dirty(),a(s.value).then(()=>({status:r.value,value:s.value}))))}if(i.type==="transform")if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Nc(a))return mr;let s=i.transform(a.value,o);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:s}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>Nc(a)?Promise.resolve(i.transform(a.value,o)).then(s=>({status:r.value,value:s})):mr);fn.assertNever(i)}};dl.create=(e,t,r)=>new dl({schema:e,typeName:st.ZodEffects,effect:t,...Lr(r)});dl.createWithPreprocess=(e,t,r)=>new dl({schema:t,effect:{type:"preprocess",transform:e},typeName:st.ZodEffects,...Lr(r)});var hs=class extends Qr{_parse(t){return this._getType(t)===kt.undefined?va(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};hs.create=(e,t)=>new hs({innerType:e,typeName:st.ZodOptional,...Lr(t)});var jd=class extends Qr{_parse(t){return this._getType(t)===kt.null?va(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};jd.create=(e,t)=>new jd({innerType:e,typeName:st.ZodNullable,...Lr(t)});var qm=class extends Qr{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return r.parsedType===kt.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};qm.create=(e,t)=>new qm({innerType:e,typeName:st.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Lr(t)});var zm=class extends Qr{_parse(t){let{ctx:r}=this._processInputParams(t),n={...r,common:{...r.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return o_(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new ps(n.common.issues)},input:n.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new ps(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};zm.create=(e,t)=>new zm({innerType:e,typeName:st.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Lr(t)});var c_=class extends Qr{_parse(t){if(this._getType(t)!==kt.nan){let n=this._getOrReturnCtx(t);return xt(n,{code:ot.invalid_type,expected:kt.nan,received:n.parsedType}),mr}return{status:"valid",value:t.data}}};c_.create=e=>new c_({typeName:st.ZodNaN,...Lr(e)});var wpe=Symbol("zod_brand"),yb=class extends Qr{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},xb=class e extends Qr{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?mr:o.status==="dirty"?(r.dirty(),Cm(o.value)):this._def.out._parseAsync({data:o.value,path:n.path,parent:n})})();{let i=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?mr:i.status==="dirty"?(r.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:n.path,parent:n})}}static create(t,r){return new e({in:t,out:r,typeName:st.ZodPipeline})}},Lm=class extends Qr{_parse(t){let r=this._def.innerType._parse(t),n=i=>(Nc(i)&&(i.value=Object.freeze(i.value)),i);return o_(r)?r.then(i=>n(i)):n(r)}unwrap(){return this._def.innerType}};Lm.create=(e,t)=>new Lm({innerType:e,typeName:st.ZodReadonly,...Lr(t)});function N8(e,t){let r=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof r=="string"?{message:r}:r}function B8(e,t={},r){return e?zc.create().superRefine((n,i)=>{let o=e(n);if(o instanceof Promise)return o.then(a=>{if(!a){let s=N8(t,n),l=s.fatal??r??!0;i.addIssue({code:"custom",...s,fatal:l})}});if(!o){let a=N8(t,n),s=a.fatal??r??!0;i.addIssue({code:"custom",...a,fatal:s})}}):zc.create()}var Ape={object:_s.lazycreate},st;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(st||(st={}));var kpe=(e,t={message:`Input not instance of ${e.name}`})=>B8(r=>r instanceof e,t),W8=qc.create,H8=Om.create,Cpe=c_.create,Ope=Em.create,V8=Pm.create,Epe=Gm.create,Ppe=s_.create,Gpe=Rm.create,Rpe=Im.create,Ipe=zc.create,Dpe=ju.create,Mpe=Jl.create,$pe=l_.create,jpe=Fu.create,lP=_s.create,Fpe=_s.strictCreate,Npe=Dm.create,qpe=ov.create,zpe=Mm.create,Lpe=$d.create,Upe=av.create,Bpe=d_.create,Wpe=u_.create,Hpe=sv.create,Vpe=$m.create,Kpe=jm.create,Jpe=Fm.create,Zpe=Nm.create,Qpe=Lc.create,Ype=dl.create,Xpe=hs.create,ehe=jd.create,the=dl.createWithPreprocess,rhe=xb.create,nhe=()=>W8().optional(),ihe=()=>H8().optional(),ohe=()=>V8().optional(),ahe={string:(e=>qc.create({...e,coerce:!0})),number:(e=>Om.create({...e,coerce:!0})),boolean:(e=>Pm.create({...e,coerce:!0})),bigint:(e=>Em.create({...e,coerce:!0})),date:(e=>Gm.create({...e,coerce:!0}))};var she=mr;var lhe=new Intl.Segmenter("en",{granularity:"grapheme"});function J8(e){return Array.from(lhe.segment(e)).length}import*as uP from"node:fs";import*as rL from"node:os";import*as gs from"node:path";import*as f_ from"node:fs/promises";function Z8(e,t){return"Kandan attachment path must resolve inside an allowed upload root ("+e+"): "+t}function Q8(e){return"Kandan attachment upload path must not include hidden path segments: "+e}function dP(e){return"Kandan attachment upload requires a known media/document type or text content (binary content is not allowed): "+e}var Y8="LINZUMI_THREAD_RUNNER_KANDAN_THREAD_ID";var X8="Kandan attachment path must not be empty";function oa(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function Sb(e){if(Array.isArray(e))return e}function ro(e){if(e!==void 0&&typeof e=="string"&&e.trim()!=="")return e.trim()}function uhe(e){if(e!==void 0&&typeof e=="number"&&Number.isInteger(e))return e}function cP(e){if(e!==void 0)return e}function wa(e){let t={};t.type="text",t.text=JSON.stringify(e,void 0,2);let r={};return r.content=[t],r.structuredContent=e,r}var che="failed: ([a-z0-9_]+)(?: detail=(.+))?$";async function fP(e){let t;try{t=await e}catch(r){let n=N(r),i=Hn(n),o=new RegExp(che).exec(i);if(o==null){let c={};return c.error=i,wa(c)}let a=o.slice(1),s=a[0],l;if(s!==void 0){let c=ce(s);l=c!==void 0?c:i}else l=i;let d={};d.error=l;let u=a[1];if(u!==void 0){let c=ce(u);c!==void 0&&(d.detail=c)}return wa(d)}return wa(t)}function nL(e){let t=St(e);if(t===void 0)return OE(e);let r=ce(t),n=At(r);return n!==void 0&&n.includes("channel_required")?rq(new Error(n+". Remediation: pass the channel slug in the `channel` parameter, or set target.thread_id to a Linzumi thread you can access (the server resolves the thread's channel). The files were NOT attached; retry with a channel or thread instead of leaving them on disk.",{cause:r})):nq(r)}function Nu(e){let t={};return Object.entries(e).forEach(r=>{t[r[0]]=r[1]}),t}function mP(e,t){if(ro(e.thread_id)!==void 0||t===void 0)return e;let n=()=>{let a=Nu(e);return a.thread_id=t,a},i=e.message_seq;if(i!==void 0&&typeof i<"u")return n();let o=ro(e.kind);if(o===void 0)return e;switch(o){case"latest_assistant_message":case"message_seq":case"new_message":return n();default:return e}}function ul(e,t){if(ro(e.thread_id)!==void 0||t===void 0)return e;let n=Nu(e);return n.thread_id=t,n}function lv(e,t){let r=ho(t);if(r!==void 0)return ce(r).toString();let n=e.replace(new RegExp("^wss://"),"https://").replace(new RegExp("^ws://"),"http://"),i=Hi(t,n);return i.TAG==="Ok"?i._0.toString():Pi(i._0)}function fhe(e,t){let r=ro(t.inline_url),n=ro(t.carousel_url),i=Nu(t);return r!==void 0&&(i.inline_url=lv(e,r)),n!==void 0&&(i.carousel_url=lv(e,n)),i}function mhe(e,t){if(typeof t!="object"||t===null||Array.isArray(t))return t;let r=ro(t.url),n=oa(t.image_variants),i=Nu(t);return r!==void 0&&(i.url=lv(e,r)),n!==void 0&&(i.image_variants=fhe(e,n)),i}function tL(e,t){let r=Sb(t.attachments);if(r===void 0)return t;let n=Nu(t);return n.attachments=r.map(i=>mhe(e,i)),n}function pP(e,t){let r=oa(t.message),n=oa(t.target_message);if(r===void 0&&n===void 0)return t;let i=Nu(t);return r!==void 0&&(i.message=tL(e,r)),n!==void 0&&(i.target_message=tL(e,n)),i}var hP=[".csv",".diff",".gif",".htm",".html",".jpeg",".jpg",".json",".jsonl",".log",".md",".mp4",".patch",".pdf",".png",".svg",".txt",".webm",".webp",".xml",".zip"];async function phe(e){let t=[{path:e,label:"runner cwd"}],r=z(process.env.HOME,o=>o.trim()),n=gs.resolve(r!==void 0&&r!==""?r:rL.homedir(),"Downloads"),i;try{i=await f_.realpath(n)}catch{return t}return t.some(o=>o.path===i)||t.push({path:i,label:"~/Downloads"}),t}function hhe(e,t){let r=gs.relative(e,t);return r===""?!0:r.startsWith("..")?!1:!gs.isAbsolute(r)}async function _he(e,t){if(t==="")return Pi(X8);let r=gs.isAbsolute(t)?gs.resolve(t):gs.resolve(e,t);return await f_.realpath(r)}async function ghe(e,t){if(!(await e.stat()).isFile())return Pi("Kandan attachment path is not a file: "+t);let n=gs.extname(t).toLowerCase();if(hP.includes(n))return{classification:"KnownType",bytes:await e.readFile()};let i=Buffer.alloc(8192),a=(await e.read(i,0,8192,0)).bytesRead;if(i.subarray(0,a).includes(0))return Pi(dP(t));let s=await e.readFile();return s.subarray(0,8192).includes(0)?Pi(dP(t)):{classification:"TextContent",bytes:s}}async function bhe(e,t){let r=e.find(i=>hhe(i.path,t));if(r!==void 0){if(gs.relative(r.path,t).split(new RegExp("[\\\\/]+","g")).find(u=>u!==void 0?u.startsWith("."):!1)!==void 0)return Pi(Q8(t));let a=await f_.open(t,uP.constants.O_RDONLY|uP.constants.O_NONBLOCK),s,l=0,d;try{d=await ghe(a,t),l=1}catch(u){s={TAG:"Error",_0:N(u)}}return l===1&&(s={TAG:"Ok",_0:d}),await a.close(),s.TAG==="Ok"?s._0:OE(s._0)}let n=e.map(i=>i.label).join(", ");return Pi(Z8(n,t))}function yhe(e){let t=e.toLowerCase();return t.endsWith(".png")?"image/png":t.endsWith(".jpg")||t.endsWith(".jpeg")?"image/jpeg":t.endsWith(".gif")?"image/gif":t.endsWith(".webp")?"image/webp":t.endsWith(".csv")?"text/csv":t.endsWith(".json")?"application/json":t.endsWith(".md")||t.endsWith(".txt")||t.endsWith(".log")?"text/plain":"application/octet-stream"}function xhe(e,t){if(e.toLowerCase().endsWith(".py"))return"text/x-python";let n=yhe(e);return t==="KnownType"||n!=="application/octet-stream"?n:"text/plain"}async function dv(e,t){let r=await f_.realpath(e),n=await phe(r),i=await _he(r,t),o=await bhe(n,i);return{fileName:gs.basename(i),contentType:xhe(i,o.classification),sizeBytes:o.bytes.byteLength,bytes:o.bytes}}async function uv(e,t,r,n,i){let o={};return o["content-type"]=n,await eT.binary(lv(e,t),{method:r,headers:o,body:iq(i)})}async function iL(e){let t=await Promise.all(e.files.map(m=>dv(e.cwd,m))),r=ro(e.target.thread_id),n={},i=e.workspace;i!==void 0&&(n.workspace=i);let o=e.channel;o!==void 0&&(n.channel=o),r!==void 0&&(n.thread_id=r),n.files=t.map(m=>{let p={};return p.file_name=m.fileName,p.content_type=m.contentType,p.size_bytes=m.sizeBytes,p});let a=await e.client.prepareMessageUploads(n),s=Sb(a.uploads),l=s!==void 0?s:[];l.length===t.length||Pi("Linzumi upload prepare response count mismatch"),await Promise.all(t.map(async(m,p)=>{let _=oa(l[p]),g=ro(E(_,T=>T.upload_url)),b=ro(E(_,T=>T.upload_method)),y=b!==void 0?b:"PUT";if(g===void 0)return Pi("Linzumi upload prepare response missing upload_url");let S=await uv(e.serviceUrl,g,y,m.contentType,m.bytes);if(!S.ok)return Pi("Linzumi upload failed for "+m.fileName+": "+S.status.toString()+" "+S.statusText)}));let d=l.map(m=>{let p=ro(E(oa(m),_=>_.file_id));return p!==void 0?p:Pi("Linzumi upload prepare response missing file_id")}),u={},c=e.workspace;c!==void 0&&(u.workspace=c);let f=e.channel;f!==void 0&&(u.channel=f),r!==void 0&&(u.thread_id=r),u.target=e.target;let h=e.body;return h!==void 0&&(u.body=h),u.uploaded_file_ids=d,await e.client.attachMessageFiles(u)}async function oL(e){let t=await dv(e.cwd,e.file),r={},n=e.workspace;n!==void 0&&(r.workspace=n),r.name=e.name,r.file_name=t.fileName,r.content_type=t.contentType,r.size_bytes=t.sizeBytes;let i=await e.client.prepareCustomEmoji(r),o=oa(i.upload),a=ro(E(o,m=>m.upload_url)),s=ro(E(o,m=>m.upload_method)),l=s!==void 0?s:"PUT";if(a===void 0)return Pi("Linzumi custom emoji prepare response missing upload_url");let d=await uv(e.serviceUrl,a,l,t.contentType,t.bytes);if(d.ok){let m=await d.json();if(typeof m!="object"||m===null||Array.isArray(m))return Pi("Linzumi custom emoji upload returned non-object JSON");let p=oa(m.custom_emoji);if(p===void 0)return Pi("Linzumi custom emoji upload response missing custom_emoji");let _={};_.ok=!0;let g=i.workspace;_.workspace=g!==void 0?g:void 0,_.emoji=p;let b=ro(m.asset_id);_.asset_id=b!==void 0?b:void 0;let y=uhe(p.id);_.id=y!==void 0?y:void 0;let S=ro(p.name);_.name=S!==void 0?S:void 0;let T=ro(p.shortcode);_.shortcode=T!==void 0?T:void 0;let w=ro(p.image_url);return _.image_url=w!==void 0?w:void 0,_}let u=d.status.toString()+" "+d.statusText,f=(await d.text()).trim(),h;if(f==="")h=u;else{let m=0,p;try{p=JSON.parse(f),m=1}catch{h=f}if(m===1)if(typeof p=="object"&&p!==null&&!Array.isArray(p)){let _=p.error;h=typeof _=="string"?_:f}else h=f}return Pi("Linzumi custom emoji upload failed: "+h)}import*as Ja from"node:fs";import*as aL from"node:os";import*as sL from"node:net";import*as Ka from"node:path";var lL=xa(yE(),1);import*as dL from"node:child_process";function fv(e,t){}function xP(e){return e==="DesiredRunning"?"running":"stopped"}function uL(e){switch(e){case"Running":return"running";case"Unhealthy":return"unhealthy";case"Exited":return"exited";case"Failed":return"failed";case"Stopped":return"stopped"}}function She(){let e=z(process.env.LINZUMI_DEV_SERVICES_DIR,t=>t.trim());return e!==void 0&&e!==""?e:Ka.join(aL.homedir(),".linzumi","dev-services")}function Wm(e){let t=e.replace(new RegExp("[^A-Za-z0-9._-]+","g"),"-").replace(new RegExp("^[-.]+|[-.]+$","g"),"").slice(0,80),r=po(e).slice(0,8),n=t===""?"runner":t;return Ka.join(She(),n+"."+r)}function mv(e){let t=e.trim().toLowerCase();if(new RegExp("^[a-z0-9][a-z0-9._-]{0,63}$").test(t)&&!t.includes(".."))return t}function Tb(e,t){return Ka.join(e,"services",t+".json")}function SP(e,t){return Ka.join(e,"exits",t+".json")}function cL(e,t){return Ka.join(e,"logs",t+".log")}function Bm(e){if(typeof e=="string"&&e!=="")return e}function qu(e){if(e!==void 0&&typeof e=="number"&&isFinite(e))return e}function The(e){return e!==void 0?Array.isArray(e)?Fe(e,t=>{if(typeof t=="number"&&Number.isInteger(t)&&t>0&&t<=65535)return t}):[]:[]}function vhe(e,t,r){if(r!==void 0&&r!==null){if(typeof r=="object"&&!Array.isArray(r)){let n=Bm(r.reason),i=qu(r.atMs);if(n!==void 0&&i!==void 0)return{reason:n,atMs:i};let o=[];n!==void 0||o.push("reason"),i!==void 0||o.push("atMs");let a=o.join(", ");return console.warn("[dev_services.failure_record_malformed] name="+e+" invalid_fields="+o.join(",")),{reason:'dev-service "'+e+'" has a malformed persisted failure record: invalid '+a,atMs:t}}return console.warn("[dev_services.failure_record_malformed] name="+e+" invalid_fields=reason,atMs"),{reason:'dev-service "'+e+'" has a malformed persisted failure record: invalid reason, atMs',atMs:t}}}function fL(e){if(typeof e!="object"||e===null||Array.isArray(e)||!J(e.version,1))return;let t=Bm(e.name),r=E(t,mv),n=Bm(e.command),i=Bm(e.cwd),o=e.desiredState,a;if(typeof o=="string")switch(o){case"running":a="DesiredRunning";break;case"stopped":a="DesiredStopped";break;default:a=void 0}else a=void 0;let s=qu(e.updatedAtMs),l=Bm(e.logPath),d=J(r,t);if(r!==void 0&&d&&n!==void 0&&i!==void 0&&a!==void 0&&s!==void 0&&l!==void 0)return{watchdogVersion:qu(e.watchdogVersion),name:r,command:n,cwd:i,ports:The(e.ports),restartOnBranchChange:J(e.restartOnBranchChange,!0),desiredState:a,pid:qu(e.pid),ownerPid:qu(e.ownerPid),startedAtMs:qu(e.startedAtMs),updatedAtMs:s,lastBranch:Bm(e.lastBranch),logPath:l,automaticRestartAttempts:v(qu(e.automaticRestartAttempts),0),automaticRestartWindowStartedAtMs:qu(e.automaticRestartWindowStartedAtMs),automaticRestartCause:Bm(e.automaticRestartCause),failure:vhe(r,s,e.failure)}}function Um(e){return e!==void 0?ce(e):null}function whe(e){let t=e.failure,r=t!==void 0?{reason:t.reason,atMs:t.atMs}:null,n={version:1,watchdogVersion:Um(e.watchdogVersion),name:e.name,command:e.command,cwd:e.cwd,ports:e.ports,restartOnBranchChange:e.restartOnBranchChange,desiredState:xP(e.desiredState),pid:Um(e.pid),ownerPid:Um(e.ownerPid),startedAtMs:Um(e.startedAtMs),updatedAtMs:e.updatedAtMs,lastBranch:Um(e.lastBranch),logPath:e.logPath,automaticRestartAttempts:e.automaticRestartAttempts,automaticRestartWindowStartedAtMs:Um(e.automaticRestartWindowStartedAtMs),automaticRestartCause:Um(e.automaticRestartCause),failure:r},i=JSON.stringify(n);if(i!==void 0)return i+`
266
266
  `;throw{RE_EXN_ID:"Failure",_1:"dev-service record could not be encoded",Error:new Error}}function Ahe(e,t,r){let n=Tb(e,t.name),i=Ae(Ae(He(Nt(Ka.dirname(n)),s=>s.message),()=>{try{return{TAG:"Ok",_0:whe(t)}}catch(s){let l=N(s);return{TAG:"Error",_0:"record encoding failed: "+ke(l).message}}}),s=>{let l=n+".tmp";return Ae(He(Wn(l,s),d=>d.message),()=>He(Jn(l,n),d=>d.message))});if(i.TAG==="Ok")return{TAG:"Ok",_0:void 0};let o=i._0,a={};return a.path=n,a.message=o,r("dev_services.record_write_failed",a),{TAG:"Error",_0:"could not persist dev-service state at "+n+": "+o}}function gP(e,t,r){let n=Tb(e,t.name),i=n+".lock",o=Ae(Nt(Ka.dirname(n)),()=>{let l;try{let d=Ja.statSync(i),u=d.isFile(),c=d.isDirectory(),f=Date.now()-d.mtimeMs>=5e3;l=u?f?Ze(Wi(i),()=>{let h={};h.name=t.name,h.path=i,r("dev_services.legacy_record_lock_recovered",h)}):{TAG:"Ok",_0:void 0}:c&&f?{TAG:"Ok",_0:Date.now()-d.mtimeMs}:{TAG:"Ok",_0:void 0}}catch(d){let u=N(d),c=ke(u);l=c.code==="ENOENT"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:c}}return Ae(l,d=>{try{let u=lL.lockSync(n,{lockfilePath:i,realpath:!1,retries:0,stale:5e3,update:1e3,onCompromised:c=>{let f=ke(c),h={};throw h.name=t.name,h.path=i,h.message=f.message,r("dev_services.record_lock_compromised",h),c}});if(d!==void 0){let c={};c.name=t.name,c.path=i,c.age_ms=d,r("dev_services.record_lease_recovered",c)}return{TAG:"Ok",_0:u}}catch(u){let c=N(u);return{TAG:"Error",_0:ke(c)}}})});if(o.TAG==="Ok"){let l=Ahe(e,t,r),d;try{o._0(),d={TAG:"Ok",_0:void 0}}catch(f){let h=N(f);d={TAG:"Error",_0:ke(h)}}if(l.TAG!=="Ok")return{TAG:"PersistUnwritten",_0:l._0};if(d.TAG==="Ok")return"PersistOk";let u=d._0,c={};return c.name=t.name,c.path=i,c.message=u.message,r("dev_services.record_unlock_failed",c),{TAG:"PersistCommittedUnlockFailed",_0:"could not unlock dev-service state at "+i+": "+u.message}}let a=o._0,s={};return s.name=t.name,s.path=i,s.message=a.message,r("dev_services.record_lock_failed",s),{TAG:"PersistUnwritten",_0:"could not lock dev-service state at "+i+": "+a.message}}function TP(e,t){let r=mv(t);if(r===void 0)return;let n=$t(Tb(e,r));if(n.TAG!=="Ok")return;let i;try{i=JSON.parse(n._0)}catch{return}return fL(i)}function mL(e){let t=qo(Ka.join(e,"services"));return t.TAG==="Ok"?Fe(t._0,r=>{if(r.endsWith(".json"))return TP(e,r.slice(0,r.length-5|0))}).toSorted((r,n)=>r.name.localeCompare(n.name)):[]}function vP(e){let t=[];return mL(e).forEach(r=>{r.desiredState==="DesiredRunning"&&r.ports.forEach(i=>{if(!t.includes(i)){t.push(i);return}})}),t.toSorted((r,n)=>r-n)}function pL(e,t){let r=$t(SP(e,t));if(r.TAG!=="Ok")return;let n;try{n=JSON.parse(r._0)}catch{return}if(typeof n!="object"||n===null||Array.isArray(n))return;let i=qu(n.atMs);if(i===void 0)return;let o=n.code,a;a=typeof o=="number"?o:void 0;let s=n.signal,l;return l=typeof s=="string"?s:void 0,{code:a,signal:l,atMs:i}}function khe(e){let t={};return t.command=e.command,t.args=e.args.map(r=>r),t.cwd=e.cwd,t.pollIntervalMs=e.pollIntervalMs,t.recordPath=e.recordPath,t.exitStatusPath=e.exitStatusPath,JSON.stringify(t)}function Che(e,t){return{command:e,args:["-e",`
267
267
  const { spawn } = require('node:child_process');
268
268
  const fs = require('node:fs');
@@ -460,7 +460,7 @@ Keep "src" required, all other fields optional, and never exceed 10 embeds in on
460
460
  `;return"[mcp_servers."+e.name+`]
461
461
  command = `+vb(e.command)+`
462
462
  args = `+xL(e.args)+`
463
- `+t}var AL="Other",kL="linzumi_ask_user_question",$he="plan_mode_native_interview_tool",jhe="no_active_turn";function Ab(e){return JSON.stringify(e)}function Fhe(e){let t=e.trim().toLowerCase();switch(t){case"other":case"something else":case"something else...":return!0;default:return t.includes("other")?!0:t.includes("something else")}}function Nhe(e){let t=oa(e),r=Sb(t!==void 0?t.questions:void 0);if(r===void 0)return{TAG:"Invalid",_0:"questions: expected an array"};let n=r.length;if(n===0)return{TAG:"Invalid",_0:"questions: min 1, got 0"};if(n>4)return{TAG:"Invalid",_0:"questions: max 4, got "+n.toString()};let i={contents:void 0},o=[],a=new Set;r.forEach((l,d)=>{if(i.contents!==void 0)return;let c=d.toString(),f=oa(l);if(f===void 0){i.contents="questions["+c+"]: expected an object";return}let h=ro(f.question);if(h===void 0){i.contents="questions["+c+"].question: must be a non-empty string";return}if(a.has(h)){i.contents="questions: duplicate question text "+Ab(h);return}let m=ro(f.header);if(m===void 0){i.contents="questions["+c+"].header: must be a non-empty string";return}if(m.length>12){i.contents="questions["+c+"].header: max 12 chars, got "+m.length.toString();return}let p=f.multiSelect;if(p!==void 0){let A=0;if(typeof p!="boolean"&&(A=2),A===2){i.contents="questions["+c+"].multiSelect: must be a boolean";return}}let _=Sb(f.options);if(_===void 0){i.contents="questions["+c+"].options: expected an array";return}let g=_.length;if(g<2){i.contents="questions["+c+"].options: min 2, got "+g.toString();return}if(g>4){i.contents="questions["+c+"].options: max 4, got "+g.toString();return}let b=[],y=new Set;if(_.forEach((A,P)=>{if(i.contents!==void 0)return;let k=P.toString(),$=oa(A),V=$!==void 0?ro($.label):void 0;if($!==void 0&&V!==void 0){let F=$.description,D=0;if(F!==void 0){let q=0;if(typeof F=="string"?D=2:q=3,q===3){i.contents="questions["+c+"].options["+k+"].description: must be a string";return}}else D=2;if(D===2){if(Fhe(V)){i.contents="questions["+c+"].options["+k+"].label: "+Ab(V)+" is reserved for the built-in Other option";return}if(y.has(V)){i.contents="questions["+c+"].options: duplicate label "+Ab(V);return}y.add(V);let q=$.description,re;re=typeof q=="string"?q:"",b.push({label:V,description:re});return}}i.contents="questions["+c+"].options["+k+"].label: must be a non-empty string"}),i.contents!==void 0)return;a.add(h);let T=f.multiSelect,w;w=T===!0,o.push({question:h,header:m,options:b,multiSelect:w})});let s=i.contents;return s!==void 0?{TAG:"Invalid",_0:s}:{TAG:"Parsed",_0:{questions:o}}}function qhe(e){let t={};e.questions.forEach(s=>{let l={};l.type="string",l.description=s.header,t[s.question]=l});let r={};r.type="object",r.properties=t,r.required=e.questions.map(s=>s.question);let n=e.questions.map(s=>{let l={};return l.question=s.question,l.header=s.header,l.multiSelect=s.multiSelect,l.options=s.options.map(d=>{let u={};return u.label=d.label,u.description=d.description,u}),l}),i={};i.version=1,i.questions=n;let o={};o[kL]=i;let a={};return a.message="Linzumi interview: the user is being asked in the Linzumi thread.",a.requestedSchema=r,a._meta=o,a}function zhe(e,t){let r=oa(t);if(r===void 0)return{TAG:"AnswersInvalid",_0:"the runner accepted the interview but returned no answers; it may predate linzumi_ask_user_question support"};let n={contents:void 0},i={};e.questions.forEach(a=>{if(n.contents!==void 0)return;let l=r[a.question];if(typeof l=="string"){let d=0,u;try{u=JSON.parse(l),d=2}catch{n.contents="the runner returned an undecodable answer for question "+Ab(a.question);return}if(d===2){i[a.question]=u;return}}n.contents="the runner returned no answer for question "+Ab(a.question)});let o=n.contents;return o!==void 0?{TAG:"AnswersInvalid",_0:o}:{TAG:"Answers",_0:i}}function Lhe(e){let t=oa(e);if(t===void 0)return;let r=oa(t[kL]);return ro(r!==void 0?r.reason:void 0)}function zu(e){let t={};t.type="text",t.text=e;let r={};return r.content=[t],r.isError=!0,r}function Uhe(e){if(e===void 0)return"undefined";if(e===null)return"null";switch(typeof e){case"string":return e;case"number":return e.toString();default:return JSON.stringify(e)}}async function CL(e,t){let r=Nhe(t);if(r.TAG!=="Parsed")return zu(r._0);let n=r._0,i=0,o;try{o=await e(qhe(n),2147483647),i=1}catch(a){let s=N(a);return zu("the interview could not be delivered to the user: "+Hn(s))}if(i===1){let a=oa(o),s=a!==void 0?a:{},l=s.action,d=0;if(typeof l=="string")switch(l){case"accept":let u=zhe(n,s.content);if(u.TAG!=="Answers")return zu(u._0);let c={};return c.answers=u._0,wa(c);case"cancel":return zu("the user dismissed the question without answering");case"decline":let f=Lhe(s._meta);return zu(f!==void 0?f===$he?"linzumi_ask_user_question is unavailable during a Plan-mode turn: use the native request_user_input interview tool instead":f===jhe?"the interview was declined: no active turn is bound to this session":"the interview request was declined by the runner":"the interview request was declined by the runner");default:d=2}else d=2;if(d===2)return zu("the interview returned an unknown action: "+Uhe(l))}}var OL="linzumi_ask_user_question",PP=4,GP=12,RP=2,IP=4;var EL="One or two sentences a teammate skimming the board would want: what changed, and what happens next. Standup register, present tense, name agents and lanes plainly. No thread ids or UUIDs unless needed for lookup; proofs and evidence belong in the thread, not here. Good: 'Retired the silent watchdog and spawned Thorne to replace it \u2014 running lean at three children.' Bad: 'Broken 67f1d639 archived abandoned; board claim preceded spawn; children verified at exactly 3.'";function PL(){return B.string().min(1).refine(e=>J8(e)<=240,{message:"status_note over 240 chars \u2014 trim to what a reader needs; put evidence in the thread."})}function Whe(e){switch(e){case"All":return!0;case"Coding":case"OnboardingDiscovery":return!1}}function Hhe(e){return e==="Voice"}function Vhe(e){return e.trim().replace(new RegExp("^:+"),"").replace(new RegExp(":+$"),"").toLowerCase()}function GL(){return B.string().min(1).refine(e=>Vhe(e).length<=64,{message:"Custom emoji shortcode name must be at most 64 characters after trimming surrounding colons."})}function Hm(){let e=B.discriminatedUnion("type",[B.object(Object.fromEntries([["type",B.literal("text")],["text",B.string()],["style",B.array(B.enum(["bold","italic","code"])).optional()]])).strict(),B.object(Object.fromEntries([["type",B.literal("actor")],["user_id",B.number().int().positive()],["fallback",B.string().min(1)]])).strict()]);return B.array(B.object(Object.fromEntries([["kind",B.literal("prose")],["tokens",B.array(e).min(1)]])).strict()).min(1).describe("Canonical BlockSequence. Actor mentions must be actor tokens; literal @ text stays a text token.")}function hi(){return B.string().optional().describe("Workspace slug. Omit to use the authenticated token scope.")}function Ns(){return B.string().optional().describe("Channel slug. Omit to use the authenticated token scope.")}function qs(e){if(typeof e=="string")return e}function RL(e,t,r){let n=oa(e[t]);return n!==void 0?n:Pi(r+" "+t+" must be an object")}function Khe(e){return e!==void 0?Array.isArray(e)?Fe(e,t=>{if(typeof t=="string")return t}):[]:[]}function Jhe(e){return e!==void 0?Array.isArray(e)?Fe(e,t=>{if(typeof t=="number")return t}):[]:[]}function IL(e){if(typeof e=="number")return e}function DL(e){let t={};t.name=e.record.name,t.command=e.record.command,t.cwd=e.record.cwd,t.ports=e.record.ports.map(a=>a),t.restart_on_branch_change=e.record.restartOnBranchChange,t.desired_state=xP(e.record.desiredState),t.liveness=uL(e.liveness),t.port_health=e.portProbes.map(a=>{let s={};return s.port=a.port,s.listening=a.listening,s});let r=e.record.startedAtMs;t.started_at_ms=r!==void 0?r:null;let n=e.lastExit,i;if(n!==void 0){let a={},s=n.code;a.code=s!==void 0?s:null;let l=n.signal;a.signal=l!==void 0?l:null,a.at_ms=n.atMs,i=a}else i=null;t.last_exit=i,t.log_path=e.record.logPath;let o=e.failure;return t.failure=o!==void 0?{reason:o.reason,at_ms:o.atMs}:null,t}function Zhe(e,t,r){e.registerTool("linzumi_dev_service_start","Start a long-running local dev server (npm run dev, storybook, docker compose up, ...) as a MANAGED SERVICE owned by the Linzumi runner. Use this instead of running dev servers in your own shell: a managed service survives the end of your turn and branch switches, is auto-restarted if it crashes, and its declared ports are health-probed and surfaced in the product. Calling start for an existing name declaratively RESTARTS it (e.g. after a checkout). Declare EVERY port the app serves from (primary plus HMR/asset/bundle sibling ports).",Object.fromEntries([["name",B.string().regex(new RegExp("^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$")).describe("Stable service name (slug), e.g. 'web' or 'storybook'. Reusing a name restarts that service.")],["command",B.string().min(1).describe("Shell command that runs the server in the foreground (never daemonize/screen/nohup it yourself), e.g. 'npm run dev'. Runs via the user's login shell.")],["cwd",B.string().optional().describe("Working directory for the service. Defaults to the session cwd.")],["ports",B.array(B.number().int().min(1).max(65535)).max(16).default([]).describe("Every TCP port this service listens on (primary AND related ports such as the Vite/HMR bundle port). Used for health probes and product visibility.")],["restart_on_branch_change",B.boolean().optional().describe("Restart the service automatically when the git branch of its cwd changes (for servers that go stale across checkouts).")],["wait_for_ports_ms",B.number().int().min(0).max(6e4).optional().describe("How long to wait for the declared ports to accept connections before returning (default 15000).")]]),async n=>{let i=qs(n.name),o=i!==void 0?i:"",a=qs(n.command),s=a!==void 0?a:"",l=qs(n.cwd),d=await hL({scopeDir:r.scopeDir,definition:{name:o,command:s,cwd:l!==void 0?l:t,ports:Jhe(n.ports),restartOnBranchChange:J(n.restart_on_branch_change,!0)},ownerPid:r.ownerPid});if(d.TAG==="Ok"){let c=d._0,f=IL(n.wait_for_ports_ms),h=Date.now()+(f!==void 0?f:15e3),m=c.ports.length===0;for(;!m&&Date.now()<h;)m=(await Promise.all(c.ports.map(S=>wP(S|0)))).every(S=>S),m||await tT(250);let _=(await AP(r.scopeDir)).find(y=>y.record.name===c.name),g={};g.ok=!0;let b;if(_!==void 0)b=DL(_);else{let y={};y.name=c.name,b=y}return g.service=b,_!==void 0&&_.liveness!=="Running"&&(g.hint="The service is not (fully) serving its declared ports yet. Check linzumi_dev_service_logs before assuming it works."),wa(g)}let u={};return u.ok=!1,u.error=d._0,wa(u)}),e.registerTool("linzumi_dev_service_stop","Stop a managed dev service (SIGTERM, then SIGKILL after a grace period). The registration is kept so linzumi_dev_service_start can bring it back.",Object.fromEntries([["name",B.string().min(1).describe("Service name to stop.")]]),async n=>{let i=qs(n.name),o=i!==void 0?i:"",a=await kP(r.scopeDir,o,void 0),s={};return a.TAG==="Ok"?(s.ok=!0,s.name=a._0.name,s.desired_state="stopped"):(s.ok=!1,s.error=a._0),wa(s)}),e.registerTool("linzumi_dev_service_status","List every managed dev service with liveness (running / unhealthy / exited / failed / stopped), per-port health probes, last exit, and any terminal failure reason. Live state - always check this before concluding a dev server is up or down.",{},async n=>{let i=await AP(r.scopeDir),o={};return o.services=i.map(a=>DL(a)),wa(o)}),e.registerTool("linzumi_dev_service_logs","Read the tail of a managed dev service's combined stdout/stderr log.",Object.fromEntries([["name",B.string().min(1).describe("Service name.")],["max_bytes",B.number().int().min(256).max(65536).optional().describe("Tail size in bytes (default 16384).")]]),async n=>{let i=qs(n.name),o=i!==void 0?i:"",a=IL(n.max_bytes),s=gL(r.scopeDir,o,a!==void 0?a:16384),l={};return s!==void 0?(l.ok=!0,l.name=o,l.log_tail=s):(l.ok=!1,l.error="no log for service: "+o),wa(l)}),e.registerTool("linzumi_dev_service_remove","Stop a managed dev service AND delete its registration (it will not be resurrected on runner restart). Use stop instead when the user may want it back.",Object.fromEntries([["name",B.string().min(1).describe("Service name to remove.")]]),async n=>{let i=qs(n.name),o=i!==void 0?i:"",a=await _L(r.scopeDir,o,fv),s={};return a.TAG==="Ok"?(s.ok=!0,s.name=a._0.name,s.removed=!0):(s.ok=!1,s.error=a._0),wa(s)})}function ML(e,t){let r=t.devServices,n=t.agentSession,i=t.ownerUsername,o=t.defaultThreadId,a=t.serviceUrl,s=t.cwd,l=t.toolScope,d=t.client,u;switch(l){case"All":case"Coding":u=!0;break;case"OnboardingDiscovery":u=!1;break}let c=async p=>wa(await p),f=async(p,_)=>(_.tool=p,await c(d.agentDocumentTool(_))),h=t.documentSurfaces;h!==void 0&&h&&(e.registerTool("linzumi_lookup_documents","Search document titles and content within the controlling human's visibility ceiling. Returns authorized results in canonical search order; zero, one, and multiple matches carry the rule-03 ambiguity meaning.",Object.fromEntries([["query",B.string().min(1).describe("Document title or content search query.")]]),async p=>await f("lookup_documents",p)),e.registerTool("linzumi_read_document","Read one in-scope document as full AST and metadata, including pending proposals and required-agent-context comments. Both controlling-human visibility and agent delegation are required.",Object.fromEntries([["document_id",B.string().uuid().describe("Document UUID.")]]),async p=>await f("read_document",p)),n?(e.registerTool("linzumi_append_document_section","Use this tool for append-shaped document requests. After resolving exactly one patch target document and reading it, supply only the heading and body Markdown; the server composes the closed structural operations. Every change is proposal-always.",Object.fromEntries([["document_id",B.string().uuid().describe("Document UUID.")],["heading",B.string().trim().min(1).describe("Section heading.")],["body_markdown",B.string().trim().min(1).describe("Section body as Markdown.")]]),async p=>await f("append_document_section",p)),e.registerTool("linzumi_replace_section","Use this tool for targeted section rewrites, fixes, and tightening. After resolving exactly one patch target document and reading it, identify the section by exact heading text or its heading block UUID and supply the replacement body Markdown. The server rejects missing and ambiguous headings with actionable typed errors and composes the closed structural operations. Every change is proposal-always.",Object.fromEntries([["document_id",B.string().uuid().describe("Document UUID.")],["heading_or_section_ref",B.string().trim().min(1).describe("Exact heading text or heading block UUID from read_document.")],["body_markdown",B.string().trim().min(1).describe("Replacement section body as Markdown.")]]),async p=>await f("replace_section",p)),e.registerTool("linzumi_decline_document_action","Decline the current document action when neither advertised document intent can express it. Give a clear reason; the server relays it verbatim with an honest decline prefix and satisfies the action binding.",Object.fromEntries([["reason",B.string().refine(p=>p.trim().length>0,{message:"Reason must contain non-whitespace text."}).describe("Clear reason the available document intents cannot express the request.")]]),async p=>await c(d.declineDocumentAction(p)))):(e.registerTool("linzumi_propose_document_patch","Submit a raw revisioned structural document patch. This power/API surface requires the caller to compose the closed operation vocabulary. Every change is proposal-always.",Object.fromEntries([["document_id",B.string().uuid().describe("Document UUID.")],["patch",B.object(Object.fromEntries([["baseRevision",B.number().int().nonnegative()],["operations",B.array(B.record(B.unknown()))],["title",B.string().min(1).optional()]])).describe("Revisioned structural document patch.")],["rationale",B.string().min(1).describe("Why this change is proposed.")]]),async p=>await f("propose_document_patch",p)),e.registerTool("linzumi_create_document","Create an agent-attributed document through an atomic bootstrap proposal and apply transaction in the named folder or workspace default folder.",Object.fromEntries([["title",B.string().min(1).describe("Document title.")],["initial_patch",B.record(B.unknown()).describe("Bootstrap structural patch.")],["folder_id",B.string().uuid().optional().describe("Destination folder UUID.")]]),async p=>await f("create_document",p))));let m=t.askUserQuestion;if(m!==void 0&&e.registerTool(OL,"Ask the user up to "+PP.toString()+" structured multiple-choice questions and BLOCK until they answer in the Linzumi thread. Use this whenever you need a decision or clarification mid-task. Each question needs a short header (max "+GP.toString()+" chars) and "+RP.toString()+"-"+IP.toString()+' options {label, description}; a built-in "'+AL+'" free-text choice is always shown in addition to your options, so never add one yourself. Set multiSelect true to allow choosing several options. Returns {answers} keyed by question text: a single label string, an array of labels for multiSelect, and {"other": "<typed text>"} for a free-text reply.',Object.fromEntries([["questions",B.array(B.object(Object.fromEntries([["question",B.string().describe("The question to ask the user.")],["header",B.string().describe("Short category header shown above the question (max "+GP.toString()+' chars, e.g. "Auth", "Scope").')],["options",B.array(B.object(Object.fromEntries([["label",B.string().describe("Option label the user taps.")],["description",B.string().optional().describe("One-line explanation of the option.")]]))).describe(RP.toString()+"-"+IP.toString()+" options for this question.")],["multiSelect",B.boolean().optional().describe("True lets the user select several options; the answer becomes an array.")]]))).describe("1-"+PP.toString()+" questions to ask atomically.")]]),async p=>await CL(m,p)),n){e.registerTool("linzumi_agent_reply","Post your single @linzumi reply for the current turn into the surface where you were mentioned. Call EXACTLY ONCE per turn with your final answer; the reply links to this working session automatically. Fails with already_replied on a second call and no_active_asker_binding when no turn is active.",Object.fromEntries([["body",B.string().min(1).describe("Plain-text reply body to post.")],["tokens",Hm().optional()]]),async _=>{let g=_.body,b={body:g!==void 0?g:void 0},y=_.tokens;return y!==void 0&&(b.tokens=y),await c(d.agentReply(b))});let p=async(_,g)=>(g.tool=_,await c(d.agentTopicTool(g)));e.registerTool("linzumi_create_topic_wake_subscription","Create or update a standing subscription that wakes @linzumi when new entries land on an existing workspace topic. Use this when the user asks you to watch a topic and perform an ongoing job. The server stores the instruction, derives the creator from the current asker, and targets this conversation; do not claim success without calling this tool.",Object.fromEntries([["topic_slug",B.string().min(1).describe("Existing workspace topic slug to watch.")],["instruction",B.string().min(1).max(4e3).describe("Standing job to execute whenever a matching topic entry wakes the agent.")]]),async _=>await p("create_topic_wake_subscription",_)),e.registerTool("linzumi_disable_topic_wake_subscription","Disable the current asker's standing @linzumi wake subscription for a topic. The durable row and cursor are retained so reactivation can drain the disabled-period backlog.",Object.fromEntries([["topic_slug",B.string().min(1).describe("Workspace topic slug whose standing wake should stop.")]]),async _=>await p("disable_topic_wake_subscription",_)),e.registerTool("linzumi_list_coding_jobs","List the coding jobs the current asker can see in this workspace: runner connections (online and recent) with their bound job threads. Live state - never answered from search.",{},async _=>await c(d.agentListCodingJobs({}))),e.registerTool("linzumi_start_coding_job","Start a coding job exactly as if the asking user clicked start: same runner/channel authorization, same pipeline. Returns status 'unavailable' with a reason when the runner cannot take the job (relay that honestly).",Object.fromEntries([["channel",B.string().describe("Channel slug to host the job thread.")],["runner_key",B.string().describe("Runner (computer) to run the job on.")],["cwd",B.string().describe("Working directory on the runner.")],["work_description",B.string().min(1).describe("What the job should do - the initial instruction.")],["model",B.string().optional().describe("Model override (optional).")],["model_provider",B.string().optional().describe("Model provider override, e.g. 'wafer' (optional).")],["execution_mode",B.enum(["raw","local_vm"]).optional().describe("Execution placement override (optional).")],["project_task_id",B.string().optional().describe("Project task item to bind the job to (task_id from linzumi_get_project_tasks). The task flips todo -> active and links to the new job.")],["visibility",B.enum(["project","private"]).optional().describe("Job visibility. Defaults to 'project'; private jobs are limited to directly authorized participants.")]]),async _=>await c(d.agentStartCodingJob(_))),e.registerTool("linzumi_interrupt_coding_job","Interrupt a coding job: mode 'steer' (default) discards its queued follow-ups so your next message lands first; mode 'stop' terminates the current turn.",Object.fromEntries([["channel",B.string().describe("Channel slug hosting the job thread.")],["thread_id",B.string().uuid().describe("The job thread UUID.")],["mode",B.enum(["steer","stop"]).optional().describe("Interrupt mode; defaults to 'steer'.")]]),async _=>await c(d.agentInterruptCodingJob(_))),e.registerTool("linzumi_send_coding_job_message","Message a coding job or a person. Queue is the encouraged default: it lands in the colleague's inbox for their own cadence. Steer only for urgent, potentially-clashing work because it interrupts the running turn. Would this be worthless or harmful after their turn finishes? If no, queue. Delivery urgency is not access control. To message a person, pass to_user and omit channel and thread_id: delivery lands in their personal inbox.",Object.fromEntries([["channel",B.string().optional().describe("Channel slug hosting the job thread. Required unless to_user is set.")],["thread_id",B.string().uuid().optional().describe("The job thread UUID. Required unless to_user is set.")],["to_user",B.string().min(1).optional().describe("Username of a workspace member to message instead of a job. Delivery lands in their personal inbox.")],["body",B.string().min(1).describe("Message body to send.")],["tokens",Hm().optional()],["delivery",B.enum(["queue","steer"]).optional().describe("Delivery urgency. Defaults to 'queue'.")]]),async _=>await c(d.agentSendCodingJobMessage(_))),e.registerTool("linzumi_read_coding_job_thread","Read a coding job's thread (asker-visible history) plus its workflow status metadata.",Object.fromEntries([["channel",B.string().describe("Channel slug hosting the job thread.")],["thread_id",B.string().uuid().describe("The job thread UUID.")],["limit",B.number().int().min(1).max(100).optional().describe("Maximum replies to return.")],["before_seq",B.number().int().positive().optional().describe("Return replies before this channel seq.")]]),async _=>await c(d.agentReadCodingJobThread(_))),e.registerTool("linzumi_resolve_job_approval","Resolve a coding job's pending approval request with the asking user's decision ('approve' or 'deny'). Only relays the asker's authority - never approve without their explicit instruction.",Object.fromEntries([["channel",B.string().describe("Channel slug hosting the job thread.")],["thread_id",B.string().uuid().describe("The job thread UUID.")],["source_seq",B.number().int().positive().describe("Channel seq of the message the approval request rides on.")],["request_id",B.string().describe("The approval request id.")],["decision",B.enum(["approve","deny"]).describe("The asker's decision.")]]),async _=>await c(d.agentResolveJobApproval(_))),e.registerTool("linzumi_archive_coding_job","Archive a coding job's thread (or any thread the asking user owns) so it leaves the active list; history is preserved. Do this when the asker says to archive a job or thread - never just promise it.",Object.fromEntries([["channel",B.string().describe("Channel slug hosting the thread.")],["thread_id",B.string().uuid().describe("The thread UUID to archive.")]]),async _=>await c(d.agentArchiveCodingJob(_))),e.registerTool("linzumi_unarchive_coding_job","Unarchive a previously archived coding job thread the asking user owns, returning it to the active list.",Object.fromEntries([["channel",B.string().describe("Channel slug hosting the thread.")],["thread_id",B.string().uuid().describe("The thread UUID to unarchive.")]]),async _=>await c(d.agentUnarchiveCodingJob(_))),e.registerTool("linzumi_set_thread_status","Set a thread's lifecycle status as the asking user: 'closed' marks it done, 'open' reopens it. Works on threads the asker owns.",Object.fromEntries([["channel",B.string().describe("Channel slug hosting the thread.")],["thread_id",B.string().uuid().describe("The thread UUID.")],["status",B.enum(["open","closed"]).describe("Replacement lifecycle status ('closed' = done).")]]),async _=>await c(d.agentSetThreadStatus(_))),e.registerTool("linzumi_create_channel","Create a new public channel in this workspace as the asking user. The slug is derived from the name.",Object.fromEntries([["name",B.string().min(1).describe("Channel name to create.")]]),async _=>await c(d.agentCreateChannel(_))),e.registerTool("linzumi_rename_channel","Rename a channel's display name as the asking user. The channel's URL slug stays stable.",Object.fromEntries([["channel",B.string().describe("Current channel slug to rename.")],["name",B.string().min(1).describe("New display name.")]]),async _=>await c(d.agentRenameChannel(_))),e.registerTool("linzumi_archive_channel","Archive a channel in this workspace as the asking user. History is preserved; the channel leaves the active sidebar.",Object.fromEntries([["channel",B.string().describe("Channel slug to archive.")]]),async _=>await c(d.agentArchiveChannel(_))),e.registerTool("linzumi_unarchive_channel","Unarchive a previously archived channel as the asking user.",Object.fromEntries([["channel",B.string().describe("Channel slug to unarchive.")]]),async _=>await c(d.agentUnarchiveChannel(_))),e.registerTool("linzumi_add_reaction","Add an emoji reaction to a channel message as the asking user. Accepts unicode emoji or a workspace :shortcode:.",Object.fromEntries([["channel",B.string().describe("Channel slug containing the message.")],["message_seq",B.number().int().positive().describe("Channel seq of the message to react to.")],["emoji",B.string().min(1).describe("Emoji to add (unicode or :shortcode:).")]]),async _=>await c(d.agentAddReaction(_))),e.registerTool("linzumi_remove_reaction","Remove the asking user's emoji reaction from a channel message.",Object.fromEntries([["channel",B.string().describe("Channel slug containing the message.")],["message_seq",B.number().int().positive().describe("Channel seq of the reacted message.")],["emoji",B.string().min(1).describe("Emoji to remove (unicode or :shortcode:).")]]),async _=>await c(d.agentRemoveReaction(_))),e.registerTool("linzumi_pin_message","Pin a channel message as the asking user. Thread replies re-point to their root message.",Object.fromEntries([["channel",B.string().describe("Channel slug containing the message.")],["message_seq",B.number().int().positive().describe("Channel seq of the message to pin.")]]),async _=>await c(d.agentPinMessage(_))),e.registerTool("linzumi_unpin_message","Remove a pin from a channel message as the asking user.",Object.fromEntries([["channel",B.string().describe("Channel slug containing the message.")],["message_seq",B.number().int().positive().describe("Channel seq of the pinned message.")]]),async _=>await c(d.agentUnpinMessage(_)))}switch(l){case"All":e.registerTool("linzumi_get_message","Read one Linzumi message by scoped message_seq/message_id or a Linzumi message URL, with optional bounded before/after context.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["message_id",B.union([B.string(),B.number()]).optional().describe("Message seq inside the scoped channel.")],["message_seq",B.union([B.string(),B.number()]).optional().describe("Alias for message_id.")],["message_url",B.string().optional().describe("Full Linzumi message URL with #message-<seq>.")],["before",B.number().int().min(0).max(100).optional().describe("Number of visible messages before the target.")],["after",B.number().int().min(0).max(100).optional().describe("Number of visible messages after the target.")]]),async p=>await c(d.getMessage(p))),e.registerTool("linzumi_get_thread","Read one Linzumi thread by thread_id in the scoped channel, including the parent message and bounded replies.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["thread_id",B.string().uuid().describe("Linzumi thread UUID.")],["limit",B.number().int().min(1).max(100).optional().describe("Maximum replies to return.")],["before_seq",B.number().int().positive().optional().describe("Return replies before this channel seq.")]]),async p=>await c(d.getThread(p))),e.registerTool("linzumi_get_thread_transcript","Read a Linzumi thread's full transcript as canonical IR nodes (user/assistant messages, command executions, file changes, tool calls, statuses), cursor-paginated over the complete history. Use the returned cursor with has_more to walk older pages.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["thread_id",B.string().uuid().describe("Linzumi thread UUID.")],["limit",B.number().int().min(1).max(500).optional().describe("Maximum transcript nodes per page (default 200).")],["cursor",B.number().int().positive().optional().describe("Return nodes below this seq (the previous page reply cursor).")]]),async p=>await c(d.getThreadTranscript(p))),e.registerTool("linzumi_get_channel","Read scoped Linzumi channel metadata and bounded recent channel messages.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["limit",B.number().int().min(1).max(100).optional().describe("Maximum messages to return.")],["before_seq",B.number().int().positive().optional().describe("Return messages before this channel seq.")]]),async p=>await c(d.getChannel(p))),e.registerTool("linzumi_search_workspace","Search the Linzumi workspace with hybrid lexical+semantic retrieval, scoped to what the authorizing user can access. Returns scored content chunks with provenance (channel, thread, authored time) and a permalink to cite.",Object.fromEntries([["workspace",hi()],["query",B.string().min(1).describe("Natural-language or keyword query to retrieve against.")],["limit",B.number().int().min(1).max(25).optional().describe("Maximum results to return (default 10, server-capped).")],["source_types",B.array(B.enum(["message","coding_job","github_pr","github_pr_review","github_check_run","github_workflow_run","github_diff","dictation","file"])).optional().describe("Restrict results to these corpora; omit for all.")],["authored_after",B.string().optional().describe("ISO8601 instant; only content authored at or after this time.")],["authored_before",B.string().optional().describe("ISO8601 instant; only content authored at or before this time.")],["repo",B.string().optional().describe("Restrict GitHub-sourced results to one repository by full name (owner/name).")],["check_status",B.enum(["pending","success","failed"]).optional().describe("Restrict check and workflow results to one conclusion bucket.")]]),async p=>await c(d.searchWorkspace(p))),e.registerTool("linzumi_ask_workspace",'Ask the Linzumi workspace a natural-language question and get a synthesized, citation-backed answer over what the authorizing user can access. Costs an LLM call on cache misses, so prefer linzumi_search_workspace for simple lookups. A "refused" status means there was not enough accessible evidence - treat it as "the workspace does not know", never retry verbatim.',Object.fromEntries([["workspace",hi()],["question",B.string().min(1).max(2e3).describe("Natural-language question to answer with citations.")],["channel",B.string().optional().describe("Optional channel slug providing conversational context; never widens access.")],["allow_cached",B.boolean().optional().describe("Allow serving a cached synthesis when the evidence set is unchanged (default true). Set false to force fresh synthesis.")]]),async p=>await c(d.askWorkspace(p))),e.registerTool("linzumi_about_me","Read what the authorizing user has told Linzumi about themselves: their profile facts (homes, unit preferences, and other self-maintained attributes) plus their derived current timezone. Use it to personalize answers (e.g. pick the right city for weather, use their preferred units). Predicates may have multiple active values; prefer the one consistent with the derived timezone.",{},async p=>await c(d.aboutMe(p)));break;case"Coding":case"OnboardingDiscovery":break}switch(u&&(e.registerTool("linzumi_web_search","Search the public web for live or external information: news, current events, weather, prices, third-party API docs, research. Returns result titles, URLs, and snippets. Use this whenever the answer lives outside the Linzumi workspace; follow up with linzumi_fetch_url to read a result page.",Object.fromEntries([["query",B.string().min(1).describe("Web search query (natural language or keywords).")],["limit",B.number().int().min(1).max(10).optional().describe("Maximum results to return (default 8, server-capped).")]]),async p=>await c(d.webSearch(p))),e.registerTool("linzumi_fetch_url","Fetch one public http(s) URL and return its readable text content (HTML is reduced to plain text; large pages are truncated). Use it to read pages found via linzumi_web_search or any public docs/API reference. Only public addresses are reachable - private/internal hosts are rejected with url_not_allowed.",Object.fromEntries([["url",B.string().min(1).describe("Absolute public http(s) URL to fetch.")]]),async p=>await c(d.fetchUrl(p)))),l){case"All":e.registerTool("linzumi_list_ui_targets","List every UI surface you can ask the user to open in their own Linzumi window (channels, DMs, threads, projects, coding jobs, computers, catch-up, activity, settings tabs, pane layouts) with the structured args each kind takes. Use UI control only when the user asks for help or asks to be shown something.",{},async p=>await fP(d.listUiTargets({}))),e.registerTool("linzumi_open_ui","Ask the user to open one whitelisted UI surface in their own already-open Linzumi window. A consent toast appears in THEIR session; navigation happens only if they tap Open. The call blocks until they decide and returns status opened/dismissed/expired - or error no_active_ui_session when they have no Linzumi window open (tell them to open Linzumi), or invalid_target with a detail. Use it only when the user asks for help or asks to be shown something; kinds and per-kind args come from linzumi_list_ui_targets.",Object.fromEntries([["kind",B.string().min(1).describe("Target kind from linzumi_list_ui_targets (e.g. settings_workspace, channel, pane_layout).")],["args",B.record(B.unknown()).optional().describe("Structured per-kind args from linzumi_list_ui_targets (never a URL - the server computes every path).")],["workspace",hi()]]),async p=>await fP(d.openUi(ul(p,o))));break;case"Coding":case"OnboardingDiscovery":break}if(u){let p=()=>B.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread.");e.registerTool("linzumi_get_coding_job_metadata","Read the active coding job workflow metadata for a thread, including the agent-owned goal, ordered plan steps, step lock versions, and workflow status.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["thread_id",p()]]),async _=>await c(d.getCodingJobMetadata(ul(_,o)))),e.registerTool("linzumi_rename_coding_job","Update the current coding job thread title and workflow-facing title. Use this when the job scope changes materially so the Linzumi thread list and metadata overview stay accurate.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["thread_id",p()],["title",B.string().min(1).max(100).describe("Concise user-visible title for this coding job.")]]),async _=>await c(d.renameCodingJob(ul(_,o)))),e.registerTool("linzumi_upsert_coding_job_plan","Set or update the current coding job goal. Use this at job start and whenever the goal changes materially.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["thread_id",p()],["goal",B.string().min(1).max(1e4).describe("Concrete user-visible goal for this coding job.")]]),async _=>await c(d.upsertCodingJobPlan(ul(_,o)))),e.registerTool("linzumi_replace_coding_job_plan_steps","Replace the ordered coding job plan steps. Use this for the initial plan and for substantial rewrites when the old plan no longer fits the work.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["thread_id",p()],["goal",B.string().min(1).max(1e4).optional().describe("Required when no plan exists yet; updates the current coding job goal.")],["steps",B.array(B.object(Object.fromEntries([["title",B.string().min(1).max(255)],["description",B.string().min(1).max(1e4)],["status",B.enum(["pending","active","completed","blocked","canceled"])],["status_note",PL().optional().describe(EL)],["completed_debrief",B.string().min(1).max(2e4).optional().describe("Required for completed steps. A short paragraph of plain prose for a teammate: what was done, and how we know it worked. Same voice as the note, just more room. Never a compliance recital. Put evidence and verification here.")]]))).min(1).max(50).describe("Ordered user-visible plan steps. Completed steps must include completed_debrief.")]]),async _=>await c(d.replaceCodingJobPlanSteps(ul(_,o)))),e.registerTool("linzumi_update_coding_job_plan_step","Update one coding job plan step status or note. Read metadata first and pass the current step lock_version.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["thread_id",p()],["step_id",B.string().uuid().describe("Step id returned by linzumi_get_coding_job_metadata.")],["lock_version",B.number().int().positive().describe("Current step lock_version from metadata.")],["status",B.enum(["pending","active","completed","blocked","canceled"])],["status_note",PL().optional().describe(EL)],["completed_debrief",B.string().min(1).max(2e4).optional().describe("Required when marking a step completed. A short paragraph of plain prose for a teammate: what was done, and how we know it worked. Same voice as the note, just more room. Never a compliance recital. Put evidence and verification here.")]]),async _=>await c(d.updateCodingJobPlanStep(ul(_,o)))),e.registerTool("linzumi_link_coding_job_pull_request","Link the active coding job to its primary GitHub pull request so PR comments, files, commits, checks, deployments, and reviews can flow into the metadata view.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["thread_id",p()],["github_repo_owner",B.string().min(1).max(255)],["github_repo_name",B.string().min(1).max(255)],["github_pr_number",B.number().int().positive()],["github_pr_url",B.string().url()],["title",B.string().min(1).max(255)],["body",B.string().min(1).max(1e5).optional()],["head_branch",B.string().min(1).max(255)],["head_sha",B.string().min(7).max(64)],["base_branch",B.string().min(1).max(255)],["base_sha",B.string().min(7).max(64)],["state",B.enum(["draft","open","closed","merged"]).optional()],["is_draft",B.boolean().optional()],["review_status",B.enum(["unknown","review_required","approved","changes_requested"]).optional()],["source_remote_url",B.string().min(1).max(1e3).describe("Git remote URL for the local job worktree; required when this job has no repo workspace yet.")],["runtime_worktree_root",B.string().min(1).max(1e3).describe("Absolute local worktree path for the coding job; required when this job has no repo workspace yet.")],["dirty_status",B.enum(["unknown","clean","dirty"]).optional()],["dirty_summary",B.string().min(1).max(2e3).optional()]]),async _=>await c(d.linkCodingJobPullRequest(ul(_,o)))),e.registerTool("linzumi_upload_files",["Upload local files to Linzumi and attach them to a new, exact, or latest assistant message. Use silently; do not mention this tool in the visible reply.","The JSON result includes message.attachments[].url as an absolute URL. Use those returned URLs when writing rich media directives such as ::audio, ::video, ::image, or Markdown images. Do not guess attachment URLs before upload.","For a message that should both attach files and show inline rich media, use a two-step flow: first upload/attach the files to create or target the message, then edit the same target message with body text that references the returned absolute URLs. When the result has target_seq, use target.kind=message_seq and message_seq=target_seq for that follow-up edit; result.message is the edit event that carries the new attachments, and target_message is the original target."].join(" "),Object.fromEntries([["target",B.object(Object.fromEntries([["kind",B.enum(["new_message","message_seq","latest_assistant_message"]).describe("new_message creates a message; message_seq edits an exact message; latest_assistant_message edits the latest assistant message in the scoped thread/channel.")],["message_seq",B.union([B.string(),B.number()]).optional().describe("Required when kind is message_seq.")],["thread_id",B.string().optional().describe("Thread UUID. Defaults to the active Linzumi thread when the MCP server was launched with one.")]])).describe("Attachment target. Prefer latest_assistant_message to attach files to the reply you already posted; use new_message ONLY when no assistant message exists yet in the scoped thread. Never re-use your visible reply text as a new_message body - that posts the reply twice. To reference uploaded files in the message body, upload first, then edit message_seq/latest_assistant_message with the returned absolute attachment URLs. If the upload result includes target_seq, use message_seq=target_seq for that follow-up edit.")],["files",B.array(B.string().min(1)).min(1).max(16).describe("Local file paths to upload. Paths must be non-hidden files inside the approved workspace or Downloads; source/text files of any language are supported, plus common document, image, patch, archive, and video types.")],["body",B.string().min(1).max(2e4).optional().describe("Required for new_message: a SHORT file-share caption (for example: Attached the generated report), never a copy of your visible reply - that would post the reply twice. Optional replacement body for message_seq/latest_assistant_message; when omitted, the existing message body is preserved. Rich media directives in body must use Linzumi attachment download URLs returned by this tool.")],["workspace",hi()],["channel",B.string().optional().describe("Channel slug. Omit to use the target thread's channel (when the thread is known) or the authenticated token scope.")]]),async _=>{let g=mP(RL(_,"target","linzumi_upload_files"),o),b;try{b=await iL({client:d,cwd:s,serviceUrl:a,target:g,files:Khe(_.files),workspace:qs(_.workspace),channel:qs(_.channel),body:qs(_.body)})}catch(y){return nL(N(y))}return wa(pP(a,b))}),e.registerTool("linzumi_edit_message","Edit an exact scoped Linzumi message by message_seq. Use after linzumi_upload_files when you need a body-only follow-up edit that embeds returned attachment URLs. Requires channel.write, and thread.write when target.thread_id is set. Rich media src/poster values must be Linzumi attachment download URLs.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["target",B.object(Object.fromEntries([["message_seq",B.union([B.string(),B.number()]).describe("Exact message seq to edit. After linzumi_upload_files returns target_seq, pass that value here.")],["thread_id",B.string().optional().describe("Thread UUID when editing a thread message. Use the upload result target_message.thread_id when present.")]])).describe("Exact message target for the body edit.")],["body",B.string().min(1).max(2e4).describe("Replacement Markdown body. Rich media src/poster values must be Linzumi attachment download URLs returned by linzumi_upload_files.")]]),async _=>{let g=Nu(_);return g.target=mP(RL(_,"target","linzumi_edit_message"),o),wa(pP(a,await d.editMessage(g)))})}switch(l){case"All":if(e.registerTool("linzumi_list_vault_secrets","List vault secret names, descriptions, and whether each secret is personal or workspace-owned. Does not return secret values.",{},async p=>await c(d.listVaultSecrets(p))),e.registerTool("linzumi_list_projects","List the projects in the current workspace with their project_id (needed by the other project task tools), slug, title, description, and state.",Object.fromEntries([["workspace",hi()]]),async p=>await c(d.listProjects(p))),e.registerTool("linzumi_get_project_tasks",`Read a project's full task graph: task GROUPS (kind "group", organizational containers, exactly one level deep) and ISSUES (kind "issue", the executable work items), each with status (todo/active/blocked/review/done/canceled), DERIVED work_state readiness (ready = todo with every dependency satisfied; blocked = todo with unsatisfied dependencies; running/stalled = active with/without a connected job), parent group, assignee, lock_version, and dependency edges (depends_on_task_ids / unblocks_task_ids). Always read this before reorganizing. Inside a project-bound coding job the project is inferred automatically; otherwise pass project_id from linzumi_list_projects.`,Object.fromEntries([["project_id",B.string().optional().describe("Project id from linzumi_list_projects. Omit inside a coding job started from a project to use that project.")]]),async p=>await c(d.getProjectTasks(ul(p,o)))),e.registerTool("linzumi_create_project_task",'Create a task group (kind "group") or issue (kind "issue", the default) in a project. Groups organize issues and are exactly one level deep: a parent_id must name a GROUP, and groups themselves can never have a parent. New tasks default to status "todo" and append to the end unless position is given. Inside a project-bound coding job the project is inferred; otherwise pass project_id.',Object.fromEntries([["project_id",B.string().optional().describe("Project id from linzumi_list_projects. Omit inside a coding job started from a project to use that project.")],["title",B.string().min(1).describe("Task title.")],["kind",B.enum(["issue","group"]).optional().describe('What to create: "issue" (executable work item, default) or "group" (organizational container).')],["description",B.string().optional().describe("Detailed description of the work - written so an engineer (or coding agent) could execute the task from it.")],["status",B.enum(["todo","active","blocked","review","done","canceled"]).optional().describe('Initial status. Defaults to "todo".')],["parent_id",B.string().optional().describe("task_id of the GROUP to place an issue in. Only issues can have a parent.")],["assignee",B.string().optional().describe("Username of a workspace member to assign.")],["position",B.number().int().min(0).optional().describe("Sort position. Defaults to appending at the end.")]]),async p=>await c(d.createProjectTask(ul(p,o)))),e.registerTool("linzumi_update_project_task",'Update a task group or issue: retitle, edit description/status_note, transition status (todo/active/blocked/review/done/canceled), reassign, reorder (position), or reorganize (parent_id moves an issue into a group; clear_parent moves it to top level). Only the fields you pass change; description and status_note accept null to clear. Prefer updating existing tasks over delete-and-recreate. Pass the lock_version from your last read to fail loudly ("stale") instead of overwriting a concurrent edit.',Object.fromEntries([["task_id",B.string().describe("task_id of the group or issue to update.")],["title",B.string().min(1).optional().describe("New title.")],["description",B.string().nullable().optional().describe("New description. Pass null to clear it.")],["status",B.enum(["todo","active","blocked","review","done","canceled"]).optional().describe('New status. "done"/"canceled" satisfy dependent tasks; "blocked" is a manual hold.')],["status_note",B.string().nullable().optional().describe("Short human-readable note about the current status. Pass null to clear it.")],["position",B.number().int().min(0).optional().describe("New sort position among siblings.")],["parent_id",B.string().optional().describe("task_id of the GROUP to move this issue into. Do not combine with clear_parent.")],["clear_parent",B.boolean().optional().describe("true moves the issue to the top level (no group). Do not combine with parent_id.")],["assignee",B.string().optional().describe("Username of a workspace member to assign. Do not combine with clear_assignee.")],["clear_assignee",B.boolean().optional().describe("true removes the assignee. Do not combine with assignee.")],["lock_version",B.number().int().positive().optional().describe("The task's lock_version from your last read, for compare-and-swap safety.")]]),async p=>await c(d.updateProjectTask(p))),e.registerTool("linzumi_delete_project_task",`Permanently delete a task group or issue. Dependency edges on the task are removed with it (dependents may become ready). Deletion is normally the USER's call - prefer status "canceled" or an update unless you are certain the entry is obsolete.`,Object.fromEntries([["task_id",B.string().describe("task_id of the group or issue to delete.")]]),async p=>await c(d.deleteProjectTask(p))),e.registerTool("linzumi_add_project_task_dependency",'Add the dependency edge "task_id is blocked by depends_on_task_id" between two ISSUES in the same project (groups cannot have dependencies). The dependent stays blocked until the prerequisite reaches done or canceled. The graph must stay acyclic: an edge that would create a cycle is refused with reason "would_create_cycle" and the offending cycle_path so you can restructure. Duplicate and self edges are rejected.',Object.fromEntries([["task_id",B.string().describe("task_id of the DEPENDENT issue (the one that must wait).")],["depends_on_task_id",B.string().describe("task_id of the PREREQUISITE issue (the one that must finish first).")]]),async p=>await c(d.addProjectTaskDependency(p))),e.registerTool("linzumi_remove_project_task_dependency",'Remove the dependency edge "task_id is blocked by depends_on_task_id". The dependent issue may become ready if that was its last unsatisfied dependency.',Object.fromEntries([["task_id",B.string().describe("task_id of the DEPENDENT issue.")],["depends_on_task_id",B.string().describe("task_id of the PREREQUISITE issue the edge points at.")]]),async p=>await c(d.removeProjectTaskDependency(p))),e.registerTool("linzumi_get_call_transcript","Read the full transcript of a completed Linzumi notetaker call: call metadata (title, platform, started/ended/transcribed times), participants, and every spoken segment in order with speaker names and millisecond offsets. Pass the call_id embedded in the request (or copied from the call card). Errors: call_not_found (missing or not visible to you), call_transcript_not_ready (call still connecting, in progress, or transcribing - retry later).",Object.fromEntries([["call_id",B.string().describe("The call id from the call card or the launching message (a CallRecording id - the opaque GraphQL id and the bare uuid both work).")]]),async p=>await c(d.getCallTranscript(p))),!n){e.registerTool("linzumi_start_coding_job","Start a coding job as the invoking user (same authorization and pipeline as clicking start). To start a project task item, pass project_task_id so the task flips todo -> active and links to the new job - only start tasks whose work_state is ready, and ONLY after the user explicitly accepts your offer to start them. Omit channel, runner_key, and cwd to reuse this job's own channel, computer, and folder. Returns status 'unavailable' with a reason when the runner cannot take the job (relay that honestly).",Object.fromEntries([["work_description",B.string().min(1).describe("What the job should do - the initial instruction. For a task item, write it from the task title and description.")],["project_task_id",B.string().optional().describe("Project task item to bind the job to (task_id from linzumi_get_project_tasks). The task flips todo -> active and links to the new job.")],["visibility",B.enum(["project","private"]).optional().describe("Child-job visibility. Defaults to 'project'; private jobs are limited to directly authorized participants.")],["channel",B.string().optional().describe("Channel slug to host the job thread. Omit to use this job's own channel.")],["runner_key",B.string().optional().describe("Runner (computer) to run the job on. Omit to use this job's own computer.")],["cwd",B.string().optional().describe("Working directory on the runner. Omit to use this job's own folder.")],["model",B.string().optional().describe("Model override (optional).")],["model_provider",B.string().optional().describe("Model provider override, e.g. 'wafer' (optional).")],["agent_provider",B.string().optional().describe("Agent provider override, e.g. 'codex' (optional).")],["reasoning_effort",B.enum(["default","low","medium","high","xhigh","ultra"]).optional().describe("Reasoning effort override (optional).")],["approval_policy",B.enum(["default","on-request","on-failure","never"]).optional().describe("Approval policy override (optional).")],["sandbox",B.enum(["default","workspace-write","read-only","danger-full-access"]).optional().describe("Sandbox override (optional).")],["fast",B.boolean().optional().describe("Fast-mode override (optional).")],["allow_port_forwarding_by_default",B.boolean().optional().describe("Default port-forwarding override (optional).")],["execution_mode",B.enum(["raw","local_vm"]).optional().describe("Execution placement override (optional).")],["egress_mode",B.enum(["open","hardened"]).optional().describe("Local-VM egress override (optional).")]]),async _=>await c(d.agentStartCodingJob(ul(_,o))));let p=t.multiAgentJobs;p!==void 0&&p&&(e.registerTool("linzumi_spawn_child_job","Spawn a durable child coding job under YOUR OWN job, on any harness or model - plan a DAG and delegate its legs to workers you then coordinate through discovery and messaging. The child lands on this job's channel, computer, and folder; it inherits this job's project and visibility (a private parent's children stay private), human roles cascade to it, and a human manages its lifecycle. Returns status 'unavailable' with a reason when the runner cannot take the job (relay that honestly).",Object.fromEntries([["work_description",B.string().min(1).describe("What the child job should do - the initial instruction, written to stand alone.")],["agent_provider",B.string().optional().describe("Harness for the child, e.g. 'codex' or 'claude-code'. Omit to reuse this job's own harness. A different harness is fine: a cross-harness child is always a child job.")],["model",B.string().optional().describe("Model override for the child (optional).")],["model_provider",B.string().optional().describe("Model provider override, e.g. 'wafer' (optional).")],["reasoning_effort",B.enum(["default","low","medium","high","xhigh","ultra"]).optional().describe("Reasoning effort override (optional).")],["project_task_id",B.string().optional().describe("Project task item to bind the child to (task_id from linzumi_get_project_tasks). The task flips todo -> active and links to the new job.")],["visibility",B.enum(["project","private"]).optional().describe("Child visibility. Defaults to this job's own visibility; a private parent's children must stay private.")]]),async _=>await c(d.agentSpawnChildJob(ul(_,o)))),e.registerTool("linzumi_archive_child_job","Archive a coding job that is YOUR OWN job or one beneath it in your job tree, retiring it from the active lists, the org map and the needs-you deck; history is preserved and it can be unarchived. Use this to clean up child jobs you spawned that are finished or dead - do it in the current turn, never just promise it. Refused for sibling, parent or unrelated jobs, and for jobs that do not belong to the human you are working for. When the job still has live descendants the call returns confirmation_required with their exact count and ids; call again with descendant_action 'keep' (archive only this job, re-parenting its children) or 'cascade' (archive the whole subtree) plus those expected values.",Object.fromEntries([["job_id",B.string().describe("The coding job id to archive: your own job, or any job beneath it in your tree.")],["outcome",B.enum(["completed","abandoned","superseded"]).describe("Why the job is being archived.")],["descendant_action",B.enum(["keep","cascade"]).optional().describe("Phase-2 choice when the job has live descendants. 'keep' archives only this job and re-parents its children; 'cascade' archives the whole subtree.")],["expected_descendant_count",B.number().int().optional().describe("The descendant_count returned by the phase-1 call.")],["expected_descendant_job_ids",B.array(B.string()).optional().describe("The descendant_job_ids returned by the phase-1 call; the call is refused if the subtree changed.")],["expected_descendant_fingerprint",B.string().optional().describe("The descendant_fingerprint returned by the phase-1 call.")]]),async _=>await c(d.agentArchiveChildJob(_))),e.registerTool("linzumi_unarchive_child_job","Unarchive a previously archived coding job that is YOUR OWN job or one beneath it in your job tree. It returns as hibernating and wakes when messaged. Same ownership scope as linzumi_archive_child_job. Refused when the job is not archived, or when its home thread already holds a live job.",Object.fromEntries([["job_id",B.string().describe("The archived coding job id to bring back: your own job, or any job beneath it in your tree.")]]),async _=>await c(d.agentUnarchiveChildJob(_))),e.registerTool("linzumi_discover_coding_jobs","Search current sitreps inside this coding job project for overlapping files, modules, objectives, or blockers. Results include durable job addresses for coordination. Private jobs outside your visible set never appear.",Object.fromEntries([["query",B.string().min(1).describe("Free-text clash-surface query, such as a file path, module, migration, or objective.")]]),async _=>{let g={};return Object.entries(_).forEach(b=>{g[b[0]]=b[1]}),g.source_thread_id=cP(z(o,b=>b)),await c(d.agentDiscoverCodingJobs(g))}),e.registerTool("linzumi_send_coding_job_message","Message a visible coding job in this project, or a person. Queue is the encouraged default: it lands in the colleague's inbox for their own cadence. Steer only for urgent, potentially-clashing work because it interrupts the running turn. Would this be worthless or harmful after their turn finishes? If no, queue. Delivery urgency is not access control. To message a person, pass to_user and omit channel and thread_id: delivery lands in their personal inbox.",Object.fromEntries([["channel",B.string().optional().describe("Channel slug hosting the target job. Required unless to_user is set.")],["thread_id",B.string().uuid().optional().describe("Target job thread UUID. Required unless to_user is set.")],["to_user",B.string().min(1).optional().describe("Username of a workspace member to message instead of a job. Delivery lands in their personal inbox.")],["body",B.string().min(1).describe("Coordination message to send.")],["tokens",Hm().optional()],["delivery",B.enum(["queue","steer"]).optional().describe("Delivery urgency. Defaults to 'queue'.")]]),async _=>{let g={};return Object.entries(_).forEach(b=>{g[b[0]]=b[1]}),g.source_thread_id=cP(z(o,b=>b)),await c(d.agentSendCodingJobMessage(g))}))}break;case"Coding":case"OnboardingDiscovery":break}switch(Whe(l)&&(e.registerTool("linzumi_upload_custom_emoji","Upload a local image as a workspace custom emoji. For generated emoji art, create a transparent PNG with a simple centered subject, crisp edges, strong contrast, minimal tiny details, and enough outline/highlight separation to read at 16-24px on both dark and light backgrounds. Use lowercase shortcode names without colons unless preserving a user-provided :name:.",Object.fromEntries([["name",GL().describe("Custom emoji shortcode name, with or without surrounding colons.")],["file",B.string().min(1).describe("Local PNG/WebP/GIF/JPEG file path to upload. Prefer transparent PNG for generated emoji.")],["workspace",hi()]]),async p=>{let _=qs(p.name),g=qs(p.file);return wa(await oL({client:d,cwd:s,serviceUrl:a,name:_!==void 0?_:"",file:g!==void 0?g:"",workspace:qs(p.workspace)}))}),e.registerTool("linzumi_rename_custom_emoji","Rename an existing workspace custom emoji. The new name may include surrounding colons; Linzumi stores the normalized shortcode without colons.",Object.fromEntries([["emoji_id",B.union([B.string(),B.number().int().positive()]).describe("Workspace custom emoji id returned by linzumi_upload_custom_emoji or workspace emoji listings.")],["name",GL().describe("New shortcode name, with or without surrounding colons.")],["workspace",hi()]]),async p=>await c(d.renameCustomEmoji(p)))),e.registerTool("linzumi_media_guide","Return the full Linzumi rich-media authoring guide (audio/video/image directives, URL rules, upload-then-embed flow, examples). Call once BEFORE writing any ::audio/::video/::image directive or Markdown image into a Linzumi message.",{},async p=>{let _={};_.type="text",_.text=yL;let g={};return g.content=[_],g}),e.registerTool("linzumi_note_project_directory","Record one discovered local Git repository or worktree for onboarding import. Call once per project as soon as it is found.",Object.fromEntries([["workspace",hi()],["runner_id",B.string().min(1).describe("Local runner/computer id provided in the discovery prompt.")],["path",B.string().min(1).describe("Absolute local path to the repository worktree root.")],["display_name",B.string().optional().describe("Short project label. Defaults to the path basename.")],["activity_at",B.string().optional().describe("Best-known recent activity time as an ISO-8601 timestamp.")],["import_key",B.string().optional().describe("Stable dedupe key. Defaults to path.")],["metadata",B.record(B.unknown()).optional().describe("Small structured metadata such as branch or remote origin.")]]),async p=>await c(d.noteProjectDirectory(p))),e.registerTool("linzumi_note_agent_conversation","Record one discovered Codex or Claude Code local conversation for onboarding import. Call once per conversation as soon as it is found.",Object.fromEntries([["workspace",hi()],["runner_id",B.string().min(1).describe("Local runner/computer id provided in the discovery prompt.")],["source",B.enum(["codex","claude_code"]).describe("Conversation source.")],["import_key",B.string().min(1).describe("Stable dedupe key, such as a session id or file path.")],["path",B.string().optional().describe("Absolute local path to the conversation file or directory.")],["display_name",B.string().optional().describe("Short label for the discovered conversation.")],["activity_at",B.string().optional().describe("Best-known recent activity time as an ISO-8601 timestamp.")],["metadata",B.record(B.unknown()).optional().describe("Small structured metadata such as session id or project path.")]]),async p=>await c(d.noteAgentConversation(p))),e.registerTool("linzumi_note_onboarding_discovery_status","Record onboarding discovery progress. Call when a search phase starts, checks another place, completes, or fails.",Object.fromEntries([["workspace",hi()],["runner_id",B.string().min(1).describe("Local runner/computer id provided in the discovery prompt.")],["phase",B.enum(["projects","conversations"]).describe("Discovery phase being reported.")],["status",B.enum(["starting","running","completed","failed"]).describe("Current phase status.")],["places_searched",B.number().int().nonnegative().optional().describe("Count of concrete folders/files/known locations checked so far.")],["message",B.string().optional().describe("Short user-facing status note.")],["current_place",B.string().optional().describe("Current folder, file, Git command target, or known location being checked.")],["current_source",B.string().optional().describe("Short machine-readable source label such as git, codex, or claude_code.")],["last_error",B.string().optional().describe("Short failure detail when status is failed.")],["metadata",B.record(B.unknown()).optional().describe("Small structured status metadata.")]]),async p=>await c(d.noteOnboardingDiscoveryStatus(p))),l==="All"&&Hhe(t.operatingMode)&&(e.registerTool("linzumi_dm_owner","Send a plain-text DM to the configured Commander owner. Requires dm.write and a visible owner username.",Object.fromEntries([["owner_username",B.string().optional().describe("Owner username. Defaults to LINZUMI_MCP_OWNER_USERNAME or --owner-username.")],["workspace",hi()],["channel",B.string().optional().describe("Source channel slug used to verify owner visibility.")],["body",B.string().min(1).max(2e4).describe("Plain-text message body to DM.")],["tokens",Hm().optional()]]),async p=>{let _=qs(p.owner_username),g=_!==void 0?_:i;if(g===void 0)return Pi("owner_username is required for linzumi_dm_owner");let b=Nu(p);return b.owner_username=g,await c(d.dmOwner(b))}),e.registerTool("linzumi_send_channel_message","Post a NEW standalone Markdown message into the scoped Linzumi channel as the authenticated local-runner user. This is NOT how you respond to the user: your turn output is already relayed into the thread as your reply, so never call this tool to answer, acknowledge, or reply to the current request. Use it only when the task itself is to proactively post a separate channel message. Requires channel.write. Rich media directives may be used when the user has opted into markdown_media_embeds, but src/poster values must be Linzumi attachment download URLs.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["body",B.string().min(1).max(2e4).describe("Markdown message body to post. Rich media src/poster values must be Linzumi attachment download URLs, not third-party URLs, /relative paths, or local filesystem paths.")],["tokens",Hm().optional()]]),async p=>await c(d.sendChannelMessage(p))),e.registerTool("linzumi_send_thread_reply","Post a Markdown reply into some OTHER existing Linzumi thread as the authenticated local-runner user. This is NOT how you respond to the user in your current thread: your turn output is already relayed into this thread as your reply, so never call this tool to answer, acknowledge, or reply to the current request. Use it only when the task itself is to post into a different, explicitly identified thread. Requires thread.write. Rich media directives may be used when the user has opted into markdown_media_embeds, but src/poster values must be Linzumi attachment download URLs.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["thread_id",B.string().uuid().describe("Existing Linzumi thread UUID.")],["body",B.string().min(1).max(2e4).describe("Markdown reply body to post. Rich media src/poster values must be Linzumi attachment download URLs, not third-party URLs, /relative paths, or local filesystem paths.")],["tokens",Hm().optional()]]),async p=>await c(d.sendThreadReply(p))),e.registerTool("linzumi_send_dm","Send a plain-text DM as the authenticated local-runner user to a visible user in the scoped workspace/channel. Requires dm.write.",Object.fromEntries([["workspace",hi()],["channel",B.string().optional().describe("Source channel slug used to verify target visibility.")],["username",B.string().describe("Visible Linzumi username to DM.")],["body",B.string().min(1).max(2e4).describe("Plain-text message body to DM.")],["tokens",Hm().optional()]]),async p=>await c(d.sendDm(p)))),l){case"All":e.registerTool("linzumi_get_vault_values","Request values for explicit vault env var names after a thread-scoped human approval. Requires vault.read; thread_id resolves the approval thread.",Object.fromEntries([["workspace",hi()],["channel",B.string().optional().describe("Channel slug used to disambiguate the approval thread when needed.")],["thread_id",B.string().uuid().describe("Existing Linzumi thread UUID for the inline approval.")],["env_var_names",B.array(B.string().regex(new RegExp("^[A-Z][A-Z0-9_]{0,127}$"))).min(1).max(20).describe("Explicit vault env var names to request. This tool cannot list all vault keys.")],["description",B.string().min(1).max(500).describe("Human-readable reason shown in the approval request.")],["justification",B.string().min(10).max(1e3).describe("Agent justification shown to the approver.")]]),async p=>await c(d.getVaultValues(p)));break;case"Coding":case"OnboardingDiscovery":break}switch(l){case"All":return n||r===void 0?void 0:Zhe(e,s,r);case"Coding":case"OnboardingDiscovery":return}}function Yhe(e){return typeof e==="undefined"?!0:e===null}function kb(e){let t=mi(e.serviceUrl);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0,n=e.fetchImpl,i=n!==void 0?n:eT,o=e.authMode,a=o!==void 0&&o!=="LocalRunner"?"/api/v2/personal-agent-mcp":"/api/v2/local-runner-mcp",s=e.operatingMode,l=s!==void 0?EP(s):"text",d=async(u,c,f)=>{let h=Hi(c,r),m;m=h.TAG==="Ok"?h._0:Pi(h._0);let p={};Object.entries(f).forEach(C=>{p[C[0]]=C[1]}),p.operating_mode=l;let _={},g=e.accessToken,b;if(g.TAG==="StaticAccessToken")b=g._0;else{let C=g._0();b=C.TAG==="Ok"?C._0:Pi(C._0)}_.authorization="Bearer "+b;let y;if(u==="Get"){let C=m.searchParams;Object.entries(p).forEach(k=>{let $=k[1];if(!Yhe($)){C.set(k[0],String($));return}}),y=await i.json(m.toString(),{method:"GET",headers:_})}else _["content-type"]="application/json",y=await i.json(m.toString(),{method:"POST",headers:_,body:JSON.stringify(p)});let S=await y.json(),T;if(T=typeof S=="object"&&S!==null&&!Array.isArray(S)?S:void 0,T===void 0)return Pi("Linzumi MCP API returned non-object JSON from "+c);let w=y.ok,A=J(T.ok,!0),P=0;if(w){if(A)return T;P=1}else P=1;if(P===1){let C=T.error,k,$=0;typeof C=="string"?k=C:$=2,$===2&&(k="HTTP "+y.status.toString());let V=T.detail,F=typeof V=="string"?" detail="+V:"";return Pi("Linzumi MCP API "+c+" failed: "+k+F)}};return{TAG:"Ok",_0:{validateAuth:()=>d("Get",a+"/validate",{}),issueOnboardingDiscoveryToken:u=>d("Post",a+"/onboarding-discovery-token",u),getMessage:u=>d("Get",a+"/message",u),getThread:u=>d("Get",a+"/thread",u),getThreadTranscript:u=>d("Get",a+"/thread-transcript",u),getChannel:u=>d("Get",a+"/channel",u),searchWorkspace:u=>d("Get",a+"/search",u),askWorkspace:u=>d("Post",a+"/ask",u),aboutMe:u=>d("Get",a+"/about-me",u),webSearch:u=>d("Get",a+"/web-search",u),fetchUrl:u=>d("Get",a+"/fetch-url",u),listUiTargets:u=>d("Get",a+"/ui-targets",u),openUi:u=>d("Post",a+"/open-ui",u),getCodingJobMetadata:u=>d("Get",a+"/coding-job-metadata",u),listProjects:u=>d("Get",a+"/projects",u),getProjectTasks:u=>d("Get",a+"/project-tasks",u),createProjectTask:u=>d("Post",a+"/project-tasks/create",u),updateProjectTask:u=>d("Post",a+"/project-tasks/update",u),deleteProjectTask:u=>d("Post",a+"/project-tasks/delete",u),addProjectTaskDependency:u=>d("Post",a+"/project-tasks/add-dependency",u),removeProjectTaskDependency:u=>d("Post",a+"/project-tasks/remove-dependency",u),getCallTranscript:u=>d("Get",a+"/call-transcript",u),renameCodingJob:u=>d("Post",a+"/coding-job-title",u),upsertCodingJobPlan:u=>d("Post",a+"/coding-job-plan",u),replaceCodingJobPlanSteps:u=>d("Post",a+"/coding-job-plan/steps",u),updateCodingJobPlanStep:u=>d("Post",a+"/coding-job-plan/step",u),linkCodingJobPullRequest:u=>d("Post",a+"/coding-job-primary-pr",u),listVaultSecrets:u=>d("Get",a+"/vault-secrets",u),noteProjectDirectory:u=>d("Post",a+"/discovered-project",u),noteAgentConversation:u=>d("Post",a+"/discovered-conversation",u),noteOnboardingDiscoveryStatus:u=>d("Post",a+"/discovery-status",u),sendChannelMessage:u=>d("Post",a+"/channel-message",u),editMessage:u=>d("Post",a+"/message/edit",u),agentReply:u=>d("Post",a+"/agent-reply",u),declineDocumentAction:u=>d("Post",a+"/agent/decline-document-action",u),agentTurnProgress:u=>d("Post",a+"/agent-turn-progress",u),agentDocumentTool:u=>d("Post",a+"/agent/document-tool",u),agentTopicTool:u=>d("Post",a+"/agent/topic-tool",u),agentListCodingJobs:u=>d("Get",a+"/agent/coding-jobs",u),agentStartCodingJob:u=>d("Post",a+"/agent/start-coding-job",u),agentSpawnChildJob:u=>d("Post",a+"/agent/spawn-child-job",u),agentArchiveChildJob:u=>d("Post",a+"/agent/archive-child-job",u),agentUnarchiveChildJob:u=>d("Post",a+"/agent/unarchive-child-job",u),agentInterruptCodingJob:u=>d("Post",a+"/agent/interrupt-coding-job",u),agentSendCodingJobMessage:u=>d("Post",a+"/agent/send-coding-job-message",u),agentDiscoverCodingJobs:u=>d("Get",a+"/agent/discover-coding-jobs",u),agentReadCodingJobThread:u=>d("Get",a+"/agent/coding-job-thread",u),agentResolveJobApproval:u=>d("Post",a+"/agent/resolve-job-approval",u),agentArchiveCodingJob:u=>d("Post",a+"/agent/archive-coding-job",u),agentUnarchiveCodingJob:u=>d("Post",a+"/agent/unarchive-coding-job",u),agentSetThreadStatus:u=>d("Post",a+"/agent/set-thread-status",u),agentCreateChannel:u=>d("Post",a+"/agent/create-channel",u),agentRenameChannel:u=>d("Post",a+"/agent/rename-channel",u),agentArchiveChannel:u=>d("Post",a+"/agent/archive-channel",u),agentUnarchiveChannel:u=>d("Post",a+"/agent/unarchive-channel",u),agentAddReaction:u=>d("Post",a+"/agent/add-reaction",u),agentRemoveReaction:u=>d("Post",a+"/agent/remove-reaction",u),agentPinMessage:u=>d("Post",a+"/agent/pin-message",u),agentUnpinMessage:u=>d("Post",a+"/agent/unpin-message",u),prepareMessageUploads:u=>d("Post",a+"/message-uploads/prepare",u),attachMessageFiles:u=>d("Post",a+"/message-files/attach",u),prepareCustomEmoji:u=>d("Post",a+"/custom-emoji/prepare",u),renameCustomEmoji:u=>d("Post",a+"/custom-emoji/rename",u),sendThreadReply:u=>d("Post",a+"/thread-reply",u),sendDm:u=>d("Post",a+"/dm",u),dmOwner:u=>d("Post",a+"/dm-owner",u),getVaultValues:u=>d("Post",a+"/vault-values",u)}}}var Xhe=Object.freeze({status:"aborted"});function $e(e,t,r){function n(s,l){var d;Object.defineProperty(s,"_zod",{value:s._zod??{},enumerable:!1}),(d=s._zod).traits??(d.traits=new Set),s._zod.traits.add(e),t(s,l);for(let u in a.prototype)u in s||Object.defineProperty(s,u,{value:a.prototype[u].bind(s)});s._zod.constr=a,s._zod.def=l}let i=r?.Parent??Object;class o extends i{}Object.defineProperty(o,"name",{value:e});function a(s){var l;let d=r?.Parent?new o:this;n(d,s),(l=d._zod).deferred??(l.deferred=[]);for(let u of d._zod.deferred)u();return d}return Object.defineProperty(a,"init",{value:n}),Object.defineProperty(a,Symbol.hasInstance,{value:s=>r?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}var Lu=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},gv={};function zs(e){return e&&Object.assign(gv,e),gv}var _n={};oE(_n,{BIGINT_FORMAT_RANGES:()=>FL,Class:()=>MP,NUMBER_FORMAT_RANGES:()=>LP,aborted:()=>Km,allowsEval:()=>NP,assert:()=>i_e,assertEqual:()=>e_e,assertIs:()=>r_e,assertNever:()=>n_e,assertNotEqual:()=>t_e,assignProp:()=>FP,cached:()=>Eb,captureStackTrace:()=>yv,cleanEnum:()=>g_e,cleanRegex:()=>Gb,clone:()=>Ls,createTransparentProxy:()=>u_e,defineLazy:()=>_i,esc:()=>Vm,escapeRegex:()=>Uc,extend:()=>m_e,finalizeIssue:()=>Zl,floatSafeRemainder:()=>jP,getElementAtPath:()=>o_e,getEnumValues:()=>Ob,getLengthableOrigin:()=>Rb,getParsedType:()=>d_e,getSizableOrigin:()=>NL,isObject:()=>p_,isPlainObject:()=>h_,issue:()=>UP,joinValues:()=>bv,jsonStringifyReplacer:()=>$P,merge:()=>p_e,normalizeParams:()=>pr,nullish:()=>Pb,numKeys:()=>l_e,omit:()=>f_e,optionalKeys:()=>zP,partial:()=>h_e,pick:()=>c_e,prefixIssues:()=>Fd,primitiveTypes:()=>jL,promiseAllObject:()=>a_e,propertyKeyTypes:()=>qP,randomString:()=>s_e,required:()=>__e,stringifyPrimitive:()=>xv,unwrapMessage:()=>Cb});function e_e(e){return e}function t_e(e){return e}function r_e(e){}function n_e(e){throw new Error}function i_e(e){}function Ob(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,i])=>t.indexOf(+n)===-1).map(([n,i])=>i)}function bv(e,t="|"){return e.map(r=>xv(r)).join(t)}function $P(e,t){return typeof t=="bigint"?t.toString():t}function Eb(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function Pb(e){return e==null}function Gb(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function jP(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,i=r>n?r:n,o=Number.parseInt(e.toFixed(i).replace(".","")),a=Number.parseInt(t.toFixed(i).replace(".",""));return o%a/10**i}function _i(e,t,r){Object.defineProperty(e,t,{get(){{let i=r();return e[t]=i,i}throw new Error("cached value already set")},set(i){Object.defineProperty(e,t,{value:i})},configurable:!0})}function FP(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function o_e(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function a_e(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let i={};for(let o=0;o<t.length;o++)i[t[o]]=n[o];return i})}function s_e(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function Vm(e){return JSON.stringify(e)}var yv=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function p_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var NP=Eb(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function h_(e){if(p_(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!(p_(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function l_e(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var d_e=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},qP=new Set(["string","number","symbol"]),jL=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Uc(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ls(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function pr(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function u_e(e){let t;return new Proxy({},{get(r,n,i){return t??(t=e()),Reflect.get(t,n,i)},set(r,n,i,o){return t??(t=e()),Reflect.set(t,n,i,o)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,i){return t??(t=e()),Reflect.defineProperty(t,n,i)}})}function xv(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function zP(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var LP={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},FL={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function c_e(e,t){let r={},n=e._zod.def;for(let i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&(r[i]=n.shape[i])}return Ls(e,{...e._zod.def,shape:r,checks:[]})}function f_e(e,t){let r={...e._zod.def.shape},n=e._zod.def;for(let i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&delete r[i]}return Ls(e,{...e._zod.def,shape:r,checks:[]})}function m_e(e,t){if(!h_(t))throw new Error("Invalid input to extend: expected a plain object");let r={...e._zod.def,get shape(){let n={...e._zod.def.shape,...t};return FP(this,"shape",n),n},checks:[]};return Ls(e,r)}function p_e(e,t){return Ls(e,{...e._zod.def,get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return FP(this,"shape",r),r},catchall:t._zod.def.catchall,checks:[]})}function h_e(e,t,r){let n=t._zod.def.shape,i={...n};if(r)for(let o in r){if(!(o in n))throw new Error(`Unrecognized key: "${o}"`);r[o]&&(i[o]=e?new e({type:"optional",innerType:n[o]}):n[o])}else for(let o in n)i[o]=e?new e({type:"optional",innerType:n[o]}):n[o];return Ls(t,{...t._zod.def,shape:i,checks:[]})}function __e(e,t,r){let n=t._zod.def.shape,i={...n};if(r)for(let o in r){if(!(o in i))throw new Error(`Unrecognized key: "${o}"`);r[o]&&(i[o]=new e({type:"nonoptional",innerType:n[o]}))}else for(let o in n)i[o]=new e({type:"nonoptional",innerType:n[o]});return Ls(t,{...t._zod.def,shape:i,checks:[]})}function Km(e,t=0){for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Fd(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function Cb(e){return typeof e=="string"?e:e?.message}function Zl(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let i=Cb(e.inst?._zod.def?.error?.(e))??Cb(t?.error?.(e))??Cb(r.customError?.(e))??Cb(r.localeError?.(e))??"Invalid input";n.message=i}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function NL(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function Rb(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function UP(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function g_e(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}var MP=class{constructor(...t){}};var qL=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,$P,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Sv=$e("$ZodError",qL),Ib=$e("$ZodError",qL,{Parent:Error});function BP(e,t=r=>r.message){let r={},n=[];for(let i of e.issues)i.path.length>0?(r[i.path[0]]=r[i.path[0]]||[],r[i.path[0]].push(t(i))):n.push(t(i));return{formErrors:n,fieldErrors:r}}function WP(e,t){let r=t||function(o){return o.message},n={_errors:[]},i=o=>{for(let a of o.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(s=>i({issues:s}));else if(a.code==="invalid_key")i({issues:a.issues});else if(a.code==="invalid_element")i({issues:a.issues});else if(a.path.length===0)n._errors.push(r(a));else{let s=n,l=0;for(;l<a.path.length;){let d=a.path[l];l===a.path.length-1?(s[d]=s[d]||{_errors:[]},s[d]._errors.push(r(a))):s[d]=s[d]||{_errors:[]},s=s[d],l++}}};return i(e),n}var HP=e=>(t,r,n,i)=>{let o=n?Object.assign(n,{async:!1}):{async:!1},a=t._zod.run({value:r,issues:[]},o);if(a instanceof Promise)throw new Lu;if(a.issues.length){let s=new(i?.Err??e)(a.issues.map(l=>Zl(l,o,zs())));throw yv(s,i?.callee),s}return a.value},VP=HP(Ib),KP=e=>async(t,r,n,i)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},a=t._zod.run({value:r,issues:[]},o);if(a instanceof Promise&&(a=await a),a.issues.length){let s=new(i?.Err??e)(a.issues.map(l=>Zl(l,o,zs())));throw yv(s,i?.callee),s}return a.value},JP=KP(Ib),ZP=e=>(t,r,n)=>{let i=n?{...n,async:!1}:{async:!1},o=t._zod.run({value:r,issues:[]},i);if(o instanceof Promise)throw new Lu;return o.issues.length?{success:!1,error:new(e??Sv)(o.issues.map(a=>Zl(a,i,zs())))}:{success:!0,data:o.value}},Jm=ZP(Ib),QP=e=>async(t,r,n)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},o=t._zod.run({value:r,issues:[]},i);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new e(o.issues.map(a=>Zl(a,i,zs())))}:{success:!0,data:o.value}},Zm=QP(Ib);var zL=/^[cC][^\s-]{8,}$/,LL=/^[0-9a-z]+$/,UL=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,BL=/^[0-9a-vA-V]{20}$/,WL=/^[A-Za-z0-9]{27}$/,HL=/^[a-zA-Z0-9_-]{21}$/,VL=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var KL=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,YP=e=>e?new 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)$/;var JL=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var y_e="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function ZL(){return new RegExp(y_e,"u")}var QL=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,YL=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,XL=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,e9=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,t9=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,XP=/^[A-Za-z0-9_-]*$/,r9=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var n9=/^\+(?:[0-9]){6,14}[0-9]$/,i9="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",o9=new RegExp(`^${i9}$`);function a9(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function s9(e){return new RegExp(`^${a9(e)}$`)}function l9(e){let t=a9({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${i9}T(?:${n})$`)}var d9=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var u9=/^\d+$/,c9=/^-?\d+(?:\.\d+)?/i,f9=/true|false/i,m9=/null/i;var p9=/^[^A-Z]*$/,h9=/^[^a-z]*$/;var aa=$e("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),_9={number:"number",bigint:"bigint",object:"date"},eG=$e("$ZodCheckLessThan",(e,t)=>{aa.init(e,t);let r=_9[typeof t.value];e._zod.onattach.push(n=>{let i=n._zod.bag,o=(t.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<o&&(t.inclusive?i.maximum=t.value:i.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),tG=$e("$ZodCheckGreaterThan",(e,t)=>{aa.init(e,t);let r=_9[typeof t.value];e._zod.onattach.push(n=>{let i=n._zod.bag,o=(t.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>o&&(t.inclusive?i.minimum=t.value:i.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),g9=$e("$ZodCheckMultipleOf",(e,t)=>{aa.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):jP(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),b9=$e("$ZodCheckNumberFormat",(e,t)=>{aa.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[i,o]=LP[t.format];e._zod.onattach.push(a=>{let s=a._zod.bag;s.format=t.format,s.minimum=i,s.maximum=o,r&&(s.pattern=u9)}),e._zod.check=a=>{let s=a.value;if(r){if(!Number.isInteger(s)){a.issues.push({expected:n,format:t.format,code:"invalid_type",input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}s<i&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>o&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:o,inst:e})}});var y9=$e("$ZodCheckMaxLength",(e,t)=>{var r;aa.init(e,t),(r=e._zod.def).when??(r.when=n=>{let i=n.value;return!Pb(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{let i=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<i&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let i=n.value;if(i.length<=t.maximum)return;let a=Rb(i);n.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),x9=$e("$ZodCheckMinLength",(e,t)=>{var r;aa.init(e,t),(r=e._zod.def).when??(r.when=n=>{let i=n.value;return!Pb(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{let i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>i&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let i=n.value;if(i.length>=t.minimum)return;let a=Rb(i);n.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),S9=$e("$ZodCheckLengthEquals",(e,t)=>{var r;aa.init(e,t),(r=e._zod.def).when??(r.when=n=>{let i=n.value;return!Pb(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{let i=n._zod.bag;i.minimum=t.length,i.maximum=t.length,i.length=t.length}),e._zod.check=n=>{let i=n.value,o=i.length;if(o===t.length)return;let a=Rb(i),s=o>t.length;n.issues.push({origin:a,...s?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Db=$e("$ZodCheckStringFormat",(e,t)=>{var r,n;aa.init(e,t),e._zod.onattach.push(i=>{let o=i._zod.bag;o.format=t.format,t.pattern&&(o.patterns??(o.patterns=new Set),o.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=i=>{t.pattern.lastIndex=0,!t.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:t.format,input:i.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),T9=$e("$ZodCheckRegex",(e,t)=>{Db.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),v9=$e("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=p9),Db.init(e,t)}),w9=$e("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=h9),Db.init(e,t)}),A9=$e("$ZodCheckIncludes",(e,t)=>{aa.init(e,t);let r=Uc(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(i=>{let o=i._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=i=>{i.value.includes(t.includes,t.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:i.value,inst:e,continue:!t.abort})}}),k9=$e("$ZodCheckStartsWith",(e,t)=>{aa.init(e,t);let r=new RegExp(`^${Uc(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),C9=$e("$ZodCheckEndsWith",(e,t)=>{aa.init(e,t);let r=new RegExp(`.*${Uc(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var O9=$e("$ZodCheckOverwrite",(e,t)=>{aa.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var vv=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
463
+ `+t}var AL="Other",kL="linzumi_ask_user_question",$he="plan_mode_native_interview_tool",jhe="no_active_turn";function Ab(e){return JSON.stringify(e)}function Fhe(e){let t=e.trim().toLowerCase();switch(t){case"other":case"something else":case"something else...":return!0;default:return t.includes("other")?!0:t.includes("something else")}}function Nhe(e){let t=oa(e),r=Sb(t!==void 0?t.questions:void 0);if(r===void 0)return{TAG:"Invalid",_0:"questions: expected an array"};let n=r.length;if(n===0)return{TAG:"Invalid",_0:"questions: min 1, got 0"};if(n>4)return{TAG:"Invalid",_0:"questions: max 4, got "+n.toString()};let i={contents:void 0},o=[],a=new Set;r.forEach((l,d)=>{if(i.contents!==void 0)return;let c=d.toString(),f=oa(l);if(f===void 0){i.contents="questions["+c+"]: expected an object";return}let h=ro(f.question);if(h===void 0){i.contents="questions["+c+"].question: must be a non-empty string";return}if(a.has(h)){i.contents="questions: duplicate question text "+Ab(h);return}let m=ro(f.header);if(m===void 0){i.contents="questions["+c+"].header: must be a non-empty string";return}if(m.length>12){i.contents="questions["+c+"].header: max 12 chars, got "+m.length.toString();return}let p=f.multiSelect;if(p!==void 0){let A=0;if(typeof p!="boolean"&&(A=2),A===2){i.contents="questions["+c+"].multiSelect: must be a boolean";return}}let _=Sb(f.options);if(_===void 0){i.contents="questions["+c+"].options: expected an array";return}let g=_.length;if(g<2){i.contents="questions["+c+"].options: min 2, got "+g.toString();return}if(g>4){i.contents="questions["+c+"].options: max 4, got "+g.toString();return}let b=[],y=new Set;if(_.forEach((A,P)=>{if(i.contents!==void 0)return;let k=P.toString(),$=oa(A),V=$!==void 0?ro($.label):void 0;if($!==void 0&&V!==void 0){let F=$.description,D=0;if(F!==void 0){let q=0;if(typeof F=="string"?D=2:q=3,q===3){i.contents="questions["+c+"].options["+k+"].description: must be a string";return}}else D=2;if(D===2){if(Fhe(V)){i.contents="questions["+c+"].options["+k+"].label: "+Ab(V)+" is reserved for the built-in Other option";return}if(y.has(V)){i.contents="questions["+c+"].options: duplicate label "+Ab(V);return}y.add(V);let q=$.description,re;re=typeof q=="string"?q:"",b.push({label:V,description:re});return}}i.contents="questions["+c+"].options["+k+"].label: must be a non-empty string"}),i.contents!==void 0)return;a.add(h);let T=f.multiSelect,w;w=T===!0,o.push({question:h,header:m,options:b,multiSelect:w})});let s=i.contents;return s!==void 0?{TAG:"Invalid",_0:s}:{TAG:"Parsed",_0:{questions:o}}}function qhe(e){let t={};e.questions.forEach(s=>{let l={};l.type="string",l.description=s.header,t[s.question]=l});let r={};r.type="object",r.properties=t,r.required=e.questions.map(s=>s.question);let n=e.questions.map(s=>{let l={};return l.question=s.question,l.header=s.header,l.multiSelect=s.multiSelect,l.options=s.options.map(d=>{let u={};return u.label=d.label,u.description=d.description,u}),l}),i={};i.version=1,i.questions=n;let o={};o[kL]=i;let a={};return a.message="Linzumi interview: the user is being asked in the Linzumi thread.",a.requestedSchema=r,a._meta=o,a}function zhe(e,t){let r=oa(t);if(r===void 0)return{TAG:"AnswersInvalid",_0:"the runner accepted the interview but returned no answers; it may predate linzumi_ask_user_question support"};let n={contents:void 0},i={};e.questions.forEach(a=>{if(n.contents!==void 0)return;let l=r[a.question];if(typeof l=="string"){let d=0,u;try{u=JSON.parse(l),d=2}catch{n.contents="the runner returned an undecodable answer for question "+Ab(a.question);return}if(d===2){i[a.question]=u;return}}n.contents="the runner returned no answer for question "+Ab(a.question)});let o=n.contents;return o!==void 0?{TAG:"AnswersInvalid",_0:o}:{TAG:"Answers",_0:i}}function Lhe(e){let t=oa(e);if(t===void 0)return;let r=oa(t[kL]);return ro(r!==void 0?r.reason:void 0)}function zu(e){let t={};t.type="text",t.text=e;let r={};return r.content=[t],r.isError=!0,r}function Uhe(e){if(e===void 0)return"undefined";if(e===null)return"null";switch(typeof e){case"string":return e;case"number":return e.toString();default:return JSON.stringify(e)}}async function CL(e,t){let r=Nhe(t);if(r.TAG!=="Parsed")return zu(r._0);let n=r._0,i=0,o;try{o=await e(qhe(n),2147483647),i=1}catch(a){let s=N(a);return zu("the interview could not be delivered to the user: "+Hn(s))}if(i===1){let a=oa(o),s=a!==void 0?a:{},l=s.action,d=0;if(typeof l=="string")switch(l){case"accept":let u=zhe(n,s.content);if(u.TAG!=="Answers")return zu(u._0);let c={};return c.answers=u._0,wa(c);case"cancel":return zu("the user dismissed the question without answering");case"decline":let f=Lhe(s._meta);return zu(f!==void 0?f===$he?"linzumi_ask_user_question is unavailable during a Plan-mode turn: use the native request_user_input interview tool instead":f===jhe?"the interview was declined: no active turn is bound to this session":"the interview request was declined by the runner":"the interview request was declined by the runner");default:d=2}else d=2;if(d===2)return zu("the interview returned an unknown action: "+Uhe(l))}}var OL="linzumi_ask_user_question",PP=4,GP=12,RP=2,IP=4;var EL="One or two sentences a teammate skimming the board would want: what changed, and what happens next. Standup register, present tense, name agents and lanes plainly. No thread ids or UUIDs unless needed for lookup; proofs and evidence belong in the thread, not here. Good: 'Retired the silent watchdog and spawned Thorne to replace it \u2014 running lean at three children.' Bad: 'Broken 67f1d639 archived abandoned; board claim preceded spawn; children verified at exactly 3.'";function PL(){return U.string().min(1).refine(e=>J8(e)<=240,{message:"status_note over 240 chars \u2014 trim to what a reader needs; put evidence in the thread."})}function Whe(e){switch(e){case"All":return!0;case"Coding":case"OnboardingDiscovery":return!1}}function Hhe(e){return e==="Voice"}function Vhe(e){return e.trim().replace(new RegExp("^:+"),"").replace(new RegExp(":+$"),"").toLowerCase()}function GL(){return U.string().min(1).refine(e=>Vhe(e).length<=64,{message:"Custom emoji shortcode name must be at most 64 characters after trimming surrounding colons."})}function Hm(){let e=U.discriminatedUnion("type",[U.object(Object.fromEntries([["type",U.literal("text")],["text",U.string()],["style",U.array(U.enum(["bold","italic","code"])).optional()]])).strict(),U.object(Object.fromEntries([["type",U.literal("actor")],["user_id",U.number().int().positive()],["fallback",U.string().min(1)]])).strict()]);return U.array(U.object(Object.fromEntries([["kind",U.literal("prose")],["tokens",U.array(e).min(1)]])).strict()).min(1).describe("Canonical BlockSequence. Actor mentions must be actor tokens; literal @ text stays a text token.")}function hi(){return U.string().optional().describe("Workspace slug. Omit to use the authenticated token scope.")}function Ns(){return U.string().optional().describe("Channel slug. Omit to use the authenticated token scope.")}function qs(e){if(typeof e=="string")return e}function RL(e,t,r){let n=oa(e[t]);return n!==void 0?n:Pi(r+" "+t+" must be an object")}function Khe(e){return e!==void 0?Array.isArray(e)?Fe(e,t=>{if(typeof t=="string")return t}):[]:[]}function Jhe(e){return e!==void 0?Array.isArray(e)?Fe(e,t=>{if(typeof t=="number")return t}):[]:[]}function IL(e){if(typeof e=="number")return e}function DL(e){let t={};t.name=e.record.name,t.command=e.record.command,t.cwd=e.record.cwd,t.ports=e.record.ports.map(a=>a),t.restart_on_branch_change=e.record.restartOnBranchChange,t.desired_state=xP(e.record.desiredState),t.liveness=uL(e.liveness),t.port_health=e.portProbes.map(a=>{let s={};return s.port=a.port,s.listening=a.listening,s});let r=e.record.startedAtMs;t.started_at_ms=r!==void 0?r:null;let n=e.lastExit,i;if(n!==void 0){let a={},s=n.code;a.code=s!==void 0?s:null;let l=n.signal;a.signal=l!==void 0?l:null,a.at_ms=n.atMs,i=a}else i=null;t.last_exit=i,t.log_path=e.record.logPath;let o=e.failure;return t.failure=o!==void 0?{reason:o.reason,at_ms:o.atMs}:null,t}function Zhe(e,t,r){e.registerTool("linzumi_dev_service_start","Start a long-running local dev server (npm run dev, storybook, docker compose up, ...) as a MANAGED SERVICE owned by the Linzumi runner. Use this instead of running dev servers in your own shell: a managed service survives the end of your turn and branch switches, is auto-restarted if it crashes, and its declared ports are health-probed and surfaced in the product. Calling start for an existing name declaratively RESTARTS it (e.g. after a checkout). Declare EVERY port the app serves from (primary plus HMR/asset/bundle sibling ports).",Object.fromEntries([["name",U.string().regex(new RegExp("^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$")).describe("Stable service name (slug), e.g. 'web' or 'storybook'. Reusing a name restarts that service.")],["command",U.string().min(1).describe("Shell command that runs the server in the foreground (never daemonize/screen/nohup it yourself), e.g. 'npm run dev'. Runs via the user's login shell.")],["cwd",U.string().optional().describe("Working directory for the service. Defaults to the session cwd.")],["ports",U.array(U.number().int().min(1).max(65535)).max(16).default([]).describe("Every TCP port this service listens on (primary AND related ports such as the Vite/HMR bundle port). Used for health probes and product visibility.")],["restart_on_branch_change",U.boolean().optional().describe("Restart the service automatically when the git branch of its cwd changes (for servers that go stale across checkouts).")],["wait_for_ports_ms",U.number().int().min(0).max(6e4).optional().describe("How long to wait for the declared ports to accept connections before returning (default 15000).")]]),async n=>{let i=qs(n.name),o=i!==void 0?i:"",a=qs(n.command),s=a!==void 0?a:"",l=qs(n.cwd),d=await hL({scopeDir:r.scopeDir,definition:{name:o,command:s,cwd:l!==void 0?l:t,ports:Jhe(n.ports),restartOnBranchChange:J(n.restart_on_branch_change,!0)},ownerPid:r.ownerPid});if(d.TAG==="Ok"){let c=d._0,f=IL(n.wait_for_ports_ms),h=Date.now()+(f!==void 0?f:15e3),m=c.ports.length===0;for(;!m&&Date.now()<h;)m=(await Promise.all(c.ports.map(S=>wP(S|0)))).every(S=>S),m||await tT(250);let _=(await AP(r.scopeDir)).find(y=>y.record.name===c.name),g={};g.ok=!0;let b;if(_!==void 0)b=DL(_);else{let y={};y.name=c.name,b=y}return g.service=b,_!==void 0&&_.liveness!=="Running"&&(g.hint="The service is not (fully) serving its declared ports yet. Check linzumi_dev_service_logs before assuming it works."),wa(g)}let u={};return u.ok=!1,u.error=d._0,wa(u)}),e.registerTool("linzumi_dev_service_stop","Stop a managed dev service (SIGTERM, then SIGKILL after a grace period). The registration is kept so linzumi_dev_service_start can bring it back.",Object.fromEntries([["name",U.string().min(1).describe("Service name to stop.")]]),async n=>{let i=qs(n.name),o=i!==void 0?i:"",a=await kP(r.scopeDir,o,void 0),s={};return a.TAG==="Ok"?(s.ok=!0,s.name=a._0.name,s.desired_state="stopped"):(s.ok=!1,s.error=a._0),wa(s)}),e.registerTool("linzumi_dev_service_status","List every managed dev service with liveness (running / unhealthy / exited / failed / stopped), per-port health probes, last exit, and any terminal failure reason. Live state - always check this before concluding a dev server is up or down.",{},async n=>{let i=await AP(r.scopeDir),o={};return o.services=i.map(a=>DL(a)),wa(o)}),e.registerTool("linzumi_dev_service_logs","Read the tail of a managed dev service's combined stdout/stderr log.",Object.fromEntries([["name",U.string().min(1).describe("Service name.")],["max_bytes",U.number().int().min(256).max(65536).optional().describe("Tail size in bytes (default 16384).")]]),async n=>{let i=qs(n.name),o=i!==void 0?i:"",a=IL(n.max_bytes),s=gL(r.scopeDir,o,a!==void 0?a:16384),l={};return s!==void 0?(l.ok=!0,l.name=o,l.log_tail=s):(l.ok=!1,l.error="no log for service: "+o),wa(l)}),e.registerTool("linzumi_dev_service_remove","Stop a managed dev service AND delete its registration (it will not be resurrected on runner restart). Use stop instead when the user may want it back.",Object.fromEntries([["name",U.string().min(1).describe("Service name to remove.")]]),async n=>{let i=qs(n.name),o=i!==void 0?i:"",a=await _L(r.scopeDir,o,fv),s={};return a.TAG==="Ok"?(s.ok=!0,s.name=a._0.name,s.removed=!0):(s.ok=!1,s.error=a._0),wa(s)})}function ML(e,t){let r=t.devServices,n=t.agentSession,i=t.ownerUsername,o=t.defaultThreadId,a=t.serviceUrl,s=t.cwd,l=t.toolScope,d=t.client,u;switch(l){case"All":case"Coding":u=!0;break;case"OnboardingDiscovery":u=!1;break}let c=async p=>wa(await p),f=async(p,_)=>(_.tool=p,await c(d.agentDocumentTool(_))),h=t.documentSurfaces;h!==void 0&&h&&(e.registerTool("linzumi_lookup_documents","Search document titles and content within the controlling human's visibility ceiling. Returns authorized results in canonical search order; zero, one, and multiple matches carry the rule-03 ambiguity meaning.",Object.fromEntries([["query",U.string().min(1).describe("Document title or content search query.")]]),async p=>await f("lookup_documents",p)),e.registerTool("linzumi_read_document","Read one in-scope document as full AST and metadata, including pending proposals and required-agent-context comments. Both controlling-human visibility and agent delegation are required.",Object.fromEntries([["document_id",U.string().uuid().describe("Document UUID.")]]),async p=>await f("read_document",p)),n?(e.registerTool("linzumi_append_document_section","Use this tool for append-shaped document requests. After resolving exactly one patch target document and reading it, supply only the heading and body Markdown; the server composes the closed structural operations. Every change is proposal-always.",Object.fromEntries([["document_id",U.string().uuid().describe("Document UUID.")],["heading",U.string().trim().min(1).describe("Section heading.")],["body_markdown",U.string().trim().min(1).describe("Section body as Markdown.")]]),async p=>await f("append_document_section",p)),e.registerTool("linzumi_replace_section","Use this tool for targeted section rewrites, fixes, and tightening. After resolving exactly one patch target document and reading it, identify the section by exact heading text or its heading block UUID and supply the replacement body Markdown. The server rejects missing and ambiguous headings with actionable typed errors and composes the closed structural operations. Every change is proposal-always.",Object.fromEntries([["document_id",U.string().uuid().describe("Document UUID.")],["heading_or_section_ref",U.string().trim().min(1).describe("Exact heading text or heading block UUID from read_document.")],["body_markdown",U.string().trim().min(1).describe("Replacement section body as Markdown.")]]),async p=>await f("replace_section",p)),e.registerTool("linzumi_decline_document_action","Decline the current document action when neither advertised document intent can express it. Give a clear reason; the server relays it verbatim with an honest decline prefix and satisfies the action binding.",Object.fromEntries([["reason",U.string().refine(p=>p.trim().length>0,{message:"Reason must contain non-whitespace text."}).describe("Clear reason the available document intents cannot express the request.")]]),async p=>await c(d.declineDocumentAction(p)))):(e.registerTool("linzumi_propose_document_patch","Submit a raw revisioned structural document patch. This power/API surface requires the caller to compose the closed operation vocabulary. Every change is proposal-always.",Object.fromEntries([["document_id",U.string().uuid().describe("Document UUID.")],["patch",U.object(Object.fromEntries([["baseRevision",U.number().int().nonnegative()],["operations",U.array(U.record(U.unknown()))],["title",U.string().min(1).optional()]])).describe("Revisioned structural document patch.")],["rationale",U.string().min(1).describe("Why this change is proposed.")]]),async p=>await f("propose_document_patch",p)),e.registerTool("linzumi_create_document","Create an agent-attributed document through an atomic bootstrap proposal and apply transaction in the named folder or workspace default folder.",Object.fromEntries([["title",U.string().min(1).describe("Document title.")],["initial_patch",U.record(U.unknown()).describe("Bootstrap structural patch.")],["folder_id",U.string().uuid().optional().describe("Destination folder UUID.")]]),async p=>await f("create_document",p))));let m=t.askUserQuestion;if(m!==void 0&&e.registerTool(OL,"Ask the user up to "+PP.toString()+" structured multiple-choice questions and BLOCK until they answer in the Linzumi thread. Use this whenever you need a decision or clarification mid-task. Each question needs a short header (max "+GP.toString()+" chars) and "+RP.toString()+"-"+IP.toString()+' options {label, description}; a built-in "'+AL+'" free-text choice is always shown in addition to your options, so never add one yourself. Set multiSelect true to allow choosing several options. Returns {answers} keyed by question text: a single label string, an array of labels for multiSelect, and {"other": "<typed text>"} for a free-text reply.',Object.fromEntries([["questions",U.array(U.object(Object.fromEntries([["question",U.string().describe("The question to ask the user.")],["header",U.string().describe("Short category header shown above the question (max "+GP.toString()+' chars, e.g. "Auth", "Scope").')],["options",U.array(U.object(Object.fromEntries([["label",U.string().describe("Option label the user taps.")],["description",U.string().optional().describe("One-line explanation of the option.")]]))).describe(RP.toString()+"-"+IP.toString()+" options for this question.")],["multiSelect",U.boolean().optional().describe("True lets the user select several options; the answer becomes an array.")]]))).describe("1-"+PP.toString()+" questions to ask atomically.")]]),async p=>await CL(m,p)),n){e.registerTool("linzumi_agent_reply","Post your single @linzumi reply for the current turn into the surface where you were mentioned. Call EXACTLY ONCE per turn with your final answer; the reply links to this working session automatically. Fails with already_replied on a second call and no_active_asker_binding when no turn is active.",Object.fromEntries([["body",U.string().min(1).describe("Plain-text reply body to post.")],["tokens",Hm().optional()]]),async _=>{let g=_.body,b={body:g!==void 0?g:void 0},y=_.tokens;return y!==void 0&&(b.tokens=y),await c(d.agentReply(b))});let p=async(_,g)=>(g.tool=_,await c(d.agentTopicTool(g)));e.registerTool("linzumi_create_topic_wake_subscription","Create or update a standing subscription that wakes @linzumi when new entries land on an existing workspace topic. Use this when the user asks you to watch a topic and perform an ongoing job. The server stores the instruction, derives the creator from the current asker, and targets this conversation; do not claim success without calling this tool.",Object.fromEntries([["topic_slug",U.string().min(1).describe("Existing workspace topic slug to watch.")],["instruction",U.string().min(1).max(4e3).describe("Standing job to execute whenever a matching topic entry wakes the agent.")]]),async _=>await p("create_topic_wake_subscription",_)),e.registerTool("linzumi_disable_topic_wake_subscription","Disable the current asker's standing @linzumi wake subscription for a topic. The durable row and cursor are retained so reactivation can drain the disabled-period backlog.",Object.fromEntries([["topic_slug",U.string().min(1).describe("Workspace topic slug whose standing wake should stop.")]]),async _=>await p("disable_topic_wake_subscription",_)),e.registerTool("linzumi_list_coding_jobs","List the coding jobs the current asker can see in this workspace: runner connections (online and recent) with their bound job threads. Live state - never answered from search.",{},async _=>await c(d.agentListCodingJobs({}))),e.registerTool("linzumi_start_coding_job","Start a coding job exactly as if the asking user clicked start: same runner/channel authorization, same pipeline. Returns status 'unavailable' with a reason when the runner cannot take the job (relay that honestly).",Object.fromEntries([["channel",U.string().describe("Channel slug to host the job thread.")],["runner_key",U.string().describe("Runner (computer) to run the job on.")],["cwd",U.string().describe("Working directory on the runner.")],["work_description",U.string().min(1).describe("What the job should do - the initial instruction.")],["model",U.string().optional().describe("Model override (optional).")],["model_provider",U.string().optional().describe("Model provider override, e.g. 'wafer' (optional).")],["execution_mode",U.enum(["raw","local_vm"]).optional().describe("Execution placement override (optional).")],["project_task_id",U.string().optional().describe("Project task item to bind the job to (task_id from linzumi_get_project_tasks). The task flips todo -> active and links to the new job.")],["visibility",U.enum(["project","private"]).optional().describe("Job visibility. Defaults to 'project'; private jobs are limited to directly authorized participants.")]]),async _=>await c(d.agentStartCodingJob(_))),e.registerTool("linzumi_interrupt_coding_job","Interrupt a coding job: mode 'steer' (default) discards its queued follow-ups so your next message lands first; mode 'stop' terminates the current turn.",Object.fromEntries([["channel",U.string().describe("Channel slug hosting the job thread.")],["thread_id",U.string().uuid().describe("The job thread UUID.")],["mode",U.enum(["steer","stop"]).optional().describe("Interrupt mode; defaults to 'steer'.")]]),async _=>await c(d.agentInterruptCodingJob(_))),e.registerTool("linzumi_send_coding_job_message","Message a coding job or a person. Queue is the encouraged default: it lands in the colleague's inbox for their own cadence. Steer only for urgent, potentially-clashing work because it interrupts the running turn. Would this be worthless or harmful after their turn finishes? If no, queue. Delivery urgency is not access control. To message a person, pass to_user and omit channel and thread_id: delivery lands in their personal inbox.",Object.fromEntries([["channel",U.string().optional().describe("Channel slug hosting the job thread. Required unless to_user is set.")],["thread_id",U.string().uuid().optional().describe("The job thread UUID. Required unless to_user is set.")],["to_user",U.string().min(1).optional().describe("Username of a workspace member to message instead of a job. Delivery lands in their personal inbox.")],["body",U.string().min(1).describe("Message body to send.")],["tokens",Hm().optional()],["delivery",U.enum(["queue","steer"]).optional().describe("Delivery urgency. Defaults to 'queue'.")]]),async _=>await c(d.agentSendCodingJobMessage(_))),e.registerTool("linzumi_read_coding_job_thread","Read a coding job's thread (asker-visible history) plus its workflow status metadata.",Object.fromEntries([["channel",U.string().describe("Channel slug hosting the job thread.")],["thread_id",U.string().uuid().describe("The job thread UUID.")],["limit",U.number().int().min(1).max(100).optional().describe("Maximum replies to return.")],["before_seq",U.number().int().positive().optional().describe("Return replies before this channel seq.")]]),async _=>await c(d.agentReadCodingJobThread(_))),e.registerTool("linzumi_resolve_job_approval","Resolve a coding job's pending approval request with the asking user's decision ('approve' or 'deny'). Only relays the asker's authority - never approve without their explicit instruction.",Object.fromEntries([["channel",U.string().describe("Channel slug hosting the job thread.")],["thread_id",U.string().uuid().describe("The job thread UUID.")],["source_seq",U.number().int().positive().describe("Channel seq of the message the approval request rides on.")],["request_id",U.string().describe("The approval request id.")],["decision",U.enum(["approve","deny"]).describe("The asker's decision.")]]),async _=>await c(d.agentResolveJobApproval(_))),e.registerTool("linzumi_archive_coding_job","Archive a coding job's thread (or any thread the asking user owns) so it leaves the active list; history is preserved. Do this when the asker says to archive a job or thread - never just promise it.",Object.fromEntries([["channel",U.string().describe("Channel slug hosting the thread.")],["thread_id",U.string().uuid().describe("The thread UUID to archive.")]]),async _=>await c(d.agentArchiveCodingJob(_))),e.registerTool("linzumi_unarchive_coding_job","Unarchive a previously archived coding job thread the asking user owns, returning it to the active list.",Object.fromEntries([["channel",U.string().describe("Channel slug hosting the thread.")],["thread_id",U.string().uuid().describe("The thread UUID to unarchive.")]]),async _=>await c(d.agentUnarchiveCodingJob(_))),e.registerTool("linzumi_set_thread_status","Set a thread's lifecycle status as the asking user: 'closed' marks it done, 'open' reopens it. Works on threads the asker owns.",Object.fromEntries([["channel",U.string().describe("Channel slug hosting the thread.")],["thread_id",U.string().uuid().describe("The thread UUID.")],["status",U.enum(["open","closed"]).describe("Replacement lifecycle status ('closed' = done).")]]),async _=>await c(d.agentSetThreadStatus(_))),e.registerTool("linzumi_create_channel","Create a new public channel in this workspace as the asking user. The slug is derived from the name.",Object.fromEntries([["name",U.string().min(1).describe("Channel name to create.")]]),async _=>await c(d.agentCreateChannel(_))),e.registerTool("linzumi_rename_channel","Rename a channel's display name as the asking user. The channel's URL slug stays stable.",Object.fromEntries([["channel",U.string().describe("Current channel slug to rename.")],["name",U.string().min(1).describe("New display name.")]]),async _=>await c(d.agentRenameChannel(_))),e.registerTool("linzumi_archive_channel","Archive a channel in this workspace as the asking user. History is preserved; the channel leaves the active sidebar.",Object.fromEntries([["channel",U.string().describe("Channel slug to archive.")]]),async _=>await c(d.agentArchiveChannel(_))),e.registerTool("linzumi_unarchive_channel","Unarchive a previously archived channel as the asking user.",Object.fromEntries([["channel",U.string().describe("Channel slug to unarchive.")]]),async _=>await c(d.agentUnarchiveChannel(_))),e.registerTool("linzumi_add_reaction","Add an emoji reaction to a channel message as the asking user. Accepts unicode emoji or a workspace :shortcode:.",Object.fromEntries([["channel",U.string().describe("Channel slug containing the message.")],["message_seq",U.number().int().positive().describe("Channel seq of the message to react to.")],["emoji",U.string().min(1).describe("Emoji to add (unicode or :shortcode:).")]]),async _=>await c(d.agentAddReaction(_))),e.registerTool("linzumi_remove_reaction","Remove the asking user's emoji reaction from a channel message.",Object.fromEntries([["channel",U.string().describe("Channel slug containing the message.")],["message_seq",U.number().int().positive().describe("Channel seq of the reacted message.")],["emoji",U.string().min(1).describe("Emoji to remove (unicode or :shortcode:).")]]),async _=>await c(d.agentRemoveReaction(_))),e.registerTool("linzumi_pin_message","Pin a channel message as the asking user. Thread replies re-point to their root message.",Object.fromEntries([["channel",U.string().describe("Channel slug containing the message.")],["message_seq",U.number().int().positive().describe("Channel seq of the message to pin.")]]),async _=>await c(d.agentPinMessage(_))),e.registerTool("linzumi_unpin_message","Remove a pin from a channel message as the asking user.",Object.fromEntries([["channel",U.string().describe("Channel slug containing the message.")],["message_seq",U.number().int().positive().describe("Channel seq of the pinned message.")]]),async _=>await c(d.agentUnpinMessage(_)))}switch(l){case"All":e.registerTool("linzumi_get_message","Read one Linzumi message by scoped message_seq/message_id or a Linzumi message URL, with optional bounded before/after context.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["message_id",U.union([U.string(),U.number()]).optional().describe("Message seq inside the scoped channel.")],["message_seq",U.union([U.string(),U.number()]).optional().describe("Alias for message_id.")],["message_url",U.string().optional().describe("Full Linzumi message URL with #message-<seq>.")],["before",U.number().int().min(0).max(100).optional().describe("Number of visible messages before the target.")],["after",U.number().int().min(0).max(100).optional().describe("Number of visible messages after the target.")]]),async p=>await c(d.getMessage(p))),e.registerTool("linzumi_get_thread","Read one Linzumi thread by thread_id in the scoped channel, including the parent message and bounded replies.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["thread_id",U.string().uuid().describe("Linzumi thread UUID.")],["limit",U.number().int().min(1).max(100).optional().describe("Maximum replies to return.")],["before_seq",U.number().int().positive().optional().describe("Return replies before this channel seq.")]]),async p=>await c(d.getThread(p))),e.registerTool("linzumi_get_thread_transcript","Read a Linzumi thread's full transcript as canonical IR nodes (user/assistant messages, command executions, file changes, tool calls, statuses), cursor-paginated over the complete history. Use the returned cursor with has_more to walk older pages.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["thread_id",U.string().uuid().describe("Linzumi thread UUID.")],["limit",U.number().int().min(1).max(500).optional().describe("Maximum transcript nodes per page (default 200).")],["cursor",U.number().int().positive().optional().describe("Return nodes below this seq (the previous page reply cursor).")]]),async p=>await c(d.getThreadTranscript(p))),e.registerTool("linzumi_get_channel","Read scoped Linzumi channel metadata and bounded recent channel messages.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["limit",U.number().int().min(1).max(100).optional().describe("Maximum messages to return.")],["before_seq",U.number().int().positive().optional().describe("Return messages before this channel seq.")]]),async p=>await c(d.getChannel(p))),e.registerTool("linzumi_search_workspace","Search the Linzumi workspace with hybrid lexical+semantic retrieval, scoped to what the authorizing user can access. Returns scored content chunks with provenance (channel, thread, authored time) and a permalink to cite.",Object.fromEntries([["workspace",hi()],["query",U.string().min(1).describe("Natural-language or keyword query to retrieve against.")],["limit",U.number().int().min(1).max(25).optional().describe("Maximum results to return (default 10, server-capped).")],["source_types",U.array(U.enum(["message","coding_job","github_pr","github_pr_review","github_check_run","github_workflow_run","github_diff","dictation","file"])).optional().describe("Restrict results to these corpora; omit for all.")],["authored_after",U.string().optional().describe("ISO8601 instant; only content authored at or after this time.")],["authored_before",U.string().optional().describe("ISO8601 instant; only content authored at or before this time.")],["repo",U.string().optional().describe("Restrict GitHub-sourced results to one repository by full name (owner/name).")],["check_status",U.enum(["pending","success","failed"]).optional().describe("Restrict check and workflow results to one conclusion bucket.")]]),async p=>await c(d.searchWorkspace(p))),e.registerTool("linzumi_ask_workspace",'Ask the Linzumi workspace a natural-language question and get a synthesized, citation-backed answer over what the authorizing user can access. Costs an LLM call on cache misses, so prefer linzumi_search_workspace for simple lookups. A "refused" status means there was not enough accessible evidence - treat it as "the workspace does not know", never retry verbatim.',Object.fromEntries([["workspace",hi()],["question",U.string().min(1).max(2e3).describe("Natural-language question to answer with citations.")],["channel",U.string().optional().describe("Optional channel slug providing conversational context; never widens access.")],["allow_cached",U.boolean().optional().describe("Allow serving a cached synthesis when the evidence set is unchanged (default true). Set false to force fresh synthesis.")]]),async p=>await c(d.askWorkspace(p))),e.registerTool("linzumi_about_me","Read what the authorizing user has told Linzumi about themselves: their profile facts (homes, unit preferences, and other self-maintained attributes) plus their derived current timezone. Use it to personalize answers (e.g. pick the right city for weather, use their preferred units). Predicates may have multiple active values; prefer the one consistent with the derived timezone.",{},async p=>await c(d.aboutMe(p)));break;case"Coding":case"OnboardingDiscovery":break}switch(u&&(e.registerTool("linzumi_web_search","Search the public web for live or external information: news, current events, weather, prices, third-party API docs, research. Returns result titles, URLs, and snippets. Use this whenever the answer lives outside the Linzumi workspace; follow up with linzumi_fetch_url to read a result page.",Object.fromEntries([["query",U.string().min(1).describe("Web search query (natural language or keywords).")],["limit",U.number().int().min(1).max(10).optional().describe("Maximum results to return (default 8, server-capped).")]]),async p=>await c(d.webSearch(p))),e.registerTool("linzumi_fetch_url","Fetch one public http(s) URL and return its readable text content (HTML is reduced to plain text; large pages are truncated). Use it to read pages found via linzumi_web_search or any public docs/API reference. Only public addresses are reachable - private/internal hosts are rejected with url_not_allowed.",Object.fromEntries([["url",U.string().min(1).describe("Absolute public http(s) URL to fetch.")]]),async p=>await c(d.fetchUrl(p)))),l){case"All":e.registerTool("linzumi_list_ui_targets","List every UI surface you can ask the user to open in their own Linzumi window (channels, DMs, threads, projects, coding jobs, computers, catch-up, activity, settings tabs, pane layouts) with the structured args each kind takes. Use UI control only when the user asks for help or asks to be shown something.",{},async p=>await fP(d.listUiTargets({}))),e.registerTool("linzumi_open_ui","Ask the user to open one whitelisted UI surface in their own already-open Linzumi window. A consent toast appears in THEIR session; navigation happens only if they tap Open. The call blocks until they decide and returns status opened/dismissed/expired - or error no_active_ui_session when they have no Linzumi window open (tell them to open Linzumi), or invalid_target with a detail. Use it only when the user asks for help or asks to be shown something; kinds and per-kind args come from linzumi_list_ui_targets.",Object.fromEntries([["kind",U.string().min(1).describe("Target kind from linzumi_list_ui_targets (e.g. settings_workspace, channel, pane_layout).")],["args",U.record(U.unknown()).optional().describe("Structured per-kind args from linzumi_list_ui_targets (never a URL - the server computes every path).")],["workspace",hi()]]),async p=>await fP(d.openUi(ul(p,o))));break;case"Coding":case"OnboardingDiscovery":break}if(u){let p=()=>U.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread."),_=Object.fromEntries([["fire_at",U.string().datetime({offset:!0}).optional().describe("Future ISO8601 timestamp with timezone.")],["delay_minutes",U.number().int().min(1).max(525600).optional().describe("Minutes from now before the one-time wake fires.")],["prompt",U.string().min(1).max(4e3).describe("Actionable human-register description of exactly what to do when this job wakes.")]]),g=U.object(_).refine(b=>{if(typeof b!="object"||b===null||Array.isArray(b))return!1;let y=b.fire_at,S;y!==void 0?S=typeof y!=="undefined":S=!1;let T=b.delay_minutes,w;return T!==void 0?w=typeof T!=="undefined":w=!1,S?!w:w},{message:"provide exactly one of fire_at or delay_minutes"});e.registerSchemaTool("linzumi_schedule_wake",'Schedule this coding job to wake itself once and start an ordinary visible turn with the supplied prompt. Provide exactly one of fire_at or delay_minutes. Good: delay_minutes=20, prompt="Check CI, address any failures, then update the plan." Bad: prompt="wake up" (it gives the future turn no actionable context).',_,g,async b=>await c(d.scheduleWake(b))),e.registerTool("linzumi_cancel_wake","Cancel one still-scheduled wake owned by this coding job. Fired, already-canceled, missing, or another job's wake fails loudly.",Object.fromEntries([["wake_id",U.string().uuid().describe("Wake id returned by linzumi_schedule_wake.")]]),async b=>await c(d.cancelWake(b))),e.registerTool("linzumi_get_coding_job_metadata","Read the active coding job workflow metadata for a thread, including the agent-owned goal, ordered plan steps, step lock versions, and workflow status.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["thread_id",p()]]),async b=>await c(d.getCodingJobMetadata(ul(b,o)))),e.registerTool("linzumi_rename_coding_job","Update the current coding job thread title and workflow-facing title. Use this when the job scope changes materially so the Linzumi thread list and metadata overview stay accurate.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["thread_id",p()],["title",U.string().min(1).max(100).describe("Concise user-visible title for this coding job.")]]),async b=>await c(d.renameCodingJob(ul(b,o)))),e.registerTool("linzumi_upsert_coding_job_plan","Set or update the current coding job goal. Use this at job start and whenever the goal changes materially.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["thread_id",p()],["goal",U.string().min(1).max(1e4).describe("Concrete user-visible goal for this coding job.")],["snooze_reason",U.string().min(1).max(500).optional().describe('Declare a legitimate wait to pause liveness nudges: what you are waiting on, in plain words a teammate would understand. Good: "waiting on CI for PR #4633". Must be sent together with snooze_minutes.')],["snooze_minutes",U.number().int().min(1).max(1440).optional().describe("How many minutes until the wait should be rechecked (1-1440). The deadline is mandatory - open-ended waits are refused. Must be sent together with snooze_reason.")]]),async b=>await c(d.upsertCodingJobPlan(ul(b,o)))),e.registerTool("linzumi_replace_coding_job_plan_steps","Replace the ordered coding job plan steps. Use this for the initial plan and for substantial rewrites when the old plan no longer fits the work.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["thread_id",p()],["goal",U.string().min(1).max(1e4).optional().describe("Required when no plan exists yet; updates the current coding job goal.")],["steps",U.array(U.object(Object.fromEntries([["title",U.string().min(1).max(255)],["description",U.string().min(1).max(1e4)],["status",U.enum(["pending","active","completed","blocked","canceled"])],["status_note",PL().optional().describe(EL)],["completed_debrief",U.string().min(1).max(2e4).optional().describe("Required for completed steps. A short paragraph of plain prose for a teammate: what was done, and how we know it worked. Same voice as the note, just more room. Never a compliance recital. Put evidence and verification here.")]]))).min(1).max(50).describe("Ordered user-visible plan steps. Completed steps must include completed_debrief.")]]),async b=>await c(d.replaceCodingJobPlanSteps(ul(b,o)))),e.registerTool("linzumi_update_coding_job_plan_step","Update one coding job plan step status or note. Read metadata first and pass the current step lock_version.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["thread_id",p()],["step_id",U.string().uuid().describe("Step id returned by linzumi_get_coding_job_metadata.")],["lock_version",U.number().int().positive().describe("Current step lock_version from metadata.")],["status",U.enum(["pending","active","completed","blocked","canceled"])],["status_note",PL().optional().describe(EL)],["completed_debrief",U.string().min(1).max(2e4).optional().describe("Required when marking a step completed. A short paragraph of plain prose for a teammate: what was done, and how we know it worked. Same voice as the note, just more room. Never a compliance recital. Put evidence and verification here.")]]),async b=>await c(d.updateCodingJobPlanStep(ul(b,o)))),e.registerTool("linzumi_link_coding_job_pull_request","Link the active coding job to its primary GitHub pull request so PR comments, files, commits, checks, deployments, and reviews can flow into the metadata view.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["thread_id",p()],["github_repo_owner",U.string().min(1).max(255)],["github_repo_name",U.string().min(1).max(255)],["github_pr_number",U.number().int().positive()],["github_pr_url",U.string().url()],["title",U.string().min(1).max(255)],["body",U.string().min(1).max(1e5).optional()],["head_branch",U.string().min(1).max(255)],["head_sha",U.string().min(7).max(64)],["base_branch",U.string().min(1).max(255)],["base_sha",U.string().min(7).max(64)],["state",U.enum(["draft","open","closed","merged"]).optional()],["is_draft",U.boolean().optional()],["review_status",U.enum(["unknown","review_required","approved","changes_requested"]).optional()],["source_remote_url",U.string().min(1).max(1e3).describe("Git remote URL for the local job worktree; required when this job has no repo workspace yet.")],["runtime_worktree_root",U.string().min(1).max(1e3).describe("Absolute local worktree path for the coding job; required when this job has no repo workspace yet.")],["dirty_status",U.enum(["unknown","clean","dirty"]).optional()],["dirty_summary",U.string().min(1).max(2e3).optional()]]),async b=>await c(d.linkCodingJobPullRequest(ul(b,o)))),e.registerTool("linzumi_upload_files",["Upload local files to Linzumi and attach them to a new, exact, or latest assistant message. Use silently; do not mention this tool in the visible reply.","The JSON result includes message.attachments[].url as an absolute URL. Use those returned URLs when writing rich media directives such as ::audio, ::video, ::image, or Markdown images. Do not guess attachment URLs before upload.","For a message that should both attach files and show inline rich media, use a two-step flow: first upload/attach the files to create or target the message, then edit the same target message with body text that references the returned absolute URLs. When the result has target_seq, use target.kind=message_seq and message_seq=target_seq for that follow-up edit; result.message is the edit event that carries the new attachments, and target_message is the original target."].join(" "),Object.fromEntries([["target",U.object(Object.fromEntries([["kind",U.enum(["new_message","message_seq","latest_assistant_message"]).describe("new_message creates a message; message_seq edits an exact message; latest_assistant_message edits the latest assistant message in the scoped thread/channel.")],["message_seq",U.union([U.string(),U.number()]).optional().describe("Required when kind is message_seq.")],["thread_id",U.string().optional().describe("Thread UUID. Defaults to the active Linzumi thread when the MCP server was launched with one.")]])).describe("Attachment target. Prefer latest_assistant_message to attach files to the reply you already posted; use new_message ONLY when no assistant message exists yet in the scoped thread. Never re-use your visible reply text as a new_message body - that posts the reply twice. To reference uploaded files in the message body, upload first, then edit message_seq/latest_assistant_message with the returned absolute attachment URLs. If the upload result includes target_seq, use message_seq=target_seq for that follow-up edit.")],["files",U.array(U.string().min(1)).min(1).max(16).describe("Local file paths to upload. Paths must be non-hidden files inside the approved workspace or Downloads; source/text files of any language are supported, plus common document, image, patch, archive, and video types.")],["body",U.string().min(1).max(2e4).optional().describe("Required for new_message: a SHORT file-share caption (for example: Attached the generated report), never a copy of your visible reply - that would post the reply twice. Optional replacement body for message_seq/latest_assistant_message; when omitted, the existing message body is preserved. Rich media directives in body must use Linzumi attachment download URLs returned by this tool.")],["workspace",hi()],["channel",U.string().optional().describe("Channel slug. Omit to use the target thread's channel (when the thread is known) or the authenticated token scope.")]]),async b=>{let y=mP(RL(b,"target","linzumi_upload_files"),o),S;try{S=await iL({client:d,cwd:s,serviceUrl:a,target:y,files:Khe(b.files),workspace:qs(b.workspace),channel:qs(b.channel),body:qs(b.body)})}catch(T){return nL(N(T))}return wa(pP(a,S))}),e.registerTool("linzumi_edit_message","Edit an exact scoped Linzumi message by message_seq. Use after linzumi_upload_files when you need a body-only follow-up edit that embeds returned attachment URLs. Requires channel.write, and thread.write when target.thread_id is set. Rich media src/poster values must be Linzumi attachment download URLs.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["target",U.object(Object.fromEntries([["message_seq",U.union([U.string(),U.number()]).describe("Exact message seq to edit. After linzumi_upload_files returns target_seq, pass that value here.")],["thread_id",U.string().optional().describe("Thread UUID when editing a thread message. Use the upload result target_message.thread_id when present.")]])).describe("Exact message target for the body edit.")],["body",U.string().min(1).max(2e4).describe("Replacement Markdown body. Rich media src/poster values must be Linzumi attachment download URLs returned by linzumi_upload_files.")]]),async b=>{let y=Nu(b);return y.target=mP(RL(b,"target","linzumi_edit_message"),o),wa(pP(a,await d.editMessage(y)))})}switch(l){case"All":if(e.registerTool("linzumi_list_vault_secrets","List vault secret names, descriptions, and whether each secret is personal or workspace-owned. Does not return secret values.",{},async p=>await c(d.listVaultSecrets(p))),e.registerTool("linzumi_list_projects","List the projects in the current workspace with their project_id (needed by the other project task tools), slug, title, description, and state.",Object.fromEntries([["workspace",hi()]]),async p=>await c(d.listProjects(p))),e.registerTool("linzumi_get_project_tasks",`Read a project's full task graph: task GROUPS (kind "group", organizational containers, exactly one level deep) and ISSUES (kind "issue", the executable work items), each with status (todo/active/blocked/review/done/canceled), DERIVED work_state readiness (ready = todo with every dependency satisfied; blocked = todo with unsatisfied dependencies; running/stalled = active with/without a connected job), parent group, assignee, lock_version, and dependency edges (depends_on_task_ids / unblocks_task_ids). Always read this before reorganizing. Inside a project-bound coding job the project is inferred automatically; otherwise pass project_id from linzumi_list_projects.`,Object.fromEntries([["project_id",U.string().optional().describe("Project id from linzumi_list_projects. Omit inside a coding job started from a project to use that project.")]]),async p=>await c(d.getProjectTasks(ul(p,o)))),e.registerTool("linzumi_create_project_task",'Create a task group (kind "group") or issue (kind "issue", the default) in a project. Groups organize issues and are exactly one level deep: a parent_id must name a GROUP, and groups themselves can never have a parent. New tasks default to status "todo" and append to the end unless position is given. Inside a project-bound coding job the project is inferred; otherwise pass project_id.',Object.fromEntries([["project_id",U.string().optional().describe("Project id from linzumi_list_projects. Omit inside a coding job started from a project to use that project.")],["title",U.string().min(1).describe("Task title.")],["kind",U.enum(["issue","group"]).optional().describe('What to create: "issue" (executable work item, default) or "group" (organizational container).')],["description",U.string().optional().describe("Detailed description of the work - written so an engineer (or coding agent) could execute the task from it.")],["status",U.enum(["todo","active","blocked","review","done","canceled"]).optional().describe('Initial status. Defaults to "todo".')],["parent_id",U.string().optional().describe("task_id of the GROUP to place an issue in. Only issues can have a parent.")],["assignee",U.string().optional().describe("Username of a workspace member to assign.")],["position",U.number().int().min(0).optional().describe("Sort position. Defaults to appending at the end.")]]),async p=>await c(d.createProjectTask(ul(p,o)))),e.registerTool("linzumi_update_project_task",'Update a task group or issue: retitle, edit description/status_note, transition status (todo/active/blocked/review/done/canceled), reassign, reorder (position), or reorganize (parent_id moves an issue into a group; clear_parent moves it to top level). Only the fields you pass change; description and status_note accept null to clear. Prefer updating existing tasks over delete-and-recreate. Pass the lock_version from your last read to fail loudly ("stale") instead of overwriting a concurrent edit.',Object.fromEntries([["task_id",U.string().describe("task_id of the group or issue to update.")],["title",U.string().min(1).optional().describe("New title.")],["description",U.string().nullable().optional().describe("New description. Pass null to clear it.")],["status",U.enum(["todo","active","blocked","review","done","canceled"]).optional().describe('New status. "done"/"canceled" satisfy dependent tasks; "blocked" is a manual hold.')],["status_note",U.string().nullable().optional().describe("Short human-readable note about the current status. Pass null to clear it.")],["position",U.number().int().min(0).optional().describe("New sort position among siblings.")],["parent_id",U.string().optional().describe("task_id of the GROUP to move this issue into. Do not combine with clear_parent.")],["clear_parent",U.boolean().optional().describe("true moves the issue to the top level (no group). Do not combine with parent_id.")],["assignee",U.string().optional().describe("Username of a workspace member to assign. Do not combine with clear_assignee.")],["clear_assignee",U.boolean().optional().describe("true removes the assignee. Do not combine with assignee.")],["lock_version",U.number().int().positive().optional().describe("The task's lock_version from your last read, for compare-and-swap safety.")]]),async p=>await c(d.updateProjectTask(p))),e.registerTool("linzumi_delete_project_task",`Permanently delete a task group or issue. Dependency edges on the task are removed with it (dependents may become ready). Deletion is normally the USER's call - prefer status "canceled" or an update unless you are certain the entry is obsolete.`,Object.fromEntries([["task_id",U.string().describe("task_id of the group or issue to delete.")]]),async p=>await c(d.deleteProjectTask(p))),e.registerTool("linzumi_add_project_task_dependency",'Add the dependency edge "task_id is blocked by depends_on_task_id" between two ISSUES in the same project (groups cannot have dependencies). The dependent stays blocked until the prerequisite reaches done or canceled. The graph must stay acyclic: an edge that would create a cycle is refused with reason "would_create_cycle" and the offending cycle_path so you can restructure. Duplicate and self edges are rejected.',Object.fromEntries([["task_id",U.string().describe("task_id of the DEPENDENT issue (the one that must wait).")],["depends_on_task_id",U.string().describe("task_id of the PREREQUISITE issue (the one that must finish first).")]]),async p=>await c(d.addProjectTaskDependency(p))),e.registerTool("linzumi_remove_project_task_dependency",'Remove the dependency edge "task_id is blocked by depends_on_task_id". The dependent issue may become ready if that was its last unsatisfied dependency.',Object.fromEntries([["task_id",U.string().describe("task_id of the DEPENDENT issue.")],["depends_on_task_id",U.string().describe("task_id of the PREREQUISITE issue the edge points at.")]]),async p=>await c(d.removeProjectTaskDependency(p))),e.registerTool("linzumi_get_call_transcript","Read the full transcript of a completed Linzumi notetaker call: call metadata (title, platform, started/ended/transcribed times), participants, and every spoken segment in order with speaker names and millisecond offsets. Pass the call_id embedded in the request (or copied from the call card). Errors: call_not_found (missing or not visible to you), call_transcript_not_ready (call still connecting, in progress, or transcribing - retry later).",Object.fromEntries([["call_id",U.string().describe("The call id from the call card or the launching message (a CallRecording id - the opaque GraphQL id and the bare uuid both work).")]]),async p=>await c(d.getCallTranscript(p))),!n){e.registerTool("linzumi_start_coding_job","Start a coding job as the invoking user (same authorization and pipeline as clicking start). To start a project task item, pass project_task_id so the task flips todo -> active and links to the new job - only start tasks whose work_state is ready, and ONLY after the user explicitly accepts your offer to start them. Omit channel, runner_key, and cwd to reuse this job's own channel, computer, and folder. Returns status 'unavailable' with a reason when the runner cannot take the job (relay that honestly).",Object.fromEntries([["work_description",U.string().min(1).describe("What the job should do - the initial instruction. For a task item, write it from the task title and description.")],["project_task_id",U.string().optional().describe("Project task item to bind the job to (task_id from linzumi_get_project_tasks). The task flips todo -> active and links to the new job.")],["visibility",U.enum(["project","private"]).optional().describe("Child-job visibility. Defaults to 'project'; private jobs are limited to directly authorized participants.")],["channel",U.string().optional().describe("Channel slug to host the job thread. Omit to use this job's own channel.")],["runner_key",U.string().optional().describe("Runner (computer) to run the job on. Omit to use this job's own computer.")],["cwd",U.string().optional().describe("Working directory on the runner. Omit to use this job's own folder.")],["model",U.string().optional().describe("Model override (optional).")],["model_provider",U.string().optional().describe("Model provider override, e.g. 'wafer' (optional).")],["agent_provider",U.string().optional().describe("Agent provider override, e.g. 'codex' (optional).")],["reasoning_effort",U.enum(["default","low","medium","high","xhigh","ultra"]).optional().describe("Reasoning effort override (optional).")],["approval_policy",U.enum(["default","on-request","on-failure","never"]).optional().describe("Approval policy override (optional).")],["sandbox",U.enum(["default","workspace-write","read-only","danger-full-access"]).optional().describe("Sandbox override (optional).")],["fast",U.boolean().optional().describe("Fast-mode override (optional).")],["allow_port_forwarding_by_default",U.boolean().optional().describe("Default port-forwarding override (optional).")],["execution_mode",U.enum(["raw","local_vm"]).optional().describe("Execution placement override (optional).")],["egress_mode",U.enum(["open","hardened"]).optional().describe("Local-VM egress override (optional).")]]),async _=>await c(d.agentStartCodingJob(ul(_,o))));let p=t.multiAgentJobs;p!==void 0&&p&&(e.registerTool("linzumi_spawn_child_job","Spawn a durable child coding job under YOUR OWN job, on any harness or model - plan a DAG and delegate its legs to workers you then coordinate through discovery and messaging. The child lands on this job's channel, computer, and folder; it inherits this job's project and visibility (a private parent's children stay private), human roles cascade to it, and a human manages its lifecycle. Returns status 'unavailable' with a reason when the runner cannot take the job (relay that honestly).",Object.fromEntries([["work_description",U.string().min(1).describe("What the child job should do - the initial instruction, written to stand alone.")],["agent_provider",U.string().optional().describe("Harness for the child, e.g. 'codex' or 'claude-code'. Omit to reuse this job's own harness. A different harness is fine: a cross-harness child is always a child job.")],["model",U.string().optional().describe("Model override for the child (optional).")],["model_provider",U.string().optional().describe("Model provider override, e.g. 'wafer' (optional).")],["reasoning_effort",U.enum(["default","low","medium","high","xhigh","ultra"]).optional().describe("Reasoning effort override (optional).")],["project_task_id",U.string().optional().describe("Project task item to bind the child to (task_id from linzumi_get_project_tasks). The task flips todo -> active and links to the new job.")],["visibility",U.enum(["project","private"]).optional().describe("Child visibility. Defaults to this job's own visibility; a private parent's children must stay private.")]]),async _=>await c(d.agentSpawnChildJob(ul(_,o)))),e.registerTool("linzumi_archive_child_job","Archive a coding job that is YOUR OWN job or one beneath it in your job tree, retiring it from the active lists, the org map and the needs-you deck; history is preserved and it can be unarchived. Use this to clean up child jobs you spawned that are finished or dead - do it in the current turn, never just promise it. Refused for sibling, parent or unrelated jobs, and for jobs that do not belong to the human you are working for. When the job still has live descendants the call returns confirmation_required with their exact count and ids; call again with descendant_action 'keep' (archive only this job, re-parenting its children) or 'cascade' (archive the whole subtree) plus those expected values.",Object.fromEntries([["job_id",U.string().describe("The coding job id to archive: your own job, or any job beneath it in your tree.")],["outcome",U.enum(["completed","abandoned","superseded"]).describe("Why the job is being archived.")],["descendant_action",U.enum(["keep","cascade"]).optional().describe("Phase-2 choice when the job has live descendants. 'keep' archives only this job and re-parents its children; 'cascade' archives the whole subtree.")],["expected_descendant_count",U.number().int().optional().describe("The descendant_count returned by the phase-1 call.")],["expected_descendant_job_ids",U.array(U.string()).optional().describe("The descendant_job_ids returned by the phase-1 call; the call is refused if the subtree changed.")],["expected_descendant_fingerprint",U.string().optional().describe("The descendant_fingerprint returned by the phase-1 call.")]]),async _=>await c(d.agentArchiveChildJob(_))),e.registerTool("linzumi_unarchive_child_job","Unarchive a previously archived coding job that is YOUR OWN job or one beneath it in your job tree. It returns as hibernating and wakes when messaged. Same ownership scope as linzumi_archive_child_job. Refused when the job is not archived, or when its home thread already holds a live job.",Object.fromEntries([["job_id",U.string().describe("The archived coding job id to bring back: your own job, or any job beneath it in your tree.")]]),async _=>await c(d.agentUnarchiveChildJob(_))),e.registerTool("linzumi_discover_coding_jobs","Search current sitreps inside this coding job project for overlapping files, modules, objectives, or blockers. Results include durable job addresses for coordination. Private jobs outside your visible set never appear.",Object.fromEntries([["query",U.string().min(1).describe("Free-text clash-surface query, such as a file path, module, migration, or objective.")]]),async _=>{let g={};return Object.entries(_).forEach(b=>{g[b[0]]=b[1]}),g.source_thread_id=cP(z(o,b=>b)),await c(d.agentDiscoverCodingJobs(g))}),e.registerTool("linzumi_send_coding_job_message","Message a visible coding job in this project, or a person. Queue is the encouraged default: it lands in the colleague's inbox for their own cadence. Steer only for urgent, potentially-clashing work because it interrupts the running turn. Would this be worthless or harmful after their turn finishes? If no, queue. Delivery urgency is not access control. To message a person, pass to_user and omit channel and thread_id: delivery lands in their personal inbox.",Object.fromEntries([["channel",U.string().optional().describe("Channel slug hosting the target job. Required unless to_user is set.")],["thread_id",U.string().uuid().optional().describe("Target job thread UUID. Required unless to_user is set.")],["to_user",U.string().min(1).optional().describe("Username of a workspace member to message instead of a job. Delivery lands in their personal inbox.")],["body",U.string().min(1).describe("Coordination message to send.")],["tokens",Hm().optional()],["delivery",U.enum(["queue","steer"]).optional().describe("Delivery urgency. Defaults to 'queue'.")]]),async _=>{let g={};return Object.entries(_).forEach(b=>{g[b[0]]=b[1]}),g.source_thread_id=cP(z(o,b=>b)),await c(d.agentSendCodingJobMessage(g))}))}break;case"Coding":case"OnboardingDiscovery":break}switch(Whe(l)&&(e.registerTool("linzumi_upload_custom_emoji","Upload a local image as a workspace custom emoji. For generated emoji art, create a transparent PNG with a simple centered subject, crisp edges, strong contrast, minimal tiny details, and enough outline/highlight separation to read at 16-24px on both dark and light backgrounds. Use lowercase shortcode names without colons unless preserving a user-provided :name:.",Object.fromEntries([["name",GL().describe("Custom emoji shortcode name, with or without surrounding colons.")],["file",U.string().min(1).describe("Local PNG/WebP/GIF/JPEG file path to upload. Prefer transparent PNG for generated emoji.")],["workspace",hi()]]),async p=>{let _=qs(p.name),g=qs(p.file);return wa(await oL({client:d,cwd:s,serviceUrl:a,name:_!==void 0?_:"",file:g!==void 0?g:"",workspace:qs(p.workspace)}))}),e.registerTool("linzumi_rename_custom_emoji","Rename an existing workspace custom emoji. The new name may include surrounding colons; Linzumi stores the normalized shortcode without colons.",Object.fromEntries([["emoji_id",U.union([U.string(),U.number().int().positive()]).describe("Workspace custom emoji id returned by linzumi_upload_custom_emoji or workspace emoji listings.")],["name",GL().describe("New shortcode name, with or without surrounding colons.")],["workspace",hi()]]),async p=>await c(d.renameCustomEmoji(p)))),e.registerTool("linzumi_media_guide","Return the full Linzumi rich-media authoring guide (audio/video/image directives, URL rules, upload-then-embed flow, examples). Call once BEFORE writing any ::audio/::video/::image directive or Markdown image into a Linzumi message.",{},async p=>{let _={};_.type="text",_.text=yL;let g={};return g.content=[_],g}),e.registerTool("linzumi_note_project_directory","Record one discovered local Git repository or worktree for onboarding import. Call once per project as soon as it is found.",Object.fromEntries([["workspace",hi()],["runner_id",U.string().min(1).describe("Local runner/computer id provided in the discovery prompt.")],["path",U.string().min(1).describe("Absolute local path to the repository worktree root.")],["display_name",U.string().optional().describe("Short project label. Defaults to the path basename.")],["activity_at",U.string().optional().describe("Best-known recent activity time as an ISO-8601 timestamp.")],["import_key",U.string().optional().describe("Stable dedupe key. Defaults to path.")],["metadata",U.record(U.unknown()).optional().describe("Small structured metadata such as branch or remote origin.")]]),async p=>await c(d.noteProjectDirectory(p))),e.registerTool("linzumi_note_agent_conversation","Record one discovered Codex or Claude Code local conversation for onboarding import. Call once per conversation as soon as it is found.",Object.fromEntries([["workspace",hi()],["runner_id",U.string().min(1).describe("Local runner/computer id provided in the discovery prompt.")],["source",U.enum(["codex","claude_code"]).describe("Conversation source.")],["import_key",U.string().min(1).describe("Stable dedupe key, such as a session id or file path.")],["path",U.string().optional().describe("Absolute local path to the conversation file or directory.")],["display_name",U.string().optional().describe("Short label for the discovered conversation.")],["activity_at",U.string().optional().describe("Best-known recent activity time as an ISO-8601 timestamp.")],["metadata",U.record(U.unknown()).optional().describe("Small structured metadata such as session id or project path.")]]),async p=>await c(d.noteAgentConversation(p))),e.registerTool("linzumi_note_onboarding_discovery_status","Record onboarding discovery progress. Call when a search phase starts, checks another place, completes, or fails.",Object.fromEntries([["workspace",hi()],["runner_id",U.string().min(1).describe("Local runner/computer id provided in the discovery prompt.")],["phase",U.enum(["projects","conversations"]).describe("Discovery phase being reported.")],["status",U.enum(["starting","running","completed","failed"]).describe("Current phase status.")],["places_searched",U.number().int().nonnegative().optional().describe("Count of concrete folders/files/known locations checked so far.")],["message",U.string().optional().describe("Short user-facing status note.")],["current_place",U.string().optional().describe("Current folder, file, Git command target, or known location being checked.")],["current_source",U.string().optional().describe("Short machine-readable source label such as git, codex, or claude_code.")],["last_error",U.string().optional().describe("Short failure detail when status is failed.")],["metadata",U.record(U.unknown()).optional().describe("Small structured status metadata.")]]),async p=>await c(d.noteOnboardingDiscoveryStatus(p))),l==="All"&&Hhe(t.operatingMode)&&(e.registerTool("linzumi_dm_owner","Send a plain-text DM to the configured Commander owner. Requires dm.write and a visible owner username.",Object.fromEntries([["owner_username",U.string().optional().describe("Owner username. Defaults to LINZUMI_MCP_OWNER_USERNAME or --owner-username.")],["workspace",hi()],["channel",U.string().optional().describe("Source channel slug used to verify owner visibility.")],["body",U.string().min(1).max(2e4).describe("Plain-text message body to DM.")],["tokens",Hm().optional()]]),async p=>{let _=qs(p.owner_username),g=_!==void 0?_:i;if(g===void 0)return Pi("owner_username is required for linzumi_dm_owner");let b=Nu(p);return b.owner_username=g,await c(d.dmOwner(b))}),e.registerTool("linzumi_send_channel_message","Post a NEW standalone Markdown message into the scoped Linzumi channel as the authenticated local-runner user. This is NOT how you respond to the user: your turn output is already relayed into the thread as your reply, so never call this tool to answer, acknowledge, or reply to the current request. Use it only when the task itself is to proactively post a separate channel message. Requires channel.write. Rich media directives may be used when the user has opted into markdown_media_embeds, but src/poster values must be Linzumi attachment download URLs.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["body",U.string().min(1).max(2e4).describe("Markdown message body to post. Rich media src/poster values must be Linzumi attachment download URLs, not third-party URLs, /relative paths, or local filesystem paths.")],["tokens",Hm().optional()]]),async p=>await c(d.sendChannelMessage(p))),e.registerTool("linzumi_send_thread_reply","Post a Markdown reply into some OTHER existing Linzumi thread as the authenticated local-runner user. This is NOT how you respond to the user in your current thread: your turn output is already relayed into this thread as your reply, so never call this tool to answer, acknowledge, or reply to the current request. Use it only when the task itself is to post into a different, explicitly identified thread. Requires thread.write. Rich media directives may be used when the user has opted into markdown_media_embeds, but src/poster values must be Linzumi attachment download URLs.",Object.fromEntries([["workspace",hi()],["channel",Ns()],["thread_id",U.string().uuid().describe("Existing Linzumi thread UUID.")],["body",U.string().min(1).max(2e4).describe("Markdown reply body to post. Rich media src/poster values must be Linzumi attachment download URLs, not third-party URLs, /relative paths, or local filesystem paths.")],["tokens",Hm().optional()]]),async p=>await c(d.sendThreadReply(p))),e.registerTool("linzumi_send_dm","Send a plain-text DM as the authenticated local-runner user to a visible user in the scoped workspace/channel. Requires dm.write.",Object.fromEntries([["workspace",hi()],["channel",U.string().optional().describe("Source channel slug used to verify target visibility.")],["username",U.string().describe("Visible Linzumi username to DM.")],["body",U.string().min(1).max(2e4).describe("Plain-text message body to DM.")],["tokens",Hm().optional()]]),async p=>await c(d.sendDm(p)))),l){case"All":e.registerTool("linzumi_get_vault_values","Request values for explicit vault env var names after a thread-scoped human approval. Requires vault.read; thread_id resolves the approval thread.",Object.fromEntries([["workspace",hi()],["channel",U.string().optional().describe("Channel slug used to disambiguate the approval thread when needed.")],["thread_id",U.string().uuid().describe("Existing Linzumi thread UUID for the inline approval.")],["env_var_names",U.array(U.string().regex(new RegExp("^[A-Z][A-Z0-9_]{0,127}$"))).min(1).max(20).describe("Explicit vault env var names to request. This tool cannot list all vault keys.")],["description",U.string().min(1).max(500).describe("Human-readable reason shown in the approval request.")],["justification",U.string().min(10).max(1e3).describe("Agent justification shown to the approver.")]]),async p=>await c(d.getVaultValues(p)));break;case"Coding":case"OnboardingDiscovery":break}switch(l){case"All":return n||r===void 0?void 0:Zhe(e,s,r);case"Coding":case"OnboardingDiscovery":return}}function Yhe(e){return typeof e==="undefined"?!0:e===null}function kb(e){let t=mi(e.serviceUrl);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0,n=e.fetchImpl,i=n!==void 0?n:eT,o=e.authMode,a=o!==void 0&&o!=="LocalRunner"?"/api/v2/personal-agent-mcp":"/api/v2/local-runner-mcp",s=e.operatingMode,l=s!==void 0?EP(s):"text",d=async(u,c,f)=>{let h=Hi(c,r),m;m=h.TAG==="Ok"?h._0:Pi(h._0);let p={};Object.entries(f).forEach(C=>{p[C[0]]=C[1]}),p.operating_mode=l;let _={},g=e.accessToken,b;if(g.TAG==="StaticAccessToken")b=g._0;else{let C=g._0();b=C.TAG==="Ok"?C._0:Pi(C._0)}_.authorization="Bearer "+b;let y;if(u==="Get"){let C=m.searchParams;Object.entries(p).forEach(k=>{let $=k[1];if(!Yhe($)){C.set(k[0],String($));return}}),y=await i.json(m.toString(),{method:"GET",headers:_})}else _["content-type"]="application/json",y=await i.json(m.toString(),{method:"POST",headers:_,body:JSON.stringify(p)});let S=await y.json(),T;if(T=typeof S=="object"&&S!==null&&!Array.isArray(S)?S:void 0,T===void 0)return Pi("Linzumi MCP API returned non-object JSON from "+c);let w=y.ok,A=J(T.ok,!0),P=0;if(w){if(A)return T;P=1}else P=1;if(P===1){let C=T.error,k,$=0;typeof C=="string"?k=C:$=2,$===2&&(k="HTTP "+y.status.toString());let V=T.detail,F=typeof V=="string"?" detail="+V:"";return Pi("Linzumi MCP API "+c+" failed: "+k+F)}};return{TAG:"Ok",_0:{validateAuth:()=>d("Get",a+"/validate",{}),issueOnboardingDiscoveryToken:u=>d("Post",a+"/onboarding-discovery-token",u),getMessage:u=>d("Get",a+"/message",u),getThread:u=>d("Get",a+"/thread",u),getThreadTranscript:u=>d("Get",a+"/thread-transcript",u),getChannel:u=>d("Get",a+"/channel",u),searchWorkspace:u=>d("Get",a+"/search",u),askWorkspace:u=>d("Post",a+"/ask",u),aboutMe:u=>d("Get",a+"/about-me",u),webSearch:u=>d("Get",a+"/web-search",u),fetchUrl:u=>d("Get",a+"/fetch-url",u),listUiTargets:u=>d("Get",a+"/ui-targets",u),openUi:u=>d("Post",a+"/open-ui",u),getCodingJobMetadata:u=>d("Get",a+"/coding-job-metadata",u),listProjects:u=>d("Get",a+"/projects",u),getProjectTasks:u=>d("Get",a+"/project-tasks",u),createProjectTask:u=>d("Post",a+"/project-tasks/create",u),updateProjectTask:u=>d("Post",a+"/project-tasks/update",u),deleteProjectTask:u=>d("Post",a+"/project-tasks/delete",u),addProjectTaskDependency:u=>d("Post",a+"/project-tasks/add-dependency",u),removeProjectTaskDependency:u=>d("Post",a+"/project-tasks/remove-dependency",u),getCallTranscript:u=>d("Get",a+"/call-transcript",u),renameCodingJob:u=>d("Post",a+"/coding-job-title",u),upsertCodingJobPlan:u=>d("Post",a+"/coding-job-plan",u),replaceCodingJobPlanSteps:u=>d("Post",a+"/coding-job-plan/steps",u),updateCodingJobPlanStep:u=>d("Post",a+"/coding-job-plan/step",u),linkCodingJobPullRequest:u=>d("Post",a+"/coding-job-primary-pr",u),listVaultSecrets:u=>d("Get",a+"/vault-secrets",u),noteProjectDirectory:u=>d("Post",a+"/discovered-project",u),noteAgentConversation:u=>d("Post",a+"/discovered-conversation",u),noteOnboardingDiscoveryStatus:u=>d("Post",a+"/discovery-status",u),sendChannelMessage:u=>d("Post",a+"/channel-message",u),editMessage:u=>d("Post",a+"/message/edit",u),agentReply:u=>d("Post",a+"/agent-reply",u),scheduleWake:u=>d("Post",a+"/scheduled-wakes",u),cancelWake:u=>d("Post",a+"/scheduled-wakes/cancel",u),declineDocumentAction:u=>d("Post",a+"/agent/decline-document-action",u),agentTurnProgress:u=>d("Post",a+"/agent-turn-progress",u),agentDocumentTool:u=>d("Post",a+"/agent/document-tool",u),agentTopicTool:u=>d("Post",a+"/agent/topic-tool",u),agentListCodingJobs:u=>d("Get",a+"/agent/coding-jobs",u),agentStartCodingJob:u=>d("Post",a+"/agent/start-coding-job",u),agentSpawnChildJob:u=>d("Post",a+"/agent/spawn-child-job",u),agentArchiveChildJob:u=>d("Post",a+"/agent/archive-child-job",u),agentUnarchiveChildJob:u=>d("Post",a+"/agent/unarchive-child-job",u),agentInterruptCodingJob:u=>d("Post",a+"/agent/interrupt-coding-job",u),agentSendCodingJobMessage:u=>d("Post",a+"/agent/send-coding-job-message",u),agentDiscoverCodingJobs:u=>d("Get",a+"/agent/discover-coding-jobs",u),agentReadCodingJobThread:u=>d("Get",a+"/agent/coding-job-thread",u),agentResolveJobApproval:u=>d("Post",a+"/agent/resolve-job-approval",u),agentArchiveCodingJob:u=>d("Post",a+"/agent/archive-coding-job",u),agentUnarchiveCodingJob:u=>d("Post",a+"/agent/unarchive-coding-job",u),agentSetThreadStatus:u=>d("Post",a+"/agent/set-thread-status",u),agentCreateChannel:u=>d("Post",a+"/agent/create-channel",u),agentRenameChannel:u=>d("Post",a+"/agent/rename-channel",u),agentArchiveChannel:u=>d("Post",a+"/agent/archive-channel",u),agentUnarchiveChannel:u=>d("Post",a+"/agent/unarchive-channel",u),agentAddReaction:u=>d("Post",a+"/agent/add-reaction",u),agentRemoveReaction:u=>d("Post",a+"/agent/remove-reaction",u),agentPinMessage:u=>d("Post",a+"/agent/pin-message",u),agentUnpinMessage:u=>d("Post",a+"/agent/unpin-message",u),prepareMessageUploads:u=>d("Post",a+"/message-uploads/prepare",u),attachMessageFiles:u=>d("Post",a+"/message-files/attach",u),prepareCustomEmoji:u=>d("Post",a+"/custom-emoji/prepare",u),renameCustomEmoji:u=>d("Post",a+"/custom-emoji/rename",u),sendThreadReply:u=>d("Post",a+"/thread-reply",u),sendDm:u=>d("Post",a+"/dm",u),dmOwner:u=>d("Post",a+"/dm-owner",u),getVaultValues:u=>d("Post",a+"/vault-values",u)}}}var Xhe=Object.freeze({status:"aborted"});function $e(e,t,r){function n(s,l){var d;Object.defineProperty(s,"_zod",{value:s._zod??{},enumerable:!1}),(d=s._zod).traits??(d.traits=new Set),s._zod.traits.add(e),t(s,l);for(let u in a.prototype)u in s||Object.defineProperty(s,u,{value:a.prototype[u].bind(s)});s._zod.constr=a,s._zod.def=l}let i=r?.Parent??Object;class o extends i{}Object.defineProperty(o,"name",{value:e});function a(s){var l;let d=r?.Parent?new o:this;n(d,s),(l=d._zod).deferred??(l.deferred=[]);for(let u of d._zod.deferred)u();return d}return Object.defineProperty(a,"init",{value:n}),Object.defineProperty(a,Symbol.hasInstance,{value:s=>r?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}var Lu=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},gv={};function zs(e){return e&&Object.assign(gv,e),gv}var _n={};oE(_n,{BIGINT_FORMAT_RANGES:()=>FL,Class:()=>MP,NUMBER_FORMAT_RANGES:()=>LP,aborted:()=>Km,allowsEval:()=>NP,assert:()=>i_e,assertEqual:()=>e_e,assertIs:()=>r_e,assertNever:()=>n_e,assertNotEqual:()=>t_e,assignProp:()=>FP,cached:()=>Eb,captureStackTrace:()=>yv,cleanEnum:()=>g_e,cleanRegex:()=>Gb,clone:()=>Ls,createTransparentProxy:()=>u_e,defineLazy:()=>_i,esc:()=>Vm,escapeRegex:()=>Uc,extend:()=>m_e,finalizeIssue:()=>Zl,floatSafeRemainder:()=>jP,getElementAtPath:()=>o_e,getEnumValues:()=>Ob,getLengthableOrigin:()=>Rb,getParsedType:()=>d_e,getSizableOrigin:()=>NL,isObject:()=>p_,isPlainObject:()=>h_,issue:()=>UP,joinValues:()=>bv,jsonStringifyReplacer:()=>$P,merge:()=>p_e,normalizeParams:()=>pr,nullish:()=>Pb,numKeys:()=>l_e,omit:()=>f_e,optionalKeys:()=>zP,partial:()=>h_e,pick:()=>c_e,prefixIssues:()=>Fd,primitiveTypes:()=>jL,promiseAllObject:()=>a_e,propertyKeyTypes:()=>qP,randomString:()=>s_e,required:()=>__e,stringifyPrimitive:()=>xv,unwrapMessage:()=>Cb});function e_e(e){return e}function t_e(e){return e}function r_e(e){}function n_e(e){throw new Error}function i_e(e){}function Ob(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,i])=>t.indexOf(+n)===-1).map(([n,i])=>i)}function bv(e,t="|"){return e.map(r=>xv(r)).join(t)}function $P(e,t){return typeof t=="bigint"?t.toString():t}function Eb(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function Pb(e){return e==null}function Gb(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function jP(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,i=r>n?r:n,o=Number.parseInt(e.toFixed(i).replace(".","")),a=Number.parseInt(t.toFixed(i).replace(".",""));return o%a/10**i}function _i(e,t,r){Object.defineProperty(e,t,{get(){{let i=r();return e[t]=i,i}throw new Error("cached value already set")},set(i){Object.defineProperty(e,t,{value:i})},configurable:!0})}function FP(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function o_e(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function a_e(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let i={};for(let o=0;o<t.length;o++)i[t[o]]=n[o];return i})}function s_e(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function Vm(e){return JSON.stringify(e)}var yv=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function p_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var NP=Eb(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function h_(e){if(p_(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!(p_(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function l_e(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var d_e=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},qP=new Set(["string","number","symbol"]),jL=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Uc(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ls(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function pr(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function u_e(e){let t;return new Proxy({},{get(r,n,i){return t??(t=e()),Reflect.get(t,n,i)},set(r,n,i,o){return t??(t=e()),Reflect.set(t,n,i,o)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,i){return t??(t=e()),Reflect.defineProperty(t,n,i)}})}function xv(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function zP(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var LP={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},FL={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function c_e(e,t){let r={},n=e._zod.def;for(let i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&(r[i]=n.shape[i])}return Ls(e,{...e._zod.def,shape:r,checks:[]})}function f_e(e,t){let r={...e._zod.def.shape},n=e._zod.def;for(let i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&delete r[i]}return Ls(e,{...e._zod.def,shape:r,checks:[]})}function m_e(e,t){if(!h_(t))throw new Error("Invalid input to extend: expected a plain object");let r={...e._zod.def,get shape(){let n={...e._zod.def.shape,...t};return FP(this,"shape",n),n},checks:[]};return Ls(e,r)}function p_e(e,t){return Ls(e,{...e._zod.def,get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return FP(this,"shape",r),r},catchall:t._zod.def.catchall,checks:[]})}function h_e(e,t,r){let n=t._zod.def.shape,i={...n};if(r)for(let o in r){if(!(o in n))throw new Error(`Unrecognized key: "${o}"`);r[o]&&(i[o]=e?new e({type:"optional",innerType:n[o]}):n[o])}else for(let o in n)i[o]=e?new e({type:"optional",innerType:n[o]}):n[o];return Ls(t,{...t._zod.def,shape:i,checks:[]})}function __e(e,t,r){let n=t._zod.def.shape,i={...n};if(r)for(let o in r){if(!(o in i))throw new Error(`Unrecognized key: "${o}"`);r[o]&&(i[o]=new e({type:"nonoptional",innerType:n[o]}))}else for(let o in n)i[o]=new e({type:"nonoptional",innerType:n[o]});return Ls(t,{...t._zod.def,shape:i,checks:[]})}function Km(e,t=0){for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Fd(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function Cb(e){return typeof e=="string"?e:e?.message}function Zl(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let i=Cb(e.inst?._zod.def?.error?.(e))??Cb(t?.error?.(e))??Cb(r.customError?.(e))??Cb(r.localeError?.(e))??"Invalid input";n.message=i}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function NL(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function Rb(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function UP(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function g_e(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}var MP=class{constructor(...t){}};var qL=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,$P,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Sv=$e("$ZodError",qL),Ib=$e("$ZodError",qL,{Parent:Error});function BP(e,t=r=>r.message){let r={},n=[];for(let i of e.issues)i.path.length>0?(r[i.path[0]]=r[i.path[0]]||[],r[i.path[0]].push(t(i))):n.push(t(i));return{formErrors:n,fieldErrors:r}}function WP(e,t){let r=t||function(o){return o.message},n={_errors:[]},i=o=>{for(let a of o.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(s=>i({issues:s}));else if(a.code==="invalid_key")i({issues:a.issues});else if(a.code==="invalid_element")i({issues:a.issues});else if(a.path.length===0)n._errors.push(r(a));else{let s=n,l=0;for(;l<a.path.length;){let d=a.path[l];l===a.path.length-1?(s[d]=s[d]||{_errors:[]},s[d]._errors.push(r(a))):s[d]=s[d]||{_errors:[]},s=s[d],l++}}};return i(e),n}var HP=e=>(t,r,n,i)=>{let o=n?Object.assign(n,{async:!1}):{async:!1},a=t._zod.run({value:r,issues:[]},o);if(a instanceof Promise)throw new Lu;if(a.issues.length){let s=new(i?.Err??e)(a.issues.map(l=>Zl(l,o,zs())));throw yv(s,i?.callee),s}return a.value},VP=HP(Ib),KP=e=>async(t,r,n,i)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},a=t._zod.run({value:r,issues:[]},o);if(a instanceof Promise&&(a=await a),a.issues.length){let s=new(i?.Err??e)(a.issues.map(l=>Zl(l,o,zs())));throw yv(s,i?.callee),s}return a.value},JP=KP(Ib),ZP=e=>(t,r,n)=>{let i=n?{...n,async:!1}:{async:!1},o=t._zod.run({value:r,issues:[]},i);if(o instanceof Promise)throw new Lu;return o.issues.length?{success:!1,error:new(e??Sv)(o.issues.map(a=>Zl(a,i,zs())))}:{success:!0,data:o.value}},Jm=ZP(Ib),QP=e=>async(t,r,n)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},o=t._zod.run({value:r,issues:[]},i);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new e(o.issues.map(a=>Zl(a,i,zs())))}:{success:!0,data:o.value}},Zm=QP(Ib);var zL=/^[cC][^\s-]{8,}$/,LL=/^[0-9a-z]+$/,UL=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,BL=/^[0-9a-vA-V]{20}$/,WL=/^[A-Za-z0-9]{27}$/,HL=/^[a-zA-Z0-9_-]{21}$/,VL=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var KL=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,YP=e=>e?new 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)$/;var JL=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var y_e="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function ZL(){return new RegExp(y_e,"u")}var QL=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,YL=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,XL=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,e9=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,t9=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,XP=/^[A-Za-z0-9_-]*$/,r9=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var n9=/^\+(?:[0-9]){6,14}[0-9]$/,i9="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",o9=new RegExp(`^${i9}$`);function a9(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function s9(e){return new RegExp(`^${a9(e)}$`)}function l9(e){let t=a9({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${i9}T(?:${n})$`)}var d9=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var u9=/^\d+$/,c9=/^-?\d+(?:\.\d+)?/i,f9=/true|false/i,m9=/null/i;var p9=/^[^A-Z]*$/,h9=/^[^a-z]*$/;var aa=$e("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),_9={number:"number",bigint:"bigint",object:"date"},eG=$e("$ZodCheckLessThan",(e,t)=>{aa.init(e,t);let r=_9[typeof t.value];e._zod.onattach.push(n=>{let i=n._zod.bag,o=(t.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<o&&(t.inclusive?i.maximum=t.value:i.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),tG=$e("$ZodCheckGreaterThan",(e,t)=>{aa.init(e,t);let r=_9[typeof t.value];e._zod.onattach.push(n=>{let i=n._zod.bag,o=(t.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>o&&(t.inclusive?i.minimum=t.value:i.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),g9=$e("$ZodCheckMultipleOf",(e,t)=>{aa.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):jP(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),b9=$e("$ZodCheckNumberFormat",(e,t)=>{aa.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[i,o]=LP[t.format];e._zod.onattach.push(a=>{let s=a._zod.bag;s.format=t.format,s.minimum=i,s.maximum=o,r&&(s.pattern=u9)}),e._zod.check=a=>{let s=a.value;if(r){if(!Number.isInteger(s)){a.issues.push({expected:n,format:t.format,code:"invalid_type",input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}s<i&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>o&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:o,inst:e})}});var y9=$e("$ZodCheckMaxLength",(e,t)=>{var r;aa.init(e,t),(r=e._zod.def).when??(r.when=n=>{let i=n.value;return!Pb(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{let i=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<i&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let i=n.value;if(i.length<=t.maximum)return;let a=Rb(i);n.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),x9=$e("$ZodCheckMinLength",(e,t)=>{var r;aa.init(e,t),(r=e._zod.def).when??(r.when=n=>{let i=n.value;return!Pb(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{let i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>i&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let i=n.value;if(i.length>=t.minimum)return;let a=Rb(i);n.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),S9=$e("$ZodCheckLengthEquals",(e,t)=>{var r;aa.init(e,t),(r=e._zod.def).when??(r.when=n=>{let i=n.value;return!Pb(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{let i=n._zod.bag;i.minimum=t.length,i.maximum=t.length,i.length=t.length}),e._zod.check=n=>{let i=n.value,o=i.length;if(o===t.length)return;let a=Rb(i),s=o>t.length;n.issues.push({origin:a,...s?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Db=$e("$ZodCheckStringFormat",(e,t)=>{var r,n;aa.init(e,t),e._zod.onattach.push(i=>{let o=i._zod.bag;o.format=t.format,t.pattern&&(o.patterns??(o.patterns=new Set),o.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=i=>{t.pattern.lastIndex=0,!t.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:t.format,input:i.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),T9=$e("$ZodCheckRegex",(e,t)=>{Db.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),v9=$e("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=p9),Db.init(e,t)}),w9=$e("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=h9),Db.init(e,t)}),A9=$e("$ZodCheckIncludes",(e,t)=>{aa.init(e,t);let r=Uc(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(i=>{let o=i._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=i=>{i.value.includes(t.includes,t.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:i.value,inst:e,continue:!t.abort})}}),k9=$e("$ZodCheckStartsWith",(e,t)=>{aa.init(e,t);let r=new RegExp(`^${Uc(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),C9=$e("$ZodCheckEndsWith",(e,t)=>{aa.init(e,t);let r=new RegExp(`.*${Uc(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var O9=$e("$ZodCheckOverwrite",(e,t)=>{aa.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var vv=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
464
464
  `).filter(a=>a),i=Math.min(...n.map(a=>a.length-a.trimStart().length)),o=n.map(a=>a.slice(i)).map(a=>" ".repeat(this.indent*2)+a);for(let a of o)this.content.push(a)}compile(){let t=Function,r=this?.args,i=[...(this?.content??[""]).map(o=>` ${o}`)];return new t(...r,i.join(`
465
465
  `))}};var P9={major:4,minor:0,patch:0};var ri=$e("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=P9;let n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(let i of n)for(let o of i._zod.onattach)o(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let i=(o,a,s)=>{let l=Km(o),d;for(let u of a){if(u._zod.def.when){if(!u._zod.def.when(o))continue}else if(l)continue;let c=o.issues.length,f=u._zod.check(o);if(f instanceof Promise&&s?.async===!1)throw new Lu;if(d||f instanceof Promise)d=(d??Promise.resolve()).then(async()=>{await f,o.issues.length!==c&&(l||(l=Km(o,c)))});else{if(o.issues.length===c)continue;l||(l=Km(o,c))}}return d?d.then(()=>o):o};e._zod.run=(o,a)=>{let s=e._zod.parse(o,a);if(s instanceof Promise){if(a.async===!1)throw new Lu;return s.then(l=>i(l,n,a))}return i(s,n,a)}}e["~standard"]={validate:i=>{try{let o=Jm(e,i);return o.success?{value:o.data}:{issues:o.error?.issues}}catch{return Zm(e,i).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}}),Mb=$e("$ZodString",(e,t)=>{ri.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??d9(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),gi=$e("$ZodStringFormat",(e,t)=>{Db.init(e,t),Mb.init(e,t)}),nG=$e("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=KL),gi.init(e,t)}),iG=$e("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=YP(n))}else t.pattern??(t.pattern=YP());gi.init(e,t)}),oG=$e("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=JL),gi.init(e,t)}),aG=$e("$ZodURL",(e,t)=>{gi.init(e,t),e._zod.check=r=>{try{let n=r.value,i=new URL(n),o=i.href;t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:r9.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),!n.endsWith("/")&&o.endsWith("/")?r.value=o.slice(0,-1):r.value=o;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),sG=$e("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=ZL()),gi.init(e,t)}),lG=$e("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=HL),gi.init(e,t)}),dG=$e("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=zL),gi.init(e,t)}),uG=$e("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=LL),gi.init(e,t)}),cG=$e("$ZodULID",(e,t)=>{t.pattern??(t.pattern=UL),gi.init(e,t)}),fG=$e("$ZodXID",(e,t)=>{t.pattern??(t.pattern=BL),gi.init(e,t)}),mG=$e("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=WL),gi.init(e,t)}),q9=$e("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=l9(t)),gi.init(e,t)}),z9=$e("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=o9),gi.init(e,t)}),L9=$e("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=s9(t)),gi.init(e,t)}),U9=$e("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=VL),gi.init(e,t)}),pG=$e("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=QL),gi.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),hG=$e("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=YL),gi.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),_G=$e("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=XL),gi.init(e,t)}),gG=$e("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=e9),gi.init(e,t),e._zod.check=r=>{let[n,i]=r.value.split("/");try{if(!i)throw new Error;let o=Number(i);if(`${o}`!==i)throw new Error;if(o<0||o>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function B9(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var bG=$e("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=t9),gi.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),e._zod.check=r=>{B9(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function x_e(e){if(!XP.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return B9(r)}var yG=$e("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=XP),gi.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),e._zod.check=r=>{x_e(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),xG=$e("$ZodE164",(e,t)=>{t.pattern??(t.pattern=n9),gi.init(e,t)});function S_e(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let i=JSON.parse(atob(n));return!("typ"in i&&i?.typ!=="JWT"||!i.alg||t&&(!("alg"in i)||i.alg!==t))}catch{return!1}}var SG=$e("$ZodJWT",(e,t)=>{gi.init(e,t),e._zod.check=r=>{S_e(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}});var Av=$e("$ZodNumber",(e,t)=>{ri.init(e,t),e._zod.pattern=e._zod.bag.pattern??c9,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}let i=r.value;if(typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i))return r;let o=typeof i=="number"?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:i,inst:e,...o?{received:o}:{}}),r}}),TG=$e("$ZodNumber",(e,t)=>{b9.init(e,t),Av.init(e,t)}),vG=$e("$ZodBoolean",(e,t)=>{ri.init(e,t),e._zod.pattern=f9,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=!!r.value}catch{}let i=r.value;return typeof i=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:e}),r}});var wG=$e("$ZodNull",(e,t)=>{ri.init(e,t),e._zod.pattern=m9,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{let i=r.value;return i===null||r.issues.push({expected:"null",code:"invalid_type",input:i,inst:e}),r}});var AG=$e("$ZodUnknown",(e,t)=>{ri.init(e,t),e._zod.parse=r=>r}),kG=$e("$ZodNever",(e,t)=>{ri.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function G9(e,t,r){e.issues.length&&t.issues.push(...Fd(r,e.issues)),t.value[r]=e.value}var CG=$e("$ZodArray",(e,t)=>{ri.init(e,t),e._zod.parse=(r,n)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({expected:"array",code:"invalid_type",input:i,inst:e}),r;r.value=Array(i.length);let o=[];for(let a=0;a<i.length;a++){let s=i[a],l=t.element._zod.run({value:s,issues:[]},n);l instanceof Promise?o.push(l.then(d=>G9(d,r,a))):G9(l,r,a)}return o.length?Promise.all(o).then(()=>r):r}});function wv(e,t,r){e.issues.length&&t.issues.push(...Fd(r,e.issues)),t.value[r]=e.value}function R9(e,t,r,n){e.issues.length?n[r]===void 0?r in n?t.value[r]=void 0:t.value[r]=e.value:t.issues.push(...Fd(r,e.issues)):e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}var kv=$e("$ZodObject",(e,t)=>{ri.init(e,t);let r=Eb(()=>{let c=Object.keys(t.shape);for(let h of c)if(!(t.shape[h]instanceof ri))throw new Error(`Invalid element at key "${h}": expected a Zod schema`);let f=zP(t.shape);return{shape:t.shape,keys:c,keySet:new Set(c),numKeys:c.length,optionalKeys:new Set(f)}});_i(e._zod,"propValues",()=>{let c=t.shape,f={};for(let h in c){let m=c[h]._zod;if(m.values){f[h]??(f[h]=new Set);for(let p of m.values)f[h].add(p)}}return f});let n=c=>{let f=new vv(["shape","payload","ctx"]),h=r.value,m=b=>{let y=Vm(b);return`shape[${y}]._zod.run({ value: input[${y}], issues: [] }, ctx)`};f.write("const input = payload.value;");let p=Object.create(null),_=0;for(let b of h.keys)p[b]=`key_${_++}`;f.write("const newResult = {}");for(let b of h.keys)if(h.optionalKeys.has(b)){let y=p[b];f.write(`const ${y} = ${m(b)};`);let S=Vm(b);f.write(`
466
466
  if (${y}.issues.length) {
@@ -493,14 +493,14 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
493
493
  `:`[${n[l]}\r
494
494
  ]`;continue}i+=n[l],n[l]==="\\"?o=!0:a&&n[l]==="]"?a=!1:!a&&n[l]==="["&&(a=!0)}try{new RegExp(i)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return i}function lw(e,t){if(t.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),t.target==="openApi3"&&e.keyType?._def.typeName===st.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,i)=>({...n,[i]:xr(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",i]})??Di(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let r={type:"object",additionalProperties:xr(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return r;if(e.keyType?._def.typeName===st.ZodString&&e.keyType._def.checks?.length){let{type:n,...i}=sw(e.keyType._def,t);return{...r,propertyNames:i}}else{if(e.keyType?._def.typeName===st.ZodEnum)return{...r,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===st.ZodBranded&&e.keyType._def.type._def.typeName===st.ZodString&&e.keyType._def.type._def.checks?.length){let{type:n,...i}=aw(e.keyType._def,t);return{...r,propertyNames:i}}}return r}function tU(e,t){if(t.mapStrategy==="record")return lw(e,t);let r=xr(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||Di(t),n=xr(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||Di(t);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function rU(e){let t=e.values,n=Object.keys(e.values).filter(o=>typeof t[t[o]]!="number").map(o=>t[o]),i=Array.from(new Set(n.map(o=>typeof o)));return{type:i.length===1?i[0]==="string"?"string":"number":["string","number"],enum:n}}function nU(e){return e.target==="openAi"?void 0:{not:Di({...e,currentPath:[...e.currentPath,"not"]})}}function iU(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Qb={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function aU(e,t){if(t.target==="openApi3")return oU(e,t);let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in Qb&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((i,o)=>{let a=Qb[o._def.typeName];return a&&!i.includes(a)?[...i,a]:i},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((i,o)=>{let a=typeof o._def.value;switch(a){case"string":case"number":case"boolean":return[...i,a];case"bigint":return[...i,"integer"];case"object":if(o._def.value===null)return[...i,"null"];default:return i}},[]);if(n.length===r.length){let i=n.filter((o,a,s)=>s.indexOf(o)===a);return{type:i.length>1?i:i[0],enum:r.reduce((o,a)=>o.includes(a._def.value)?o:[...o,a._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,i)=>[...n,...i._def.values.filter(o=>!n.includes(o))],[])};return oU(e,t)}var oU=(e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,i)=>xr(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${i}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function sU(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target==="openApi3"?{type:Qb[e.innerType._def.typeName],nullable:!0}:{type:[Qb[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let n=xr(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=xr(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function lU(e,t){let r={type:"number"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"int":r.type="integer",rR(r,"type",n.message,t);break;case"min":t.target==="jsonSchema7"?n.inclusive?Tn(r,"minimum",n.value,n.message,t):Tn(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),Tn(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?Tn(r,"maximum",n.value,n.message,t):Tn(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),Tn(r,"maximum",n.value,n.message,t));break;case"multipleOf":Tn(r,"multipleOf",n.value,n.message,t);break}return r}function dU(e,t){let r=t.target==="openAi",n={type:"object",properties:{}},i=[],o=e.shape();for(let s in o){let l=o[s];if(l===void 0||l._def===void 0)continue;let d=$be(l);d&&r&&(l._def.typeName==="ZodOptional"&&(l=l._def.innerType),l.isNullable()||(l=l.nullable()),d=!1);let u=xr(l._def,{...t,currentPath:[...t.currentPath,"properties",s],propertyPath:[...t.currentPath,"properties",s]});u!==void 0&&(n.properties[s]=u,d||i.push(s))}i.length&&(n.required=i);let a=Mbe(e,t);return a!==void 0&&(n.additionalProperties=a),n}function Mbe(e,t){if(e.catchall._def.typeName!=="ZodNever")return xr(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function $be(e){try{return e.isOptional()}catch{return!0}}var uU=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return xr(e.innerType._def,t);let r=xr(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:Di(t)},r]}:Di(t)};var cU=(e,t)=>{if(t.pipeStrategy==="input")return xr(e.in._def,t);if(t.pipeStrategy==="output")return xr(e.out._def,t);let r=xr(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=xr(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(i=>i!==void 0)}};function fU(e,t){return xr(e.type._def,t)}function mU(e,t){let n={type:"array",uniqueItems:!0,items:xr(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&Tn(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&Tn(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function pU(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>xr(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:xr(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>xr(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function hU(e){return{not:Di(e)}}function _U(e){return Di(e)}var gU=(e,t)=>xr(e.innerType._def,t);var bU=(e,t,r)=>{switch(t){case st.ZodString:return sw(e,r);case st.ZodNumber:return lU(e,r);case st.ZodObject:return dU(e,r);case st.ZodBigInt:return H7(e,r);case st.ZodBoolean:return V7();case st.ZodDate:return nR(e,r);case st.ZodUndefined:return hU(r);case st.ZodNull:return iU(r);case st.ZodArray:return W7(e,r);case st.ZodUnion:case st.ZodDiscriminatedUnion:return aU(e,r);case st.ZodIntersection:return Y7(e,r);case st.ZodTuple:return pU(e,r);case st.ZodRecord:return lw(e,r);case st.ZodLiteral:return X7(e,r);case st.ZodEnum:return Q7(e);case st.ZodNativeEnum:return rU(e);case st.ZodNullable:return sU(e,r);case st.ZodOptional:return uU(e,r);case st.ZodMap:return tU(e,r);case st.ZodSet:return mU(e,r);case st.ZodLazy:return()=>e.getter()._def;case st.ZodPromise:return fU(e,r);case st.ZodNaN:case st.ZodNever:return nU(r);case st.ZodEffects:return Z7(e,r);case st.ZodAny:return Di(r);case st.ZodUnknown:return _U(r);case st.ZodDefault:return J7(e,r);case st.ZodBranded:return aw(e,r);case st.ZodReadonly:return gU(e,r);case st.ZodCatch:return K7(e,r);case st.ZodPipeline:return cU(e,r);case st.ZodFunction:case st.ZodVoid:case st.ZodSymbol:return;default:return(n=>{})(t)}};function xr(e,t,r=!1){let n=t.seen.get(e);if(t.override){let s=t.override?.(e,t,n,r);if(s!==L7)return s}if(n&&!r){let s=jbe(n,t);if(s!==void 0)return s}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let o=bU(e,e.typeName,t),a=typeof o=="function"?xr(o(),t):o;if(a&&Fbe(e,t,a),t.postProcess){let s=t.postProcess(a,e,t);return i.jsonSchema=a,s}return i.jsonSchema=a,a}var jbe=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:ow(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,n)=>t.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),Di(t)):t.$refStrategy==="seen"?Di(t):void 0}},Fbe=(e,t,r)=>(e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r);var aR=(e,t)=>{let r=B7(t),n=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((l,[d,u])=>({...l,[d]:xr(u._def,{...r,currentPath:[...r.basePath,r.definitionPath,d]},!0)??Di(r)}),{}):void 0,i=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,o=xr(e._def,i===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,i]},!1)??Di(r),a=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;a!==void 0&&(o.title=a),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let s=i===void 0?n?{...o,[r.definitionPath]:n}:o:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,i].join("/"),[r.definitionPath]:{...n,[i]:o}};return r.target==="jsonSchema7"?s.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(s.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in s||"oneOf"in s||"allOf"in s||"type"in s&&Array.isArray(s.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),s};function Nbe(e){return!e||e==="jsonSchema7"||e==="draft-7"?"draft-7":e==="jsonSchema2019-09"||e==="draft-2020-12"?"draft-2020-12":"draft-7"}function sR(e,t){return ml(e)?E2(e,{target:Nbe(t?.target),io:t?.pipeStrategy??"input"}):aR(e,{strictUnions:t?.strictUnions??!0,pipeStrategy:t?.pipeStrategy??"input"})}function lR(e){let r=Vc(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=iw(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function dR(e,t){let r=Hc(e,t);if(!r.success)throw r.error;return r.data}var qbe=6e4,dw=class{constructor(t){this._options=t,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(zv,r=>{this._oncancel(r)}),this.setNotificationHandler(Uv,r=>{this._onprogress(r)}),this.setRequestHandler(Lv,r=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Bv,async(r,n)=>{let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new Bt(or.InvalidParams,"Failed to retrieve task: Task not found");return{...i}}),this.setRequestHandler(Hv,async(r,n)=>{let i=async()=>{let o=r.params.taskId;if(this._taskMessageQueue){let s;for(;s=await this._taskMessageQueue.dequeue(o,n.sessionId);){if(s.type==="response"||s.type==="error"){let l=s.message,d=l.id,u=this._requestResolvers.get(d);if(u)if(this._requestResolvers.delete(d),s.type==="response")u(l);else{let c=l,f=new Bt(c.error.code,c.error.message,c.error.data);u(f)}else{let c=s.type==="response"?"Response":"Error";this._onerror(new Error(`${c} handler missing for request ${d}`))}continue}await this._transport?.send(s.message,{relatedRequestId:n.requestId})}}let a=await this._taskStore.getTask(o,n.sessionId);if(!a)throw new Bt(or.InvalidParams,`Task not found: ${o}`);if(!Kc(a.status))return await this._waitForTaskUpdate(o,n.signal),await i();if(Kc(a.status)){let s=await this._taskStore.getTaskResult(o,n.sessionId);return this._clearTaskQueue(o),{...s,_meta:{...s._meta,[Wc]:{taskId:o}}}}return await i()};return await i()}),this.setRequestHandler(Vv,async(r,n)=>{try{let{tasks:i,nextCursor:o}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:i,nextCursor:o,_meta:{}}}catch(i){throw new Bt(or.InvalidParams,`Failed to list tasks: ${i instanceof Error?i.message:String(i)}`)}}),this.setRequestHandler(Jv,async(r,n)=>{try{let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new Bt(or.InvalidParams,`Task not found: ${r.params.taskId}`);if(Kc(i.status))throw new Bt(or.InvalidParams,`Cannot cancel task in terminal status: ${i.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new Bt(or.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...o}}catch(i){throw i instanceof Bt?i:new Bt(or.InvalidRequest,`Failed to cancel task: ${i instanceof Error?i.message:String(i)}`)}}))}async _oncancel(t){if(!t.params.requestId)return;this._requestHandlerAbortControllers.get(t.params.requestId)?.abort(t.params.reason)}_setupTimeout(t,r,n,i,o=!1){this._timeoutInfo.set(t,{timeoutId:setTimeout(i,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:o,onTimeout:i})}_resetTimeout(t){let r=this._timeoutInfo.get(t);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(t),Bt.fromError(or.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(t){let r=this._timeoutInfo.get(t);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(t))}async connect(t){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=t;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=o=>{n?.(o),this._onerror(o)};let i=this._transport?.onmessage;this._transport.onmessage=(o,a)=>{i?.(o,a),Lb(o)||O7(o)?this._onresponse(o):z2(o)?this._onrequest(o,a):C7(o)?this._onnotification(o):this._onerror(new Error(`Unknown message type: ${JSON.stringify(o)}`))},await this._transport.start()}_onclose(){let t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._timeoutInfo.values())clearTimeout(n.timeoutId);this._timeoutInfo.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=Bt.fromError(or.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of t.values())n(r)}_onerror(t){this.onerror?.(t)}_onnotification(t){let r=this._notificationHandlers.get(t.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(t)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(t,r){let n=this._requestHandlers.get(t.method)??this.fallbackRequestHandler,i=this._transport,o=t.params?._meta?.[Wc]?.taskId;if(n===void 0){let u={jsonrpc:"2.0",id:t.id,error:{code:or.MethodNotFound,message:"Method not found"}};o&&this._taskMessageQueue?this._enqueueTaskMessage(o,{type:"error",message:u,timestamp:Date.now()},i?.sessionId).catch(c=>this._onerror(new Error(`Failed to enqueue error response: ${c}`))):i?.send(u).catch(c=>this._onerror(new Error(`Failed to send an error response: ${c}`)));return}let a=new AbortController;this._requestHandlerAbortControllers.set(t.id,a);let s=w7(t.params)?t.params.task:void 0,l=this._taskStore?this.requestTaskStore(t,i?.sessionId):void 0,d={signal:a.signal,sessionId:i?.sessionId,_meta:t.params?._meta,sendNotification:async u=>{if(a.signal.aborted)return;let c={relatedRequestId:t.id};o&&(c.relatedTask={taskId:o}),await this.notification(u,c)},sendRequest:async(u,c,f)=>{if(a.signal.aborted)throw new Bt(or.ConnectionClosed,"Request was cancelled");let h={...f,relatedRequestId:t.id};o&&!h.relatedTask&&(h.relatedTask={taskId:o});let m=h.relatedTask?.taskId??o;return m&&l&&await l.updateTaskStatus(m,"input_required"),await this.request(u,c,h)},authInfo:r?.authInfo,requestId:t.id,requestInfo:r?.requestInfo,taskId:o,taskStore:l,taskRequestedTtl:s?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{s&&this.assertTaskHandlerCapability(t.method)}).then(()=>n(t,d)).then(async u=>{if(a.signal.aborted)return;let c={result:u,jsonrpc:"2.0",id:t.id};o&&this._taskMessageQueue?await this._enqueueTaskMessage(o,{type:"response",message:c,timestamp:Date.now()},i?.sessionId):await i?.send(c)},async u=>{if(a.signal.aborted)return;let c={jsonrpc:"2.0",id:t.id,error:{code:Number.isSafeInteger(u.code)?u.code:or.InternalError,message:u.message??"Internal error",...u.data!==void 0&&{data:u.data}}};o&&this._taskMessageQueue?await this._enqueueTaskMessage(o,{type:"error",message:c,timestamp:Date.now()},i?.sessionId):await i?.send(c)}).catch(u=>this._onerror(new Error(`Failed to send response: ${u}`))).finally(()=>{this._requestHandlerAbortControllers.get(t.id)===a&&this._requestHandlerAbortControllers.delete(t.id)})}_onprogress(t){let{progressToken:r,...n}=t.params,i=Number(r),o=this._progressHandlers.get(i);if(!o){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(t)}`));return}let a=this._responseHandlers.get(i),s=this._timeoutInfo.get(i);if(s&&a&&s.resetTimeoutOnProgress)try{this._resetTimeout(i)}catch(l){this._responseHandlers.delete(i),this._progressHandlers.delete(i),this._cleanupTimeout(i),a(l);return}o(n)}_onresponse(t){let r=Number(t.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Lb(t))n(t);else{let a=new Bt(t.error.code,t.error.message,t.error.data);n(a)}return}let i=this._responseHandlers.get(r);if(i===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(t)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let o=!1;if(Lb(t)&&t.result&&typeof t.result=="object"){let a=t.result;if(a.task&&typeof a.task=="object"){let s=a.task;typeof s.taskId=="string"&&(o=!0,this._taskProgressTokens.set(s.taskId,r))}}if(o||this._progressHandlers.delete(r),Lb(t))i(t);else{let a=Bt.fromError(t.error.code,t.error.message,t.error.data);i(a)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(t,r,n){let{task:i}=n??{};if(!i){try{yield{type:"result",result:await this.request(t,r,n)}}catch(a){yield{type:"error",error:a instanceof Bt?a:new Bt(or.InternalError,String(a))}}return}let o;try{let a=await this.request(t,b_,n);if(a.task)o=a.task.taskId,yield{type:"taskCreated",task:a.task};else throw new Bt(or.InternalError,"Task creation did not return a task");for(;;){let s=await this.getTask({taskId:o},n);if(yield{type:"taskStatus",task:s},Kc(s.status)){s.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:o},r,n)}:s.status==="failed"?yield{type:"error",error:new Bt(or.InternalError,`Task ${o} failed`)}:s.status==="cancelled"&&(yield{type:"error",error:new Bt(or.InternalError,`Task ${o} was cancelled`)});return}if(s.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:o},r,n)};return}let l=s.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(d=>setTimeout(d,l)),n?.signal?.throwIfAborted()}}catch(a){yield{type:"error",error:a instanceof Bt?a:new Bt(or.InternalError,String(a))}}}request(t,r,n){let{relatedRequestId:i,resumptionToken:o,onresumptiontoken:a,task:s,relatedTask:l}=n??{};return new Promise((d,u)=>{let c=b=>{u(b)};if(!this._transport){c(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(t.method),s&&this.assertTaskCapability(t.method)}catch(b){c(b);return}n?.signal?.throwIfAborted();let f=this._requestMessageId++,h={...t,jsonrpc:"2.0",id:f};n?.onprogress&&(this._progressHandlers.set(f,n.onprogress),h.params={...t.params,_meta:{...t.params?._meta||{},progressToken:f}}),s&&(h.params={...h.params,task:s}),l&&(h.params={...h.params,_meta:{...h.params?._meta||{},[Wc]:l}});let m=b=>{this._responseHandlers.delete(f),this._progressHandlers.delete(f),this._cleanupTimeout(f),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:f,reason:String(b)}},{relatedRequestId:i,resumptionToken:o,onresumptiontoken:a}).catch(S=>this._onerror(new Error(`Failed to send cancellation: ${S}`)));let y=b instanceof Bt?b:new Bt(or.RequestTimeout,String(b));u(y)};this._responseHandlers.set(f,b=>{if(!n?.signal?.aborted){if(b instanceof Error)return u(b);try{let y=Hc(r,b.result);y.success?d(y.data):u(y.error)}catch(y){u(y)}}}),n?.signal?.addEventListener("abort",()=>{m(n?.signal?.reason)});let p=n?.timeout??qbe,_=()=>m(Bt.fromError(or.RequestTimeout,"Request timed out",{timeout:p}));this._setupTimeout(f,p,n?.maxTotalTimeout,_,n?.resetTimeoutOnProgress??!1);let g=l?.taskId;if(g){let b=y=>{let S=this._responseHandlers.get(f);S?S(y):this._onerror(new Error(`Response handler missing for side-channeled request ${f}`))};this._requestResolvers.set(f,b),this._enqueueTaskMessage(g,{type:"request",message:h,timestamp:Date.now()}).catch(y=>{this._cleanupTimeout(f),u(y)})}else this._transport.send(h,{relatedRequestId:i,resumptionToken:o,onresumptiontoken:a}).catch(b=>{this._cleanupTimeout(f),u(b)})})}async getTask(t,r){return this.request({method:"tasks/get",params:t},Wv,r)}async getTaskResult(t,r,n){return this.request({method:"tasks/result",params:t},r,n)}async listTasks(t,r){return this.request({method:"tasks/list",params:t},Kv,r)}async cancelTask(t,r){return this.request({method:"tasks/cancel",params:t},G7,r)}async notification(t,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(t.method);let n=r?.relatedTask?.taskId;if(n){let s={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[Wc]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:s,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(t.method),!this._transport)return;let s={...t,jsonrpc:"2.0"};r?.relatedTask&&(s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[Wc]:r.relatedTask}}}),this._transport?.send(s,r).catch(l=>this._onerror(l))});return}let a={...t,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[Wc]:r.relatedTask}}}),await this._transport.send(a,r)}setRequestHandler(t,r){let n=lR(t);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(i,o)=>{let a=dR(t,i);return Promise.resolve(r(a,o))})}removeRequestHandler(t){this._requestHandlers.delete(t)}assertCanSetRequestHandler(t){if(this._requestHandlers.has(t))throw new Error(`A request handler for ${t} already exists, which would be overridden`)}setNotificationHandler(t,r){let n=lR(t);this._notificationHandlers.set(n,i=>{let o=dR(t,i);return Promise.resolve(r(o))})}removeNotificationHandler(t){this._notificationHandlers.delete(t)}_cleanupTaskProgressHandler(t){let r=this._taskProgressTokens.get(t);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(t))}async _enqueueTaskMessage(t,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let i=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(t,r,n,i)}async _clearTaskQueue(t,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(t,r);for(let i of n)if(i.type==="request"&&z2(i.message)){let o=i.message.id,a=this._requestResolvers.get(o);a?(a(new Bt(or.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(o)):this._onerror(new Error(`Resolver missing for request ${o} during task ${t} cleanup`))}}}async _waitForTaskUpdate(t,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let i=await this._taskStore?.getTask(t);i?.pollInterval&&(n=i.pollInterval)}catch{}return new Promise((i,o)=>{if(r.aborted){o(new Bt(or.InvalidRequest,"Request cancelled"));return}let a=setTimeout(i,n);r.addEventListener("abort",()=>{clearTimeout(a),o(new Bt(or.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(t,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async i=>{if(!t)throw new Error("No request provided");return await n.createTask(i,t.id,{method:t.method,params:t.params},r)},getTask:async i=>{let o=await n.getTask(i,r);if(!o)throw new Bt(or.InvalidParams,"Failed to retrieve task: Task not found");return o},storeTaskResult:async(i,o,a)=>{await n.storeTaskResult(i,o,a,r);let s=await n.getTask(i,r);if(s){let l=Vb.parse({method:"notifications/tasks/status",params:s});await this.notification(l),Kc(s.status)&&this._cleanupTaskProgressHandler(i)}},getTaskResult:i=>n.getTaskResult(i,r),updateTaskStatus:async(i,o,a)=>{let s=await n.getTask(i,r);if(!s)throw new Bt(or.InvalidParams,`Task "${i}" not found - it may have been cleaned up`);if(Kc(s.status))throw new Bt(or.InvalidParams,`Cannot update task "${i}" from terminal status "${s.status}" to "${o}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(i,o,a,r);let l=await n.getTask(i,r);if(l){let d=Vb.parse({method:"notifications/tasks/status",params:l});await this.notification(d),Kc(l.status)&&this._cleanupTaskProgressHandler(i)}},listTasks:i=>n.listTasks(i,r)}}};function yU(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function xU(e,t){let r={...e};for(let n in t){let i=n,o=t[i];if(o===void 0)continue;let a=r[i];yU(a)&&yU(o)?r[i]={...a,...o}:r[i]=o}return r}var aH=xa(KI(),1),sH=xa(oH(),1);function Pwe(){let e=new aH.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,sH.default)(e),e}var Hw=class{constructor(t){this._ajv=t??Pwe()}getValidator(t){let r="$id"in t&&typeof t.$id=="string"?this._ajv.getSchema(t.$id)??this._ajv.compile(t):this._ajv.compile(t);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var Vw=class{constructor(t){this._server=t}requestStream(t,r,n){return this._server.requestStream(t,r,n)}createMessageStream(t,r){let n=this._server.getClientCapabilities();if((t.tools||t.toolChoice)&&!n?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(t.messages.length>0){let i=t.messages[t.messages.length-1],o=Array.isArray(i.content)?i.content:[i.content],a=o.some(u=>u.type==="tool_result"),s=t.messages.length>1?t.messages[t.messages.length-2]:void 0,l=s?Array.isArray(s.content)?s.content:[s.content]:[],d=l.some(u=>u.type==="tool_use");if(a){if(o.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!d)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(d){let u=new Set(l.filter(f=>f.type==="tool_use").map(f=>f.id)),c=new Set(o.filter(f=>f.type==="tool_result").map(f=>f.toolUseId));if(u.size!==c.size||![...u].every(f=>c.has(f)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:t},Zb,r)}elicitInputStream(t,r){let n=this._server.getClientCapabilities(),i=t.mode??"form";switch(i){case"url":{if(!n?.elicitation?.url)throw new Error("Client does not support url elicitation.");break}case"form":{if(!n?.elicitation?.form)throw new Error("Client does not support form elicitation.");break}}let o=i==="form"&&t.mode===void 0?{...t,mode:"form"}:t;return this.requestStream({method:"elicitation/create",params:o},v_,r)}async getTask(t,r){return this._server.getTask({taskId:t},r)}async getTaskResult(t,r,n){return this._server.getTaskResult({taskId:t},r,n)}async listTasks(t,r){return this._server.listTasks(t?{cursor:t}:void 0,r)}async cancelTask(t,r){return this._server.cancelTask({taskId:t},r)}};function lH(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"tools/call":if(!e.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${t})`);break;default:break}}function dH(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"sampling/createMessage":if(!e.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${t})`);break;case"elicitation/create":if(!e.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${t})`);break;default:break}}var Kw=class extends dw{constructor(t,r){super(r),this._serverInfo=t,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Jb.options.map((n,i)=>[n,i])),this.isMessageIgnored=(n,i)=>{let o=this._loggingLevels.get(i);return o?this.LOG_LEVEL_SEVERITY.get(n)<this.LOG_LEVEL_SEVERITY.get(o):!1},this._capabilities=r?.capabilities??{},this._instructions=r?.instructions,this._jsonSchemaValidator=r?.jsonSchemaValidator??new Hw,this.setRequestHandler(B2,n=>this._oninitialize(n)),this.setNotificationHandler(W2,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(Y2,async(n,i)=>{let o=i.sessionId||i.requestInfo?.headers["mcp-session-id"]||void 0,{level:a}=n.params,s=Jb.safeParse(a);return s.success&&this._loggingLevels.set(o,s.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new Vw(this)}),this._experimental}registerCapabilities(t){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=xU(this._capabilities,t)}setRequestHandler(t,r){let i=Vc(t)?.method;if(!i)throw new Error("Schema is missing a method literal");let o;if(ml(i)){let s=i;o=s._zod?.def?.value??s.value}else{let s=i;o=s._def?.value??s.value}if(typeof o!="string")throw new Error("Schema method literal must be a string");if(o==="tools/call"){let s=async(l,d)=>{let u=Hc(T_,l);if(!u.success){let m=u.error instanceof Error?u.error.message:String(u.error);throw new Bt(or.InvalidParams,`Invalid tools/call request: ${m}`)}let{params:c}=u.data,f=await Promise.resolve(r(l,d));if(c.task){let m=Hc(b_,f);if(!m.success){let p=m.error instanceof Error?m.error.message:String(m.error);throw new Bt(or.InvalidParams,`Invalid task creation result: ${p}`)}return m.data}let h=Hc(ew,f);if(!h.success){let m=h.error instanceof Error?h.error.message:String(h.error);throw new Bt(or.InvalidParams,`Invalid tools/call result: ${m}`)}return h.data};return super.setRequestHandler(t,s)}return super.setRequestHandler(t,r)}assertCapabilityForMethod(t){switch(t){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${t})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${t})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${t})`);break;case"ping":break}}assertNotificationCapability(t){switch(t){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${t})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${t})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${t})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${t})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(t){if(this._capabilities)switch(t){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${t})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${t})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${t})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${t})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${t})`);break;case"ping":case"initialize":break}}assertTaskCapability(t){dH(this._clientCapabilities?.tasks?.requests,t,"Client")}assertTaskHandlerCapability(t){this._capabilities&&lH(this._capabilities.tasks?.requests,t,"Server")}async _oninitialize(t){let r=t.params.protocolVersion;return this._clientCapabilities=t.params.capabilities,this._clientVersion=t.params.clientInfo,{protocolVersion:S7.includes(r)?r:N2,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},qv)}async createMessage(t,r){if((t.tools||t.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(t.messages.length>0){let n=t.messages[t.messages.length-1],i=Array.isArray(n.content)?n.content:[n.content],o=i.some(d=>d.type==="tool_result"),a=t.messages.length>1?t.messages[t.messages.length-2]:void 0,s=a?Array.isArray(a.content)?a.content:[a.content]:[],l=s.some(d=>d.type==="tool_use");if(o){if(i.some(d=>d.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!l)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(l){let d=new Set(s.filter(c=>c.type==="tool_use").map(c=>c.id)),u=new Set(i.filter(c=>c.type==="tool_result").map(c=>c.toolUseId));if(d.size!==u.size||![...d].every(c=>u.has(c)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return t.tools?this.request({method:"sampling/createMessage",params:t},X2,r):this.request({method:"sampling/createMessage",params:t},Zb,r)}async elicitInput(t,r){switch(t.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let i=t;return this.request({method:"elicitation/create",params:i},v_,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let i=t.mode==="form"?t:{...t,mode:"form"},o=await this.request({method:"elicitation/create",params:i},v_,r);if(o.action==="accept"&&o.content&&i.requestedSchema)try{let s=this._jsonSchemaValidator.getValidator(i.requestedSchema)(o.content);if(!s.valid)throw new Bt(or.InvalidParams,`Elicitation response content does not match requested schema: ${s.errorMessage}`)}catch(a){throw a instanceof Bt?a:new Bt(or.InternalError,`Error validating elicitation response: ${a instanceof Error?a.message:String(a)}`)}return o}}}createElicitationCompletionNotifier(t,r){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:t}},r)}async listRoots(t,r){return this.request({method:"roots/list",params:t},eR,r)}async sendLoggingMessage(t,r){if(this._capabilities.logging&&!this.isMessageIgnored(t.level,r))return this.notification({method:"notifications/message",params:t})}async sendResourceUpdated(t){return this.notification({method:"notifications/resources/updated",params:t})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}};var cH=Symbol.for("mcp.completable");function rD(e){return!!e&&typeof e=="object"&&cH in e}function fH(e){return e[cH]?.complete}var uH;(function(e){e.Completable="McpCompletable"})(uH||(uH={}));var Gwe=/^[A-Za-z0-9._-]{1,128}$/;function Rwe(e){let t=[];if(e.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(e.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${e.length})`]};if(e.includes(" ")&&t.push("Tool name contains spaces, which may cause parsing issues"),e.includes(",")&&t.push("Tool name contains commas, which may cause parsing issues"),(e.startsWith("-")||e.endsWith("-"))&&t.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts"),(e.startsWith(".")||e.endsWith("."))&&t.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts"),!Gwe.test(e)){let r=e.split("").filter(n=>!/[A-Za-z0-9._-]/.test(n)).filter((n,i,o)=>o.indexOf(n)===i);return t.push(`Tool name contains invalid characters: ${r.map(n=>`"${n}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:t}}return{isValid:!0,warnings:t}}function Iwe(e,t){if(t.length>0){console.warn(`Tool name validation warning for "${e}":`);for(let r of t)console.warn(` - ${r}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function nD(e){let t=Rwe(e);return Iwe(e,t.warnings),t.isValid}var Jw=class{constructor(t){this._mcpServer=t}registerToolTask(t,r,n){let i={taskSupport:"required",...r.execution};if(i.taskSupport==="forbidden")throw new Error(`Cannot register task-based tool '${t}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(t,r.title,r.description,r.inputSchema,r.outputSchema,r.annotations,i,r._meta,n)}};var Zw=class{constructor(t,r){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new Kw(t,r)}get experimental(){return this._experimental||(this._experimental={tasks:new Jw(this)}),this._experimental}async connect(t){return await this.server.connect(t)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(nf(Xv)),this.server.assertCanSetRequestHandler(nf(T_)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(Xv,()=>({tools:Object.entries(this._registeredTools).filter(([,t])=>t.enabled).map(([t,r])=>{let n={name:t,title:r.title,description:r.description,inputSchema:(()=>{let i=w_(r.inputSchema);return i?sR(i,{strictUnions:!0,pipeStrategy:"input"}):Dwe})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let i=w_(r.outputSchema);i&&(n.outputSchema=sR(i,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(T_,async(t,r)=>{try{let n=this._registeredTools[t.params.name];if(!n)throw new Bt(or.InvalidParams,`Tool ${t.params.name} not found`);if(!n.enabled)throw new Bt(or.InvalidParams,`Tool ${t.params.name} disabled`);let i=!!t.params.task,o=n.execution?.taskSupport,a="createTask"in n.handler;if((o==="required"||o==="optional")&&!a)throw new Bt(or.InternalError,`Tool ${t.params.name} has taskSupport '${o}' but was not registered with registerToolTask`);if(o==="required"&&!i)throw new Bt(or.MethodNotFound,`Tool ${t.params.name} requires task augmentation (taskSupport: 'required')`);if(o==="optional"&&!i&&a)return await this.handleAutomaticTaskPolling(n,t,r);let s=await this.validateToolInput(n,t.params.arguments,t.params.name),l=await this.executeToolHandler(n,s,r);return i||await this.validateToolOutput(n,l,t.params.name),l}catch(n){if(n instanceof Bt&&n.code===or.UrlElicitationRequired)throw n;return this.createToolError(n instanceof Error?n.message:String(n))}}),this._toolHandlersInitialized=!0)}createToolError(t){return{content:[{type:"text",text:t}],isError:!0}}async validateToolInput(t,r,n){if(!t.inputSchema)return;let o=w_(t.inputSchema)??t.inputSchema,a=await rw(o,r);if(!a.success){let s="error"in a?a.error:"Unknown error",l=nw(s);throw new Bt(or.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${l}`)}return a.data}async validateToolOutput(t,r,n){if(!t.outputSchema||!("content"in r)||r.isError)return;if(!r.structuredContent)throw new Bt(or.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let i=w_(t.outputSchema),o=await rw(i,r.structuredContent);if(!o.success){let a="error"in o?o.error:"Unknown error",s=nw(a);throw new Bt(or.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${s}`)}}async executeToolHandler(t,r,n){let i=t.handler;if("createTask"in i){if(!n.taskStore)throw new Error("No task store provided.");let a={...n,taskStore:n.taskStore};if(t.inputSchema){let s=i;return await Promise.resolve(s.createTask(r,a))}else{let s=i;return await Promise.resolve(s.createTask(a))}}if(t.inputSchema){let a=i;return await Promise.resolve(a(r,n))}else{let a=i;return await Promise.resolve(a(n))}}async handleAutomaticTaskPolling(t,r,n){if(!n.taskStore)throw new Error("No task store provided for task-capable tool.");let i=await this.validateToolInput(t,r.params.arguments,r.params.name),o=t.handler,a={...n,taskStore:n.taskStore},s=i?await Promise.resolve(o.createTask(i,a)):await Promise.resolve(o.createTask(a)),l=s.task.taskId,d=s.task,u=d.pollInterval??5e3;for(;d.status!=="completed"&&d.status!=="failed"&&d.status!=="cancelled";){await new Promise(f=>setTimeout(f,u));let c=await n.taskStore.getTask(l);if(!c)throw new Bt(or.InternalError,`Task ${l} not found during polling`);d=c}return await n.taskStore.getTaskResult(l)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(nf(tw)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(tw,async t=>{switch(t.params.ref.type){case"ref/prompt":return j7(t),this.handlePromptCompletion(t,t.params.ref);case"ref/resource":return F7(t),this.handleResourceCompletion(t,t.params.ref);default:throw new Bt(or.InvalidParams,`Invalid completion reference: ${t.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(t,r){let n=this._registeredPrompts[r.name];if(!n)throw new Bt(or.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new Bt(or.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return Cy;let o=Vc(n.argsSchema)?.[t.params.argument.name];if(!rD(o))return Cy;let a=fH(o);if(!a)return Cy;let s=await a(t.params.argument.value,t.params.context);return pH(s)}async handleResourceCompletion(t,r){let n=Object.values(this._registeredResourceTemplates).find(a=>a.resourceTemplate.uriTemplate.toString()===r.uri);if(!n){if(this._registeredResources[r.uri])return Cy;throw new Bt(or.InvalidParams,`Resource template ${t.params.ref.uri} not found`)}let i=n.resourceTemplate.completeCallback(t.params.argument.name);if(!i)return Cy;let o=await i(t.params.argument.value,t.params.context);return pH(o)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(nf(x_)),this.server.assertCanSetRequestHandler(nf(S_)),this.server.assertCanSetRequestHandler(nf(Zv)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(x_,async(t,r)=>{let n=Object.entries(this._registeredResources).filter(([o,a])=>a.enabled).map(([o,a])=>({uri:o,name:a.name,...a.metadata})),i=[];for(let o of Object.values(this._registeredResourceTemplates)){if(!o.resourceTemplate.listCallback)continue;let a=await o.resourceTemplate.listCallback(r);for(let s of a.resources)i.push({...o.metadata,...s})}return{resources:[...n,...i]}}),this.server.setRequestHandler(S_,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(Zv,async(t,r)=>{let n=new URL(t.params.uri),i=this._registeredResources[n.toString()];if(i){if(!i.enabled)throw new Bt(or.InvalidParams,`Resource ${n} disabled`);return i.readCallback(n,r)}for(let o of Object.values(this._registeredResourceTemplates)){let a=o.resourceTemplate.uriTemplate.match(n.toString());if(a)return o.readCallback(n,a,r)}throw new Bt(or.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(nf(Qv)),this.server.assertCanSetRequestHandler(nf(Yv)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(Qv,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,t])=>t.enabled).map(([t,r])=>({name:t,title:r.title,description:r.description,arguments:r.argsSchema?Mwe(r.argsSchema):void 0}))})),this.server.setRequestHandler(Yv,async(t,r)=>{let n=this._registeredPrompts[t.params.name];if(!n)throw new Bt(or.InvalidParams,`Prompt ${t.params.name} not found`);if(!n.enabled)throw new Bt(or.InvalidParams,`Prompt ${t.params.name} disabled`);if(n.argsSchema){let i=w_(n.argsSchema),o=await rw(i,t.params.arguments);if(!o.success){let l="error"in o?o.error:"Unknown error",d=nw(l);throw new Bt(or.InvalidParams,`Invalid arguments for prompt ${t.params.name}: ${d}`)}let a=o.data,s=n.callback;return await Promise.resolve(s(a,r))}else{let i=n.callback;return await Promise.resolve(i(r))}}),this._promptHandlersInitialized=!0)}resource(t,r,...n){let i;typeof n[0]=="object"&&(i=n.shift());let o=n[0];if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let a=this._createRegisteredResource(t,void 0,r,i,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),a}else{if(this._registeredResourceTemplates[t])throw new Error(`Resource template ${t} is already registered`);let a=this._createRegisteredResourceTemplate(t,void 0,r,i,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),a}}registerResource(t,r,n,i){if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let o=this._createRegisteredResource(t,n.title,r,n,i);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),o}else{if(this._registeredResourceTemplates[t])throw new Error(`Resource template ${t} is already registered`);let o=this._createRegisteredResourceTemplate(t,n.title,r,n,i);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),o}}_createRegisteredResource(t,r,n,i,o){let a={name:t,title:r,metadata:i,readCallback:o,enabled:!0,disable:()=>a.update({enabled:!1}),enable:()=>a.update({enabled:!0}),remove:()=>a.update({uri:null}),update:s=>{typeof s.uri<"u"&&s.uri!==n&&(delete this._registeredResources[n],s.uri&&(this._registeredResources[s.uri]=a)),typeof s.name<"u"&&(a.name=s.name),typeof s.title<"u"&&(a.title=s.title),typeof s.metadata<"u"&&(a.metadata=s.metadata),typeof s.callback<"u"&&(a.readCallback=s.callback),typeof s.enabled<"u"&&(a.enabled=s.enabled),this.sendResourceListChanged()}};return this._registeredResources[n]=a,a}_createRegisteredResourceTemplate(t,r,n,i,o){let a={resourceTemplate:n,title:r,metadata:i,readCallback:o,enabled:!0,disable:()=>a.update({enabled:!1}),enable:()=>a.update({enabled:!0}),remove:()=>a.update({name:null}),update:d=>{typeof d.name<"u"&&d.name!==t&&(delete this._registeredResourceTemplates[t],d.name&&(this._registeredResourceTemplates[d.name]=a)),typeof d.title<"u"&&(a.title=d.title),typeof d.template<"u"&&(a.resourceTemplate=d.template),typeof d.metadata<"u"&&(a.metadata=d.metadata),typeof d.callback<"u"&&(a.readCallback=d.callback),typeof d.enabled<"u"&&(a.enabled=d.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[t]=a;let s=n.uriTemplate.variableNames;return Array.isArray(s)&&s.some(d=>!!n.completeCallback(d))&&this.setCompletionRequestHandler(),a}_createRegisteredPrompt(t,r,n,i,o){let a={title:r,description:n,argsSchema:i===void 0?void 0:Xm(i),callback:o,enabled:!0,disable:()=>a.update({enabled:!1}),enable:()=>a.update({enabled:!0}),remove:()=>a.update({name:null}),update:s=>{typeof s.name<"u"&&s.name!==t&&(delete this._registeredPrompts[t],s.name&&(this._registeredPrompts[s.name]=a)),typeof s.title<"u"&&(a.title=s.title),typeof s.description<"u"&&(a.description=s.description),typeof s.argsSchema<"u"&&(a.argsSchema=Xm(s.argsSchema)),typeof s.callback<"u"&&(a.callback=s.callback),typeof s.enabled<"u"&&(a.enabled=s.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[t]=a,i&&Object.values(i).some(l=>{let d=l instanceof hs?l._def?.innerType:l;return rD(d)})&&this.setCompletionRequestHandler(),a}_createRegisteredTool(t,r,n,i,o,a,s,l,d){nD(t);let u={title:r,description:n,inputSchema:mH(i),outputSchema:mH(o),annotations:a,execution:s,_meta:l,handler:d,enabled:!0,disable:()=>u.update({enabled:!1}),enable:()=>u.update({enabled:!0}),remove:()=>u.update({name:null}),update:c=>{typeof c.name<"u"&&c.name!==t&&(typeof c.name=="string"&&nD(c.name),delete this._registeredTools[t],c.name&&(this._registeredTools[c.name]=u)),typeof c.title<"u"&&(u.title=c.title),typeof c.description<"u"&&(u.description=c.description),typeof c.paramsSchema<"u"&&(u.inputSchema=Xm(c.paramsSchema)),typeof c.outputSchema<"u"&&(u.outputSchema=Xm(c.outputSchema)),typeof c.callback<"u"&&(u.handler=c.callback),typeof c.annotations<"u"&&(u.annotations=c.annotations),typeof c._meta<"u"&&(u._meta=c._meta),typeof c.enabled<"u"&&(u.enabled=c.enabled),this.sendToolListChanged()}};return this._registeredTools[t]=u,this.setToolRequestHandlers(),this.sendToolListChanged(),u}tool(t,...r){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let n,i,o,a;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let l=r[0];if(iD(l))i=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!iD(r[0])&&(a=r.shift());else if(typeof l=="object"&&l!==null){if(Object.values(l).some(d=>typeof d=="object"&&d!==null))throw new Error(`Tool ${t} expected a Zod schema or ToolAnnotations, but received an unrecognized object`);a=r.shift()}}let s=r[0];return this._createRegisteredTool(t,void 0,n,i,o,a,{taskSupport:"forbidden"},void 0,s)}registerTool(t,r,n){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let{title:i,description:o,inputSchema:a,outputSchema:s,annotations:l,_meta:d}=r;return this._createRegisteredTool(t,i,o,a,s,l,{taskSupport:"forbidden"},d,n)}prompt(t,...r){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let i;r.length>1&&(i=r.shift());let o=r[0],a=this._createRegisteredPrompt(t,void 0,n,i,o);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}registerPrompt(t,r,n){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let{title:i,description:o,argsSchema:a}=r,s=this._createRegisteredPrompt(t,i,o,a,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),s}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(t,r){return this.server.sendLoggingMessage(t,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}};var Dwe={type:"object",properties:{}};function hH(e){return e!==null&&typeof e=="object"&&"parse"in e&&typeof e.parse=="function"&&"safeParse"in e&&typeof e.safeParse=="function"}function _H(e){return"_def"in e||"_zod"in e||hH(e)}function iD(e){return typeof e!="object"||e===null||_H(e)?!1:Object.keys(e).length===0?!0:Object.values(e).some(hH)}function mH(e){if(e){if(iD(e))return Xm(e);if(!_H(e))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return e}}function Mwe(e){let t=Vc(e);return t?Object.entries(t).map(([r,n])=>{let i=N7(n),o=q7(n);return{name:r,description:i,required:!o}}):[]}function nf(e){let r=Vc(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=iw(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function pH(e){return{completion:{values:e.slice(0,100),total:e.length,hasMore:e.length>100}}}var Cy={completion:{values:[],hasMore:!1}};import bH from"node:process";var Qw=class{append(t){this._buffer=this._buffer?Buffer.concat([this._buffer,t]):t}readMessage(){if(!this._buffer)return null;let t=this._buffer.indexOf(`
495
495
  `);if(t===-1)return null;let r=this._buffer.toString("utf8",0,t).replace(/\r$/,"");return this._buffer=this._buffer.subarray(t+1),jwe(r)}clear(){this._buffer=void 0}};function jwe(e){return E7.parse(JSON.parse(e))}function gH(e){return JSON.stringify(e)+`
496
- `}var Yw=class{constructor(t=bH.stdin,r=bH.stdout){this._stdin=t,this._stdout=r,this._readBuffer=new Qw,this._started=!1,this._ondata=n=>{this._readBuffer.append(n),this.processReadBuffer()},this._onerror=n=>{this.onerror?.(n)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let t=this._readBuffer.readMessage();if(t===null)break;this.onmessage?.(t)}catch(t){this.onerror?.(t)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(t){return new Promise(r=>{let n=gH(t);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};function Nwe(e){let t={};t.listChanged=!1;let r={};r.resources=t,e.server.registerCapabilities(r),e.server.setRequestHandler(x_,()=>{let n={};return n.resources=[],n}),e.server.setRequestHandler(S_,()=>{let n={};return n.resourceTemplates=[],n})}function qwe(e){return{registerTool:(t,r,n,i)=>{e.tool(t,r,n,i)}}}function zwe(e){return(t,r)=>e.server.elicitInput(t,{timeout:r})}async function oD(e){let t=e.delegationAuthFilePath;if(t!==void 0){let a=e.explicitToken,s=e.authFilePath;if(a!==void 0)return{TAG:"Error",_0:"--delegation-auth-file cannot be combined with --token or --auth-file"};if(s!==void 0)return{TAG:"Error",_0:"--delegation-auth-file cannot be combined with --token or --auth-file"};let l=Q3(t,Date.now());if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0.summary};let d=l._0;return{TAG:"Ok",_0:{initialAccessToken:d.accessToken,accessToken:{TAG:"StaticAccessToken",_0:d.accessToken},mode:"PersonalAgentDelegation"}}}let r=await $8(e.serviceUrl,e.explicitToken,e.authFilePath,e.workspaceSlug,e.channelSlug,void 0);if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0.summary};let n=r._0,i=e.explicitToken,o;if(i!==void 0)o={TAG:"StaticAccessToken",_0:n};else{let a=e.authFilePath,s=a!==void 0?a:Qh();o={TAG:"DynamicAccessToken",_0:()=>{let l=Yh(e.serviceUrl,s,Date.now());if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0.summary};let d=l._0;return d!==void 0?{TAG:"Ok",_0:d.accessToken}:{TAG:"Error",_0:rP}}}}return{TAG:"Ok",_0:{initialAccessToken:n,accessToken:o,mode:"LocalRunner"}}}function aD(e,t){let r=Yi(e,"token");return{serviceUrl:t,explicitToken:r!==void 0?r:process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:Yi(e,"auth-file"),delegationAuthFilePath:Yi(e,"delegation-auth-file"),workspaceSlug:Yi(e,"workspace"),channelSlug:Yi(e,"channel")}}async function Lwe(e){let t=ZS(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0;if(Th(r,"help"))return cm(XS()),{TAG:"Ok",_0:void 0};let n=QS(r,"api-url");if(n.TAG!=="Ok")return{TAG:"Error",_0:n._0};let i=n._0,o=await oD(aD(r,i));if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let a=o._0,s=YS(Yi(r,"mode")),l=CE(Yi(r,"tool-scope"));if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0};let d=s._0;if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0};let u=Yi(r,"owner-username"),c=u!==void 0?u:process.env.LINZUMI_MCP_OWNER_USERNAME,f=Yi(r,"cwd"),h=f!==void 0?f:process.cwd(),m=Yi(r,"thread-id"),p=m!==void 0?m:process.env[Y8],_=kb({serviceUrl:i,accessToken:a.accessToken,authMode:a.mode,operatingMode:d});if(_.TAG!=="Ok")return{TAG:"Error",_0:_._0};let g=new Zw({name:"linzumi",version:"0.1.0"});return Nwe(g),ML(qwe(g),{client:_._0,toolScope:l._0,operatingMode:d,cwd:h,serviceUrl:i,defaultThreadId:p,ownerUsername:c,agentSession:Th(r,"agent-session"),documentSurfaces:t8(a.initialAccessToken),multiAgentJobs:Th(r,"multi-agent-jobs"),devServices:bL(process.env),askUserQuestion:Th(r,"ask-user-question-tool")?zwe(g):void 0}),await g.connect(new Yw),{TAG:"Ok",_0:void 0}}async function Uwe(e){let t=ZS(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0,n=QS(r,"api-url");if(n.TAG!=="Ok")return{TAG:"Error",_0:n._0};let i=n._0,o=Yi(r,"format"),a=o!==void 0?o:"codex",s=YS(Yi(r,"mode"));if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0};let l;if(Th(r,"include-token")){let f=await oD(aD(r,i));l=f.TAG==="Ok"?{TAG:"Ok",_0:f._0.initialAccessToken}:{TAG:"Error",_0:f._0}}else l={TAG:"Ok",_0:void 0};if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0};let d=CE(Yi(r,"tool-scope"));if(d.TAG!=="Ok")return{TAG:"Error",_0:d._0};let u=Yi(r,"owner-username"),c=m_({command:Yi(r,"command"),serviceUrl:i,accessToken:l._0,delegationAuthFilePath:Yi(r,"delegation-auth-file"),ownerUsername:u!==void 0?u:process.env.LINZUMI_MCP_OWNER_USERNAME,operatingMode:s._0,toolScope:d._0});switch(a){case"claude-code":return cm(vL(c)),{TAG:"Ok",_0:void 0};case"codex":return cm(wL(c)),{TAG:"Ok",_0:void 0};default:return{TAG:"Error",_0:"--format must be codex or claude-code"}}}async function Bwe(e){let t=ZS(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0,n=QS(r,"api-url");if(n.TAG!=="Ok")return{TAG:"Error",_0:n._0};let i=n._0,o=await oD(aD(r,i));if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let a=o._0,s=a.mode,l;if(s==="LocalRunner"){let d=await t_(i,a.initialAccessToken,Yi(r,"workspace"),Yi(r,"channel"),void 0);if(d.TAG==="Ok")switch(d._0){case"Usable":l={TAG:"Ok",_0:void 0};break;case"Rejected":case"NotFound":l={TAG:"Error",_0:"Linzumi MCP auth validation failed"};break}else l={TAG:"Error",_0:d._0.summary}}else{let d=YS(Yi(r,"mode"));if(d.TAG==="Ok"){let u=kb({serviceUrl:i,accessToken:a.accessToken,authMode:a.mode,operatingMode:d._0});if(u.TAG==="Ok")try{await u._0.validateAuth(),l={TAG:"Ok",_0:void 0}}catch(c){let f=N(c);l={TAG:"Error",_0:Hn(f)}}else l={TAG:"Error",_0:u._0}}else l={TAG:"Error",_0:d._0}}return l.TAG!=="Ok"?{TAG:"Error",_0:l._0}:(cm(`Linzumi MCP auth OK
496
+ `}var Yw=class{constructor(t=bH.stdin,r=bH.stdout){this._stdin=t,this._stdout=r,this._readBuffer=new Qw,this._started=!1,this._ondata=n=>{this._readBuffer.append(n),this.processReadBuffer()},this._onerror=n=>{this.onerror?.(n)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let t=this._readBuffer.readMessage();if(t===null)break;this.onmessage?.(t)}catch(t){this.onerror?.(t)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(t){return new Promise(r=>{let n=gH(t);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};function Nwe(e){let t={};t.listChanged=!1;let r={};r.resources=t,e.server.registerCapabilities(r),e.server.setRequestHandler(x_,()=>{let n={};return n.resources=[],n}),e.server.setRequestHandler(S_,()=>{let n={};return n.resourceTemplates=[],n})}function qwe(e){return{registerTool:(t,r,n,i)=>{e.tool(t,r,n,i)},registerSchemaTool:(t,r,n,i,o)=>{e.registerTool(t,{description:r,inputSchema:i},o)}}}function zwe(e){return(t,r)=>e.server.elicitInput(t,{timeout:r})}async function oD(e){let t=e.delegationAuthFilePath;if(t!==void 0){let a=e.explicitToken,s=e.authFilePath;if(a!==void 0)return{TAG:"Error",_0:"--delegation-auth-file cannot be combined with --token or --auth-file"};if(s!==void 0)return{TAG:"Error",_0:"--delegation-auth-file cannot be combined with --token or --auth-file"};let l=Q3(t,Date.now());if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0.summary};let d=l._0;return{TAG:"Ok",_0:{initialAccessToken:d.accessToken,accessToken:{TAG:"StaticAccessToken",_0:d.accessToken},mode:"PersonalAgentDelegation"}}}let r=await $8(e.serviceUrl,e.explicitToken,e.authFilePath,e.workspaceSlug,e.channelSlug,void 0);if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0.summary};let n=r._0,i=e.explicitToken,o;if(i!==void 0)o={TAG:"StaticAccessToken",_0:n};else{let a=e.authFilePath,s=a!==void 0?a:Qh();o={TAG:"DynamicAccessToken",_0:()=>{let l=Yh(e.serviceUrl,s,Date.now());if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0.summary};let d=l._0;return d!==void 0?{TAG:"Ok",_0:d.accessToken}:{TAG:"Error",_0:rP}}}}return{TAG:"Ok",_0:{initialAccessToken:n,accessToken:o,mode:"LocalRunner"}}}function aD(e,t){let r=Yi(e,"token");return{serviceUrl:t,explicitToken:r!==void 0?r:process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:Yi(e,"auth-file"),delegationAuthFilePath:Yi(e,"delegation-auth-file"),workspaceSlug:Yi(e,"workspace"),channelSlug:Yi(e,"channel")}}async function Lwe(e){let t=ZS(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0;if(Th(r,"help"))return cm(XS()),{TAG:"Ok",_0:void 0};let n=QS(r,"api-url");if(n.TAG!=="Ok")return{TAG:"Error",_0:n._0};let i=n._0,o=await oD(aD(r,i));if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let a=o._0,s=YS(Yi(r,"mode")),l=CE(Yi(r,"tool-scope"));if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0};let d=s._0;if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0};let u=Yi(r,"owner-username"),c=u!==void 0?u:process.env.LINZUMI_MCP_OWNER_USERNAME,f=Yi(r,"cwd"),h=f!==void 0?f:process.cwd(),m=Yi(r,"thread-id"),p=m!==void 0?m:process.env[Y8],_=kb({serviceUrl:i,accessToken:a.accessToken,authMode:a.mode,operatingMode:d});if(_.TAG!=="Ok")return{TAG:"Error",_0:_._0};let g=new Zw({name:"linzumi",version:"0.1.0"});return Nwe(g),ML(qwe(g),{client:_._0,toolScope:l._0,operatingMode:d,cwd:h,serviceUrl:i,defaultThreadId:p,ownerUsername:c,agentSession:Th(r,"agent-session"),documentSurfaces:t8(a.initialAccessToken),multiAgentJobs:Th(r,"multi-agent-jobs"),devServices:bL(process.env),askUserQuestion:Th(r,"ask-user-question-tool")?zwe(g):void 0}),await g.connect(new Yw),{TAG:"Ok",_0:void 0}}async function Uwe(e){let t=ZS(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0,n=QS(r,"api-url");if(n.TAG!=="Ok")return{TAG:"Error",_0:n._0};let i=n._0,o=Yi(r,"format"),a=o!==void 0?o:"codex",s=YS(Yi(r,"mode"));if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0};let l;if(Th(r,"include-token")){let f=await oD(aD(r,i));l=f.TAG==="Ok"?{TAG:"Ok",_0:f._0.initialAccessToken}:{TAG:"Error",_0:f._0}}else l={TAG:"Ok",_0:void 0};if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0};let d=CE(Yi(r,"tool-scope"));if(d.TAG!=="Ok")return{TAG:"Error",_0:d._0};let u=Yi(r,"owner-username"),c=m_({command:Yi(r,"command"),serviceUrl:i,accessToken:l._0,delegationAuthFilePath:Yi(r,"delegation-auth-file"),ownerUsername:u!==void 0?u:process.env.LINZUMI_MCP_OWNER_USERNAME,operatingMode:s._0,toolScope:d._0});switch(a){case"claude-code":return cm(vL(c)),{TAG:"Ok",_0:void 0};case"codex":return cm(wL(c)),{TAG:"Ok",_0:void 0};default:return{TAG:"Error",_0:"--format must be codex or claude-code"}}}async function Bwe(e){let t=ZS(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0,n=QS(r,"api-url");if(n.TAG!=="Ok")return{TAG:"Error",_0:n._0};let i=n._0,o=await oD(aD(r,i));if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let a=o._0,s=a.mode,l;if(s==="LocalRunner"){let d=await t_(i,a.initialAccessToken,Yi(r,"workspace"),Yi(r,"channel"),void 0);if(d.TAG==="Ok")switch(d._0){case"Usable":l={TAG:"Ok",_0:void 0};break;case"Rejected":case"NotFound":l={TAG:"Error",_0:"Linzumi MCP auth validation failed"};break}else l={TAG:"Error",_0:d._0.summary}}else{let d=YS(Yi(r,"mode"));if(d.TAG==="Ok"){let u=kb({serviceUrl:i,accessToken:a.accessToken,authMode:a.mode,operatingMode:d._0});if(u.TAG==="Ok")try{await u._0.validateAuth(),l={TAG:"Ok",_0:void 0}}catch(c){let f=N(c);l={TAG:"Error",_0:Hn(f)}}else l={TAG:"Error",_0:u._0}}else l={TAG:"Error",_0:d._0}}return l.TAG!=="Ok"?{TAG:"Error",_0:l._0}:(cm(`Linzumi MCP auth OK
497
497
  `),{TAG:"Ok",_0:void 0})}async function yH(e){let t=e.slice(1),r=e[0];if(r!==void 0)switch(r){case"--help":case"-h":return cm(XS()),{TAG:"Ok",_0:void 0};case"config":return await Uwe(t);case"doctor":return await Bwe(t);case"server":return await Lwe(t);default:return{TAG:"Error",_0:"unknown linzumi mcp command: "+r}}else return cm(XS()),{TAG:"Ok",_0:void 0}}var U_="plans/2026_08_05_rescript_commander_cli_parity_and_ts_deletion_readiness_plan.md",eA="plans/2026-08-05-rescript-commander-packaged-surface-contract.md",TH="plans/2026-08-12-rescript-secondary-operational-routing-spec.md",Hwe=["agent runner","commander","commander daemon","commander status","commander wait","commander stop","agent-runner","commander-daemon","commander-status","commander-wait","commander-stop"];function vH(e){return Hwe.includes(e.join(" "))}var Oy={TAG:"SpawnedRole",_0:"packed exact-argv TS delegation ("+TH+")"},Ey={TAG:"PlannedImplementation",task:"04",spec:TH,gap:"routing parity is proven through packaged TypeScript delegation; native ReScript runtime side effects remain open before TypeScript removal"};function id(e,t,r,n,i,o,a){return{route:{TAG:"DeclaredRoute",argvPrefix:e,positionals:n!==void 0?n:"NoPositionals"},canonical:t,audience:r!==void 0?r:"Public",expectedEffect:i,disposition:o,behavior:a}}function L_(e,t,r,n,i,o,a,s){return id(e,t,a!==void 0?a:"Public",s,i,{TAG:"PlannedImplementation",task:r,spec:U_,gap:n},o)}function Vwe(e,t,r,n){return id(e,t,"Operational","Passthrough",n,{TAG:"IntentionallyRetired",approvedBy:"repository owner, 2026-08-05",migration:r,removalVersion:"ReScript Commander cutover"},{TAG:"Observable",_0:{TAG:"ParseExitOutput",_0:n}})}var Kwe=[L_([],"guide","07","first-run guide is absent","render first-run guide",{TAG:"Observable",_0:{TAG:"ParseExitOutput",_0:"guide refusal"}},void 0,"NoPositionals"),L_(["--help"],"run","07","global help is absent","render global help",{TAG:"Observable",_0:{TAG:"ParseExitOutput",_0:"global help refusal"}},void 0,"NoPositionals"),L_(["-h"],"run","07","short global help is absent","render global help",{TAG:"Observable",_0:{TAG:"ParseExitOutput",_0:"short global help refusal"}},void 0,"NoPositionals"),id(["--version"],"version",void 0,void 0,"print installed package version",{TAG:"ImplementedAndProven",proof:{TAG:"ParseExitOutput",_0:"packed --version, both impls"}},{TAG:"Observable",_0:{TAG:"ParseExitOutput",_0:"packed --version, both impls"}}),L_(["connect"],"guide","07","zero-argument connect guide is absent","render first-run guide",{TAG:"Observable",_0:{TAG:"ParseExitOutput",_0:"zero-argument connect guide refusal"}},void 0,"NoPositionals"),id(["connect"],"run",void 0,"RequiredArguments","start Commander",{TAG:"PlannedImplementation",task:"01",spec:eA,gap:"core connect exists; full surface remains open"},{TAG:"Observable",_0:{TAG:"RuntimeConfiguration",_0:"packed connect probes"}}),{route:"ParserDefaultRoute",canonical:"run",audience:"Public",expectedEffect:"dispatch unmatched nonempty argv through connect parsing",disposition:{TAG:"PlannedImplementation",task:"04",spec:U_,gap:"TypeScript parser default run route is refused by the ReScript entrypoint"},behavior:{TAG:"Observable",_0:{TAG:"RuntimeConfiguration",_0:"packed default run-route probes"}}},id(["local-codex-runner"],"guide","Operational","NoPositionals","delegate compatibility zero-argument guide",Ey,{TAG:"Observable",_0:Oy}),id(["local-codex-runner"],"run","Operational","RequiredArguments","delegate compatibility argument-bearing runner",Ey,{TAG:"Observable",_0:Oy}),id(["run"],"run","Operational","Passthrough","dispatch Commander or private worker role",{TAG:"PlannedImplementation",task:"01",spec:eA,gap:"run needs packed role probes"},{TAG:"Observable",_0:{TAG:"SpawnedRole",_0:"packed run role probes"}}),id(["mcp"],"mcp",void 0,"Passthrough","run MCP command family",{TAG:"ImplementedAndProven",proof:{TAG:"RuntimeConfiguration",_0:"packed native ReScript MCP dispatch"}},{TAG:"Observable",_0:{TAG:"RuntimeConfiguration",_0:"packed MCP dispatch"}}),id(["remote-codex-harness-worker"],"remoteCodexHarnessWorker","Internal","Passthrough","run dedicated remote harness worker",Ey,{TAG:"Observable",_0:Oy}),L_(["vm-codex-supervisor"],"vmCodexSupervisor","16","ReScript package entrypoint refuses the VM supervisor child role","run VM supervisor child",{TAG:"Observable",_0:{TAG:"SpawnedRole",_0:"VM supervisor role"}},"Internal","Passthrough")],Jwe=[[["start"],"start","08","ReScript treats start as connect","onboard and launch selected folder","Public","OptionalFolder"],[["auth"],"auth","02","auth family is not mounted","execute auth state machine","Public","Passthrough"],[["publish-token"],"publishToken","11","publish-token is not mounted","issue publish token","Public","Passthrough"],[["paths"],"paths","10","trusted paths family is not mounted","read or mutate trusted paths","Public","Passthrough"],[["signup"],"signup","09","signup family is not mounted","run signup flow","Public","Passthrough"],[["signup","--email"],"agent","09","signup email mode dispatches to the unmounted agent bootstrap family","run agent bootstrap from signup email mode","Public","Passthrough"],[["signup","--agent-name"],"agent","09","signup agent-name mode dispatches to the unmounted agent bootstrap family","run agent bootstrap from signup agent-name mode","Public","Passthrough"],[["agent"],"agent","09","agent bootstrap family is not mounted","run agent bootstrap","Public","Passthrough"],[["agent","runner"],"agentRunner","09","documented compatibility path is not mounted","launch agent runner","Operational","Passthrough"],[["commander"],"agentRunner","09","legacy compatibility path needs proof","launch compatibility runner","Operational","Passthrough"],[["commander","daemon"],"commanderDaemon","20","daemon family awaits active-use decision","start daemon","Operational","Passthrough"],[["commander","status"],"commanderDaemon","20","daemon family awaits active-use decision","read daemon status","Operational","Passthrough"],[["commander","wait"],"commanderDaemon","20","daemon family awaits active-use decision","wait for daemon","Operational","Passthrough"],[["commander","stop"],"commanderDaemon","20","daemon family awaits active-use decision","stop daemon","Operational","Passthrough"],[["doctor"],"doctor","12","doctor family is not mounted","run diagnostics","Public","Passthrough"],[["safety-snapshots"],"safetySnapshots","13","snapshot recovery is not mounted","list or restore snapshots","Public","Passthrough"],[["dev-services"],"devServices","14","dev-services is not mounted","manage dev services","Public","Passthrough"],[["service"],"service","15","service family is not mounted","render or install service","Public","Passthrough"],[["vm"],"vm","16","VM CLI is not mounted","execute VM operation","Public","Passthrough"],[["node"],"node","17","compute-node CLI is not mounted","execute compute-node operation","Public","Passthrough"],[["topics"],"topics","18","topics module is not mounted in ReScript entry","post topic entry","Public","Passthrough"],[["claim"],"agent","09","agent bootstrap alias is not mounted","dispatch agent claim","Public","Passthrough"],[["login-link"],"agent","09","agent bootstrap alias is not mounted","dispatch agent login-link","Public","Passthrough"],[["thread"],"agent","09","agent bootstrap alias is not mounted","dispatch agent thread","Public","Passthrough"],[["channel"],"agent","09","agent bootstrap alias is not mounted","dispatch agent channel","Public","Passthrough"],[["post"],"agent","09","agent bootstrap alias is not mounted","dispatch agent post","Public","Passthrough"],[["inbox"],"agent","09","agent bootstrap alias is not mounted","dispatch agent inbox","Public","Passthrough"],[["done"],"agent","09","agent bootstrap alias is not mounted","dispatch agent done","Public","Passthrough"],[["codex"],"agent","09","agent bootstrap alias is not mounted","dispatch agent codex","Public","Passthrough"],[["editor"],"agent","09","agent bootstrap alias is not mounted","dispatch agent editor","Public","Passthrough"]],Zwe=Jwe.map(e=>{let t=e[6],r=e[5],n=e[4],i=e[1],o=e[0];if(vH(o))return id(o,i,r,t,n,Ey,{TAG:"Observable",_0:Oy});let a;switch(i){case"paths":a={TAG:"Observable",_0:{TAG:"FilesystemEffect",_0:n}};break;case"agent":case"publishToken":case"signup":a={TAG:"Observable",_0:{TAG:"NetworkRequest",_0:n}};break;default:a={TAG:"Observable",_0:{TAG:"RuntimeConfiguration",_0:n}}}return L_(o,i,e[2],e[3],n,a,r,t)}),Qwe=[[["auth","issue-publish-token"],"publishToken","use publish-token","reject duplicate alias"],[["hello"],"hello","automatic onboarding keeps the internal generator","reject retired public generator"],[["init-hello-linzumi-demo-app"],"hello","automatic onboarding keeps the internal generator","reject retired public generator alias"],[["signup","--mock"],"signupMock","use the dedicated onboarding evidence entry","keep mock mode absent"],[["agent-runner"],"agentRunner","use agent runner while retained","reject retired hyphenated alias"],[["fix-codex-keychain"],"fixCodexKeychain","keep any repair as a separate support utility","keep support utility out of Commander"],[["commander-daemon"],"commanderDaemon","use canonical commander subcommand if retained","reject retired flat alias"],[["commander-status"],"commanderDaemon","use canonical commander subcommand if retained","reject retired flat alias"],[["commander-wait"],"commanderDaemon","use canonical commander subcommand if retained","reject retired flat alias"],[["commander-stop"],"commanderDaemon","use canonical commander subcommand if retained","reject retired flat alias"]],Ywe=Qwe.map(e=>{let t=e[3],r=e[1],n=e[0];return vH(n)?id(n,r,"Operational","Passthrough",t,Ey,{TAG:"Observable",_0:Oy}):Vwe(n,r,e[2],t)}),hVe=Kwe.concat(Zwe).concat(Ywe);function es(e,t,r,n,i,o,a,s,l){return{name:e,kind:t,owner:r!==void 0?r:"Connect",audience:n!==void 0?n:"Public",defaultBehavior:i,validation:o,disposition:a,behavior:s,rescriptParser:l}}function Xwe(e,t,r,n,i){let o=e==="version"?"TopLevel":"Connect",a;switch(e){case"claude-bin":case"code-server-bin":a={TAG:"ImplementedAndProven",proof:{TAG:"RuntimeConfiguration",_0:i}};break;case"version":a={TAG:"ImplementedAndProven",proof:{TAG:"ParseExitOutput",_0:i}};break;default:a={TAG:"PlannedImplementation",task:"01",spec:eA,gap:e+" needs packed runtime proof"}}return es(e,t,o,void 0,r,n,a,e==="version"?{TAG:"Observable",_0:{TAG:"ParseExitOutput",_0:i}}:{TAG:"Observable",_0:{TAG:"RuntimeConfiguration",_0:i}},"Accepted")}function eAe(e,t,r,n,i,o){let a;switch(e){case"auth-mode":case"oauth-callback-host":a="Auth";break;default:a="Connect"}return es(e,t,a,void 0,n,i,{TAG:"PlannedImplementation",task:r,spec:U_,gap:"--"+e+" is missing from ReScript connect"},{TAG:"Observable",_0:{TAG:"RuntimeConfiguration",_0:o}},"Missing")}function tAe(e,t,r,n){return es(e,t,void 0,void 0,"current ReScript composition does not fully observe this flag","accepted by the shared connect parser",{TAG:"PlannedImplementation",task:r,spec:U_,gap:n},{TAG:"AcceptedButInert",task:r,reason:n},"Accepted")}function z_(e,t,r,n){return es(e,t,"Worker","Internal","required or absent according to the private worker codec","private role parser owns the closed value grammar",{TAG:"InternalOnly",caller:r,contractProof:n},{TAG:"Observable",_0:{TAG:"SpawnedRole",_0:n}},"SeparateParser")}var rAe=[["version","Switch","off","boolean switch","print package version"],["api-url","Value","default Linzumi websocket URL","exclusive with a different --linzumi-url","runner service URL"],["linzumi-url","Value","default Linzumi websocket URL","exclusive with a different --api-url","runner service URL alias"],["token","Value","resolve cache or acquire","auth layer validates token","explicit auth precedence"],["cwd","Value","process cwd","expanded path within allowed roots","runner cwd"],["codex-bin","Value","bundled pinned Codex","version-gated executable","spawned Codex binary"],["claude-bin","Value","SDK executable discovery","existing explicit path or PATH command","startup probe and spawned Claude binary"],["codex-url","Value","own-spawn Codex","websocket URL","remote harness selection"],["workspace","Value","single workspace token scope","required without workspace-scoped token","workspace selection"],["channel","Value","no channel filter","channel slug","channel selection"],["model","Value","provider default","provider model string","thread model default"],["reasoning-effort","Value","provider default","provider reasoning grammar","thread reasoning default"],["stream-idle-timeout-ms","Value","server or environment default","positive integer","stream idle timeout"],["sandbox","Value","workspace-write","official Codex sandbox vocabulary","worker sandbox"],["approval-policy","Value","provider default","official approval vocabulary","worker approval policy"],["allowed-cwd","Value","configured trusted paths","comma-separated roots with missing-root policy","advertised roots"],["auth-file","Value","default auth cache","auth-file schema","auth cache source"],["forward-port","Value","no explicit port","comma-separated TCP ports, last repeated value wins","forwarding watcher"],["allow-port-forwarding-by-default","Switch","allow forwarding","exclusive with --no-allow-port-forwarding-by-default","forwarding default policy"],["no-allow-port-forwarding-by-default","Switch","allow forwarding","exclusive with --allow-port-forwarding-by-default","forwarding default policy"],["collaboration-mode","Value","provider default","closed collaboration vocabulary","collaboration mode"],["code-server-bin","Value","server-managed editor runtime","executable --version probe","dependency, custom-runtime, editor launch, signup, and worker propagation"]],nAe=rAe.filter(e=>e[0]!=="allowed-cwd").map(e=>Xwe(e[0],e[1],e[2],e[3],e[4])),iAe=[["fast","Switch","05","accepted but unused by provider launch composition"],["no-onboarding-discovery","Switch","07","with-flag behavior matches only because default discovery is absent"]],oAe=iAe.map(e=>tAe(e[0],e[1],e[2],e[3])),aAe=es("launch-tui","Switch","Connect","Public","headless Commander","requires a connected Codex app-server",{TAG:"ImplementedAndProven",proof:{TAG:"RuntimeConfiguration",_0:"real local Commander remote TUI launch"}},{TAG:"Observable",_0:{TAG:"RuntimeConfiguration",_0:"Codex remote TUI child and truthful lifecycle payload"}},"Accepted"),sAe=[es("model-provider","Value","Worker","Internal","codex","private worker provider vocabulary",{TAG:"InternalOnly",caller:"thread worker re-entry",contractProof:"WorkerSpawnParityConformance provider argv"},{TAG:"Observable",_0:{TAG:"SpawnedRole",_0:"thread worker provider selection"}},"Accepted"),es("llm-proxy-base-url","Value","Worker","Internal","no LLM proxy","private worker proxy URL",{TAG:"InternalOnly",caller:"thread worker re-entry",contractProof:"WorkerSpawnParityConformance proxy argv"},{TAG:"Observable",_0:{TAG:"SpawnedRole",_0:"thread worker proxy binding"}},"Accepted"),es("help","Switch",void 0,void 0,"off","boolean switch",{TAG:"PlannedImplementation",task:"07",spec:U_,gap:"accepted help refuses instead of rendering"},{TAG:"AcceptedButInert",task:"07",reason:"accepted but the ReScript entry refuses instead of rendering help"},"Accepted")],lAe=[["claude-bin","Value","05","PATH discovery","executable provider binary","spawned Claude binary"],["agent-replay-fixture","Value","05","live provider","coherent replay configuration","replay fixture"],["agent-replay-provider","Value","05","live provider","coherent replay configuration","replay provider"],["agent-replay-speed","Value","05","real-time","positive replay multiplier","replay speed"],["debug-trace-dir","Value","06","tracing disabled","directory path","trace output directory"],["debug-trace-content","Value","06","content omitted","true or false","trace content policy"],["oauth-callback-host","Value","02","loopback default","browser-auth-only loopback host","callback listener"],["auth-mode","Value","02","browser","browser or device","auth acquisition mode"],["take-over","Switch","04","interactive safe refusal","boolean switch","lock takeover transition"],["no-input","Switch","04","interactive when TTY","boolean switch","noninteractive lock policy"],["supervise","Switch","03","direct launch","supervisor launch state","supervisor topology"],["keep-alive","Switch","03","direct launch","supervisor alias state","supervisor topology"],["keep-supervisor","Switch","03","stop related supervisor","supervisor shutdown state","supervisor shutdown"]],dAe=lAe.filter(e=>{switch(e[0]){case"agent-replay-fixture":case"agent-replay-provider":case"agent-replay-speed":case"auth-mode":case"claude-bin":case"debug-trace-content":case"debug-trace-dir":case"keep-alive":case"keep-supervisor":case"no-input":case"oauth-callback-host":case"supervise":case"take-over":return!1;default:return!0}}).map(e=>eAe(e[0],e[1],e[2],e[3],e[4],e[5]));function xH(e,t,r,n){return es(e,"Value","Auth",void 0,t,r,{TAG:"ImplementedAndProven",proof:{TAG:"RuntimeConfiguration",_0:n}},{TAG:"Observable",_0:{TAG:"RuntimeConfiguration",_0:n}},"Accepted")}var uAe=[xH("auth-mode","browser","browser or device","auth acquisition mode"),xH("oauth-callback-host","loopback default","browser-auth-only loopback host","callback listener")];function sD(e,t,r,n){return es(e,"Switch","Connect",void 0,t,r,{TAG:"ImplementedAndProven",proof:{TAG:"RuntimeConfiguration",_0:n}},{TAG:"Observable",_0:{TAG:"RuntimeConfiguration",_0:n}},"Accepted")}var cAe=[sD("supervise","direct launch","supervisor launch state","supervisor topology"),sD("keep-alive","direct launch","supervisor alias state","supervisor topology"),sD("keep-supervisor","stop related supervisor","supervisor shutdown state","supervisor shutdown")];function Xw(e,t,r,n,i){return es(e,t,"Connect",void 0,r,n,{TAG:"ImplementedAndProven",proof:{TAG:"RuntimeConfiguration",_0:i}},{TAG:"Observable",_0:{TAG:"RuntimeConfiguration",_0:i}},"Accepted")}var fAe=[Xw("take-over","Switch","interactive safe refusal","closed lock conflict policy","identity-safe lock takeover"),Xw("no-input","Switch","interactive when TTY","closed lock conflict policy","noninteractive lock refusal"),Xw("allowed-cwd","Value","configured trusted paths","fatal base cwd and filtered stale roots","validated advertised roots"),Xw("log-file","Value","environment or ~/.linzumi/logs/linzumi-runner.log","append stream with throttled reopen","redacted recoverable JSONL sink")];function SH(e,t,r,n){return es(e,"Value","Connect",void 0,t,r,{TAG:"ImplementedAndProven",proof:{TAG:"RuntimeConfiguration",_0:n}},{TAG:"Observable",_0:{TAG:"RuntimeConfiguration",_0:n}},"Accepted")}var mAe=[SH("debug-trace-dir","tracing disabled","directory path","per-run trace directory"),SH("debug-trace-content","summary when tracing is enabled","summary or full","trace content redaction policy")];function lD(e,t,r,n){return es(e,"Value","Connect",void 0,t,r,{TAG:"ImplementedAndProven",proof:{TAG:"RuntimeConfiguration",_0:n}},{TAG:"Observable",_0:{TAG:"RuntimeConfiguration",_0:n}},"Accepted")}var pAe=[lD("agent-replay-fixture","live provider","schema-v1 NDJSON replay records","recorded provider boundary"),lD("agent-replay-provider","auto","auto, codex, or claude-code","replay provider selection"),lD("agent-replay-speed","immediate","immediate, realtime, multiplier, or fixed delay","replay timing")],hAe=[es("vm-execution","Switch","Connect",void 0,"local execution","boolean switch",{TAG:"ImplementedAndProven",proof:{TAG:"RuntimeConfiguration",_0:"VM placement policy"}},{TAG:"Observable",_0:{TAG:"RuntimeConfiguration",_0:"VM placement policy"}},"Accepted")],_Ae=[z_("execution-mode","Value","thread worker spawn","WorkerSpawnParityConformance execution-mode round trip"),z_("egress-mode","Value","thread worker spawn","WorkerSpawnParityConformance egress-mode round trip"),z_("project-public-id","Value","thread worker spawn","WorkerSpawnParityConformance project id round trip"),z_("golden-image-id","Value","thread worker spawn","WorkerSpawnParityConformance golden image round trip"),z_("multi-agent-jobs-eligible","Value","thread worker spawn","WorkerLawsConformance explicit eligibility boolean"),z_("multi-agent-jobs-enabled","Value","thread worker spawn","WorkerLawsConformance explicit enabled boolean")],gAe=[["linzumi-thread-id","Value",{TAG:"CommandFamily",_0:"agent runner"},"Operational","no fixed thread","requires channel authority","09","fixed-thread binding"],["listen-user","Value",{TAG:"CommandFamily",_0:"agent runner"},"Operational","authenticated or token owner","user or all where supported","09","accepted reply owner"],["stream-flush-ms","Value",{TAG:"CommandFamily",_0:"agent runner"},"Operational","150ms","positive integer","09","stream batch interval"],["status-dir","Value","Daemon","Operational","~/.linzumi/commanders","directory path","20","daemon status directory"],["timeout-ms","Value","Daemon","Operational","30000ms","positive integer","20","daemon wait deadline"],["agent-token-file","Value",{TAG:"CommandFamily",_0:"agent runner"},"Operational","~/.linzumi/agent-token.json","agent-token schema","09","agent token cache"],["format","Value","Mcp","Public","MCP subcommand-specific","codex or claude-code where required","01","MCP config format"],["command","Value","Mcp","Public","MCP subcommand-specific","dev-service command string","01","MCP dev-service command"],["owner-username","Value","Mcp","Public","environment or token owner","username","01","MCP owner selection"],["include-token","Switch","Mcp","Public","token omitted","boolean switch","01","MCP config token inclusion"]],bAe=gAe.map(e=>{let t=e[6],r=e[0],n=t==="01"?{TAG:"PlannedImplementation",task:"01",spec:eA,gap:"MCP --"+r+" needs installed-entry proof"}:{TAG:"PlannedImplementation",task:t,spec:U_,gap:"--"+r+" is not mounted in ReScript"};return es(r,e[1],e[2],e[3],e[4],e[5],n,{TAG:"Observable",_0:{TAG:"RuntimeConfiguration",_0:e[7]}},"SeparateParser")}),wH=nAe.concat(oAe).concat([aAe]).concat(sAe.concat(uAe.concat(cAe).concat(fAe.concat(pAe).concat(mAe.concat(hAe))).concat(dAe))).concat(_Ae.concat(bAe));var dD=Fe(wH,e=>{let t=e.rescriptParser,r=e.kind;switch(t){case"Accepted":return r==="Switch"?void 0:e.name;case"Missing":case"SeparateParser":return}}),uD=Fe(wH,e=>{let t=e.rescriptParser,r=e.kind;switch(t){case"Accepted":return r==="Switch"?e.name:void 0;case"Missing":case"SeparateParser":return}});import*as CH from"node:fs";import*as of from"node:path";var B_="<SENSITIVE_DATA>",xAe=["access_token","anthropic_custom_headers","api_key","authorization","cookie","kandan_preview_ticket","linzumi_preview_ticket","login_url","oauth","password","refresh_token","secret","set-cookie","token"];function SAe(e){return"invalid --debug-trace-content: expected summary or full, got "+e}function tA(e){return e==="Summary"?"summary":"full"}function TAe(e){if(e===void 0)return{TAG:"Ok",_0:"Summary"};switch(e){case"full":return{TAG:"Ok",_0:"Full"};case"":case"summary":return{TAG:"Ok",_0:"Summary"};default:return{TAG:"Error",_0:SAe(e)}}}function rA(e,t){return e!==void 0?Ze(TAe(t),r=>({dir:e,contentMode:r})):{TAG:"Ok",_0:void 0}}function vAe(e){switch(e){case"Commander":return"commander";case"Kandan":return"kandan";case"LlmProxyRelay":return"llm-proxy-relay";case"Outbox":return"outbox"}}function nA(e){let t=e.startsWith("kandan."),r=e.startsWith("outbox."),n=e.startsWith("llm_proxy.")||e.startsWith("relay.");return t?"Kandan":r?"Outbox":n?"LlmProxyRelay":"Commander"}function iA(e){switch(e){case"kandan.control":return"control.received";case"kandan.control_ignored":return"control.ignored";default:return e}}function wAe(e){let t=e.toLowerCase();return xAe.some(r=>t.includes(r))}function AAe(e){return e.replace(new RegExp("\\bBearer\\s+[A-Za-z0-9._~+/=-]+","gi"),"Bearer "+B_).replace(new RegExp("([?&](?:access_token|refresh_token|api_key|client_secret|secret|kandan_preview_ticket|linzumi_preview_ticket|token|code)=)[^&#\\s]+","gi"),"$1"+B_).replace(new RegExp("\\b(login_url|authorization|cookie|set-cookie|token|secret|password)=\\S+","gi"),"$1="+B_)}function cD(e,t,r,n){if(rt(n,!1,wAe))return B_;if(r>6)return"<MAX_DEPTH>";if(e===null)return null;if(Array.isArray(e)){let i;i=t==="Summary"?e.slice(0,20):e;let o=i.map(a=>cD(a,t,r+1|0,void 0));return t==="Summary"&&e.length>i.length?Object.fromEntries([["items",o],["truncated_items",e.length-i.length|0]]):o}switch(typeof e){case"boolean":return e;case"string":let i=AAe(e);return t==="Summary"&&i.length>240?Object.fromEntries([["preview",i.slice(0,240)],["chars",i.length],["truncated",!0]]):i;case"number":return e;case"object":return OH(e,t,r+1|0)}}function OH(e,t,r){let n=Object.entries(e),i;i=t==="Summary"?n.slice(0,40):n;let o={};return i.forEach(a=>{let s=a[0];o[s]=cD(a[1],t,r,s)}),t==="Summary"&&n.length>i.length&&(o.__truncated_object_entries=n.length-i.length|0),o}function AH(e){let r=e.replace(new RegExp("-","g"),"_").toLowerCase();return["access_token","anthropic_custom_headers","api_key","authorization","cookie","kandan_preview_ticket","linzumi_preview_ticket","login_url","oauth","password","refresh_token","secret","set_cookie","token"].some(n=>r.includes(n))}function kAe(e){return e.map((t,r)=>{let n=t.indexOf("=");if(t.startsWith("-")&&n>0){let l=t.slice(0,n);return AH(l)?l+"="+B_:t}let i=e[r-1|0];if(i===void 0)return t;let o=i.startsWith("-"),a=i.includes("=")===!1,s=AH(i);return o&&a&&s?B_:t})}function CAe(e){let t=of.basename(e).replace(new RegExp("[^A-Za-z0-9._-]","g"),"_");return t===""?"debug-trace":t}function kH(e){let t;try{t={TAG:"Ok",_0:JSON.stringify(e)}}catch(n){let i=N(n);t={TAG:"Error",_0:Hn(i)}}if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0;return r!==void 0?{TAG:"Ok",_0:r}:{TAG:"Error",_0:"debug trace value is not JSON serializable"}}function OAe(e,t,r){let n=of.resolve(e.dir),i=of.join(n,CAe(t));return Ae(Ae(He(Nt(i),o=>o.message),()=>{let o={};return o.createdAt=new Date().toISOString(),o.runId=t,o.contentMode=tA(e.contentMode),zl(r,(a,s)=>{o[s]=a}),Ae(kH(o),a=>He(Wn(of.join(i,"manifest.json"),a+`
498
498
  `),s=>s.message))}),()=>{let o={contents:0},a=(d,u,c)=>{o.contents=o.contents+1|0;let f={};return f.ts=new Date().toISOString(),f.mono_ms=Math.floor(performance.now()),f.seq=o.contents,f.event=u,zl(c,(h,m)=>{f[m]=h}),Ae(kH(f),h=>{try{return CH.appendFileSync(of.join(i,vAe(d)+".ndjson"),h+`
499
499
  `,"utf8"),{TAG:"Ok",_0:void 0}}catch(m){let p=N(m);return{TAG:"Error",_0:ke(p).message}}})},l={runDir:i,record:(d,u,c)=>a(d,u,OH(c,e.contentMode,0))};return Ze(a("Commander","debug_trace.started",Object.fromEntries([["run_dir",i],["content_mode",tA(e.contentMode)]])),()=>l)})}function oA(e,t,r,n){let i=e.record(t,r,n);i.TAG!=="Ok"&&(nr("linzumi (rescript commander): debug trace write failed: "+i._0+`
500
500
  `),process.exit(1))}function aA(e,t,r,n,i,o,a){let s=new Date().toISOString(),l=s+"-pid-"+process.pid.toString()+"-runner-"+t,d=c=>cD(c,e.contentMode,0,void 0),u=Object.fromEntries([["pid",process.pid],["argv",kAe(process.argv).map(d)],["runnerId",d(t)],["cwd",d(r)],["kandanUrl",d(n)],["workspaceSlug",rt(i,null,d)],["threadProcess",rt(o,null,d)],["fast",a],["startedAt",d(s)]]);return OAe(e,l,u)}import*as GH from"node:fs";import*as RH from"node:url";import*as ts from"node:path";import*as IH from"node:module";var EAe=[["linux","x64",{triple:"x86_64-unknown-linux-musl",packageName:"@openai/codex-linux-x64"}],["linux","arm64",{triple:"aarch64-unknown-linux-musl",packageName:"@openai/codex-linux-arm64"}],["android","x64",{triple:"x86_64-unknown-linux-musl",packageName:"@openai/codex-linux-x64"}],["android","arm64",{triple:"aarch64-unknown-linux-musl",packageName:"@openai/codex-linux-arm64"}],["darwin","x64",{triple:"x86_64-apple-darwin",packageName:"@openai/codex-darwin-x64"}],["darwin","arm64",{triple:"aarch64-apple-darwin",packageName:"@openai/codex-darwin-arm64"}],["win32","x64",{triple:"x86_64-pc-windows-msvc",packageName:"@openai/codex-win32-x64"}],["win32","arm64",{triple:"aarch64-pc-windows-msvc",packageName:"@openai/codex-win32-arm64"}]];function pD(e,t){return z(EAe.find(r=>r[0]===e?r[1]===t:!1),r=>r[2])}function PAe(e){try{return IH.createRequire(import.meta.url).resolve(e)}catch{return}}function GAe(e){let t=qo(e);return t.TAG==="Ok"?t._0:[]}function sA(){return{platform:process.platform,arch:process.arch,fileExists:e=>GH.existsSync(e),listDirectory:GAe,resolveModulePath:PAe,moduleDir:ts.dirname(RH.fileURLToPath(import.meta.url))}}function hD(e,t,r){let n=t;for(;;){let i=n,o=ts.join(...[i,"node_modules"].concat(e.split("/")));if(r(ts.join(o,"package.json")))return o;let a=ts.dirname(i);if(a===i)return;n=a}}function mD(e,t){let r=t.resolveModulePath(e+"/package.json");return r!==void 0?ts.dirname(r):hD(e,t.moduleDir,t.fileExists)}function RAe(e,t,r){let i=r.platform==="win32"?"codex.exe":"codex",o=ts.join(e,t),s=[ts.join(o,"codex",i),ts.join(o,"bin",i),ts.join(o,i)].find(l=>r.fileExists(l));return s!==void 0?s:r.listDirectory(o).map(l=>ts.join(o,l,i)).find(l=>r.fileExists(l))}function IAe(e){let t=pD(e.platform,e.arch);if(t===void 0)return;let r=[],n=mD(t.packageName,e);n!==void 0&&r.push(ts.join(n,"vendor"));let i=mD("@openai/codex",e);return i!==void 0&&r.push(ts.join(i,"vendor")),nt(r,void 0,(o,a)=>o!==void 0?o:RAe(a,t.triple,e))}function DAe(e){let t=mD("@openai/codex",e);if(t===void 0)return;let r=$t(ts.join(t,"package.json"));if(r.TAG!=="Ok")return;let n;try{n=JSON.parse(r._0)}catch{n=void 0}if(n===void 0||typeof n!="object"||n===null||Array.isArray(n))return;let i=n.version;if(i!==void 0&&typeof i=="string"&&i.trim()!=="")return i.trim()}var MAe=new RegExp("(\\d+\\.\\d+\\.\\d+)");function lA(e){let t=js(e,["--version"],1e4,1048576);if(t.TAG!=="Ok")return;let r=MAe.exec(t._0);if(r!=null)return E(r.slice(1)[0],n=>n)}function $Ae(e,t){return e!==void 0&&t!==void 0?e===t?{TAG:"Match",version:e}:{TAG:"Mismatch",pathVersion:e,pinnedVersion:t}:{TAG:"Unverified",pathVersion:e,pinnedVersion:t}}function jAe(e){switch(e.TAG){case"Match":return"match";case"Mismatch":return"mismatch";case"Unverified":return"unverified"}}var _D="LINZUMI_ALLOW_HARNESS_MISMATCH",EH={contents:!1};var FAe="Warning: the Codex engine bundled with @linzumi/cli could not be located in its install (@openai/codex platform binary missing). Falling back to `codex` from PATH - the engine version may not match this CLI release. Pass --codex-bin <path> to pin an engine explicitly.\n";function NAe(e){if(!EH.contents)return EH.contents=!0,e(FAe)}function PH(e,t){return"the codex engine bundled with @linzumi/cli is missing from this install and the `codex` on PATH is version "+e+", but this CLI release pins engine "+t+". "+("Running a mismatched engine breaks the wire protocol (codex "+t+" vocabulary), so refusing to start. ")+("Fix: reinstall the CLI (a fresh `npx -y @linzumi/cli@latest` restores the bundled engine), pass --codex-bin <path> to pin an engine deliberately, or set "+_D+"=1 to accept the skew.")}function qAe(e,t){return"Warning: proceeding with the PATH codex "+e+" despite the CLI pinning engine "+t+" ("+_D+`=1). Engine/CLI version skew can break the wire protocol.
501
501
  `}function zAe(e,t){}function dA(e,t,r,n,i,o){let a=o!==void 0?o:zAe;if(e!==void 0)return{TAG:"Ok",_0:{codexBin:e,source:"ExplicitFlag"}};let s=IAe(t);if(s!==void 0){let f={};return f.codex_bin_path=s,f.codex_bin_source="bundled",a("codex.binary.resolved",f),{TAG:"Ok",_0:{codexBin:s,source:"Bundled"}}}NAe(r);let l=DAe(t),d=l!==void 0?n("codex"):void 0,u=$Ae(d,l),c={};switch(c.codex_bin_path="codex",c.codex_bin_source="path-fallback",c.harness_version_check=jAe(u),u.TAG){case"Match":c.harness_version=u.version;break;case"Mismatch":c.path_harness_version=u.pathVersion,c.pinned_harness_version=u.pinnedVersion;break;case"Unverified":c.path_harness_version=rt(u.pathVersion,null,f=>f),c.pinned_harness_version=rt(u.pinnedVersion,null,f=>f);break}switch(a("codex.binary.resolved",c),u.TAG){case"Mismatch":let f=u.pinnedVersion,h=u.pathVersion,m=i[_D];return m===void 0?{TAG:"Error",_0:PH(h,f)}:m!=="1"?{TAG:"Error",_0:PH(h,f)}:(r(qAe(h,f)),{TAG:"Ok",_0:{codexBin:"codex",source:"PathFallback"}});case"Match":case"Unverified":return{TAG:"Ok",_0:{codexBin:"codex",source:"PathFallback"}}}}var LAe="invalid --agent-replay-provider. Use auto, codex, or claude-code",bD="invalid --agent-replay-speed. Use immediate, realtime, <number>x, or <number>ms";function UAe(e){if(e===void 0)return{TAG:"Ok",_0:"Auto"};switch(e){case"":case"auto":return{TAG:"Ok",_0:"Auto"};case"claude-code":return{TAG:"Ok",_0:{TAG:"Selected",_0:"ClaudeCode"}};case"codex":return{TAG:"Ok",_0:{TAG:"Selected",_0:"Codex"}};default:return{TAG:"Error",_0:LAe}}}var BAe=new RegExp("^([0-9]+(?:\\.[0-9]+)?)x$"),WAe=new RegExp("^([0-9]+)ms$");function DH(e,t){return E(e[t],r=>r)}function HAe(e){if(e===void 0)return{TAG:"Ok",_0:"Immediate"};switch(e){case"":case"immediate":return{TAG:"Ok",_0:"Immediate"};case"realtime":return{TAG:"Ok",_0:"Realtime"};default:let t=BAe.exec(e);if(t==null){let n=WAe.exec(e);if(n==null)return{TAG:"Error",_0:bD};let i=E(DH(n,1),ei);return i!==void 0&&Number.isSafeInteger(i)&&i>=0?{TAG:"Ok",_0:{TAG:"FixedDelayMs",_0:i}}:{TAG:"Error",_0:bD}}let r=E(DH(t,1),ei);return r!==void 0&&isFinite(r)&&r>0?{TAG:"Ok",_0:{TAG:"SpeedMultiplier",_0:r}}:{TAG:"Error",_0:bD}}}function MH(e,t,r){if(e===void 0)return{TAG:"Ok",_0:void 0};let n=UAe(t),i=HAe(r);return n.TAG==="Ok"?i.TAG==="Ok"?{TAG:"Ok",_0:{fixturePath:e,provider:n._0,clockMode:i._0}}:{TAG:"Error",_0:i._0}:{TAG:"Error",_0:n._0}}function uA(e,t){let r=e[t];if(typeof r=="string")return r}function yD(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&isFinite(r)&&Math.trunc(r)===r&&r>=0)return r|0}var VAe=["incoming","outgoing","notification","request","response","sdk-message","commander-push","session-marker"],KAe=new RegExp("(^|[_-])(token|secret|api[_-]?key|authorization|cookie|private[_-]?key|login[_-]?url)([_-]|$)","iu");function SD(e){if(e===null)return!0;if(Array.isArray(e))return e.every(SD);switch(typeof e){case"string":switch(e){case"$REDACTED":case"<REDACTED>":case"[REDACTED]":return!0;default:return!1}case"boolean":case"number":return!1;case"object":return Object.entries(e).every(t=>SD(t[1]))}}function TD(e,t){if(Array.isArray(e))return zo(e.map((r,n)=>[r,t+"["+n.toString()+"]"]),r=>TD(r[0],r[1]));if(e!==null&&typeof e==="object")return zo(Object.entries(e),r=>{let n=r[1],i=r[0],o=t+"."+i;return KAe.test(i)&&!SD(n)?o:TD(n,o)})}function JAe(e,t,r){if(typeof r=="object"&&r!==null&&!Array.isArray(r)){let n=yD(r,"schemaVersion"),i=uA(r,"provider"),o=uA(r,"captureKind"),a=yD(r,"ordinal"),s=yD(r,"offsetMs"),l=0;if(n===1&&i!==void 0&&o!==void 0&&a!==void 0&&s!==void 0){let d=r.captureMetadata,u=typeof d=="object"&&d!==null&&!Array.isArray(d)?d:void 0,c=E(u,h=>uA(h,"direction")),f=E(u,h=>uA(h,"requestMethod"));if(!VAe.includes(o))return{TAG:"Error",_0:e+":"+t.toString()+" captureKind is not supported"};switch(i){case"claude-code-sdk":return{TAG:"Ok",_0:{provider:"ClaudeCode",captureKind:o,ordinal:a,offsetMs:s,captureDirection:c,requestMethod:f,rawValue:r.rawValue}};case"codex-app-server":return{TAG:"Ok",_0:{provider:"Codex",captureKind:o,ordinal:a,offsetMs:s,captureDirection:c,requestMethod:f,rawValue:r.rawValue}};default:return{TAG:"Error",_0:e+":"+t.toString()+" provider is not supported"}}}else l=2;if(l===2)return{TAG:"Error",_0:e+":"+t.toString()+" replay record is invalid"}}return{TAG:"Error",_0:e+":"+t.toString()+" record must be a JSON object"}}function ZAe(e,t){let r=[],n={contents:void 0};Fe(t.split(new RegExp("\\r?\\n")),o=>o).forEach((o,a)=>{let s=n.contents,l=o.trim();if(s!==void 0||l==="")return;let d;try{d={TAG:"Ok",_0:JSON.parse(o)}}catch(h){let m=N(h);d={TAG:"Error",_0:ke(m).message}}if(d.TAG!=="Ok"){n.contents=e+":"+(a+1|0).toString()+" "+d._0;return}let u=d._0,c=TD(u,"$");if(c!==void 0){n.contents=e+":"+(a+1|0).toString()+" contains credential-like field "+c;return}let f=JAe(e,a+1|0,u);if(f.TAG!=="Ok"){n.contents=f._0;return}r.push(f._0)});let i=n.contents;return i!==void 0?{TAG:"Error",_0:i}:{TAG:"Ok",_0:{path:e,records:r}}}function $H(e){let t=$t(e);return t.TAG==="Ok"?ZAe(e,t._0):{TAG:"Error",_0:e+": "+t._0.message}}function jH(e,t){if(typeof t=="object")return{TAG:"Ok",_0:t._0};let r=e.records.some(i=>i.provider==="Codex"),n=e.records.some(i=>i.provider==="ClaudeCode");return r?n?{TAG:"Error",_0:"replay fixture contains both Codex and Claude records; pass --agent-replay-provider"}:{TAG:"Ok",_0:"Codex"}:n?{TAG:"Ok",_0:"ClaudeCode"}:{TAG:"Error",_0:"replay fixture contains no provider records"}}function xD(e){return e<=0?Promise.resolve():new Promise((t,r)=>{setTimeout(()=>t(),e)})}function FH(e){let t={contents:0};return{waitUntil:async n=>{let i=n-t.contents|0,o=i>0?i:0;if(t.contents=n>t.contents?n:t.contents,typeof e!="object")return e==="Immediate"?void 0:await xD(o);if(e.TAG!=="SpeedMultiplier")return await xD(e._0);let a=e._0;return await xD(Math.round(o/(a>.001?a:.001)))}}}import*as dK from"node:path";import*as uK from"node:child_process";import*as sf from"node:path";function vD(e){return e?"true":"false"}import*as vs from"node:fs";import*as Sr from"node:path";import*as LH from"node:child_process";function UH(e,t){}function BH(e){return e.entryPath}var YAe=new RegExp("[\\\\/]");function XAe(e){let t=e.split(YAe),r=n=>t.some(i=>i!==void 0?n(i):!1);return r(n=>n==="_npx")||r(n=>n.startsWith("dlx-"))?!0:e.includes(".bun"+Sr.sep+"install"+Sr.sep+"cache")}var AD="cannot fork thread runner without current CLI script path";function eke(e,t){return e!==void 0&&e.trim()!==""?{TAG:"Ok",_0:Sr.isAbsolute(e)?e:Sr.resolve(t,e)}:{TAG:"Error",_0:AD}}function tke(e){let t=$t(Sr.join(e,"package.json"));if(t.TAG!=="Ok")return;let r;try{r=JSON.parse(t._0)}catch{r=void 0}if(r===void 0||typeof r!="object"||r===null||Array.isArray(r))return;let n=a=>{let s=r[a];return typeof s=="string"?s.trim():""},i=n("name"),o=n("version");if(!(i===""||o===""))return{name:i,version:o}}function rke(e){let t=e;for(;;){let r=t,n=tke(r);if(n!==void 0)return{dir:r,name:n.name,version:n.version};let i=Sr.dirname(r);if(i===r)return;t=i}}function cA(e,t){return hD(e,t,r=>vs.existsSync(r))}function wD(e,t){let r=$t(Sr.join(e,"package.json"));if(r.TAG!=="Ok")return[];let n;try{n=JSON.parse(r._0)}catch{n=void 0}if(n===void 0)return[];if(typeof n!="object"||n===null||Array.isArray(n))return[];let i=n[t];return i!==void 0?typeof i=="object"&&i!==null&&!Array.isArray(i)?Object.keys(i):[]:[]}function WH(e){let t=Sr.join(e,"node_modules"),r=qo(t);if(r.TAG!=="Ok")return[];let n=[];return r._0.forEach(i=>{if(!i.startsWith(".")){if(i.startsWith("@")){let o=qo(Sr.join(t,i));if(o.TAG!=="Ok")return;o._0.forEach(a=>{if(!a.startsWith(".")){n.push(Sr.join(t,i,a));return}});return}n.push(Sr.join(t,i))}}),n.filter(i=>vs.existsSync(Sr.join(i,"package.json")))}function nke(e,t,r,n){let i=[],o=new Set,a=new Set,s=d=>{if(!o.has(d)){o.add(d),wD(d,"dependencies").forEach(u=>{i.push(u)}),WH(d).forEach(s);return}};return s(e),(()=>{for(;;){let d=i.shift();if(d===void 0)return{TAG:"Ok",_0:void 0};if(a.has(d))continue;a.add(d);let u=cA(d,t);if(u!==void 0){let c=Sr.join(...[r].concat(d.split("/"))),f=Ae(He(Nt(Sr.dirname(c)),h=>h.message),()=>He(KS(u,c),h=>h.message));if(f.TAG!=="Ok")return{TAG:"Error",_0:f._0};s(u);continue}n.push(d)}})()}function qH(e){switch(e){case"HarnessMirrored":return"mirrored";case"HarnessAlreadyPresent":return"already-present";case"HarnessSourceMissing":return"source-missing";case"HarnessUnsupportedPlatform":return"unsupported-platform"}}function kD(){return".building-"+process.pid.toString()+"-"+Date.now().toString()}function HH(e,t,r){let n=Sr.join(...[r].concat(e.split("/")));if(vs.existsSync(Sr.join(n,"package.json")))return{TAG:"Ok",_0:"HarnessAlreadyPresent"};let i=cA(e,t);if(i===void 0)return{TAG:"Ok",_0:"HarnessSourceMissing"};let o=n+kD(),a=Ae(Ae(He(Nt(Sr.dirname(n)),s=>s.message),()=>He(KS(i,o),s=>s.message)),()=>{let s=Jn(o,n);return s.TAG==="Ok"?{TAG:"Ok",_0:"HarnessMirrored"}:vs.existsSync(Sr.join(n,"package.json"))?(ds(o),{TAG:"Ok",_0:"HarnessAlreadyPresent"}):{TAG:"Error",_0:s._0.message}});return a.TAG==="Ok"?{TAG:"Ok",_0:a._0}:(ds(o),{TAG:"Error",_0:a._0})}function VH(e,t,r,n){let i=pD(v(r,process.platform),v(n,process.arch));return i!==void 0?HH(i.packageName,e,t):{TAG:"Ok",_0:"HarnessUnsupportedPlatform"}}function ike(e,t){let r=[],n=[],i=new Set,o=new Set,a=new Set,s=d=>{if(!i.has(d)){i.add(d),wD(d,"dependencies").forEach(u=>{n.push(u)}),wD(d,"optionalDependencies").forEach(u=>{if(a.has(u))return;if(a.add(u),cA(u,t)!==void 0){r.push(u);return}}),WH(d).forEach(s);return}};return s(e),(()=>{for(;;){let d=n.shift();if(d===void 0)return;if(!o.has(d)){o.add(d);let u=cA(d,t);u!==void 0&&s(u)}}})(),r.toSorted(vc)}function KH(e,t,r){let n=[],i=[],o=ike(e,t),a=0;for(;;){let s=a,l=o[s];if(l===void 0)return{TAG:"Ok",_0:{present:n,mirrored:i}};let d=HH(l,t,r);if(d.TAG!=="Ok")return{TAG:"Error",_0:d._0};switch(d._0){case"HarnessMirrored":n.push(l),i.push(l),a=s+1|0;continue;case"HarnessAlreadyPresent":n.push(l),a=s+1|0;continue;case"HarnessSourceMissing":case"HarnessUnsupportedPlatform":a=s+1|0;continue}}}function W_(e,t,r){let n=r!==void 0?r:5,i=qo(e);if(i.TAG!=="Ok")return;let o=i._0.filter(d=>d!==t).map(d=>{let u=V4(Sr.join(e,d)),c;return c=u.TAG==="Ok"?u._0:0,[d,c]}).toSorted((d,u)=>u[1]-d[1]),a=o.filter(d=>d[0].includes(".building-")),s=o.filter(d=>!d[0].includes(".building-"));a.concat(s.slice(Math.max(0,n-1|0),s.length)).forEach(d=>{ds(Sr.join(e,d[0]))})}function Py(e){let t=e;for(;;){let r=t,n=Sr.dirname(r);if(n===r)return e;if(Sr.basename(n)==="node_modules")return Sr.dirname(n);t=n}}function oke(e,t,r,n){let i=VH(Py(e),Sr.join(r,"node_modules"),void 0,void 0);if(i.TAG==="Ok")switch(i._0){case"HarnessMirrored":let o={};return o.version=t,o.healedIntoReusedMirror=!0,n("worker_entry_harness_mirrored",o);case"HarnessSourceMissing":let a={};return a.version=t,a.reusedMirror=!0,n("worker_entry_harness_missing",a);case"HarnessAlreadyPresent":case"HarnessUnsupportedPlatform":return}else{let o={};return o.version=t,o.reusedMirror=!0,o.message=i._0,n("worker_entry_harness_missing",o)}}function ake(e,t,r,n){let i=KH(e,Py(e),Sr.join(r,"node_modules"));if(i.TAG==="Ok"){i._0.mirrored.forEach(a=>{let s={};s.version=t,s.package=a,s.healedIntoReusedMirror=!0,n("worker_entry_sibling_mirrored",s)});return}let o={};o.version=t,o.reusedMirror=!0,o.message=i._0,n("worker_entry_sibling_mirror_failed",o)}function ske(e,t,r,n){let i=He(mo(e),S=>S.message);if(i.TAG!=="Ok")return{TAG:"Error",_0:i._0};let o=i._0,a=rke(Sr.dirname(o));if(a===void 0)return{TAG:"Error",_0:"could not locate a package.json above the entry script at "+o};let s=gz(t),l=ZE(a.version),d=Sr.join(s,l),u=Sr.relative(a.dir,o),c=Sr.join(...[d,"node_modules"].concat(a.name.split("/"))),f=Sr.join(c,u),h=Sr.join(d,Hg),m=S=>{let T={};T.entryPath=f,T.version=a.version,S&&(T.lostBuildRace=!0),r("worker_entry_mirror_reused",T)};if(vs.existsSync(h)&&vs.existsSync(f))return wE(d),oke(a.dir,a.version,d,r),ake(a.dir,a.version,d,r),m(!1),W_(s,l,void 0),{TAG:"Ok",_0:{TAG:"MirroredEntry",entryPath:f,originalEntryPath:e}};let p=d+kD(),_=Date.now(),g=[],b=Sr.join(...[p,"node_modules"].concat(a.name.split("/"))),y=Ae(Ae(Ae(Ae(Ae(Ae(He(Nt(Sr.dirname(b)),S=>S.message),()=>He(KS(a.dir,b),S=>S.message)),()=>nke(a.dir,Py(a.dir),Sr.join(p,"node_modules"),g)),()=>VH(Py(a.dir),Sr.join(p,"node_modules"),void 0,void 0)),S=>{if(S==="HarnessSourceMissing"){let T={};T.version=a.version,T.reusedMirror=!1,r("worker_entry_harness_missing",T)}return Ze(KH(a.dir,Py(a.dir),Sr.join(p,"node_modules")),T=>[S,T.present])}),S=>{let T=S[1],w=S[0];return Ze(He(Wn(Sr.join(p,Hg),yz({name:a.name,version:a.version,mirroredFrom:a.dir,mirroredAt:new Date().toISOString(),codexHarnessMirror:qH(w)})),A=>A.message),()=>[w,T])}),S=>{n!==void 0&&n();let T=Jn(p,d);return T.TAG==="Ok"?{TAG:"Ok",_0:[S[0],S[1]]}:vs.existsSync(h)&&vs.existsSync(f)?(ds(p),m(!0),W_(s,l,void 0),{TAG:"Ok",_0:void 0}):{TAG:"Error",_0:T._0.message}});if(y.TAG==="Ok"){let S=y._0;if(S===void 0)return{TAG:"Ok",_0:{TAG:"MirroredEntry",entryPath:f,originalEntryPath:e}};let T={};return T.entryPath=f,T.from=a.dir,T.version=a.version,T.durationMs=Date.now()-_,T.skippedDependencies=g.map(w=>w),T.codexHarnessMirror=qH(S[0]),T.platformSiblings=S[1].map(w=>w),r("worker_entry_mirrored",T),W_(s,l,void 0),{TAG:"Ok",_0:{TAG:"MirroredEntry",entryPath:f,originalEntryPath:e}}}return ds(p),{TAG:"Error",_0:y._0}}function JH(e,t,r,n,i){let o=n!==void 0?n:UH;if(e===void 0||e.trim()==="")return;let a=eke(e,t);if(a.TAG!=="Ok")return;let s=a._0;if(!XAe(s))return{TAG:"OriginalEntry",entryPath:s};let l=ske(s,r,o,i);if(l.TAG==="Ok")return l._0;let d={};return d.originalEntryPath=s,d.message=l._0,o("worker_entry_mirror_failed",d),{TAG:"OriginalEntry",entryPath:s}}var zH=["node_modules","@linzumi","cli","bin","linzumi.js"];function ZH(e){return t=>{let r=t.packageSpec,n=t.prefixDir;return new Promise((i,o)=>{let a=LH.spawn("npm",["install",r,"--prefix",n,"--no-audit","--no-fund","--loglevel","error"],{stdio:["ignore","ignore","pipe"]}),s={contents:""},l={contents:!1},d={contents:void 0},u=m=>{if(l.contents)return;l.contents=!0;let p=d.contents;p!==void 0&&clearTimeout(ce(p)),i(m)},c=setTimeout(()=>{ra(a,"SIGKILL"),u({TAG:"Error",_0:"npm install "+r+" timed out after "+e.toString()+"ms"})},e);c.unref(),d.contents=ve(c);let f=a.stderr;f?.on("data",m=>{s.contents=s.contents+m.toString("utf8")}),a.on("error",m=>u({TAG:"Error",_0:m.message}));let h=()=>{let m=s.contents;return m.slice(Math.max(0,m.length-2e3|0),m.length)};a.once("close",(m,p)=>m==null?u({TAG:"Error",_0:"npm install "+r+" exited null: "+h()}):u(m!==0?{TAG:"Error",_0:"npm install "+r+" exited "+m.toString()+": "+h()}:{TAG:"Ok",_0:void 0}))})}}async function QH(e,t,r,n){let i=r!==void 0?r:UH,o=bz(t),a=ZE(e),s=Sr.join(o,a),l=Sr.join(...[s].concat(zH)),d=Sr.join(s,Hg),u=T=>{let w={};w.entryPath=l,w.version=e,T&&(w.lostBuildRace=!0),i("version_install_reused",w)};if(vs.existsSync(d)&&vs.existsSync(l))return wE(s),u(!1),W_(o,a,3),{TAG:"Ok",_0:{entryPath:l,reused:!0}};let c=s+kD(),f=Date.now(),h={};h.version=e,h.stagingRoot=c,i("version_install_started",h);let m=T=>{ds(c);let w={};return w.version=e,w.message=T,i("version_install_failed",w),{TAG:"Error",_0:T}},p=Nt(c);if(p.TAG!=="Ok")return m(p._0.message);let _=await n({prefixDir:c,packageSpec:"@linzumi/cli@"+e});if(_.TAG!=="Ok")return m(_._0);let g=Sr.join(...[c].concat(zH));if(!vs.existsSync(g))return m("installed @linzumi/cli@"+e+" but its entry script is missing at "+g);let b=Wn(Sr.join(c,Hg),xz({name:"@linzumi/cli",version:e,installedAt:new Date().toISOString()}));if(b.TAG!=="Ok")return m(b._0.message);let y=Jn(c,s);if(y.TAG!=="Ok")return vs.existsSync(d)&&vs.existsSync(l)?(ds(c),u(!0),W_(o,a,3),{TAG:"Ok",_0:{entryPath:l,reused:!0}}):m(y._0.message);let S={};return S.entryPath=l,S.version=e,S.durationMs=Date.now()-f,i("version_installed",S),W_(o,a,3),{TAG:"Ok",_0:{entryPath:l,reused:!1}}}var lke={armDeadline:(e,t)=>{setTimeout(e,t).unref()}};function dke(e,t){process.on(e,t)}function uke(e,t){process.off(e,t)}var cke={registerSignal:dke,unregisterSignal:uke};async function fke(e){let t,r=0;for(;t===void 0&&r<e.length;){let i=e[r];if(i!==void 0){let o=await i();o.TAG==="Ok"?r=r+1|0:t=o._0}else r=r+1|0}let n=t;return n!==void 0?{TAG:"OrderedFailed",_0:n}:"OrderedDone"}async function XH(e,t,r,n){let i=n!==void 0?n:lke,o=new Promise((l,d)=>i.armDeadline(()=>l("DeadlineFired"),t)),a=fke(Fe([e.stopAccepting,e.interruptInFlightTurns,e.checkpointCurrentTurn,e.flushInboundQueues,e.flushOutbox],l=>l)),s=await Promise.race([a,o]);return typeof s=="object"?{TAG:"Error",_0:s._0}:s==="OrderedDone"?(r("runner.drain_complete",Object.fromEntries([])),{TAG:"Ok",_0:{drained:!0,timedOut:!1}}):(r("runner.drain_timed_out",Object.fromEntries([["deadlineMs",t]])),{TAG:"Ok",_0:{drained:!1,timedOut:!0}})}var mke="SIGUSR2",pke=15*6e4,hke=120*6e4,_ke=1440*6e4,CD=2*6e4;function fA(e,t){if(e===void 0)return t;let r=e.trim();if(r==="")return t;let n=Number(r);return isFinite(n)&&n>0?Math.max(Math.floor(n),1e3):t}function OD(e){return fA(e.LINZUMI_UPDATE_RESTART_DRAIN_MAX_WAIT_MS,pke)}function eV(e,t,r){let n=r!==void 0?r:!1,i=t!==void 0?t:OD(e),o=n?fA(e.LINZUMI_UPDATE_RESTART_DRAIN_OVERLAP_HARD_CAP_MS,_ke):fA(e.LINZUMI_UPDATE_RESTART_DRAIN_HARD_CAP_MS,hke);return Math.max(o,i)}function tV(e){return fA(e.LINZUMI_UPDATE_RESTART_DRAIN_ACTIVITY_IDLE_MS,CD)}var gke="this computer is updating its Linzumi runner",_Ve=gke+" to a new version - nothing was started. Retry in a few minutes once the update finishes.";var gVe=15*6e4;var rV="this computer restarted its Linzumi runner for an update",bVe=rV+" after waiting for this job past the drain timeout - the job was interrupted. Send your message again to continue.",yVe=rV+" while this job was waiting on your approval - the approval prompt was interrupted. Send your message again and answer the approval prompt to continue.";function nV(e,t,r){return e==="SIGTERM"&&t?r!=="win32":!1}function bke(e,t){return setInterval(e,t)}function yke(e){clearInterval(e)}var xke={scheduleRepeating:bke,cancelRepeating:yke};function Ske(e,t,r,n,i,o){if(e>=r)return{TAG:"ForceExit",cause:"absolute_cap",idleMs:z(i,s=>Math.max(0,n-s))};if(e<t)return"KeepWaiting";if(i===void 0)return{TAG:"ForceExit",cause:"no_liveness_signal",idleMs:void 0};let a=n-i;return a>=v(o,CD)?{TAG:"ForceExit",cause:"silence",idleMs:a}:"KeepWaiting"}function Tke(e){let t=v(e.scheduler,xke),r=v(e.now,()=>Date.now()),n=v(e.pollMs,2e3),i=Math.max(v(e.hardCapMs,e.maxWaitMs),e.maxWaitMs),o=v(e.waitingLogIntervalMs,3e4),a={contents:!1},s={contents:!1},l={contents:void 0},d=()=>{let m=l.contents;if(m!==void 0){t.cancelRepeating(ce(m)),l.contents=void 0;return}},u=()=>{let m=e.hooks.inFlightTurns;return m!==void 0?m():[]},c=m=>m.harness+":"+m.threadId+":"+v(m.turnId,""),f=m=>m.map(p=>p.threadId);return{requestDrain:m=>{if(a.contents)return e.log("runner.update_restart_drain_request_ignored",Object.fromEntries([["trigger",m]]));a.contents=!0;let p=r(),_=e.hooks.isWaitEligible,g=_!==void 0?_():!0;e.log("runner.update_restart_drain_started",Object.fromEntries([["trigger",m],["maxWaitMs",e.maxWaitMs],["hardCapMs",i],["activityIdleMs",v(e.activityIdleMs,CD)],["waitEligible",g]])),e.hooks.beginDraining();let b=T=>{s.contents=!0,d();let w=r()-p;T||e.log("runner.drain_completed",Object.fromEntries([["duration_ms",w]])),e.hooks.exitViaDrain(T,w)};if(!g||e.hooks.isQuiescent())return b(!1);let y={contents:u()},S={contents:p};e.log("runner.drain_waiting",Object.fromEntries([["in_flight_turn_count",y.contents.length],["thread_ids",f(y.contents)],["waited_ms",0]])),l.contents=ve(t.scheduleRepeating(()=>{let T=r()-p,w=u(),A=new Set(w.map(c));if(y.contents.forEach(k=>{if(A.has(c(k)))return;e.log("runner.drain_turn_completed",Object.fromEntries([["thread_id",k.threadId],["turn_id",v(z(k.turnId,V=>V),null)],["engine",k.harness],["remaining",w.length],["waited_ms",T]]));let $=e.hooks.onTurnCompleted;if($!==void 0)return $(k)}),y.contents=w,e.hooks.isQuiescent())return e.log("runner.update_restart_drain_quiesced",Object.fromEntries([["waitedMs",T]])),b(!1);let P=e.hooks.lastActivityAtMs,C=Ske(T,e.maxWaitMs,i,r(),P!==void 0?P():void 0,e.activityIdleMs);if(typeof C!="object")return r()-S.contents>=o?(S.contents=r(),e.log("runner.drain_waiting",Object.fromEntries([["in_flight_turn_count",w.length],["thread_ids",f(w)],["waited_ms",T],["past_soft_cap",T>=e.maxWaitMs]]))):void 0;{let k=C.cause,$=C.idleMs;s.contents=!0,d();let V=u();e.log("runner.drain_timeout_forced_kill",Object.fromEntries([["waited_ms",T],["max_wait_ms",e.maxWaitMs],["hard_cap_ms",i],["cause",k],["idle_ms",v(z($,q=>q),null)],["turn_ids",V.map(q=>v(z(q.turnId,re=>re),null))],["thread_ids",f(V)]])),e.log("runner.update_restart_drain_max_wait_forced",Object.fromEntries([["maxWaitMs",e.maxWaitMs],["waitedMs",T]]));let F=e.hooks.publishForcedKillTerminalStates;(F!==void 0?F(V):Promise.resolve({TAG:"Ok",_0:void 0})).then(q=>{q.TAG!=="Ok"&&e.log("runner.drain_forced_kill_state_publish_failed",Object.fromEntries([["message",q._0]])),e.hooks.exitViaDrain(!0,T)});return}},n))},cancelDrain:m=>!a.contents||s.contents?!1:(d(),a.contents=!1,e.log("runner.update_restart_drain_cancelled",Object.fromEntries([["reason",m]])),!0),stop:()=>d()}}function iV(e){let t=e.signals,r=t!==void 0?t:[v(e.signal,mke)],n=v(e.signalSeam,cke),i=Tke(e.drain),o=r.map(a=>{let s=()=>i.requestDrain(a);return n.registerSignal(a,s),[a,s]});return{uninstall:()=>{o.forEach(a=>n.unregisterSignal(a[0],a[1])),i.stop()},requestDrain:a=>i.requestDrain(a),cancelDrain:a=>i.cancelDrain(a)}}var oV="runner.thread_worker_sigterm_deferred_to_drain";function H_(e){return e!==void 0?ce(e):null}function af(e){return e==="Default"?"default":"plan"}function V_(e){if(e===void 0)return{TAG:"Ok",_0:void 0};switch(e){case"default":return{TAG:"Ok",_0:"Default"};case"plan":return{TAG:"Ok",_0:"Plan"};default:return{TAG:"Error",_0:"unsupported Codex collaboration mode: "+e}}}function aV(e,t){return t!==void 0?t:e}function Ake(e,t){if(e.TAG!=="Ok")return{TAG:"Error",_0:e._0};let r=e._0;if(r.TAG!=="ResultReply")return{TAG:"Error",_0:t+" failed: "+r.message};let n=r._0;return typeof n=="object"&&n!==null&&!Array.isArray(n)?{TAG:"Ok",_0:n}:{TAG:"Error",_0:t+" response did not include an object result"}}function sV(e){try{let t=JSON.stringify(e);if(t===void 0)return{TAG:"Error",_0:"collaboration-mode payload was not JSON serializable"};try{return{TAG:"Ok",_0:JSON.parse(t)}}catch{return{TAG:"Error",_0:"collaboration-mode payload was not JSON serializable"}}}catch{return{TAG:"Error",_0:"collaboration-mode payload was not JSON serializable"}}}var kke={};async function lV(e,t){let r=sV(kke);return r.TAG==="Ok"?Ake(await e.request(t,r._0),t):{TAG:"Error",_0:r._0}}async function Cke(e,t){let r=await lV(e,"collaborationMode/list");if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=r._0.data;if(n===void 0)return{TAG:"Error",_0:"collaborationMode/list response did not include data"};if(!Array.isArray(n))return{TAG:"Error",_0:"collaborationMode/list response did not include data"};let i=af(t),o=zo(n,s=>{if(typeof s!="object"||s===null||Array.isArray(s))return;let l=s.mode;if(typeof l=="string"&&l===i)return s});if(o===void 0)return{TAG:"Error",_0:"Codex app-server does not advertise "+i+" mode"};let a=o.reasoning_effort;return a!==void 0?a===null?{TAG:"Ok",_0:void 0}:typeof a=="string"?{TAG:"Ok",_0:a}:{TAG:"Error",_0:"collaborationMode/list "+i+" mode included invalid reasoning_effort"}:{TAG:"Error",_0:"collaborationMode/list "+i+" mode included invalid reasoning_effort"}}async function Oke(e,t){if(t!==void 0){let l=t.trim();return l===""?{TAG:"Error",_0:"known Codex model must be a non-empty string"}:{TAG:"Ok",_0:l}}let r=await lV(e,"model/list");if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=r._0.data;if(n===void 0)return{TAG:"Error",_0:"model/list response did not include data"};if(!Array.isArray(n))return{TAG:"Error",_0:"model/list response did not include data"};let i=Fe(n,l=>{if(typeof l!="object"||l===null||Array.isArray(l))return;if(l.isDefault===!0)return l});if(i.length!==1)return{TAG:"Error",_0:"model/list did not advertise exactly one valid default model"};let a=i[0].model;if(a===void 0)return{TAG:"Error",_0:"model/list did not advertise exactly one valid default model"};if(typeof a!="string")return{TAG:"Error",_0:"model/list did not advertise exactly one valid default model"};let s=a.trim();return s===""?{TAG:"Error",_0:"model/list did not advertise exactly one valid default model"}:{TAG:"Ok",_0:s}}async function dV(e,t,r,n){let i=await Cke(e,t);if(i.TAG!=="Ok")return{TAG:"Error",_0:i._0};let o=await Oke(e,n);if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let a=H_(cn(i._0,r));return sV({mode:af(t),settings:{model:o._0,reasoning_effort:a,developer_instructions:null}})}function Eke(e,t){}var PD="linzumi.thread_runner";function uV(e,t){return e!==void 0&&e.trim()!==""?{TAG:"Ok",_0:sf.isAbsolute(e)?e:sf.resolve(t,e)}:{TAG:"Error",_0:AD}}function Pke(e){return["--require","-r","--import","--loader","--experimental-loader"].includes(e)}function Gke(e){return["--require=","-r=","--import=","--loader=","--experimental-loader="].some(t=>e.startsWith(t))}function Rke(e){let t=[],r=0;for(;r<e.length;){let n=e[r];if(n!==void 0){let i=Pke(n),o=Gke(n);if(i){let a=e[r+1|0];a!==void 0&&(t.push(n),t.push(a)),r=r+2|0}else o&&t.push(n),r=r+1|0}else r=r+1|0}return t}function GD(e,t,r){return Rke(r).concat([e].concat(t))}function Oa(e,t){return t!==void 0?t!==""?[e,t]:[]:[]}function cV(e){let t=e.codingJob;if(t===void 0||typeof t!="object"||t===null||Array.isArray(t))return;let r=t.mcpToken;if(r===void 0||typeof r!="string")return;let n=r.trim();if(n!=="")return n}function fV(e){let t=i=>{let o=i.join(",");if(o!=="")return o},r=e.codexModelProvider,n=e.runtimeDefaults;return[["--api-url",e.kandanUrl],["--cwd",e.cwd],["--codex-bin",e.codexBin],Oa("--workspace",e.workspaceSlug),Oa("--log-file",e.logFile),Oa("--debug-trace-dir",z(e.debugTrace,i=>i.dir)),Oa("--debug-trace-content",E(e.debugTrace,i=>i.contentMode)),e.fast?["--fast"]:[],Oa("--allowed-cwd",t(e.allowedCwds)),Oa("--forward-port",t(e.allowedForwardPorts.map(i=>i.toString()))),Oa("--code-server-bin",e.codeServerBin),Oa("--model",E(e.runtimeDefaults,i=>i.model)),Oa("--reasoning-effort",E(e.runtimeDefaults,i=>i.reasoningEffort)),Oa("--collaboration-mode",E(e.runtimeDefaults,i=>z(i.collaborationMode,af))),Oa("--sandbox",E(e.runtimeDefaults,i=>i.sandbox)),Oa("--approval-policy",E(e.runtimeDefaults,i=>i.approvalPolicy)),r!==void 0?["--model-provider",r.provider,"--llm-proxy-base-url",r.llmProxyBaseUrl]:[],e.vmExecution?["--vm-execution"]:[],Oa("--execution-mode",e.executionMode),Oa("--egress-mode",e.egressMode),Oa("--project-public-id",e.projectPublicId),Oa("--golden-image-id",e.goldenImagePublicId),["--multi-agent-jobs-eligible",vD(e.multiAgentJobsEligible)],["--multi-agent-jobs-enabled",vD(e.multiAgentJobs)],n!==void 0?n.allowPortForwardingByDefault?["--allow-port-forwarding-by-default"]:["--no-allow-port-forwarding-by-default"]:[]].flat()}function mV(e){let t=[],r=0;for(;r<e.length;){let n=e[r];n!==void 0?n==="--token"?(t.push("--token"),t.push("<redacted>"),r=r+2|0):(t.push(n),r=r+1|0):r=r+1|0}return t}function pV(e,t,r){let n=e.mcpAuthority,i;i=typeof n!="object"?n==="WorkerManagedRunner"?["managed-runner","",""]:["static-runner","",""]:n.TAG==="WorkerPersonalAgent"?["personal-agent",n._0,""]:["coding-job","",n._0];let o=[["LINZUMI_THREAD_RUNNER_ROLE","thread"],["LINZUMI_THREAD_RUNNER_KANDAN_THREAD_ID",e.kandanThreadId],["LINZUMI_THREAD_RUNNER_TOKEN",e.token],["LINZUMI_THREAD_RUNNER_MCP_AUTHORITY",i[0]],["LINZUMI_DEV_SERVICES_PARENT_PID",t.toString()]],a=e.codexModelProvider;return a!==void 0&&o.push(["LINZUMI_LLM_PROXY_TOKEN",a.llmProxyToken]),o.push(["LINZUMI_THREAD_RUNNER_AGENT_MCP_TOKEN",i[1]]),o.push(["LINZUMI_THREAD_RUNNER_CODING_JOB_MCP_TOKEN",i[2]]),r!==void 0&&o.push(["OPENAI_API_KEY",r]),o}function up(e){let t=e.length;return t>12e3?e.slice(t-12e3|0,t):e}function pA(e){let t=rt(e.code,"null",o=>o.toString()),r=v(e.signal,"null"),n="thread Codex worker exited before ready: code="+t+" signal="+r,i=e.capturedOutput.trim();return i===""?n:n+`
502
502
  worker output: `+i}function hV(e,t){return"thread Codex worker did not report ready within "+t.toString()+"ms for Kandan thread "+e}var Ike="thread runner ready timeout must be a non-negative number";function _V(e){let t=v(e,3e4);return isFinite(t)&&t>=0?{TAG:"Ok",_0:t}:{TAG:"Error",_0:Ike}}var hA="thread worker start preflight failed";function Dke(e){return sf.isAbsolute(e)||new RegExp("^[A-Za-z]:[\\\\/]").test(e)?!0:e.startsWith("\\\\")}function RD(e){return e===""?!0:!Dke(e)&&e!==".."&&!e.startsWith("../")&&!e.startsWith("..\\")&&!e.includes("/../")?!e.includes("\\..\\"):!1}function _A(e,t,r){if(e===void 0)return{TAG:"CwdRefused",reason:"missing_cwd"};if(e.trim()==="")return{TAG:"CwdRefused",reason:"missing_cwd"};if(t.length===0)return{TAG:"CwdRefused",reason:"no_allowed_cwd"};let i=mo(sf.resolve(e));if(i.TAG!=="Ok")return{TAG:"CwdRefused",reason:"cwd_not_found"};let o=i._0,a=t.find(s=>RD(sf.relative(s,o)));return a!==void 0?r(o)?{TAG:"CwdRefused",reason:"cwd_dangerous"}:{TAG:"CwdAllowed",cwd:o,matchedRoot:a}:{TAG:"CwdRefused",reason:"cwd_not_allowed"}}function gV(e,t,r){if(r.TAG==="CwdAllowed")return;let n=r.reason,o=t.length!==0?t.join(", "):"none";return{reason:n,message:hA+" ("+n+"): working directory "+e+" cannot start a coding session on this runner (allowed roots: "+o+")"}}function Mke(e){return e.split(`
503
- `).map(t=>t.trim()).find(t=>t.startsWith(hA))}var SVe=new RegExp("worker exited before ready|worker did not report ready within","i");function Zn(e,t){let r=e.trim(),n=r.length,i=" ... ",o=i.length,a=n<=t,s=t<(o+2|0);if(a)return r;if(s)return r.slice(n-Math.max(1,t)|0,n);let l=Math.max(1,Math.floor((t-o|0)/3)|0),d=Math.max(1,(t-o|0)-l|0);return r.slice(0,l)+i+r.slice(n-d|0,n)}function $ke(e){return new Promise((t,r)=>{setTimeout(()=>t(),e)})}async function bV(e,t,r,n,i,o){let a=o!==void 0?o:Eke,s=Math.max(1,v(t,2)),l=v(r,250),d=v(n,$ke),u,c,f=1;for(;Bn(u)&&f<=s;){let m=f,p=await e(m);if(p.TAG==="Ready")u={TAG:"Ok",_0:p._0};else{let _=p._0;c=_;let g=Mke(_.capturedOutput),b=m<s&&Bn(g),y={};y.purpose=PD,y.attempt=m,y.maxAttempts=s,y.code=rt(_.code,null,S=>S),y.signal=rt(_.signal,null,S=>S),y.capturedOutput=_.capturedOutput,y.willRespawn=b,g!==void 0&&(y.deterministicPreflightFailure=g),a("runner.thread_runner_exited_before_ready",y),g!==void 0?u={TAG:"Error",_0:g}:(b&&(i!==void 0&&i({attemptNumber:m+1|0,previous:_}),l>0&&await d(l)),f=m+1|0)}}let h=u;return h!==void 0?h:{TAG:"Error",_0:pA(v(c,{code:void 0,signal:void 0,capturedOutput:""}))}}function yV(e){return typeof e!="object"?e==="WorkerManagedRunner":!1}var xV=3e4;import*as Z_ from"node:fs";import*as DV from"node:os";import*as Vi from"node:path";var Gy="KANDAN_EDITOR_COLLABORATION_",SV=Gy+"DEPLOYMENT_SHAPE",TV=Gy+"ENTRY_MODE",vV=Gy+"ROOM_ID",wV=Gy+"SERVER_URL",AV=Gy+"AUTO_HOST_CLAIM_PATH",gA="Kandan",kV="kandan-local-editor-",CV="oct.kandanEditorSessionId",OV="oct.kandanCollaborationStateUrl",EV="kandan_auto_host_or_join",PV="kandan-oct-auto-host.lock",GV="_kandan-collaboration",RV="/local-codex-runners/",IV="/api/v2/local-codex-runner/editor-runtime/",lf="kandan",J_="kandan.document-state-telemetry";function yA(e){return e.message}function MV(){return{tmpdir:()=>DV.tmpdir(),mkdtemp:e=>He(Cc(e),yA),mkdirRecursive:e=>He(Nt(e),yA),writeFileUtf8:(e,t)=>He(Wn(e,t),yA),existsSync:e=>Z_.existsSync(e),copyFile:(e,t)=>{try{return{TAG:"Ok",_0:(Z_.copyFileSync(e,t),void 0)}}catch(r){let n=N(r);return{TAG:"Error",_0:ke(n).message}}},copyTree:(e,t)=>{try{return{TAG:"Ok",_0:(Z_.cpSync(e,t,{recursive:!0}),void 0)}}catch(r){let n=N(r);return{TAG:"Error",_0:ke(n).message}}},readFileUtf8:e=>He($t(e),yA)}}function ID(e,t,r,n){return["--bind-addr","127.0.0.1:"+e.toString(),"--auth","none","--disable-telemetry","--disable-update-check","--disable-workspace-trust","--disable-getting-started-override","--app-name",gA,"--user-data-dir",r].concat((n!==void 0?["--extensions-dir",n]:[]).concat([t]))}function jke(e){let t={};return t["extensions.autoCheckUpdates"]=!1,t["extensions.autoUpdate"]=!1,t["extensions.ignoreRecommendations"]=!0,t["extensions.showRecommendationsOnlyOnDemand"]=!0,t["oct.alwaysAskToOverrideServerUrl"]=!1,t["oct.joinAcceptMode"]="auto",e!==void 0&&(t[CV]=e.control.editorSessionId,t[OV]=e.collaborationStateUrl,t["oct.serverUrl"]=e.bootstrapServerUrl),t["security.workspace.trust.enabled"]=!1,t["telemetry.telemetryLevel"]="off",t["workbench.secondarySideBar.defaultVisibility"]="hidden",t["workbench.startupEditor"]="none",t["workbench.welcomePage.walkthroughs.openOnInstall"]=!1,t}var Fke=new RegExp(`exec\\s+(?:"([^"]+)"|'([^']+)'|([^\\s]+))\\s+"\\$@"`,"u");function Nke(e,t){let r=t.readFileUtf8(e);if(r.TAG!=="Ok")return[];let n=Fke.exec(r._0);if(n==null)return[];let i=n.slice(1),o=l=>E(i[l],d=>d),a=cn(cn(o(0),o(1)),o(2));return a===void 0?[]:a.trim()===""?[]:[a]}function DD(e){let t={},r=[];return e.forEach(n=>{let i=n.length>0,o=t[n];if(i&&o===void 0){t[n]=!0,r.push(n);return}}),r}function qke(e){return[Vi.join(e,"extensions","git-base","dist","extension.js"),Vi.join(e,"extensions","merge-conflict","dist","mergeConflictMain.js")]}var zke="code-server runtime did not include a VS Code root candidate";function Lke(e,t){let r=a=>Vi.join(Vi.dirname(Vi.dirname(a)),"lib","vscode"),n=DD([Vi.join(e.root,"lib","vscode"),r(e.codeServerBin)].concat(Nke(e.codeServerBin,t).map(r))),i=n.find(a=>qke(a).every(s=>t.existsSync(s))),o=n[0];return i!==void 0?{TAG:"Ok",_0:i}:o!==void 0?{TAG:"Ok",_0:o}:{TAG:"Error",_0:zke}}function Uke(e){let t=(n,i)=>Vi.join(e,"extensions",n,"dist",i),r=(n,i)=>Vi.join(e,"extensions",n,"dist","browser",i);return[{source:t("git-base","extension.js"),target:r("git-base","extension.js"),required:!0},{source:t("git-base","extension.js.map"),target:r("git-base","extension.js.map"),required:!1},{source:t("merge-conflict","mergeConflictMain.js"),target:r("merge-conflict","mergeConflictMain.js"),required:!0},{source:t("merge-conflict","mergeConflictMain.js.map"),target:r("merge-conflict","mergeConflictMain.js.map"),required:!1}]}function Bke(e,t){return Ae(Lke(e,t),r=>nt(Uke(r),{TAG:"Ok",_0:void 0},(n,i)=>Ae(n,()=>{let o=t.existsSync(i.target),a=!i.required&&!t.existsSync(i.source);return o||a?{TAG:"Ok",_0:void 0}:Ae(t.mkdirRecursive(Vi.dirname(i.target)),()=>t.copyFile(i.source,i.target))})))}function $V(e,t,r){return Ae(r.mkdtemp(Vi.join(r.tmpdir(),kV)),n=>{let i=Vi.join(n,"extensions"),o=Vi.join(n,"collaboration-server"),a=Vi.join(n,"tmp"),s=Vi.join(n,"User");return Ze(Ae(Ae(Ae(Ae(Ae(r.mkdirRecursive(s),()=>r.mkdirRecursive(i)),()=>r.mkdirRecursive(o)),()=>r.mkdirRecursive(a)),()=>t!==void 0?Ae(Bke(t,r),()=>{let l=Vi.join(i,J_);return Ae(r.mkdirRecursive(Vi.dirname(l)),()=>r.copyTree(t.assets.documentStateExtensionDir,l))}):{TAG:"Ok",_0:void 0}),()=>r.writeFileUtf8(Vi.join(s,"settings.json"),JSON.stringify(jke(e),void 0,2))),()=>({userDataDir:n,extensionsDir:i,collaborationServerDir:o}))})}function jV(e,t,r,n){let i={};return Object.entries(e).forEach(o=>{let a=o[0];a!=="PORT"&&(i[a]=o[1])}),i.PWD=t,n!==void 0&&(i[SV]="local_runner_sidecar",i[TV]=EV,i[vV]=n.control.roomId,i[wV]=n.bootstrapServerUrl,i[AV]=Vi.join(r,PV)),i}function FV(e,t){let r=z(e.LINZUMI_NODE_BIN,n=>n.trim());return r!==void 0&&r!==""?r:Vi.basename(t).toLowerCase().includes("bun")?"node":t}import*as Y_ from"node:fs";import*as BV from"node:os";import*as ki from"node:path";import*as WV from"node:crypto";import*as HV from"node:child_process";function Wke(e){switch(e){case"UnsupportedPlatform":return"unsupported_platform";case"AuthExpired":return"auth_expired";case"AuthUnauthorized":return"auth_unauthorized";case"ManifestUnavailable":return"manifest_unavailable";case"DownloadFailed":return"download_failed";case"ChecksumMismatch":return"checksum_mismatch";case"ArchiveExtractFailed":return"archive_extract_failed";case"InvalidArchive":return"invalid_archive";case"InstallFailed":return"install_failed"}}var qV="server_managed",Hke="custom";function VV(e){let t={};switch(e.TAG){case"RuntimeReady":t.status="ready",t.mode=qV,t.version=e.version,t.platform=e.platform,t.archiveSha256=e.archiveSha256,t.codeServerVersion=e.codeServerVersion,t.updated=e.updated;break;case"RuntimeCustom":t.status="custom",t.mode=Hke,t.codeServerBin=e.codeServerBin;break;case"RuntimeUnavailable":t.status="unavailable",t.mode=qV,t.reason=Wke(e.reason);break}return t}function Vke(e,t){switch(e+"-"+t){case"darwin-arm64":return"darwin-arm64";case"darwin-x64":return"darwin-x64";case"linux-x64":return"linux-x64";default:return}}function Wd(e){if(e===void 0||typeof e!="string")return;let t=e.trim();if(t!=="")return t}var Kke=new RegExp("^[a-f0-9]{64}$","i");function KV(e){return E(Wd(e),t=>{if(Kke.test(t))return t.toLowerCase()})}var $D="bin/code-server",Jke="linzumi-editor-runtime.json";function Zke(e){if(Array.isArray(e))return nt(e,[],(t,r)=>E(t,n=>{if(typeof r!="object"||r===null||Array.isArray(r))return;let i=Wd(r.path),o=KV(r.sha256),a=Wd(r.url),s=Wd(r.contentBase64);if(i!==void 0&&o!==void 0)return n.push({path:i,sha256:o,url:a,contentBase64:s}),n}))}function Qke(e){let t=Wd(e.version),r=Wd(e.platform),n=Wd(e.archiveUrl),i=KV(e.archiveSha256),o=Wd(e.codeServerVersion),a=v(Wd(e.codeServerBinPath),$D),s=v(Wd(e.manifestPath),Jke),l=Zke(e.assets);return t!==void 0&&r!==void 0&&n!==void 0&&i!==void 0&&o!==void 0&&l!==void 0?{TAG:"Ok",_0:{version:t,platform:r,archiveUrl:n,archiveSha256:i,codeServerVersion:o,codeServerBinPath:a,manifestPath:s,assets:l}}:{TAG:"Error",_0:"ManifestUnavailable"}}function JV(e,t){return ki.resolve(e,t.platform,t.archiveSha256)}var zV="/"+$D;function xA(e){let t=e.replaceAll("\\","/");if(t===$D)return".";if(!t.endsWith(zV))return ki.dirname(t);let r=t.slice(0,t.length-zV.length|0);return r===""?".":r}function Yke(e){let t={};return e.forEach(r=>{t[r.path]=r.sha256}),t}function Xke(e,t){return e.protocol===t.protocol?e.host===t.host:!1}function eCe(e){return ki.join(e,".linzumi","editor-runtimes")}var tCe=".install-",rCe="runtime.tar.gz",nCe="runtime";function ZV(e){return{collaborationExtensionTarball:ki.join(...[e].concat([lf,"editor_extensions","typefox.open-collaboration-tools.tar.gz"])),collaborationServerTarball:ki.join(...[e].concat([lf,"editor_servers","open-collaboration-server.tar.gz"])),documentStateExtensionDir:ki.join(...[e].concat([lf,"editor_extensions",J_]))}}function iCe(e){try{return{TAG:"Ok",_0:WV.createHash("sha256").update(Y_.readFileSync(e)).digest("hex")}}catch(t){let r=N(t);return{TAG:"Error",_0:ke(r).message}}}function oCe(e,t){try{return{TAG:"Ok",_0:(Y_.writeFileSync(e,t),void 0)}}catch(r){let n=N(r);return{TAG:"Error",_0:ke(n).message}}}function aCe(e){return IV+encodeURIComponent(e)+"/manifest"}async function sCe(e){let t=await e.bodyJson();if(t.TAG!=="Ok")return"AuthUnauthorized";let r=t._0;return typeof r!="object"||r===null||Array.isArray(r)?"AuthUnauthorized":r.error==="token_expired"?"AuthExpired":"AuthUnauthorized"}async function lCe(e,t,r,n){let i=mi(e);if(i.TAG!=="Ok")return{TAG:"Error",_0:"ManifestUnavailable"};let o=Hi(aCe(r),i._0);if(o.TAG!=="Ok")return{TAG:"Error",_0:"ManifestUnavailable"};let a=await n.fetchUrl(o._0.toString(),t);if(a.TAG!=="Ok")return{TAG:"Error",_0:"ManifestUnavailable"};let s=a._0,l=s.status;if(l!==200)return l!==401?{TAG:"Error",_0:"ManifestUnavailable"}:{TAG:"Error",_0:await sCe(s)};let d=await s.bodyJson();if(d.TAG!=="Ok")return{TAG:"Error",_0:"ManifestUnavailable"};let u=d._0;if(typeof u!="object"||u===null||Array.isArray(u))return{TAG:"Error",_0:"ManifestUnavailable"};let c=u.ok,f=u.runtime;return c===!0&&typeof f=="object"&&f!==null&&!Array.isArray(f)?Qke(f):{TAG:"Error",_0:"ManifestUnavailable"}}function dCe(e){let t=xA(e.codeServerBinPath),r=["lib","vscode","node_modules","vsda","rust","web"];return[e.codeServerBinPath,ki.join(...[t].concat(r.concat(["vsda.js"]))),ki.join(...[t].concat(r.concat(["vsda_bg.wasm"]))),[lf,"editor_extensions","typefox.open-collaboration-tools.tar.gz"].join("/"),[lf,"editor_servers","open-collaboration-server.tar.gz"].join("/"),[lf,"editor_extensions",J_].join("/")+"/package.json",[lf,"editor_extensions",J_].join("/")+"/out/extension.js"]}function QV(e,t,r){let n=Yke(t.assets),i=dCe(t).every(s=>{let l=n[s],d=s===t.codeServerBinPath;if(l===void 0)return d?r.existsSync(ki.join(e,s)):!1;let u=ki.join(e,s);if(!r.existsSync(u))return!1;let c=r.fileSha256(u);return c.TAG==="Ok"?c._0===l:!1}),o=ZV(e),a=r.existsSync(o.collaborationExtensionTarball)&&r.existsSync(o.collaborationServerTarball);if(i&&a)return o}function uCe(e,t,r){let n=JV(e,t),i=ki.join(n,t.manifestPath),o=ki.join(n,t.codeServerBinPath),a=r.existsSync(i)&&r.existsSync(o),s=QV(n,t,r);if(!a||s===void 0)return;let l=r.readFileUtf8(i);if(l.TAG!=="Ok")return;let d;try{d=JSON.parse(l._0)}catch{d=void 0}if(d===void 0||typeof d!="object"||d===null||Array.isArray(d))return;let u=J(d.version,t.version),c=J(d.platform,t.platform),f=d.archiveSha256,h=f!==void 0?typeof f=="string"?f===t.archiveSha256:!1:!0;if(u&&c&&h)return{root:n,codeServerBin:o,assets:s}}async function cCe(e,t,r,n,i){let o=mi(e);if(o.TAG!=="Ok")return{TAG:"Error",_0:"DownloadFailed"};let a=o._0,s=Hi(r.archiveUrl,a),l=ho(a);if(s.TAG!=="Ok")return{TAG:"Error",_0:"DownloadFailed"};if(l===void 0)return{TAG:"Error",_0:"DownloadFailed"};let d=s._0,u=Xke(d,ce(l))?t:void 0,c=await i.fetchUrl(d.toString(),u);if(c.TAG!=="Ok")return{TAG:"Error",_0:"DownloadFailed"};let f=c._0;if(f.status!==200)return{TAG:"Error",_0:"DownloadFailed"};let m=await f.bodyBytes();if(m.TAG!=="Ok")return{TAG:"Error",_0:"DownloadFailed"};if(i.writeBytes(n,m._0).TAG!=="Ok")return{TAG:"Error",_0:"DownloadFailed"};let _=i.fileSha256(n);return _.TAG==="Ok"?_._0===r.archiveSha256?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:"ChecksumMismatch"}:{TAG:"Error",_0:"DownloadFailed"}}async function fCe(e,t,r){let n=t.contentBase64,i=t.url;if(n!==void 0)try{return{TAG:"Ok",_0:ve(Buffer.from(n,"base64"))}}catch(o){let a=N(o);return{TAG:"Error",_0:ke(a).message}}else{if(i===void 0)return{TAG:"Ok",_0:void 0};let o=mi(e);if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let a=Hi(i,o._0);if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};let s=await r.fetchUrl(a._0.toString(),void 0);if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0};let l=s._0;if(l.status!==200)return{TAG:"Ok",_0:void 0};let u=await l.bodyBytes();return u.TAG==="Ok"?{TAG:"Ok",_0:ve(u._0)}:{TAG:"Error",_0:u._0}}}async function mCe(e,t,r,n){let i=0,o=!1;for(;!o&&i<t.assets.length;){let a=t.assets[i];if(a!==void 0){let s=ki.join(r,a.path),l=await fCe(e,a,n);if(l.TAG==="Ok"){let d=l._0;if(d!==void 0){let u=ce(d);Ae(n.mkdirRecursive(ki.dirname(s)),()=>n.writeBytes(s,u)).TAG==="Ok"?i=i+1|0:o=!0}else i=i+1|0}else o=!0}else i=i+1|0}return!o}function pCe(e){let t={};return t.version=e.version,t.platform=e.platform,t.archiveSha256=e.archiveSha256,t.codeServerVersion=e.codeServerVersion,t.codeServerBinPath=e.codeServerBinPath,t.manifestPath=e.manifestPath,t.assets=e.assets.map(r=>{let n={};n.path=r.path,n.sha256=r.sha256;let i=r.url;i!==void 0&&(n.url=i);let o=r.contentBase64;return o!==void 0&&(n.contentBase64=o),n}),JSON.stringify(t,void 0,2)}async function hCe(e,t,r,n,i,o){let a=ki.join(i,rCe),s=ki.join(i,nCe),l=await cCe(e,t,r,a,o);if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0};if(o.mkdirRecursive(s).TAG!=="Ok")return{TAG:"Error",_0:"InstallFailed"};if(!await o.extractArchive(a,s))return{TAG:"Error",_0:"ArchiveExtractFailed"};if(!await mCe(e,r,s,o))return{TAG:"Error",_0:"InstallFailed"};let u=ki.join(s,r.manifestPath),c=ki.join(s,r.codeServerBinPath),f=o.existsSync(c),h=QV(s,r,o);if(!f)return{TAG:"Error",_0:"InvalidArchive"};if(h===void 0)return{TAG:"Error",_0:"InvalidArchive"};let m=JV(n,r);return Ae(Ae(Ae(Ae(o.mkdirRecursive(ki.dirname(u)),()=>o.writeFileUtf8(u,pCe(r))),()=>o.rmRecursiveForce(m)),()=>o.mkdirRecursive(ki.dirname(m))),()=>o.rename(s,m)).TAG==="Ok"?{TAG:"Ok",_0:{root:m,codeServerBin:ki.join(m,r.codeServerBinPath),assets:ZV(m)}}:{TAG:"Error",_0:"InstallFailed"}}async function _Ce(e,t,r,n,i){if(i.mkdirRecursive(n).TAG!=="Ok")return{TAG:"Error",_0:"InstallFailed"};let a=i.mkdtemp(ki.join(n,tCe));if(a.TAG!=="Ok")return{TAG:"Error",_0:"InstallFailed"};let s=a._0,l=await hCe(e,t,r,n,s,i);return i.rmRecursiveForce(s),l}function LV(e){return{status:{TAG:"RuntimeUnavailable",reason:e},codeServerBin:void 0,runtime:void 0}}function UV(e,t,r){return{status:{TAG:"RuntimeReady",version:e.version,platform:e.platform,archiveSha256:e.archiveSha256,codeServerVersion:e.codeServerVersion,updated:r},codeServerBin:t.codeServerBin,runtime:t}}async function jD(e,t){let r=e.customCodeServerBin;if(r!==void 0)return{status:{TAG:"RuntimeCustom",codeServerBin:r},codeServerBin:r,runtime:void 0};let n=Vke(t.platform,t.arch);if(n===void 0)return{status:{TAG:"RuntimeUnavailable",reason:"UnsupportedPlatform"},codeServerBin:void 0,runtime:void 0};let i=await lCe(e.serviceUrl,e.token,n,t);if(i.TAG!=="Ok")return LV(i._0);let o=i._0,a=v(e.cacheRoot,eCe(t.homeDir())),s=uCe(a,o,t);if(s!==void 0)return UV(o,s,!1);let l=await _Ce(e.serviceUrl,e.token,o,a,t);return l.TAG==="Ok"?UV(o,l._0,!0):LV(l._0)}var MD="editor_runtime.extract";function gCe(e,t,r){return new Promise((n,i)=>{let o="tar",a=["-xzf",e,"-C",t],s=a.map(f=>f);r("process.spawn",Object.fromEntries([["command",o],["args",s],["purpose",MD]]));let l=HV.spawn(o,a,{stdio:["ignore","ignore","ignore"]}),d=l.pid,u=d??null;r("process.spawned",Object.fromEntries([["command",o],["args",s],["pid",u],["purpose",MD]]));let c={contents:!1};l.on("error",f=>{if(!c.contents)return c.contents=!0,n(!1)}),l.once("exit",(f,h)=>{if(r("process.exit",Object.fromEntries([["command",o],["args",s],["pid",u],["code",f??null],["signal",h??null],["purpose",MD]])),!c.contents)return c.contents=!0,n(J(f==null?void 0:ve(f),0))})})}function Q_(e){return e.message}function FD(e){return{fetchUrl:async(t,r)=>{let n=r!==void 0?{headers:Object.fromEntries([["authorization","Bearer "+r]])}:{},i=await ms(t,n);if(i.TAG!=="Ok")return{TAG:"Error",_0:i._0.message};let o=i._0;return{TAG:"Ok",_0:{status:o.status,bodyJson:async()=>{let a=await Gd(o);return a.TAG==="Ok"?{TAG:"Ok",_0:a._0}:{TAG:"Error",_0:a._0.message}},bodyBytes:async()=>{try{return{TAG:"Ok",_0:Buffer.from(await o.arrayBuffer())}}catch(a){let s=N(a);return{TAG:"Error",_0:ke(s).message}}}}}},extractArchive:(t,r)=>gCe(t,r,e),platform:process.platform,arch:process.arch,homeDir:()=>BV.homedir(),existsSync:t=>Y_.existsSync(t),readFileUtf8:t=>He($t(t),Q_),writeFileUtf8:(t,r)=>He(Wn(t,r),Q_),writeBytes:oCe,mkdirRecursive:t=>He(Nt(t),Q_),mkdtemp:t=>He(Cc(t),Q_),rmRecursiveForce:t=>He(ds(t),Q_),rename:(t,r)=>He(Jn(t,r),Q_),fileSha256:iCe}}import*as YV from"node:fs";import*as Hd from"node:path";function XV(){return{existsSync:e=>YV.existsSync(e),realpath:e=>He(mo(e),t=>t.message)}}function bCe(e){return e.includes("/")?!0:e.includes("\\")}function yCe(e,t){let r=t.realpath(e);if(r.TAG==="Ok"){let i=Hd.dirname(r._0);return i==="/"?void 0:i}let n=Hd.dirname(e);switch(n){case".":case"/":return;default:return n}}function TA(e,t,r){return bCe(e)?z(yCe(e,r),n=>({command:e,directory:n})):nt(t.split(Hd.delimiter),void 0,(n,i)=>{let o=i.trim();if(n!==void 0)return n;if(o==="")return;let a=Hd.join(i,e);if(!r.existsSync(a))return;let s=r.realpath(a);if(s.TAG!=="Ok")return;let l=s._0;return{command:l,directory:Hd.dirname(l)}})}function eK(e,t,r){return z(TA(e,t,r),n=>xA(n.command))}function xCe(e,t){let r=t.realpath(e);return r.TAG==="Ok"?[e,r._0]:[e]}var SCe=["/usr","/bin","/sbin","/lib","/lib64","/etc","/nix","/opt"];function TCe(e,t){let r=TA(v(e.bubblewrapBin,"bwrap"),e.envPath,t),n=TA(e.codeServerBin,e.envPath,t);if(r===void 0||n===void 0)return"SandboxUnavailable";let i=e.codeServerRuntimeRoot,o=DD(SCe.concat((i!==void 0?xCe(i,t):[]).concat([n.directory]))),a=e.extensionsDir,s=["--die-with-parent","--proc","/proc","--dev-bind","/dev","/dev","--tmpfs","/tmp","--setenv","HOME",e.cwd,"--setenv","PWD",e.cwd,"--setenv","XDG_DATA_HOME",Hd.join(e.userDataDir,"data"),"--setenv","XDG_CONFIG_HOME",Hd.join(e.userDataDir,"config")].concat(o.flatMap(l=>["--ro-bind-try",l,l]).concat(["--bind",e.cwd,e.cwd,"--bind",e.userDataDir,e.userDataDir].concat(a!==void 0?["--bind",a,a]:[]).concat(["--chdir",e.cwd,"--",n.command].concat(ID(e.port,e.cwd,e.userDataDir,e.extensionsDir)))));return{TAG:"LaunchReady",command:r.command,args:s}}function tK(e,t){switch(e.platform){case"darwin":let n=TA(e.codeServerBin,e.envPath,t);return n!==void 0?{TAG:"LaunchReady",command:n.command,args:ID(e.port,e.cwd,e.userDataDir,e.extensionsDir)}:"SandboxUnavailable";case"linux":return TCe(e,t);default:return"SandboxUnavailable"}}var wCe=new RegExp("/+$");function rK(e){if(e===void 0)return;let t=e.trim();if(t!=="")return t.replace(wCe,"")}function ACe(e,t){return RV+encodeURIComponent(e)+"/forwards/"+t.toString()+"/preview-target"}function kCe(e){return"/api/v2/editor/sessions/"+e.toString()+"/collaboration-state"}function nK(e,t,r,n){if(e===void 0)return{TAG:"Ok",_0:void 0};if(r===void 0)return{TAG:"Ok",_0:void 0};let i=ACe(t,r),o=kCe(e.editorSessionId),a=e.bootstrapToken,s=a!==void 0&&a!==""?i+"/"+GV+"/"+encodeURIComponent(a):void 0,l=d=>Ze(Hi(d,n+"/"),u=>u.toString());return Ae(l(i),d=>s!==void 0?Ze(l(s),u=>({control:e,serverPort:r,serverUrl:d,bootstrapServerUrl:u,collaborationStateUrl:s+o})):{TAG:"Ok",_0:{control:e,serverPort:r,serverUrl:d,bootstrapServerUrl:d,collaborationStateUrl:o}})}function vA(e){return{provider:e.control.provider,editorSessionId:e.control.editorSessionId,runtimeSessionId:e.control.runtimeSessionId,roomId:e.control.roomId,serverPort:e.serverPort,serverUrl:e.serverUrl}}function iK(e,t){return e!==void 0?t!==void 0&&e.control.editorSessionId===t.editorSessionId&&e.control.runtimeSessionId===t.runtimeSessionId?e.control.roomId===t.roomId:!1:t===void 0}function oK(e){let t={};return t.provider=e.provider,t.editorSessionId=e.editorSessionId,t.runtimeSessionId=e.runtimeSessionId,t.roomId=e.roomId,t.serverPort=e.serverPort,t.serverUrl=e.serverUrl,t}var OCe="local_editor_disabled",ECe="missing_browser_base_url",df="code_server_spawn_failed",PCe="local_editor_filesystem_sandbox_unavailable";function cK(e,t){if(t!==void 0)return{TAG:"CustomRuntime",_0:{codeServerBin:e,editorRuntime:t}}}function GCe(e){return typeof e!="object"?"disabled":"running"}function fK(e,t,r){let n={};if(n.localEditor=It(e)&&t.length!==0,n.localEditorStatus=GCe(r),typeof r=="object"){let i=r.collaboration;n.localEditorPort=r.port,n.localEditorCwd=r.cwd,i!==void 0&&(n.localEditorCollaboration=oK(vA(i.prepared)))}return n}function RCe(e){return e.map(t=>t)}function aK(e,t){if(t!==void 0){e.pid=t;return}}function ICe(e){return e!==void 0?e:null}function DCe(e){return e!==void 0?e:null}var MCe="local_editor.code_server",$Ce="local_editor.collaboration_sidecar",jCe="local_editor.install_process";function mK(e){return new Promise((t,r)=>{let n={contents:!1},i=()=>{if(!n.contents)return n.contents=!0,t()};if(e.onExitOnce((o,a)=>i()),e.onCloseOnce(i),e.hasExited())return i()})}function pK(e,t){return new Promise((r,n)=>{let i={contents:!1},o=a=>{if(!i.contents)return i.contents=!0,r(a)};e.onSpawnOnce(()=>o("ProcessSpawned")),e.onErrorOnce(a=>o("ProcessSpawnFailed")),t.scheduleImmediate(()=>{let a=i.contents,s=e.pid();if(!(a||s===void 0))return o("ProcessSpawned")})})}function hK(e,t,r,n){let i=n.nowMs()+1e4;return new Promise((o,a)=>{let s={contents:!1},l={contents:void 0},d=f=>{if(s.contents)return;s.contents=!0;let h=l.contents;h!==void 0&&h(),o(f)},u=()=>{l.contents=n.scheduleTimeout(()=>{c()},50)},c=async()=>{if(n.nowMs()>i)return d("ProbeFailed");let f=await n.probeUrlStatus(e,t);return f.TAG==="Ok"&&f._0<500?d("ProbeReady"):u()};r.then(()=>(d("ProbeFailed"),Promise.resolve())),c()})}function ND(e,t,r,n,i,o){let a=()=>{let u={};return u.command=e.command,u.args=RCe(e.args),r.forEach(c=>{u[c[0]]=c[1]}),u},s=a();s.purpose=t,n.forEach(u=>{s[u[0]]=u[1]}),o.audit("process.spawn",s,i);let l=o.spawnProcess(e),d=a();return aK(d,l.pid()),d.purpose=t,n.forEach(u=>{d[u[0]]=u[1]}),o.audit("process.spawned",d,i),l.onExitOnce((u,c)=>{let f=a();aK(f,l.pid()),f.code=ICe(u),f.signal=DCe(c),f.purpose=t,n.forEach(h=>{f[h[0]]=h[1]}),o.audit("process.exit",f,i)}),l}function FCe(e,t,r){return new Promise((n,i)=>{let o=ND({command:e,args:t,cwd:void 0,env:void 0,stdio:"StderrOnly"},jCe,[],[],void 0,r),a={contents:!1},s=l=>{if(!a.contents)return a.contents=!0,n(l)};o.onErrorOnce(l=>s({TAG:"Error",_0:l})),o.onExitOnce((l,d)=>s(l!==void 0?l!==0?{TAG:"Error",_0:e+" exited with "+l.toString()}:{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:e+" exited with unknown"}))})}async function sK(e,t,r){let n=r.profile.mkdirRecursive(t);return n.TAG==="Ok"?await FCe("tar",["-xzf",e,"-C",t],r):{TAG:"Error",_0:n._0}}async function NCe(e,t,r,n,i){if(e===void 0)return{TAG:"SidecarStarted",collaboration:void 0,ready:Promise.resolve("ProbeReady")};if(!(await Promise.all([sK(r.assets.collaborationExtensionTarball,t.extensionsDir,i),sK(r.assets.collaborationServerTarball,t.collaborationServerDir,i)])).every(X4))return"SidecarFailed";let a=FV(i.env,i.execPath),s=[dK.join(t.collaborationServerDir,"open-collaboration-server","bundle","app.js"),"--hostname","127.0.0.1","--port",e.serverPort.toString()],l={};Object.entries(i.env).forEach(m=>{l[m[0]]=m[1]}),l.OCT_ACTIVATE_SIMPLE_LOGIN="true",l.OCT_SERVER_OWNER=gA;let d=[["editorSessionId",e.control.editorSessionId],["runtimeSessionId",e.control.runtimeSessionId]],u=ND({command:a,args:s,cwd:void 0,env:l,stdio:"InheritOutput"},$Ce,[],d,n,i),c=mK(u);if(await pK(u,i)!=="ProcessSpawned")return"SidecarFailed";let h=hK("http://127.0.0.1:"+e.serverPort.toString()+"/api/login/initial",!0,c,i);return{TAG:"SidecarStarted",collaboration:{prepared:e,process:u,exited:c},ready:h}}function lK(e){if(typeof e!="object")return;let t=e.collaboration;if(t!==void 0)return t.prepared}function Ry(e){if(typeof e!="object")return;let t=e.collaboration;if(e.process.kill("SIGINT"),t!==void 0)return t.process.kill("SIGINT")}async function _K(e,t,r){let n=t.editorRuntime;if(n===void 0)return{TAG:"StartRefused",state:t.currentState,reason:OCe};let i=v(Ei(r.env,"PATH"),""),o;if(n.TAG==="CustomRuntime"){let p=n._0,_=p.codeServerBin;o=[_,p.editorRuntime,eK(_,i,r.sandboxFs)]}else{let p=n._0;o=[p.codeServerBin,p,p.root]}let a=o[1],s=_A(e.cwd,t.allowedCwds,r.isDangerousCwd);if(s.TAG!=="CwdAllowed")return{TAG:"StartRefused",state:t.currentState,reason:s.reason};let l=s.cwd,d=t.currentState,u;if(u=typeof d!="object"||d.cwd!==l?!1:iK(lK(t.currentState),e.collaboration),u){let p=t.currentState;return typeof p!="object"?{TAG:"StartRefused",state:t.currentState,reason:df}:{TAG:"Started",state:t.currentState,event:{cwd:p.cwd,port:p.port,startedAt:r.nowIso(),collaboration:z(lK(t.currentState),vA)}}}let c=e.browserBaseUrl,f=rK(c!==void 0?c:t.browserBaseUrl),h=e.collaboration,m=0;if(h!==void 0){if(f===void 0)return{TAG:"StartRefused",state:t.currentState,reason:ECe};m=1}else m=1;if(m===1){let p=await r.choosePort(),_=e.collaboration,g;if(_!==void 0){let q=await r.choosePort();g=q.TAG==="Ok"?{TAG:"Ok",_0:q._0}:{TAG:"Error",_0:q._0}}else g={TAG:"Ok",_0:void 0};if(p.TAG!=="Ok")return{TAG:"StartRefused",state:t.currentState,reason:df};let b=p._0;if(g.TAG!=="Ok")return{TAG:"StartRefused",state:t.currentState,reason:df};let y=f!==void 0?nK(e.collaboration,v(t.runnerId,"local-runner"),g._0,f):{TAG:"Ok",_0:void 0};if(y.TAG!=="Ok")return{TAG:"StartRefused",state:t.currentState,reason:df};let S=y._0,T=$V(S,a,r.profile);if(T.TAG!=="Ok")return{TAG:"StartRefused",state:t.currentState,reason:df};let w=T._0,A=tK({codeServerBin:o[0],codeServerRuntimeRoot:o[2],port:b,cwd:l,userDataDir:w.userDataDir,extensionsDir:w.extensionsDir,platform:r.platform,bubblewrapBin:void 0,envPath:i},r.sandboxFs);if(typeof A!="object")return{TAG:"StartRefused",state:t.currentState,reason:PCe};let P,C=0;S!==void 0?a!==void 0?C=2:P=Promise.resolve("SidecarFailed"):a!==void 0?C=2:P=Promise.resolve({TAG:"SidecarStarted",collaboration:void 0,ready:Promise.resolve("ProbeReady")}),C===2&&(P=NCe(S,w,a,t.runnerId,r));let k=await P;if(typeof k!="object")return{TAG:"StartRefused",state:t.currentState,reason:df};let $=k.collaboration,V=ND({command:A.command,args:A.args,cwd:l,env:jV(r.env,l,w.userDataDir,z($,q=>q.prepared)),stdio:"InheritOutput"},MCe,[["cwd",l]],[],t.runnerId,r),F=mK(V);return await pK(V,r)==="ProcessSpawned"?(await Promise.all([hK("http://127.0.0.1:"+b.toString()+"/",!1,F,r),k.ready])).every(re=>re==="ProbeReady")?(Ry(t.currentState),{TAG:"Started",state:{TAG:"Running",cwd:l,port:b,process:V,collaboration:$,exited:F},event:{cwd:l,port:b,startedAt:r.nowIso(),collaboration:z($,re=>vA(re.prepared))}}):(V.kill("SIGINT"),$!==void 0&&$.process.kill("SIGINT"),{TAG:"StartRefused",state:t.currentState,reason:df}):($!==void 0&&$.process.kill("SIGINT"),{TAG:"StartRefused",state:t.currentState,reason:df})}}function wA(e){return e==="InheritOutput"?["ignore","inherit","inherit"]:["ignore","ignore","inherit"]}function qCe(e){let t=e.cwd,r=e.env,n=uK.spawn(e.command,e.args,t!==void 0?r!==void 0?{cwd:t,env:r,stdio:wA(e.stdio)}:{cwd:t,stdio:wA(e.stdio)}:r!==void 0?{env:r,stdio:wA(e.stdio)}:{stdio:wA(e.stdio)});return{pid:()=>z(lt(n.pid),i=>i),kill:i=>{ra(n,i)},onExitOnce:i=>{n.once("exit",(o,a)=>i(z(o==null?void 0:ve(o),s=>s),a==null?void 0:ve(a)))},onCloseOnce:i=>{n.once("close",i)},onSpawnOnce:i=>{n.once("spawn",i)},onErrorOnce:i=>{n.once("error",o=>i(o.message))},hasExited:()=>It(lt(n.exitCode))?!0:It(lt(n.signalCode))}}async function zCe(e,t){let n=await ms(e,t?{method:"POST"}:{});return n.TAG==="Ok"?{TAG:"Ok",_0:n._0.status}:{TAG:"Error",_0:n._0.message}}function gK(e,t){return{spawnProcess:qCe,choosePort:hT,probeUrlStatus:zCe,nowIso:()=>new Date().toISOString(),nowMs:()=>Date.now(),scheduleTimeout:(r,n)=>{let i=setTimeout(r,n);return()=>{clearTimeout(i)}},scheduleImmediate:r=>{setImmediate(r)},env:process.env,execPath:process.execPath,platform:process.platform,audit:e,isDangerousCwd:t,profile:MV(),sandboxFs:XV()}}function Vd(){return v("1.0.219","0.0.0-unbundled")}function qD(){return"linzumi "+v("1.0.219","0.0.0-unbundled")}import*as Pa from"node:os";import*as Ga from"node:path";import*as FF from"node:crypto";function yK(e){return"local_runner:"+e}var LCe="kandan-local-codex-runner",UCe="rescript";function xK(e){let t={};t.clientName=LCe,t.clientId=e.clientId;let r=e.machineFingerprint;t.machineFingerprint=r!==void 0?r:null,Object.entries(C8(e.machineFingerprintV2)).forEach(a=>{t[a[0]]=a[1]}),t.runnerPid=e.runnerPid,t.version=e.version,t.hostname=e.hostname,t.cwd=e.cwd;let n=e.workspace;t.workspace=n!==void 0?n:null;let i=e.channel;t.channel=i!==void 0?i:null,t.capabilities=e.capabilities;let o=e.generationOverlapEpoch;if(o!==void 0){let a={};a.epoch=o,a.overlap=!0,t.generation=a}return t.commander_impl=UCe,t}function SK(e,t,r){let n={};return n.last_seq=r,t!==void 0&&(n.runner_id=e,n.thread_id=t),n}function Fr(e,t){return e.catch(r=>t(N(r)))}var zD=Va(e=>({baseUrl:e.m(Z(U)),token:e.m(Z(U))})),vK=Va(e=>({mcpToken:e.m(Z(U))})),wK=Va(e=>({mcpToken:e.m(Z(U))})),Iy=mb(U),BCe=mb(Cr),WCe=Va(e=>({instanceId:e.m(Z(U)),requestId:e.m(Z(U)),workspace:e.m(Z(U)),channel:e.m(Z(U)),threadId:e.m(Z(U)),rootSeq:e.m(Z(Cr)),sourceSeq:e.m(Z(Cr)),cwd:e.m(Z(U)),workDescription:e.m(Z(U)),attachments:e.m(Z(Vo(Ti))),developerPrompt:e.m(Z(U)),agentProvider:e.m(Z(U)),modelProvider:e.m(go(U)),modelTransportCatalogStatus:e.m(Z(U)),llmProxy:e.m(Z(zD)),resumeSessionId:e.m(go(U)),linzumiContext:e.m(Z(fb(Ti))),launchTui:e.m(Z(Ho)),model:e.m(go(U)),reasoningEffort:e.m(go(U)),approvalPolicy:e.m(go(U)),sandbox:e.m(go(U)),codingJobToolScope:e.m(Z(U)),sandboxedApprovalNeverDefault:e.m(Z(Ho)),fast:e.m(go(Ho)),allowPortForwardingByDefault:e.m(go(Ho)),executionMode:e.m(Z(U)),egressMode:e.m(Z(U)),projectId:e.m(Z(Cr)),projectPublicId:e.m(Z(U)),goldenImagePublicId:e.m(Z(U)),projectSharedInstructions:e.m(Z(U)),projectPersonalInstructions:e.m(Z(U)),projectMemory:e.m(Z(U)),linzumiAgent:e.m(Z(vK)),codingJob:e.m(Z(wK)),adtStream:e.m(Z(Ti))})),HCe=Va(e=>({instanceId:e.m(Z(U)),requestId:e.m(Z(U)),workspace:e.m(Z(U)),channel:e.m(Z(U)),threadId:e.m(Z(U)),rootSeq:e.m(Z(Cr)),sourceSeq:e.m(Z(Cr)),transportCeilingRecoveryRequestId:e.m(Z(U)),cwd:e.m(Z(U)),workDescription:e.m(Z(U)),attachments:e.m(Z(Vo(Ti))),traceparent:e.m(Z(U)),developerPrompt:e.m(Z(U)),codexThreadId:e.m(Z(U)),sessionRehydrate:e.m(Z(Ho)),agentProvider:e.m(Z(U)),modelProvider:e.m(go(U)),modelTransportCatalogStatus:e.m(Z(U)),llmProxy:e.m(Z(zD)),linzumiContext:e.m(Z(fb(Ti))),model:e.m(go(U)),reasoningEffort:e.m(go(U)),approvalPolicy:e.m(go(U)),sandbox:e.m(go(U)),codingJobToolScope:e.m(Z(U)),sandboxedApprovalNeverDefault:e.m(Z(Ho)),fast:e.m(go(Ho)),allowPortForwardingByDefault:e.m(go(Ho)),projectSharedInstructions:e.m(Z(U)),projectPersonalInstructions:e.m(Z(U)),projectMemory:e.m(Z(U)),linzumiAgent:e.m(Z(vK)),codingJob:e.m(Z(wK)),adtStream:e.m(Z(Ti))})),AK=Pt(e=>({questionId:e.f("questionId",U),selectedLabels:e.f("selectedLabels",Z(Vo(U))),freeText:e.f("freeText",Z(U))})),VCe=Va(e=>({instanceId:e.m(Z(U)),kandanThreadId:e.m(U),threadId:e.m(U),model:e.m(Z(Iy)),modelProvider:e.m(Z(Iy)),modelTransportCatalogStatus:e.m(Z(U)),reasoningEffort:e.m(Z(Iy)),approvalPolicy:e.m(Z(Iy)),sandbox:e.m(Z(Iy)),fast:e.m(go(Ho)),allowPortForwardingByDefault:e.m(go(Ho)),actorUserId:e.m(Z(Cr)),actorSlug:e.m(Z(U))})),TVe=Va(e=>({defaultMs:e.m(BCe),version:e.m(Cr)})),KCe=Va(e=>({defaultMs:e.m(Z(Ti)),version:e.m(Z(Ti))})),JCe=Pt(e=>({provider:e.f("provider",U),editorSessionId:e.f("editorSessionId",Cr),runtimeSessionId:e.f("runtimeSessionId",U),roomId:e.f("roomId",U),extensionAssetPath:e.f("extensionAssetPath",U),serverAssetPath:e.f("serverAssetPath",U),bootstrapToken:e.f("bootstrapToken",Z(U))})),ZCe=Pt(e=>(e.tag("type","start_instance"),{TAG:"StartInstance",_0:e.flatten(WCe)})),QCe=Pt(e=>(e.tag("type","reconnect_thread"),{TAG:"ReconnectThread",_0:e.flatten(HCe)})),YCe=Pt(e=>(e.tag("type","list_claude_code_sessions"),{TAG:"ListClaudeCodeSessions",_0:{instanceId:e.f("instanceId",Z(U)),requestId:e.f("requestId",Z(U)),cwd:e.f("cwd",Z(U)),limit:e.f("limit",Z(Cr)),messagesPerSession:e.f("messagesPerSession",Z(Cr))}})),XCe=Pt(e=>(e.tag("type","list_agent_slash_commands"),{TAG:"ListAgentSlashCommands",_0:{instanceId:e.f("instanceId",Z(U)),requestId:e.f("requestId",Z(U)),threadId:e.f("threadId",Z(U)),cwd:e.f("cwd",Z(U)),harness:e.f("agentProvider",Z(U)),harnessSessionKey:e.f("providerSessionKey",Z(U))}})),eOe=Pt(e=>(e.tag("type","browse_directory"),{TAG:"BrowseDirectory",_0:{instanceId:e.f("instanceId",Z(U)),requestId:e.f("requestId",Z(U)),path:e.f("path",Z(U))}})),tOe=Pt(e=>(e.tag("type","create_project"),{TAG:"CreateProject",_0:{instanceId:e.f("instanceId",Z(U)),requestId:e.f("requestId",Z(U)),name:e.f("name",Z(U)),description:e.f("description",Z(U)),template:e.f("template",Z(U))}})),rOe=Pt(e=>(e.tag("type","clone_repository"),{TAG:"CloneRepository",_0:{instanceId:e.f("instanceId",Z(U)),requestId:e.f("requestId",Z(U)),url:e.f("url",Z(U)),destinationPath:e.f("destinationPath",Z(U)),directoryName:e.f("directoryName",Z(U)),branch:e.f("branch",Z(U))}})),nOe=Pt(e=>(e.tag("type","suggest_tasks"),{TAG:"SuggestTasks",_0:{instanceId:e.f("instanceId",Z(U)),requestId:e.f("requestId",Z(U)),workspace:e.f("workspace",Z(U)),cwd:e.f("cwd",Z(U)),modelProvider:e.f("modelProvider",Z(U)),model:e.f("model",Z(U)),llmProxy:e.f("llmProxy",Z(zD))}})),iOe=Pt(e=>(e.tag("type","set_workspace_viewport"),{TAG:"SetWorkspaceViewport",_0:{instanceId:e.f("instanceId",Z(U)),url:e.f("url",U),workspace:e.f("workspace",Z(U)),layout:e.f("layout",Z(U)),targetCount:e.f("targetCount",Z(Cr)),reason:e.f("reason",Z(U))}})),oOe=Pt(e=>(e.tag("type","import_onboarding_conversations"),{TAG:"ImportOnboardingConversations",_0:{instanceId:e.f("instanceId",Z(U)),workspace:e.f("workspace",Z(U)),sources:e.f("sources",Z(Vo(Ti)))}})),aOe=Pt(e=>(e.tag("type","scan_onboarding_projects"),{TAG:"ScanOnboardingProjects",_0:{instanceId:e.f("instanceId",Z(U)),workspace:e.f("workspace",Z(U)),paths:e.f("paths",Z(Vo(Ti)))}})),sOe=Pt(e=>(e.tag("type","remote_codex_exec"),{TAG:"RemoteCodexExec",_0:{instanceId:e.f("instanceId",Z(U)),requestId:e.f("requestId",Z(U)),threadId:e.f("threadId",Z(U)),cwd:e.f("cwd",Z(U)),command:e.f("command",Z(U)),args:e.f("args",Z(Vo(Ti))),env:e.f("env",Z(fb(Ti))),stdin:e.f("stdin",Z(U)),timeoutMs:e.f("timeoutMs",Z(Cr))}})),lOe=Pt(e=>(e.tag("type","remote_codex_exec_cancel"),{TAG:"RemoteCodexExecCancel",_0:{instanceId:e.f("instanceId",Z(U)),requestId:e.f("requestId",Z(U)),threadId:e.f("threadId",Z(U))}})),dOe=Pt(e=>(e.tag("type","stop_instance"),{TAG:"StopInstance",_0:{instanceId:e.f("instanceId",U)}})),uOe=Pt(e=>(e.tag("type","kill_instance"),{TAG:"KillInstance",_0:{instanceId:e.f("instanceId",U)}})),cOe=Pt(e=>(e.tag("type","replace_runner"),{TAG:"ReplaceCommander",_0:{reason:e.f("reason",Z(U)),replacementRunnerId:e.f("replacementRunnerId",Z(U)),replacementVersion:e.f("replacementVersion",Z(U))}})),fOe=Pt(e=>(e.tag("type","update_available"),{TAG:"UpdateAvailable",_0:{latestVersion:e.f("latestVersion",Z(U)),currentVersion:e.f("currentVersion",Z(U)),reason:e.f("reason",Z(U))}})),mOe=Pt(e=>(e.tag("type","start_turn"),{TAG:"StartTurn",_0:{instanceId:e.f("instanceId",U),threadId:e.f("threadId",U),input:e.f("input",Vo(Ti))}})),pOe=Pt(e=>(e.tag("type","steer_turn"),{TAG:"SteerTurn",_0:{instanceId:e.f("instanceId",U),threadId:e.f("threadId",U),turnId:e.f("turnId",Z(U)),harnessSessionKey:e.f("providerSessionKey",Z(U)),harness:e.f("agentProvider",Z(U)),input:e.f("input",Ti),sourceSeq:e.f("sourceSeq",Z(Cr)),rootSeq:e.f("rootSeq",Z(Cr)),workspace:e.f("workspace",Z(U)),channel:e.f("channel",Z(U)),cwd:e.f("cwd",Z(U)),workDescription:e.f("workDescription",Z(U)),attachments:e.f("attachments",Z(Vo(Ti))),linzumiContext:e.f("linzumiContext",Z(Ti)),traceparent:e.f("traceparent",Z(U))}})),hOe=Pt(e=>(e.tag("type","steer_child_thread"),{TAG:"SteerChildThread",_0:{instanceId:e.f("instanceId",U),threadId:e.f("threadId",U),harnessSessionKey:e.f("providerSessionKey",U),harness:e.f("agentProvider",Z(U)),providerChildThreadId:e.f("providerChildThreadId",U),input:e.f("input",Ti)}})),_Oe=Pt(e=>(e.tag("type","interrupt_turn"),{TAG:"InterruptTurn",_0:{instanceId:e.f("instanceId",U),threadId:e.f("threadId",U),turnId:e.f("turnId",Z(U))}})),gOe=Pt(e=>(e.tag("type","stop_turn"),{TAG:"StopTurn",_0:{instanceId:e.f("instanceId",Z(U)),threadId:e.f("threadId",U),turnId:e.f("turnId",Z(U)),harnessSessionKey:e.f("providerSessionKey",Z(U)),harness:e.f("agentProvider",Z(U)),targetSourceSeq:e.f("targetSourceSeq",Z(Cr))}})),bOe=Pt(e=>(e.tag("type","compact_thread"),{TAG:"CompactThread",_0:{instanceId:e.f("instanceId",Z(U)),requestId:e.f("requestId",U),workspace:e.f("workspace",U),channel:e.f("channel",U),threadId:e.f("threadId",U),harnessSessionKey:e.f("providerSessionKey",U),harness:e.f("agentProvider",U),sourceSeq:e.f("sourceSeq",Cr)}})),yOe=Pt(e=>(e.tag("type","rewind_thread"),{TAG:"RewindThread",_0:{instanceId:e.f("instanceId",Z(U)),threadId:e.f("threadId",U),requestId:e.f("requestId",Z(U)),harness:e.f("agentProvider",Z(U)),checkpointId:e.f("checkpointId",Z(U))}})),xOe=Pt(e=>(e.tag("type","interrupt_queued_messages"),{TAG:"InterruptQueuedMessages",_0:{instanceId:e.f("instanceId",Z(U)),threadId:e.f("threadId",U),harness:e.f("agentProvider",Z(U)),throughSeq:e.f("throughSeq",Z(Cr))}})),SOe=Pt(e=>(e.tag("type","resolve_codex_approval_request"),{TAG:"ResolveApprovalRequest",_0:{instanceId:e.f("instanceId",Z(U)),threadId:e.f("threadId",U),sourceSeq:e.f("sourceSeq",Cr),requestId:e.f("requestId",U),decision:e.f("decision",U),harness:e.f("agentProvider",Z(U))}})),TOe=Pt(e=>(e.tag("type","resolve_claude_user_input_request"),{TAG:"ResolveClaudeUserInputRequest",_0:{instanceId:e.f("instanceId",Z(U)),threadId:e.f("threadId",U),sessionId:e.f("sessionId",Z(U)),requestId:e.f("requestId",U),answers:e.f("answers",Vo(AK)),actorUserId:e.f("actorUserId",Z(Cr)),actorSlug:e.f("actorSlug",Z(U)),harness:e.f("agentProvider",Z(U))}})),vOe=Pt(e=>(e.tag("type","deny_claude_user_input_request"),{TAG:"DenyClaudeUserInputRequest",_0:{instanceId:e.f("instanceId",Z(U)),threadId:e.f("threadId",U),sessionId:e.f("sessionId",Z(U)),requestId:e.f("requestId",U),reason:e.f("reason",Z(U)),actorUserId:e.f("actorUserId",Z(Cr)),actorSlug:e.f("actorSlug",Z(U)),harness:e.f("agentProvider",Z(U))}})),wOe=Pt(e=>(e.tag("type","resolve_codex_user_input_request"),{TAG:"ResolveCodexUserInputRequest",_0:{instanceId:e.f("instanceId",Z(U)),threadId:e.f("threadId",U),sessionId:e.f("sessionId",Z(U)),requestId:e.f("requestId",U),answers:e.f("answers",Vo(AK)),actorUserId:e.f("actorUserId",Z(Cr)),actorSlug:e.f("actorSlug",Z(U)),harness:e.f("agentProvider",Z(U))}})),AOe=Pt(e=>(e.tag("type","deny_codex_user_input_request"),{TAG:"DenyCodexUserInputRequest",_0:{instanceId:e.f("instanceId",Z(U)),threadId:e.f("threadId",U),sessionId:e.f("sessionId",Z(U)),requestId:e.f("requestId",U),reason:e.f("reason",Z(U)),actorUserId:e.f("actorUserId",Z(Cr)),actorSlug:e.f("actorSlug",Z(U)),harness:e.f("agentProvider",Z(U))}})),kOe=Pt(e=>(e.tag("type","update_session_settings"),{TAG:"UpdateSessionSettings",_0:e.flatten(VCe)})),COe=Pt(e=>(e.tag("type","stream_idle_timeout_default"),{TAG:"StreamIdleTimeoutDefault",_0:e.flatten(KCe)})),OOe=Pt(e=>(e.tag("type","resolve_port_forward_request"),{TAG:"ResolvePortForwardRequest",_0:{instanceId:e.f("instanceId",U),threadId:e.f("threadId",Z(U)),requestId:e.f("requestId",U),decision:e.f("decision",U),actorUserId:e.f("actorUserId",Z(Cr)),actorSlug:e.f("actorSlug",Z(U))}})),EOe=Pt(e=>(e.tag("type","update_thread_interaction_access"),{TAG:"UpdateThreadInteractionAccess",_0:{instanceId:e.f("instanceId",Z(U)),threadId:e.f("threadId",U),requesterUserId:e.f("requesterUserId",Z(Cr)),requesterSlug:e.f("requesterSlug",Z(U)),grant:e.f("grant",Ho)}})),POe=Pt(e=>(e.tag("type","set_port_forward_enabled"),{TAG:"SetPortForwardEnabled",_0:{instanceId:e.f("instanceId",Z(U)),port:e.f("port",Cr),enabled:e.f("enabled",Ho)}})),GOe=Pt(e=>(e.tag("type","read_thread"),{TAG:"ReadThread",_0:{instanceId:e.f("instanceId",U),threadId:e.f("threadId",U),includeTurns:e.f("includeTurns",Z(Ho))}})),ROe=Pt(e=>(e.tag("type","forward_http_request"),{TAG:"ForwardHttpRequest",_0:{instanceId:e.f("instanceId",Z(U)),threadId:e.f("threadId",Z(U)),requestId:e.f("requestId",U),port:e.f("port",Cr),method:e.f("method",U),path:e.f("path",U),queryString:e.f("queryString",Z(U)),headers:e.f("headers",Z(Ti)),bodyBase64:e.f("bodyBase64",Z(U))}})),IOe=Pt(e=>(e.tag("type","forward_websocket_open"),{TAG:"ForwardWebSocketOpen",_0:{instanceId:e.f("instanceId",Z(U)),threadId:e.f("threadId",Z(U)),socketId:e.f("socketId",U),port:e.f("port",Cr),path:e.f("path",U),queryString:e.f("queryString",Z(U)),headers:e.f("headers",Z(Ti))}})),DOe=Pt(e=>(e.tag("type","forward_websocket_send"),{TAG:"ForwardWebSocketSend",_0:{instanceId:e.f("instanceId",Z(U)),threadId:e.f("threadId",Z(U)),socketId:e.f("socketId",U),opcode:e.f("opcode",U),bodyBase64:e.f("bodyBase64",U)}})),MOe=Pt(e=>(e.tag("type","forward_websocket_close"),{TAG:"ForwardWebSocketClose",_0:{instanceId:e.f("instanceId",Z(U)),threadId:e.f("threadId",Z(U)),socketId:e.f("socketId",U)}})),$Oe=Pt(e=>(e.tag("type","forward_tcp_open"),{TAG:"ForwardTcpOpen",_0:{instanceId:e.f("instanceId",Z(U)),threadId:e.f("threadId",Z(U)),socketId:e.f("socketId",U),port:e.f("port",Cr)}})),jOe=Pt(e=>(e.tag("type","forward_tcp_send"),{TAG:"ForwardTcpSend",_0:{instanceId:e.f("instanceId",Z(U)),threadId:e.f("threadId",Z(U)),socketId:e.f("socketId",U),bodyBase64:e.f("bodyBase64",U)}})),FOe=Pt(e=>(e.tag("type","forward_tcp_close"),{TAG:"ForwardTcpClose",_0:{instanceId:e.f("instanceId",Z(U)),threadId:e.f("threadId",Z(U)),socketId:e.f("socketId",U)}})),NOe=Pt(e=>(e.tag("type","update_runner_config"),{TAG:"UpdateCommanderConfig",_0:{instanceId:e.f("instanceId",Z(U)),allowedCwds:e.f("allowedCwds",Vo(U)),configVersion:e.f("configVersion",Z(Cr))}})),qOe=Pt(e=>(e.tag("type","multi_agent_jobs_state"),{TAG:"MultiAgentJobsState",_0:{workspace:e.f("workspace",Z(U)),enabled:e.f("enabled",Z(Ho))}})),zOe=Pt(e=>(e.tag("type","fleet_breaker_state"),{TAG:"FleetBreakerState",_0:{state:e.f("state",Z(U)),fate:e.f("fate",Z(U)),openedAt:e.f("openedAt",Z(mb(U))),probeIntervalSeconds:e.f("probeIntervalSeconds",Z(Cr)),detectionRule:e.f("detectionRule",Z(mb(U))),monitorOnly:e.f("monitorOnly",Z(Ho)),version:e.f("version",Z(Cr))}})),LOe=Pt(e=>(e.tag("type","start_local_editor"),{TAG:"StartLocalEditor",_0:{instanceId:e.f("instanceId",Z(U)),requestId:e.f("requestId",Z(U)),cwd:e.f("cwd",U),browserBaseUrl:e.f("browserBaseUrl",Z(U)),collaboration:e.f("collaboration",Z(JCe))}})),UOe=Pt(e=>(e.tag("type","set_commander_impl"),{TAG:"SetCommanderImpl",_0:{impl:e.f("impl",Z(U))}})),BOe=Pt(e=>(e.tag("type","invoke_cross_harness_switch"),{TAG:"InvokeCrossHarnessSwitch",_0:{instanceId:e.f("instanceId",Z(U)),requestId:e.f("requestId",Z(U)),threadId:e.f("threadId",Z(U)),harnessSessionId:e.f("harnessSessionId",Z(U)),sourceSeq:e.f("sourceSeq",Z(Cr)),targetHarness:e.f("targetHarness",Z(U)),model:e.f("model",Z(U)),targetSessionId:e.f("targetSessionId",Z(U))}})),WOe=Jh([ZCe,QCe,YCe,XCe,eOe,tOe,rOe,nOe,iOe,oOe,aOe,sOe,lOe,dOe,uOe,cOe,fOe,mOe,pOe,hOe,_Oe,gOe,bOe,yOe,xOe,SOe,TOe,vOe,wOe,AOe,kOe,COe,OOe,EOe,POe,GOe,ROe,IOe,DOe,MOe,$Oe,jOe,FOe,NOe,qOe,zOe,LOe,UOe,BOe]),HOe=["start_instance","reconnect_thread","list_claude_code_sessions","list_agent_slash_commands","browse_directory","create_project","clone_repository","suggest_tasks","set_workspace_viewport","import_onboarding_conversations","scan_onboarding_projects","remote_codex_exec","remote_codex_exec_cancel","stop_instance","kill_instance","replace_runner","update_available","start_turn","steer_turn","steer_child_thread","interrupt_turn","stop_turn","compact_thread","rewind_thread","interrupt_queued_messages","resolve_codex_approval_request","resolve_claude_user_input_request","deny_claude_user_input_request","resolve_codex_user_input_request","deny_codex_user_input_request","update_session_settings","stream_idle_timeout_default","resolve_port_forward_request","update_thread_interaction_access","set_port_forward_enabled","read_thread","forward_http_request","forward_websocket_open","forward_websocket_send","forward_websocket_close","forward_tcp_open","forward_tcp_send","forward_tcp_close","update_runner_config","multi_agent_jobs_state","fleet_breaker_state","start_local_editor","set_commander_impl","invoke_cross_harness_switch"];function Dy(e){let t=ct(e);if(t===void 0)return{TAG:"Error",_0:at("expected a control object")};let r=t.control_seq,n=typeof r=="number"?r:void 0,i=t.type,o=typeof i=="string"?i:void 0;return o!==void 0?HOe.includes(o)?Ze(Kl(e,WOe),a=>({controlSeq:n,control:a})):{TAG:"Ok",_0:{controlSeq:n,control:{TAG:"Unknown",_0:{controlType:o,raw:t}}}}:{TAG:"Error",_0:at("control is missing a string `type`")}}var vVe=Pt(e=>({controlSeq:e.f("control_seq",Z(Cr)),event:e.f("event",U),payload:e.f("payload",fb(Ti))}));var VOe=10*6e4;function KOe(e,t){let r=setTimeout(e,t);return r.unref(),r}function JOe(e){clearTimeout(e)}var Ku={setTimer:KOe,clearTimer:JOe};function CK(e){if(e.windowMs<=0)return{TAG:"Error",_0:"dispatch liveness window must be > 0"};let t=v(e.now,()=>Date.now()),r=v(e.timers,Ku),n=t(),i={contents:e.lastActivityMs()},o={contents:void 0},a={contents:!1},s={contents:!1},l=()=>{let f=o.contents;if(f!==void 0){r.clearTimer(ce(f)),o.contents=void 0;return}},d=f=>{s.contents=!0,l(),e.onWedged({waitedMs:t()-n,cause:f})},u=()=>{if(!a.contents&&!s.contents){l(),o.contents=ve(r.setTimer(c,e.windowMs));return}},c=()=>{if(o.contents=void 0,a.contents||s.contents)return;if(e.isDelivered()){a.contents=!0;return}if(e.isSessionClosed())return d("session_closed");let f=e.lastActivityMs();return f>i.contents||e.hasPendingBlockingRequest()?(i.contents=f,u()):d("silent")};return u(),{TAG:"Ok",_0:{stopDispatchWatchdog:()=>{a.contents=!0,l()}}}}var OK=9e4;function PK(e){return JSON.parse(JSON.stringify(e))}function CA(e){return{type:"user",message:{role:"user",content:e},parent_tool_use_id:null}}function LD(e){return{TAG:"TurnKey",_0:e}}var OA=J;function UD(e){if(e.TAG!=="InitialReleaseLease")return e._1}function BD(e){return e.TAG==="InitialReleaseLease"?e._1:e._2}function X_(e,t){return e.TAG==="InitialReleaseLease"?t.TAG==="InitialReleaseLease"&&e._0===t._0?J(e._1,t._1):!1:t.TAG==="InitialReleaseLease"||!(e._0===t._0&&J(e._1,t._1))?!1:J(e._2,t._2)}var EK="Claude Code streaming input is closed";function ZOe(e,t){let r={contents:0},n=()=>(r.contents=r.contents+1|0,{TAG:"Reader",_0:r.contents}),i={contents:0},o=()=>(i.contents=i.contents+1|0,{TAG:"TurnKey",_0:"legacy-turn-"+i.contents.toString()}),a=e.initialTurnKey,s=a!==void 0?a:o(),l=CA(e.content),d=t?[]:[l],u=t?[]:[{turnKey:s,sourceSeq:e.sourceSeq}],c=[],f=new Set,h=new Map;t||(f.add(s),h.set(l,s));let m=()=>{for(;;){let oe=o();if(!f.has(oe))return oe}},p={contents:0},_={contents:void 0},g={contents:void 0},b=new Set,y=[],S=new Map,T=[],w={contents:!1},A=oe=>new Promise((Te,qe)=>{S.set(oe,Te)}),P=(oe,Te)=>{let qe=S.get(oe);if(qe!==void 0)return S.delete(oe),qe(Te)},C=oe=>{P(oe,!0);let Te=h.get(oe);if(Te===void 0)return;h.delete(oe);let qe=e.onTurnPulled;if(qe!==void 0){Promise.resolve().then(()=>(qe(Te),Promise.resolve()));return}},k=oe=>{T.forEach(Te=>{if(!J(Te.turnKey,oe))return;let qe=d.findIndex(Ne=>J(Ne,Te.message));if(qe>=0)return d.splice(qe,1),P(Te.message,!1)})},$=()=>{let oe=w.contents;for(;oe;){let Te=y.shift();Te!==void 0?Te.settle("Done"):oe=!1}},V=(oe,Te,qe)=>{u.push({turnKey:qe,sourceSeq:Te}),h.set(oe,qe);let Ne=e.onInputDelivered;Ne!==void 0&&Ne();let ae=e.onSourceSeqDelivered;Te!==void 0&&ae!==void 0&&!b.has(Te)&&(b.add(Te),ae(Te));let Ue=y.shift();if(Ue!==void 0)return C(oe),Ue.settle({TAG:"Next",_0:oe});if(d.push(oe),t){g.contents={followUpMessage:oe,followUpSourceSeq:Te,followUpTurnKey:qe};return}else return},F=(oe,Te,qe)=>{let Ne=u.length!==0;return!t&&!Ne?(V(oe,Te,qe),"Delivered"):(c.push({followUpMessage:oe,followUpSourceSeq:Te,followUpTurnKey:qe}),{TAG:"Parked",queuePosition:c.length})},D=(oe,Te,qe)=>{let Ne=w.contents,ae=f.has(oe);return Ne?{TAG:"Error",_0:"QueueClosed"}:ae?{TAG:"Error",_0:{TAG:"DuplicateTurnKey",_0:oe}}:(f.add(oe),{TAG:"Ok",_0:F(CA(Te),qe,oe)})},q=(oe,Te)=>{let qe=m(),Ne=D(qe,oe,Te);if(Ne.TAG==="Ok")return{TAG:"Ok",_0:Ne._0};let ae=Ne._0;return typeof ae!="object"&&ae==="QueueClosed"?{TAG:"Error",_0:EK}:{TAG:"Error",_0:"Dispatch input queue rejected an internally generated turn key"}},re=oe=>{if(w.contents)return{TAG:"Error",_0:EK};let Te=CA(oe),qe=A(Te),Ne=rt(e.isLiveSteerAllowed,!1,Re=>Re()===!1);if(u.length===0){let Re=m();return f.add(Re),F(Te,void 0,Re),{TAG:"Ok",_0:{steered:"steered_queued",pulledImmediately:!1,applied:qe}}}if(Ne){let Re=m();return f.add(Re),F(Te,void 0,Re),{TAG:"Ok",_0:{steered:"steered_queued",pulledImmediately:!1,applied:qe}}}let Ue=y.shift();return{TAG:"Ok",_0:{steered:"steered_live",pulledImmediately:Ue!==void 0?(P(Te,!0),Ue.settle({TAG:"Next",_0:Te}),!0):(d.push(Te),!1),applied:qe}}},te=(oe,Te,qe)=>{let Ne=CA(qe),ae=T.find(Wt=>Wt.ticketId===Te);if(ae!==void 0){let Wt=J(ae.turnKey,oe),ge=J(ae.message,Ne);return Wt&&ge?{TAG:"Ok",_0:ae.outcome}:{TAG:"Error",_0:{TAG:"DuplicateSteerTicket",_0:Te}}}let Ue=w.contents,Ee=u[0];if(Ue)return{TAG:"Error",_0:"QueueClosed"};if(Ee===void 0)return{TAG:"Error",_0:"NoCurrentTurn"};if(!J(Ee.turnKey,oe))return{TAG:"Error",_0:{TAG:"SteerTargetMismatch",_0:Ee.turnKey,_1:oe}};if(rt(e.isLiveSteerAllowed,!1,Wt=>Wt()===!1))return{TAG:"Error",_0:{TAG:"SteerTargetClosed",_0:oe}};let Ve=A(Ne),Be=y.shift(),Rt={steered:"steered_live",pulledImmediately:Be!==void 0?(P(Ne,!0),Be.settle({TAG:"Next",_0:Ne}),!0):(d.push(Ne),!1),applied:Ve};return T.push({turnKey:oe,ticketId:Te,message:Ne,outcome:Rt}),{TAG:"Ok",_0:Rt}},W=oe=>{let Te=d.shift();if(Te!==void 0){let Ne=g.contents;return Ne!==void 0&&J(Ne.followUpMessage,Te)&&(g.contents=void 0),C(Te),Promise.resolve({TAG:"Next",_0:Te})}if(w.contents)return Promise.resolve("Done");let qe=e.onInputWait;return qe!==void 0&&qe(E(u[0],Ne=>Ne.sourceSeq)),new Promise((Ne,ae)=>{y.push({reader:oe,settle:Ne})})},j=()=>W(void 0),X=oe=>W(oe),M=oe=>{let Te=Fe(y,qe=>{let Ne=qe.reader;if(Ne!==void 0&&J(Ne,oe)){qe.settle("Done");return}else return qe});return y.splice(0,y.length,...Te),Promise.resolve()},I=()=>{let oe=g.contents;t&&oe!==void 0&&(h.delete(oe.followUpMessage),d.shift(),u.shift(),c.splice(0,0,oe),g.contents=void 0),t&&(d.splice(0,d.length),u.splice(0,u.length));let Te=u.length===0;if(!t&&Te){let qe=!0;for(;qe;){let Ne=c.shift();Ne!==void 0?V(Ne.followUpMessage,Ne.followUpSourceSeq,Ne.followUpTurnKey):qe=!1}}w.contents=!0,$(),S.forEach((qe,Ne)=>P(Ne,!1))},Q=()=>{let oe=c.slice();return c.splice(0,c.length),oe},H=oe=>{let Te=w.contents,qe=_.contents,Ne=u[0];if(Te)return{TAG:"Error",_0:"QueueClosed"};if(qe!==void 0)return{TAG:"Error",_0:"ReleaseAlreadyPending"};if(Ne===void 0)return{TAG:"Error",_0:"NoCurrentTurn"};if(!J(Ne.turnKey,oe))return{TAG:"Error",_0:{TAG:"PredecessorMismatch",_0:Ne.turnKey,_1:oe}};p.contents=p.contents+1|0;let ae=p.contents,Ue=z(c[0],Re=>Re.followUpTurnKey),Ee={TAG:"SuccessorReleaseLease",_0:ae,_1:oe,_2:Ue};return _.contents=Ee,{TAG:"Ok",_0:Ee}},ie=()=>{let oe=w.contents,Te=_.contents,qe=u[0],Ne=c[0];if(oe)return{TAG:"Error",_0:"QueueClosed"};if(Te!==void 0)return{TAG:"Error",_0:"ReleaseAlreadyPending"};if(qe!==void 0)return{TAG:"Error",_0:"ReleaseAlreadyPending"};if(Ne===void 0)return{TAG:"Error",_0:"NoCurrentTurn"};p.contents=p.contents+1|0;let ae=p.contents,Ue=Ne.followUpTurnKey,Ee={TAG:"InitialReleaseLease",_0:ae,_1:Ue};return _.contents=Ee,{TAG:"Ok",_0:Ee}},se=oe=>{let Te=w.contents,qe=_.contents;if(Te)return{TAG:"Error",_0:"QueueClosed"};if(qe===void 0)return{TAG:"Error",_0:"StaleReleaseLease"};if(!X_(qe,oe))return{TAG:"Error",_0:"StaleReleaseLease"};let Ne=u[0];if(oe.TAG==="InitialReleaseLease"){if(Ne!==void 0)return{TAG:"Error",_0:"ReleaseSuccessorChanged"};let Ve=c[0];return Ve!==void 0&&J(Ve.followUpTurnKey,oe._1)?(_.contents=void 0,c.shift(),V(Ve.followUpMessage,Ve.followUpSourceSeq,Ve.followUpTurnKey),{TAG:"Ok",_0:void 0}):{TAG:"Error",_0:"ReleaseSuccessorChanged"}}if(Ne===void 0)return{TAG:"Error",_0:"NoCurrentTurn"};let ae=oe._1;if(!J(Ne.turnKey,ae))return{TAG:"Error",_0:{TAG:"PredecessorMismatch",_0:Ne.turnKey,_1:ae}};let Ue=z(c[0],Ve=>Ve.followUpTurnKey);if(!J(Ue,oe._2))return{TAG:"Error",_0:"ReleaseSuccessorChanged"};k(ae);let Ee=g.contents;if(t&&Ee!==void 0&&J(Ee.followUpTurnKey,ae)){let Ve=d.findIndex(Be=>J(Be,Ee.followUpMessage));Ve>=0&&d.splice(Ve,1),h.delete(Ee.followUpMessage),g.contents=void 0}u.shift(),_.contents=void 0;let Re=c.shift();return Re!==void 0&&V(Re.followUpMessage,Re.followUpSourceSeq,Re.followUpTurnKey),{TAG:"Ok",_0:Ne.sourceSeq}};return{next:j,openReader:n,nextFor:X,cancelReader:M,close:I,enqueue:q,enqueueTurn:D,enqueueSteer:re,enqueueSteerFor:te,drainUndeliveredFollowUps:Q,beginRelease:H,beginInitialRelease:ie,commitRelease:se,cancelRelease:oe=>{let Te=w.contents,qe=_.contents;return Te?{TAG:"Error",_0:"QueueClosed"}:qe!==void 0&&X_(qe,oe)?(_.contents=void 0,{TAG:"Ok",_0:void 0}):{TAG:"Error",_0:"StaleReleaseLease"}},retract:oe=>{let Te=c.findIndex(ae=>J(ae.followUpTurnKey,oe)),qe=w.contents,Ne=Te>=0;return qe?{TAG:"Error",_0:"QueueClosed"}:Ne?(c.splice(Te,1),{TAG:"Ok",_0:void 0}):{TAG:"Error",_0:{TAG:"TurnNotDeferred",_0:oe}}},completeTurn:()=>{let oe=w.contents,Te=u[0];if(Te===void 0)return;if(oe)return E(u.shift(),ae=>ae.sourceSeq);let qe=H(Te.turnKey);if(qe.TAG!=="Ok")return;let Ne=se(qe._0);if(Ne.TAG==="Ok")return Ne._0},currentSourceSeq:()=>E(u[0],oe=>oe.sourceSeq),currentTurnKey:()=>z(u[0],oe=>oe.turnKey)}}function GK(e){let t=ZOe({content:null,sourceSeq:void 0,initialTurnKey:{TAG:"TurnKey",_0:"empty-staged-queue-placeholder"},onInputDelivered:e.onInputDelivered,onTurnPulled:e.onTurnPulled,isLiveSteerAllowed:e.isLiveSteerAllowed,onInputWait:e.onInputWait,onSourceSeqDelivered:e.onSourceSeqDelivered},!0);return{openReader:t.openReader,nextFor:t.nextFor,cancelReader:t.cancelReader,close:t.close,enqueueTurn:t.enqueueTurn,enqueueSteerFor:t.enqueueSteerFor,drainUndeliveredFollowUps:t.drainUndeliveredFollowUps,beginRelease:t.beginRelease,beginInitialRelease:t.beginInitialRelease,commitRelease:t.commitRelease,cancelRelease:t.cancelRelease,retract:t.retract,currentSourceSeq:t.currentSourceSeq,currentTurnKey:t.currentTurnKey}}function HD(e,t){let r=async()=>{let o=await e.nextFor(t);return typeof o!="object"?{done:!0}:{done:!1,value:PK(o._0)}},n=()=>e.cancelReader(t).then(()=>({done:!0})),i={};return i[Symbol.asyncIterator]=()=>({next:r,return:n}),i}function VD(e){return import(e)}var IK="@anthropic-ai/claude-agent-sdk";function QOe(e){return{next:()=>e.next(),close:()=>{e.close()},interrupt:()=>e.interrupt(),setModel:t=>e.setModel(t),setPermissionMode:t=>e.setPermissionMode(t),applyFlagSettings:t=>e.applyFlagSettings(t),supportedCommands:()=>e.supportedCommands()}}async function DK(){let e=await VD(IK);return{query:t=>QOe(e.query(t)),getSessionInfo:(t,r)=>e.getSessionInfo(t,r),listSessions:t=>e.listSessions(t),getSessionMessages:(t,r)=>e.getSessionMessages(t,r)}}async function YOe(e,t){try{let r=await e();return t(r),{TAG:"Ok",_0:void 0}}catch(r){let n=N(r);return{TAG:"Error",_0:v(E(St(n),At),"unknown Claude authentication probe failure")}}}function XOe(e,t){return{options:{cwd:e,pathToClaudeCodeExecutable:t,persistSession:!1,settingSources:["user","project","local"],tools:[]},initializeTimeoutMs:15e3}}async function KD(e,t){return await YOe(async()=>await(await VD(IK)).startup(XOe(e,t)),r=>{r.close()})}var JD=["codex","claude-code","pi","opencode"];function fp(e){return e}function EA(e){switch(e.TAG){case"SessionStarted":return"session_started";case"TurnStarted":return"turn_started";case"ItemStarted":return"item_started";case"ItemDelta":return"item_delta";case"ItemCompleted":return"item_completed";case"ApprovalRequested":return"approval_requested";case"UsageUpdated":return"usage_updated";case"RateLimitUpdated":return"rate_limit_updated";case"ActivityPulse":return"activity_pulse";case"TurnCompleted":return"turn_completed";case"TurnFailed":return"turn_failed";case"TurnInterrupted":return"turn_interrupted";case"HarnessDied":return"harness_died"}}import*as $K from"node:child_process";var tEe=/^(\d+)\s+(\d+)\s+(.*)$/;function QD(e,t){return v(v(e.slice(1)[t],void 0),"")}function rEe(e){return Fe(e.split(`
503
+ `).map(t=>t.trim()).find(t=>t.startsWith(hA))}var SVe=new RegExp("worker exited before ready|worker did not report ready within","i");function Zn(e,t){let r=e.trim(),n=r.length,i=" ... ",o=i.length,a=n<=t,s=t<(o+2|0);if(a)return r;if(s)return r.slice(n-Math.max(1,t)|0,n);let l=Math.max(1,Math.floor((t-o|0)/3)|0),d=Math.max(1,(t-o|0)-l|0);return r.slice(0,l)+i+r.slice(n-d|0,n)}function $ke(e){return new Promise((t,r)=>{setTimeout(()=>t(),e)})}async function bV(e,t,r,n,i,o){let a=o!==void 0?o:Eke,s=Math.max(1,v(t,2)),l=v(r,250),d=v(n,$ke),u,c,f=1;for(;Bn(u)&&f<=s;){let m=f,p=await e(m);if(p.TAG==="Ready")u={TAG:"Ok",_0:p._0};else{let _=p._0;c=_;let g=Mke(_.capturedOutput),b=m<s&&Bn(g),y={};y.purpose=PD,y.attempt=m,y.maxAttempts=s,y.code=rt(_.code,null,S=>S),y.signal=rt(_.signal,null,S=>S),y.capturedOutput=_.capturedOutput,y.willRespawn=b,g!==void 0&&(y.deterministicPreflightFailure=g),a("runner.thread_runner_exited_before_ready",y),g!==void 0?u={TAG:"Error",_0:g}:(b&&(i!==void 0&&i({attemptNumber:m+1|0,previous:_}),l>0&&await d(l)),f=m+1|0)}}let h=u;return h!==void 0?h:{TAG:"Error",_0:pA(v(c,{code:void 0,signal:void 0,capturedOutput:""}))}}function yV(e){return typeof e!="object"?e==="WorkerManagedRunner":!1}var xV=3e4;import*as Z_ from"node:fs";import*as DV from"node:os";import*as Vi from"node:path";var Gy="KANDAN_EDITOR_COLLABORATION_",SV=Gy+"DEPLOYMENT_SHAPE",TV=Gy+"ENTRY_MODE",vV=Gy+"ROOM_ID",wV=Gy+"SERVER_URL",AV=Gy+"AUTO_HOST_CLAIM_PATH",gA="Kandan",kV="kandan-local-editor-",CV="oct.kandanEditorSessionId",OV="oct.kandanCollaborationStateUrl",EV="kandan_auto_host_or_join",PV="kandan-oct-auto-host.lock",GV="_kandan-collaboration",RV="/local-codex-runners/",IV="/api/v2/local-codex-runner/editor-runtime/",lf="kandan",J_="kandan.document-state-telemetry";function yA(e){return e.message}function MV(){return{tmpdir:()=>DV.tmpdir(),mkdtemp:e=>He(Cc(e),yA),mkdirRecursive:e=>He(Nt(e),yA),writeFileUtf8:(e,t)=>He(Wn(e,t),yA),existsSync:e=>Z_.existsSync(e),copyFile:(e,t)=>{try{return{TAG:"Ok",_0:(Z_.copyFileSync(e,t),void 0)}}catch(r){let n=N(r);return{TAG:"Error",_0:ke(n).message}}},copyTree:(e,t)=>{try{return{TAG:"Ok",_0:(Z_.cpSync(e,t,{recursive:!0}),void 0)}}catch(r){let n=N(r);return{TAG:"Error",_0:ke(n).message}}},readFileUtf8:e=>He($t(e),yA)}}function ID(e,t,r,n){return["--bind-addr","127.0.0.1:"+e.toString(),"--auth","none","--disable-telemetry","--disable-update-check","--disable-workspace-trust","--disable-getting-started-override","--app-name",gA,"--user-data-dir",r].concat((n!==void 0?["--extensions-dir",n]:[]).concat([t]))}function jke(e){let t={};return t["extensions.autoCheckUpdates"]=!1,t["extensions.autoUpdate"]=!1,t["extensions.ignoreRecommendations"]=!0,t["extensions.showRecommendationsOnlyOnDemand"]=!0,t["oct.alwaysAskToOverrideServerUrl"]=!1,t["oct.joinAcceptMode"]="auto",e!==void 0&&(t[CV]=e.control.editorSessionId,t[OV]=e.collaborationStateUrl,t["oct.serverUrl"]=e.bootstrapServerUrl),t["security.workspace.trust.enabled"]=!1,t["telemetry.telemetryLevel"]="off",t["workbench.secondarySideBar.defaultVisibility"]="hidden",t["workbench.startupEditor"]="none",t["workbench.welcomePage.walkthroughs.openOnInstall"]=!1,t}var Fke=new RegExp(`exec\\s+(?:"([^"]+)"|'([^']+)'|([^\\s]+))\\s+"\\$@"`,"u");function Nke(e,t){let r=t.readFileUtf8(e);if(r.TAG!=="Ok")return[];let n=Fke.exec(r._0);if(n==null)return[];let i=n.slice(1),o=l=>E(i[l],d=>d),a=cn(cn(o(0),o(1)),o(2));return a===void 0?[]:a.trim()===""?[]:[a]}function DD(e){let t={},r=[];return e.forEach(n=>{let i=n.length>0,o=t[n];if(i&&o===void 0){t[n]=!0,r.push(n);return}}),r}function qke(e){return[Vi.join(e,"extensions","git-base","dist","extension.js"),Vi.join(e,"extensions","merge-conflict","dist","mergeConflictMain.js")]}var zke="code-server runtime did not include a VS Code root candidate";function Lke(e,t){let r=a=>Vi.join(Vi.dirname(Vi.dirname(a)),"lib","vscode"),n=DD([Vi.join(e.root,"lib","vscode"),r(e.codeServerBin)].concat(Nke(e.codeServerBin,t).map(r))),i=n.find(a=>qke(a).every(s=>t.existsSync(s))),o=n[0];return i!==void 0?{TAG:"Ok",_0:i}:o!==void 0?{TAG:"Ok",_0:o}:{TAG:"Error",_0:zke}}function Uke(e){let t=(n,i)=>Vi.join(e,"extensions",n,"dist",i),r=(n,i)=>Vi.join(e,"extensions",n,"dist","browser",i);return[{source:t("git-base","extension.js"),target:r("git-base","extension.js"),required:!0},{source:t("git-base","extension.js.map"),target:r("git-base","extension.js.map"),required:!1},{source:t("merge-conflict","mergeConflictMain.js"),target:r("merge-conflict","mergeConflictMain.js"),required:!0},{source:t("merge-conflict","mergeConflictMain.js.map"),target:r("merge-conflict","mergeConflictMain.js.map"),required:!1}]}function Bke(e,t){return Ae(Lke(e,t),r=>nt(Uke(r),{TAG:"Ok",_0:void 0},(n,i)=>Ae(n,()=>{let o=t.existsSync(i.target),a=!i.required&&!t.existsSync(i.source);return o||a?{TAG:"Ok",_0:void 0}:Ae(t.mkdirRecursive(Vi.dirname(i.target)),()=>t.copyFile(i.source,i.target))})))}function $V(e,t,r){return Ae(r.mkdtemp(Vi.join(r.tmpdir(),kV)),n=>{let i=Vi.join(n,"extensions"),o=Vi.join(n,"collaboration-server"),a=Vi.join(n,"tmp"),s=Vi.join(n,"User");return Ze(Ae(Ae(Ae(Ae(Ae(r.mkdirRecursive(s),()=>r.mkdirRecursive(i)),()=>r.mkdirRecursive(o)),()=>r.mkdirRecursive(a)),()=>t!==void 0?Ae(Bke(t,r),()=>{let l=Vi.join(i,J_);return Ae(r.mkdirRecursive(Vi.dirname(l)),()=>r.copyTree(t.assets.documentStateExtensionDir,l))}):{TAG:"Ok",_0:void 0}),()=>r.writeFileUtf8(Vi.join(s,"settings.json"),JSON.stringify(jke(e),void 0,2))),()=>({userDataDir:n,extensionsDir:i,collaborationServerDir:o}))})}function jV(e,t,r,n){let i={};return Object.entries(e).forEach(o=>{let a=o[0];a!=="PORT"&&(i[a]=o[1])}),i.PWD=t,n!==void 0&&(i[SV]="local_runner_sidecar",i[TV]=EV,i[vV]=n.control.roomId,i[wV]=n.bootstrapServerUrl,i[AV]=Vi.join(r,PV)),i}function FV(e,t){let r=z(e.LINZUMI_NODE_BIN,n=>n.trim());return r!==void 0&&r!==""?r:Vi.basename(t).toLowerCase().includes("bun")?"node":t}import*as Y_ from"node:fs";import*as BV from"node:os";import*as ki from"node:path";import*as WV from"node:crypto";import*as HV from"node:child_process";function Wke(e){switch(e){case"UnsupportedPlatform":return"unsupported_platform";case"AuthExpired":return"auth_expired";case"AuthUnauthorized":return"auth_unauthorized";case"ManifestUnavailable":return"manifest_unavailable";case"DownloadFailed":return"download_failed";case"ChecksumMismatch":return"checksum_mismatch";case"ArchiveExtractFailed":return"archive_extract_failed";case"InvalidArchive":return"invalid_archive";case"InstallFailed":return"install_failed"}}var qV="server_managed",Hke="custom";function VV(e){let t={};switch(e.TAG){case"RuntimeReady":t.status="ready",t.mode=qV,t.version=e.version,t.platform=e.platform,t.archiveSha256=e.archiveSha256,t.codeServerVersion=e.codeServerVersion,t.updated=e.updated;break;case"RuntimeCustom":t.status="custom",t.mode=Hke,t.codeServerBin=e.codeServerBin;break;case"RuntimeUnavailable":t.status="unavailable",t.mode=qV,t.reason=Wke(e.reason);break}return t}function Vke(e,t){switch(e+"-"+t){case"darwin-arm64":return"darwin-arm64";case"darwin-x64":return"darwin-x64";case"linux-x64":return"linux-x64";default:return}}function Wd(e){if(e===void 0||typeof e!="string")return;let t=e.trim();if(t!=="")return t}var Kke=new RegExp("^[a-f0-9]{64}$","i");function KV(e){return E(Wd(e),t=>{if(Kke.test(t))return t.toLowerCase()})}var $D="bin/code-server",Jke="linzumi-editor-runtime.json";function Zke(e){if(Array.isArray(e))return nt(e,[],(t,r)=>E(t,n=>{if(typeof r!="object"||r===null||Array.isArray(r))return;let i=Wd(r.path),o=KV(r.sha256),a=Wd(r.url),s=Wd(r.contentBase64);if(i!==void 0&&o!==void 0)return n.push({path:i,sha256:o,url:a,contentBase64:s}),n}))}function Qke(e){let t=Wd(e.version),r=Wd(e.platform),n=Wd(e.archiveUrl),i=KV(e.archiveSha256),o=Wd(e.codeServerVersion),a=v(Wd(e.codeServerBinPath),$D),s=v(Wd(e.manifestPath),Jke),l=Zke(e.assets);return t!==void 0&&r!==void 0&&n!==void 0&&i!==void 0&&o!==void 0&&l!==void 0?{TAG:"Ok",_0:{version:t,platform:r,archiveUrl:n,archiveSha256:i,codeServerVersion:o,codeServerBinPath:a,manifestPath:s,assets:l}}:{TAG:"Error",_0:"ManifestUnavailable"}}function JV(e,t){return ki.resolve(e,t.platform,t.archiveSha256)}var zV="/"+$D;function xA(e){let t=e.replaceAll("\\","/");if(t===$D)return".";if(!t.endsWith(zV))return ki.dirname(t);let r=t.slice(0,t.length-zV.length|0);return r===""?".":r}function Yke(e){let t={};return e.forEach(r=>{t[r.path]=r.sha256}),t}function Xke(e,t){return e.protocol===t.protocol?e.host===t.host:!1}function eCe(e){return ki.join(e,".linzumi","editor-runtimes")}var tCe=".install-",rCe="runtime.tar.gz",nCe="runtime";function ZV(e){return{collaborationExtensionTarball:ki.join(...[e].concat([lf,"editor_extensions","typefox.open-collaboration-tools.tar.gz"])),collaborationServerTarball:ki.join(...[e].concat([lf,"editor_servers","open-collaboration-server.tar.gz"])),documentStateExtensionDir:ki.join(...[e].concat([lf,"editor_extensions",J_]))}}function iCe(e){try{return{TAG:"Ok",_0:WV.createHash("sha256").update(Y_.readFileSync(e)).digest("hex")}}catch(t){let r=N(t);return{TAG:"Error",_0:ke(r).message}}}function oCe(e,t){try{return{TAG:"Ok",_0:(Y_.writeFileSync(e,t),void 0)}}catch(r){let n=N(r);return{TAG:"Error",_0:ke(n).message}}}function aCe(e){return IV+encodeURIComponent(e)+"/manifest"}async function sCe(e){let t=await e.bodyJson();if(t.TAG!=="Ok")return"AuthUnauthorized";let r=t._0;return typeof r!="object"||r===null||Array.isArray(r)?"AuthUnauthorized":r.error==="token_expired"?"AuthExpired":"AuthUnauthorized"}async function lCe(e,t,r,n){let i=mi(e);if(i.TAG!=="Ok")return{TAG:"Error",_0:"ManifestUnavailable"};let o=Hi(aCe(r),i._0);if(o.TAG!=="Ok")return{TAG:"Error",_0:"ManifestUnavailable"};let a=await n.fetchUrl(o._0.toString(),t);if(a.TAG!=="Ok")return{TAG:"Error",_0:"ManifestUnavailable"};let s=a._0,l=s.status;if(l!==200)return l!==401?{TAG:"Error",_0:"ManifestUnavailable"}:{TAG:"Error",_0:await sCe(s)};let d=await s.bodyJson();if(d.TAG!=="Ok")return{TAG:"Error",_0:"ManifestUnavailable"};let u=d._0;if(typeof u!="object"||u===null||Array.isArray(u))return{TAG:"Error",_0:"ManifestUnavailable"};let c=u.ok,f=u.runtime;return c===!0&&typeof f=="object"&&f!==null&&!Array.isArray(f)?Qke(f):{TAG:"Error",_0:"ManifestUnavailable"}}function dCe(e){let t=xA(e.codeServerBinPath),r=["lib","vscode","node_modules","vsda","rust","web"];return[e.codeServerBinPath,ki.join(...[t].concat(r.concat(["vsda.js"]))),ki.join(...[t].concat(r.concat(["vsda_bg.wasm"]))),[lf,"editor_extensions","typefox.open-collaboration-tools.tar.gz"].join("/"),[lf,"editor_servers","open-collaboration-server.tar.gz"].join("/"),[lf,"editor_extensions",J_].join("/")+"/package.json",[lf,"editor_extensions",J_].join("/")+"/out/extension.js"]}function QV(e,t,r){let n=Yke(t.assets),i=dCe(t).every(s=>{let l=n[s],d=s===t.codeServerBinPath;if(l===void 0)return d?r.existsSync(ki.join(e,s)):!1;let u=ki.join(e,s);if(!r.existsSync(u))return!1;let c=r.fileSha256(u);return c.TAG==="Ok"?c._0===l:!1}),o=ZV(e),a=r.existsSync(o.collaborationExtensionTarball)&&r.existsSync(o.collaborationServerTarball);if(i&&a)return o}function uCe(e,t,r){let n=JV(e,t),i=ki.join(n,t.manifestPath),o=ki.join(n,t.codeServerBinPath),a=r.existsSync(i)&&r.existsSync(o),s=QV(n,t,r);if(!a||s===void 0)return;let l=r.readFileUtf8(i);if(l.TAG!=="Ok")return;let d;try{d=JSON.parse(l._0)}catch{d=void 0}if(d===void 0||typeof d!="object"||d===null||Array.isArray(d))return;let u=J(d.version,t.version),c=J(d.platform,t.platform),f=d.archiveSha256,h=f!==void 0?typeof f=="string"?f===t.archiveSha256:!1:!0;if(u&&c&&h)return{root:n,codeServerBin:o,assets:s}}async function cCe(e,t,r,n,i){let o=mi(e);if(o.TAG!=="Ok")return{TAG:"Error",_0:"DownloadFailed"};let a=o._0,s=Hi(r.archiveUrl,a),l=ho(a);if(s.TAG!=="Ok")return{TAG:"Error",_0:"DownloadFailed"};if(l===void 0)return{TAG:"Error",_0:"DownloadFailed"};let d=s._0,u=Xke(d,ce(l))?t:void 0,c=await i.fetchUrl(d.toString(),u);if(c.TAG!=="Ok")return{TAG:"Error",_0:"DownloadFailed"};let f=c._0;if(f.status!==200)return{TAG:"Error",_0:"DownloadFailed"};let m=await f.bodyBytes();if(m.TAG!=="Ok")return{TAG:"Error",_0:"DownloadFailed"};if(i.writeBytes(n,m._0).TAG!=="Ok")return{TAG:"Error",_0:"DownloadFailed"};let _=i.fileSha256(n);return _.TAG==="Ok"?_._0===r.archiveSha256?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:"ChecksumMismatch"}:{TAG:"Error",_0:"DownloadFailed"}}async function fCe(e,t,r){let n=t.contentBase64,i=t.url;if(n!==void 0)try{return{TAG:"Ok",_0:ve(Buffer.from(n,"base64"))}}catch(o){let a=N(o);return{TAG:"Error",_0:ke(a).message}}else{if(i===void 0)return{TAG:"Ok",_0:void 0};let o=mi(e);if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let a=Hi(i,o._0);if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};let s=await r.fetchUrl(a._0.toString(),void 0);if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0};let l=s._0;if(l.status!==200)return{TAG:"Ok",_0:void 0};let u=await l.bodyBytes();return u.TAG==="Ok"?{TAG:"Ok",_0:ve(u._0)}:{TAG:"Error",_0:u._0}}}async function mCe(e,t,r,n){let i=0,o=!1;for(;!o&&i<t.assets.length;){let a=t.assets[i];if(a!==void 0){let s=ki.join(r,a.path),l=await fCe(e,a,n);if(l.TAG==="Ok"){let d=l._0;if(d!==void 0){let u=ce(d);Ae(n.mkdirRecursive(ki.dirname(s)),()=>n.writeBytes(s,u)).TAG==="Ok"?i=i+1|0:o=!0}else i=i+1|0}else o=!0}else i=i+1|0}return!o}function pCe(e){let t={};return t.version=e.version,t.platform=e.platform,t.archiveSha256=e.archiveSha256,t.codeServerVersion=e.codeServerVersion,t.codeServerBinPath=e.codeServerBinPath,t.manifestPath=e.manifestPath,t.assets=e.assets.map(r=>{let n={};n.path=r.path,n.sha256=r.sha256;let i=r.url;i!==void 0&&(n.url=i);let o=r.contentBase64;return o!==void 0&&(n.contentBase64=o),n}),JSON.stringify(t,void 0,2)}async function hCe(e,t,r,n,i,o){let a=ki.join(i,rCe),s=ki.join(i,nCe),l=await cCe(e,t,r,a,o);if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0};if(o.mkdirRecursive(s).TAG!=="Ok")return{TAG:"Error",_0:"InstallFailed"};if(!await o.extractArchive(a,s))return{TAG:"Error",_0:"ArchiveExtractFailed"};if(!await mCe(e,r,s,o))return{TAG:"Error",_0:"InstallFailed"};let u=ki.join(s,r.manifestPath),c=ki.join(s,r.codeServerBinPath),f=o.existsSync(c),h=QV(s,r,o);if(!f)return{TAG:"Error",_0:"InvalidArchive"};if(h===void 0)return{TAG:"Error",_0:"InvalidArchive"};let m=JV(n,r);return Ae(Ae(Ae(Ae(o.mkdirRecursive(ki.dirname(u)),()=>o.writeFileUtf8(u,pCe(r))),()=>o.rmRecursiveForce(m)),()=>o.mkdirRecursive(ki.dirname(m))),()=>o.rename(s,m)).TAG==="Ok"?{TAG:"Ok",_0:{root:m,codeServerBin:ki.join(m,r.codeServerBinPath),assets:ZV(m)}}:{TAG:"Error",_0:"InstallFailed"}}async function _Ce(e,t,r,n,i){if(i.mkdirRecursive(n).TAG!=="Ok")return{TAG:"Error",_0:"InstallFailed"};let a=i.mkdtemp(ki.join(n,tCe));if(a.TAG!=="Ok")return{TAG:"Error",_0:"InstallFailed"};let s=a._0,l=await hCe(e,t,r,n,s,i);return i.rmRecursiveForce(s),l}function LV(e){return{status:{TAG:"RuntimeUnavailable",reason:e},codeServerBin:void 0,runtime:void 0}}function UV(e,t,r){return{status:{TAG:"RuntimeReady",version:e.version,platform:e.platform,archiveSha256:e.archiveSha256,codeServerVersion:e.codeServerVersion,updated:r},codeServerBin:t.codeServerBin,runtime:t}}async function jD(e,t){let r=e.customCodeServerBin;if(r!==void 0)return{status:{TAG:"RuntimeCustom",codeServerBin:r},codeServerBin:r,runtime:void 0};let n=Vke(t.platform,t.arch);if(n===void 0)return{status:{TAG:"RuntimeUnavailable",reason:"UnsupportedPlatform"},codeServerBin:void 0,runtime:void 0};let i=await lCe(e.serviceUrl,e.token,n,t);if(i.TAG!=="Ok")return LV(i._0);let o=i._0,a=v(e.cacheRoot,eCe(t.homeDir())),s=uCe(a,o,t);if(s!==void 0)return UV(o,s,!1);let l=await _Ce(e.serviceUrl,e.token,o,a,t);return l.TAG==="Ok"?UV(o,l._0,!0):LV(l._0)}var MD="editor_runtime.extract";function gCe(e,t,r){return new Promise((n,i)=>{let o="tar",a=["-xzf",e,"-C",t],s=a.map(f=>f);r("process.spawn",Object.fromEntries([["command",o],["args",s],["purpose",MD]]));let l=HV.spawn(o,a,{stdio:["ignore","ignore","ignore"]}),d=l.pid,u=d??null;r("process.spawned",Object.fromEntries([["command",o],["args",s],["pid",u],["purpose",MD]]));let c={contents:!1};l.on("error",f=>{if(!c.contents)return c.contents=!0,n(!1)}),l.once("exit",(f,h)=>{if(r("process.exit",Object.fromEntries([["command",o],["args",s],["pid",u],["code",f??null],["signal",h??null],["purpose",MD]])),!c.contents)return c.contents=!0,n(J(f==null?void 0:ve(f),0))})})}function Q_(e){return e.message}function FD(e){return{fetchUrl:async(t,r)=>{let n=r!==void 0?{headers:Object.fromEntries([["authorization","Bearer "+r]])}:{},i=await ms(t,n);if(i.TAG!=="Ok")return{TAG:"Error",_0:i._0.message};let o=i._0;return{TAG:"Ok",_0:{status:o.status,bodyJson:async()=>{let a=await Gd(o);return a.TAG==="Ok"?{TAG:"Ok",_0:a._0}:{TAG:"Error",_0:a._0.message}},bodyBytes:async()=>{try{return{TAG:"Ok",_0:Buffer.from(await o.arrayBuffer())}}catch(a){let s=N(a);return{TAG:"Error",_0:ke(s).message}}}}}},extractArchive:(t,r)=>gCe(t,r,e),platform:process.platform,arch:process.arch,homeDir:()=>BV.homedir(),existsSync:t=>Y_.existsSync(t),readFileUtf8:t=>He($t(t),Q_),writeFileUtf8:(t,r)=>He(Wn(t,r),Q_),writeBytes:oCe,mkdirRecursive:t=>He(Nt(t),Q_),mkdtemp:t=>He(Cc(t),Q_),rmRecursiveForce:t=>He(ds(t),Q_),rename:(t,r)=>He(Jn(t,r),Q_),fileSha256:iCe}}import*as YV from"node:fs";import*as Hd from"node:path";function XV(){return{existsSync:e=>YV.existsSync(e),realpath:e=>He(mo(e),t=>t.message)}}function bCe(e){return e.includes("/")?!0:e.includes("\\")}function yCe(e,t){let r=t.realpath(e);if(r.TAG==="Ok"){let i=Hd.dirname(r._0);return i==="/"?void 0:i}let n=Hd.dirname(e);switch(n){case".":case"/":return;default:return n}}function TA(e,t,r){return bCe(e)?z(yCe(e,r),n=>({command:e,directory:n})):nt(t.split(Hd.delimiter),void 0,(n,i)=>{let o=i.trim();if(n!==void 0)return n;if(o==="")return;let a=Hd.join(i,e);if(!r.existsSync(a))return;let s=r.realpath(a);if(s.TAG!=="Ok")return;let l=s._0;return{command:l,directory:Hd.dirname(l)}})}function eK(e,t,r){return z(TA(e,t,r),n=>xA(n.command))}function xCe(e,t){let r=t.realpath(e);return r.TAG==="Ok"?[e,r._0]:[e]}var SCe=["/usr","/bin","/sbin","/lib","/lib64","/etc","/nix","/opt"];function TCe(e,t){let r=TA(v(e.bubblewrapBin,"bwrap"),e.envPath,t),n=TA(e.codeServerBin,e.envPath,t);if(r===void 0||n===void 0)return"SandboxUnavailable";let i=e.codeServerRuntimeRoot,o=DD(SCe.concat((i!==void 0?xCe(i,t):[]).concat([n.directory]))),a=e.extensionsDir,s=["--die-with-parent","--proc","/proc","--dev-bind","/dev","/dev","--tmpfs","/tmp","--setenv","HOME",e.cwd,"--setenv","PWD",e.cwd,"--setenv","XDG_DATA_HOME",Hd.join(e.userDataDir,"data"),"--setenv","XDG_CONFIG_HOME",Hd.join(e.userDataDir,"config")].concat(o.flatMap(l=>["--ro-bind-try",l,l]).concat(["--bind",e.cwd,e.cwd,"--bind",e.userDataDir,e.userDataDir].concat(a!==void 0?["--bind",a,a]:[]).concat(["--chdir",e.cwd,"--",n.command].concat(ID(e.port,e.cwd,e.userDataDir,e.extensionsDir)))));return{TAG:"LaunchReady",command:r.command,args:s}}function tK(e,t){switch(e.platform){case"darwin":let n=TA(e.codeServerBin,e.envPath,t);return n!==void 0?{TAG:"LaunchReady",command:n.command,args:ID(e.port,e.cwd,e.userDataDir,e.extensionsDir)}:"SandboxUnavailable";case"linux":return TCe(e,t);default:return"SandboxUnavailable"}}var wCe=new RegExp("/+$");function rK(e){if(e===void 0)return;let t=e.trim();if(t!=="")return t.replace(wCe,"")}function ACe(e,t){return RV+encodeURIComponent(e)+"/forwards/"+t.toString()+"/preview-target"}function kCe(e){return"/api/v2/editor/sessions/"+e.toString()+"/collaboration-state"}function nK(e,t,r,n){if(e===void 0)return{TAG:"Ok",_0:void 0};if(r===void 0)return{TAG:"Ok",_0:void 0};let i=ACe(t,r),o=kCe(e.editorSessionId),a=e.bootstrapToken,s=a!==void 0&&a!==""?i+"/"+GV+"/"+encodeURIComponent(a):void 0,l=d=>Ze(Hi(d,n+"/"),u=>u.toString());return Ae(l(i),d=>s!==void 0?Ze(l(s),u=>({control:e,serverPort:r,serverUrl:d,bootstrapServerUrl:u,collaborationStateUrl:s+o})):{TAG:"Ok",_0:{control:e,serverPort:r,serverUrl:d,bootstrapServerUrl:d,collaborationStateUrl:o}})}function vA(e){return{provider:e.control.provider,editorSessionId:e.control.editorSessionId,runtimeSessionId:e.control.runtimeSessionId,roomId:e.control.roomId,serverPort:e.serverPort,serverUrl:e.serverUrl}}function iK(e,t){return e!==void 0?t!==void 0&&e.control.editorSessionId===t.editorSessionId&&e.control.runtimeSessionId===t.runtimeSessionId?e.control.roomId===t.roomId:!1:t===void 0}function oK(e){let t={};return t.provider=e.provider,t.editorSessionId=e.editorSessionId,t.runtimeSessionId=e.runtimeSessionId,t.roomId=e.roomId,t.serverPort=e.serverPort,t.serverUrl=e.serverUrl,t}var OCe="local_editor_disabled",ECe="missing_browser_base_url",df="code_server_spawn_failed",PCe="local_editor_filesystem_sandbox_unavailable";function cK(e,t){if(t!==void 0)return{TAG:"CustomRuntime",_0:{codeServerBin:e,editorRuntime:t}}}function GCe(e){return typeof e!="object"?"disabled":"running"}function fK(e,t,r){let n={};if(n.localEditor=It(e)&&t.length!==0,n.localEditorStatus=GCe(r),typeof r=="object"){let i=r.collaboration;n.localEditorPort=r.port,n.localEditorCwd=r.cwd,i!==void 0&&(n.localEditorCollaboration=oK(vA(i.prepared)))}return n}function RCe(e){return e.map(t=>t)}function aK(e,t){if(t!==void 0){e.pid=t;return}}function ICe(e){return e!==void 0?e:null}function DCe(e){return e!==void 0?e:null}var MCe="local_editor.code_server",$Ce="local_editor.collaboration_sidecar",jCe="local_editor.install_process";function mK(e){return new Promise((t,r)=>{let n={contents:!1},i=()=>{if(!n.contents)return n.contents=!0,t()};if(e.onExitOnce((o,a)=>i()),e.onCloseOnce(i),e.hasExited())return i()})}function pK(e,t){return new Promise((r,n)=>{let i={contents:!1},o=a=>{if(!i.contents)return i.contents=!0,r(a)};e.onSpawnOnce(()=>o("ProcessSpawned")),e.onErrorOnce(a=>o("ProcessSpawnFailed")),t.scheduleImmediate(()=>{let a=i.contents,s=e.pid();if(!(a||s===void 0))return o("ProcessSpawned")})})}function hK(e,t,r,n){let i=n.nowMs()+1e4;return new Promise((o,a)=>{let s={contents:!1},l={contents:void 0},d=f=>{if(s.contents)return;s.contents=!0;let h=l.contents;h!==void 0&&h(),o(f)},u=()=>{l.contents=n.scheduleTimeout(()=>{c()},50)},c=async()=>{if(n.nowMs()>i)return d("ProbeFailed");let f=await n.probeUrlStatus(e,t);return f.TAG==="Ok"&&f._0<500?d("ProbeReady"):u()};r.then(()=>(d("ProbeFailed"),Promise.resolve())),c()})}function ND(e,t,r,n,i,o){let a=()=>{let u={};return u.command=e.command,u.args=RCe(e.args),r.forEach(c=>{u[c[0]]=c[1]}),u},s=a();s.purpose=t,n.forEach(u=>{s[u[0]]=u[1]}),o.audit("process.spawn",s,i);let l=o.spawnProcess(e),d=a();return aK(d,l.pid()),d.purpose=t,n.forEach(u=>{d[u[0]]=u[1]}),o.audit("process.spawned",d,i),l.onExitOnce((u,c)=>{let f=a();aK(f,l.pid()),f.code=ICe(u),f.signal=DCe(c),f.purpose=t,n.forEach(h=>{f[h[0]]=h[1]}),o.audit("process.exit",f,i)}),l}function FCe(e,t,r){return new Promise((n,i)=>{let o=ND({command:e,args:t,cwd:void 0,env:void 0,stdio:"StderrOnly"},jCe,[],[],void 0,r),a={contents:!1},s=l=>{if(!a.contents)return a.contents=!0,n(l)};o.onErrorOnce(l=>s({TAG:"Error",_0:l})),o.onExitOnce((l,d)=>s(l!==void 0?l!==0?{TAG:"Error",_0:e+" exited with "+l.toString()}:{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:e+" exited with unknown"}))})}async function sK(e,t,r){let n=r.profile.mkdirRecursive(t);return n.TAG==="Ok"?await FCe("tar",["-xzf",e,"-C",t],r):{TAG:"Error",_0:n._0}}async function NCe(e,t,r,n,i){if(e===void 0)return{TAG:"SidecarStarted",collaboration:void 0,ready:Promise.resolve("ProbeReady")};if(!(await Promise.all([sK(r.assets.collaborationExtensionTarball,t.extensionsDir,i),sK(r.assets.collaborationServerTarball,t.collaborationServerDir,i)])).every(X4))return"SidecarFailed";let a=FV(i.env,i.execPath),s=[dK.join(t.collaborationServerDir,"open-collaboration-server","bundle","app.js"),"--hostname","127.0.0.1","--port",e.serverPort.toString()],l={};Object.entries(i.env).forEach(m=>{l[m[0]]=m[1]}),l.OCT_ACTIVATE_SIMPLE_LOGIN="true",l.OCT_SERVER_OWNER=gA;let d=[["editorSessionId",e.control.editorSessionId],["runtimeSessionId",e.control.runtimeSessionId]],u=ND({command:a,args:s,cwd:void 0,env:l,stdio:"InheritOutput"},$Ce,[],d,n,i),c=mK(u);if(await pK(u,i)!=="ProcessSpawned")return"SidecarFailed";let h=hK("http://127.0.0.1:"+e.serverPort.toString()+"/api/login/initial",!0,c,i);return{TAG:"SidecarStarted",collaboration:{prepared:e,process:u,exited:c},ready:h}}function lK(e){if(typeof e!="object")return;let t=e.collaboration;if(t!==void 0)return t.prepared}function Ry(e){if(typeof e!="object")return;let t=e.collaboration;if(e.process.kill("SIGINT"),t!==void 0)return t.process.kill("SIGINT")}async function _K(e,t,r){let n=t.editorRuntime;if(n===void 0)return{TAG:"StartRefused",state:t.currentState,reason:OCe};let i=v(Ei(r.env,"PATH"),""),o;if(n.TAG==="CustomRuntime"){let p=n._0,_=p.codeServerBin;o=[_,p.editorRuntime,eK(_,i,r.sandboxFs)]}else{let p=n._0;o=[p.codeServerBin,p,p.root]}let a=o[1],s=_A(e.cwd,t.allowedCwds,r.isDangerousCwd);if(s.TAG!=="CwdAllowed")return{TAG:"StartRefused",state:t.currentState,reason:s.reason};let l=s.cwd,d=t.currentState,u;if(u=typeof d!="object"||d.cwd!==l?!1:iK(lK(t.currentState),e.collaboration),u){let p=t.currentState;return typeof p!="object"?{TAG:"StartRefused",state:t.currentState,reason:df}:{TAG:"Started",state:t.currentState,event:{cwd:p.cwd,port:p.port,startedAt:r.nowIso(),collaboration:z(lK(t.currentState),vA)}}}let c=e.browserBaseUrl,f=rK(c!==void 0?c:t.browserBaseUrl),h=e.collaboration,m=0;if(h!==void 0){if(f===void 0)return{TAG:"StartRefused",state:t.currentState,reason:ECe};m=1}else m=1;if(m===1){let p=await r.choosePort(),_=e.collaboration,g;if(_!==void 0){let q=await r.choosePort();g=q.TAG==="Ok"?{TAG:"Ok",_0:q._0}:{TAG:"Error",_0:q._0}}else g={TAG:"Ok",_0:void 0};if(p.TAG!=="Ok")return{TAG:"StartRefused",state:t.currentState,reason:df};let b=p._0;if(g.TAG!=="Ok")return{TAG:"StartRefused",state:t.currentState,reason:df};let y=f!==void 0?nK(e.collaboration,v(t.runnerId,"local-runner"),g._0,f):{TAG:"Ok",_0:void 0};if(y.TAG!=="Ok")return{TAG:"StartRefused",state:t.currentState,reason:df};let S=y._0,T=$V(S,a,r.profile);if(T.TAG!=="Ok")return{TAG:"StartRefused",state:t.currentState,reason:df};let w=T._0,A=tK({codeServerBin:o[0],codeServerRuntimeRoot:o[2],port:b,cwd:l,userDataDir:w.userDataDir,extensionsDir:w.extensionsDir,platform:r.platform,bubblewrapBin:void 0,envPath:i},r.sandboxFs);if(typeof A!="object")return{TAG:"StartRefused",state:t.currentState,reason:PCe};let P,C=0;S!==void 0?a!==void 0?C=2:P=Promise.resolve("SidecarFailed"):a!==void 0?C=2:P=Promise.resolve({TAG:"SidecarStarted",collaboration:void 0,ready:Promise.resolve("ProbeReady")}),C===2&&(P=NCe(S,w,a,t.runnerId,r));let k=await P;if(typeof k!="object")return{TAG:"StartRefused",state:t.currentState,reason:df};let $=k.collaboration,V=ND({command:A.command,args:A.args,cwd:l,env:jV(r.env,l,w.userDataDir,z($,q=>q.prepared)),stdio:"InheritOutput"},MCe,[["cwd",l]],[],t.runnerId,r),F=mK(V);return await pK(V,r)==="ProcessSpawned"?(await Promise.all([hK("http://127.0.0.1:"+b.toString()+"/",!1,F,r),k.ready])).every(re=>re==="ProbeReady")?(Ry(t.currentState),{TAG:"Started",state:{TAG:"Running",cwd:l,port:b,process:V,collaboration:$,exited:F},event:{cwd:l,port:b,startedAt:r.nowIso(),collaboration:z($,re=>vA(re.prepared))}}):(V.kill("SIGINT"),$!==void 0&&$.process.kill("SIGINT"),{TAG:"StartRefused",state:t.currentState,reason:df}):($!==void 0&&$.process.kill("SIGINT"),{TAG:"StartRefused",state:t.currentState,reason:df})}}function wA(e){return e==="InheritOutput"?["ignore","inherit","inherit"]:["ignore","ignore","inherit"]}function qCe(e){let t=e.cwd,r=e.env,n=uK.spawn(e.command,e.args,t!==void 0?r!==void 0?{cwd:t,env:r,stdio:wA(e.stdio)}:{cwd:t,stdio:wA(e.stdio)}:r!==void 0?{env:r,stdio:wA(e.stdio)}:{stdio:wA(e.stdio)});return{pid:()=>z(lt(n.pid),i=>i),kill:i=>{ra(n,i)},onExitOnce:i=>{n.once("exit",(o,a)=>i(z(o==null?void 0:ve(o),s=>s),a==null?void 0:ve(a)))},onCloseOnce:i=>{n.once("close",i)},onSpawnOnce:i=>{n.once("spawn",i)},onErrorOnce:i=>{n.once("error",o=>i(o.message))},hasExited:()=>It(lt(n.exitCode))?!0:It(lt(n.signalCode))}}async function zCe(e,t){let n=await ms(e,t?{method:"POST"}:{});return n.TAG==="Ok"?{TAG:"Ok",_0:n._0.status}:{TAG:"Error",_0:n._0.message}}function gK(e,t){return{spawnProcess:qCe,choosePort:hT,probeUrlStatus:zCe,nowIso:()=>new Date().toISOString(),nowMs:()=>Date.now(),scheduleTimeout:(r,n)=>{let i=setTimeout(r,n);return()=>{clearTimeout(i)}},scheduleImmediate:r=>{setImmediate(r)},env:process.env,execPath:process.execPath,platform:process.platform,audit:e,isDangerousCwd:t,profile:MV(),sandboxFs:XV()}}function Vd(){return v("1.0.221","0.0.0-unbundled")}function qD(){return"linzumi "+v("1.0.221","0.0.0-unbundled")}import*as Pa from"node:os";import*as Ga from"node:path";import*as FF from"node:crypto";function yK(e){return"local_runner:"+e}var LCe="kandan-local-codex-runner",UCe="rescript";function xK(e){let t={};t.clientName=LCe,t.clientId=e.clientId;let r=e.machineFingerprint;t.machineFingerprint=r!==void 0?r:null,Object.entries(C8(e.machineFingerprintV2)).forEach(a=>{t[a[0]]=a[1]}),t.runnerPid=e.runnerPid,t.version=e.version,t.hostname=e.hostname,t.cwd=e.cwd;let n=e.workspace;t.workspace=n!==void 0?n:null;let i=e.channel;t.channel=i!==void 0?i:null,t.capabilities=e.capabilities;let o=e.generationOverlapEpoch;if(o!==void 0){let a={};a.epoch=o,a.overlap=!0,t.generation=a}return t.commander_impl=UCe,t}function SK(e,t,r){let n={};return n.last_seq=r,t!==void 0&&(n.runner_id=e,n.thread_id=t),n}function Fr(e,t){return e.catch(r=>t(N(r)))}var zD=Va(e=>({baseUrl:e.m(Z(B)),token:e.m(Z(B))})),vK=Va(e=>({mcpToken:e.m(Z(B))})),wK=Va(e=>({mcpToken:e.m(Z(B))})),Iy=mb(B),BCe=mb(Cr),WCe=Va(e=>({instanceId:e.m(Z(B)),requestId:e.m(Z(B)),workspace:e.m(Z(B)),channel:e.m(Z(B)),threadId:e.m(Z(B)),rootSeq:e.m(Z(Cr)),sourceSeq:e.m(Z(Cr)),cwd:e.m(Z(B)),workDescription:e.m(Z(B)),attachments:e.m(Z(Vo(Ti))),developerPrompt:e.m(Z(B)),agentProvider:e.m(Z(B)),modelProvider:e.m(go(B)),modelTransportCatalogStatus:e.m(Z(B)),llmProxy:e.m(Z(zD)),resumeSessionId:e.m(go(B)),linzumiContext:e.m(Z(fb(Ti))),launchTui:e.m(Z(Ho)),model:e.m(go(B)),reasoningEffort:e.m(go(B)),approvalPolicy:e.m(go(B)),sandbox:e.m(go(B)),codingJobToolScope:e.m(Z(B)),sandboxedApprovalNeverDefault:e.m(Z(Ho)),fast:e.m(go(Ho)),allowPortForwardingByDefault:e.m(go(Ho)),executionMode:e.m(Z(B)),egressMode:e.m(Z(B)),projectId:e.m(Z(Cr)),projectPublicId:e.m(Z(B)),goldenImagePublicId:e.m(Z(B)),projectSharedInstructions:e.m(Z(B)),projectPersonalInstructions:e.m(Z(B)),projectMemory:e.m(Z(B)),linzumiAgent:e.m(Z(vK)),codingJob:e.m(Z(wK)),adtStream:e.m(Z(Ti))})),HCe=Va(e=>({instanceId:e.m(Z(B)),requestId:e.m(Z(B)),workspace:e.m(Z(B)),channel:e.m(Z(B)),threadId:e.m(Z(B)),rootSeq:e.m(Z(Cr)),sourceSeq:e.m(Z(Cr)),transportCeilingRecoveryRequestId:e.m(Z(B)),cwd:e.m(Z(B)),workDescription:e.m(Z(B)),attachments:e.m(Z(Vo(Ti))),traceparent:e.m(Z(B)),developerPrompt:e.m(Z(B)),codexThreadId:e.m(Z(B)),sessionRehydrate:e.m(Z(Ho)),agentProvider:e.m(Z(B)),modelProvider:e.m(go(B)),modelTransportCatalogStatus:e.m(Z(B)),llmProxy:e.m(Z(zD)),linzumiContext:e.m(Z(fb(Ti))),model:e.m(go(B)),reasoningEffort:e.m(go(B)),approvalPolicy:e.m(go(B)),sandbox:e.m(go(B)),codingJobToolScope:e.m(Z(B)),sandboxedApprovalNeverDefault:e.m(Z(Ho)),fast:e.m(go(Ho)),allowPortForwardingByDefault:e.m(go(Ho)),projectSharedInstructions:e.m(Z(B)),projectPersonalInstructions:e.m(Z(B)),projectMemory:e.m(Z(B)),linzumiAgent:e.m(Z(vK)),codingJob:e.m(Z(wK)),adtStream:e.m(Z(Ti))})),AK=Pt(e=>({questionId:e.f("questionId",B),selectedLabels:e.f("selectedLabels",Z(Vo(B))),freeText:e.f("freeText",Z(B))})),VCe=Va(e=>({instanceId:e.m(Z(B)),kandanThreadId:e.m(B),threadId:e.m(B),model:e.m(Z(Iy)),modelProvider:e.m(Z(Iy)),modelTransportCatalogStatus:e.m(Z(B)),reasoningEffort:e.m(Z(Iy)),approvalPolicy:e.m(Z(Iy)),sandbox:e.m(Z(Iy)),fast:e.m(go(Ho)),allowPortForwardingByDefault:e.m(go(Ho)),actorUserId:e.m(Z(Cr)),actorSlug:e.m(Z(B))})),TVe=Va(e=>({defaultMs:e.m(BCe),version:e.m(Cr)})),KCe=Va(e=>({defaultMs:e.m(Z(Ti)),version:e.m(Z(Ti))})),JCe=Pt(e=>({provider:e.f("provider",B),editorSessionId:e.f("editorSessionId",Cr),runtimeSessionId:e.f("runtimeSessionId",B),roomId:e.f("roomId",B),extensionAssetPath:e.f("extensionAssetPath",B),serverAssetPath:e.f("serverAssetPath",B),bootstrapToken:e.f("bootstrapToken",Z(B))})),ZCe=Pt(e=>(e.tag("type","start_instance"),{TAG:"StartInstance",_0:e.flatten(WCe)})),QCe=Pt(e=>(e.tag("type","reconnect_thread"),{TAG:"ReconnectThread",_0:e.flatten(HCe)})),YCe=Pt(e=>(e.tag("type","list_claude_code_sessions"),{TAG:"ListClaudeCodeSessions",_0:{instanceId:e.f("instanceId",Z(B)),requestId:e.f("requestId",Z(B)),cwd:e.f("cwd",Z(B)),limit:e.f("limit",Z(Cr)),messagesPerSession:e.f("messagesPerSession",Z(Cr))}})),XCe=Pt(e=>(e.tag("type","list_agent_slash_commands"),{TAG:"ListAgentSlashCommands",_0:{instanceId:e.f("instanceId",Z(B)),requestId:e.f("requestId",Z(B)),threadId:e.f("threadId",Z(B)),cwd:e.f("cwd",Z(B)),harness:e.f("agentProvider",Z(B)),harnessSessionKey:e.f("providerSessionKey",Z(B))}})),eOe=Pt(e=>(e.tag("type","browse_directory"),{TAG:"BrowseDirectory",_0:{instanceId:e.f("instanceId",Z(B)),requestId:e.f("requestId",Z(B)),path:e.f("path",Z(B))}})),tOe=Pt(e=>(e.tag("type","create_project"),{TAG:"CreateProject",_0:{instanceId:e.f("instanceId",Z(B)),requestId:e.f("requestId",Z(B)),name:e.f("name",Z(B)),description:e.f("description",Z(B)),template:e.f("template",Z(B))}})),rOe=Pt(e=>(e.tag("type","clone_repository"),{TAG:"CloneRepository",_0:{instanceId:e.f("instanceId",Z(B)),requestId:e.f("requestId",Z(B)),url:e.f("url",Z(B)),destinationPath:e.f("destinationPath",Z(B)),directoryName:e.f("directoryName",Z(B)),branch:e.f("branch",Z(B))}})),nOe=Pt(e=>(e.tag("type","suggest_tasks"),{TAG:"SuggestTasks",_0:{instanceId:e.f("instanceId",Z(B)),requestId:e.f("requestId",Z(B)),workspace:e.f("workspace",Z(B)),cwd:e.f("cwd",Z(B)),modelProvider:e.f("modelProvider",Z(B)),model:e.f("model",Z(B)),llmProxy:e.f("llmProxy",Z(zD))}})),iOe=Pt(e=>(e.tag("type","set_workspace_viewport"),{TAG:"SetWorkspaceViewport",_0:{instanceId:e.f("instanceId",Z(B)),url:e.f("url",B),workspace:e.f("workspace",Z(B)),layout:e.f("layout",Z(B)),targetCount:e.f("targetCount",Z(Cr)),reason:e.f("reason",Z(B))}})),oOe=Pt(e=>(e.tag("type","import_onboarding_conversations"),{TAG:"ImportOnboardingConversations",_0:{instanceId:e.f("instanceId",Z(B)),workspace:e.f("workspace",Z(B)),sources:e.f("sources",Z(Vo(Ti)))}})),aOe=Pt(e=>(e.tag("type","scan_onboarding_projects"),{TAG:"ScanOnboardingProjects",_0:{instanceId:e.f("instanceId",Z(B)),workspace:e.f("workspace",Z(B)),paths:e.f("paths",Z(Vo(Ti)))}})),sOe=Pt(e=>(e.tag("type","remote_codex_exec"),{TAG:"RemoteCodexExec",_0:{instanceId:e.f("instanceId",Z(B)),requestId:e.f("requestId",Z(B)),threadId:e.f("threadId",Z(B)),cwd:e.f("cwd",Z(B)),command:e.f("command",Z(B)),args:e.f("args",Z(Vo(Ti))),env:e.f("env",Z(fb(Ti))),stdin:e.f("stdin",Z(B)),timeoutMs:e.f("timeoutMs",Z(Cr))}})),lOe=Pt(e=>(e.tag("type","remote_codex_exec_cancel"),{TAG:"RemoteCodexExecCancel",_0:{instanceId:e.f("instanceId",Z(B)),requestId:e.f("requestId",Z(B)),threadId:e.f("threadId",Z(B))}})),dOe=Pt(e=>(e.tag("type","stop_instance"),{TAG:"StopInstance",_0:{instanceId:e.f("instanceId",B)}})),uOe=Pt(e=>(e.tag("type","kill_instance"),{TAG:"KillInstance",_0:{instanceId:e.f("instanceId",B)}})),cOe=Pt(e=>(e.tag("type","replace_runner"),{TAG:"ReplaceCommander",_0:{reason:e.f("reason",Z(B)),replacementRunnerId:e.f("replacementRunnerId",Z(B)),replacementVersion:e.f("replacementVersion",Z(B))}})),fOe=Pt(e=>(e.tag("type","update_available"),{TAG:"UpdateAvailable",_0:{latestVersion:e.f("latestVersion",Z(B)),currentVersion:e.f("currentVersion",Z(B)),reason:e.f("reason",Z(B))}})),mOe=Pt(e=>(e.tag("type","start_turn"),{TAG:"StartTurn",_0:{instanceId:e.f("instanceId",B),threadId:e.f("threadId",B),input:e.f("input",Vo(Ti))}})),pOe=Pt(e=>(e.tag("type","steer_turn"),{TAG:"SteerTurn",_0:{instanceId:e.f("instanceId",B),threadId:e.f("threadId",B),turnId:e.f("turnId",Z(B)),harnessSessionKey:e.f("providerSessionKey",Z(B)),harness:e.f("agentProvider",Z(B)),input:e.f("input",Ti),sourceSeq:e.f("sourceSeq",Z(Cr)),rootSeq:e.f("rootSeq",Z(Cr)),workspace:e.f("workspace",Z(B)),channel:e.f("channel",Z(B)),cwd:e.f("cwd",Z(B)),workDescription:e.f("workDescription",Z(B)),attachments:e.f("attachments",Z(Vo(Ti))),linzumiContext:e.f("linzumiContext",Z(Ti)),traceparent:e.f("traceparent",Z(B))}})),hOe=Pt(e=>(e.tag("type","steer_child_thread"),{TAG:"SteerChildThread",_0:{instanceId:e.f("instanceId",B),threadId:e.f("threadId",B),harnessSessionKey:e.f("providerSessionKey",B),harness:e.f("agentProvider",Z(B)),providerChildThreadId:e.f("providerChildThreadId",B),input:e.f("input",Ti)}})),_Oe=Pt(e=>(e.tag("type","interrupt_turn"),{TAG:"InterruptTurn",_0:{instanceId:e.f("instanceId",B),threadId:e.f("threadId",B),turnId:e.f("turnId",Z(B))}})),gOe=Pt(e=>(e.tag("type","stop_turn"),{TAG:"StopTurn",_0:{instanceId:e.f("instanceId",Z(B)),threadId:e.f("threadId",B),turnId:e.f("turnId",Z(B)),harnessSessionKey:e.f("providerSessionKey",Z(B)),harness:e.f("agentProvider",Z(B)),targetSourceSeq:e.f("targetSourceSeq",Z(Cr))}})),bOe=Pt(e=>(e.tag("type","compact_thread"),{TAG:"CompactThread",_0:{instanceId:e.f("instanceId",Z(B)),requestId:e.f("requestId",B),workspace:e.f("workspace",B),channel:e.f("channel",B),threadId:e.f("threadId",B),harnessSessionKey:e.f("providerSessionKey",B),harness:e.f("agentProvider",B),sourceSeq:e.f("sourceSeq",Cr)}})),yOe=Pt(e=>(e.tag("type","rewind_thread"),{TAG:"RewindThread",_0:{instanceId:e.f("instanceId",Z(B)),threadId:e.f("threadId",B),requestId:e.f("requestId",Z(B)),harness:e.f("agentProvider",Z(B)),checkpointId:e.f("checkpointId",Z(B))}})),xOe=Pt(e=>(e.tag("type","interrupt_queued_messages"),{TAG:"InterruptQueuedMessages",_0:{instanceId:e.f("instanceId",Z(B)),threadId:e.f("threadId",B),harness:e.f("agentProvider",Z(B)),throughSeq:e.f("throughSeq",Z(Cr))}})),SOe=Pt(e=>(e.tag("type","resolve_codex_approval_request"),{TAG:"ResolveApprovalRequest",_0:{instanceId:e.f("instanceId",Z(B)),threadId:e.f("threadId",B),sourceSeq:e.f("sourceSeq",Cr),requestId:e.f("requestId",B),decision:e.f("decision",B),harness:e.f("agentProvider",Z(B))}})),TOe=Pt(e=>(e.tag("type","resolve_claude_user_input_request"),{TAG:"ResolveClaudeUserInputRequest",_0:{instanceId:e.f("instanceId",Z(B)),threadId:e.f("threadId",B),sessionId:e.f("sessionId",Z(B)),requestId:e.f("requestId",B),answers:e.f("answers",Vo(AK)),actorUserId:e.f("actorUserId",Z(Cr)),actorSlug:e.f("actorSlug",Z(B)),harness:e.f("agentProvider",Z(B))}})),vOe=Pt(e=>(e.tag("type","deny_claude_user_input_request"),{TAG:"DenyClaudeUserInputRequest",_0:{instanceId:e.f("instanceId",Z(B)),threadId:e.f("threadId",B),sessionId:e.f("sessionId",Z(B)),requestId:e.f("requestId",B),reason:e.f("reason",Z(B)),actorUserId:e.f("actorUserId",Z(Cr)),actorSlug:e.f("actorSlug",Z(B)),harness:e.f("agentProvider",Z(B))}})),wOe=Pt(e=>(e.tag("type","resolve_codex_user_input_request"),{TAG:"ResolveCodexUserInputRequest",_0:{instanceId:e.f("instanceId",Z(B)),threadId:e.f("threadId",B),sessionId:e.f("sessionId",Z(B)),requestId:e.f("requestId",B),answers:e.f("answers",Vo(AK)),actorUserId:e.f("actorUserId",Z(Cr)),actorSlug:e.f("actorSlug",Z(B)),harness:e.f("agentProvider",Z(B))}})),AOe=Pt(e=>(e.tag("type","deny_codex_user_input_request"),{TAG:"DenyCodexUserInputRequest",_0:{instanceId:e.f("instanceId",Z(B)),threadId:e.f("threadId",B),sessionId:e.f("sessionId",Z(B)),requestId:e.f("requestId",B),reason:e.f("reason",Z(B)),actorUserId:e.f("actorUserId",Z(Cr)),actorSlug:e.f("actorSlug",Z(B)),harness:e.f("agentProvider",Z(B))}})),kOe=Pt(e=>(e.tag("type","update_session_settings"),{TAG:"UpdateSessionSettings",_0:e.flatten(VCe)})),COe=Pt(e=>(e.tag("type","stream_idle_timeout_default"),{TAG:"StreamIdleTimeoutDefault",_0:e.flatten(KCe)})),OOe=Pt(e=>(e.tag("type","resolve_port_forward_request"),{TAG:"ResolvePortForwardRequest",_0:{instanceId:e.f("instanceId",B),threadId:e.f("threadId",Z(B)),requestId:e.f("requestId",B),decision:e.f("decision",B),actorUserId:e.f("actorUserId",Z(Cr)),actorSlug:e.f("actorSlug",Z(B))}})),EOe=Pt(e=>(e.tag("type","update_thread_interaction_access"),{TAG:"UpdateThreadInteractionAccess",_0:{instanceId:e.f("instanceId",Z(B)),threadId:e.f("threadId",B),requesterUserId:e.f("requesterUserId",Z(Cr)),requesterSlug:e.f("requesterSlug",Z(B)),grant:e.f("grant",Ho)}})),POe=Pt(e=>(e.tag("type","set_port_forward_enabled"),{TAG:"SetPortForwardEnabled",_0:{instanceId:e.f("instanceId",Z(B)),port:e.f("port",Cr),enabled:e.f("enabled",Ho)}})),GOe=Pt(e=>(e.tag("type","read_thread"),{TAG:"ReadThread",_0:{instanceId:e.f("instanceId",B),threadId:e.f("threadId",B),includeTurns:e.f("includeTurns",Z(Ho))}})),ROe=Pt(e=>(e.tag("type","forward_http_request"),{TAG:"ForwardHttpRequest",_0:{instanceId:e.f("instanceId",Z(B)),threadId:e.f("threadId",Z(B)),requestId:e.f("requestId",B),port:e.f("port",Cr),method:e.f("method",B),path:e.f("path",B),queryString:e.f("queryString",Z(B)),headers:e.f("headers",Z(Ti)),bodyBase64:e.f("bodyBase64",Z(B))}})),IOe=Pt(e=>(e.tag("type","forward_websocket_open"),{TAG:"ForwardWebSocketOpen",_0:{instanceId:e.f("instanceId",Z(B)),threadId:e.f("threadId",Z(B)),socketId:e.f("socketId",B),port:e.f("port",Cr),path:e.f("path",B),queryString:e.f("queryString",Z(B)),headers:e.f("headers",Z(Ti))}})),DOe=Pt(e=>(e.tag("type","forward_websocket_send"),{TAG:"ForwardWebSocketSend",_0:{instanceId:e.f("instanceId",Z(B)),threadId:e.f("threadId",Z(B)),socketId:e.f("socketId",B),opcode:e.f("opcode",B),bodyBase64:e.f("bodyBase64",B)}})),MOe=Pt(e=>(e.tag("type","forward_websocket_close"),{TAG:"ForwardWebSocketClose",_0:{instanceId:e.f("instanceId",Z(B)),threadId:e.f("threadId",Z(B)),socketId:e.f("socketId",B)}})),$Oe=Pt(e=>(e.tag("type","forward_tcp_open"),{TAG:"ForwardTcpOpen",_0:{instanceId:e.f("instanceId",Z(B)),threadId:e.f("threadId",Z(B)),socketId:e.f("socketId",B),port:e.f("port",Cr)}})),jOe=Pt(e=>(e.tag("type","forward_tcp_send"),{TAG:"ForwardTcpSend",_0:{instanceId:e.f("instanceId",Z(B)),threadId:e.f("threadId",Z(B)),socketId:e.f("socketId",B),bodyBase64:e.f("bodyBase64",B)}})),FOe=Pt(e=>(e.tag("type","forward_tcp_close"),{TAG:"ForwardTcpClose",_0:{instanceId:e.f("instanceId",Z(B)),threadId:e.f("threadId",Z(B)),socketId:e.f("socketId",B)}})),NOe=Pt(e=>(e.tag("type","update_runner_config"),{TAG:"UpdateCommanderConfig",_0:{instanceId:e.f("instanceId",Z(B)),allowedCwds:e.f("allowedCwds",Vo(B)),configVersion:e.f("configVersion",Z(Cr))}})),qOe=Pt(e=>(e.tag("type","multi_agent_jobs_state"),{TAG:"MultiAgentJobsState",_0:{workspace:e.f("workspace",Z(B)),enabled:e.f("enabled",Z(Ho))}})),zOe=Pt(e=>(e.tag("type","fleet_breaker_state"),{TAG:"FleetBreakerState",_0:{state:e.f("state",Z(B)),fate:e.f("fate",Z(B)),openedAt:e.f("openedAt",Z(mb(B))),probeIntervalSeconds:e.f("probeIntervalSeconds",Z(Cr)),detectionRule:e.f("detectionRule",Z(mb(B))),monitorOnly:e.f("monitorOnly",Z(Ho)),version:e.f("version",Z(Cr))}})),LOe=Pt(e=>(e.tag("type","start_local_editor"),{TAG:"StartLocalEditor",_0:{instanceId:e.f("instanceId",Z(B)),requestId:e.f("requestId",Z(B)),cwd:e.f("cwd",B),browserBaseUrl:e.f("browserBaseUrl",Z(B)),collaboration:e.f("collaboration",Z(JCe))}})),UOe=Pt(e=>(e.tag("type","set_commander_impl"),{TAG:"SetCommanderImpl",_0:{impl:e.f("impl",Z(B))}})),BOe=Pt(e=>(e.tag("type","invoke_cross_harness_switch"),{TAG:"InvokeCrossHarnessSwitch",_0:{instanceId:e.f("instanceId",Z(B)),requestId:e.f("requestId",Z(B)),threadId:e.f("threadId",Z(B)),harnessSessionId:e.f("harnessSessionId",Z(B)),sourceSeq:e.f("sourceSeq",Z(Cr)),targetHarness:e.f("targetHarness",Z(B)),model:e.f("model",Z(B)),targetSessionId:e.f("targetSessionId",Z(B))}})),WOe=Jh([ZCe,QCe,YCe,XCe,eOe,tOe,rOe,nOe,iOe,oOe,aOe,sOe,lOe,dOe,uOe,cOe,fOe,mOe,pOe,hOe,_Oe,gOe,bOe,yOe,xOe,SOe,TOe,vOe,wOe,AOe,kOe,COe,OOe,EOe,POe,GOe,ROe,IOe,DOe,MOe,$Oe,jOe,FOe,NOe,qOe,zOe,LOe,UOe,BOe]),HOe=["start_instance","reconnect_thread","list_claude_code_sessions","list_agent_slash_commands","browse_directory","create_project","clone_repository","suggest_tasks","set_workspace_viewport","import_onboarding_conversations","scan_onboarding_projects","remote_codex_exec","remote_codex_exec_cancel","stop_instance","kill_instance","replace_runner","update_available","start_turn","steer_turn","steer_child_thread","interrupt_turn","stop_turn","compact_thread","rewind_thread","interrupt_queued_messages","resolve_codex_approval_request","resolve_claude_user_input_request","deny_claude_user_input_request","resolve_codex_user_input_request","deny_codex_user_input_request","update_session_settings","stream_idle_timeout_default","resolve_port_forward_request","update_thread_interaction_access","set_port_forward_enabled","read_thread","forward_http_request","forward_websocket_open","forward_websocket_send","forward_websocket_close","forward_tcp_open","forward_tcp_send","forward_tcp_close","update_runner_config","multi_agent_jobs_state","fleet_breaker_state","start_local_editor","set_commander_impl","invoke_cross_harness_switch"];function Dy(e){let t=ct(e);if(t===void 0)return{TAG:"Error",_0:at("expected a control object")};let r=t.control_seq,n=typeof r=="number"?r:void 0,i=t.type,o=typeof i=="string"?i:void 0;return o!==void 0?HOe.includes(o)?Ze(Kl(e,WOe),a=>({controlSeq:n,control:a})):{TAG:"Ok",_0:{controlSeq:n,control:{TAG:"Unknown",_0:{controlType:o,raw:t}}}}:{TAG:"Error",_0:at("control is missing a string `type`")}}var vVe=Pt(e=>({controlSeq:e.f("control_seq",Z(Cr)),event:e.f("event",B),payload:e.f("payload",fb(Ti))}));var VOe=10*6e4;function KOe(e,t){let r=setTimeout(e,t);return r.unref(),r}function JOe(e){clearTimeout(e)}var Ku={setTimer:KOe,clearTimer:JOe};function CK(e){if(e.windowMs<=0)return{TAG:"Error",_0:"dispatch liveness window must be > 0"};let t=v(e.now,()=>Date.now()),r=v(e.timers,Ku),n=t(),i={contents:e.lastActivityMs()},o={contents:void 0},a={contents:!1},s={contents:!1},l=()=>{let f=o.contents;if(f!==void 0){r.clearTimer(ce(f)),o.contents=void 0;return}},d=f=>{s.contents=!0,l(),e.onWedged({waitedMs:t()-n,cause:f})},u=()=>{if(!a.contents&&!s.contents){l(),o.contents=ve(r.setTimer(c,e.windowMs));return}},c=()=>{if(o.contents=void 0,a.contents||s.contents)return;if(e.isDelivered()){a.contents=!0;return}if(e.isSessionClosed())return d("session_closed");let f=e.lastActivityMs();return f>i.contents||e.hasPendingBlockingRequest()?(i.contents=f,u()):d("silent")};return u(),{TAG:"Ok",_0:{stopDispatchWatchdog:()=>{a.contents=!0,l()}}}}var OK=9e4;function PK(e){return JSON.parse(JSON.stringify(e))}function CA(e){return{type:"user",message:{role:"user",content:e},parent_tool_use_id:null}}function LD(e){return{TAG:"TurnKey",_0:e}}var OA=J;function UD(e){if(e.TAG!=="InitialReleaseLease")return e._1}function BD(e){return e.TAG==="InitialReleaseLease"?e._1:e._2}function X_(e,t){return e.TAG==="InitialReleaseLease"?t.TAG==="InitialReleaseLease"&&e._0===t._0?J(e._1,t._1):!1:t.TAG==="InitialReleaseLease"||!(e._0===t._0&&J(e._1,t._1))?!1:J(e._2,t._2)}var EK="Claude Code streaming input is closed";function ZOe(e,t){let r={contents:0},n=()=>(r.contents=r.contents+1|0,{TAG:"Reader",_0:r.contents}),i={contents:0},o=()=>(i.contents=i.contents+1|0,{TAG:"TurnKey",_0:"legacy-turn-"+i.contents.toString()}),a=e.initialTurnKey,s=a!==void 0?a:o(),l=CA(e.content),d=t?[]:[l],u=t?[]:[{turnKey:s,sourceSeq:e.sourceSeq}],c=[],f=new Set,h=new Map;t||(f.add(s),h.set(l,s));let m=()=>{for(;;){let oe=o();if(!f.has(oe))return oe}},p={contents:0},_={contents:void 0},g={contents:void 0},b=new Set,y=[],S=new Map,T=[],w={contents:!1},A=oe=>new Promise((Te,qe)=>{S.set(oe,Te)}),P=(oe,Te)=>{let qe=S.get(oe);if(qe!==void 0)return S.delete(oe),qe(Te)},C=oe=>{P(oe,!0);let Te=h.get(oe);if(Te===void 0)return;h.delete(oe);let qe=e.onTurnPulled;if(qe!==void 0){Promise.resolve().then(()=>(qe(Te),Promise.resolve()));return}},k=oe=>{T.forEach(Te=>{if(!J(Te.turnKey,oe))return;let qe=d.findIndex(Ne=>J(Ne,Te.message));if(qe>=0)return d.splice(qe,1),P(Te.message,!1)})},$=()=>{let oe=w.contents;for(;oe;){let Te=y.shift();Te!==void 0?Te.settle("Done"):oe=!1}},V=(oe,Te,qe)=>{u.push({turnKey:qe,sourceSeq:Te}),h.set(oe,qe);let Ne=e.onInputDelivered;Ne!==void 0&&Ne();let ae=e.onSourceSeqDelivered;Te!==void 0&&ae!==void 0&&!b.has(Te)&&(b.add(Te),ae(Te));let Ue=y.shift();if(Ue!==void 0)return C(oe),Ue.settle({TAG:"Next",_0:oe});if(d.push(oe),t){g.contents={followUpMessage:oe,followUpSourceSeq:Te,followUpTurnKey:qe};return}else return},F=(oe,Te,qe)=>{let Ne=u.length!==0;return!t&&!Ne?(V(oe,Te,qe),"Delivered"):(c.push({followUpMessage:oe,followUpSourceSeq:Te,followUpTurnKey:qe}),{TAG:"Parked",queuePosition:c.length})},D=(oe,Te,qe)=>{let Ne=w.contents,ae=f.has(oe);return Ne?{TAG:"Error",_0:"QueueClosed"}:ae?{TAG:"Error",_0:{TAG:"DuplicateTurnKey",_0:oe}}:(f.add(oe),{TAG:"Ok",_0:F(CA(Te),qe,oe)})},q=(oe,Te)=>{let qe=m(),Ne=D(qe,oe,Te);if(Ne.TAG==="Ok")return{TAG:"Ok",_0:Ne._0};let ae=Ne._0;return typeof ae!="object"&&ae==="QueueClosed"?{TAG:"Error",_0:EK}:{TAG:"Error",_0:"Dispatch input queue rejected an internally generated turn key"}},re=oe=>{if(w.contents)return{TAG:"Error",_0:EK};let Te=CA(oe),qe=A(Te),Ne=rt(e.isLiveSteerAllowed,!1,Re=>Re()===!1);if(u.length===0){let Re=m();return f.add(Re),F(Te,void 0,Re),{TAG:"Ok",_0:{steered:"steered_queued",pulledImmediately:!1,applied:qe}}}if(Ne){let Re=m();return f.add(Re),F(Te,void 0,Re),{TAG:"Ok",_0:{steered:"steered_queued",pulledImmediately:!1,applied:qe}}}let Ue=y.shift();return{TAG:"Ok",_0:{steered:"steered_live",pulledImmediately:Ue!==void 0?(P(Te,!0),Ue.settle({TAG:"Next",_0:Te}),!0):(d.push(Te),!1),applied:qe}}},te=(oe,Te,qe)=>{let Ne=CA(qe),ae=T.find(Wt=>Wt.ticketId===Te);if(ae!==void 0){let Wt=J(ae.turnKey,oe),ge=J(ae.message,Ne);return Wt&&ge?{TAG:"Ok",_0:ae.outcome}:{TAG:"Error",_0:{TAG:"DuplicateSteerTicket",_0:Te}}}let Ue=w.contents,Ee=u[0];if(Ue)return{TAG:"Error",_0:"QueueClosed"};if(Ee===void 0)return{TAG:"Error",_0:"NoCurrentTurn"};if(!J(Ee.turnKey,oe))return{TAG:"Error",_0:{TAG:"SteerTargetMismatch",_0:Ee.turnKey,_1:oe}};if(rt(e.isLiveSteerAllowed,!1,Wt=>Wt()===!1))return{TAG:"Error",_0:{TAG:"SteerTargetClosed",_0:oe}};let Ve=A(Ne),Be=y.shift(),Rt={steered:"steered_live",pulledImmediately:Be!==void 0?(P(Ne,!0),Be.settle({TAG:"Next",_0:Ne}),!0):(d.push(Ne),!1),applied:Ve};return T.push({turnKey:oe,ticketId:Te,message:Ne,outcome:Rt}),{TAG:"Ok",_0:Rt}},W=oe=>{let Te=d.shift();if(Te!==void 0){let Ne=g.contents;return Ne!==void 0&&J(Ne.followUpMessage,Te)&&(g.contents=void 0),C(Te),Promise.resolve({TAG:"Next",_0:Te})}if(w.contents)return Promise.resolve("Done");let qe=e.onInputWait;return qe!==void 0&&qe(E(u[0],Ne=>Ne.sourceSeq)),new Promise((Ne,ae)=>{y.push({reader:oe,settle:Ne})})},j=()=>W(void 0),X=oe=>W(oe),M=oe=>{let Te=Fe(y,qe=>{let Ne=qe.reader;if(Ne!==void 0&&J(Ne,oe)){qe.settle("Done");return}else return qe});return y.splice(0,y.length,...Te),Promise.resolve()},I=()=>{let oe=g.contents;t&&oe!==void 0&&(h.delete(oe.followUpMessage),d.shift(),u.shift(),c.splice(0,0,oe),g.contents=void 0),t&&(d.splice(0,d.length),u.splice(0,u.length));let Te=u.length===0;if(!t&&Te){let qe=!0;for(;qe;){let Ne=c.shift();Ne!==void 0?V(Ne.followUpMessage,Ne.followUpSourceSeq,Ne.followUpTurnKey):qe=!1}}w.contents=!0,$(),S.forEach((qe,Ne)=>P(Ne,!1))},Q=()=>{let oe=c.slice();return c.splice(0,c.length),oe},H=oe=>{let Te=w.contents,qe=_.contents,Ne=u[0];if(Te)return{TAG:"Error",_0:"QueueClosed"};if(qe!==void 0)return{TAG:"Error",_0:"ReleaseAlreadyPending"};if(Ne===void 0)return{TAG:"Error",_0:"NoCurrentTurn"};if(!J(Ne.turnKey,oe))return{TAG:"Error",_0:{TAG:"PredecessorMismatch",_0:Ne.turnKey,_1:oe}};p.contents=p.contents+1|0;let ae=p.contents,Ue=z(c[0],Re=>Re.followUpTurnKey),Ee={TAG:"SuccessorReleaseLease",_0:ae,_1:oe,_2:Ue};return _.contents=Ee,{TAG:"Ok",_0:Ee}},ie=()=>{let oe=w.contents,Te=_.contents,qe=u[0],Ne=c[0];if(oe)return{TAG:"Error",_0:"QueueClosed"};if(Te!==void 0)return{TAG:"Error",_0:"ReleaseAlreadyPending"};if(qe!==void 0)return{TAG:"Error",_0:"ReleaseAlreadyPending"};if(Ne===void 0)return{TAG:"Error",_0:"NoCurrentTurn"};p.contents=p.contents+1|0;let ae=p.contents,Ue=Ne.followUpTurnKey,Ee={TAG:"InitialReleaseLease",_0:ae,_1:Ue};return _.contents=Ee,{TAG:"Ok",_0:Ee}},se=oe=>{let Te=w.contents,qe=_.contents;if(Te)return{TAG:"Error",_0:"QueueClosed"};if(qe===void 0)return{TAG:"Error",_0:"StaleReleaseLease"};if(!X_(qe,oe))return{TAG:"Error",_0:"StaleReleaseLease"};let Ne=u[0];if(oe.TAG==="InitialReleaseLease"){if(Ne!==void 0)return{TAG:"Error",_0:"ReleaseSuccessorChanged"};let Ve=c[0];return Ve!==void 0&&J(Ve.followUpTurnKey,oe._1)?(_.contents=void 0,c.shift(),V(Ve.followUpMessage,Ve.followUpSourceSeq,Ve.followUpTurnKey),{TAG:"Ok",_0:void 0}):{TAG:"Error",_0:"ReleaseSuccessorChanged"}}if(Ne===void 0)return{TAG:"Error",_0:"NoCurrentTurn"};let ae=oe._1;if(!J(Ne.turnKey,ae))return{TAG:"Error",_0:{TAG:"PredecessorMismatch",_0:Ne.turnKey,_1:ae}};let Ue=z(c[0],Ve=>Ve.followUpTurnKey);if(!J(Ue,oe._2))return{TAG:"Error",_0:"ReleaseSuccessorChanged"};k(ae);let Ee=g.contents;if(t&&Ee!==void 0&&J(Ee.followUpTurnKey,ae)){let Ve=d.findIndex(Be=>J(Be,Ee.followUpMessage));Ve>=0&&d.splice(Ve,1),h.delete(Ee.followUpMessage),g.contents=void 0}u.shift(),_.contents=void 0;let Re=c.shift();return Re!==void 0&&V(Re.followUpMessage,Re.followUpSourceSeq,Re.followUpTurnKey),{TAG:"Ok",_0:Ne.sourceSeq}};return{next:j,openReader:n,nextFor:X,cancelReader:M,close:I,enqueue:q,enqueueTurn:D,enqueueSteer:re,enqueueSteerFor:te,drainUndeliveredFollowUps:Q,beginRelease:H,beginInitialRelease:ie,commitRelease:se,cancelRelease:oe=>{let Te=w.contents,qe=_.contents;return Te?{TAG:"Error",_0:"QueueClosed"}:qe!==void 0&&X_(qe,oe)?(_.contents=void 0,{TAG:"Ok",_0:void 0}):{TAG:"Error",_0:"StaleReleaseLease"}},retract:oe=>{let Te=c.findIndex(ae=>J(ae.followUpTurnKey,oe)),qe=w.contents,Ne=Te>=0;return qe?{TAG:"Error",_0:"QueueClosed"}:Ne?(c.splice(Te,1),{TAG:"Ok",_0:void 0}):{TAG:"Error",_0:{TAG:"TurnNotDeferred",_0:oe}}},completeTurn:()=>{let oe=w.contents,Te=u[0];if(Te===void 0)return;if(oe)return E(u.shift(),ae=>ae.sourceSeq);let qe=H(Te.turnKey);if(qe.TAG!=="Ok")return;let Ne=se(qe._0);if(Ne.TAG==="Ok")return Ne._0},currentSourceSeq:()=>E(u[0],oe=>oe.sourceSeq),currentTurnKey:()=>z(u[0],oe=>oe.turnKey)}}function GK(e){let t=ZOe({content:null,sourceSeq:void 0,initialTurnKey:{TAG:"TurnKey",_0:"empty-staged-queue-placeholder"},onInputDelivered:e.onInputDelivered,onTurnPulled:e.onTurnPulled,isLiveSteerAllowed:e.isLiveSteerAllowed,onInputWait:e.onInputWait,onSourceSeqDelivered:e.onSourceSeqDelivered},!0);return{openReader:t.openReader,nextFor:t.nextFor,cancelReader:t.cancelReader,close:t.close,enqueueTurn:t.enqueueTurn,enqueueSteerFor:t.enqueueSteerFor,drainUndeliveredFollowUps:t.drainUndeliveredFollowUps,beginRelease:t.beginRelease,beginInitialRelease:t.beginInitialRelease,commitRelease:t.commitRelease,cancelRelease:t.cancelRelease,retract:t.retract,currentSourceSeq:t.currentSourceSeq,currentTurnKey:t.currentTurnKey}}function HD(e,t){let r=async()=>{let o=await e.nextFor(t);return typeof o!="object"?{done:!0}:{done:!1,value:PK(o._0)}},n=()=>e.cancelReader(t).then(()=>({done:!0})),i={};return i[Symbol.asyncIterator]=()=>({next:r,return:n}),i}function VD(e){return import(e)}var IK="@anthropic-ai/claude-agent-sdk";function QOe(e){return{next:()=>e.next(),close:()=>{e.close()},interrupt:()=>e.interrupt(),setModel:t=>e.setModel(t),setPermissionMode:t=>e.setPermissionMode(t),applyFlagSettings:t=>e.applyFlagSettings(t),supportedCommands:()=>e.supportedCommands()}}async function DK(){let e=await VD(IK);return{query:t=>QOe(e.query(t)),getSessionInfo:(t,r)=>e.getSessionInfo(t,r),listSessions:t=>e.listSessions(t),getSessionMessages:(t,r)=>e.getSessionMessages(t,r)}}async function YOe(e,t){try{let r=await e();return t(r),{TAG:"Ok",_0:void 0}}catch(r){let n=N(r);return{TAG:"Error",_0:v(E(St(n),At),"unknown Claude authentication probe failure")}}}function XOe(e,t){return{options:{cwd:e,pathToClaudeCodeExecutable:t,persistSession:!1,settingSources:["user","project","local"],tools:[]},initializeTimeoutMs:15e3}}async function KD(e,t){return await YOe(async()=>await(await VD(IK)).startup(XOe(e,t)),r=>{r.close()})}var JD=["codex","claude-code","pi","opencode"];function fp(e){return e}function EA(e){switch(e.TAG){case"SessionStarted":return"session_started";case"TurnStarted":return"turn_started";case"ItemStarted":return"item_started";case"ItemDelta":return"item_delta";case"ItemCompleted":return"item_completed";case"ApprovalRequested":return"approval_requested";case"UsageUpdated":return"usage_updated";case"RateLimitUpdated":return"rate_limit_updated";case"ActivityPulse":return"activity_pulse";case"TurnCompleted":return"turn_completed";case"TurnFailed":return"turn_failed";case"TurnInterrupted":return"turn_interrupted";case"HarnessDied":return"harness_died"}}import*as $K from"node:child_process";var tEe=/^(\d+)\s+(\d+)\s+(.*)$/;function QD(e,t){return v(v(e.slice(1)[t],void 0),"")}function rEe(e){return Fe(e.split(`
504
504
  `).map(t=>t.trim()).filter(t=>t!==""),t=>{let r=tEe.exec(t);if(r==null)return;let n=i=>{let o=ei(QD(r,i));return o!==void 0?o:0};return{pid:n(0),ppid:n(1),command:QD(r,2)}})}var nEe=/:(\d+)(?:\s|\(|$)/;function iEe(e){let t=nEe.exec(e);if(t!=null)return ei(QD(t,0))}function oEe(e){let t=[],r={currentPid:void 0,currentCommand:void 0};return e.split(`
505
505
  `).forEach(n=>{let i=n.trim();if(i.startsWith("p")){r.currentPid=Number(i.slice(1)),r.currentCommand=void 0;return}if(i.startsWith("c")){r.currentCommand=i.slice(1);return}let o=i.startsWith("n"),a=r.currentPid;if(!o||a===void 0)return;let s=iEe(i.slice(1));if(s!==void 0){t.push({pid:a,port:s,command:v(r.currentCommand,"unknown")});return}}),t}function aEe(e){let t={},r={contents:void 0};return e.split(`
506
506
  `).forEach(n=>{let i=n.trim();if(i.startsWith("p")){r.contents=Number(i.slice(1));return}let o=i.startsWith("n"),a=r.contents;if(!o||a===void 0)return;let s=i.slice(1).trim();if(s!==""){t[a.toString()]=s;return}}),t}function YD(e){let t=St(e);if(t===void 0)return"unknown scan failure";let r=ce(t),n=At(r);return n!==void 0?n:String(r)}var sEe=[5e3,3e4];async function lEe(e,t){let r={contents:void 0},i=Fr((async()=>(await e(),"BudgetOk"))(),l=>Promise.resolve({TAG:"BudgetError",_0:YD(l)})),o=new Promise((l,d)=>{r.contents=ve(setTimeout(()=>l({TAG:"BudgetError",_0:"port scan exceeded its "+t.toString()+"ms budget (probe never settled)"}),t))}),a=await Promise.race([i,o]),s=r.contents;return s!==void 0&&clearTimeout(ce(s)),a}function dEe(e,t,r,n,i){let o=[e].concat(t),a=v(r,2e4),s=[],l={timer:void 0,running:!1,scanning:!1,promptScanRequested:!1,tickEpoch:0,consecutiveFailures:0,notifiedIntervalMs:e,cwdCache:void 0},d=()=>v(o[Math.min(l.consecutiveFailures,o.length-1|0)],e),u=()=>s.filter(_=>!_.closed),c=_=>{let g=d();if(g===l.notifiedIntervalMs)return;l.notifiedIntervalMs=g;let y={consecutiveFailures:l.consecutiveFailures,intervalMs:g,errorMessage:_};u().forEach(S=>{let T=S.subscriber.onBackoff;if(T!==void 0)try{return T(y)}catch{return}})},f=_=>{l.notifiedIntervalMs=e,u().forEach(g=>{let b=g.subscriber.onRecovered;if(b!==void 0)try{return b(_)}catch{return}})},h=async _=>{let g=await Promise.all([n.scanProcesses(),n.scanListenSockets()]);if(_!==l.tickEpoch||!l.running)return;let b=g[1],y=g[0],S=[];u().forEach(F=>{let D;try{D=F.subscriber.candidatePids(y,b)}catch{D=void 0}if(D!==void 0){D.forEach(q=>{if(Number.isInteger(q)&&q>0&&!S.includes(q)){S.push(q);return}});return}});let T=S.toSorted((F,D)=>F-D),w=T.map(F=>F.toString()).join(","),A=i(),P=l.cwdCache,C,k=0;if(P!==void 0&&P.cacheKey===w&&A-P.cachedAtMs<3e4?C=P.cacheValue:k=1,k===1){let F=await n.scanProcessCwds(T);l.cwdCache={cacheKey:w,cacheValue:F,cachedAtMs:A},C=F}if(_!==l.tickEpoch||!l.running)return;let $=i(),V={processRows:y,listenSockets:b,processCwds:C,scannedAtMs:$};s.slice().forEach(F=>{if(F.closed||F.delivering)return;F.delivering=!0,Fr((async()=>{if(!F.closed)return await F.subscriber.deliver(V)})(),q=>{let re=F.subscriber.onError;if(re!==void 0)try{re(YD(q))}catch{}return Promise.resolve()}).finally(()=>{F.delivering=!1})})},m=_=>{if(!l.running)return;let g=l.timer;g!==void 0&&clearTimeout(ce(g)),l.timer=ve(setTimeout(p,_))},p=()=>{if(l.timer=void 0,!l.running||l.scanning)return;l.scanning=!0,l.tickEpoch=l.tickEpoch+1|0;let _=l.tickEpoch;(async()=>{let b=await lEe(()=>h(_),a);if(typeof b!="object"){if(l.consecutiveFailures>0){let S=l.consecutiveFailures;l.consecutiveFailures=0,f(S)}}else l.consecutiveFailures=l.consecutiveFailures+1|0,l.cwdCache=void 0,c(b._0);l.scanning=!1;let y=l.promptScanRequested&&l.consecutiveFailures===0?0:d();return l.promptScanRequested=!1,m(y)})()};return{subscribe:_=>{let g={subscriber:_,delivering:!1,closed:!1};return s.push(g),l.running?l.consecutiveFailures===0&&(l.scanning?l.promptScanRequested=!0:m(0)):(l.running=!0,p()),{unsubscribe:()=>{if(g.closed)return;g.closed=!0;let b=Td(s,g);if(b!==void 0&&s.splice(b,1),s.length!==0)return;l.running=!1,l.tickEpoch=l.tickEpoch+1|0,l.consecutiveFailures=0,l.notifiedIntervalMs=e,l.promptScanRequested=!1,l.cwdCache=void 0;let y=l.timer;if(y!==void 0){clearTimeout(ce(y)),l.timer=void 0;return}}}},subscriberCount:()=>s.length,isRunning:()=>l.running}}function MK(e,t,r,n){let i=t!==void 0?t:vo;return new Promise((o,a)=>{try{let s=$K.spawn(r,n,{stdio:["ignore","pipe","pipe"],detached:!0}),l={contents:""},d={contents:""},u={contents:!1},c={contents:void 0},f={contents:void 0},h=S=>{if(!u.contents)return u.contents=!0,Nl(f.contents,T=>{clearTimeout(T)}),o(S)},m=S=>{if(c.contents!==void 0)return;c.contents=S;let w=s.pid;if(w==null)return;let A=i(-w|0,"SIGKILL");if(A.TAG==="Ok")return;let P=A._0;if(P.code==="ESRCH")return;let k=S+"; probe process-group kill failed: "+P.message;c.contents=k,h({error:k,exitCode:void 0,stdout:l.contents,stderr:d.contents})},p=S=>{try{return process.kill(-S,0),!0}catch{return!1}},_=(S,T,w)=>{if(!p(T)||Date.now()>=w)return h(S);setImmediate(()=>_(S,T,w))},g=(S,T)=>{let w=S.contents+T.toString("utf8");if(w.length>16e6)return m(e+" exceeded its 16000000 byte output budget; process group killed");S.contents=w},b=s.stdout;b?.on("data",S=>g(l,S));let y=s.stderr;y?.on("data",S=>g(d,S)),s.once("error",S=>h({error:v(At(S),e+" probe failed"),exitCode:void 0,stdout:l.contents,stderr:d.contents})),s.once("close",(S,T)=>{let w=z(S==null?void 0:ve(S),D=>D),A=c.contents,P=A!==void 0?A:w!==void 0?w!==0?e+" failed with status "+w.toString():void 0:T==null?e+" exited without a status":e+" exited from signal "+T,C=l.contents,k=d.contents,$={error:P,exitCode:w,stdout:C,stderr:k},V=c.contents,F=s.pid;return V!==void 0&&F!=null?_($,F,Date.now()+5e3):h($)}),f.contents=ve(setTimeout(()=>s.pid==null?h({error:e+" timed out before spawn produced a process id",exitCode:void 0,stdout:l.contents,stderr:d.contents}):m(e+" timed out after 5000ms; process group killed"),5e3));return}catch(s){let l=N(s);return o({error:YD(l),exitCode:void 0,stdout:"",stderr:""})}})}function ZD(e,t){let r=t.stderr.trim();return r===""?v(t.error,e+" probe failed"):e+" probe failed: "+r}function uEe(){let e=t=>MK("lsof",void 0,"/bin/sh",["-c","ulimit -n 1024 2>/dev/null; exec lsof "+t]);return{scanProcesses:async()=>{let t=await MK("ps",void 0,"ps",["-axo","pid=,ppid=,command="]);return t.error!==void 0?await Promise.reject(ZD("ps",t)):rEe(t.stdout)},scanListenSockets:async()=>{let t=await e("-nP -iTCP -sTCP:LISTEN -FpPcn"),r=t.error,n=t.exitCode,i=t.stdout.trim(),o=t.stderr.trim();return r===void 0?oEe(t.stdout):n===1&&i===""&&o===""?[]:await Promise.reject(ZD("lsof",t))},scanProcessCwds:async t=>{let r=[];if(t.forEach(d=>{if(Number.isInteger(d)&&d>0&&!r.includes(d)){r.push(d);return}}),r.length===0)return{};let n=r.map(d=>d.toString()).join(","),i=await e("-a -p "+n+" -d cwd -Fn"),o=i.error,a=i.exitCode,s=i.stdout.trim(),l=i.stderr.trim();return o===void 0?aEe(i.stdout):a===1&&s===""&&l===""?{}:await Promise.reject(ZD("lsof cwd",i))}}}function jK(){return dEe(1e3,sEe,void 0,uEe(),e=>Date.now())}function tM(e){switch(e){case"BindingNotObject":return"binding_not_object";case"SessionIdInvalid":return"session_id_invalid";case"LeaseEpochInvalid":return"lease_epoch_invalid";case"NextFrameIndexInvalid":return"next_frame_index_invalid";case"CheckpointConfigMissing":return"checkpoint_config_missing";case"CheckpointConfigInvalid":return"checkpoint_config_invalid";case"SourceSeqInvalid":return"source_seq_invalid"}}function XD(e){return"adt_stream_v1 dispatch refused: "+tM(e)+"; the commander refuses to stream unconfigured (no baked fallback thresholds exist by law - plan doc 2.4/MF9)"}function NK(e){switch(e){case"Checkpoint":return"checkpoint";case"Delta":return"delta";case"Terminal":return"terminal"}}function GA(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function mp(e){if(e!==void 0&&typeof e=="number"&&e>=1&&Math.trunc(e)===e)return e}function fEe(e){let t=GA(e);if(t===void 0)return;let r=mp(t.version),n=E(t.thresholds,GA);if(r===void 0||n===void 0)return;let i=mp(n.max_bytes),o=mp(n.max_deltas),a=mp(n.max_interval_ms);if(i!==void 0&&o!==void 0&&a!==void 0)return{version:r,thresholds:{maxBytes:i,maxDeltas:o,maxIntervalMs:a}}}function mEe(e){let t=GA(e);if(t===void 0)return{TAG:"ParseRefused",_0:"BindingNotObject"};let r=mp(t.session_id);if(r===void 0)return{TAG:"ParseRefused",_0:"SessionIdInvalid"};let n=mp(t.lease_epoch);if(n===void 0)return{TAG:"ParseRefused",_0:"LeaseEpochInvalid"};let i=mp(t.next_frame_index);if(i===void 0)return{TAG:"ParseRefused",_0:"NextFrameIndexInvalid"};let o=t.checkpoint_config;if(o===void 0)return{TAG:"ParseRefused",_0:"CheckpointConfigMissing"};let a=fEe(o);return a!==void 0?{TAG:"Parsed",_0:{sessionId:r,leaseEpoch:n,nextFrameIndex:i,checkpointConfig:a}}:{TAG:"ParseRefused",_0:"CheckpointConfigInvalid"}}function pEe(e){return po(NK(e.frameKind)+`
@@ -552,7 +552,7 @@ worker output: `+i}function hV(e,t){return"thread Codex worker did not report re
552
552
  `)],summary:a})}}function WQ(e,t,r){let n=cGe(e,t,r);if(n!==void 0)return{TAG:"CompleteSpecialized",_0:n};switch(e){case"EnterPlanMode":case"TodoWrite":return"SilentSpecialized";case"WebFetch":case"WebSearch":break;default:return"OrdinaryTool"}return{TAG:"StartSpecialized",itemId:"web:"+t,streamKind:"web_search"}}function mGe(e,t,r,n){let i={tool_name:e,tool_use_id:t,input:r,is_error:!0},o=n===""?void 0:n,a=0;switch(e){case"TaskCreate":case"TaskUpdate":a=1;break;case"EnterPlanMode":case"ExitPlanMode":case"Skill":case"TodoWrite":a=2;break;default:return}switch(a){case 1:let s=jn(r,"taskId"),l=s!==void 0?s:jn(r,"task_id"),d=jn(r,"subject"),u;if(d!==void 0)u=d;else{let h=jn(r,"title");u=h!==void 0?h:v(z(l,m=>"Task "+m),e+" failed")}return{itemId:"task:"+t,streamKind:"agent_task_update",content:hf({type:"agentTaskUpdate",provider:"claude-code",state:"failed",title:u,progressLabel:"failed",rawProviderMetadata:i},o)};case 2:let c;switch(e){case"EnterPlanMode":c=["Claude could not enter plan mode",{workflow_event:"plan_mode_enter_failed"}];break;case"ExitPlanMode":c=["Claude could not exit plan mode",{workflow_event:"plan_mode_exit_failed"}];break;case"Skill":c=["Skill: "+v(jn(r,"skill"),"Skill"),{}];break;default:c=[e+" failed",{}]}let f=Object.assign(Object.assign(i,{provider:"claude-code-sdk",transcript_event_type:"tool_result"}),c[1]);return{itemId:"status:"+t,streamKind:"agent_status",content:hf({type:"agentStatus",provider:"claude-code",severity:"error",title:c[0],rawProviderMetadata:f},o)}}}function HQ(e,t,r,n,i){if(i)return mGe(e,t,r,n);switch(e){case"TaskCreate":case"TaskUpdate":case"TodoWrite":return fGe(t,r);case"WebFetch":case"WebSearch":break;default:return}let o=jn(r,"query"),a=o!==void 0?o:v(jn(r,"url"),e);return{itemId:"web:"+t,streamKind:"web_search",content:yp({type:"web_search_call",query:a,status:"completed"})}}function VQ(e){switch(e){case"EnterPlanMode":case"ExitPlanMode":case"Skill":case"TaskCreate":case"TaskUpdate":case"TodoWrite":case"WebFetch":case"WebSearch":return!0;default:return!1}}function pGe(e){switch(e){case"default":return"default";case"acceptEdits":return"acceptEdits";case"bypassPermissions":return"bypassPermissions";case"plan":return"plan";case"dontAsk":return"dontAsk";case"auto":return"auto"}}function KQ(e,t,r){let n=e.session_id,i=n!==void 0?{session_id:n}:{},o=e.uuid,a=o!==void 0?{uuid:o}:{},s=Object.assign({provider:"claude-code-sdk",transcript_event_type:"system",system_tag:"system:"+t,system_subtype:t},i),l=Object.assign(s,a);return yp(Object.assign(l,Object.fromEntries(r)))}function JQ(e,t){let r=e.uuid;if(r!==void 0)return"system:"+r;let n=e.tool_use_id;if(n!==void 0)return"system:"+t+":"+n;let i=e.task_id;return i!==void 0?"system:"+t+":"+i:"system:"+t}function tx(e,t,r,n,i,o,a){let s=z(i,d=>d.trim()),l=s!==void 0&&s!==""?s:void 0;return{TAG:"VisibleSystem",_0:{itemId:JQ(e,r),streamKind:"agent_status",content:hf({type:"agentStatus",provider:"claude-code",severity:o,title:n,rawProviderMetadata:KQ(e,t,a)},l)}}}function hGe(e){let t=e.status;if(t!==void 0)switch(t){case"pending":return"pending";case"running":return"running";case"completed":return"completed";case"failed":return"failed";case"killed":return"killed";case"paused":return"paused"}}function _Ge(e){if(e===void 0)return"unknown";switch(e){case"error":case"failed":return"failed";case"blocked":case"paused":return"blocked";case"pending":case"queued":return"queued";case"in_progress":case"running":case"started":return"running";case"canceled":case"cancelled":case"killed":case"stopped":return"cancelled";case"complete":case"completed":case"succeeded":case"success":return"succeeded";default:return"unknown"}}function o$(e,t){let r=E(e.patch,hGe),n;if(r!==void 0)n=r;else{let c=e.status;if(c!==void 0){let f=ce(c);if(f==="started"||f==="stopped"||f==="installed"||f==="completed"||f==="failed")switch(f){case"started":n="started";break;case"installed":n="installed";break;case"failed":n="failed";break;case"completed":n="completed";break;case"stopped":n="stopped";break}else n=void 0}else n=t==="task_started"?"running":void 0}let i=e.task_id,o=E(e.patch,c=>cn(c.description,c.error)),a=cn(cn(e.description,e.summary),o),s=e.output_file,l=a!==void 0?s!==void 0?a+`
553
553
  Output: `+s:a:s!==void 0?"Output: "+s:void 0,d=[["workflow_event",t]];i!==void 0&&d.push(["task_id",i]),n!==void 0&&d.push(["status",n]);let u=n!==void 0?{progressLabel:n}:{};return{TAG:"VisibleSystem",_0:{itemId:v(z(i,c=>"task:"+c),JQ(e,"task-"+t)),streamKind:"agent_task_update",content:hf(Object.assign({type:"agentTaskUpdate",provider:"claude-code",state:_Ge(n),title:v(z(i,c=>"Task "+c),"Task"),rawProviderMetadata:KQ(e,t,d)},u),l)}}}function l$(e){let t=e.subtype;if(t===void 0)return"PulseSystem";switch(t){case"init":case"status":break;case"api_retry":let i=e.attempt,o=e.max_retries,a=i!==void 0?o!==void 0?"Attempt "+i.toString()+"/"+o.toString():"Attempt "+i.toString():void 0,s=E(e.error_status,j=>{if(j!=null)return ve(j)}),l=e.error,d;if(l!==void 0)if(l==="authentication_failed"||l==="max_output_tokens"||l==="oauth_org_not_allowed"||l==="unknown"||l==="billing_error"||l==="server_error"||l==="rate_limit"||l==="model_not_found"||l==="overloaded"||l==="invalid_request")switch(l){case"authentication_failed":d="authentication_failed";break;case"oauth_org_not_allowed":d="oauth_org_not_allowed";break;case"billing_error":d="billing_error";break;case"rate_limit":d="rate_limit";break;case"overloaded":d="overloaded";break;case"invalid_request":d="invalid_request";break;case"model_not_found":d="model_not_found";break;case"server_error":d="server_error";break;case"unknown":d="unknown";break;case"max_output_tokens":d="max_output_tokens";break}else d=l;else d=void 0;let u=(s!==void 0?[s.toString()]:[]).concat(d!==void 0?[d]:[]).join(" "),c=a!==void 0?u===""?a:a+" after "+u:u,f=e.retry_delay_ms,h;if(f!==void 0){let j=f>=0,X=f<1e3;h=j?X?"Retrying in "+Math.round(f).toString()+"ms.":"Retrying in "+(f/1e3).toFixed(1)+"s.":void 0}else h=void 0;let p=(c===""?[]:[c]).concat(h!==void 0?[h]:[]).join(". "),_=[["workflow_event","api_retry"]],g=e.attempt;g!==void 0&&_.push(["attempt",g]);let b=e.max_retries;b!==void 0&&_.push(["max_retries",b]);let y=e.retry_delay_ms;y!==void 0&&_.push(["retry_delay_ms",y]),s!==void 0&&_.push(["error_status",s]),d!==void 0&&_.push(["error",d]);let S=tx(e,"api_retry","claude-api-status","Claude API request failed; retrying",p,"warning",_);if(typeof S!="object"||S.TAG!=="VisibleSystem")return"PulseSystem";let T=S._0;return{TAG:"VisibleSystem",_0:{itemId:v(z(e.session_id,j=>"system:claude-api-status:"+j),T.itemId),streamKind:T.streamKind,content:T.content}};case"model_refusal_fallback":return tx(e,"model_refusal_fallback","refusal-fallback","Claude declined and switched approach",E(e.api_refusal_explanation,j=>{if(j!=null)return ve(j)}),"warning",[["workflow_event","model_refusal_fallback"]]);case"hook_response":let w=J(e.exit_code,2),A=e.outcome,P;if(A!==void 0)switch(A){case"error":P=!0;break;case"success":case"cancelled":P=!1;break}else P=!1;let C=0;if(w)C=2;else{if(!P)return"PulseSystem";C=2}if(C===2){let j=E(e.stderr,le=>{if(le.trim()!=="")return le}),X=e.output,M=e.stdout,I=j!==void 0?j:X!==void 0?typeof X=="string"?X:X.join(`
554
554
  `):M!==void 0?M:void 0,Q=[["workflow_event",w?"hook_blocked":"hook_failed"]],H=e.hook_name;H!==void 0&&Q.push(["hook_name",H]);let ie=e.hook_event;ie!==void 0&&Q.push(["hook_event",ie]);let se=e.exit_code;se!==void 0&&Q.push(["exit_code",se]);let de=e.outcome;if(de!==void 0)switch(de){case"success":Q.push(["outcome","success"]);break;case"error":Q.push(["outcome","error"]);break;case"cancelled":Q.push(["outcome","cancelled"]);break}return tx(e,"hook_response",w?"hook-blocked":"hook-failed",w?"A Claude hook blocked this action":"A Claude hook failed",I,w?"error":"warning",Q)}break;case"task_notification":return v(e.skip_transcript,!1)?"PulseSystem":o$(e,"task_notification");case"task_started":return v(e.skip_transcript,!1)?"PulseSystem":o$(e,"task_started");case"task_updated":return v(e.skip_transcript,!1)?"PulseSystem":o$(e,"task_updated");case"permission_denied":let k=E(lt(e.tool_input),j=>jn(j,"command")),$=e.tool_name,V=k!==void 0?"Claude was denied permission to run "+k:$!==void 0?"Claude was denied permission to use "+$:"Claude was denied permission to continue",F=e.decision_reason_type,D;if(F!==void 0)switch(F){case"classifier":D="Denied by the automatic permission classifier.";break;case"mode":D="Denied by the current permission mode.";break;case"rule":D="Denied by a permission rule.";break;default:D="Denied without an interactive prompt."}else D="Denied without an interactive prompt.";let q=[["workflow_event","permission_denied"]],re=e.tool_name;re!==void 0&&q.push(["tool_name",re]);let te=e.tool_use_id;te!==void 0&&q.push(["tool_use_id",te]),k!==void 0&&q.push(["command",k]);let W=e.decision_reason_type;return W!==void 0&&q.push(["decision_reason_type",W]),tx(e,"permission_denied","permission-denied",V,cn(e.decision_reason,D),"error",q);case"mirror_error":return tx(e,"mirror_error","mirror-error","Claude hit an internal stream error",cn(e.content,e.reason),"warning",[["workflow_event","mirror_error"]]);default:return"PulseSystem"}let r=e.permissionMode;if(r===void 0)return"PulseSystem";let n=pGe(r);return{TAG:"PlanModeSignal",wantPlan:n==="plan",permissionMode:n,uuid:e.uuid}}function ZQ(e,t,r,n,i,o){let a=o?"failed":"completed",s=s$(t,r,n),l=dGe(t);return yp(s!==void 0&&l?{type:"fileChange",patchText:s,id:e,status:a}:{type:"commandExecution",toolName:t,command:a$(t,r),aggregatedOutput:i,id:e,status:a})}function eY(e,t,r,n,i){return{emitEvent:n,audit:i,announcedSessionId:t,cwd:e,onSessionStarted:r,sessionAnnounced:!1,startedTurns:new Set,terminalTurns:new Set,startedItems:new Set,assistantBodies:new Set,pendingTools:new Map,activeTurnId:void 0,mintedTurnCount:0,planModeAnnounced:void 0,planModeTransitionCounter:0,interruptedTurnSettling:!1,usage:eQ(),identity:nQ()}}function m0(e){if(e===void 0)return;let t=e.trim();if(t!=="")return t}function tY(e,t){return e+"\0"+t.trim()}function _f(e){let t=JSON.stringify(e);if(t!==void 0)try{return JSON.parse(t)}catch{throw new Error("Claude SDK value JSON parse failed")}else throw new Error("Claude SDK value serialization failed")}function bGe(e){if(e!=="advisor"&&e!=="tool_search_tool_bm25"&&e!=="web_search"&&e!=="tool_search_tool_regex"&&e!=="web_fetch"&&e!=="text_editor_code_execution"&&e!=="code_execution"&&e!=="bash_code_execution")return e;switch(e){case"advisor":return"advisor";case"web_search":return"web_search";case"web_fetch":return"web_fetch";case"code_execution":return"code_execution";case"bash_code_execution":return"bash_code_execution";case"text_editor_code_execution":return"text_editor_code_execution";case"tool_search_tool_regex":return"tool_search_tool_regex";case"tool_search_tool_bm25":return"tool_search_tool_bm25"}}function yGe(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function u$(e){switch(e){case"Edit":case"MultiEdit":case"NotebookEdit":case"Write":return!0;default:return!1}}function xGe(e){let t=e.file_path,r=0;if(t!==void 0){if(typeof t=="string")return t;r=1}else r=1;if(r===1){let n=e.filePath,i=0;if(n!==void 0){if(typeof n=="string")return n;i=2}else i=2;if(i===2){let o=e.notebook_path;return typeof o=="string"?o:void 0}}}function SGe(e,t,r){let n=u$(t),i=xGe(r);if(n&&i!==void 0)try{let o=gk.isAbsolute(i)?i:gk.resolve(e.cwd,i);return XQ.existsSync(o)}catch{return}}function QQ(e){if(Array.isArray(e)){let t=e.flatMap(r=>{if(r===null||Array.isArray(r))return[];switch(typeof r){case"string":return[r];case"object":let n=r.text;if(typeof n=="string")return[n];let i=r.content;return i!==void 0?typeof i=="string"?[i]:[]:[];default:return[]}}).join(`
555
- `).trim();return t===""?JSON.stringify(e):t}return typeof e==="string"?e:JSON.stringify(e)}function h0(e,t){return e.startedTurns.has(t)?!e.terminalTurns.has(t):!1}function rY(e,t){return e.mintedTurnCount=e.mintedTurnCount+1|0,"claude:"+t+":turn:"+e.mintedTurnCount.toString()}function nY(e){let t=e.activeTurnId;if(t!==void 0&&!h0(e,t))return e.startedTurns.add(t),e.emitEvent({TAG:"TurnStarted",turnId:t})}function iY(e,t){if(e.activeTurnId=t,e.sessionAnnounced)return nY(e)}function p0(e){let t=e.activeTurnId;return t!==void 0&&h0(e,t)?t:o4("turn-scoped Claude frame has no exact coordinator binding")}function oY(e){let t=Cu(e.activeTurnId,r=>h0(e,r));if(t!==void 0)return t}function bk(e,t){e.terminalTurns.add(t),J(e.activeTurnId,t)&&(e.activeTurnId=void 0),e.startedTurns.delete(t),e.terminalTurns.delete(t),e.startedItems.values().toArray().forEach(r=>{if(r.startsWith(t+"/")){e.startedItems.delete(r);return}}),e.assistantBodies.values().toArray().forEach(r=>{if(r.startsWith(t+"\0")){e.assistantBodies.delete(r);return}}),e.pendingTools.values().toArray().forEach(r=>{if(r.turnId===t){e.pendingTools.delete(r.rawItemId);return}})}function aY(e,t){if(h0(e,t))return e.interruptedTurnSettling=!0,bk(e,t),e.emitEvent({TAG:"TurnInterrupted",turnId:t,reason:void 0})}function YQ(e){return e.turnId+"/"+e.itemId+"/"+e.streamKind}function rx(e,t){if(!e.startedItems.has(YQ(t)))return e.startedItems.add(YQ(t)),e.emitEvent({TAG:"ItemStarted",item:t})}function gf(e,t,r){rx(e,t),e.emitEvent({TAG:"ItemCompleted",item:t,content:r})}function sY(e,t,r){rx(e,t),e.emitEvent({TAG:"ItemDelta",item:t,delta:r})}function Tl(e,t){let r=e.activeTurnId;if(v(z(r,n=>h0(e,n)),!0))return e.emitEvent({TAG:"ActivityPulse",turnId:r,signalKind:t})}function d$(e,t,r,n,i){let o=e.planModeAnnounced,a=o!==void 0?o===t?"PlanModeDeduplicated":{TAG:"PlanModeChanged",_0:t}:t?{TAG:"PlanModeChanged",_0:!0}:"PlanModeInitialNonPlan";if(typeof a!="object")return a==="PlanModeDeduplicated"?Tl(e,"workflow:plan_mode_dedup"):(e.planModeAnnounced=!1,Tl(e,"workflow:plan_mode_initial_non_plan"));{let s=a._0;e.planModeAnnounced=s;let l=oY(e);if(l===void 0)return;e.planModeTransitionCounter=e.planModeTransitionCounter+1|0;let d=i!==void 0?"status:plan-mode:"+i:"status:plan-mode:"+l+":"+e.planModeTransitionCounter.toString(),u=s?"plan_mode_entered":"plan_mode_exited",c=_f(n!==void 0?{provider:"claude-code-sdk",transcript_event_type:"workflow",workflow_event:u,plan_mode_signal:r,permission_mode:n}:{provider:"claude-code-sdk",transcript_event_type:"workflow",workflow_event:u,plan_mode_signal:r});return gf(e,{turnId:l,itemId:d,streamKind:"agent_status"},_f({type:"agentStatus",provider:"claude-code",severity:"info",title:s?"Claude entered plan mode":"Claude exited plan mode",rawProviderMetadata:c}))}}function TGe(e,t){let r=fQ(t),n=r.status;return{fate:e!==void 0?e==="error_max_turns"?"deterministic":n!==void 0?i0(n):"transient_upstream":n!==void 0?i0(n):"transient_upstream",reason:BM(r)?mQ("Claude Code failed: "+t,r):"Claude Code failed: "+t,providerDetail:BM(r)?pQ(r):void 0}}function vGe(e){return e==="Text"?"assistant":"reasoning"}function wGe(e){return e.kind==="Text"?_f({type:"text",text:e.content}):_f({type:"thinking",thinking:e.content})}function AGe(e){let t=e.type,r;switch(t){case"text":r="AssistantText";break;case"thinking":r="AssistantThinking";break;case"tool_use":r="AssistantToolUse";break;default:r="AssistantOther"}return{kind:r,text:e.text,thinking:e.thinking,id:e.id,toolName:z(e.name,bGe),toolInput:yGe(e.input),json:_f(e)}}function kGe(e,t,r){let n=p0(e),i=t.content.map(AGe),o=sQ(e.identity,t.id),s=lQ(e.identity,o).filter(y=>y.content.trim()!==""),l={};s.forEach(y=>{let S=rQ(y.kind),T=l[S];T!==void 0?T.push(y.index):l[S]=[y.index]});let d={};i.forEach((y,S)=>{switch(y.kind){case"AssistantText":let w=d.text;w!==void 0?w.push(S):d.text=[S];return;case"AssistantThinking":let A=d.thinking;A!==void 0?A.push(S):d.thinking=[S];return;case"AssistantToolUse":case"AssistantOther":return}});let u=new Set;s.forEach(y=>{u.add(y.index)});let c=(y,S)=>{let T=v(d[y],[]),w=Td(T,S);w!==void 0&&T.splice(w,1);let A=v(l[y],[]),P=A[0];if(P!==void 0&&S<P)return A.shift(),!0;let C=Td(A,S);if(C!==void 0)return A.splice(C,1),!0;let k=Wa(A,$=>!T.includes($));return k!==void 0?(A.splice(k,1),!0):!1},f=y=>{if(u.has(y)){let S=y+1|0;for(;u.has(S);)S=S+1|0;return u.add(S),S}return u.add(y),y},h=(y,S)=>({turnId:n,itemId:UM(o,y),streamKind:S}),m=[];s.forEach(y=>{m.push({index:y.index,events:[{TAG:"CompletedAssistantItem",item:h(y.index,vGe(y.kind)),content:wGe(y)}]})}),i.forEach((y,S)=>{let T=y.kind,w;switch(T){case"AssistantText":w="text";break;case"AssistantThinking":w="thinking";break;case"AssistantToolUse":case"AssistantOther":w=void 0;break}if(w!==void 0){if(c(w,S))return;switch(y.kind){case"AssistantText":if(m0(y.text)!==void 0){m.push({index:S,events:[{TAG:"CompletedAssistantItem",item:h(f(S),"assistant"),content:y.json}]});return}else return;case"AssistantThinking":if(m0(y.thinking)!==void 0){m.push({index:S,events:[{TAG:"CompletedAssistantItem",item:h(f(S),"reasoning"),content:y.json}]});return}else return;case"AssistantToolUse":case"AssistantOther":return}}else{if(y.kind!=="AssistantToolUse")return;let P=v(y.id,"content-block-"+S.toString()),C=v(y.toolName,"tool"),k=v(y.toolInput,{}),$=SGe(e,C,k),V={turnId:n,rawItemId:P,toolName:C,input:k,targetExistedAtCall:$};e.pendingTools.set(P,V),m.push({index:S,events:[{TAG:"ToolCallItem",item:{turnId:n,itemId:"tool:"+P,streamKind:u$(C)?"file_change":"command_output"},call:V}]});return}});let p=i.some(y=>y.kind==="AssistantText"),_=s.some(y=>y.kind==="Text"),g=p||_,b=m0(r);return g||b===void 0||m.push({index:i.length,events:[{TAG:"CompletedAssistantItem",item:h(f(i.length),"assistant"),content:b}]}),m.toSorted((y,S)=>rT(y.index,S.index)).flatMap(y=>y.events)}function CGe(e){if(e!==void 0&&e!=="")return e}function OGe(e,t){let r=tQ(e.usage,t),n=aQ(e.identity,t);iQ(e.identity).forEach(l=>e.audit("claude.malformed_message_start",Object.fromEntries([["event_type","message_start"],["generated_message_id",l]]))),oQ(e.identity).forEach(l=>e.audit("claude.malformed_content_block",Object.fromEntries([["event_type",l.eventType],["raw_index",rt(l.rawIndex,null,d=>d.toString())],["active_message_id",rt(l.activeMessageId,null,d=>d)]])));let i={contents:!1};if(r!==void 0){let l=p0(e);e.emitEvent({TAG:"UsageUpdated",turnId:l,usage:r}),i.contents=!0}let o=(l,d)=>z(n,u=>({turnId:p0(e),itemId:UM(u,l),streamKind:d})),a=E(t.index,l=>{if(isFinite(l)&&Math.round(l)===l)return l|0});switch(t.type){case"content_block_start":let l=t.content_block;if(l!==void 0&&a!==void 0){let u=(f,h)=>{if(m0(h)===void 0)return;let p=o(a,f);if(p!==void 0){gf(e,p,_f(l)),i.contents=!0;return}};switch(l.type){case"text":u("assistant",l.text);break;case"thinking":u("reasoning",l.thinking);break}}break;case"content_block_delta":let d=t.delta;if(d!==void 0){let u=(f,h)=>{let m=CGe(h);if(a===void 0||m===void 0)return;let p=o(a,f);if(p!==void 0){sY(e,p,m),i.contents=!0;return}};d.type==="thinking_delta"?u("reasoning",d.thinking):u("assistant",d.text)}break}if(!i.contents)return Tl(e,"stream_event")}function EGe(e,t){let r=t.message;if(r===void 0)return Tl(e,"user");let n=r.content;if(typeof n=="string")return Tl(e,"user");let i={contents:!1};if(n.forEach((o,a)=>{if(o.type!=="tool_result")return;let l=p0(e),d=v(o.tool_use_id,"content-block-"+a.toString()),u=v(e.pendingTools.get(d),{turnId:l,rawItemId:d,toolName:"tool",input:{},targetExistedAtCall:void 0});e.pendingTools.delete(d);let c=_f(o),f;f=typeof c=="object"&&c!==null&&!Array.isArray(c)?v(c.content,null):null;let h=v(o.is_error,!1);switch(u.toolName){case"EnterPlanMode":h||d$(e,!0,"tool_result",void 0,void 0);break;case"ExitPlanMode":h||d$(e,!1,"tool_result",void 0,void 0);break}let p=HQ(u.toolName,d,u.input,QQ(f),h);if(p!==void 0)gf(e,{turnId:l,itemId:p.itemId,streamKind:p.streamKind},p.content);else if(!VQ(u.toolName)){let _="tool:"+d,g=u$(u.toolName)?"file_change":"command_output",b={turnId:l,itemId:_,streamKind:g};rx(e,b),gf(e,b,ZQ(_,u.toolName,u.input,u.targetExistedAtCall,QQ(f),h))}i.contents=!0}),!i.contents)return Tl(e,"user")}function PGe(e,t){bk(e,t),e.emitEvent({TAG:"TurnCompleted",turnId:t})}function GGe(e,t,r){bk(e,t),e.emitEvent({TAG:"TurnFailed",turnId:t,failure:r})}function RGe(e){if(e!=="authentication_failed"&&e!=="max_output_tokens"&&e!=="oauth_org_not_allowed"&&e!=="unknown"&&e!=="billing_error"&&e!=="server_error"&&e!=="rate_limit"&&e!=="model_not_found"&&e!=="overloaded"&&e!=="invalid_request")return e;switch(e){case"authentication_failed":return"authentication_failed";case"oauth_org_not_allowed":return"oauth_org_not_allowed";case"billing_error":return"billing_error";case"rate_limit":return"rate_limit";case"overloaded":return"overloaded";case"invalid_request":return"invalid_request";case"model_not_found":return"model_not_found";case"server_error":return"server_error";case"unknown":return"unknown";case"max_output_tokens":return"max_output_tokens"}}function IGe(e){let t=v(e.errors,[]).join("; "),r=m0(t);if(r!==void 0)return r;let n=m0(e.result);if(n!==void 0)return n;let i=e.error;return i!==void 0?RGe(i):"error"}function lY(e){let t=e.subtype,r;if(t!==void 0)switch(t){case"error_interrupted":case"interrupt":r=!0;break;default:r=v(e.is_interrupt,!1)}else r=v(e.is_interrupt,!1);if(r)return"Interrupted";let n=e.subtype,i;if(n!==void 0)switch(n){case"error_during_execution":case"error_max_turns":case"error_max_budget_usd":case"error_max_structured_output_retries":i=!0;break;default:i=!1}else i=!1;return v(e.is_error,!1)||i?{TAG:"Errored",reason:IGe(e)}:"Success"}function c$(e){let t=lY(e);return typeof t!="object"?t==="Success"?"TurnCompleted":"TurnInterrupted":{TAG:"TurnFailed",_0:t.reason}}function dY(e,t){let r=e.uuid;return r!==void 0?{TAG:"Identified",streamEpoch:t,uuid:r}:{TAG:"Anonymous",streamEpoch:t}}function DGe(e){let t=e.subtype;if(t!==void 0)switch(t){case"error_during_execution":return"error_during_execution";case"error_max_turns":return"error_max_turns";case"error_max_budget_usd":return"error_max_budget_usd";case"error_max_structured_output_retries":return"error_max_structured_output_retries";default:return}}function MGe(e,t){let r=lY(t);if(typeof r!="object"){if(r==="Success"){let i=p0(e),o=t.result;o!==void 0&&o.trim()!==""&&(e.assistantBodies.has(tY(i,o))||gf(e,{turnId:i,itemId:"result:"+i,streamKind:"assistant"},o));let a=zM(t);return a!==void 0&&e.emitEvent({TAG:"UsageUpdated",turnId:i,usage:a}),PGe(e,i)}let n=Cu(e.activeTurnId,i=>h0(e,i));return n!==void 0?(e.interruptedTurnSettling=!1,bk(e,n),e.emitEvent({TAG:"TurnInterrupted",turnId:n,reason:void 0})):e.audit("claude.stale_interrupt_result",Object.fromEntries([["subtype",rt(t.subtype,null,i=>i)],["session_id",rt(t.session_id,null,i=>i)],["active_turn_id",rt(e.activeTurnId,null,i=>i)]]))}else{let n=p0(e),i=zM(t);return i!==void 0&&e.emitEvent({TAG:"UsageUpdated",turnId:n,usage:i}),GGe(e,n,TGe(DGe(t),r.reason))}}function $Ge(e){switch(e){case"success":return"success";case"error_during_execution":return"error_during_execution";case"error_max_turns":return"error_max_turns";case"error_max_budget_usd":return"error_max_budget_usd";case"error_max_structured_output_retries":return"error_max_structured_output_retries";case"init":return"init";case"compact_boundary":return"compact_boundary";case"status":return"status";case"api_retry":return"api_retry";case"control_request_progress":return"control_request_progress";case"model_refusal_fallback":return"model_refusal_fallback";case"model_refusal_no_fallback":return"model_refusal_no_fallback";case"local_command_output":return"local_command_output";case"hook_started":return"hook_started";case"hook_progress":return"hook_progress";case"hook_response":return"hook_response";case"plugin_install":return"plugin_install";case"task_notification":return"task_notification";case"task_started":return"task_started";case"task_updated":return"task_updated";case"task_progress":return"task_progress";case"thinking_tokens":return"thinking_tokens";case"session_state_changed":return"session_state_changed";case"worker_shutting_down":return"worker_shutting_down";case"commands_changed":return"commands_changed";case"notification":return"notification";case"files_persisted":return"files_persisted";case"memory_recall":return"memory_recall";case"elicitation_complete":return"elicitation_complete";case"permission_denied":return"permission_denied";case"mirror_error":return"mirror_error";case"informational":return"informational";case"conversation_reset":return"conversation_reset"}}function jGe(e,t){if(e.sessionAnnounced)return!1;let r=t.session_id;if(r===void 0)return!1;let n=v(e.announcedSessionId,r);return e.sessionAnnounced=!0,e.onSessionStarted(n),e.emitEvent({TAG:"SessionStarted",harnessSessionId:n}),nY(e),!0}function nx(e,t){let r=jGe(e,t),n=e.interruptedTurnSettling,i=t.type,o;if(n)switch(i){case"result":o="DropResult";break;case"system":o=typeof l$(t)!="object"?"FoldFrame":"DropFrame";break;case"assistant":case"stream_event":case"user":o="DropFrame";break;default:o="FoldFrame"}else o="FoldFrame";switch(o){case"DropFrame":return e.audit("claude.post_interrupt_frame_dropped",Object.fromEntries([["message_type",t.type]]));case"DropResult":return e.interruptedTurnSettling=!1,e.audit("claude.post_interrupt_result_dropped",Object.fromEntries([["subtype",rt(t.subtype,null,s=>s)]]));case"FoldFrame":let a=t.type;switch(a){case"assistant":let s=t.message;if(s!==void 0){kGe(e,s,t.text).forEach(h=>{if(h.TAG==="CompletedAssistantItem"){let g=h.content,b=h.item;if(b.streamKind==="assistant"){let S;if(g===null||Array.isArray(g))S=void 0;else switch(typeof g){case"string":S=g;break;case"object":let T=g.text;S=typeof T=="string"?T:void 0;break;default:S=void 0}S!==void 0&&e.assistantBodies.add(tY(b.turnId,S))}return gf(e,b,g)}let m=h.call,p=h.item,_=WQ(m.toolName,m.rawItemId,m.input);if(typeof _!="object"){if(_==="SilentSpecialized")return;rx(e,p);let g=p.streamKind,b;switch(g){case"command_output":b=a$(m.toolName,m.input);break;case"file_change":b=s$(m.toolName,m.input,m.targetExistedAtCall);break;default:b=void 0}return b!==void 0?sY(e,p,b):void 0}else{if(_.TAG==="StartSpecialized")return rx(e,{turnId:p.turnId,itemId:_.itemId,streamKind:_.streamKind});let g=_._0;return gf(e,{turnId:p.turnId,itemId:g.itemId,streamKind:g.streamKind},g.content)}});return}else return Tl(e,"assistant");case"rate_limit_event":let l=dQ(t);return l!==void 0?e.emitEvent({TAG:"RateLimitUpdated",rateLimit:l}):Tl(e,"rate_limit_event");case"result":return MGe(e,t);case"stream_event":let d=t.event;return d!==void 0?OGe(e,d):Tl(e,"stream_event");case"system":let u=l$(t);if(typeof u!="object"){let h=t.subtype;return h===void 0?Tl(e,"system"):h==="init"&&r?void 0:Tl(e,"system:"+$Ge(h))}if(u.TAG!=="VisibleSystem")return d$(e,u.wantPlan,"permission_mode",u.permissionMode,u.uuid);let c=u._0,f=oY(e);return f!==void 0?gf(e,{turnId:f,itemId:c.itemId,streamKind:c.streamKind},c.content):void 0;case"user":return EGe(e,t);default:return Tl(e,a)}break}}import*as Hte from"node:os";import*as Vte from"node:path";function _0(e,t){let r=e.indexOf(t);if(r!==-1)return r}function f$(){let e=process.env.LINZUMI_NAMING_DUAL_EMIT;if(e===void 0)return!0;let t=e.trim().toLowerCase();return t!=="0"?t!=="false":!1}function m$(e){let t={};return e.forEach(r=>{t[r[0]]=r[1]}),t}function NGe(e){let t={};return e.forEach(r=>{t[r[1]]=r[0]}),t}var cY=m$($g),fY=m$(iT),qGe=m$(PE),zGe=NGe(PE);function LGe(e){return e.endsWith("_canonical")?!0:e.endsWith("_legacy")}function mY(e,t){return t>=32?e:Array.isArray(e)?e.map(r=>mY(r,t+1|0)):e===null?e:typeof e==="object"?pY(e,t):e}function pY(e,t){let r=Object.keys(e),n={};return r.forEach(i=>{let o=e[i];if(o!==void 0){n[i]=mY(o,t+1|0);return}}),r.forEach(i=>{if(LGe(i))return;let o=n[i];if(o===void 0)return;let a=cY[i];if(a!==void 0)n[a]=o;else{let c=fY[i];c!==void 0&&(n[c]!==void 0||(n[c]=o))}let s=n[i];if(s===void 0||typeof s!="string")return;let l=qGe[s];if(l!==void 0){if(n[i+"_canonical"]!==void 0)return;n[i+"_canonical"]=l;return}let d=zGe[s];if(!(d===void 0||n[i+"_legacy"]!==void 0)){n[i+"_legacy"]=d;return}}),n}function ix(e){return f$()?pY(e,0):e}function hY(e){let t=e.slice();return e.forEach(r=>{let n=cY[r];n!==void 0&&!t.includes(n)&&t.push(n);let i=fY[r];if(i!==void 0&&!t.includes(i)){t.push(i);return}}),t}var g0="<SENSITIVE_DATA>",UGe=hY(["access_token","authorization","code","cookie","kandan_preview_ticket","refresh_token","token"]),BGe=["--access-token","--api-key","--authorization","--cookie","--oauth-code","--password","--refresh-token","--secret","--token"],WGe=new RegExp("^(authorization|cookie|set-cookie|password)$","i"),HGe=new RegExp("(^|[_-])(access[_-]?token|api[_-]?key|auth[_-]?token|oauth[_-]?code|refresh[_-]?token|secret|token)$","i"),VGe=new RegExp("\\beyJ[A-Za-z0-9_-]*\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\b","g");function KGe(e){return e!==void 0?WGe.test(e)?!0:HGe.test(e):!1}function _Y(e){let t={contents:!1};return Q4(e).forEach(r=>{if(UGe.includes(r.toLowerCase())){e.set(r,g0),t.contents=!0;return}}),t.contents}function JGe(e){let t=_0(e,"?"),r=_0(e,"#");if(t===void 0||r!==void 0&&r<t)return e;let n=e.slice(0,t),i=r!==void 0?e.slice(t+1|0,r):e.slice(t+1|0),o=r!==void 0?e.slice(r):"",a=new URLSearchParams(i);return _Y(a)?n+"?"+a.toString()+o:e}function ZGe(e){let t=ho(e);if(t===void 0)return JGe(e);let r=ce(t);return _Y(r.searchParams),r.toString()}function io(e){return ZGe(e).replace(VGe,g0)}function QGe(e){let t=_0(e,"=");return t!==void 0?[e.slice(0,t),e.slice(t+1|0)]:[e,void 0]}function h$(e,t){if(KGe(t))return g0;if(Array.isArray(e))return t==="args"?YGe(e):e.map(r=>h$(r,void 0));if(e===null)return e;switch(typeof e){case"string":return io(e);case"object":return gY(e);default:return e}}function YGe(e){let t={contents:!1};return e.map(r=>{if(typeof r=="string"){if(t.contents)return t.contents=!1,g0;let n=QGe(r),i=n[0];return BGe.includes(i)?n[1]!==void 0?i+"="+g0:(t.contents=!0,r):io(r)}return t.contents=!1,h$(r,void 0)})}function gY(e){let t=e.name,r=typeof t=="string"?t.toLowerCase():void 0,n;if(r!==void 0)switch(r){case"authorization":case"cookie":case"set-cookie":n=!0;break;default:n=!1}else n=!1;let i={};return Object.entries(e).forEach(o=>{let a=o[0];if(a!=="runner_console"){i[a]=n&&a==="value"?g0:h$(o[1],a);return}}),i}var bf=gY;function yk(e,t){if(typeof e!="object"){if(typeof t=="object")switch(t.TAG){case"ContextCompactionStarted":return{state:{TAG:"Started",_0:t._0},effects:["PublishProcessing"]};case"ContextCompactionCompleted":return{state:e,effects:[]}}}else switch(e.TAG){case"Started":let n=e._0;if(typeof t=="object")switch(t.TAG){case"ContextCompactionStarted":return{state:e,effects:[]};case"ContextCompactionCompleted":let i=t._0;return n!==void 0?i!==void 0?n===i?{state:{TAG:"Settling",_0:"Compacted"},effects:[{TAG:"PublishTerminal",_0:"Compacted"}]}:{state:e,effects:[]}:{state:{TAG:"Settling",_0:"Compacted"},effects:[{TAG:"PublishTerminal",_0:"Compacted"}]}:{state:{TAG:"Settling",_0:"Compacted"},effects:[{TAG:"PublishTerminal",_0:"Compacted"}]}}break;case"Settling":return typeof t!="object"?t==="TerminalPublicationAndResponseSettled"?{state:{TAG:"Terminal",_0:e._0},effects:[]}:{state:e,effects:[]}:{state:e,effects:[]};case"Terminal":return{state:e,effects:[]}}if(typeof t!="object")return t==="DeprecatedThreadCompacted"?{state:{TAG:"Settling",_0:"Compacted"},effects:[{TAG:"PublishTerminal",_0:"Compacted"}]}:{state:e,effects:[]};let r={TAG:"Failed",_0:t._0};return{state:{TAG:"Settling",_0:r},effects:[{TAG:"PublishTerminal",_0:r}]}}function xk(e,t){if(typeof e!="object"){if(typeof t!="object"){if(t==="PublicationDurable")return{TAG:"Ok",_0:void 0}}else if(t.TAG==="PublicationAlreadyTerminal"&&t.status==="processed")return{TAG:"Ok",_0:void 0}}else{let r=e._0;if(typeof t!="object"){if(t==="PublicationDurable")return{TAG:"Error",_0:r}}else if(t.TAG==="PublicationAlreadyTerminal"&&t.status==="failed")return{TAG:"Error",_0:r}}return typeof t!="object"?{TAG:"Error",_0:"codex_compaction_failed:terminal message_state was not confirmed"}:t.TAG==="PublicationAlreadyTerminal"?{TAG:"Error",_0:"codex_compaction_failed:terminal message_state conflict: "+t.status}:{TAG:"Error",_0:"codex_compaction_failed:terminal message_state invalid: "+t._0}}function bY(e){switch(e){case"turn/aborted":case"turn/canceled":case"turn/cancelled":return!0;default:return!1}}function yY(e,t,r){let n=t>0;return r?"RejectCompactPending":e||n?"RejectBusy":"Admit"}function xY(e,t){return e?!0:t}function _$(e){return e>0}function TY(e){return e!==void 0&&e==="wafer"?36e5:9e5}function e2e(e){if(typeof e=="object")return"recover";switch(e){case"HoldUntilResetPolicy":return"hold_until_reset";case"HoldRouteOutagePolicy":return"hold_route_outage";case"RedImmediatelyPolicy":return"red_immediately";case"NeverLaddersPolicy":return"never_ladders"}}var t2e={rung:"fresh_session_resume",maxAttempts:1};function b$(e){let t=e.transpiledItemCount,r=e.redactedReasoningCount,n=(t!==void 0?" items="+t.toString():"")+(r!==void 0?" redacted="+r.toString():"");return"user_switch "+e.sourceHarness+"->"+e.targetHarness+" model="+v(e.model,"unspecified")+n}function y$(e){let t={};t.exportable=e.transpileFeasibility.exportable,t.target_adapter_available=e.transpileFeasibility.targetAdapterAvailable;let r={};r.available=e.available,r.source_harness=e.sourceHarness,r.target_harness=e.targetHarness;let n=e.model;return n!==void 0&&(r.model=n),r.transpile_feasibility=t,r.offer_reason=e.offerReason,r}function vY(e){switch(e){case"deterministic":return"RedImmediatelyPolicy";case"transient_upstream":return{TAG:"RecoverPolicy",rungs:[{rung:"in_place_resume",maxAttempts:2}]};case"transient_local":return{TAG:"RecoverPolicy",rungs:[{rung:"redispatch",maxAttempts:1},{rung:"worker_rebuild",maxAttempts:1}]};case"rate_limited":return"HoldUntilResetPolicy";case"needs_approval":case"needs_decision":return"NeverLaddersPolicy";case"route_outage":return"HoldRouteOutagePolicy"}}var r2e=30*6e4;function g$(e,t){let r=z(e,i=>i.trim());if(r===void 0||r==="")return t;let n=Number(r);return isFinite(n)&&n>0?Math.floor(n):t}function x$(e,t){let r=t!==void 0?ce(t):void 0;return{maxRecoveryRungs:g$(e.LINZUMI_FATE_LADDER_MAX_RECOVERY_RUNGS,4),maxLadderMs:g$(e.LINZUMI_FATE_LADDER_BUDGET_MS,TY(r)),maxRateLimitHoldMs:g$(e.LINZUMI_FATE_LADDER_MAX_HOLD_MS,r2e)}}function n2e(e){if(typeof e=="object")return e._0;switch(e){case"ClassificationStep":return"classification";case"HoldStep":return"hold";case"UserSwitchStep":return"user_cross_harness_switch"}}function S$(e,t){return{fate:e,startedAtMs:t,rungCursor:0,cursorAttempts:0,recoveryRungsAttempted:0,holdCommitted:!1,holdDispatched:!1,userSwitchInvoked:!1,entries:[],historyTruncated:!1}}function Po(e,t){return e.entries.length>=16?e.historyTruncated?e:{fate:e.fate,startedAtMs:e.startedAtMs,rungCursor:e.rungCursor,cursorAttempts:e.cursorAttempts,recoveryRungsAttempted:e.recoveryRungsAttempted,holdCommitted:e.holdCommitted,holdDispatched:e.holdDispatched,userSwitchInvoked:e.userSwitchInvoked,entries:e.entries,historyTruncated:!0}:{fate:e.fate,startedAtMs:e.startedAtMs,rungCursor:e.rungCursor,cursorAttempts:e.cursorAttempts,recoveryRungsAttempted:e.recoveryRungsAttempted,holdCommitted:e.holdCommitted,holdDispatched:e.holdDispatched,userSwitchInvoked:e.userSwitchInvoked,entries:e.entries.concat([t]),historyTruncated:e.historyTruncated}}function i2e(e){switch(e){case"budget_rungs_exhausted":case"budget_wall_clock_exhausted":case"rungs_exhausted":case"grant_unavailable":return!0;default:return!1}}function wY(e,t,r){if(e!=="transient_local"||r===void 0||!(r.backendDead&&i2e(t)))return;let n=r.exportable&&r.targetAdapterAvailable,i=n?"the "+r.sourceHarness+" harness backend died and automatic recovery is exhausted; this job can continue on "+r.targetHarness+" if the user chooses to switch":r.exportable?"the "+r.sourceHarness+" harness backend died and automatic recovery is exhausted, but the "+r.targetHarness+" harness is not available on this machine":"the "+r.sourceHarness+" harness backend died and automatic recovery is exhausted, but no recorded harness activity is exportable to carry over";return{available:n,sourceHarness:r.sourceHarness,targetHarness:r.targetHarness,model:r.model,transpileFeasibility:{exportable:r.exportable,targetAdapterAvailable:r.targetAdapterAvailable},offerReason:i}}function o2e(e,t){switch(t){case"in_place_resume":return e.inPlaceResume;case"fresh_session_resume":return v(e.freshSessionResume,!1);case"redispatch":return e.redispatch;case"worker_rebuild":return e.workerRebuild}}function AY(e){let t=e.grants,r=e.breaker,n=e.budgets,i=e.nowMs,o=e.fate;if(o===void 0)return{TAG:"Stand",cause:"no_fate"};let a=vY(o),s=e.run,l=s!==void 0?s:S$(o,i);if(typeof a!="object")switch(a){case"HoldUntilResetPolicy":if(l.holdCommitted)return{TAG:"Red",cause:"hold_already_committed",run:Po(l,{rung:"HoldStep",outcome:"rungs_exhausted",atMs:i,detail:"the one hold-and-dispatch was already spent",resetAtMs:void 0})};let d=e.rateLimitResetAtMs,u=0;if(d!==void 0&&d>i){if(d-i>n.maxRateLimitHoldMs){let m=Math.round((d-i)/1e3).toString(),p=Math.round(n.maxRateLimitHoldMs/1e3).toString();return{TAG:"Red",cause:"hold_unavailable_reset_beyond_bound",run:Po(l,{rung:"HoldStep",outcome:"hold_unavailable_reset_beyond_bound",atMs:i,detail:"reset is "+m+"s away, beyond the "+p+"s hold budget",resetAtMs:d})}}let f=r(o,i),h=0;if(typeof f!="object")h=2;else{let m=f.reason;return{TAG:"BreakerHold",reason:m,run:Po(l,{rung:"HoldStep",outcome:"breaker_held",atMs:i,detail:m,resetAtMs:void 0})}}if(h===2)return{TAG:"HoldUntilReset",resetAtMs:d,run:Po({fate:l.fate,startedAtMs:l.startedAtMs,rungCursor:l.rungCursor,cursorAttempts:l.cursorAttempts,recoveryRungsAttempted:l.recoveryRungsAttempted,holdCommitted:!0,holdDispatched:l.holdDispatched,userSwitchInvoked:l.userSwitchInvoked,entries:l.entries,historyTruncated:l.historyTruncated},{rung:"HoldStep",outcome:"held",atMs:i,detail:void 0,resetAtMs:d})}}else u=1;if(u===1){if(!t.inPlaceResume)return{TAG:"Red",cause:"hold_unavailable_no_reset",run:Po(l,{rung:"HoldStep",outcome:"hold_unavailable_no_reset",atMs:i,detail:"no known rate-limit reset timestamp",resetAtMs:void 0})};let f=r(o,i),h=0;if(typeof f!="object")h=2;else{let m=f.reason;return{TAG:"BreakerHold",reason:m,run:Po(l,{rung:{TAG:"RungStep",_0:"in_place_resume"},outcome:"breaker_held",atMs:i,detail:m,resetAtMs:void 0})}}if(h===2){if(l.recoveryRungsAttempted<n.maxRecoveryRungs)return{TAG:"ExecuteRung",rung:"in_place_resume",run:Po({fate:l.fate,startedAtMs:l.startedAtMs,rungCursor:l.rungCursor,cursorAttempts:l.cursorAttempts,recoveryRungsAttempted:l.recoveryRungsAttempted+1|0,holdCommitted:l.holdCommitted,holdDispatched:l.holdDispatched,userSwitchInvoked:l.userSwitchInvoked,entries:l.entries,historyTruncated:l.historyTruncated},{rung:{TAG:"RungStep",_0:"in_place_resume"},outcome:"attempted",atMs:i,detail:"reducer-granted bounded retry (transient-evidence carve-out; no known reset to hold for)",resetAtMs:void 0})};let m=l.recoveryRungsAttempted.toString(),p=n.maxRecoveryRungs.toString();return{TAG:"Red",cause:"budget_rungs_exhausted",run:Po(l,{rung:"ClassificationStep",outcome:"budget_rungs_exhausted",atMs:i,detail:m+" recovery rungs attempted (budget "+p+")",resetAtMs:void 0})}}}break;case"HoldRouteOutagePolicy":if(l.holdCommitted)return{TAG:"Red",cause:"hold_already_committed",run:Po(l,{rung:"HoldStep",outcome:"rungs_exhausted",atMs:i,detail:"this turn's one hold-and-dispatch (rate-limit or route-outage) was already spent",resetAtMs:void 0})};let c=e.routeOutageHoldCeilingMs;if(c!==void 0&&c>0){let f=i+c;return{TAG:"RouteOutageHold",deadlineAtMs:f,run:Po({fate:l.fate,startedAtMs:l.startedAtMs,rungCursor:l.rungCursor,cursorAttempts:l.cursorAttempts,recoveryRungsAttempted:l.recoveryRungsAttempted,holdCommitted:!0,holdDispatched:l.holdDispatched,userSwitchInvoked:l.userSwitchInvoked,entries:l.entries,historyTruncated:l.historyTruncated},{rung:"HoldStep",outcome:"held",atMs:i,detail:"route outage flagged by the server - holding until route recovery or the server hold deadline (zero recovery rungs burned)",resetAtMs:f})}}return{TAG:"Red",cause:"route_outage_hold_unavailable",run:Po(l,{rung:"HoldStep",outcome:"hold_unavailable_no_reset",atMs:i,detail:"no server-provided route-outage hold ceiling (pre-hold server, valve off, or malformed payload)",resetAtMs:void 0})};case"RedImmediatelyPolicy":return{TAG:"Red",cause:"deterministic_by_design",run:Po(l,{rung:"ClassificationStep",outcome:"no_rungs_by_design",atMs:i,detail:"classification: deterministic, no rungs attempted by design",resetAtMs:void 0})};case"NeverLaddersPolicy":return{TAG:"Stand",cause:"never_ladders"}}else{let d=a.rungs,u=t.freshSessionResume,c;if(c=o==="transient_upstream"&&u!==void 0&&u?d.concat([t2e]):d,l.recoveryRungsAttempted>=n.maxRecoveryRungs){let b=l.recoveryRungsAttempted.toString(),y=n.maxRecoveryRungs.toString();return{TAG:"Red",cause:"budget_rungs_exhausted",run:Po(l,{rung:"ClassificationStep",outcome:"budget_rungs_exhausted",atMs:i,detail:b+" recovery rungs attempted (budget "+y+")",resetAtMs:void 0})}}if(i-l.startedAtMs>n.maxLadderMs){let b=Math.round((i-l.startedAtMs)/1e3).toString(),y=Math.round(n.maxLadderMs/1e3).toString();return{TAG:"Red",cause:"budget_wall_clock_exhausted",run:Po(l,{rung:"ClassificationStep",outcome:"budget_wall_clock_exhausted",atMs:i,detail:"ladder open "+b+"s (budget "+y+"s)",resetAtMs:void 0})}}let f=l.rungCursor,h=l.cursorAttempts,m=!1,p=c[f];for(;(()=>{let b=p;return b!==void 0?h>=b.maxAttempts:!1})();)f=f+1|0,h=0,p=c[f];for(;(()=>{let b=p;return b!==void 0?!o2e(t,b.rung):!1})();)m=!0,f=f+1|0,h=0,p=c[f];let _=p;if(_===void 0)return{TAG:"Red",cause:m?"grant_unavailable":"rungs_exhausted",run:Po(l,{rung:"ClassificationStep",outcome:m?"grant_unavailable":"rungs_exhausted",atMs:i,detail:m?"no executable recovery rung in this session context":"every recovery rung for this fate was already attempted",resetAtMs:void 0})};let g=r(o,i);if(typeof g=="object"){let b=g.reason;return{TAG:"BreakerHold",reason:b,run:Po(l,{rung:{TAG:"RungStep",_0:_.rung},outcome:"breaker_held",atMs:i,detail:b,resetAtMs:void 0})}}return{TAG:"ExecuteRung",rung:_.rung,run:Po({fate:l.fate,startedAtMs:l.startedAtMs,rungCursor:f,cursorAttempts:h+1|0,recoveryRungsAttempted:l.recoveryRungsAttempted+1|0,holdCommitted:l.holdCommitted,holdDispatched:l.holdDispatched,userSwitchInvoked:l.userSwitchInvoked,entries:l.entries,historyTruncated:l.historyTruncated},{rung:{TAG:"RungStep",_0:_.rung},outcome:"attempted",atMs:i,detail:void 0,resetAtMs:void 0})}}}function kY(e,t,r){return e.userSwitchInvoked?{TAG:"Error",_0:"the one user-invoked cross-harness switch for this turn was already spent"}:{TAG:"Ok",_0:Po({fate:e.fate,startedAtMs:e.startedAtMs,rungCursor:e.rungCursor,cursorAttempts:e.cursorAttempts,recoveryRungsAttempted:e.recoveryRungsAttempted,holdCommitted:e.holdCommitted,holdDispatched:e.holdDispatched,userSwitchInvoked:!0,entries:e.entries,historyTruncated:e.historyTruncated},{rung:"UserSwitchStep",outcome:"switch_invoked",atMs:t,detail:b$(r),resetAtMs:void 0,userSwitch:r})}}function T$(e,t,r,n,i){let o;switch(t){case"switch_dispatched":o="switch_dispatched";break;case"switch_failed":o="switch_failed";break;case"switch_refused":o="switch_refused";break}return Po(e,{rung:"UserSwitchStep",outcome:o,atMs:r,detail:i!==void 0?b$(n)+" - "+i:b$(n),resetAtMs:void 0,userSwitch:n})}function Yu(e,t,r,n){let i=n!==void 0?ce(n):void 0,o=vY(t),a=c=>{let f={};f.rung=n2e(c.rung),f.outcome=c.outcome,f.at_ms=c.atMs;let h=c.detail;h!==void 0&&(f.detail=h.slice(0,200));let m=c.resetAtMs;m!==void 0&&(f.reset_at_ms=m);let p=c.userSwitch;if(p!==void 0){f.source_harness=p.sourceHarness,f.target_harness=p.targetHarness;let _=p.model;_!==void 0&&(f.model=_);let g=p.transpiledItemCount;g!==void 0&&(f.transpiled_item_count=g);let b=p.redactedReasoningCount;b!==void 0&&(f.redacted_reasoning_count=b)}return f},s=e!==void 0?e.entries.slice(0,16).map(a):[],l={};l.fate=t,l.policy=e2e(o),l.recovery_rungs_attempted=e!==void 0?e.recoveryRungsAttempted:0;let d={};d.max_recovery_rungs=r.maxRecoveryRungs,d.max_ladder_ms=r.maxLadderMs,d.max_rate_limit_hold_ms=r.maxRateLimitHoldMs,l.budget=d,e!==void 0&&e.historyTruncated&&(l.history_truncated=!0),i!==void 0&&(l.failover_offer=y$(i));let u;if(u=t==="deterministic"?s.length===0:!1,u){let c={};c.rung="classification",c.outcome="no_rungs_by_design",c.at_ms=0,c.detail="classification: deterministic, no rungs attempted by design",l.entries=[c]}else l.entries=s;return l}var CY="switching this job to another harness at the user's request";var OY="model stream stalled again - reconnecting on a fresh model session and resuming automatically";function s2e(e){try{return{TAG:"Ok",_0:JSON.parse(JSON.stringify(e))}}catch(t){let r=N(t);return{TAG:"Error",_0:ke(r).message}}}function ox(e){try{let t=JSON.stringify(e);return t!==void 0?{TAG:"Ok",_0:JSON.parse(t)}:{TAG:"Error",_0:"official request parameters did not serialize"}}catch(t){let r=N(t);return{TAG:"Error",_0:ke(r).message}}}function EY(e,t){return e.trim()===""?{TAG:"Error",_0:t+" must not be blank"}:{TAG:"Ok",_0:void 0}}async function ax(e,t,r,n){let i=ox(r);if(i.TAG!=="Ok")return{TAG:"Error",_0:"could not serialize "+t+" params: "+i._0};let o=await e.request(t,i._0);if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let a=o._0;if(a.TAG!=="ResultReply")return{TAG:"Ok",_0:{TAG:"Failure",code:a.code,message:a.message}};let s=a._0;if(typeof s!="object"||s===null||Array.isArray(s))return{TAG:"Error",_0:"malformed "+t+" success result: expected an object"};let l=s2e(s);if(l.TAG!=="Ok")return l;let d=l._0;try{let u=n(d);return u.TAG==="Ok"?{TAG:"Ok",_0:{TAG:"Success",_0:d}}:{TAG:"Error",_0:"malformed "+t+" success result: "+u._0}}catch(u){let c=N(u);return{TAG:"Error",_0:"malformed "+t+" success result: "+ke(c).message}}}function PY(e,t){return ax(e,"thread/start",t,r=>EY(r.thread.id,"thread.id"))}function GY(e,t){return ax(e,"thread/resume",t,r=>EY(r.thread.id,"thread.id"))}function RY(e,t){return ax(e,"thread/archive",t,r=>({TAG:"Ok",_0:void 0}))}function IY(e,t){return ax(e,"thread/compact/start",t,r=>({TAG:"Ok",_0:void 0}))}function DY(e,t){return ax(e,"thread/list",t,r=>(r.data.forEach(n=>{}),{TAG:"Ok",_0:void 0}))}function l2e(e){let t=e.item,n=(typeof t=="object"&&t!==null&&!Array.isArray(t)?t:e).type,i=n!==void 0?qr(n):void 0;if(i!==void 0)switch(i){case"contextCompaction":return"compacting conversation history";case"commandExecution":case"terminalInput":return"running terminal command";case"agentMessage":case"fileChange":case"reasoning":case"webSearch":case"webSearchCall":case"web_search_call":return"streaming response";default:return}}function v$(e,t){switch(e){case"command/exec/outputDelta":return"running terminal command";case"item/agentMessage/delta":case"item/reasoning/textDelta":return"streaming response";default:return e.startsWith("item/commandExecution/")?"running terminal command":l2e(t)}}function MY(e,t,r){let n=v(r,{}),i=c=>{let f=n[c];if(f!==void 0)return qr(f)},o=i("command"),a=o!==void 0?o:i("cmd"),s=i("path"),l;if(s!==void 0)l=s;else{let c=i("filePath");l=c!==void 0?c:i("file")}let d=v(cn(cn(cn(a,l),i("reason")),i("summary")),t),u;if(e===null)u="null";else if(Array.isArray(e))u="[object]";else switch(typeof e){case"boolean":u=e?"true":"false";break;case"string":u=e;break;case"number":u=e.toString();break;case"object":u="[object]";break}return{requestId:u,kind:t,summary:d,reason:void 0,port:void 0,pid:void 0,command:void 0,cwd:void 0,processName:void 0,processIconKey:void 0,processIconPath:void 0,choices:void 0,allowedActorSlug:void 0,allowedActorUserId:void 0}}function $Y(e,t){return typeof e!="object"||e._0!==t?{claimed:!0,next:{TAG:"StopPublicationOwnedBy",_0:t}}:{claimed:!1,next:e}}function A$(e,t,r,n){return typeof e!="object"||e.attemptToken!==t?{TAG:"PendingProviderTerminal",attemptToken:t,observed:n,callbackMode:r}:e}function jY(e,t,r){if(typeof e!="object")return{TAG:"PendingBufferedProviderTerminals",attemptToken:t,observed:[r]};switch(e.TAG){case"PendingBufferedProviderTerminals":if(e.attemptToken!==t)return{TAG:"PendingBufferedProviderTerminals",attemptToken:t,observed:[r]};let n=e.observed;return n.some(i=>i.turnId===r.turnId)?e:{TAG:"PendingBufferedProviderTerminals",attemptToken:t,observed:n.concat([r])};case"PendingDeferredCompletion":case"PendingProviderTerminal":break}return e.attemptToken===t?e:{TAG:"PendingBufferedProviderTerminals",attemptToken:t,observed:[r]}}function k$(e,t,r){if(typeof e!="object")return{TAG:"PendingDeferredCompletion",attemptToken:t,turnId:r};switch(e.TAG){case"PendingBufferedProviderTerminals":return e.attemptToken===t?e:{TAG:"PendingDeferredCompletion",attemptToken:t,turnId:r};case"PendingDeferredCompletion":case"PendingProviderTerminal":break}return e.attemptToken===t?e:{TAG:"PendingDeferredCompletion",attemptToken:t,turnId:r}}function sx(e,t,r){if(typeof e!="object"||e.TAG!=="PendingDeferredCompletion")return"ApplyInterruptSettlement";let n=e.attemptToken===t,i=e.turnId===r;return n&&i?"AwaitDeferredCompletion":"ApplyInterruptSettlement"}function FY(e,t,r){if(typeof e!="object")return{terminal:void 0,next:e};switch(e.TAG){case"PendingDeferredCompletion":let n=e.attemptToken===t,i=e.turnId===r;return n&&i?{terminal:{turnId:r,terminal:"ProviderCompleted"},next:"NoPendingProviderTerminal"}:{terminal:void 0,next:e};case"PendingBufferedProviderTerminals":if(e.attemptToken!==t)return{terminal:void 0,next:e};let o=e.observed.find(d=>d.turnId===r);return o!==void 0?{terminal:o,next:"NoPendingProviderTerminal"}:{terminal:void 0,next:e};case"PendingProviderTerminal":let a=e.observed,s=e.attemptToken===t,l=a.turnId===r;return s&&l?{terminal:a,next:"NoPendingProviderTerminal"}:{terminal:void 0,next:e}}}function NY(e,t,r){if(typeof e!="object")return e;switch(e.TAG){case"PendingDeferredCompletion":let n=e.attemptToken===t,i=e.turnId===r;return n&&!i?"NoPendingProviderTerminal":e;case"PendingBufferedProviderTerminals":if(e.attemptToken!==t)return e;let o=e.observed.find(l=>l.turnId===r);if(o===void 0)return"NoPendingProviderTerminal";switch(o.terminal){case"ProviderCompleted":return{TAG:"PendingDeferredCompletion",attemptToken:t,turnId:r};case"ProviderFailed":case"ProviderInterrupted":return{TAG:"PendingProviderTerminal",attemptToken:t,observed:o,callbackMode:"BufferedCallback"}}case"PendingProviderTerminal":if(e.callbackMode==="SynchronousCallback")return e;let a=e.attemptToken===t,s=e.observed.turnId===r;return a&&!s?"NoPendingProviderTerminal":e}}function Tk(e,t,r){if(typeof e!="object"||e.TAG!=="PendingProviderTerminal"||e.callbackMode!=="SynchronousCallback")return e;let n=e.attemptToken===t,i=e.observed.turnId===r;return n&&i?"NoPendingProviderTerminal":e}function w$(e,t){let r=e[t];if(typeof r=="string")return r}function qY(e,t){let r;switch(e){case"turn/aborted":case"turn/canceled":case"turn/cancelled":r="ProviderInterrupted";break;case"turn/completed":let o=t.turn;if(typeof o=="object"&&o!==null&&!Array.isArray(o)){let a=w$(o,"status");if(a!==void 0)switch(a){case"completed":r="ProviderCompleted";break;case"interrupted":r="ProviderInterrupted";break;default:r="ProviderFailed"}else r="ProviderFailed"}else r="ProviderFailed";break;case"turn/failed":r="ProviderFailed";break;default:r=void 0}if(r===void 0)return"NotProviderTerminal";let n=w$(t,"turnId"),i;if(n!==void 0)i=n;else{let o=t.turn;i=typeof o=="object"&&o!==null&&!Array.isArray(o)?w$(o,"id"):void 0}return i!==void 0?{TAG:"ProviderTerminal",_0:{turnId:i,terminal:r}}:{TAG:"InvalidProviderTerminal",method:e,reason:e+" terminal notification did not identify a turn"}}var c2e=Pt(e=>({decision:e.f("decision",U),label:e.f("label",U),description:e.f("description",Z(U))})),f2e=Pt(e=>({requestId:e.f("requestId",U),kind:e.f("kind",U),summary:e.f("summary",U),reason:e.f("reason",Z(U)),port:e.f("port",Z(Cr)),pid:e.f("pid",Z(Cr)),command:e.f("command",Z(U)),cwd:e.f("cwd",Z(U)),processName:e.f("processName",Z(U)),processIconKey:e.f("processIconKey",Z(U)),processIconPath:e.f("processIconPath",Z(U)),choices:e.f("choices",Z(Vo(c2e))),allowedActorSlug:e.f("allowedActorSlug",Z(U)),allowedActorUserId:e.f("allowedActorUserId",Z(Cr))})),m2e=NT(["starting turn","streaming response","running terminal command","interrupt requested","retrying empty turn","model stream stalled - resuming automatically from the last streamed checkpoint","upstream outage detected - recovery paused, resuming automatically","compacting conversation history","awaiting approval"]),LVe=Jh([Pt(e=>(e.tag("status","queued"),{TAG:"Queued",reason:e.f("reason",Z(U))})),Pt(e=>(e.tag("status","processed"),{TAG:"Processed",reason:e.f("reason",Z(U))})),Pt(e=>(e.tag("status","processing"),{TAG:"Processing",reason:e.f("reason",m2e),approval:e.f("approval",Z(f2e))})),Pt(e=>(e.tag("status","ignored"),{TAG:"Ignored",reason:e.f("reason",U)})),Pt(e=>(e.tag("status","failed"),{TAG:"Failed",reason:e.f("reason",U),retryable:e.f("retryable",Z(Ho)),fate:e.f("fate",Z(gM))})),Pt(e=>(e.tag("status","recovering"),{TAG:"Recovering",reason:e.f("reason",U),fate:e.f("fate",Z(gM))})),Pt(e=>(e.tag("status","interrupted"),{TAG:"Interrupted",reason:e.f("reason",U)}))]);function vk(e,t){return t.toString()+":"+e}var zY="compacting conversation history",LY="steered into the running turn on your runner";function BY(e){if(e!==void 0){if(Array.isArray(e)){let t=e.map(r=>{if(typeof r!="object"||r===null||Array.isArray(r))return[];let n=r.text;if(typeof n=="string")return[n];let i=r.content;return i!==void 0?typeof i=="string"?[i]:[]:[]}).flat().join(`
555
+ `).trim();return t===""?JSON.stringify(e):t}return typeof e==="string"?e:JSON.stringify(e)}function h0(e,t){return e.startedTurns.has(t)?!e.terminalTurns.has(t):!1}function rY(e,t){return e.mintedTurnCount=e.mintedTurnCount+1|0,"claude:"+t+":turn:"+e.mintedTurnCount.toString()}function nY(e){let t=e.activeTurnId;if(t!==void 0&&!h0(e,t))return e.startedTurns.add(t),e.emitEvent({TAG:"TurnStarted",turnId:t})}function iY(e,t){if(e.activeTurnId=t,e.sessionAnnounced)return nY(e)}function p0(e){let t=e.activeTurnId;return t!==void 0&&h0(e,t)?t:o4("turn-scoped Claude frame has no exact coordinator binding")}function oY(e){let t=Cu(e.activeTurnId,r=>h0(e,r));if(t!==void 0)return t}function bk(e,t){e.terminalTurns.add(t),J(e.activeTurnId,t)&&(e.activeTurnId=void 0),e.startedTurns.delete(t),e.terminalTurns.delete(t),e.startedItems.values().toArray().forEach(r=>{if(r.startsWith(t+"/")){e.startedItems.delete(r);return}}),e.assistantBodies.values().toArray().forEach(r=>{if(r.startsWith(t+"\0")){e.assistantBodies.delete(r);return}}),e.pendingTools.values().toArray().forEach(r=>{if(r.turnId===t){e.pendingTools.delete(r.rawItemId);return}})}function aY(e,t){if(h0(e,t))return e.interruptedTurnSettling=!0,bk(e,t),e.emitEvent({TAG:"TurnInterrupted",turnId:t,reason:void 0})}function YQ(e){return e.turnId+"/"+e.itemId+"/"+e.streamKind}function rx(e,t){if(!e.startedItems.has(YQ(t)))return e.startedItems.add(YQ(t)),e.emitEvent({TAG:"ItemStarted",item:t})}function gf(e,t,r){rx(e,t),e.emitEvent({TAG:"ItemCompleted",item:t,content:r})}function sY(e,t,r){rx(e,t),e.emitEvent({TAG:"ItemDelta",item:t,delta:r})}function Tl(e,t){let r=e.activeTurnId;if(v(z(r,n=>h0(e,n)),!0))return e.emitEvent({TAG:"ActivityPulse",turnId:r,signalKind:t})}function d$(e,t,r,n,i){let o=e.planModeAnnounced,a=o!==void 0?o===t?"PlanModeDeduplicated":{TAG:"PlanModeChanged",_0:t}:t?{TAG:"PlanModeChanged",_0:!0}:"PlanModeInitialNonPlan";if(typeof a!="object")return a==="PlanModeDeduplicated"?Tl(e,"workflow:plan_mode_dedup"):(e.planModeAnnounced=!1,Tl(e,"workflow:plan_mode_initial_non_plan"));{let s=a._0;e.planModeAnnounced=s;let l=oY(e);if(l===void 0)return;e.planModeTransitionCounter=e.planModeTransitionCounter+1|0;let d=i!==void 0?"status:plan-mode:"+i:"status:plan-mode:"+l+":"+e.planModeTransitionCounter.toString(),u=s?"plan_mode_entered":"plan_mode_exited",c=_f(n!==void 0?{provider:"claude-code-sdk",transcript_event_type:"workflow",workflow_event:u,plan_mode_signal:r,permission_mode:n}:{provider:"claude-code-sdk",transcript_event_type:"workflow",workflow_event:u,plan_mode_signal:r});return gf(e,{turnId:l,itemId:d,streamKind:"agent_status"},_f({type:"agentStatus",provider:"claude-code",severity:"info",title:s?"Claude entered plan mode":"Claude exited plan mode",rawProviderMetadata:c}))}}function TGe(e,t){let r=fQ(t),n=r.status;return{fate:e!==void 0?e==="error_max_turns"?"deterministic":n!==void 0?i0(n):"transient_upstream":n!==void 0?i0(n):"transient_upstream",reason:BM(r)?mQ("Claude Code failed: "+t,r):"Claude Code failed: "+t,providerDetail:BM(r)?pQ(r):void 0}}function vGe(e){return e==="Text"?"assistant":"reasoning"}function wGe(e){return e.kind==="Text"?_f({type:"text",text:e.content}):_f({type:"thinking",thinking:e.content})}function AGe(e){let t=e.type,r;switch(t){case"text":r="AssistantText";break;case"thinking":r="AssistantThinking";break;case"tool_use":r="AssistantToolUse";break;default:r="AssistantOther"}return{kind:r,text:e.text,thinking:e.thinking,id:e.id,toolName:z(e.name,bGe),toolInput:yGe(e.input),json:_f(e)}}function kGe(e,t,r){let n=p0(e),i=t.content.map(AGe),o=sQ(e.identity,t.id),s=lQ(e.identity,o).filter(y=>y.content.trim()!==""),l={};s.forEach(y=>{let S=rQ(y.kind),T=l[S];T!==void 0?T.push(y.index):l[S]=[y.index]});let d={};i.forEach((y,S)=>{switch(y.kind){case"AssistantText":let w=d.text;w!==void 0?w.push(S):d.text=[S];return;case"AssistantThinking":let A=d.thinking;A!==void 0?A.push(S):d.thinking=[S];return;case"AssistantToolUse":case"AssistantOther":return}});let u=new Set;s.forEach(y=>{u.add(y.index)});let c=(y,S)=>{let T=v(d[y],[]),w=Td(T,S);w!==void 0&&T.splice(w,1);let A=v(l[y],[]),P=A[0];if(P!==void 0&&S<P)return A.shift(),!0;let C=Td(A,S);if(C!==void 0)return A.splice(C,1),!0;let k=Wa(A,$=>!T.includes($));return k!==void 0?(A.splice(k,1),!0):!1},f=y=>{if(u.has(y)){let S=y+1|0;for(;u.has(S);)S=S+1|0;return u.add(S),S}return u.add(y),y},h=(y,S)=>({turnId:n,itemId:UM(o,y),streamKind:S}),m=[];s.forEach(y=>{m.push({index:y.index,events:[{TAG:"CompletedAssistantItem",item:h(y.index,vGe(y.kind)),content:wGe(y)}]})}),i.forEach((y,S)=>{let T=y.kind,w;switch(T){case"AssistantText":w="text";break;case"AssistantThinking":w="thinking";break;case"AssistantToolUse":case"AssistantOther":w=void 0;break}if(w!==void 0){if(c(w,S))return;switch(y.kind){case"AssistantText":if(m0(y.text)!==void 0){m.push({index:S,events:[{TAG:"CompletedAssistantItem",item:h(f(S),"assistant"),content:y.json}]});return}else return;case"AssistantThinking":if(m0(y.thinking)!==void 0){m.push({index:S,events:[{TAG:"CompletedAssistantItem",item:h(f(S),"reasoning"),content:y.json}]});return}else return;case"AssistantToolUse":case"AssistantOther":return}}else{if(y.kind!=="AssistantToolUse")return;let P=v(y.id,"content-block-"+S.toString()),C=v(y.toolName,"tool"),k=v(y.toolInput,{}),$=SGe(e,C,k),V={turnId:n,rawItemId:P,toolName:C,input:k,targetExistedAtCall:$};e.pendingTools.set(P,V),m.push({index:S,events:[{TAG:"ToolCallItem",item:{turnId:n,itemId:"tool:"+P,streamKind:u$(C)?"file_change":"command_output"},call:V}]});return}});let p=i.some(y=>y.kind==="AssistantText"),_=s.some(y=>y.kind==="Text"),g=p||_,b=m0(r);return g||b===void 0||m.push({index:i.length,events:[{TAG:"CompletedAssistantItem",item:h(f(i.length),"assistant"),content:b}]}),m.toSorted((y,S)=>rT(y.index,S.index)).flatMap(y=>y.events)}function CGe(e){if(e!==void 0&&e!=="")return e}function OGe(e,t){let r=tQ(e.usage,t),n=aQ(e.identity,t);iQ(e.identity).forEach(l=>e.audit("claude.malformed_message_start",Object.fromEntries([["event_type","message_start"],["generated_message_id",l]]))),oQ(e.identity).forEach(l=>e.audit("claude.malformed_content_block",Object.fromEntries([["event_type",l.eventType],["raw_index",rt(l.rawIndex,null,d=>d.toString())],["active_message_id",rt(l.activeMessageId,null,d=>d)]])));let i={contents:!1};if(r!==void 0){let l=p0(e);e.emitEvent({TAG:"UsageUpdated",turnId:l,usage:r}),i.contents=!0}let o=(l,d)=>z(n,u=>({turnId:p0(e),itemId:UM(u,l),streamKind:d})),a=E(t.index,l=>{if(isFinite(l)&&Math.round(l)===l)return l|0});switch(t.type){case"content_block_start":let l=t.content_block;if(l!==void 0&&a!==void 0){let u=(f,h)=>{if(m0(h)===void 0)return;let p=o(a,f);if(p!==void 0){gf(e,p,_f(l)),i.contents=!0;return}};switch(l.type){case"text":u("assistant",l.text);break;case"thinking":u("reasoning",l.thinking);break}}break;case"content_block_delta":let d=t.delta;if(d!==void 0){let u=(f,h)=>{let m=CGe(h);if(a===void 0||m===void 0)return;let p=o(a,f);if(p!==void 0){sY(e,p,m),i.contents=!0;return}};d.type==="thinking_delta"?u("reasoning",d.thinking):u("assistant",d.text)}break}if(!i.contents)return Tl(e,"stream_event")}function EGe(e,t){let r=t.message;if(r===void 0)return Tl(e,"user");let n=r.content;if(typeof n=="string")return Tl(e,"user");let i={contents:!1};if(n.forEach((o,a)=>{if(o.type!=="tool_result")return;let l=p0(e),d=v(o.tool_use_id,"content-block-"+a.toString()),u=v(e.pendingTools.get(d),{turnId:l,rawItemId:d,toolName:"tool",input:{},targetExistedAtCall:void 0});e.pendingTools.delete(d);let c=_f(o),f;f=typeof c=="object"&&c!==null&&!Array.isArray(c)?v(c.content,null):null;let h=v(o.is_error,!1);switch(u.toolName){case"EnterPlanMode":h||d$(e,!0,"tool_result",void 0,void 0);break;case"ExitPlanMode":h||d$(e,!1,"tool_result",void 0,void 0);break}let p=HQ(u.toolName,d,u.input,QQ(f),h);if(p!==void 0)gf(e,{turnId:l,itemId:p.itemId,streamKind:p.streamKind},p.content);else if(!VQ(u.toolName)){let _="tool:"+d,g=u$(u.toolName)?"file_change":"command_output",b={turnId:l,itemId:_,streamKind:g};rx(e,b),gf(e,b,ZQ(_,u.toolName,u.input,u.targetExistedAtCall,QQ(f),h))}i.contents=!0}),!i.contents)return Tl(e,"user")}function PGe(e,t){bk(e,t),e.emitEvent({TAG:"TurnCompleted",turnId:t})}function GGe(e,t,r){bk(e,t),e.emitEvent({TAG:"TurnFailed",turnId:t,failure:r})}function RGe(e){if(e!=="authentication_failed"&&e!=="max_output_tokens"&&e!=="oauth_org_not_allowed"&&e!=="unknown"&&e!=="billing_error"&&e!=="server_error"&&e!=="rate_limit"&&e!=="model_not_found"&&e!=="overloaded"&&e!=="invalid_request")return e;switch(e){case"authentication_failed":return"authentication_failed";case"oauth_org_not_allowed":return"oauth_org_not_allowed";case"billing_error":return"billing_error";case"rate_limit":return"rate_limit";case"overloaded":return"overloaded";case"invalid_request":return"invalid_request";case"model_not_found":return"model_not_found";case"server_error":return"server_error";case"unknown":return"unknown";case"max_output_tokens":return"max_output_tokens"}}function IGe(e){let t=v(e.errors,[]).join("; "),r=m0(t);if(r!==void 0)return r;let n=m0(e.result);if(n!==void 0)return n;let i=e.error;return i!==void 0?RGe(i):"error"}function lY(e){let t=e.subtype,r;if(t!==void 0)switch(t){case"error_interrupted":case"interrupt":r=!0;break;default:r=v(e.is_interrupt,!1)}else r=v(e.is_interrupt,!1);if(r)return"Interrupted";let n=e.subtype,i;if(n!==void 0)switch(n){case"error_during_execution":case"error_max_turns":case"error_max_budget_usd":case"error_max_structured_output_retries":i=!0;break;default:i=!1}else i=!1;return v(e.is_error,!1)||i?{TAG:"Errored",reason:IGe(e)}:"Success"}function c$(e){let t=lY(e);return typeof t!="object"?t==="Success"?"TurnCompleted":"TurnInterrupted":{TAG:"TurnFailed",_0:t.reason}}function dY(e,t){let r=e.uuid;return r!==void 0?{TAG:"Identified",streamEpoch:t,uuid:r}:{TAG:"Anonymous",streamEpoch:t}}function DGe(e){let t=e.subtype;if(t!==void 0)switch(t){case"error_during_execution":return"error_during_execution";case"error_max_turns":return"error_max_turns";case"error_max_budget_usd":return"error_max_budget_usd";case"error_max_structured_output_retries":return"error_max_structured_output_retries";default:return}}function MGe(e,t){let r=lY(t);if(typeof r!="object"){if(r==="Success"){let i=p0(e),o=t.result;o!==void 0&&o.trim()!==""&&(e.assistantBodies.has(tY(i,o))||gf(e,{turnId:i,itemId:"result:"+i,streamKind:"assistant"},o));let a=zM(t);return a!==void 0&&e.emitEvent({TAG:"UsageUpdated",turnId:i,usage:a}),PGe(e,i)}let n=Cu(e.activeTurnId,i=>h0(e,i));return n!==void 0?(e.interruptedTurnSettling=!1,bk(e,n),e.emitEvent({TAG:"TurnInterrupted",turnId:n,reason:void 0})):e.audit("claude.stale_interrupt_result",Object.fromEntries([["subtype",rt(t.subtype,null,i=>i)],["session_id",rt(t.session_id,null,i=>i)],["active_turn_id",rt(e.activeTurnId,null,i=>i)]]))}else{let n=p0(e),i=zM(t);return i!==void 0&&e.emitEvent({TAG:"UsageUpdated",turnId:n,usage:i}),GGe(e,n,TGe(DGe(t),r.reason))}}function $Ge(e){switch(e){case"success":return"success";case"error_during_execution":return"error_during_execution";case"error_max_turns":return"error_max_turns";case"error_max_budget_usd":return"error_max_budget_usd";case"error_max_structured_output_retries":return"error_max_structured_output_retries";case"init":return"init";case"compact_boundary":return"compact_boundary";case"status":return"status";case"api_retry":return"api_retry";case"control_request_progress":return"control_request_progress";case"model_refusal_fallback":return"model_refusal_fallback";case"model_refusal_no_fallback":return"model_refusal_no_fallback";case"local_command_output":return"local_command_output";case"hook_started":return"hook_started";case"hook_progress":return"hook_progress";case"hook_response":return"hook_response";case"plugin_install":return"plugin_install";case"task_notification":return"task_notification";case"task_started":return"task_started";case"task_updated":return"task_updated";case"task_progress":return"task_progress";case"thinking_tokens":return"thinking_tokens";case"session_state_changed":return"session_state_changed";case"worker_shutting_down":return"worker_shutting_down";case"commands_changed":return"commands_changed";case"notification":return"notification";case"files_persisted":return"files_persisted";case"memory_recall":return"memory_recall";case"elicitation_complete":return"elicitation_complete";case"permission_denied":return"permission_denied";case"mirror_error":return"mirror_error";case"informational":return"informational";case"conversation_reset":return"conversation_reset"}}function jGe(e,t){if(e.sessionAnnounced)return!1;let r=t.session_id;if(r===void 0)return!1;let n=v(e.announcedSessionId,r);return e.sessionAnnounced=!0,e.onSessionStarted(n),e.emitEvent({TAG:"SessionStarted",harnessSessionId:n}),nY(e),!0}function nx(e,t){let r=jGe(e,t),n=e.interruptedTurnSettling,i=t.type,o;if(n)switch(i){case"result":o="DropResult";break;case"system":o=typeof l$(t)!="object"?"FoldFrame":"DropFrame";break;case"assistant":case"stream_event":case"user":o="DropFrame";break;default:o="FoldFrame"}else o="FoldFrame";switch(o){case"DropFrame":return e.audit("claude.post_interrupt_frame_dropped",Object.fromEntries([["message_type",t.type]]));case"DropResult":return e.interruptedTurnSettling=!1,e.audit("claude.post_interrupt_result_dropped",Object.fromEntries([["subtype",rt(t.subtype,null,s=>s)]]));case"FoldFrame":let a=t.type;switch(a){case"assistant":let s=t.message;if(s!==void 0){kGe(e,s,t.text).forEach(h=>{if(h.TAG==="CompletedAssistantItem"){let g=h.content,b=h.item;if(b.streamKind==="assistant"){let S;if(g===null||Array.isArray(g))S=void 0;else switch(typeof g){case"string":S=g;break;case"object":let T=g.text;S=typeof T=="string"?T:void 0;break;default:S=void 0}S!==void 0&&e.assistantBodies.add(tY(b.turnId,S))}return gf(e,b,g)}let m=h.call,p=h.item,_=WQ(m.toolName,m.rawItemId,m.input);if(typeof _!="object"){if(_==="SilentSpecialized")return;rx(e,p);let g=p.streamKind,b;switch(g){case"command_output":b=a$(m.toolName,m.input);break;case"file_change":b=s$(m.toolName,m.input,m.targetExistedAtCall);break;default:b=void 0}return b!==void 0?sY(e,p,b):void 0}else{if(_.TAG==="StartSpecialized")return rx(e,{turnId:p.turnId,itemId:_.itemId,streamKind:_.streamKind});let g=_._0;return gf(e,{turnId:p.turnId,itemId:g.itemId,streamKind:g.streamKind},g.content)}});return}else return Tl(e,"assistant");case"rate_limit_event":let l=dQ(t);return l!==void 0?e.emitEvent({TAG:"RateLimitUpdated",rateLimit:l}):Tl(e,"rate_limit_event");case"result":return MGe(e,t);case"stream_event":let d=t.event;return d!==void 0?OGe(e,d):Tl(e,"stream_event");case"system":let u=l$(t);if(typeof u!="object"){let h=t.subtype;return h===void 0?Tl(e,"system"):h==="init"&&r?void 0:Tl(e,"system:"+$Ge(h))}if(u.TAG!=="VisibleSystem")return d$(e,u.wantPlan,"permission_mode",u.permissionMode,u.uuid);let c=u._0,f=oY(e);return f!==void 0?gf(e,{turnId:f,itemId:c.itemId,streamKind:c.streamKind},c.content):void 0;case"user":return EGe(e,t);default:return Tl(e,a)}break}}import*as Hte from"node:os";import*as Vte from"node:path";function _0(e,t){let r=e.indexOf(t);if(r!==-1)return r}function f$(){let e=process.env.LINZUMI_NAMING_DUAL_EMIT;if(e===void 0)return!0;let t=e.trim().toLowerCase();return t!=="0"?t!=="false":!1}function m$(e){let t={};return e.forEach(r=>{t[r[0]]=r[1]}),t}function NGe(e){let t={};return e.forEach(r=>{t[r[1]]=r[0]}),t}var cY=m$($g),fY=m$(iT),qGe=m$(PE),zGe=NGe(PE);function LGe(e){return e.endsWith("_canonical")?!0:e.endsWith("_legacy")}function mY(e,t){return t>=32?e:Array.isArray(e)?e.map(r=>mY(r,t+1|0)):e===null?e:typeof e==="object"?pY(e,t):e}function pY(e,t){let r=Object.keys(e),n={};return r.forEach(i=>{let o=e[i];if(o!==void 0){n[i]=mY(o,t+1|0);return}}),r.forEach(i=>{if(LGe(i))return;let o=n[i];if(o===void 0)return;let a=cY[i];if(a!==void 0)n[a]=o;else{let c=fY[i];c!==void 0&&(n[c]!==void 0||(n[c]=o))}let s=n[i];if(s===void 0||typeof s!="string")return;let l=qGe[s];if(l!==void 0){if(n[i+"_canonical"]!==void 0)return;n[i+"_canonical"]=l;return}let d=zGe[s];if(!(d===void 0||n[i+"_legacy"]!==void 0)){n[i+"_legacy"]=d;return}}),n}function ix(e){return f$()?pY(e,0):e}function hY(e){let t=e.slice();return e.forEach(r=>{let n=cY[r];n!==void 0&&!t.includes(n)&&t.push(n);let i=fY[r];if(i!==void 0&&!t.includes(i)){t.push(i);return}}),t}var g0="<SENSITIVE_DATA>",UGe=hY(["access_token","authorization","code","cookie","kandan_preview_ticket","refresh_token","token"]),BGe=["--access-token","--api-key","--authorization","--cookie","--oauth-code","--password","--refresh-token","--secret","--token"],WGe=new RegExp("^(authorization|cookie|set-cookie|password)$","i"),HGe=new RegExp("(^|[_-])(access[_-]?token|api[_-]?key|auth[_-]?token|oauth[_-]?code|refresh[_-]?token|secret|token)$","i"),VGe=new RegExp("\\beyJ[A-Za-z0-9_-]*\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\b","g");function KGe(e){return e!==void 0?WGe.test(e)?!0:HGe.test(e):!1}function _Y(e){let t={contents:!1};return Q4(e).forEach(r=>{if(UGe.includes(r.toLowerCase())){e.set(r,g0),t.contents=!0;return}}),t.contents}function JGe(e){let t=_0(e,"?"),r=_0(e,"#");if(t===void 0||r!==void 0&&r<t)return e;let n=e.slice(0,t),i=r!==void 0?e.slice(t+1|0,r):e.slice(t+1|0),o=r!==void 0?e.slice(r):"",a=new URLSearchParams(i);return _Y(a)?n+"?"+a.toString()+o:e}function ZGe(e){let t=ho(e);if(t===void 0)return JGe(e);let r=ce(t);return _Y(r.searchParams),r.toString()}function io(e){return ZGe(e).replace(VGe,g0)}function QGe(e){let t=_0(e,"=");return t!==void 0?[e.slice(0,t),e.slice(t+1|0)]:[e,void 0]}function h$(e,t){if(KGe(t))return g0;if(Array.isArray(e))return t==="args"?YGe(e):e.map(r=>h$(r,void 0));if(e===null)return e;switch(typeof e){case"string":return io(e);case"object":return gY(e);default:return e}}function YGe(e){let t={contents:!1};return e.map(r=>{if(typeof r=="string"){if(t.contents)return t.contents=!1,g0;let n=QGe(r),i=n[0];return BGe.includes(i)?n[1]!==void 0?i+"="+g0:(t.contents=!0,r):io(r)}return t.contents=!1,h$(r,void 0)})}function gY(e){let t=e.name,r=typeof t=="string"?t.toLowerCase():void 0,n;if(r!==void 0)switch(r){case"authorization":case"cookie":case"set-cookie":n=!0;break;default:n=!1}else n=!1;let i={};return Object.entries(e).forEach(o=>{let a=o[0];if(a!=="runner_console"){i[a]=n&&a==="value"?g0:h$(o[1],a);return}}),i}var bf=gY;function yk(e,t){if(typeof e!="object"){if(typeof t=="object")switch(t.TAG){case"ContextCompactionStarted":return{state:{TAG:"Started",_0:t._0},effects:["PublishProcessing"]};case"ContextCompactionCompleted":return{state:e,effects:[]}}}else switch(e.TAG){case"Started":let n=e._0;if(typeof t=="object")switch(t.TAG){case"ContextCompactionStarted":return{state:e,effects:[]};case"ContextCompactionCompleted":let i=t._0;return n!==void 0?i!==void 0?n===i?{state:{TAG:"Settling",_0:"Compacted"},effects:[{TAG:"PublishTerminal",_0:"Compacted"}]}:{state:e,effects:[]}:{state:{TAG:"Settling",_0:"Compacted"},effects:[{TAG:"PublishTerminal",_0:"Compacted"}]}:{state:{TAG:"Settling",_0:"Compacted"},effects:[{TAG:"PublishTerminal",_0:"Compacted"}]}}break;case"Settling":return typeof t!="object"?t==="TerminalPublicationAndResponseSettled"?{state:{TAG:"Terminal",_0:e._0},effects:[]}:{state:e,effects:[]}:{state:e,effects:[]};case"Terminal":return{state:e,effects:[]}}if(typeof t!="object")return t==="DeprecatedThreadCompacted"?{state:{TAG:"Settling",_0:"Compacted"},effects:[{TAG:"PublishTerminal",_0:"Compacted"}]}:{state:e,effects:[]};let r={TAG:"Failed",_0:t._0};return{state:{TAG:"Settling",_0:r},effects:[{TAG:"PublishTerminal",_0:r}]}}function xk(e,t){if(typeof e!="object"){if(typeof t!="object"){if(t==="PublicationDurable")return{TAG:"Ok",_0:void 0}}else if(t.TAG==="PublicationAlreadyTerminal"&&t.status==="processed")return{TAG:"Ok",_0:void 0}}else{let r=e._0;if(typeof t!="object"){if(t==="PublicationDurable")return{TAG:"Error",_0:r}}else if(t.TAG==="PublicationAlreadyTerminal"&&t.status==="failed")return{TAG:"Error",_0:r}}return typeof t!="object"?{TAG:"Error",_0:"codex_compaction_failed:terminal message_state was not confirmed"}:t.TAG==="PublicationAlreadyTerminal"?{TAG:"Error",_0:"codex_compaction_failed:terminal message_state conflict: "+t.status}:{TAG:"Error",_0:"codex_compaction_failed:terminal message_state invalid: "+t._0}}function bY(e){switch(e){case"turn/aborted":case"turn/canceled":case"turn/cancelled":return!0;default:return!1}}function yY(e,t,r){let n=t>0;return r?"RejectCompactPending":e||n?"RejectBusy":"Admit"}function xY(e,t){return e?!0:t}function _$(e){return e>0}function TY(e){return e!==void 0&&e==="wafer"?36e5:9e5}function e2e(e){if(typeof e=="object")return"recover";switch(e){case"HoldUntilResetPolicy":return"hold_until_reset";case"HoldRouteOutagePolicy":return"hold_route_outage";case"RedImmediatelyPolicy":return"red_immediately";case"NeverLaddersPolicy":return"never_ladders"}}var t2e={rung:"fresh_session_resume",maxAttempts:1};function b$(e){let t=e.transpiledItemCount,r=e.redactedReasoningCount,n=(t!==void 0?" items="+t.toString():"")+(r!==void 0?" redacted="+r.toString():"");return"user_switch "+e.sourceHarness+"->"+e.targetHarness+" model="+v(e.model,"unspecified")+n}function y$(e){let t={};t.exportable=e.transpileFeasibility.exportable,t.target_adapter_available=e.transpileFeasibility.targetAdapterAvailable;let r={};r.available=e.available,r.source_harness=e.sourceHarness,r.target_harness=e.targetHarness;let n=e.model;return n!==void 0&&(r.model=n),r.transpile_feasibility=t,r.offer_reason=e.offerReason,r}function vY(e){switch(e){case"deterministic":return"RedImmediatelyPolicy";case"transient_upstream":return{TAG:"RecoverPolicy",rungs:[{rung:"in_place_resume",maxAttempts:2}]};case"transient_local":return{TAG:"RecoverPolicy",rungs:[{rung:"redispatch",maxAttempts:1},{rung:"worker_rebuild",maxAttempts:1}]};case"rate_limited":return"HoldUntilResetPolicy";case"needs_approval":case"needs_decision":return"NeverLaddersPolicy";case"route_outage":return"HoldRouteOutagePolicy"}}var r2e=30*6e4;function g$(e,t){let r=z(e,i=>i.trim());if(r===void 0||r==="")return t;let n=Number(r);return isFinite(n)&&n>0?Math.floor(n):t}function x$(e,t){let r=t!==void 0?ce(t):void 0;return{maxRecoveryRungs:g$(e.LINZUMI_FATE_LADDER_MAX_RECOVERY_RUNGS,4),maxLadderMs:g$(e.LINZUMI_FATE_LADDER_BUDGET_MS,TY(r)),maxRateLimitHoldMs:g$(e.LINZUMI_FATE_LADDER_MAX_HOLD_MS,r2e)}}function n2e(e){if(typeof e=="object")return e._0;switch(e){case"ClassificationStep":return"classification";case"HoldStep":return"hold";case"UserSwitchStep":return"user_cross_harness_switch"}}function S$(e,t){return{fate:e,startedAtMs:t,rungCursor:0,cursorAttempts:0,recoveryRungsAttempted:0,holdCommitted:!1,holdDispatched:!1,userSwitchInvoked:!1,entries:[],historyTruncated:!1}}function Po(e,t){return e.entries.length>=16?e.historyTruncated?e:{fate:e.fate,startedAtMs:e.startedAtMs,rungCursor:e.rungCursor,cursorAttempts:e.cursorAttempts,recoveryRungsAttempted:e.recoveryRungsAttempted,holdCommitted:e.holdCommitted,holdDispatched:e.holdDispatched,userSwitchInvoked:e.userSwitchInvoked,entries:e.entries,historyTruncated:!0}:{fate:e.fate,startedAtMs:e.startedAtMs,rungCursor:e.rungCursor,cursorAttempts:e.cursorAttempts,recoveryRungsAttempted:e.recoveryRungsAttempted,holdCommitted:e.holdCommitted,holdDispatched:e.holdDispatched,userSwitchInvoked:e.userSwitchInvoked,entries:e.entries.concat([t]),historyTruncated:e.historyTruncated}}function i2e(e){switch(e){case"budget_rungs_exhausted":case"budget_wall_clock_exhausted":case"rungs_exhausted":case"grant_unavailable":return!0;default:return!1}}function wY(e,t,r){if(e!=="transient_local"||r===void 0||!(r.backendDead&&i2e(t)))return;let n=r.exportable&&r.targetAdapterAvailable,i=n?"the "+r.sourceHarness+" harness backend died and automatic recovery is exhausted; this job can continue on "+r.targetHarness+" if the user chooses to switch":r.exportable?"the "+r.sourceHarness+" harness backend died and automatic recovery is exhausted, but the "+r.targetHarness+" harness is not available on this machine":"the "+r.sourceHarness+" harness backend died and automatic recovery is exhausted, but no recorded harness activity is exportable to carry over";return{available:n,sourceHarness:r.sourceHarness,targetHarness:r.targetHarness,model:r.model,transpileFeasibility:{exportable:r.exportable,targetAdapterAvailable:r.targetAdapterAvailable},offerReason:i}}function o2e(e,t){switch(t){case"in_place_resume":return e.inPlaceResume;case"fresh_session_resume":return v(e.freshSessionResume,!1);case"redispatch":return e.redispatch;case"worker_rebuild":return e.workerRebuild}}function AY(e){let t=e.grants,r=e.breaker,n=e.budgets,i=e.nowMs,o=e.fate;if(o===void 0)return{TAG:"Stand",cause:"no_fate"};let a=vY(o),s=e.run,l=s!==void 0?s:S$(o,i);if(typeof a!="object")switch(a){case"HoldUntilResetPolicy":if(l.holdCommitted)return{TAG:"Red",cause:"hold_already_committed",run:Po(l,{rung:"HoldStep",outcome:"rungs_exhausted",atMs:i,detail:"the one hold-and-dispatch was already spent",resetAtMs:void 0})};let d=e.rateLimitResetAtMs,u=0;if(d!==void 0&&d>i){if(d-i>n.maxRateLimitHoldMs){let m=Math.round((d-i)/1e3).toString(),p=Math.round(n.maxRateLimitHoldMs/1e3).toString();return{TAG:"Red",cause:"hold_unavailable_reset_beyond_bound",run:Po(l,{rung:"HoldStep",outcome:"hold_unavailable_reset_beyond_bound",atMs:i,detail:"reset is "+m+"s away, beyond the "+p+"s hold budget",resetAtMs:d})}}let f=r(o,i),h=0;if(typeof f!="object")h=2;else{let m=f.reason;return{TAG:"BreakerHold",reason:m,run:Po(l,{rung:"HoldStep",outcome:"breaker_held",atMs:i,detail:m,resetAtMs:void 0})}}if(h===2)return{TAG:"HoldUntilReset",resetAtMs:d,run:Po({fate:l.fate,startedAtMs:l.startedAtMs,rungCursor:l.rungCursor,cursorAttempts:l.cursorAttempts,recoveryRungsAttempted:l.recoveryRungsAttempted,holdCommitted:!0,holdDispatched:l.holdDispatched,userSwitchInvoked:l.userSwitchInvoked,entries:l.entries,historyTruncated:l.historyTruncated},{rung:"HoldStep",outcome:"held",atMs:i,detail:void 0,resetAtMs:d})}}else u=1;if(u===1){if(!t.inPlaceResume)return{TAG:"Red",cause:"hold_unavailable_no_reset",run:Po(l,{rung:"HoldStep",outcome:"hold_unavailable_no_reset",atMs:i,detail:"no known rate-limit reset timestamp",resetAtMs:void 0})};let f=r(o,i),h=0;if(typeof f!="object")h=2;else{let m=f.reason;return{TAG:"BreakerHold",reason:m,run:Po(l,{rung:{TAG:"RungStep",_0:"in_place_resume"},outcome:"breaker_held",atMs:i,detail:m,resetAtMs:void 0})}}if(h===2){if(l.recoveryRungsAttempted<n.maxRecoveryRungs)return{TAG:"ExecuteRung",rung:"in_place_resume",run:Po({fate:l.fate,startedAtMs:l.startedAtMs,rungCursor:l.rungCursor,cursorAttempts:l.cursorAttempts,recoveryRungsAttempted:l.recoveryRungsAttempted+1|0,holdCommitted:l.holdCommitted,holdDispatched:l.holdDispatched,userSwitchInvoked:l.userSwitchInvoked,entries:l.entries,historyTruncated:l.historyTruncated},{rung:{TAG:"RungStep",_0:"in_place_resume"},outcome:"attempted",atMs:i,detail:"reducer-granted bounded retry (transient-evidence carve-out; no known reset to hold for)",resetAtMs:void 0})};let m=l.recoveryRungsAttempted.toString(),p=n.maxRecoveryRungs.toString();return{TAG:"Red",cause:"budget_rungs_exhausted",run:Po(l,{rung:"ClassificationStep",outcome:"budget_rungs_exhausted",atMs:i,detail:m+" recovery rungs attempted (budget "+p+")",resetAtMs:void 0})}}}break;case"HoldRouteOutagePolicy":if(l.holdCommitted)return{TAG:"Red",cause:"hold_already_committed",run:Po(l,{rung:"HoldStep",outcome:"rungs_exhausted",atMs:i,detail:"this turn's one hold-and-dispatch (rate-limit or route-outage) was already spent",resetAtMs:void 0})};let c=e.routeOutageHoldCeilingMs;if(c!==void 0&&c>0){let f=i+c;return{TAG:"RouteOutageHold",deadlineAtMs:f,run:Po({fate:l.fate,startedAtMs:l.startedAtMs,rungCursor:l.rungCursor,cursorAttempts:l.cursorAttempts,recoveryRungsAttempted:l.recoveryRungsAttempted,holdCommitted:!0,holdDispatched:l.holdDispatched,userSwitchInvoked:l.userSwitchInvoked,entries:l.entries,historyTruncated:l.historyTruncated},{rung:"HoldStep",outcome:"held",atMs:i,detail:"route outage flagged by the server - holding until route recovery or the server hold deadline (zero recovery rungs burned)",resetAtMs:f})}}return{TAG:"Red",cause:"route_outage_hold_unavailable",run:Po(l,{rung:"HoldStep",outcome:"hold_unavailable_no_reset",atMs:i,detail:"no server-provided route-outage hold ceiling (pre-hold server, valve off, or malformed payload)",resetAtMs:void 0})};case"RedImmediatelyPolicy":return{TAG:"Red",cause:"deterministic_by_design",run:Po(l,{rung:"ClassificationStep",outcome:"no_rungs_by_design",atMs:i,detail:"classification: deterministic, no rungs attempted by design",resetAtMs:void 0})};case"NeverLaddersPolicy":return{TAG:"Stand",cause:"never_ladders"}}else{let d=a.rungs,u=t.freshSessionResume,c;if(c=o==="transient_upstream"&&u!==void 0&&u?d.concat([t2e]):d,l.recoveryRungsAttempted>=n.maxRecoveryRungs){let b=l.recoveryRungsAttempted.toString(),y=n.maxRecoveryRungs.toString();return{TAG:"Red",cause:"budget_rungs_exhausted",run:Po(l,{rung:"ClassificationStep",outcome:"budget_rungs_exhausted",atMs:i,detail:b+" recovery rungs attempted (budget "+y+")",resetAtMs:void 0})}}if(i-l.startedAtMs>n.maxLadderMs){let b=Math.round((i-l.startedAtMs)/1e3).toString(),y=Math.round(n.maxLadderMs/1e3).toString();return{TAG:"Red",cause:"budget_wall_clock_exhausted",run:Po(l,{rung:"ClassificationStep",outcome:"budget_wall_clock_exhausted",atMs:i,detail:"ladder open "+b+"s (budget "+y+"s)",resetAtMs:void 0})}}let f=l.rungCursor,h=l.cursorAttempts,m=!1,p=c[f];for(;(()=>{let b=p;return b!==void 0?h>=b.maxAttempts:!1})();)f=f+1|0,h=0,p=c[f];for(;(()=>{let b=p;return b!==void 0?!o2e(t,b.rung):!1})();)m=!0,f=f+1|0,h=0,p=c[f];let _=p;if(_===void 0)return{TAG:"Red",cause:m?"grant_unavailable":"rungs_exhausted",run:Po(l,{rung:"ClassificationStep",outcome:m?"grant_unavailable":"rungs_exhausted",atMs:i,detail:m?"no executable recovery rung in this session context":"every recovery rung for this fate was already attempted",resetAtMs:void 0})};let g=r(o,i);if(typeof g=="object"){let b=g.reason;return{TAG:"BreakerHold",reason:b,run:Po(l,{rung:{TAG:"RungStep",_0:_.rung},outcome:"breaker_held",atMs:i,detail:b,resetAtMs:void 0})}}return{TAG:"ExecuteRung",rung:_.rung,run:Po({fate:l.fate,startedAtMs:l.startedAtMs,rungCursor:f,cursorAttempts:h+1|0,recoveryRungsAttempted:l.recoveryRungsAttempted+1|0,holdCommitted:l.holdCommitted,holdDispatched:l.holdDispatched,userSwitchInvoked:l.userSwitchInvoked,entries:l.entries,historyTruncated:l.historyTruncated},{rung:{TAG:"RungStep",_0:_.rung},outcome:"attempted",atMs:i,detail:void 0,resetAtMs:void 0})}}}function kY(e,t,r){return e.userSwitchInvoked?{TAG:"Error",_0:"the one user-invoked cross-harness switch for this turn was already spent"}:{TAG:"Ok",_0:Po({fate:e.fate,startedAtMs:e.startedAtMs,rungCursor:e.rungCursor,cursorAttempts:e.cursorAttempts,recoveryRungsAttempted:e.recoveryRungsAttempted,holdCommitted:e.holdCommitted,holdDispatched:e.holdDispatched,userSwitchInvoked:!0,entries:e.entries,historyTruncated:e.historyTruncated},{rung:"UserSwitchStep",outcome:"switch_invoked",atMs:t,detail:b$(r),resetAtMs:void 0,userSwitch:r})}}function T$(e,t,r,n,i){let o;switch(t){case"switch_dispatched":o="switch_dispatched";break;case"switch_failed":o="switch_failed";break;case"switch_refused":o="switch_refused";break}return Po(e,{rung:"UserSwitchStep",outcome:o,atMs:r,detail:i!==void 0?b$(n)+" - "+i:b$(n),resetAtMs:void 0,userSwitch:n})}function Yu(e,t,r,n){let i=n!==void 0?ce(n):void 0,o=vY(t),a=c=>{let f={};f.rung=n2e(c.rung),f.outcome=c.outcome,f.at_ms=c.atMs;let h=c.detail;h!==void 0&&(f.detail=h.slice(0,200));let m=c.resetAtMs;m!==void 0&&(f.reset_at_ms=m);let p=c.userSwitch;if(p!==void 0){f.source_harness=p.sourceHarness,f.target_harness=p.targetHarness;let _=p.model;_!==void 0&&(f.model=_);let g=p.transpiledItemCount;g!==void 0&&(f.transpiled_item_count=g);let b=p.redactedReasoningCount;b!==void 0&&(f.redacted_reasoning_count=b)}return f},s=e!==void 0?e.entries.slice(0,16).map(a):[],l={};l.fate=t,l.policy=e2e(o),l.recovery_rungs_attempted=e!==void 0?e.recoveryRungsAttempted:0;let d={};d.max_recovery_rungs=r.maxRecoveryRungs,d.max_ladder_ms=r.maxLadderMs,d.max_rate_limit_hold_ms=r.maxRateLimitHoldMs,l.budget=d,e!==void 0&&e.historyTruncated&&(l.history_truncated=!0),i!==void 0&&(l.failover_offer=y$(i));let u;if(u=t==="deterministic"?s.length===0:!1,u){let c={};c.rung="classification",c.outcome="no_rungs_by_design",c.at_ms=0,c.detail="classification: deterministic, no rungs attempted by design",l.entries=[c]}else l.entries=s;return l}var CY="switching this job to another harness at the user's request";var OY="model stream stalled again - reconnecting on a fresh model session and resuming automatically";function s2e(e){try{return{TAG:"Ok",_0:JSON.parse(JSON.stringify(e))}}catch(t){let r=N(t);return{TAG:"Error",_0:ke(r).message}}}function ox(e){try{let t=JSON.stringify(e);return t!==void 0?{TAG:"Ok",_0:JSON.parse(t)}:{TAG:"Error",_0:"official request parameters did not serialize"}}catch(t){let r=N(t);return{TAG:"Error",_0:ke(r).message}}}function EY(e,t){return e.trim()===""?{TAG:"Error",_0:t+" must not be blank"}:{TAG:"Ok",_0:void 0}}async function ax(e,t,r,n){let i=ox(r);if(i.TAG!=="Ok")return{TAG:"Error",_0:"could not serialize "+t+" params: "+i._0};let o=await e.request(t,i._0);if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let a=o._0;if(a.TAG!=="ResultReply")return{TAG:"Ok",_0:{TAG:"Failure",code:a.code,message:a.message}};let s=a._0;if(typeof s!="object"||s===null||Array.isArray(s))return{TAG:"Error",_0:"malformed "+t+" success result: expected an object"};let l=s2e(s);if(l.TAG!=="Ok")return l;let d=l._0;try{let u=n(d);return u.TAG==="Ok"?{TAG:"Ok",_0:{TAG:"Success",_0:d}}:{TAG:"Error",_0:"malformed "+t+" success result: "+u._0}}catch(u){let c=N(u);return{TAG:"Error",_0:"malformed "+t+" success result: "+ke(c).message}}}function PY(e,t){return ax(e,"thread/start",t,r=>EY(r.thread.id,"thread.id"))}function GY(e,t){return ax(e,"thread/resume",t,r=>EY(r.thread.id,"thread.id"))}function RY(e,t){return ax(e,"thread/archive",t,r=>({TAG:"Ok",_0:void 0}))}function IY(e,t){return ax(e,"thread/compact/start",t,r=>({TAG:"Ok",_0:void 0}))}function DY(e,t){return ax(e,"thread/list",t,r=>(r.data.forEach(n=>{}),{TAG:"Ok",_0:void 0}))}function l2e(e){let t=e.item,n=(typeof t=="object"&&t!==null&&!Array.isArray(t)?t:e).type,i=n!==void 0?qr(n):void 0;if(i!==void 0)switch(i){case"contextCompaction":return"compacting conversation history";case"commandExecution":case"terminalInput":return"running terminal command";case"agentMessage":case"fileChange":case"reasoning":case"webSearch":case"webSearchCall":case"web_search_call":return"streaming response";default:return}}function v$(e,t){switch(e){case"command/exec/outputDelta":return"running terminal command";case"item/agentMessage/delta":case"item/reasoning/textDelta":return"streaming response";default:return e.startsWith("item/commandExecution/")?"running terminal command":l2e(t)}}function MY(e,t,r){let n=v(r,{}),i=c=>{let f=n[c];if(f!==void 0)return qr(f)},o=i("command"),a=o!==void 0?o:i("cmd"),s=i("path"),l;if(s!==void 0)l=s;else{let c=i("filePath");l=c!==void 0?c:i("file")}let d=v(cn(cn(cn(a,l),i("reason")),i("summary")),t),u;if(e===null)u="null";else if(Array.isArray(e))u="[object]";else switch(typeof e){case"boolean":u=e?"true":"false";break;case"string":u=e;break;case"number":u=e.toString();break;case"object":u="[object]";break}return{requestId:u,kind:t,summary:d,reason:void 0,port:void 0,pid:void 0,command:void 0,cwd:void 0,processName:void 0,processIconKey:void 0,processIconPath:void 0,choices:void 0,allowedActorSlug:void 0,allowedActorUserId:void 0}}function $Y(e,t){return typeof e!="object"||e._0!==t?{claimed:!0,next:{TAG:"StopPublicationOwnedBy",_0:t}}:{claimed:!1,next:e}}function A$(e,t,r,n){return typeof e!="object"||e.attemptToken!==t?{TAG:"PendingProviderTerminal",attemptToken:t,observed:n,callbackMode:r}:e}function jY(e,t,r){if(typeof e!="object")return{TAG:"PendingBufferedProviderTerminals",attemptToken:t,observed:[r]};switch(e.TAG){case"PendingBufferedProviderTerminals":if(e.attemptToken!==t)return{TAG:"PendingBufferedProviderTerminals",attemptToken:t,observed:[r]};let n=e.observed;return n.some(i=>i.turnId===r.turnId)?e:{TAG:"PendingBufferedProviderTerminals",attemptToken:t,observed:n.concat([r])};case"PendingDeferredCompletion":case"PendingProviderTerminal":break}return e.attemptToken===t?e:{TAG:"PendingBufferedProviderTerminals",attemptToken:t,observed:[r]}}function k$(e,t,r){if(typeof e!="object")return{TAG:"PendingDeferredCompletion",attemptToken:t,turnId:r};switch(e.TAG){case"PendingBufferedProviderTerminals":return e.attemptToken===t?e:{TAG:"PendingDeferredCompletion",attemptToken:t,turnId:r};case"PendingDeferredCompletion":case"PendingProviderTerminal":break}return e.attemptToken===t?e:{TAG:"PendingDeferredCompletion",attemptToken:t,turnId:r}}function sx(e,t,r){if(typeof e!="object"||e.TAG!=="PendingDeferredCompletion")return"ApplyInterruptSettlement";let n=e.attemptToken===t,i=e.turnId===r;return n&&i?"AwaitDeferredCompletion":"ApplyInterruptSettlement"}function FY(e,t,r){if(typeof e!="object")return{terminal:void 0,next:e};switch(e.TAG){case"PendingDeferredCompletion":let n=e.attemptToken===t,i=e.turnId===r;return n&&i?{terminal:{turnId:r,terminal:"ProviderCompleted"},next:"NoPendingProviderTerminal"}:{terminal:void 0,next:e};case"PendingBufferedProviderTerminals":if(e.attemptToken!==t)return{terminal:void 0,next:e};let o=e.observed.find(d=>d.turnId===r);return o!==void 0?{terminal:o,next:"NoPendingProviderTerminal"}:{terminal:void 0,next:e};case"PendingProviderTerminal":let a=e.observed,s=e.attemptToken===t,l=a.turnId===r;return s&&l?{terminal:a,next:"NoPendingProviderTerminal"}:{terminal:void 0,next:e}}}function NY(e,t,r){if(typeof e!="object")return e;switch(e.TAG){case"PendingDeferredCompletion":let n=e.attemptToken===t,i=e.turnId===r;return n&&!i?"NoPendingProviderTerminal":e;case"PendingBufferedProviderTerminals":if(e.attemptToken!==t)return e;let o=e.observed.find(l=>l.turnId===r);if(o===void 0)return"NoPendingProviderTerminal";switch(o.terminal){case"ProviderCompleted":return{TAG:"PendingDeferredCompletion",attemptToken:t,turnId:r};case"ProviderFailed":case"ProviderInterrupted":return{TAG:"PendingProviderTerminal",attemptToken:t,observed:o,callbackMode:"BufferedCallback"}}case"PendingProviderTerminal":if(e.callbackMode==="SynchronousCallback")return e;let a=e.attemptToken===t,s=e.observed.turnId===r;return a&&!s?"NoPendingProviderTerminal":e}}function Tk(e,t,r){if(typeof e!="object"||e.TAG!=="PendingProviderTerminal"||e.callbackMode!=="SynchronousCallback")return e;let n=e.attemptToken===t,i=e.observed.turnId===r;return n&&i?"NoPendingProviderTerminal":e}function w$(e,t){let r=e[t];if(typeof r=="string")return r}function qY(e,t){let r;switch(e){case"turn/aborted":case"turn/canceled":case"turn/cancelled":r="ProviderInterrupted";break;case"turn/completed":let o=t.turn;if(typeof o=="object"&&o!==null&&!Array.isArray(o)){let a=w$(o,"status");if(a!==void 0)switch(a){case"completed":r="ProviderCompleted";break;case"interrupted":r="ProviderInterrupted";break;default:r="ProviderFailed"}else r="ProviderFailed"}else r="ProviderFailed";break;case"turn/failed":r="ProviderFailed";break;default:r=void 0}if(r===void 0)return"NotProviderTerminal";let n=w$(t,"turnId"),i;if(n!==void 0)i=n;else{let o=t.turn;i=typeof o=="object"&&o!==null&&!Array.isArray(o)?w$(o,"id"):void 0}return i!==void 0?{TAG:"ProviderTerminal",_0:{turnId:i,terminal:r}}:{TAG:"InvalidProviderTerminal",method:e,reason:e+" terminal notification did not identify a turn"}}var c2e=Pt(e=>({decision:e.f("decision",B),label:e.f("label",B),description:e.f("description",Z(B))})),f2e=Pt(e=>({requestId:e.f("requestId",B),kind:e.f("kind",B),summary:e.f("summary",B),reason:e.f("reason",Z(B)),port:e.f("port",Z(Cr)),pid:e.f("pid",Z(Cr)),command:e.f("command",Z(B)),cwd:e.f("cwd",Z(B)),processName:e.f("processName",Z(B)),processIconKey:e.f("processIconKey",Z(B)),processIconPath:e.f("processIconPath",Z(B)),choices:e.f("choices",Z(Vo(c2e))),allowedActorSlug:e.f("allowedActorSlug",Z(B)),allowedActorUserId:e.f("allowedActorUserId",Z(Cr))})),m2e=NT(["starting turn","streaming response","running terminal command","interrupt requested","retrying empty turn","model stream stalled - resuming automatically from the last streamed checkpoint","upstream outage detected - recovery paused, resuming automatically","compacting conversation history","awaiting approval"]),LVe=Jh([Pt(e=>(e.tag("status","queued"),{TAG:"Queued",reason:e.f("reason",Z(B))})),Pt(e=>(e.tag("status","processed"),{TAG:"Processed",reason:e.f("reason",Z(B))})),Pt(e=>(e.tag("status","processing"),{TAG:"Processing",reason:e.f("reason",m2e),approval:e.f("approval",Z(f2e))})),Pt(e=>(e.tag("status","ignored"),{TAG:"Ignored",reason:e.f("reason",B)})),Pt(e=>(e.tag("status","failed"),{TAG:"Failed",reason:e.f("reason",B),retryable:e.f("retryable",Z(Ho)),fate:e.f("fate",Z(gM))})),Pt(e=>(e.tag("status","recovering"),{TAG:"Recovering",reason:e.f("reason",B),fate:e.f("fate",Z(gM))})),Pt(e=>(e.tag("status","interrupted"),{TAG:"Interrupted",reason:e.f("reason",B)}))]);function vk(e,t){return t.toString()+":"+e}var zY="compacting conversation history",LY="steered into the running turn on your runner";function BY(e){if(e!==void 0){if(Array.isArray(e)){let t=e.map(r=>{if(typeof r!="object"||r===null||Array.isArray(r))return[];let n=r.text;if(typeof n=="string")return[n];let i=r.content;return i!==void 0?typeof i=="string"?[i]:[]:[]}).flat().join(`
556
556
 
557
557
  `).trim();return t===""?void 0:t}if(typeof e==="string"){let t=e.trim();return t===""?void 0:t}else return}}function WY(e){let t=e.fusedSeqs;return t!==void 0?t.length!==0?t:[e.seq]:[e.seq]}function p2e(e){let t=e.actorSlug,r;if(t!==void 0){let o=t.trim();r=o===""?"unknown":o}else r="unknown";let n=e.actorUserId,i=n!==void 0?n.toString():"unknown";return["Kandan message seq="+e.seq.toString()+" from "+r+" (user_id="+i+"):","",e.body].join(`
558
558
  `)}function wk(e){let t=e.body.trimStart();return t.startsWith("!")?t:p2e(e)}import*as HY from"node:fs";import*as lx from"node:path";var h2e=["When you create files that should be attached back to Linzumi, use the linzumi_upload_files MCP tool silently.","Do not mention that you are using the upload tool. Do not print an upload manifest or upload footer in the message.","The MCP upload tool is the only supported path for attaching generated files to Linzumi messages.","Attach files to the reply you already posted with target.kind=latest_assistant_message; only use new_message when you have not posted a reply yet, and never repeat your reply text as the new message body."];function sd(e,t){return E(e[t],qr)}function O$(e,t){let r=e[t];if(typeof r=="number")return r}function VY(e){return e.replace(new RegExp("^wss://"),"https://").replace(new RegExp("^ws://"),"http://")}function _2e(e,t){let r=ho(t);if(r!==void 0)return{TAG:"Ok",_0:ce(r).toString()};let n=Hi(t,VY(e));return n.TAG==="Ok"?{TAG:"Ok",_0:n._0.toString()}:{TAG:"Error",_0:"attachment URL could not be resolved: "+n._0}}function g2e(e,t,r){let n=ho(VY(e)),i=ho(r);return n!==void 0?i!==void 0?ce(n).origin===ce(i).origin?{authorization:"Bearer "+t}:{}:{}:{}}function b2e(e,t){let r=lx.basename(t).replace(new RegExp("[^A-Za-z0-9_.\\- ]","g"),"_").trim(),n,i=0;switch(r){case"":case".":case"..":i=1;break;default:n=r}return i===1&&(n="attachment-"+(e+1|0).toString()),(e+1|0).toString()+"-"+n}function y2e(e,t){let r=ct(t);return r!==void 0?{TAG:"Ok",_0:r}:{TAG:"Error",_0:"attachment "+(e+1|0).toString()+" metadata was not an object"}}async function E$(e,t,r,n,i,o,a,s){let l=o[a];if(l===void 0)return{TAG:"Ok",_0:s};let d=y2e(a,l);if(d.TAG!=="Ok")return{TAG:"Error",_0:d._0};let u=d._0,c=v(cn(cn(cn(cn(sd(u,"file_name"),sd(u,"fileName")),sd(u,"name")),sd(u,"file_id")),sd(u,"id")),"attachment-"+(a+1|0).toString()),f=b2e(a,c),h=sd(u,"url");if(h===void 0)return{TAG:"Error",_0:"attachment "+(a+1|0).toString()+" for message "+n.toString()+" is missing a URL"};let m=_2e(t,h);if(m.TAG!=="Ok")return{TAG:"Error",_0:m._0};let p=m._0;try{let _=await fetch(p,{headers:g2e(t,r,p)});if(!_.ok)return{TAG:"Error",_0:"attachment "+f+" download failed: "+_.status.toString()+" "+_.statusText};let g=Buffer.from(await _.arrayBuffer()),b=lx.join(e,".kandan",i,"message-"+n.toString()),y=Nt(b);if(y.TAG!=="Ok")return{TAG:"Error",_0:"attachment staging directory failed: "+y._0.message};let S=lx.join(b,f);HY.writeFileSync(S,g);let T=cn(cn(cn(sd(u,"content_type"),sd(u,"contentType")),sd(u,"mime_type")),sd(u,"mimeType")),w=sd(u,"kind"),A=J(z(T,C=>C.toLowerCase().startsWith("image/")),!0)?!0:rt(w,!1,C=>C.toLowerCase()==="image"),P=s.concat([{fileName:f,contentType:T,sizeBytes:v(cn(cn(O$(u,"size_bytes"),O$(u,"sizeBytes")),O$(u,"size")),g.byteLength),path:S,isImage:A,dataBase64:g.toString("base64")}]);return await E$(e,t,r,n,i,o,a+1|0,P)}catch(_){let g=N(_);return{TAG:"Error",_0:"attachment "+f+" download failed: "+ke(g).message}}}function x2e(e,t){let r=wk(e);if(r.trimStart().startsWith("!"))return r;let i=t.length!==0?["","Linzumi attachments downloaded for this message:"].concat(t.map(o=>{let a=o.contentType,s=a!==void 0?a+", "+o.sizeBytes.toString()+" bytes":o.sizeBytes.toString()+" bytes";return"- "+o.fileName+" ("+s+"): "+o.path})):[];return[r].concat(i).concat([""].concat(h2e)).join(`
@@ -565,7 +565,7 @@ Output: `+s:a:s!==void 0?"Output: "+s:void 0,d=[["workflow_event",t]];i!==void 0
565
565
  ---
566
566
 
567
567
  `),d);return[s,l,u].join(`
568
- `)}function tX(e){return{kind:e.kind,seq:e.seq,at:e.at,harness:e.harness,body:e.body,structured:z(e.structured,t=>t),actor:z(e.actor,t=>t),attachments:e.attachments,sourceSeq:e.sourceSeq,streamKey:e.streamKey}}function rX(e){return{model:e.model,contextWindow:e.contextWindow,maxEmissionTokens:e.maxEmissionTokens}}function P2e(e){let t=ct(e);if(t===void 0)return;let r=Xu(t,"kind"),n=yf(t,"seq");if(r!==void 0&&n!==void 0)return{kind:r,seq:n,at:Xu(t,"at"),harness:v(Xu(t,"engine"),"none"),body:v(Xu(t,"body"),""),structured:Ak(t,"structured"),actor:Ak(t,"actor"),attachments:v(XY(t,"attachments"),[]),sourceSeq:yf(t,"source_seq"),streamKey:Xu(t,"stream_key")}}function G2e(e){let t=ct(e);if(t===void 0)return;let r=yf(t,"context_window"),n=yf(t,"max_emission_tokens");if(r!==void 0&&n!==void 0&&n>0)return{model:Xu(t,"model"),contextWindow:r,maxEmissionTokens:n}}function R2e(e){let t=yf(e,"ir_version"),r=XY(e,"nodes");if(t===void 0||r===void 0)return;let n=e.has_more,i;return i=n===!0,{threadTitle:Xu(e,"thread_title"),nodes:Fe(r,P2e),hasMore:i,cursor:yf(e,"cursor"),budget:E(e.budget,G2e)}}async function nX(e,t,r,n){let i=r.workspace,o=r.channel,a=r.threadId;if(i===void 0||o===void 0||a===void 0)return;let s=[],l,d,u,c=0,f=0,h;for(;Bn(h)&&f<20;){let p={};p.workspace=i,p.channel=o,p.thread_id=a;let _=u;_!==void 0&&(p.cursor=_);let b=await e(t,"session:thread_transcript",p);if(b.TAG==="Ok"){let y=b._0,S=eX(y);if(S!==void 0){let T=R2e(S);if(T!==void 0){l=cn(l,T.budget),d=cn(d,T.threadTitle),s=T.nodes.concat(s),c=c+nt(T.nodes,0,(P,C)=>C.kind==="reasoning"?P:P+C.body.length);let w=l,A=w!==void 0?c/4>=w.maxEmissionTokens:!1;!T.hasMore||Bn(T.cursor)||A?h=ve({nodes:s,budget:l,threadTitle:d}):(u=T.cursor,f=f+1|0)}else h=ve(f===0?void 0:{nodes:s,budget:l,threadTitle:d})}else n("kandan.reconnect_thread_transcript_fetch_failed",Object.fromEntries([["thread_id",a],["page",f],["reply",JSON.stringify(y).slice(0,300)]])),h=ve(f===0?void 0:{nodes:s,budget:l,threadTitle:d})}else n("kandan.reconnect_thread_transcript_fetch_failed",Object.fromEntries([["thread_id",a],["message",b._0]])),h=ve(void 0)}let m=h;return m!==void 0?ce(m):{nodes:s,budget:l,threadTitle:d}}function I$(e,t){return"Codex "+e+" did not reply within "+t.toString()+"ms (start request timed out)"}function I2e(e,t){return"Codex "+e+" did not reply within "+t.toString()+"ms (completion snapshot request timed out)"}function iX(e,t,r,n){return t<=0?n:new Promise((i,o)=>{let a=e.setTimer(()=>i({TAG:"Error",_0:r}),t);n.then(s=>(e.clearTimer(a),i(s),Promise.resolve()))})}function xp(e,t,r,n){return iX(e,t,I$(r,t),n)}function oX(e,t,r,n){return iX(e,t,I2e(r,t),n)}function P$(e){return e==="ResumeArchived"?"resume_archived":"forced_inject_not_found"}var D2e="the server marked the durable engine session dead after an acknowledged-but-unexecuted turn";async function D$(e,t,r,n,i,o){let a={};a.threadId=n,Object.entries(i).forEach(m=>{a[m[0]]=m[1]});let s=a,l=(m,p)=>xp(t,r,m,e(m,p)),d=async(m,p)=>{o.log("kandan.reconnect_thread_unarchive_started",Object.fromEntries([["codex_thread_id",n],["discovered_by",P$(m)],["message",p]]));let g=await(async()=>{let S=await l("thread/unarchive",Object.fromEntries([["threadId",n]]));if(S.TAG!=="Ok")return{TAG:"Error",_0:S._0};let T=S._0;if(T.TAG!=="ResultReply")return{TAG:"Error",_0:"thread/unarchive failed: "+T.message};let w=await l("thread/resume",s);if(w.TAG!=="Ok")return{TAG:"Error",_0:w._0};let A=w._0;return A.TAG==="ResultReply"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:"thread/resume after unarchive failed: "+A.message}})();if(g.TAG==="Ok")return o.log("kandan.reconnect_thread_unarchive_resumed",Object.fromEntries([["codex_thread_id",n],["discovered_by",P$(m)]])),{TAG:"Ok",_0:"Resumed"};let b=g._0;o.log("kandan.reconnect_thread_unarchive_failed",Object.fromEntries([["codex_thread_id",n],["discovered_by",P$(m)],["archive_error",p],["message",b]]));let y;return y=m==="ResumeArchived"?b:"thread/inject_items failed: "+p+"; archive recovery failed: "+b,{TAG:"Error",_0:{message:y}}},u=async m=>{o.log(o.forceRehydrate?"kandan.reconnect_thread_rehydrate_forced":"kandan.reconnect_thread_resume_failed",Object.fromEntries([["codex_thread_id",n],["message",m],["forced",o.forceRehydrate],["rehydrating",!0]]));let p=await(async()=>{let g=o.buildRehydrationItems,b;if(g!==void 0){let C=await g(m);C.TAG==="Ok"?b=C._0:(o.log("kandan.reconnect_thread_rehydration_items_failed",Object.fromEntries([["codex_thread_id",n],["message",C._0]])),b=void 0)}else b=void 0;let y,S=0;if(b!==void 0&&b.length!==0?y={TAG:"Ok",_0:b.slice()}:S=1,S===1){let C=await o.buildRehydrationText(m);y=C.TAG==="Ok"?{TAG:"Ok",_0:[Object.fromEntries([["type","agentMessage"],["text",C._0]])]}:{TAG:"Error",_0:C._0}}if(y.TAG!=="Ok")return{TAG:"Error",_0:y._0};let T=await l("thread/inject_items",Object.fromEntries([["threadId",n],["items",y._0]]));if(T.TAG!=="Ok")return{TAG:"Error",_0:T._0};let w=T._0;if(w.TAG==="ResultReply"){let C=await l("thread/resume",s);if(C.TAG!=="Ok")return{TAG:"Error",_0:C._0};let k=C._0;return k.TAG==="ResultReply"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:"rehydrated thread/resume failed: "+k.message}}let A=w.message;if(!(o.forceRehydrate&&AJ(A)))return{TAG:"Error",_0:"thread/inject_items failed: "+A};let P=await d("ForcedInjectNotFound",A);return P.TAG==="Ok"?{TAG:"Ok",_0:P._0}:{TAG:"Error",_0:P._0.message}})();if(p.TAG==="Ok"){let g=p._0;return g!==void 0?{TAG:"Ok",_0:g}:(o.log("kandan.reconnect_thread_rehydrated",Object.fromEntries([["codex_thread_id",n],["resume_failure",m]])),{TAG:"Ok",_0:{TAG:"Rehydrated",resumeFailure:m}})}let _=p._0;return o.log("kandan.reconnect_thread_rehydration_failed",Object.fromEntries([["codex_thread_id",n],["resume_failure",m],["rehydration_failure",_]])),{TAG:"Error",_0:{message:"could not resume this thread's engine session ("+m+") and rebuilding a fresh session from the thread transcript also failed ("+_+")"}}};if(o.forceRehydrate)return await u(D2e);let c=await l("thread/resume",s);if(c.TAG!=="Ok")return{TAG:"Error",_0:{message:c._0}};let f=c._0;if(f.TAG==="ResultReply")return{TAG:"Ok",_0:"Resumed"};let h=f.message;return wJ(h)?await d("ResumeArchived",h):await u(h)}var M2e=L3(e=>({joinRef:e.item(0,U1(U)),ref:e.item(1,U1(U)),topic:e.item(2,U),event:e.item(3,U),payload:e.item(4,Ti)}));function sX(e){return Kl(e,M2e)}function y0(e){let t=St(e);return t!==void 0?v(At(ce(t)),"unknown error"):"unknown error"}function j2e(e){let t=E(St(e),r=>xc(r));return t!==void 0?t:null}function qn(e){return e.TAG==="Transport"?e._0.message:e.message}function F2e(e,t){return{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"TimeoutReason",message:"phoenix push timed out after "+e.toString()+"ms waiting for connection: "+t}}}function N2e(e,t){return{TAG:"Transport",_0:{phase:"Reply",reason:"TimeoutReason",message:"phoenix push timed out after "+e.toString()+"ms: "+t}}}function q2e(e){return e!==void 0?e():!0}function cX(e){return e.TAG==="Transport"?e._0.phase==="WaitForConnection":!1}function mx(e){return e.TAG==="Transport"}function fX(e){return{current:t=>e.current(),adopt:(t,r)=>e.adopt(t,r)}}var z2e="base64url.bearer.phx.";function L2e(e){let t;t=typeof e=="object"&&e!==null&&!Array.isArray(e)?bf(e):e;let r=JSON.stringify(t);return r.length<=400?r:r.slice(0,400)+"\u2026"}var U2e=new RegExp("/$");function B2e(e){let t=ho(e);if(t===void 0)return{TAG:"Error",_0:"Invalid URL"};let r=ce(t);switch(r.protocol){case"http:":r.protocol="ws:";break;case"https:":r.protocol="wss:";break}return r.pathname=r.pathname.replace(U2e,"")+"/socket/websocket",r.searchParams.set("vsn","2.0.0"),{TAG:"Ok",_0:r.toString()}}function W2e(e){return[z2e+Y4(e),"phoenix"]}var mX="[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?<![\\uD800-\\uDBFF])[\\uDC00-\\uDFFF]",ux=new RegExp(mX),cx=new RegExp(mX,"g"),fx="\uFFFD";function M$(e){if(Array.isArray(e))return e.some(M$);if(e===null)return!1;switch(typeof e){case"string":return ux.test(e);case"object":return Object.entries(e).some(t=>ux.test(t[0])?!0:M$(t[1]));default:return!1}}function $$(e){if(Array.isArray(e))return e.map($$);if(e===null)return e;switch(typeof e){case"string":return e.replace(cx,fx);case"object":return Object.fromEntries(Object.entries(e).map(t=>[t[0].replace(cx,fx),$$(t[1])]));default:return e}}function H2e(e){return Object.entries(e).some(t=>ux.test(t[0])?!0:M$(t[1]))}function V2e(e){return Object.fromEntries(Object.entries(e).map(t=>[t[0].replace(cx,fx),$$(t[1])]))}function K2e(e,t,r){return ux.test(e)||ux.test(t)?!0:H2e(r)}function J2e(e,t,r){return{frameTopic:e.replace(cx,fx),frameEvent:t.replace(cx,fx),framePayload:V2e(r)}}function lX(e){let t=r=>r!==void 0?r:null;return JSON.stringify([t(e.joinRef),t(e.ref),e.topic,e.event,e.payload])}function dX(e){let t;try{t={TAG:"Ok",_0:JSON.parse(e)}}catch(n){let i=N(n);t={TAG:"Error",_0:y0(i)}}if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=sX(t._0);return r.TAG==="Ok"?{TAG:"Ok",_0:r._0}:{TAG:"Error",_0:"invalid Phoenix frame"}}function pX(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function Ck(e,t){return E(e,r=>{let n=r[t];if(typeof n=="object"&&n!==null&&!Array.isArray(n))return n})}function x0(e,t){return E(e,r=>{let n=r[t];if(typeof n=="string")return n})}function dx(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e.status,r=e.response;if(t==="ok"&&typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function Z2e(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?li(e.status,"ok"):!1}function Q2e(e){return typeof e!="object"||e===null||Array.isArray(e)?!1:typeof e.type=="string"}function kk(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&sr(r))return r}function uX(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return kk(e,"control_seq")}function Y2e(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e.event,r=e.payload;if(t===void 0||typeof t!="string"||r===void 0||typeof r!="object"||r===null||Array.isArray(r))return;let n=e.control_seq;return n!==void 0?typeof n=="number"&&sr(n)?{event:t,payload:r,controlSeq:n}:void 0:{event:t,payload:r,controlSeq:void 0}}var X2e="npm install -g @linzumi/cli@latest",eRe=new RegExp("^npm install -g @linzumi\\/cli(@[0-9A-Za-z^~.-]{1,32})?$"),tRe=new RegExp("^\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]{1,32})?$");function rRe(e){return e!==void 0&&typeof e=="string"&&e.length<=100&&eRe.test(e)?e:X2e}function nRe(e){return e!==void 0&&typeof e=="string"&&e.length<=64&&tRe.test(e)?"@linzumi/cli "+e+" or newer":"a newer @linzumi/cli"}function j$(e){let t=pX(e),r=Ck(t,"response"),n=x0(r,"error");if(n!==void 0)return n;let i=x0(r,"reason");if(i!==void 0)return i;let o=x0(r,"message");if(o!==void 0)return o;let a=x0(t,"error");return t!==void 0?a!==void 0?a:"unknown":"invalid reply"}function iRe(e){let t=Ck(pX(e),"response");if(t===void 0||!J(t.error,"commander_version_too_old"))return j$(e);let r=nRe(t.min_version),n=rRe(t.upgrade_command);return"commander_version_too_old: this Linzumi server requires "+r+". Update with: "+n}function oRe(e){let t=e;if(x0(t,"agent_provider")==="claude-code")return"claude-code-sdk";let n=Ck(t,"metadata"),i=Ck(n,"local_codex_runner");return x0(i,"agent_provider")==="claude-code"?"claude-code-sdk":"codex-app-server"}function aRe(e,t){let r;try{r=e.initial(t)}catch{r=void 0}if(r!==void 0&&sr(r)&&r>=0)return r}function sRe(e,t){if(e===void 0)return;let r;try{r=e.current(t)}catch{r=void 0}if(r!==void 0&&r!=="")return r}async function hX(e,t,r,n){let i=n!==void 0?n:{},o=r!==void 0?r:RA,a;a=t.TAG==="Token"?t._0:void 0;let s={contents:a},l=()=>{if(t.TAG==="Token")return{TAG:"Ok",_0:t._0};let fe;try{fe=t._0()}catch{fe=void 0}if(fe!==void 0&&fe.trim()!=="")return s.contents=fe,{TAG:"Ok",_0:fe};let ze=s.contents;return ze!==void 0?{TAG:"Ok",_0:ze}:{TAG:"Error",_0:{TAG:"Failed",message:"phoenix token provider returned no usable token"}}},d=i.onOperatorNotice,u=d!==void 0?d:fe=>{console.error(fe)},c=i.auditEvent,f=c!==void 0?c:(fe,ze)=>{},h=i.onPushRecorded,m=h!==void 0?h:fe=>{},p=v(i.pushTimeoutMs,3e4),_=i.controlCursorStore,g=i.controlEpochStore,b={},y={},S={},T={},w={},A={},P={},C={},k=new Set,$={contents:1},V=[],F=[],D=[],q=[],re=[],te=[],W={nextRef:1,websocket:void 0,closed:!1,connected:!1,hasEverConnected:!1,connectionGeneration:0,ready:Promise.resolve({TAG:"Ok",_0:void 0}),settleReady:void 0,reconnectTimer:void 0,reconnectAttempts:0,backoffResetTimer:void 0,heartbeatTimer:void 0,connectedAt:void 0},j=fe=>{let ze=Object.entries(b);ze.forEach(Le=>fr(b,Le[0])),ze.forEach(Le=>{let dt=Le[1];clearTimeout(dt.timer),dt.settle({TAG:"Error",_0:fe})})},X=()=>{if(W.settleReady!==void 0)return;let ze={contents:void 0};W.ready=new Promise((Le,dt)=>{ze.contents=Le}),W.settleReady=ze.contents},M=()=>{let fe=W.settleReady;fe!==void 0&&fe({TAG:"Ok",_0:void 0}),W.settleReady=void 0},I=fe=>{let ze=W.settleReady;ze!==void 0&&ze({TAG:"Error",_0:fe}),W.settleReady=void 0},Q=()=>{let fe=W.heartbeatTimer;if(fe!==void 0){clearInterval(ce(fe)),W.heartbeatTimer=void 0;return}},H=()=>{let fe=W.backoffResetTimer;if(fe!==void 0){clearTimeout(ce(fe)),W.backoffResetTimer=void 0;return}},ie=fe=>{W.closed=!0;let ze=W.reconnectTimer;ze!==void 0&&(clearTimeout(ce(ze)),W.reconnectTimer=void 0),Q(),H();let Le=W.websocket;Le!==void 0&&Le.close(),I(fe),j({TAG:"Transport",_0:{phase:"Reply",reason:"ClientClosed",message:"phoenix client closed"}})},se=fe=>v(C[fe],0),de=fe=>{fr(T,fe),fr(w,fe),fr(A,fe),fr(P,fe),C[fe]=se(fe)+1|0},le=(fe,ze)=>{let Le=T[fe];if(Le!==void 0){if(ze===Le+1){let tt=Le+1,Ot=w[fe];if(Ot!==void 0)for(;Ot.has(tt+1);)tt=tt+1,Ot.delete(tt);T[fe]=tt;return}let dt=w[fe],it;if(dt!==void 0)it=dt;else{let tt=new Set;w[fe]=tt,it=tt}it.add(ze);return}T[fe]=ze},be=(fe,ze)=>{let Le=uX(ze);if(Le===void 0)return!0;let dt=T[fe],it=dt!==void 0?Le<=dt:!1,tt=w[fe],Ot=tt!==void 0?tt.has(Le):!1;return it||Ot?!1:(le(fe,Le),!0)},Xe=(fe,ze)=>{if(_!==void 0)try{return _.onAdvance(fe,ze)}catch{return}},Qe=(fe,ze)=>{if(!fe.startsWith("local_runner:"))return;let Le=kk(ze,"control_high_water");if(Le===void 0)return;let dt=T[fe];if(dt!==void 0&&Le<dt){de(fe);let it=0;if(_===void 0)return;let tt=_.reset;if(tt===void 0)return;try{return tt(fe,it)}catch{return}}},oe=(fe,ze)=>{let Le=fe.startsWith("local_runner:");if(g===void 0||!Le)return!1;let dt=ze.control_epoch;if(dt===void 0||typeof dt!="string"||dt==="")return!1;let it;try{it=g.adopt(fe,dt)}catch{it=!1}return it&&(de(fe),te.forEach(tt=>{try{return tt(fe)}catch{return}})),it},Te=fe=>{let ze=T[fe];if(ze!==void 0)return ze;if(_===void 0)return;let Le=aRe(_,fe);return Le!==void 0?(T[fe]=Le,Le):0},qe=new Set,Ne=(fe,ze,Le,dt)=>{try{let it=!1;if(fe.startsWith("local_runner:")&&ze==="control"&&Q2e(dt)){let tt;if(be(fe,dt)){let Ot=uX(dt);if(Ot!==void 0){let nn=A[fe],on;if(nn!==void 0)on=nn;else{let hn=new Set;A[fe]=hn,on=hn}on.add(Ot)}let Xt=se(fe),Xr=Ot!==void 0?()=>{if(Xt!==se(fe))return;let nn=A[fe];nn!==void 0&&nn.delete(Ot);let on=P[fe];on!==void 0&&Ot<=on||(P[fe]=Ot);let hn=E(nn,zn=>nt(zn.values().toArray(),void 0,(Ui,bn)=>Ui!==void 0&&Ui<=bn?Ui:bn)),gn=hn!==void 0?hn-1:P[fe];if(gn===void 0)return;let ai=T[fe],ln=ai!==void 0&&ai<gn?ai:gn;Xe(fe,ln)}:()=>{};V.forEach(nn=>nn(dt,Xr)),tt=!1}else tt=!0;it=tt}if(!it&&Le===void 0&&ze!=="phx_reply"&&ze!=="phx_error"){F.forEach(tt=>tt(fe,ze,dt));return}else return}catch(it){let tt=N(it),Ot=y0(tt);try{f("phoenix.pushed_frame_dispatch_failed",Object.fromEntries([["topic",fe],["frame",ze],["message",Ot],["stack",j2e(tt)],["payloadSnippet",L2e(dt)],["dropped",!0]]))}catch{}if(qe.has(ze))return;qe.add(ze);try{return u('linzumi: dropped a pushed "'+ze+'" frame on '+fe+" whose dispatch failed ("+Ot+"); see the CLI audit log for the payload snippet.")}catch{return}}},ae=(fe,ze)=>{let Le=T[fe],dt={contents:Le!==void 0&&Le>=ze?Le:ze},it=w[fe];if(it!==void 0)for(it.values().toArray().forEach(tt=>{if(tt<=dt.contents){it.delete(tt);return}});it.has(dt.contents+1);)dt.contents=dt.contents+1,it.delete(dt.contents);T[fe]=dt.contents},Ue=fe=>{let ze=T[fe];if(ze===void 0)return;let Le=A[fe],dt=Le!==void 0&&Le.size>0?z(nt(Le.values().toArray(),void 0,(it,tt)=>it!==void 0&&it<=tt?it:tt),it=>it-1):void 0;Xe(fe,dt!==void 0&&dt<ze?dt:ze)},Ee=(fe,ze)=>{if(fe.startsWith("chat:")){let Le=ze.events;return Le===void 0?{TAG:"Ok",_0:void 0}:Le===null?{TAG:"Ok",_0:void 0}:Array.isArray(Le)?(Le.forEach(dt=>{F.forEach(it=>it(fe,"event",dt))}),{TAG:"Ok",_0:void 0}):{TAG:"Error",_0:"phoenix rejoin returned invalid events for "+fe}}else{if(!fe.startsWith("local_runner:"))return{TAG:"Ok",_0:void 0};let Le=ze.controls;if(Le===void 0)return{TAG:"Ok",_0:void 0};if(Le===null)return{TAG:"Ok",_0:void 0};if(!Array.isArray(Le))return{TAG:"Error",_0:"phoenix rejoin returned invalid controls for "+fe};Le.forEach(it=>{let tt=Y2e(it);if(tt===void 0)return;let Ot={};Object.entries(tt.payload).forEach(Xr=>{Ot[Xr[0]]=Xr[1]}),Ot.replayed=!0;let Xt=tt.controlSeq;Xt!==void 0&&(Ot.control_seq=Xt),Ne(fe,tt.event,void 0,Ot)});let dt=kk(ze,"controls_advance_to");if(dt!==void 0){let it=ze.control_high_water;typeof it=="number"&&dt>it||ae(fe,dt)}return Ue(fe),{TAG:"Ok",_0:void 0}}},Re=(fe,ze,Le,dt,it)=>{let tt=W.websocket;if(tt===void 0)return Promise.resolve({TAG:"Error",_0:{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"SocketNotOpen",message:"phoenix websocket is not open"}}});if(tt.readyState()!==pp)return Promise.resolve({TAG:"Error",_0:{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"SocketNotOpen",message:"phoenix websocket is not open"}}});let Ot=W.nextRef.toString();W.nextRef=W.nextRef+1|0,ze==="phx_join"&&(S[fe]=Ot);let Xt=ze==="phx_join"?Ot:S[fe],Xr=ix(Le),nn;if(K2e(fe,ze,Xr)){let Fn=J2e(fe,ze,Xr);f("phoenix.outbound_frame_lone_surrogate_sanitized",Object.fromEntries([["purpose","phoenix.send_totality"],["topic",Fn.frameTopic],["frame_event",Fn.frameEvent]])),nn=Fn}else nn={frameTopic:fe,frameEvent:ze,framePayload:Xr};let on=nn.framePayload,hn=Ot,gn=nn.frameTopic,ai=nn.frameEvent,Ui=lX({joinRef:Xt,ref:hn,topic:gn,event:ai,payload:on}),bn=Math.max(0,Math.ceil(dt))|0;return new Promise((Fn,Zi)=>{let Oe=setTimeout(()=>{if(b[Ot]!==void 0)return fr(b,Ot),Fn({TAG:"Error",_0:N2e(bn,ze)})},bn);b[Ot]={event:ze,timer:Oe,settle:Fn};try{m({provider:oRe(on),rawFrameText:Ui,topic:fe,event:ze,payload:on})}catch{}let et;try{et={TAG:"Ok",_0:tt.send(Ui)}}catch(Gt){let qt=N(Gt);et={TAG:"Error",_0:y0(qt)}}return et.TAG==="Ok"?it!==void 0?it():void 0:Fn({TAG:"Error",_0:{TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:et._0}}})})},Ve=(fe,ze)=>{let Le={};if(ze.forEach(dt=>{Object.entries(dt).forEach(it=>{let tt=it[1],Ot=it[0],Xt=Ot==="last_seq",Xr=Le[Ot];if(Xt&&typeof Xr=="number"&&typeof tt=="number"){Le[Ot]=tt<Xr?tt:Xr;return}if(Xr===void 0){Le[Ot]=tt;return}})}),fe.startsWith("local_runner:")){let dt=Te(fe);dt!==void 0&&(Le.last_control_seq=dt);let it=sRe(g,fe);it!==void 0&&(Le.last_control_epoch=it)}return Le},Be=fe=>Object.entries(fe).map(ze=>ze[1].payload()),ht=async fe=>{let ze=0,Le=0,dt=!0;for(;dt;){let it=y[fe];if(it!==void 0){let tt=Te(fe),Ot=await Re(fe,"phx_join",Ve(fe,Be(it)),p,void 0);if(ze=ze+1|0,Ot.TAG==="Ok"){let Xt=dx(Ot._0);if(Xt!==void 0){let Xr=Xt.controls,nn=Array.isArray(Xr)?Xr.length:0;Le=Le+nn|0;let on=J(Xt.controls_truncated,!0),hn=Te(fe),gn;if(on){let ai=kk(Xt,"control_high_water");gn=ai!==void 0&&hn!==void 0?ai-hn>0?ai-hn:0:void 0}else gn=0;if(f("phoenix.control_backlog_fetch_progress",Object.fromEntries([["topic",fe],["fetches",ze],["fetched",Le],["remaining_estimate",gn!==void 0?gn:null],["truncated",on]])),on)if(J(hn,tt)){let ai=hn!==void 0?hn.toString():"undefined";u("phoenix.control_backlog_fetch_stalled topic="+fe+" fetches="+ze.toString()+" fetched="+Le.toString()+" cursor="+ai+"; a truncated reply made no cursor progress - stopping this fetch loop (a server paging bug; the next reconnect resumes from the watermark)"),dt=!1}else{if(ze%20===0){let ln=gn!==void 0?gn.toString():"unknown";u("phoenix.control_backlog_cap_exceeded topic="+fe+" fetches="+ze.toString()+" fetched="+Le.toString()+" remaining_estimate="+ln+"; continuing the paginated backlog fetch (a healthy connection never reconnects, so nothing is deferred)")}await new Promise((ln,zn)=>{setImmediate(()=>ln())})}else dt=!1}else dt=!1}else dt=!1}else dt=!1}},Rt=fe=>{if(!k.has(fe)){k.add(fe),Fr(ht(fe).then(()=>{k.delete(fe)}),ze=>(k.delete(fe),Promise.resolve()));return}},Wt=async(fe,ze)=>fe.startsWith("local_runner:")?await nt(D,Promise.resolve({TAG:"Ok",_0:void 0}),(Le,dt)=>Le.then(async it=>it.TAG==="Ok"?await Fr(dt(fe,ze),tt=>Promise.resolve({TAG:"Error",_0:y0(tt)})):{TAG:"Error",_0:it._0})):{TAG:"Ok",_0:void 0},ge=async fe=>{let ze=!0,Le=fe.payload,dt=fe.event,it=fe.topic,tt=fe.ref;if(tt!==void 0&&(dt==="phx_reply"||dt==="phx_error")){let Xt=b[tt];if(Xt!==void 0){fr(b,tt),clearTimeout(Xt.timer);let Xr=dt==="phx_error",nn=Z2e(Le)&&Xt.event!=="phx_join";if(Xr)Xt.settle({TAG:"Error",_0:{TAG:"Failed",message:"phoenix push failed"}});else if(nn)Xt.settle({TAG:"Error",_0:{TAG:"Failed",message:"phoenix push failed: "+j$(Le)}});else{let on=y[it],hn=dx(Le),gn;if(on!==void 0&&hn!==void 0&&Xt.event==="phx_join"){let ai=nt(Object.values(on),{TAG:"Ok",_0:void 0},(ln,zn)=>Ae(ln,()=>{let Ui=zn.onJoinReply;return Ui!==void 0?Ui(hn):{TAG:"Ok",_0:void 0}}));if(ai.TAG==="Ok"){let ln=await Wt(it,hn);if(ln.TAG==="Ok"){let zn=oe(it,hn);Qe(it,hn);let Ui=zn?{TAG:"Ok",_0:void 0}:Ee(it,hn);Ui.TAG==="Ok"?(it.startsWith("local_runner:")&&(J(hn.controls_truncated,!0)||zn)&&Rt(it),gn=!1):(Xt.settle({TAG:"Error",_0:{TAG:"Failed",message:Ui._0}}),ze=!1,gn=!0)}else Xt.settle({TAG:"Error",_0:{TAG:"Failed",message:ln._0}}),ze=!1,gn=!0}else Xt.settle({TAG:"Error",_0:{TAG:"Failed",message:ai._0}}),ze=!1,gn=!0}else gn=!1;gn||Xt.settle({TAG:"Ok",_0:Le})}}}return Ne(it,dt,tt,Le),ze},Ge=async fe=>{let ze=dX(v(fe.data,"undefined"));return ze.TAG==="Ok"?await ge(ze._0):(f("phoenix.frame_decode_failed",Object.fromEntries([["message",ze._0],["dropped",!0]])),!0)},Ye={},jt=async()=>{Object.entries(Ye).forEach(it=>fr(Ye,it[0]));let fe=Object.entries(y),ze,Le=0;for(;ze===void 0&&Le<fe.length;){let it=fe[Le];if(it!==void 0){let tt=it[0],Ot=await Re(tt,"phx_join",Ve(tt,Be(it[1])),p,void 0);if(Ot.TAG==="Ok"){let Xt=dx(Ot._0);Xt!==void 0?Ye[tt]=Xt:ze={TAG:"Failed",message:"phoenix rejoin failed for "+tt}}else ze=Ot._0}Le=Le+1|0}let dt=ze;return dt!==void 0?{TAG:"Error",_0:dt}:{TAG:"Ok",_0:void 0}},Dt={contents:()=>Promise.resolve()},Kt=()=>{let fe=W.closed,ze=W.reconnectTimer;if(fe||ze!==void 0)return;X();let Le=Math.min(1e4,250*2**W.reconnectAttempts);W.reconnectAttempts=W.reconnectAttempts+1|0,W.reconnectTimer=ve(setTimeout(()=>{W.reconnectTimer=void 0,Dt.contents()},Math.random()*Le|0))},zr=(fe,ze,Le)=>{let dt=W.connected,it=W.connectedAt;W.connectedAt=void 0,W.connected=!1;let tt=W.websocket;if(W.websocket=void 0,Q(),H(),tt!==void 0&&(tt.readyState()===tJ||tt.readyState()===pp))try{tt.close()}catch{}if(j(fe),Kt(),!dt)return;let Ot;Ot=Le!==void 0&&Le!==""?Le:void 0;let Xt=z(it,on=>Math.max(0,Date.now()-on)),Xr=W.reconnectAttempts,nn={closeCode:ze,closeReason:Ot,previousSessionDurationMs:Xt,reconnectCount:Xr};re.forEach(on=>{try{return on(nn)}catch{return}})},En=()=>{Q(),W.heartbeatTimer=ve(setInterval(()=>{let fe=W.websocket;if(fe===void 0||fe.readyState()!==pp)return;let ze=W.nextRef.toString();W.nextRef=W.nextRef+1|0;let it={joinRef:void 0,ref:ze,topic:"phoenix",event:"heartbeat",payload:{}};try{return fe.send(lX(it))}catch{return}},3e4))},pn=()=>{H();let fe=setTimeout(()=>{if(W.backoffResetTimer=void 0,W.connected){W.reconnectAttempts=0;return}},3e4);fe.unref(),W.backoffResetTimer=ve(fe)},Kn=(fe,ze)=>new Promise((Le,dt)=>{let it={contents:void 0},tt=Ot=>{let Xt=it.contents;Xt!==void 0&&(clearTimeout(ce(Xt)),it.contents=void 0),Le(Ot)};fe.on("SocketOpen",Ot=>tt({TAG:"Ok",_0:void 0})),fe.on("SocketError",Ot=>tt({TAG:"Error",_0:"websocket open failed"})),fe.on("SocketClose",Ot=>tt({TAG:"Error",_0:"websocket closed before open"})),it.contents=ve(setTimeout(()=>{it.contents=void 0,tt({TAG:"Error",_0:"websocket open timed out after "+ze.toString()+"ms"})},ze))}),Ce=async()=>{if(W.closed)return;let fe=l(),ze=B2e(e),Le;if(fe.TAG==="Ok")if(ze.TAG==="Ok"){let tt;try{tt={TAG:"Ok",_0:o(ze._0,W2e(fe._0))}}catch(Ot){let Xt=N(Ot);tt={TAG:"Error",_0:{TAG:"Failed",message:y0(Xt)}}}Le=tt.TAG==="Ok"?{TAG:"Ok",_0:tt._0}:{TAG:"Error",_0:tt._0}}else Le={TAG:"Error",_0:{TAG:"Failed",message:ze._0}};else Le={TAG:"Error",_0:fe._0};if(Le.TAG==="Ok"){let tt=Le._0;W.websocket=tt;let Ot={contents:void 0},Xt={contents:0},Xr=bn=>{Xt.contents=Xt.contents+1|0;let Fn=Xt.contents;Ot.contents=bn,bn.then(Zi=>(Xt.contents===Fn&&(Ot.contents=void 0),Zi))},nn=bn=>Fr(Ge(bn),Fn=>{let Zi=y0(Fn);f("phoenix.message_dispatch_failed",Object.fromEntries([["message",Zi],["reconnecting",!0]]));let Oe=W.websocket;return Oe!==void 0&&Oe===tt&&zr({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket reconnect failed"}},void 0,void 0),Promise.resolve(!1)});tt.on("SocketMessage",bn=>{let Fn=dX(v(bn.data,"undefined")),Zi;if(Fn.TAG==="Ok"){let et=Fn._0,Gt=et.ref;if(Gt!==void 0){let qt=et.topic;if(et.event==="phx_reply"){let Jt=b[Gt];Zi=Jt!==void 0?Jt.event==="phx_join"&&qt in y&&dx(et.payload)!==void 0&&qt.startsWith("local_runner:")&&D.length!==0:!1}else Zi=!1}else Zi=!1}else Zi=!1;let Oe=Ot.contents;if(Oe!==void 0)return Xr(Oe.then(async et=>{let Gt=W.websocket;return et&&Gt!==void 0&&Gt===tt?await nn(bn):!1}));if(Zi)return Xr(nn(bn));nn(bn)}),tt.on("SocketClose",bn=>{let Fn=W.websocket;if(Fn!==void 0&&Fn===tt)return zr({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},bn.code,bn.reason)}),tt.on("SocketError",bn=>{let Fn=W.websocket;if(Fn!==void 0&&Fn===tt)return zr({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},void 0,void 0)});let on=await Kn(tt,p),hn=()=>{if(W.closed)return!0;let bn=W.websocket;return bn!==void 0?bn!==tt:!1},gn;if(on.TAG==="Ok")if(hn())gn={TAG:"Ok",_0:!1};else{W.connectionGeneration=W.connectionGeneration+1|0;let bn=await jt();gn=bn.TAG==="Ok"?hn()?{TAG:"Ok",_0:!1}:{TAG:"Ok",_0:!0}:{TAG:"Error",_0:bn._0}}else gn={TAG:"Error",_0:{TAG:"Failed",message:on._0}};if(gn.TAG==="Ok"){if(!gn._0||(W.connected=!0,W.connectedAt=Date.now(),W.hasEverConnected=!0,pn(),En(),M(),W.connectionGeneration<=1))return;let bn={};Object.entries(Ye).forEach(Zi=>{bn[Zi[0]]=Zi[1]});let Fn={contents:!1};return q.forEach(Zi=>{if(Fn.contents)return;let Oe;try{Oe={TAG:"Ok",_0:Zi(bn)}}catch{Oe={TAG:"Error",_0:void 0}}if(Oe.TAG!=="Ok"){Fn.contents=!0;return}Fr(Oe._0,et=>Promise.resolve())}),Fn.contents&&!W.closed?zr({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket reconnect failed"}},void 0,void 0):void 0}let ai=W.websocket,ln=ai!==void 0?ai!==tt:!1,zn=W.closed||ln,Ui=W.hasEverConnected;return zn?void 0:Ui?zr({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket reconnect failed"}},void 0,void 0):ie(gn._0)}let dt=W.closed,it=W.hasEverConnected;if(!dt)return it?zr({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket reconnect failed"}},void 0,void 0):ie(Le._0)};Dt.contents=Ce;let Pe=(fe,ze)=>{let Le=W.ready;return new Promise((dt,it)=>{let tt=setTimeout(()=>dt({TAG:"Error",_0:F2e(p,fe)}),Math.max(0,ze-Date.now())|0);Le.then(Ot=>{clearTimeout(tt),dt(Ot)})})},Ie=async(fe,ze,Le,dt,it,tt)=>{let Ot=Date.now()+p,Xt=await Pe(ze,Ot);return Xt.TAG==="Ok"?q2e(it)?await Re(fe,ze,Le,Ot-Date.now(),dt):(tt!==void 0&&tt(),{TAG:"Ok",_0:null}):{TAG:"Error",_0:Xt._0}},Ke=async(fe,ze,Le)=>{let dt=Le.registrationId,it;if(dt!==void 0)it=dt;else{let Fn="join-registration-"+$.contents.toString();$.contents=$.contents+1|0,it=Fn}let tt=y[fe],Ot=tt!==void 0?Be(tt):[],Xt=await Ie(fe,"phx_join",Ve(fe,Ot.concat([ze])),void 0,void 0,void 0);if(Xt.TAG!=="Ok")return{TAG:"Error",_0:Xt._0};let Xr=Xt._0,nn=dx(Xr);if(nn===void 0)return{TAG:"Error",_0:{TAG:"Failed",message:"phoenix join failed: "+iRe(Xr)}};let on=y[fe],hn=on!==void 0?on:{},gn=Object.entries(hn).length===0,ai=Le.onJoinReply,ln=gn&&ai!==void 0?ai(nn):{TAG:"Ok",_0:void 0};if(ln.TAG!=="Ok")return{TAG:"Error",_0:{TAG:"Failed",message:ln._0}};let zn=Le.rejoinPayload;if(hn[it]={payload:zn!==void 0?zn:()=>ze,onJoinReply:Le.onJoinReply},y[fe]=hn,!(gn&&fe.startsWith("local_runner:")))return{TAG:"Ok",_0:nn};let Ui=oe(fe,nn);Qe(fe,nn);let bn=Ui?{TAG:"Ok",_0:void 0}:Ee(fe,nn);return bn.TAG!=="Ok"?{TAG:"Error",_0:{TAG:"Failed",message:bn._0}}:((J(nn.controls_truncated,!0)||Ui)&&Rt(fe),{TAG:"Ok",_0:nn})},fu={join:(fe,ze,Le)=>Ke(fe,ze,v(Le,{rejoinPayload:void 0,registrationId:void 0})),unregisterJoin:(fe,ze)=>{let Le=y[fe];if(!(Le===void 0||(fr(Le,ze),Object.entries(Le).length!==0)))return fr(y,fe),fr(S,fe)},push:Ie,pushIfConnected:(fe,ze,Le)=>W.connected?Re(fe,ze,Le,p,void 0):Promise.resolve({TAG:"Error",_0:{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"NotConnected",message:"phoenix client is not connected"}}}),onControl:fe=>{V.push(fe)},onEvent:fe=>{F.push(fe)},onBeforeControlReplay:fe=>{D.push(fe)},onReconnect:fe=>{q.push(fe)},onDisconnect:fe=>{re.push(fe)},onControlEpochChange:fe=>{te.push(fe)},forceReconnect:fe=>W.closed||!W.connected?!1:(zr({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},void 0,v(fe,"forced_stale_reconnect")),!0),hardReset:fe=>{if(W.closed)return!1;zr({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},void 0,v(fe,"hard_reset"));let ze=W.reconnectTimer;return ze!==void 0&&(clearTimeout(ce(ze)),W.reconnectTimer=void 0),Ce(),!0},close:()=>ie({TAG:"Transport",_0:{phase:"WaitForConnection",reason:"ClientClosed",message:"phoenix client closed"}})};X(),Ce();let os=await W.ready;return os.TAG==="Ok"?{TAG:"Ok",_0:fu}:{TAG:"Error",_0:os._0}}function N$(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function vl(e,t){let r=e[t];if(typeof r=="string")return r}function Sp(e,t){let r=e[t];if(Array.isArray(r))return r}function px(e){return Fe(e,t=>{if(typeof t!="object"||t===null||Array.isArray(t))return;if(vl(t,"type")==="text")return vl(t,"text")}).join(`
568
+ `)}function tX(e){return{kind:e.kind,seq:e.seq,at:e.at,harness:e.harness,body:e.body,structured:z(e.structured,t=>t),actor:z(e.actor,t=>t),attachments:e.attachments,sourceSeq:e.sourceSeq,streamKey:e.streamKey}}function rX(e){return{model:e.model,contextWindow:e.contextWindow,maxEmissionTokens:e.maxEmissionTokens}}function P2e(e){let t=ct(e);if(t===void 0)return;let r=Xu(t,"kind"),n=yf(t,"seq");if(r!==void 0&&n!==void 0)return{kind:r,seq:n,at:Xu(t,"at"),harness:v(Xu(t,"engine"),"none"),body:v(Xu(t,"body"),""),structured:Ak(t,"structured"),actor:Ak(t,"actor"),attachments:v(XY(t,"attachments"),[]),sourceSeq:yf(t,"source_seq"),streamKey:Xu(t,"stream_key")}}function G2e(e){let t=ct(e);if(t===void 0)return;let r=yf(t,"context_window"),n=yf(t,"max_emission_tokens");if(r!==void 0&&n!==void 0&&n>0)return{model:Xu(t,"model"),contextWindow:r,maxEmissionTokens:n}}function R2e(e){let t=yf(e,"ir_version"),r=XY(e,"nodes");if(t===void 0||r===void 0)return;let n=e.has_more,i;return i=n===!0,{threadTitle:Xu(e,"thread_title"),nodes:Fe(r,P2e),hasMore:i,cursor:yf(e,"cursor"),budget:E(e.budget,G2e)}}async function nX(e,t,r,n){let i=r.workspace,o=r.channel,a=r.threadId;if(i===void 0||o===void 0||a===void 0)return;let s=[],l,d,u,c=0,f=0,h;for(;Bn(h)&&f<20;){let p={};p.workspace=i,p.channel=o,p.thread_id=a;let _=u;_!==void 0&&(p.cursor=_);let b=await e(t,"session:thread_transcript",p);if(b.TAG==="Ok"){let y=b._0,S=eX(y);if(S!==void 0){let T=R2e(S);if(T!==void 0){l=cn(l,T.budget),d=cn(d,T.threadTitle),s=T.nodes.concat(s),c=c+nt(T.nodes,0,(P,C)=>C.kind==="reasoning"?P:P+C.body.length);let w=l,A=w!==void 0?c/4>=w.maxEmissionTokens:!1;!T.hasMore||Bn(T.cursor)||A?h=ve({nodes:s,budget:l,threadTitle:d}):(u=T.cursor,f=f+1|0)}else h=ve(f===0?void 0:{nodes:s,budget:l,threadTitle:d})}else n("kandan.reconnect_thread_transcript_fetch_failed",Object.fromEntries([["thread_id",a],["page",f],["reply",JSON.stringify(y).slice(0,300)]])),h=ve(f===0?void 0:{nodes:s,budget:l,threadTitle:d})}else n("kandan.reconnect_thread_transcript_fetch_failed",Object.fromEntries([["thread_id",a],["message",b._0]])),h=ve(void 0)}let m=h;return m!==void 0?ce(m):{nodes:s,budget:l,threadTitle:d}}function I$(e,t){return"Codex "+e+" did not reply within "+t.toString()+"ms (start request timed out)"}function I2e(e,t){return"Codex "+e+" did not reply within "+t.toString()+"ms (completion snapshot request timed out)"}function iX(e,t,r,n){return t<=0?n:new Promise((i,o)=>{let a=e.setTimer(()=>i({TAG:"Error",_0:r}),t);n.then(s=>(e.clearTimer(a),i(s),Promise.resolve()))})}function xp(e,t,r,n){return iX(e,t,I$(r,t),n)}function oX(e,t,r,n){return iX(e,t,I2e(r,t),n)}function P$(e){return e==="ResumeArchived"?"resume_archived":"forced_inject_not_found"}var D2e="the server marked the durable engine session dead after an acknowledged-but-unexecuted turn";async function D$(e,t,r,n,i,o){let a={};a.threadId=n,Object.entries(i).forEach(m=>{a[m[0]]=m[1]});let s=a,l=(m,p)=>xp(t,r,m,e(m,p)),d=async(m,p)=>{o.log("kandan.reconnect_thread_unarchive_started",Object.fromEntries([["codex_thread_id",n],["discovered_by",P$(m)],["message",p]]));let g=await(async()=>{let S=await l("thread/unarchive",Object.fromEntries([["threadId",n]]));if(S.TAG!=="Ok")return{TAG:"Error",_0:S._0};let T=S._0;if(T.TAG!=="ResultReply")return{TAG:"Error",_0:"thread/unarchive failed: "+T.message};let w=await l("thread/resume",s);if(w.TAG!=="Ok")return{TAG:"Error",_0:w._0};let A=w._0;return A.TAG==="ResultReply"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:"thread/resume after unarchive failed: "+A.message}})();if(g.TAG==="Ok")return o.log("kandan.reconnect_thread_unarchive_resumed",Object.fromEntries([["codex_thread_id",n],["discovered_by",P$(m)]])),{TAG:"Ok",_0:"Resumed"};let b=g._0;o.log("kandan.reconnect_thread_unarchive_failed",Object.fromEntries([["codex_thread_id",n],["discovered_by",P$(m)],["archive_error",p],["message",b]]));let y;return y=m==="ResumeArchived"?b:"thread/inject_items failed: "+p+"; archive recovery failed: "+b,{TAG:"Error",_0:{message:y}}},u=async m=>{o.log(o.forceRehydrate?"kandan.reconnect_thread_rehydrate_forced":"kandan.reconnect_thread_resume_failed",Object.fromEntries([["codex_thread_id",n],["message",m],["forced",o.forceRehydrate],["rehydrating",!0]]));let p=await(async()=>{let g=o.buildRehydrationItems,b;if(g!==void 0){let C=await g(m);C.TAG==="Ok"?b=C._0:(o.log("kandan.reconnect_thread_rehydration_items_failed",Object.fromEntries([["codex_thread_id",n],["message",C._0]])),b=void 0)}else b=void 0;let y,S=0;if(b!==void 0&&b.length!==0?y={TAG:"Ok",_0:b.slice()}:S=1,S===1){let C=await o.buildRehydrationText(m);y=C.TAG==="Ok"?{TAG:"Ok",_0:[Object.fromEntries([["type","agentMessage"],["text",C._0]])]}:{TAG:"Error",_0:C._0}}if(y.TAG!=="Ok")return{TAG:"Error",_0:y._0};let T=await l("thread/inject_items",Object.fromEntries([["threadId",n],["items",y._0]]));if(T.TAG!=="Ok")return{TAG:"Error",_0:T._0};let w=T._0;if(w.TAG==="ResultReply"){let C=await l("thread/resume",s);if(C.TAG!=="Ok")return{TAG:"Error",_0:C._0};let k=C._0;return k.TAG==="ResultReply"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:"rehydrated thread/resume failed: "+k.message}}let A=w.message;if(!(o.forceRehydrate&&AJ(A)))return{TAG:"Error",_0:"thread/inject_items failed: "+A};let P=await d("ForcedInjectNotFound",A);return P.TAG==="Ok"?{TAG:"Ok",_0:P._0}:{TAG:"Error",_0:P._0.message}})();if(p.TAG==="Ok"){let g=p._0;return g!==void 0?{TAG:"Ok",_0:g}:(o.log("kandan.reconnect_thread_rehydrated",Object.fromEntries([["codex_thread_id",n],["resume_failure",m]])),{TAG:"Ok",_0:{TAG:"Rehydrated",resumeFailure:m}})}let _=p._0;return o.log("kandan.reconnect_thread_rehydration_failed",Object.fromEntries([["codex_thread_id",n],["resume_failure",m],["rehydration_failure",_]])),{TAG:"Error",_0:{message:"could not resume this thread's engine session ("+m+") and rebuilding a fresh session from the thread transcript also failed ("+_+")"}}};if(o.forceRehydrate)return await u(D2e);let c=await l("thread/resume",s);if(c.TAG!=="Ok")return{TAG:"Error",_0:{message:c._0}};let f=c._0;if(f.TAG==="ResultReply")return{TAG:"Ok",_0:"Resumed"};let h=f.message;return wJ(h)?await d("ResumeArchived",h):await u(h)}var M2e=L3(e=>({joinRef:e.item(0,U1(B)),ref:e.item(1,U1(B)),topic:e.item(2,B),event:e.item(3,B),payload:e.item(4,Ti)}));function sX(e){return Kl(e,M2e)}function y0(e){let t=St(e);return t!==void 0?v(At(ce(t)),"unknown error"):"unknown error"}function j2e(e){let t=E(St(e),r=>xc(r));return t!==void 0?t:null}function qn(e){return e.TAG==="Transport"?e._0.message:e.message}function F2e(e,t){return{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"TimeoutReason",message:"phoenix push timed out after "+e.toString()+"ms waiting for connection: "+t}}}function N2e(e,t){return{TAG:"Transport",_0:{phase:"Reply",reason:"TimeoutReason",message:"phoenix push timed out after "+e.toString()+"ms: "+t}}}function q2e(e){return e!==void 0?e():!0}function cX(e){return e.TAG==="Transport"?e._0.phase==="WaitForConnection":!1}function mx(e){return e.TAG==="Transport"}function fX(e){return{current:t=>e.current(),adopt:(t,r)=>e.adopt(t,r)}}var z2e="base64url.bearer.phx.";function L2e(e){let t;t=typeof e=="object"&&e!==null&&!Array.isArray(e)?bf(e):e;let r=JSON.stringify(t);return r.length<=400?r:r.slice(0,400)+"\u2026"}var U2e=new RegExp("/$");function B2e(e){let t=ho(e);if(t===void 0)return{TAG:"Error",_0:"Invalid URL"};let r=ce(t);switch(r.protocol){case"http:":r.protocol="ws:";break;case"https:":r.protocol="wss:";break}return r.pathname=r.pathname.replace(U2e,"")+"/socket/websocket",r.searchParams.set("vsn","2.0.0"),{TAG:"Ok",_0:r.toString()}}function W2e(e){return[z2e+Y4(e),"phoenix"]}var mX="[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?<![\\uD800-\\uDBFF])[\\uDC00-\\uDFFF]",ux=new RegExp(mX),cx=new RegExp(mX,"g"),fx="\uFFFD";function M$(e){if(Array.isArray(e))return e.some(M$);if(e===null)return!1;switch(typeof e){case"string":return ux.test(e);case"object":return Object.entries(e).some(t=>ux.test(t[0])?!0:M$(t[1]));default:return!1}}function $$(e){if(Array.isArray(e))return e.map($$);if(e===null)return e;switch(typeof e){case"string":return e.replace(cx,fx);case"object":return Object.fromEntries(Object.entries(e).map(t=>[t[0].replace(cx,fx),$$(t[1])]));default:return e}}function H2e(e){return Object.entries(e).some(t=>ux.test(t[0])?!0:M$(t[1]))}function V2e(e){return Object.fromEntries(Object.entries(e).map(t=>[t[0].replace(cx,fx),$$(t[1])]))}function K2e(e,t,r){return ux.test(e)||ux.test(t)?!0:H2e(r)}function J2e(e,t,r){return{frameTopic:e.replace(cx,fx),frameEvent:t.replace(cx,fx),framePayload:V2e(r)}}function lX(e){let t=r=>r!==void 0?r:null;return JSON.stringify([t(e.joinRef),t(e.ref),e.topic,e.event,e.payload])}function dX(e){let t;try{t={TAG:"Ok",_0:JSON.parse(e)}}catch(n){let i=N(n);t={TAG:"Error",_0:y0(i)}}if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=sX(t._0);return r.TAG==="Ok"?{TAG:"Ok",_0:r._0}:{TAG:"Error",_0:"invalid Phoenix frame"}}function pX(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function Ck(e,t){return E(e,r=>{let n=r[t];if(typeof n=="object"&&n!==null&&!Array.isArray(n))return n})}function x0(e,t){return E(e,r=>{let n=r[t];if(typeof n=="string")return n})}function dx(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e.status,r=e.response;if(t==="ok"&&typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function Z2e(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?li(e.status,"ok"):!1}function Q2e(e){return typeof e!="object"||e===null||Array.isArray(e)?!1:typeof e.type=="string"}function kk(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&sr(r))return r}function uX(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return kk(e,"control_seq")}function Y2e(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e.event,r=e.payload;if(t===void 0||typeof t!="string"||r===void 0||typeof r!="object"||r===null||Array.isArray(r))return;let n=e.control_seq;return n!==void 0?typeof n=="number"&&sr(n)?{event:t,payload:r,controlSeq:n}:void 0:{event:t,payload:r,controlSeq:void 0}}var X2e="npm install -g @linzumi/cli@latest",eRe=new RegExp("^npm install -g @linzumi\\/cli(@[0-9A-Za-z^~.-]{1,32})?$"),tRe=new RegExp("^\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]{1,32})?$");function rRe(e){return e!==void 0&&typeof e=="string"&&e.length<=100&&eRe.test(e)?e:X2e}function nRe(e){return e!==void 0&&typeof e=="string"&&e.length<=64&&tRe.test(e)?"@linzumi/cli "+e+" or newer":"a newer @linzumi/cli"}function j$(e){let t=pX(e),r=Ck(t,"response"),n=x0(r,"error");if(n!==void 0)return n;let i=x0(r,"reason");if(i!==void 0)return i;let o=x0(r,"message");if(o!==void 0)return o;let a=x0(t,"error");return t!==void 0?a!==void 0?a:"unknown":"invalid reply"}function iRe(e){let t=Ck(pX(e),"response");if(t===void 0||!J(t.error,"commander_version_too_old"))return j$(e);let r=nRe(t.min_version),n=rRe(t.upgrade_command);return"commander_version_too_old: this Linzumi server requires "+r+". Update with: "+n}function oRe(e){let t=e;if(x0(t,"agent_provider")==="claude-code")return"claude-code-sdk";let n=Ck(t,"metadata"),i=Ck(n,"local_codex_runner");return x0(i,"agent_provider")==="claude-code"?"claude-code-sdk":"codex-app-server"}function aRe(e,t){let r;try{r=e.initial(t)}catch{r=void 0}if(r!==void 0&&sr(r)&&r>=0)return r}function sRe(e,t){if(e===void 0)return;let r;try{r=e.current(t)}catch{r=void 0}if(r!==void 0&&r!=="")return r}async function hX(e,t,r,n){let i=n!==void 0?n:{},o=r!==void 0?r:RA,a;a=t.TAG==="Token"?t._0:void 0;let s={contents:a},l=()=>{if(t.TAG==="Token")return{TAG:"Ok",_0:t._0};let fe;try{fe=t._0()}catch{fe=void 0}if(fe!==void 0&&fe.trim()!=="")return s.contents=fe,{TAG:"Ok",_0:fe};let ze=s.contents;return ze!==void 0?{TAG:"Ok",_0:ze}:{TAG:"Error",_0:{TAG:"Failed",message:"phoenix token provider returned no usable token"}}},d=i.onOperatorNotice,u=d!==void 0?d:fe=>{console.error(fe)},c=i.auditEvent,f=c!==void 0?c:(fe,ze)=>{},h=i.onPushRecorded,m=h!==void 0?h:fe=>{},p=v(i.pushTimeoutMs,3e4),_=i.controlCursorStore,g=i.controlEpochStore,b={},y={},S={},T={},w={},A={},P={},C={},k=new Set,$={contents:1},V=[],F=[],D=[],q=[],re=[],te=[],W={nextRef:1,websocket:void 0,closed:!1,connected:!1,hasEverConnected:!1,connectionGeneration:0,ready:Promise.resolve({TAG:"Ok",_0:void 0}),settleReady:void 0,reconnectTimer:void 0,reconnectAttempts:0,backoffResetTimer:void 0,heartbeatTimer:void 0,connectedAt:void 0},j=fe=>{let ze=Object.entries(b);ze.forEach(Le=>fr(b,Le[0])),ze.forEach(Le=>{let dt=Le[1];clearTimeout(dt.timer),dt.settle({TAG:"Error",_0:fe})})},X=()=>{if(W.settleReady!==void 0)return;let ze={contents:void 0};W.ready=new Promise((Le,dt)=>{ze.contents=Le}),W.settleReady=ze.contents},M=()=>{let fe=W.settleReady;fe!==void 0&&fe({TAG:"Ok",_0:void 0}),W.settleReady=void 0},I=fe=>{let ze=W.settleReady;ze!==void 0&&ze({TAG:"Error",_0:fe}),W.settleReady=void 0},Q=()=>{let fe=W.heartbeatTimer;if(fe!==void 0){clearInterval(ce(fe)),W.heartbeatTimer=void 0;return}},H=()=>{let fe=W.backoffResetTimer;if(fe!==void 0){clearTimeout(ce(fe)),W.backoffResetTimer=void 0;return}},ie=fe=>{W.closed=!0;let ze=W.reconnectTimer;ze!==void 0&&(clearTimeout(ce(ze)),W.reconnectTimer=void 0),Q(),H();let Le=W.websocket;Le!==void 0&&Le.close(),I(fe),j({TAG:"Transport",_0:{phase:"Reply",reason:"ClientClosed",message:"phoenix client closed"}})},se=fe=>v(C[fe],0),de=fe=>{fr(T,fe),fr(w,fe),fr(A,fe),fr(P,fe),C[fe]=se(fe)+1|0},le=(fe,ze)=>{let Le=T[fe];if(Le!==void 0){if(ze===Le+1){let tt=Le+1,Ot=w[fe];if(Ot!==void 0)for(;Ot.has(tt+1);)tt=tt+1,Ot.delete(tt);T[fe]=tt;return}let dt=w[fe],it;if(dt!==void 0)it=dt;else{let tt=new Set;w[fe]=tt,it=tt}it.add(ze);return}T[fe]=ze},be=(fe,ze)=>{let Le=uX(ze);if(Le===void 0)return!0;let dt=T[fe],it=dt!==void 0?Le<=dt:!1,tt=w[fe],Ot=tt!==void 0?tt.has(Le):!1;return it||Ot?!1:(le(fe,Le),!0)},Xe=(fe,ze)=>{if(_!==void 0)try{return _.onAdvance(fe,ze)}catch{return}},Qe=(fe,ze)=>{if(!fe.startsWith("local_runner:"))return;let Le=kk(ze,"control_high_water");if(Le===void 0)return;let dt=T[fe];if(dt!==void 0&&Le<dt){de(fe);let it=0;if(_===void 0)return;let tt=_.reset;if(tt===void 0)return;try{return tt(fe,it)}catch{return}}},oe=(fe,ze)=>{let Le=fe.startsWith("local_runner:");if(g===void 0||!Le)return!1;let dt=ze.control_epoch;if(dt===void 0||typeof dt!="string"||dt==="")return!1;let it;try{it=g.adopt(fe,dt)}catch{it=!1}return it&&(de(fe),te.forEach(tt=>{try{return tt(fe)}catch{return}})),it},Te=fe=>{let ze=T[fe];if(ze!==void 0)return ze;if(_===void 0)return;let Le=aRe(_,fe);return Le!==void 0?(T[fe]=Le,Le):0},qe=new Set,Ne=(fe,ze,Le,dt)=>{try{let it=!1;if(fe.startsWith("local_runner:")&&ze==="control"&&Q2e(dt)){let tt;if(be(fe,dt)){let Ot=uX(dt);if(Ot!==void 0){let nn=A[fe],on;if(nn!==void 0)on=nn;else{let hn=new Set;A[fe]=hn,on=hn}on.add(Ot)}let Xt=se(fe),Xr=Ot!==void 0?()=>{if(Xt!==se(fe))return;let nn=A[fe];nn!==void 0&&nn.delete(Ot);let on=P[fe];on!==void 0&&Ot<=on||(P[fe]=Ot);let hn=E(nn,zn=>nt(zn.values().toArray(),void 0,(Ui,bn)=>Ui!==void 0&&Ui<=bn?Ui:bn)),gn=hn!==void 0?hn-1:P[fe];if(gn===void 0)return;let ai=T[fe],ln=ai!==void 0&&ai<gn?ai:gn;Xe(fe,ln)}:()=>{};V.forEach(nn=>nn(dt,Xr)),tt=!1}else tt=!0;it=tt}if(!it&&Le===void 0&&ze!=="phx_reply"&&ze!=="phx_error"){F.forEach(tt=>tt(fe,ze,dt));return}else return}catch(it){let tt=N(it),Ot=y0(tt);try{f("phoenix.pushed_frame_dispatch_failed",Object.fromEntries([["topic",fe],["frame",ze],["message",Ot],["stack",j2e(tt)],["payloadSnippet",L2e(dt)],["dropped",!0]]))}catch{}if(qe.has(ze))return;qe.add(ze);try{return u('linzumi: dropped a pushed "'+ze+'" frame on '+fe+" whose dispatch failed ("+Ot+"); see the CLI audit log for the payload snippet.")}catch{return}}},ae=(fe,ze)=>{let Le=T[fe],dt={contents:Le!==void 0&&Le>=ze?Le:ze},it=w[fe];if(it!==void 0)for(it.values().toArray().forEach(tt=>{if(tt<=dt.contents){it.delete(tt);return}});it.has(dt.contents+1);)dt.contents=dt.contents+1,it.delete(dt.contents);T[fe]=dt.contents},Ue=fe=>{let ze=T[fe];if(ze===void 0)return;let Le=A[fe],dt=Le!==void 0&&Le.size>0?z(nt(Le.values().toArray(),void 0,(it,tt)=>it!==void 0&&it<=tt?it:tt),it=>it-1):void 0;Xe(fe,dt!==void 0&&dt<ze?dt:ze)},Ee=(fe,ze)=>{if(fe.startsWith("chat:")){let Le=ze.events;return Le===void 0?{TAG:"Ok",_0:void 0}:Le===null?{TAG:"Ok",_0:void 0}:Array.isArray(Le)?(Le.forEach(dt=>{F.forEach(it=>it(fe,"event",dt))}),{TAG:"Ok",_0:void 0}):{TAG:"Error",_0:"phoenix rejoin returned invalid events for "+fe}}else{if(!fe.startsWith("local_runner:"))return{TAG:"Ok",_0:void 0};let Le=ze.controls;if(Le===void 0)return{TAG:"Ok",_0:void 0};if(Le===null)return{TAG:"Ok",_0:void 0};if(!Array.isArray(Le))return{TAG:"Error",_0:"phoenix rejoin returned invalid controls for "+fe};Le.forEach(it=>{let tt=Y2e(it);if(tt===void 0)return;let Ot={};Object.entries(tt.payload).forEach(Xr=>{Ot[Xr[0]]=Xr[1]}),Ot.replayed=!0;let Xt=tt.controlSeq;Xt!==void 0&&(Ot.control_seq=Xt),Ne(fe,tt.event,void 0,Ot)});let dt=kk(ze,"controls_advance_to");if(dt!==void 0){let it=ze.control_high_water;typeof it=="number"&&dt>it||ae(fe,dt)}return Ue(fe),{TAG:"Ok",_0:void 0}}},Re=(fe,ze,Le,dt,it)=>{let tt=W.websocket;if(tt===void 0)return Promise.resolve({TAG:"Error",_0:{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"SocketNotOpen",message:"phoenix websocket is not open"}}});if(tt.readyState()!==pp)return Promise.resolve({TAG:"Error",_0:{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"SocketNotOpen",message:"phoenix websocket is not open"}}});let Ot=W.nextRef.toString();W.nextRef=W.nextRef+1|0,ze==="phx_join"&&(S[fe]=Ot);let Xt=ze==="phx_join"?Ot:S[fe],Xr=ix(Le),nn;if(K2e(fe,ze,Xr)){let Fn=J2e(fe,ze,Xr);f("phoenix.outbound_frame_lone_surrogate_sanitized",Object.fromEntries([["purpose","phoenix.send_totality"],["topic",Fn.frameTopic],["frame_event",Fn.frameEvent]])),nn=Fn}else nn={frameTopic:fe,frameEvent:ze,framePayload:Xr};let on=nn.framePayload,hn=Ot,gn=nn.frameTopic,ai=nn.frameEvent,Ui=lX({joinRef:Xt,ref:hn,topic:gn,event:ai,payload:on}),bn=Math.max(0,Math.ceil(dt))|0;return new Promise((Fn,Zi)=>{let Oe=setTimeout(()=>{if(b[Ot]!==void 0)return fr(b,Ot),Fn({TAG:"Error",_0:N2e(bn,ze)})},bn);b[Ot]={event:ze,timer:Oe,settle:Fn};try{m({provider:oRe(on),rawFrameText:Ui,topic:fe,event:ze,payload:on})}catch{}let et;try{et={TAG:"Ok",_0:tt.send(Ui)}}catch(Gt){let qt=N(Gt);et={TAG:"Error",_0:y0(qt)}}return et.TAG==="Ok"?it!==void 0?it():void 0:Fn({TAG:"Error",_0:{TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:et._0}}})})},Ve=(fe,ze)=>{let Le={};if(ze.forEach(dt=>{Object.entries(dt).forEach(it=>{let tt=it[1],Ot=it[0],Xt=Ot==="last_seq",Xr=Le[Ot];if(Xt&&typeof Xr=="number"&&typeof tt=="number"){Le[Ot]=tt<Xr?tt:Xr;return}if(Xr===void 0){Le[Ot]=tt;return}})}),fe.startsWith("local_runner:")){let dt=Te(fe);dt!==void 0&&(Le.last_control_seq=dt);let it=sRe(g,fe);it!==void 0&&(Le.last_control_epoch=it)}return Le},Be=fe=>Object.entries(fe).map(ze=>ze[1].payload()),ht=async fe=>{let ze=0,Le=0,dt=!0;for(;dt;){let it=y[fe];if(it!==void 0){let tt=Te(fe),Ot=await Re(fe,"phx_join",Ve(fe,Be(it)),p,void 0);if(ze=ze+1|0,Ot.TAG==="Ok"){let Xt=dx(Ot._0);if(Xt!==void 0){let Xr=Xt.controls,nn=Array.isArray(Xr)?Xr.length:0;Le=Le+nn|0;let on=J(Xt.controls_truncated,!0),hn=Te(fe),gn;if(on){let ai=kk(Xt,"control_high_water");gn=ai!==void 0&&hn!==void 0?ai-hn>0?ai-hn:0:void 0}else gn=0;if(f("phoenix.control_backlog_fetch_progress",Object.fromEntries([["topic",fe],["fetches",ze],["fetched",Le],["remaining_estimate",gn!==void 0?gn:null],["truncated",on]])),on)if(J(hn,tt)){let ai=hn!==void 0?hn.toString():"undefined";u("phoenix.control_backlog_fetch_stalled topic="+fe+" fetches="+ze.toString()+" fetched="+Le.toString()+" cursor="+ai+"; a truncated reply made no cursor progress - stopping this fetch loop (a server paging bug; the next reconnect resumes from the watermark)"),dt=!1}else{if(ze%20===0){let ln=gn!==void 0?gn.toString():"unknown";u("phoenix.control_backlog_cap_exceeded topic="+fe+" fetches="+ze.toString()+" fetched="+Le.toString()+" remaining_estimate="+ln+"; continuing the paginated backlog fetch (a healthy connection never reconnects, so nothing is deferred)")}await new Promise((ln,zn)=>{setImmediate(()=>ln())})}else dt=!1}else dt=!1}else dt=!1}else dt=!1}},Rt=fe=>{if(!k.has(fe)){k.add(fe),Fr(ht(fe).then(()=>{k.delete(fe)}),ze=>(k.delete(fe),Promise.resolve()));return}},Wt=async(fe,ze)=>fe.startsWith("local_runner:")?await nt(D,Promise.resolve({TAG:"Ok",_0:void 0}),(Le,dt)=>Le.then(async it=>it.TAG==="Ok"?await Fr(dt(fe,ze),tt=>Promise.resolve({TAG:"Error",_0:y0(tt)})):{TAG:"Error",_0:it._0})):{TAG:"Ok",_0:void 0},ge=async fe=>{let ze=!0,Le=fe.payload,dt=fe.event,it=fe.topic,tt=fe.ref;if(tt!==void 0&&(dt==="phx_reply"||dt==="phx_error")){let Xt=b[tt];if(Xt!==void 0){fr(b,tt),clearTimeout(Xt.timer);let Xr=dt==="phx_error",nn=Z2e(Le)&&Xt.event!=="phx_join";if(Xr)Xt.settle({TAG:"Error",_0:{TAG:"Failed",message:"phoenix push failed"}});else if(nn)Xt.settle({TAG:"Error",_0:{TAG:"Failed",message:"phoenix push failed: "+j$(Le)}});else{let on=y[it],hn=dx(Le),gn;if(on!==void 0&&hn!==void 0&&Xt.event==="phx_join"){let ai=nt(Object.values(on),{TAG:"Ok",_0:void 0},(ln,zn)=>Ae(ln,()=>{let Ui=zn.onJoinReply;return Ui!==void 0?Ui(hn):{TAG:"Ok",_0:void 0}}));if(ai.TAG==="Ok"){let ln=await Wt(it,hn);if(ln.TAG==="Ok"){let zn=oe(it,hn);Qe(it,hn);let Ui=zn?{TAG:"Ok",_0:void 0}:Ee(it,hn);Ui.TAG==="Ok"?(it.startsWith("local_runner:")&&(J(hn.controls_truncated,!0)||zn)&&Rt(it),gn=!1):(Xt.settle({TAG:"Error",_0:{TAG:"Failed",message:Ui._0}}),ze=!1,gn=!0)}else Xt.settle({TAG:"Error",_0:{TAG:"Failed",message:ln._0}}),ze=!1,gn=!0}else Xt.settle({TAG:"Error",_0:{TAG:"Failed",message:ai._0}}),ze=!1,gn=!0}else gn=!1;gn||Xt.settle({TAG:"Ok",_0:Le})}}}return Ne(it,dt,tt,Le),ze},Ge=async fe=>{let ze=dX(v(fe.data,"undefined"));return ze.TAG==="Ok"?await ge(ze._0):(f("phoenix.frame_decode_failed",Object.fromEntries([["message",ze._0],["dropped",!0]])),!0)},Ye={},jt=async()=>{Object.entries(Ye).forEach(it=>fr(Ye,it[0]));let fe=Object.entries(y),ze,Le=0;for(;ze===void 0&&Le<fe.length;){let it=fe[Le];if(it!==void 0){let tt=it[0],Ot=await Re(tt,"phx_join",Ve(tt,Be(it[1])),p,void 0);if(Ot.TAG==="Ok"){let Xt=dx(Ot._0);Xt!==void 0?Ye[tt]=Xt:ze={TAG:"Failed",message:"phoenix rejoin failed for "+tt}}else ze=Ot._0}Le=Le+1|0}let dt=ze;return dt!==void 0?{TAG:"Error",_0:dt}:{TAG:"Ok",_0:void 0}},Dt={contents:()=>Promise.resolve()},Kt=()=>{let fe=W.closed,ze=W.reconnectTimer;if(fe||ze!==void 0)return;X();let Le=Math.min(1e4,250*2**W.reconnectAttempts);W.reconnectAttempts=W.reconnectAttempts+1|0,W.reconnectTimer=ve(setTimeout(()=>{W.reconnectTimer=void 0,Dt.contents()},Math.random()*Le|0))},zr=(fe,ze,Le)=>{let dt=W.connected,it=W.connectedAt;W.connectedAt=void 0,W.connected=!1;let tt=W.websocket;if(W.websocket=void 0,Q(),H(),tt!==void 0&&(tt.readyState()===tJ||tt.readyState()===pp))try{tt.close()}catch{}if(j(fe),Kt(),!dt)return;let Ot;Ot=Le!==void 0&&Le!==""?Le:void 0;let Xt=z(it,on=>Math.max(0,Date.now()-on)),Xr=W.reconnectAttempts,nn={closeCode:ze,closeReason:Ot,previousSessionDurationMs:Xt,reconnectCount:Xr};re.forEach(on=>{try{return on(nn)}catch{return}})},En=()=>{Q(),W.heartbeatTimer=ve(setInterval(()=>{let fe=W.websocket;if(fe===void 0||fe.readyState()!==pp)return;let ze=W.nextRef.toString();W.nextRef=W.nextRef+1|0;let it={joinRef:void 0,ref:ze,topic:"phoenix",event:"heartbeat",payload:{}};try{return fe.send(lX(it))}catch{return}},3e4))},pn=()=>{H();let fe=setTimeout(()=>{if(W.backoffResetTimer=void 0,W.connected){W.reconnectAttempts=0;return}},3e4);fe.unref(),W.backoffResetTimer=ve(fe)},Kn=(fe,ze)=>new Promise((Le,dt)=>{let it={contents:void 0},tt=Ot=>{let Xt=it.contents;Xt!==void 0&&(clearTimeout(ce(Xt)),it.contents=void 0),Le(Ot)};fe.on("SocketOpen",Ot=>tt({TAG:"Ok",_0:void 0})),fe.on("SocketError",Ot=>tt({TAG:"Error",_0:"websocket open failed"})),fe.on("SocketClose",Ot=>tt({TAG:"Error",_0:"websocket closed before open"})),it.contents=ve(setTimeout(()=>{it.contents=void 0,tt({TAG:"Error",_0:"websocket open timed out after "+ze.toString()+"ms"})},ze))}),Ce=async()=>{if(W.closed)return;let fe=l(),ze=B2e(e),Le;if(fe.TAG==="Ok")if(ze.TAG==="Ok"){let tt;try{tt={TAG:"Ok",_0:o(ze._0,W2e(fe._0))}}catch(Ot){let Xt=N(Ot);tt={TAG:"Error",_0:{TAG:"Failed",message:y0(Xt)}}}Le=tt.TAG==="Ok"?{TAG:"Ok",_0:tt._0}:{TAG:"Error",_0:tt._0}}else Le={TAG:"Error",_0:{TAG:"Failed",message:ze._0}};else Le={TAG:"Error",_0:fe._0};if(Le.TAG==="Ok"){let tt=Le._0;W.websocket=tt;let Ot={contents:void 0},Xt={contents:0},Xr=bn=>{Xt.contents=Xt.contents+1|0;let Fn=Xt.contents;Ot.contents=bn,bn.then(Zi=>(Xt.contents===Fn&&(Ot.contents=void 0),Zi))},nn=bn=>Fr(Ge(bn),Fn=>{let Zi=y0(Fn);f("phoenix.message_dispatch_failed",Object.fromEntries([["message",Zi],["reconnecting",!0]]));let Oe=W.websocket;return Oe!==void 0&&Oe===tt&&zr({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket reconnect failed"}},void 0,void 0),Promise.resolve(!1)});tt.on("SocketMessage",bn=>{let Fn=dX(v(bn.data,"undefined")),Zi;if(Fn.TAG==="Ok"){let et=Fn._0,Gt=et.ref;if(Gt!==void 0){let qt=et.topic;if(et.event==="phx_reply"){let Jt=b[Gt];Zi=Jt!==void 0?Jt.event==="phx_join"&&qt in y&&dx(et.payload)!==void 0&&qt.startsWith("local_runner:")&&D.length!==0:!1}else Zi=!1}else Zi=!1}else Zi=!1;let Oe=Ot.contents;if(Oe!==void 0)return Xr(Oe.then(async et=>{let Gt=W.websocket;return et&&Gt!==void 0&&Gt===tt?await nn(bn):!1}));if(Zi)return Xr(nn(bn));nn(bn)}),tt.on("SocketClose",bn=>{let Fn=W.websocket;if(Fn!==void 0&&Fn===tt)return zr({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},bn.code,bn.reason)}),tt.on("SocketError",bn=>{let Fn=W.websocket;if(Fn!==void 0&&Fn===tt)return zr({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},void 0,void 0)});let on=await Kn(tt,p),hn=()=>{if(W.closed)return!0;let bn=W.websocket;return bn!==void 0?bn!==tt:!1},gn;if(on.TAG==="Ok")if(hn())gn={TAG:"Ok",_0:!1};else{W.connectionGeneration=W.connectionGeneration+1|0;let bn=await jt();gn=bn.TAG==="Ok"?hn()?{TAG:"Ok",_0:!1}:{TAG:"Ok",_0:!0}:{TAG:"Error",_0:bn._0}}else gn={TAG:"Error",_0:{TAG:"Failed",message:on._0}};if(gn.TAG==="Ok"){if(!gn._0||(W.connected=!0,W.connectedAt=Date.now(),W.hasEverConnected=!0,pn(),En(),M(),W.connectionGeneration<=1))return;let bn={};Object.entries(Ye).forEach(Zi=>{bn[Zi[0]]=Zi[1]});let Fn={contents:!1};return q.forEach(Zi=>{if(Fn.contents)return;let Oe;try{Oe={TAG:"Ok",_0:Zi(bn)}}catch{Oe={TAG:"Error",_0:void 0}}if(Oe.TAG!=="Ok"){Fn.contents=!0;return}Fr(Oe._0,et=>Promise.resolve())}),Fn.contents&&!W.closed?zr({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket reconnect failed"}},void 0,void 0):void 0}let ai=W.websocket,ln=ai!==void 0?ai!==tt:!1,zn=W.closed||ln,Ui=W.hasEverConnected;return zn?void 0:Ui?zr({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket reconnect failed"}},void 0,void 0):ie(gn._0)}let dt=W.closed,it=W.hasEverConnected;if(!dt)return it?zr({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket reconnect failed"}},void 0,void 0):ie(Le._0)};Dt.contents=Ce;let Pe=(fe,ze)=>{let Le=W.ready;return new Promise((dt,it)=>{let tt=setTimeout(()=>dt({TAG:"Error",_0:F2e(p,fe)}),Math.max(0,ze-Date.now())|0);Le.then(Ot=>{clearTimeout(tt),dt(Ot)})})},Ie=async(fe,ze,Le,dt,it,tt)=>{let Ot=Date.now()+p,Xt=await Pe(ze,Ot);return Xt.TAG==="Ok"?q2e(it)?await Re(fe,ze,Le,Ot-Date.now(),dt):(tt!==void 0&&tt(),{TAG:"Ok",_0:null}):{TAG:"Error",_0:Xt._0}},Ke=async(fe,ze,Le)=>{let dt=Le.registrationId,it;if(dt!==void 0)it=dt;else{let Fn="join-registration-"+$.contents.toString();$.contents=$.contents+1|0,it=Fn}let tt=y[fe],Ot=tt!==void 0?Be(tt):[],Xt=await Ie(fe,"phx_join",Ve(fe,Ot.concat([ze])),void 0,void 0,void 0);if(Xt.TAG!=="Ok")return{TAG:"Error",_0:Xt._0};let Xr=Xt._0,nn=dx(Xr);if(nn===void 0)return{TAG:"Error",_0:{TAG:"Failed",message:"phoenix join failed: "+iRe(Xr)}};let on=y[fe],hn=on!==void 0?on:{},gn=Object.entries(hn).length===0,ai=Le.onJoinReply,ln=gn&&ai!==void 0?ai(nn):{TAG:"Ok",_0:void 0};if(ln.TAG!=="Ok")return{TAG:"Error",_0:{TAG:"Failed",message:ln._0}};let zn=Le.rejoinPayload;if(hn[it]={payload:zn!==void 0?zn:()=>ze,onJoinReply:Le.onJoinReply},y[fe]=hn,!(gn&&fe.startsWith("local_runner:")))return{TAG:"Ok",_0:nn};let Ui=oe(fe,nn);Qe(fe,nn);let bn=Ui?{TAG:"Ok",_0:void 0}:Ee(fe,nn);return bn.TAG!=="Ok"?{TAG:"Error",_0:{TAG:"Failed",message:bn._0}}:((J(nn.controls_truncated,!0)||Ui)&&Rt(fe),{TAG:"Ok",_0:nn})},fu={join:(fe,ze,Le)=>Ke(fe,ze,v(Le,{rejoinPayload:void 0,registrationId:void 0})),unregisterJoin:(fe,ze)=>{let Le=y[fe];if(!(Le===void 0||(fr(Le,ze),Object.entries(Le).length!==0)))return fr(y,fe),fr(S,fe)},push:Ie,pushIfConnected:(fe,ze,Le)=>W.connected?Re(fe,ze,Le,p,void 0):Promise.resolve({TAG:"Error",_0:{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"NotConnected",message:"phoenix client is not connected"}}}),onControl:fe=>{V.push(fe)},onEvent:fe=>{F.push(fe)},onBeforeControlReplay:fe=>{D.push(fe)},onReconnect:fe=>{q.push(fe)},onDisconnect:fe=>{re.push(fe)},onControlEpochChange:fe=>{te.push(fe)},forceReconnect:fe=>W.closed||!W.connected?!1:(zr({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},void 0,v(fe,"forced_stale_reconnect")),!0),hardReset:fe=>{if(W.closed)return!1;zr({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},void 0,v(fe,"hard_reset"));let ze=W.reconnectTimer;return ze!==void 0&&(clearTimeout(ce(ze)),W.reconnectTimer=void 0),Ce(),!0},close:()=>ie({TAG:"Transport",_0:{phase:"WaitForConnection",reason:"ClientClosed",message:"phoenix client closed"}})};X(),Ce();let os=await W.ready;return os.TAG==="Ok"?{TAG:"Ok",_0:fu}:{TAG:"Error",_0:os._0}}function N$(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function vl(e,t){let r=e[t];if(typeof r=="string")return r}function Sp(e,t){let r=e[t];if(Array.isArray(r))return r}function px(e){return Fe(e,t=>{if(typeof t!="object"||t===null||Array.isArray(t))return;if(vl(t,"type")==="text")return vl(t,"text")}).join(`
569
569
  `)}function q$(e,t,r,n){return e+":"+t+":"+r+":"+n}function hx(e,t){let r=t.split(":"),n=r[0],i=r[1],o=r[2];if(n===void 0||i===void 0||o===void 0||!(n===e&&i!==""&&o!==""&&r.length>=4))return;let a=r.slice(3,r.length).join(":");if(a!=="")return{keySessionId:i,keyTurnId:o,keyItemId:a}}function z$(e,t){return{threadId:e,threadTitle:void 0,nodes:t,hasMore:!1,cursor:void 0,budget:void 0,session:void 0}}var gX="codex";function dRe(e,t,r){return q$(gX,e,t,r)}function uRe(e){if(e===void 0)return"system_notice";switch(e){case"agentMessage":return"assistant_message";case"commandExecution":return"command_execution";case"fileChange":return"file_change";case"collabAgentToolCall":case"dynamicToolCall":case"mcpToolCall":return"tool_call";case"reasoning":return"reasoning";case"plan":case"subAgentActivity":return"agent_status";case"terminalInput":return"terminal_input";case"userMessage":return"user_message";default:return"system_notice"}}function _X(e){return Fe(e,t=>{if(typeof t=="string")return t})}function cRe(e){let t=vl(e,"type");if(t===void 0)return"";switch(t){case"collabAgentToolCall":return v(vl(e,"prompt"),"");case"commandExecution":return v(vl(e,"aggregatedOutput"),"");case"dynamicToolCall":return rt(Sp(e,"contentItems"),"",px);case"fileChange":return rt(Sp(e,"changes"),[],i=>Fe(i,o=>{if(typeof o=="object"&&o!==null&&!Array.isArray(o))return vl(o,"path")})).join(`
570
570
  `);case"mcpToolCall":return rt(E(N$(e,"result"),i=>Sp(i,"content")),"",px);case"reasoning":let r=rt(Sp(e,"summary"),[],_X),n=rt(Sp(e,"content"),[],_X);return r.concat(n).filter(i=>i!=="").join(`
571
571
 
@@ -584,7 +584,7 @@ Output: `+s:a:s!==void 0?"Output: "+s:void 0,d=[["workflow_event",t]];i!==void 0
584
584
  `+t;case"tool_result":return`[tool result]
585
585
  `+t;default:return"["+e+"] "+t}}function AX(e,t,r,n){let i={};i.type="text",i.text=n;let o={};o.role=e,o.content=[i];let a={};return a.type=e,a.session_id=t,a.uuid=r,a.message=o,a}function RRe(e,t,r,n,i){return"[linzumi cross-harness resume] This session continues linzumi thread "+r+", "+("imported from the "+e+" session "+t+". ")+(n.toString()+" activity records follow verbatim; ")+(i.toString()+" reasoning records were redacted ")+"(provider-private reasoning is never forged across harnesses)."}function kX(e,t){let r={contents:void 0},n=p=>{if(r.contents===void 0){r.contents=p;return}};e===""?n("the caller-bound target session identity must be non-empty"):e.includes(":")&&n("the caller-bound target session identity must be colon-free"),r.contents===void 0&&t.nodes.length===0&&n("an empty page rehydrates nothing - the source session must carry content");let i={contents:void 0},o={contents:void 0};t.nodes.forEach(p=>{if(r.contents===void 0){let g=o.contents;g!==void 0&&p.seq<=g?n("page nodes must ascend by seq"):o.contents=p.seq}if(r.contents===void 0){let g=Fe(JD.map(fp),b=>z(E(p.streamKey,y=>hx(b,y)),y=>[b,y.keySessionId]))[0];if(g!==void 0){let b=g[1],y=g[0];if(y===ORe)n("the page was minted by the claude harness - same-harness resume rides the native session store, never rehydration");else{let S=i.contents;S!==void 0&&(S[0]!==y||S[1]!==b)?n("page mixes two harness session identities"):i.contents=[y,b]}}else n("node carries no parseable minted stream_key identity of a catalog harness")}if(r.contents!==void 0)return;let _=p.structured;if(!(typeof _=="object"&&_!==null&&!Array.isArray(_)))return n("node carries no verbatim native passthrough")});let a=r.contents,s=i.contents;if(a!==void 0)return{TAG:"Error",_0:a};if(s===void 0)return{TAG:"Error",_0:"page carries no source harness identity"};let l=s[1];if(l===e)return{TAG:"Error",_0:"the caller-bound target session identity must be distinct from the source session identity"};let d=s[0],u=[],c=[],f={contents:0};t.nodes.forEach(p=>{let _=p.kind;if(_==="reasoning"){f.contents=f.contents+1|0;return}let g;switch(_){case"assistant_message":g=["assistant",p.body];break;case"user_message":g=["user",p.body];break;default:g=["assistant",GRe(_,p.body)]}let b=g[0],y=ERe(p.seq);u.push({sourceSeq:p.seq,sourceKind:_,uuid:y,role:b}),c.push(AX(b,e,y,g[1]))});let m=[AX("user",e,PRe,RRe(d,l,t.threadId,c.length,f.contents))].concat(c);return{TAG:"Ok",_0:{session:{harnessSessionId:e,messages:m},report:{sourceHarness:d,sourceSessionId:l,sessionMessageCount:m.length,redactedReasoningCount:f.contents,emissions:u}}}}import*as U$ from"node:path";function DRe(e){return e.replace(/[^a-zA-Z0-9]/g,"-")}function MRe(e,t){return U$.join(e,".claude","projects",DRe(t))}var $Re="0.0.0-linzumi-cross-harness-switch";function CX(e,t,r,n,i){let o=mo(t);if(o.TAG!=="Ok")return{TAG:"Error",_0:"the thread's working directory is not resolvable: "+t};let a=o._0,s=MRe(e,a),l=Nt(s);if(l.TAG!=="Ok")return{TAG:"Error",_0:"session store dir creation failed: "+l._0.message};let d=U$.join(s,r+".jsonl"),u={contents:null},c=n.messages.map((m,p)=>{let _;_=typeof m=="object"&&m!==null&&!Array.isArray(m)?m:{};let g={};g.parentUuid=u.contents,g.isSidechain=!1,g.userType="external",g.cwd=a,g.sessionId=r,g.version=$Re,g.type=v(_.type,null),g.message=v(_.message,null);let b=v(_.uuid,null);return g.uuid=b,g.timestamp=new Date(i+p).toISOString(),b!==null&&(u.contents=b),g}),f=c.map(m=>JSON.stringify(m)).join(`
586
586
  `)+`
587
- `,h=Wn(d,f);return h.TAG==="Ok"?{TAG:"Ok",_0:{sessionFile:d,entryCount:c.length}}:{TAG:"Error",_0:"session store write failed: "+h._0.message}}function OX(e){switch(e.TAG){case"NothingToCarryOver":return"nothing_to_carry_over";case"TranspileRefused":return"transpile_refused";case"TargetUnavailable":return"target_unavailable";case"SeedFailed":return"seed_failed";case"DispatchFailed":return"dispatch_failed"}}function EX(e){return e.reason}function PX(e){switch(e.TAG){case"SeedFailed":case"DispatchFailed":return!1;default:return!0}}async function GX(e,t,r,n,i,o,a,s,l,d){if(a===void 0)return{TAG:"Error",_0:{TAG:"TargetUnavailable",reason:"the claude-code harness is not available on this machine"}};let u=e.turns.filter(y=>y.items.length!==0);if(nt(u,0,(y,S)=>y+S.items.length|0)===0)return{TAG:"Error",_0:{TAG:"NothingToCarryOver",reason:"no recorded harness activity to carry over (the switch journal is empty)"}};let f=bX(t,{harnessSessionId:e.harnessSessionId,turns:u}),h=kX(r,f);if(h.TAG!=="Ok")return{TAG:"Error",_0:{TAG:"TranspileRefused",reason:h._0}};let m=h._0,p=CX(i,n,r,m.session,o);if(p.TAG!=="Ok")return{TAG:"Error",_0:{TAG:"SeedFailed",reason:p._0}};let _=await a.attachSession(r,s,d);if(_.TAG!=="Ok")return{TAG:"Error",_0:{TAG:"DispatchFailed",reason:_._0.reason}};let g=_._0,b=await g.dispatchTurn(l);return b.TAG==="Ok"?{TAG:"Ok",_0:{targetSessionId:g.harnessSessionId,sessionFile:p._0.sessionFile,turnId:b._0.turnId,transpiledItemCount:m.report.emissions.length,redactedReasoningCount:m.report.redactedReasoningCount,session:g}}:(await g.stopSession(),{TAG:"Error",_0:{TAG:"DispatchFailed",reason:b._0.reason}})}function Tp(e){let t=e!==void 0?e:"";return t===""?{parts:[],cached:"",joinedCount:0}:{parts:[t],cached:t,joinedCount:1}}function B$(e,t){t!==""&&e.parts.push(t)}function W$(e){if(e.joinedCount===e.parts.length)return e.cached;let t=e.cached;for(let r=e.joinedCount,n=e.parts.length;r<n;++r)t=t+e.parts[r];return e.cached=t,e.joinedCount=e.parts.length,t}function qRe(e){switch(e.TAG){case"AssistantContent":return"assistant";case"ReasoningContent":return"reasoning";case"CommandOutputContent":return"commandOutput";case"FileChangeContent":return"fileChange";case"TerminalInputContent":return"terminalInput";case"WebSearchContent":return"webSearch";case"AgentStatusContent":return"agentStatus";case"AgentTaskUpdateContent":return"agentTaskUpdate"}}function T0(e){switch(e.TAG){case"AssistantDelta":return"assistant";case"ReasoningDelta":return"reasoning";case"CommandOutputDelta":return"commandOutput";case"FileChangeDelta":return"fileChange";case"TerminalInputDelta":return"terminalInput";case"WebSearchDelta":return"webSearch"}}function RX(e){return e.itemId}function v0(e){let t=pe(e,"itemId");if(t!==void 0)return t;let r=pe(e,"item_id");return r!==void 0?r:E(ar(e,"item"),n=>pe(n,"id"))}function IX(e,t){let r=v0(t);switch(e){case"item/agentMessage/delta":return z(fk(t),n=>({TAG:"AssistantDelta",itemId:r,text:n}));case"command/exec/outputDelta":case"item/commandExecution/outputDelta":break;case"item/commandExecution/terminalInteraction":return z(FQ(t),n=>({TAG:"TerminalInputDelta",itemId:r,processId:n.terminalProcessId,inputText:n.inputText}));case"item/fileChange/outputDelta":return z(NQ(t),n=>({TAG:"FileChangeDelta",itemId:r,patchText:n}));case"item/reasoning/textDelta":return z(fk(t),n=>({TAG:"ReasoningDelta",itemId:r,text:n}));case"item/started":return z(i$(t),n=>({TAG:"WebSearchDelta",itemId:r,queries:n.queries}));default:return}return z(jQ(t),n=>({TAG:"CommandOutputDelta",itemId:r,processId:n.commandProcessId,command:n.command,stream:n.stream,text:n.commandDelta}))}function DX(e){switch(e){case"assistant":return{TAG:"AssistantContent",text:Tp(void 0)};case"reasoning":return{TAG:"ReasoningContent",text:Tp(void 0)};case"commandOutput":return{TAG:"CommandOutputContent",command:"",toolName:void 0,status:void 0,processId:void 0,chunks:[]};case"fileChange":return{TAG:"FileChangeContent",patchText:Tp(void 0),status:"started"};case"terminalInput":return{TAG:"TerminalInputContent",processId:void 0,inputText:""};case"webSearch":return{TAG:"WebSearchContent",queries:[]};case"agentStatus":return{TAG:"AgentStatusContent",_0:{title:"Agent status",body:void 0,severity:"info",eventKind:void 0,provider:void 0,occurredAtMs:void 0,rawProviderMetadata:void 0}};case"agentTaskUpdate":return{TAG:"AgentTaskUpdateContent",_0:{title:"Agent task",body:void 0,state:"unknown",progressLabel:void 0,provider:void 0,occurredAtMs:void 0,rawProviderMetadata:void 0}}}}function zRe(e,t){return nt(t,e.slice(),(r,n)=>r.includes(n)?r:r.concat([n]))}function MX(e,t){if(qRe(e)!==T0(t))return e;switch(e.TAG){case"AssistantContent":return t.TAG!=="AssistantDelta"||B$(e.text,t.text),e;case"ReasoningContent":return t.TAG!=="ReasoningDelta"||B$(e.text,t.text),e;case"CommandOutputContent":if(t.TAG!=="CommandOutputDelta")return e;let r=t.command,n=t.processId,i=e.command;return{TAG:"CommandOutputContent",command:r!==void 0&&r.trim()!==""?r:i,toolName:e.toolName,status:e.status,processId:n!==void 0?n:e.processId,chunks:e.chunks.concat([{stream:t.stream,text:t.text}])};case"FileChangeContent":return t.TAG!=="FileChangeDelta"||B$(e.patchText,t.patchText),e;case"TerminalInputContent":if(t.TAG!=="TerminalInputDelta")return e;let o=t.processId;return{TAG:"TerminalInputContent",processId:o!==void 0?o:e.processId,inputText:t.inputText};case"WebSearchContent":return t.TAG==="WebSearchDelta"?{TAG:"WebSearchContent",queries:zRe(e.queries,t.queries)}:e;case"AgentStatusContent":case"AgentTaskUpdateContent":return e}}function LRe(e){return e.map(t=>t.text).join("")}function $X(e){let t=pe(e,"type");if(t!==void 0)switch(t){case"agentMessage":return"assistant";case"agentStatus":return"agentStatus";case"agentTaskUpdate":return"agentTaskUpdate";case"commandExecution":return"commandOutput";case"fileChange":case"file_change":return"fileChange";case"message":return pe(e,"role")==="assistant"?"assistant":void 0;case"reasoning":return"reasoning";case"terminalInput":return"terminalInput";case"webSearch":case"webSearchCall":case"web_search_call":return"webSearch";default:return}}function jX(e){let t=i$(e);if(t!==void 0)return{completedStreamKind:"webSearch",completedItemId:v0(e),completedContent:{TAG:"WebSearchContent",queries:t.queries}};let r=v(ar(e,"item"),e),n=zQ(e);if(n!==void 0){let s=pe(r,"call_id");return{completedStreamKind:"fileChange",completedItemId:s!==void 0?s:pe(r,"id"),completedContent:{TAG:"FileChangeContent",patchText:Tp(n),status:"completed"}}}let i=$X(r);if(i===void 0)return;let o=mk(r,0)[0];if(o===void 0)return;let a=pe(r,"id");switch(i){case"assistant":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"AssistantContent",text:Tp(v(pe(o.structured,"content"),o.body))}};case"reasoning":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"ReasoningContent",text:Tp(v(pe(o.structured,"content"),o.body))}};case"commandOutput":let s=qi(o.structured,"output"),l;return l=typeof s=="string"?s:"",{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"CommandOutputContent",command:v(pe(o.structured,"command"),""),toolName:pe(o.structured,"tool_name"),status:pe(o.structured,"status"),processId:pe(o.structured,"process_id"),chunks:[{stream:"",text:l}]}};case"fileChange":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"FileChangeContent",patchText:Tp(v(pe(o.structured,"patch_text"),o.body)),status:"completed"}};case"terminalInput":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"TerminalInputContent",processId:pe(o.structured,"process_id"),inputText:v(pe(o.structured,"input_text"),o.body)}};case"webSearch":return;case"agentStatus":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"AgentStatusContent",_0:{title:v(pe(o.structured,"title"),o.body),body:pe(o.structured,"body"),severity:JM(qi(o.structured,"severity")),eventKind:pe(o.structured,"event_kind"),provider:pe(o.structured,"agent_provider"),occurredAtMs:ad(o.structured,"occurred_at_ms"),rawProviderMetadata:ar(o.structured,"raw_provider_metadata")}}};case"agentTaskUpdate":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"AgentTaskUpdateContent",_0:{title:v(pe(o.structured,"title"),o.body),body:pe(o.structured,"body"),state:ZM(qi(o.structured,"state")),progressLabel:pe(o.structured,"progress_label"),provider:pe(o.structured,"agent_provider"),occurredAtMs:ad(o.structured,"occurred_at_ms"),rawProviderMetadata:ar(o.structured,"raw_provider_metadata")}}}}}function w0(e,t,r){switch(t.TAG){case"AssistantContent":let n=W$(t.text);return{renderedBody:n,renderedStructured:GQ(e,n,r)};case"ReasoningContent":let i=W$(t.text);return{renderedBody:i,renderedStructured:RQ(e,i,r)};case"CommandOutputContent":let o=t.chunks,a=o[o.length-1|0],s=XM(e,t.command,LRe(o),{toolName:t.toolName,cwd:Xy.cwd,status:t.status,processId:t.processId,durationMs:Xy.durationMs,exitCode:Xy.exitCode,stream:v(z(a,y=>y.stream),"")},r),l=v(pe(s,"command"),""),d=qi(s,"output");return{renderedBody:QM(l,typeof d=="string"?d:""),renderedStructured:s};case"FileChangeContent":let c=W$(t.patchText),f;return f=r==="completed"||t.status!=="started"?"completed":"started",{renderedBody:c,renderedStructured:e$(e,c,r,f)};case"TerminalInputContent":let h=t.inputText;return{renderedBody:h,renderedStructured:Object.fromEntries([["kind","codex_terminal_input"],["item_id",e],["transcript_unit_id","codex_terminal_input:"+e],["stream_state",UQ(r)],["process_id",v(t.processId,"")],["input_text",h]])};case"WebSearchContent":let m=t.queries;return{renderedBody:t$(m),renderedStructured:MQ(e,m,r)};case"AgentStatusContent":let p=t._0,_=Yy(p.body);return{renderedBody:Qy(p.title,_),renderedStructured:r$(e,{title:p.title,body:_,severity:p.severity,eventKind:p.eventKind,provider:p.provider,occurredAtMs:p.occurredAtMs,rawProviderMetadata:p.rawProviderMetadata},r)};case"AgentTaskUpdateContent":let g=t._0,b=Yy(g.body);return{renderedBody:Qy(g.title,b!==void 0?b:g.progressLabel),renderedStructured:n$(e,{title:g.title,body:b,state:g.state,progressLabel:g.progressLabel,provider:g.provider,occurredAtMs:g.occurredAtMs,rawProviderMetadata:g.rawProviderMetadata},r)}}}function FX(e){return e.flatMap((t,r)=>{let n=ct(t);if(n===void 0)return[];let i=$X(n);return i!==void 0?i==="webSearch"?[]:mk(n,r).filter(o=>o.body.trim()!=="").map(o=>({snapshotIndex:r,projItemId:pe(n,"id"),projStreamKind:i,projBody:o.body,projStructured:o.structured})):[]})}function H$(e,t){let r=v(pe(e,"kind"),"codex_output"),n=Object.assign({},e);return n.item_id=t,n.transcript_unit_id=r+":"+t,n}function V$(e,t,r,n){if(r==="webSearch")return"local-codex-search-"+po(e+":"+t+":web-search").slice(0,32);let i;switch(r){case"reasoning":i="reasoning:";break;case"commandOutput":i="command:";break;case"fileChange":i="file-change:";break;case"terminalInput":i="terminal:";break;case"assistant":case"webSearch":i="";break;case"agentStatus":i="agent-status:";break;case"agentTaskUpdate":i="agent-task:";break}return"local-codex-stream-"+po(e+":"+t+":"+i+n).slice(0,32)}function _x(e){let t=ar(e,"turn"),r=ar(e,"item"),n=E(r,d=>ar(d,"turn")),i=E(t,d=>pe(d,"id"));if(i!==void 0)return i;let o=pe(e,"turnId");if(o!==void 0)return o;let a=pe(e,"turn_id");if(a!==void 0)return a;let s=E(r,d=>pe(d,"turnId"));if(s!==void 0)return s;let l=E(r,d=>pe(d,"turn_id"));return l!==void 0?l:E(n,d=>pe(d,"id"))}function Bs(e){return e!==void 0?e:null}var bx="pipeline/turnMappingReady",A0="pipeline/turnMappingFailed",qX="Codex completed without producing a response.",URe="linzumi_agent_reply",BRe="The agent ended its turn after narrating an intent without posting a reply or taking any action.",WRe="agent narrated intent but posted no reply and took no action",HRe="Stopped after repeated empty responses in a row";function VRe(e){return"The model appears stuck in a loop - stopped after "+e.toString()+" reasoning steps with no output or tool call (retry to try again)."}var HX="Codex emitted unsupported tool call";function KRe(e){return e!==void 0?e.startsWith(HX):!1}function zX(e){switch(e){case"assistant":case"reasoning":case"webSearch":return!1;default:return!0}}function JRe(e){if(e===void 0)return;let t=pe(e,"type"),r=0;if(t!==void 0){switch(t){case"collabAgentToolCall":case"dynamicToolCall":case"mcpToolCall":r=1;break;default:return}if(r===1){if(!J(pe(e,"status"),"completed"))return;let n=qi(e,"error"),i=0;if(n!==void 0){if(n!==null)return;i=2}else i=2;if(i===2){let o=qi(e,"success"),a=0;if(typeof o=="boolean"){if(!o)return;a=3}else a=3;if(a===3){let s=v(pe(e,"tool"),""),l=s.split("__");return v(l[l.length-1|0],s)===URe?"ReplyEvidence":"ActionEvidence"}}}}}function VX(e,t){let r=JRe(t);if(r!==void 0){r==="ReplyEvidence"?e.agentReplyToolCallSeen=!0:e.agentActionToolCallSeen=!0;return}}function ZRe(e){let t="unsupported call:";if(e===void 0)return;let r=e.trim();if(!r.toLowerCase().startsWith(t))return;let n=r.slice(t.length).trim();return n===""?"unknown":n}function KX(e){if(e===void 0)return;let t=pe(e,"codex_protocol_failure_reason"),r=t!==void 0?t:pe(e,"protocolFailureReason");if(r!==void 0)return r;let n=pe(e,"type");if(n===void 0)return;switch(n){case"custom_tool_call_output":case"function_call_output":break;default:return}let i=pe(e,"output"),o;if(i!==void 0)o=i;else{let a=pe(e,"result");if(a!==void 0)o=a;else{let s=pe(e,"text");o=s!==void 0?s:pe(e,"content")}}return z(ZRe(o),a=>HX+": "+a)}function QRe(e){return nt(e,void 0,(t,r)=>t!==void 0?t:KX(ct(r)))}function JX(){return{phase:"running",turns:new Map,terminalTurnIds:new Set,bufferedTurns:new Map,consecutiveEmptyTurns:0,lastUpstreamErrorSummary:void 0,consecutiveIsolatedRejections:0,costCap402Seen:!1}}var Mk="pipeline/stopInterrupted";function YRe(e){switch(e){case"pipeline/stopInterrupted":case"turn/aborted":case"turn/canceled":case"turn/cancelled":return"interrupted";case"turn/failed":return"failed";default:return}}function XRe(e){switch(e){case"command/exec/outputDelta":case"error":case"item/agentMessage/delta":case"item/commandExecution/outputDelta":case"item/commandExecution/terminalInteraction":case"item/completed":case"item/fileChange/outputDelta":case"item/reasoning/textDelta":case"item/started":case"pipeline/stopInterrupted":case"response_item":case"thread/compacted":case"turn/aborted":case"turn/canceled":case"turn/cancelled":case"turn/completed":case"turn/failed":case"turn/started":return!0;default:return!1}}function eIe(e){switch(e){case"command/exec/outputDelta":case"item/agentMessage/delta":case"item/commandExecution/outputDelta":case"item/commandExecution/terminalInteraction":case"item/completed":case"item/fileChange/outputDelta":case"item/reasoning/textDelta":case"item/started":case"response_item":return!0;default:return!1}}function tIe(e,t){let r=ar(t,"item"),n=pe(t,"turnId");switch(e){case"item/completed":case"item/started":break;case"thread/compacted":return n!==void 0?Object.fromEntries([["type","agentStatus"],["id","thread-compacted:"+n],["title","Thread compacted"],["severity","info"],["provider","codex"],["eventKind","compaction_boundary"],["rawProviderMetadata",Object.fromEntries([["phase","END"],["lifecycle","thread/compacted"],["harness","codex"],["turnId",n]])]]):void 0;default:return}if(r===void 0)return;let i=pe(r,"type");if(i===void 0||i!=="contextCompaction")return;let o=pe(r,"id");if(o===void 0)return;let a=e==="item/started",s=a?"START":"END",l=a?"start":"complete",d=a?"Context compaction started":"Context compaction completed",u=ad(t,"completedAtMs"),c=u!==void 0?u:ad(t,"startedAtMs"),f=Object.fromEntries([["phase",s],["lifecycle",e],["harness","codex"],["compactionItemId",o]].concat(n!==void 0?[["turnId",n]]:[]));return Object.fromEntries([["type","agentStatus"],["id",o+":"+l],["title",d],["severity","info"],["provider","codex"],["eventKind","compaction_boundary"],["rawProviderMetadata",f]].concat(c!==void 0?[["occurredAtMs",c]]:[]))}var rIe=new RegExp("<[^>]*>","g"),nIe=new RegExp(`data:[^"' )]+`,"g"),iIe=new RegExp("\\s+","g");function Sf(e){if(e===void 0)return;let t=e.replace(rIe," ").replace(nIe,"").replace(iIe," ").trim().slice(0,180);if(t!=="")return t}function xf(e){if(e!==void 0&&typeof e=="number"&&isFinite(e))return e}function $k(e){let t=E(ar(e,"diagnostic_payload"),o=>ar(o,"error")),r=E(t,o=>ar(o,"codexErrorInfo")),n=E(r,o=>ar(o,"responseStreamDisconnected")),i=[xf(E(n,o=>qi(o,"httpStatusCode"))),xf(E(r,o=>qi(o,"httpStatusCode"))),xf(E(r,o=>qi(o,"statusCode"))),xf(E(r,o=>qi(o,"status"))),xf(E(t,o=>qi(o,"httpStatusCode"))),xf(E(t,o=>qi(o,"statusCode"))),xf(E(t,o=>qi(o,"status")))];return nt(i,void 0,(o,a)=>o!==void 0?o:a)}function oIe(e){let t=pe(e,"diagnostic_summary"),r=t!==void 0?t:E(E(ar(e,"diagnostic_payload"),o=>ar(o,"error")),o=>pe(o,"message")),n=E(r,o=>Sf(o));if(n===void 0)return;let i=$k(e);return i!==void 0?"Model gateway error (HTTP "+i.toString()+"): "+n:"Model gateway error: "+n}var aIe=new RegExp("(?:<!doctype\\s+html|<html(?:\\s|>))","i"),sIe=new RegExp("cloudflare|cf-ray|\\bblocked\\b|access denied|\\bchallenge\\b|attention required","i"),ZX=new RegExp("cloudflare|cf-ray","i"),lIe=new RegExp("\\bblocked\\b|access denied","i"),dIe=new RegExp("attention required","i"),uIe=new RegExp("@font-face","i"),cIe=new RegExp("unexpected status (401|403)\\b","i"),fIe=new RegExp("\\b(401|403)\\s+(?:unauthorized|forbidden)\\b","i");function mIe(e){return nt(e,void 0,(t,r)=>{if(t!==void 0)return t;if(r===void 0)return;let n=cIe.exec(r),i=n??lt(fIe.exec(r));return z(E(i,o=>E(o.slice(1)[0],a=>a)),o=>o==="401"?401:403)})}function pIe(e){return aIe.test(e)?!0:uIe.test(e)?ZX.test(e):!1}function hIe(e){let t=E(ar(e,"diagnostic_payload"),a=>ar(a,"error")),r=[pe(e,"diagnostic_summary"),E(t,a=>pe(a,"message")),pe(e,"message")],n=$k(e),i=n!==void 0?n:mIe(r);if(i===void 0||i!==401&&i!==403)return;let o=nt(r,void 0,(a,s)=>a!==void 0?a:s!==void 0&&pIe(s)&&sIe.test(s)?s:void 0);return z(o,a=>{let s=ZX.test(a),l=lIe.test(a),d=dIe.test(a);return{edgeStatus:i,edgeSignature:s?"cloudflare":l?"blocked":d?"attention_required":"challenge"}})}function _Ie(e){return e!==void 0?e===402||e===408||e===425||e===429?!0:e>=500?e<=599:!1:!1}function gIe(e){return e!==void 0&&e>=400&&e<=499&&e!==402&&e!==408&&e!==425?e!==429:!1}function bIe(e,t){let r="the model provider rejected this request as invalid (a retry sends the same request and fails the same way, so it was not retried; check the selected model / request and send again).",n=e!==void 0?"Model provider rejected this request (HTTP "+e.toString()+"): "+r:"Model provider rejected this request: "+r,i=v(z(t,o=>o.trim()),"");return i===""?n:n+" Upstream said: "+i}function yIe(e){let t="the model provider returned no usable response this turn (retrying will not help until it recovers).";return e!==void 0?"Model upstream unavailable (HTTP "+e.toString()+"): "+t:"Model upstream unavailable: "+t}function xIe(e){let t="The agent run was cut off by a tool failure and produced no response (retrying will hit the same failure until the underlying tool call is fixed).",r=v(z(e,n=>n.trim()),"");return r===""?"Tool execution failed: "+t:"Tool execution failed ("+r+"): "+t}function yx(e){let t=E(ar(e,"diagnostic_payload"),i=>ar(i,"error")),r=pe(e,"message"),n;if(r!==void 0)n=r;else{let i=pe(e,"reason");if(i!==void 0)n=i;else{let o=E(ar(e,"error"),a=>pe(a,"message"));if(o!==void 0)n=o;else{let a=pe(e,"error");if(a!==void 0)n=a;else{let s=pe(e,"diagnostic");if(s!==void 0)n=s;else{let l=E(t,d=>pe(d,"message"));n=l!==void 0?l:E(E(t,d=>ar(d,"error")),d=>pe(d,"message"))}}}}}return Sf(n)}var SIe=new RegExp("^(?:model_request_rejected|invalid_request_error|invalid_request|request_rejected|content_policy_violation|content_filter|input_validation_error)$","i"),TIe=new RegExp("\\bmodel request was rejected\\b|\\bmodel_request_rejected\\b","i");function vIe(e){let t=E(ar(e,"diagnostic_payload"),o=>ar(o,"error")),r=E(t,o=>ar(o,"error")),n=ar(e,"error"),i=[[E(t,o=>pe(o,"code")),E(t,o=>pe(o,"message"))],[E(t,o=>pe(o,"type")),E(t,o=>pe(o,"message"))],[E(r,o=>pe(o,"code")),E(r,o=>pe(o,"message"))],[E(r,o=>pe(o,"type")),E(r,o=>pe(o,"message"))],[E(n,o=>pe(o,"code")),E(n,o=>pe(o,"message"))],[E(n,o=>pe(o,"type")),E(n,o=>pe(o,"message"))],[pe(e,"code"),pe(e,"message")],[pe(e,"type"),pe(e,"message")]];return nt(i,void 0,(o,a)=>{if(o!==void 0)return o;let s=z(a[0],l=>l.trim());if(s!==void 0&&s!==""&&SIe.test(s))return{colocatedMessage:a[1]}})}function wIe(e){let t=vIe(e),r=yx(e),n=r!==void 0?TIe.test(r):!1;if(t===void 0&&!n)return;let i=Sf(E(t,o=>o.colocatedMessage));return i!==void 0?i:r!==void 0?r:""}function AIe(e){let t="the model provider rejected this request and produced no response (retrying will hit the same rejection until the request is changed).",r=v(z(e,n=>n.trim()),"");return r===""?"The model request was rejected: "+t:"The model request was rejected ("+r+"): "+t}var QX=new RegExp("^provider_outage$","i"),kIe=new RegExp("rejecting requests|experiencing an outage|provider outage","i");function CIe(e){let t=E(ar(e,"diagnostic_payload"),d=>ar(d,"error")),r=E(t,d=>ar(d,"error")),n=ar(e,"error");if(![E(t,d=>pe(d,"code")),E(t,d=>pe(d,"type")),E(r,d=>pe(d,"code")),E(r,d=>pe(d,"type")),E(n,d=>pe(d,"code")),E(n,d=>pe(d,"type")),pe(e,"code"),pe(e,"type")].some(d=>{let u=z(d,c=>c.trim());return u!==void 0&&u!==""?QX.test(u):!1}))return;let a=[E(t,d=>pe(d,"message")),E(r,d=>pe(d,"message")),E(n,d=>pe(d,"message")),pe(e,"message"),pe(e,"reason")],s=nt(a,void 0,(d,u)=>{if(d!==void 0)return d;let c=Sf(u);if(c!==void 0&&kIe.test(c))return c});if(s!==void 0)return s;let l=yx(e);return l!==void 0?l:""}function YX(e,t,r,n){if(n===402)return e;let o=t.routeOutageActive;return e==="transient_upstream"&&o!==void 0&&o(r)?"route_outage":e}function OIe(e,t,r,n){return z(e,i=>YX(i,t,r,n))}function EIe(e){let t=E(ar(e,"diagnostic_payload"),o=>ar(o,"error")),r=E(t,o=>ar(o,"error")),n=ar(e,"error"),i=o=>{let a=s=>{let l=z(s,d=>d.trim());return l!==void 0&&l!==""?QX.test(l):!1};return a(pe(o,"code"))?!0:a(pe(o,"type"))};return nt([r,t,n,e],void 0,(o,a)=>{if(o!==void 0)return o;if(a===void 0||!i(a))return;let s=a.hold_ceiling_minutes,l=s!==void 0&&typeof s=="number"&&isFinite(s)&&s>0?Math.floor(s)*6e4:void 0;return{routeProvider:pe(a,"provider"),routeModel:pe(a,"model"),holdCeilingMs:l}})}function PIe(e){let t=v(z(e,r=>r.trim()),"");return t===""?"The model provider is currently rejecting requests / experiencing an outage. Your message was NOT processed. Please retry later, or switch to a different model.":t}function GIe(e){let t="the model provider rejected this request and produced no response (a one-off retry did not help).",r=v(z(e,n=>n.trim()),"");return r===""?"The model request was rejected: "+t:"The model request was rejected ("+r+"): "+t}function RIe(e,t,r,n){return e?{dispositionKind:"storm",dispositionRetryable:!1,dispositionReason:PIe(r)}:t<1?{dispositionKind:"isolated_retry",dispositionRetryable:!0,dispositionReason:AIe(n)}:{dispositionKind:"isolated_terminal",dispositionRetryable:!1,dispositionReason:GIe(n)}}var IIe=new RegExp("\\bapply_patch\\b[^]*\\bincompatible\\b|\\bin-flight tool future\\b[^]*\\bfail","i"),DIe=new RegExp("\\btools::router\\b[^]*\\bfatal\\b|\\bresponse\\.failed\\b","i"),MIe=new RegExp("(tool.*fatal|fatal.*tool|response[._]failed|tool_failure)","i");function $Ie(e){return IIe.test(e)?!0:DIe.test(e)}function jIe(e){let t=pe(e,"kind"),r;if(t!==void 0)r=t;else{let a=pe(e,"type");if(a!==void 0)r=a;else{let s=E(ar(e,"error"),l=>pe(l,"kind"));r=s!==void 0?s:E(ar(e,"error"),l=>pe(l,"type"))}}let n=r!==void 0?MIe.test(r):!1,i=yx(e),o=i!==void 0?$Ie(i):!1;if(n||o)return i!==void 0?i:""}function LX(e){if(e!==void 0&&!(e===null||Array.isArray(e)))switch(typeof e){case"string":return e.trim()!==""?e:void 0;case"object":let t=Object.keys(e);return t.length!==1?void 0:t[0];default:return}}function FIe(e){if(e===void 0)return;let t=_0(e,"{");if(t===void 0)return;let r=Pu(e.slice(t)),n=r!==void 0?r:Pu(e.slice(t,e.lastIndexOf("}")+1|0));if(n===void 0||!J(pe(n,"type"),"error"))return;let i=ar(n,"error");if(i===void 0)return;let o=pe(i,"type");return{envelopeStatus:xf(qi(n,"status")),envelopeErrorType:o!==void 0?o:pe(i,"code"),envelopeMessage:pe(i,"message")}}function NIe(e){let t=ar(e,"error"),r=E(ar(e,"diagnostic_payload"),p=>ar(p,"error")),n=E(r,p=>ar(p,"error")),i=$k(e),o=E(t,p=>pe(p,"type")),a;if(o!==void 0)a=o;else{let p=E(t,_=>pe(_,"code"));if(p!==void 0)a=p;else{let _=E(r,g=>pe(g,"type"));if(_!==void 0)a=_;else{let g=E(r,b=>pe(b,"code"));if(g!==void 0)a=g;else{let b=E(n,y=>pe(y,"type"));if(b!==void 0)a=b;else{let y=E(n,S=>pe(S,"code"));if(y!==void 0)a=y;else{let S=LX(E(t,T=>qi(T,"codexErrorInfo")));a=S!==void 0?S:LX(E(r,T=>qi(T,"codexErrorInfo")))}}}}}}let s=Sf(E(t,p=>pe(p,"message"))),l;if(s!==void 0)l=s;else{let p=Sf(E(n,_=>pe(_,"message")));if(p!==void 0)l=p;else{let _=Sf(E(r,g=>pe(g,"message")));l=_!==void 0?_:yx(e)}}if(i===void 0&&a===void 0){let p=nt([E(t,_=>pe(_,"message")),E(n,_=>pe(_,"message")),E(r,_=>pe(_,"message")),pe(e,"message"),pe(e,"reason"),pe(e,"error"),pe(e,"diagnostic"),pe(e,"diagnostic_summary")],void 0,(_,g)=>_!==void 0?_:FIe(g));if(p!==void 0){i=p.envelopeStatus,a=p.envelopeErrorType;let _=Sf(p.envelopeMessage);l=_!==void 0?_:l}}let c=z(a,p=>p.trim()),f;f=c!==void 0&&c!==""?c:void 0;let h=Fe([z(i,p=>p.toString()),f],p=>p).join(" "),m;if(h==="")m=l;else{let p=l;m=p!==void 0?h+": "+p:h}if(m!==void 0&&m!=="")return m.slice(0,300)}function UX(e){return{swLastUpstreamErrorReason:e.lastUpstreamErrorReason,swLastErrorDiagnosticText:e.lastErrorDiagnosticText,swLastUpstreamErrorHttpStatus:e.lastUpstreamErrorHttpStatus,swUpstreamRejectedSeen:e.upstreamRejectedSeen,swProviderOutageFlaggedSeen:e.providerOutageFlaggedSeen,swToolFatalSeen:e.toolFatalSeen,swErrorNotificationCount:e.errorNotificationCount,swUnattributedErrorNotificationCount:e.unattributedErrorNotificationCount,swModelInteractionSeen:e.modelInteractionSeen}}function XX(e){return e===429||e>=500&&e<=599?"TransientRetryClass":"DeterministicRetryClass"}var qIe=new RegExp("upstream model stream stalled","i"),zIe=new RegExp("\\(HTTP (\\d{3})\\)");function eee(e){let t=zIe.exec(e);if(t!=null)return E(E(t.slice(1)[0],r=>r),ei)}function LIe(e){let t=eee(e);return t!==void 0?XX(t):qIe.test(e)?"TransientRetryClass":"DeterministicRetryClass"}function K$(e){let t={contents:!1},r={contents:e.swUpstreamRejectedSeen||e.swProviderOutageFlaggedSeen||e.swToolFatalSeen||e.swModelInteractionSeen||e.swUnattributedErrorNotificationCount>0},n={contents:0},i=e.swLastUpstreamErrorHttpStatus;i!==void 0&&(n.contents=n.contents+1|0,XX(i)==="TransientRetryClass"?t.contents=!0:r.contents=!0),[e.swLastUpstreamErrorReason,e.swLastErrorDiagnosticText].forEach(s=>{if(s===void 0)return;n.contents=n.contents+1|0,LIe(s)==="TransientRetryClass"?t.contents=!0:r.contents=!0}),e.swErrorNotificationCount>(n.contents+e.swUnattributedErrorNotificationCount|0)&&!e.swUpstreamRejectedSeen&&!e.swProviderOutageFlaggedSeen&&!e.swToolFatalSeen&&(r.contents=!0);let o=r.contents,a=t.contents;return o?"deterministic":a?"transient":"none"}function BX(e){return e.swLastUpstreamErrorHttpStatus===429?!0:[e.swLastUpstreamErrorReason,e.swLastErrorDiagnosticText].some(r=>r!==void 0?J(eee(r),429):!1)}var UIe=" (An automatic resume was not attempted: the upstream reported a rate limit (HTTP 429) during this turn, and an automatic resume would burn straight into it. Retry once the rate limit clears.)";function BIe(e){return" (An automatic resume was attempted at "+new Date(e).toISOString()+" and the stream stalled again, so it will not be retried automatically.)"}function WIe(e){return" (An automatic resume was attempted at "+new Date(e).toISOString()+" and the stream stalled again - reconnecting on a fresh model session automatically.)"}function HIe(e){return" (An automatic resume was attempted at "+new Date(e).toISOString()+" after the stream stalled; it did not complete.)"}var tee=" (Automatic retries are paused: this session hit your Linzumi cost cap (HTTP 402), and an automatic retry must never spend past it. Retry manually when your budget allows.)";function ree(e){return e>0?" ("+e.toString()+" automatic "+(e===1?"retry":"retries")+" did not help.)":""}var J$={autoRetryPreFirstByteStall:!1,messageStateRetryable:!1,costCapAutoRetrySuppressed:!1,messageStateFate:void 0,messageStateFailureClass:void 0,autoResumeMidStreamStall:!1,midStreamResumeRateLimitSuppressed:!1,midStreamResumeAttemptBurnedAtMs:void 0};function Gk(e,t){return qi(e,t)===!0}function VIe(e){let t=qi(e,"fate");if(typeof t=="string")return Ny(t)}function KIe(e,t,r,n){let i=e==="turn/failed"&&J(E(ar(t,"error"),C=>pe(C,"code")),"idle_stream_timeout"),o=e==="turn/failed"&&Gk(t,"retryable"),a=e==="turn/failed"||e==="turn/aborted"?VIe(t):void 0,s=qi(t,"failure_class"),l=e==="turn/failed"&&s==="claude_oauth_expired"?"claude_oauth_expired":void 0,d=e==="turn/failed"?z(ar(t,"route_outage_hold"),C=>{let k=C.hold_ceiling_ms,$=k!==void 0&&typeof k=="number"&&isFinite(k)&&k===Math.trunc(k)&&k>0?k:void 0;return{routeProvider:pe(C,"provider"),routeModel:pe(C,"model"),holdCeilingMs:$}}):void 0;if(!i)return{autoRetryPreFirstByteStall:!1,messageStateRetryable:o,costCapAutoRetrySuppressed:!1,messageStateFate:a,messageStateFailureClass:l,autoResumeMidStreamStall:!1,midStreamResumeRateLimitSuppressed:!1,midStreamResumeAttemptBurnedAtMs:void 0,messageStateRouteOutageHold:d};let u=n.sessionMidStreamResumeAttemptAtMs,c=u!==void 0,f=K$(r)!=="deterministic",h=Gk(t,"preFirstByteStall")&&f,m=Gk(t,"midStreamResumableStall"),p=m&&BX(r),_=K$({swLastUpstreamErrorReason:r.swLastUpstreamErrorReason,swLastErrorDiagnosticText:r.swLastErrorDiagnosticText,swLastUpstreamErrorHttpStatus:r.swLastUpstreamErrorHttpStatus,swUpstreamRejectedSeen:r.swUpstreamRejectedSeen,swProviderOutageFlaggedSeen:r.swProviderOutageFlaggedSeen,swToolFatalSeen:r.swToolFatalSeen,swErrorNotificationCount:r.swErrorNotificationCount,swUnattributedErrorNotificationCount:r.swUnattributedErrorNotificationCount,swModelInteractionSeen:!1})!=="deterministic",g=m&&!c&&!p&&_,b=n.sessionFreshSessionResumeAttemptAtMs!==void 0,y=m&&c&&!b&&!p&&_,S=(h&&!c||g||y)&&n.sessionCostCap402Seen,T=h&&!c&&!S,w=g&&!S,A=y&&!S,P=m&&!c&&p;return{autoRetryPreFirstByteStall:T,messageStateRetryable:h||o,costCapAutoRetrySuppressed:S,messageStateFate:a!==void 0?a:BX(r)?"rate_limited":"transient_upstream",messageStateFailureClass:l,autoResumeMidStreamStall:w,midStreamResumeRateLimitSuppressed:P,midStreamResumeAttemptBurnedAtMs:c?u:void 0,freshSessionResumeMidStreamStall:A?!0:void 0}}function JIe(e,t,r){let n=r!==void 0?" (last upstream error: "+r+")":"",i=e.lastErrorDiagnosticText;return i!==void 0?{cause:"codex error without HTTP status: "+i}:e.modelInteractionSeen?{cause:"model returned no assistant output: "+(e.items.length.toString()+" streamed items, ")+(t.toString()+" snapshot items"+n)}:{cause:"codex never called the model: 0 model interactions, "+(e.notificationCount.toString()+" notifications, ")+(e.errorNotificationCount.toString()+" errors"+n)}}function Pk(e){if(e===void 0)return"none";switch(e.TAG){case"HarnessNotification":return e._0.method;case"CompletionSnapshot":return"snapshot";case"Lifecycle":return"lifecycle/"+e.kind}}function Z$(e,t){for(e.terminalTurnIds.delete(t),e.terminalTurnIds.add(t);e.terminalTurnIds.size>512;){let r=e.terminalTurnIds.values().next().value;r!==void 0&&e.terminalTurnIds.delete(r)}}function jk(e){let t=e.turns.values().toArray().filter(n=>n.phase==="ActiveTurnPhase");return t.length!==1?void 0:t[0].turnId}function Ik(e,t,r,n){return[["thread_key",e.threadKey],["turn_id",t.turnId],["item_key",r.itemKey],["item_id",r.wireItemKey],["stream_kind",r.identity.streamKind],["item_index",r.identity.itemIndex],["source_seq",t.sourceSeq],["client_message_id",r.clientMessageId],["body",n.renderedBody],["structured",n.renderedStructured]]}function gx(e){let t=e.nextStreamSnapshotIndex;return e.nextStreamSnapshotIndex=e.nextStreamSnapshotIndex+1|0,t}function vp(e){let t=pe(e,"reason");if(t!==void 0)return t;let r=pe(e,"message");if(r!==void 0)return r;let n=E(ar(e,"error"),i=>pe(i,"message"));return n!==void 0?n:v(pe(e,"error"),"codex_turn_aborted")}function ZIe(e,t,r){let n={turnId:t,sourceSeq:r,phase:"ActiveTurnPhase",protocolFailureReason:void 0,lastUpstreamErrorReason:void 0,edgeBlockEvidence:void 0,lastErrorDiagnosticText:void 0,toolFatalSeen:!1,toolFatalDetail:void 0,upstreamRejectedSeen:!1,upstreamRejectedDetail:void 0,providerOutageFlaggedSeen:!1,providerOutageDetail:void 0,providerOutageRoute:void 0,lastUpstreamErrorHttpStatus:void 0,lastUpstreamErrorSummary:void 0,errorNotificationCount:0,unattributedErrorNotificationCount:0,notificationCount:0,modelInteractionSeen:!1,reasoningStepsWithoutProgress:0,agentReplyToolCallSeen:!1,agentActionToolCallSeen:!1,items:[]};return e.turns.set(t,n),n}function QIe(e,t){if(e.phase==="ActiveTurnPhase"){e.phase="CompletingTurnPhase",t.push({TAG:"RequestSnapshot",turnId:e.turnId});return}let i={TAG:"Log",event:"pipeline.loop.duplicate_turn_completed",fields:Object.fromEntries([["turn_id",e.turnId]])};t.push(i)}function Dk(e,t,r,n,i,o,a,s,l){let d;if(s.autoRetryPreFirstByteStall||s.costCapAutoRetrySuppressed){let k=o.autoRetryAttemptsForSeq;d=n+ree(k!==void 0?k(t.sourceSeq):0)+(s.costCapAutoRetrySuppressed?tee:"")}else d=n;if(s.midStreamResumeRateLimitSuppressed&&(d=d+UIe),r==="failed"){let k=s.midStreamResumeAttemptBurnedAtMs;if(k!==void 0)d=d+(v(s.freshSessionResumeMidStreamStall,!1)?WIe(k):BIe(k));else{let $=E(o.midStreamResumeAttemptAtMsForSeq,V=>V(t.sourceSeq));$!==void 0&&(d=d+HIe($))}}t.items.forEach(k=>{if(!k.posted||c0(k.emittedStreamState))return;let $=w0(k.wireItemKey,k.content,a),V=Object.fromEntries(Ik(o,t,k,$).concat([["stream_snapshot_index",gx(k)],["terminal_outcome",r],["reason",n]])),F={TAG:"Enqueue",kind:Qd,data:V,coalesceKey:void 0,resolution:"MustAck"};i.push(F),k.emittedStreamState=a,k.lastEmittedBody=$.renderedBody});let u=OIe(s.messageStateFate,o,t.sourceSeq,t.lastUpstreamErrorHttpStatus),c=v(o.sessionExecutesRecoveryGrants,!1)&&r==="failed"&&(s.autoRetryPreFirstByteStall||s.autoResumeMidStreamStall||v(s.freshSessionResumeMidStreamStall,!1)),f;f=l==="FailedTerminalMessageState"?c?"recovering":"failed":"interrupted";let h;if(u!==void 0){let k=E(o.ladderHistoryForSeq,$=>$(t.sourceSeq,u));h=k!==void 0?[["ladder",k]]:[]}else h=[];let m=s.messageStateFailureClass,p=t.lastUpstreamErrorSummary,_;if(p!==void 0)_=[["upstream_error",p]];else{let k=e.lastUpstreamErrorSummary;_=k!==void 0?[["upstream_error",k]]:[]}let g=Object.fromEntries([["thread_key",o.threadKey],["turn_id",t.turnId],["seq",t.sourceSeq],["status",f],["reason",d]].concat((s.messageStateRetryable&&!c?[["retryable",!0]]:[]).concat(u!==void 0?[["fate",u]]:[])).concat(h.concat((m!==void 0?[["failure_class",m]]:[]).concat(_)))),b={TAG:"Enqueue",kind:Sl,data:g,coalesceKey:void 0,resolution:"MustAck"};i.push(b);let y;if(u==="route_outage"){let k=s.messageStateRouteOutageHold;y=k!==void 0?k:{routeProvider:void 0,routeModel:void 0,holdCeilingMs:void 0}}else y=void 0;let S=t.turnId,T=d,w=s.autoRetryPreFirstByteStall,A=s.autoResumeMidStreamStall,P=s.freshSessionResumeMidStreamStall,C={TAG:"TurnTerminal",turnId:S,outcome:r,reason:T,retryableEmptyTurn:w,autoResumeMidStreamStall:A,freshSessionResumeMidStreamStall:P,fate:u,routeOutageHold:y};i.push(C),e.turns.delete(t.turnId),Z$(e,t.turnId)}function nee(e,t,r,n,i){let o=l=>{let d=e.turnId,u=e.items.length,c={turnId:d,itemId:l,itemIndex:u,streamKind:t},f=bQ(c),h=v(l,f),m={identity:c,itemKey:f,wireItemKey:h,clientMessageId:V$(n.instanceId,e.turnId,t,h),content:DX(t),posted:!1,completed:!1,emittedStreamState:void 0,lastEmittedBody:void 0,nextDeltaIndex:0,nextStreamSnapshotIndex:1};return e.items.push(m),m};if(t==="webSearch"){let l=e.items.find(d=>d.identity.streamKind==="webSearch");return l!==void 0?l:o("web-search:"+e.turnId)}let a=r!==void 0?e.items.find(l=>l.identity.streamKind===t?J(l.identity.itemId,r):!1):void 0;if(a!==void 0)return a;let s=e.items.find(l=>l.identity.streamKind===t&&l.identity.itemId===void 0?!l.completed:!1);return r!==void 0?s!==void 0&&i?s:o(r):s!==void 0?s:o(r)}function Q$(e,t,r,n,i,o){let a=w0(t.wireItemKey,t.content,n);if(t.posted){let u=Object.fromEntries(Ik(i,e,t,a).concat([["delta_index",r],["stream_snapshot_index",gx(t)]])),c=t.itemKey,f={TAG:"Enqueue",kind:mf,data:u,coalesceKey:c,resolution:"MustAck"};o.push(f),t.emittedStreamState=n,t.lastEmittedBody=a.renderedBody;return}if(a.renderedBody.trim()==="")return;let l=Object.fromEntries(Ik(i,e,t,a).concat([["delta_index",r],["stream_snapshot_index",gx(t)]])),d={TAG:"Enqueue",kind:Zu,data:l,coalesceKey:void 0,resolution:"MustAck"};if(o.push(d),t.posted=!0,t.emittedStreamState=n,t.lastEmittedBody=a.renderedBody,n==="completed"){t.completed=!0;return}}function Rk(e,t,r,n){if(e.phase==="ActiveTurnPhase"){let l=nee(e,T0(t),RX(t),r,!1);if(l.completed){let h={TAG:"Log",event:"pipeline.loop.delta_for_completed_item",fields:Object.fromEntries([["turn_id",e.turnId],["item_key",l.itemKey]])};n.push(h);return}l.content=MX(l.content,t);let d=l.nextDeltaIndex;l.nextDeltaIndex=l.nextDeltaIndex+1|0;let u=T0(t),c;return c=u==="terminalInput"?"completed":"streaming",Q$(e,l,d,c,r,n)}let o=[["turn_id",e.turnId],["stream_kind",T0(t)]],s={TAG:"Log",event:"pipeline.loop.delta_for_completing_turn",fields:Object.fromEntries(o)};n.push(s)}function YIe(e,t,r,n){let i=e.bufferedTurns.get(t);if(i!==void 0){i.push(r);return}e.bufferedTurns.set(t,[r]);let a={TAG:"Log",event:"pipeline.loop.turn_events_buffered",fields:Object.fromEntries([["turn_id",t]])};n.push(a)}function XIe(e,t,r,n){t.errorNotificationCount=t.errorNotificationCount+1|0;let i=jIe(r);if(i!==void 0){t.toolFatalSeen=!0,t.toolFatalDetail===void 0&&i!==""&&(t.toolFatalDetail=i);let p={TAG:"Log",event:"codex.tool_fatal_captured",fields:Object.fromEntries([["turn_id",t.turnId],["detail",i===""?null:i]])};n.push(p)}let o=wIe(r);if(o!==void 0){t.upstreamRejectedSeen=!0,t.upstreamRejectedDetail===void 0&&o!==""&&(t.upstreamRejectedDetail=o);let p={TAG:"Log",event:"codex.upstream_rejection_captured",fields:Object.fromEntries([["turn_id",t.turnId],["detail",o===""?null:o]])};n.push(p)}let a=CIe(r);if(a!==void 0){t.providerOutageFlaggedSeen=!0,t.providerOutageDetail===void 0&&a!==""&&(t.providerOutageDetail=a);let m=EIe(r);t.providerOutageRoute===void 0&&(t.providerOutageRoute=m);let p=E(m,y=>y.holdCeilingMs),_=[["turn_id",t.turnId],["detail",a===""?null:a],["provider",Bs(E(m,y=>y.routeProvider))],["model",Bs(E(m,y=>y.routeModel))],["hold_ceiling_ms",p!==void 0?p:null]],b={TAG:"Log",event:"codex.provider_outage_flagged_captured",fields:Object.fromEntries(_)};n.push(b)}let s=$k(r),l=hIe(r);if(l!==void 0&&(t.edgeBlockEvidence=l),s!==void 0){let m=t.lastUpstreamErrorHttpStatus;m!==void 0&&s<=m||(t.lastUpstreamErrorHttpStatus=s)}if(J(s,402)&&!e.costCap402Seen){e.costCap402Seen=!0;let p={TAG:"Log",event:"codex.cost_cap_402_seen",fields:Object.fromEntries([["turn_id",t.turnId]])};n.push(p)}let d=oIe(r),u=!1;if(d!==void 0){t.lastUpstreamErrorReason=d;let p={TAG:"Log",event:"codex.upstream_error_captured",fields:Object.fromEntries([["turn_id",t.turnId],["reason",d]])};n.push(p)}else{let m=yx(r);if(m!==void 0){t.lastErrorDiagnosticText=m,u=!0;let _={TAG:"Log",event:"codex.error_without_http_status_captured",fields:Object.fromEntries([["turn_id",t.turnId],["diagnostic_text",m]])};n.push(_)}}i===void 0&&o===void 0&&a===void 0&&s===void 0&&d===void 0&&!u&&(t.unattributedErrorNotificationCount=t.unattributedErrorNotificationCount+1|0);let c=NIe(r);if(c===void 0)return;t.lastUpstreamErrorSummary=c,e.lastUpstreamErrorSummary=c;let h={TAG:"Log",event:"codex.upstream_turn_error_captured",fields:Object.fromEntries([["turn_id",t.turnId],["upstream_error",c]])};n.push(h)}function eDe(e,t,r,n){let i=pe(t,"turnId"),o=v(pe(t,"reason"),"turn source-seq mapping failed");if(i===void 0||e.terminalTurnIds.has(i))return;let a=e.turns.get(i);return a!==void 0?Dk(e,a,"failed",o,n,r,"failed",J$,"FailedTerminalMessageState"):iee(e,i,o,n)}function tDe(e,t,r,n,i){if(e.phase!=="ActiveTurnPhase")return;let a=ar(r,"item"),s=a!==void 0?pe(a,"type"):pe(r,"type");if(!li(s,"agentStatus"))return;let l=v0(r),d=t==="item/agentMessage/delta"||J(s,"agentMessage");e.items.forEach(u=>{if(!(u.identity.streamKind==="assistant"&&u.completed&&u.posted&&!c0(u.emittedStreamState)))return;if(l!==void 0?li(u.identity.itemId,l):!d)return Q$(e,u,Math.max(u.nextDeltaIndex-1|0,0),"completed",n,i)})}function WX(e,t,r,n){let i=ar(t,"item");i!==void 0&&e.protocolFailureReason===void 0&&(e.protocolFailureReason=KX(i)),VX(e,i!==void 0?i:t);let o=jX(t);if(o===void 0)return;if(o.completedStreamKind==="webSearch"){let c=o.completedContent,f;return f=c.TAG==="WebSearchContent"?c.queries:[],Rk(e,{TAG:"WebSearchDelta",itemId:o.completedItemId,queries:f},r,n)}if(e.phase==="ActiveTurnPhase"){let c=nee(e,o.completedStreamKind,o.completedItemId,r,!0),f=!1;if(c.identity.streamKind===o.completedStreamKind){let _=o.completedStreamKind,g;switch(_){case"agentStatus":case"agentTaskUpdate":g=!0;break;default:g=!1}f=g}if(c.completed&&!f)return;c.content=o.completedContent,c.completed=!0;let h=o.completedStreamKind,m;m=h==="assistant"?"streaming":"completed";let p=w0(c.wireItemKey,c.content,m);return c.posted&&J(p.renderedBody,c.lastEmittedBody)&&(m==="streaming"||c0(c.emittedStreamState))?void 0:Q$(e,c,Math.max(c.nextDeltaIndex-1|0,0),m,r,n)}let l=[["turn_id",e.turnId],["stream_kind",o.completedStreamKind]],u={TAG:"Log",event:"pipeline.loop.item_completed_for_completing_turn",fields:Object.fromEntries(l)};n.push(u)}function rDe(e,t,r,n){let i=t.method,o=v(t.params,{});if(i===bx)return;if(i===A0)return eDe(e,o,r,n);if(!XRe(i))return;let a=_x(o),s=a!==void 0?a:jk(e);if(s!==void 0){if(e.terminalTurnIds.has(s)){let h={TAG:"Log",event:"pipeline.loop.notification_for_terminal_turn",fields:Object.fromEntries([["method",i],["turn_id",s]])};n.push(h);return}let l=e.turns.get(s),d;if(l!==void 0)d=l;else{let f=r.sourceSeqForTurn(s);d=f!==void 0?ZIe(e,s,f):void 0}if(d===void 0)return YIe(e,s,{TAG:"HarnessNotification",_0:t},n);if(d.notificationCount=d.notificationCount+1|0,eIe(i)&&(d.modelInteractionSeen=!0),i==="turn/started")return;if(i==="turn/completed")return QIe(d,n);let u=YRe(i);if(u!==void 0){let f=KIe(i,o,UX(d),{sessionCostCap402Seen:e.costCap402Seen,sessionMidStreamResumeAttemptAtMs:E(r.midStreamResumeAttemptAtMsForSeq,m=>m(d.sourceSeq)),sessionFreshSessionResumeAttemptAtMs:E(r.freshSessionResumeAttemptAtMsForSeq,m=>m(d.sourceSeq))});if(f.autoResumeMidStreamStall){let m=[["thread_key",r.threadKey],["turn_id",d.turnId],["source_seq",d.sourceSeq],["reason",vp(o)]],_={TAG:"Log",event:"codex.mid_stream_stall_auto_resume_flagged",fields:Object.fromEntries(m)};n.push(_)}else if(f.midStreamResumeRateLimitSuppressed){let m=[["thread_key",r.threadKey],["turn_id",d.turnId],["source_seq",d.sourceSeq],["reason",vp(o)]],_={TAG:"Log",event:"codex.mid_stream_stall_resume_suppressed_rate_limit",fields:Object.fromEntries(m)};n.push(_)}else{let m=f.midStreamResumeAttemptBurnedAtMs;if(m!==void 0){let p=v(f.freshSessionResumeMidStreamStall,!1),_=[["thread_key",r.threadKey],["turn_id",d.turnId],["source_seq",d.sourceSeq],["resume_attempt_at_ms",m],["reason",vp(o)],["fresh_session_resume_granted",p]],b={TAG:"Log",event:"codex.mid_stream_stall_second_stall_after_resume",fields:Object.fromEntries(_)};if(n.push(b),p){let y=[["thread_key",r.threadKey],["turn_id",d.turnId],["source_seq",d.sourceSeq],["resume_attempt_at_ms",m],["reason",vp(o)]],T={TAG:"Log",event:"codex.mid_stream_stall_fresh_session_resume_flagged",fields:Object.fromEntries(y)};n.push(T)}}}if(f.autoRetryPreFirstByteStall){let m=E(qi(o,"idleStreamThresholdMs"),Uo),p=[["thread_key",r.threadKey],["turn_id",d.turnId],["source_seq",d.sourceSeq],["reason",vp(o)],["phase",v(pe(o,"idleStreamPhase"),"pre_first_byte")],["idle_threshold_ms",m!==void 0?m:null],["evidence_class",K$(UX(d))]],g={TAG:"Log",event:"codex.pre_first_byte_stall_auto_retry_flagged",fields:Object.fromEntries(p)};n.push(g)}else if(f.costCapAutoRetrySuppressed){let m=[["thread_key",r.threadKey],["turn_id",d.turnId],["source_seq",d.sourceSeq],["reason",vp(o)],["flavor",Gk(o,"midStreamResumableStall")?"mid_stream_resume":"pre_first_byte_retry"]],_={TAG:"Log",event:"codex.pre_first_byte_stall_retry_suppressed_cost_cap",fields:Object.fromEntries(m)};n.push(_)}let h;switch(u){case"failed":h="failed";break;case"completed":case"interrupted":h="interrupted";break}return Dk(e,d,u,vp(o),n,r,h,f,i===Mk?"InterruptedTerminalMessageState":"FailedTerminalMessageState")}if(i==="error")return XIe(e,d,o,n);(i.startsWith("item/")||i==="command/exec/outputDelta")&&tDe(d,i,o,r,n);let c=tIe(i,o);if(c!==void 0){let f=Object.assign({},o);return f.item=c,WX(d,f,r,n)}switch(i){case"item/completed":case"response_item":return WX(d,o,r,n);default:let f=IX(i,o);if(f===void 0)return;if(d.phase!=="ActiveTurnPhase")return Rk(d,f,r,n);if(T0(f)!=="reasoning")return d.reasoningStepsWithoutProgress=0,Rk(d,f,r,n);if(d.reasoningStepsWithoutProgress=d.reasoningStepsWithoutProgress+1|0,d.reasoningStepsWithoutProgress<=64)return Rk(d,f,r,n);let m=VRe(d.reasoningStepsWithoutProgress),_={TAG:"Log",event:"codex.reasoning_loop_breaker_tripped",fields:Object.fromEntries([["thread_key",r.threadKey],["turn_id",d.turnId],["source_seq",d.sourceSeq],["reasoning_steps_without_progress",d.reasoningStepsWithoutProgress],["max_reasoning_steps_without_progress",64]])};return n.push(_),Dk(e,d,"failed",m,n,r,"interrupted",J$,"FailedTerminalMessageState")}}else{let d={TAG:"Log",event:"pipeline.loop.notification_without_turn",fields:Object.fromEntries([["method",i]])};n.push(d);return}}function nDe(e,t,r,n,i){switch(t){case"codexDied":let a=e.phase,s=0;switch(a){case"running":case"closing":s=2;break;case"dead":return}if(s===2){e.turns.values().toArray().forEach(u=>Dk(e,u,"failed",r,i,n,"interrupted",J$,"FailedTerminalMessageState")),e.bufferedTurns.keys().toArray().forEach(u=>iee(e,u,r,i)),e.phase="dead";let d={TAG:"Log",event:"pipeline.loop.codex_died",fields:Object.fromEntries([["reason",r]])};i.push(d);return}break;case"shutdown":case"replaceRunner":break}switch(e.phase){case"running":e.phase="closing";let a=[["kind",t],["reason",r]],l={TAG:"Log",event:"pipeline.loop.closing",fields:Object.fromEntries(a)};i.push(l);return;case"closing":case"dead":return}}function iDe(e,t,r,n,i){if(e.terminalTurnIds.has(t)){let d={TAG:"Log",event:"pipeline.loop.duplicate_snapshot",fields:Object.fromEntries([["turn_id",t]])};i.push(d);return}let o=e.turns.get(t);if(o!==void 0){if(o.phase!=="ActiveTurnPhase")return oDe(e,o,r,n,i);let u={TAG:"Log",event:"pipeline.loop.snapshot_for_active_turn",fields:Object.fromEntries([["turn_id",t]])};i.push(u);return}let s={TAG:"Log",event:"pipeline.loop.snapshot_for_unknown_turn",fields:Object.fromEntries([["turn_id",t]])};i.push(s)}function oDe(e,t,r,n,i){let o=qi(r,"items"),a=o!==void 0?Array.isArray(o)?o:[]:[];t.protocolFailureReason===void 0&&(t.protocolFailureReason=QRe(a)),a.forEach(ae=>VX(t,ct(ae)));let s=FX(a),l=new Set,d=new Map;s.forEach((ae,Ue)=>{let Ee=ae.projItemId;if(Ee===void 0)return;let Re=t.items.find(Ve=>Ve.posted&&!l.has(Ve.itemKey)&&Ve.identity.streamKind===ae.projStreamKind?J(Ve.identity.itemId,Ee):!1);if(Re!==void 0){l.add(Re.itemKey),d.set(Ue,Re);return}});let u=new Map;t.items.forEach(ae=>{if(!(ae.posted&&!l.has(ae.itemKey)&&ae.identity.itemId===void 0))return;let Ue=ae.identity.streamKind;u.set(Ue,v(u.get(Ue),0)+1|0)});let c=new Map;s.forEach((ae,Ue)=>{if(d.has(Ue))return;let Ee=ae.projStreamKind;c.set(Ee,v(c.get(Ee),0)+1|0)});let f=(ae,Ue)=>{let Ee=w0(ae.wireItemKey,ae.content,"completed").renderedBody.trim(),Re=Ue.projBody.trim();return Re.startsWith(Ee)?!0:Ee.startsWith(Re)};s.forEach((ae,Ue)=>{if(d.has(Ue))return;let Ee=ae.projStreamKind,Re=J(c.get(Ee),u.get(Ee));if(ae.projItemId!==void 0&&!Re)return;let Ve=t.items.find(Be=>Be.posted&&!l.has(Be.itemKey)&&Be.identity.streamKind===ae.projStreamKind?Be.identity.itemId===void 0:!1);if(Ve!==void 0&&(ae.projItemId===void 0||f(Ve,ae))){l.add(Ve.itemKey),d.set(Ue,Ve);return}});let h=d.entries().toArray();t.items.forEach(ae=>{let Ue=h.find(Be=>Be[1].itemKey===ae.itemKey);if(Ue!==void 0){let Be=s[Ue[0]];if(Be===void 0||ae.identity.streamKind==="assistant"&&c0(ae.emittedStreamState)&&J(ae.lastEmittedBody,Be.projBody))return;let ht=Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["item_key",ae.itemKey],["item_id",ae.wireItemKey],["stream_kind",ae.identity.streamKind],["item_index",ae.identity.itemIndex],["source_seq",t.sourceSeq],["client_message_id",ae.clientMessageId],["body",Be.projBody],["structured",H$(Be.projStructured,ae.wireItemKey)],["stream_snapshot_index",gx(ae)],["terminal_outcome","completed"]]),Rt={TAG:"Enqueue",kind:Qd,data:ht,coalesceKey:void 0,resolution:"MustAck"};i.push(Rt),ae.emittedStreamState="completed",ae.lastEmittedBody=Be.projBody;return}if(!ae.posted||c0(ae.emittedStreamState))return;let Ee=w0(ae.wireItemKey,ae.content,"completed"),Re=Object.fromEntries(Ik(n,t,ae,Ee).concat([["stream_snapshot_index",gx(ae)],["terminal_outcome","completed"]])),Ve={TAG:"Enqueue",kind:Qd,data:Re,coalesceKey:void 0,resolution:"MustAck"};i.push(Ve),ae.emittedStreamState="completed",ae.lastEmittedBody=Ee.renderedBody}),s.forEach((ae,Ue)=>{if(d.has(Ue))return;let Ee=ae.projItemId,Re=Ee!==void 0?Ee:t.turnId+":"+ae.projStreamKind+":snapshot:"+ae.snapshotIndex.toString(),Ve=ae.projItemId,Be=Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["item_key",t.turnId+":"+ae.projStreamKind+":"+(Ve!==void 0?Ve:"snapshot:"+ae.snapshotIndex.toString())],["item_id",Re],["stream_kind",ae.projStreamKind],["snapshot_index",ae.snapshotIndex],["source_seq",t.sourceSeq],["client_message_id",V$(n.instanceId,t.turnId,ae.projStreamKind,Re)],["body",ae.projBody],["structured",H$(ae.projStructured,Re)],["stream_snapshot_index",1]]),ht={TAG:"Enqueue",kind:pf,data:Be,coalesceKey:void 0,resolution:"MustAck"};i.push(ht)});let m=t.items.some(ae=>ae.identity.streamKind==="assistant"?ae.posted:!1)||s.some(ae=>ae.projStreamKind==="assistant"),p=t.agentActionToolCallSeen||t.items.some(ae=>ae.posted?zX(ae.identity.streamKind):!1)||s.some(ae=>zX(ae.projStreamKind)),_=n.linzumiAgentSession&&m&&!t.agentReplyToolCallSeen&&!p,g=m&&!_,b=t.protocolFailureReason,y=KRe(b)&&g,S=y?void 0:b,T;if(!g&&b===void 0&&t.lastUpstreamErrorReason===void 0){let ae;if(_)ae={cause:WRe};else{let Ue=t.lastUpstreamErrorSummary;ae=JIe(t,s.length,Ue!==void 0?Ue:e.lastUpstreamErrorSummary)}T=ae}else T=void 0;let w=!g&&S===void 0&&t.upstreamRejectedSeen,A=!g&&S===void 0&&t.providerOutageFlaggedSeen,P=gIe(t.lastUpstreamErrorHttpStatus),C=!g&&S===void 0&&t.edgeBlockEvidence!==void 0,k=w&&!A&&!P,$=A||k?RIe(A,e.consecutiveIsolatedRejections,t.providerOutageDetail,t.upstreamRejectedDetail):void 0,V;if($!==void 0)switch($.dispositionKind){case"isolated_retry":V=!0;break;case"storm":case"isolated_terminal":V=!1;break}else V=!1;k?e.consecutiveIsolatedRejections=e.consecutiveIsolatedRejections+1|0:e.consecutiveIsolatedRejections=0;let F=!g&&S===void 0&&t.lastUpstreamErrorReason===void 0&&t.lastErrorDiagnosticText===void 0&&!w&&_Ie(t.lastUpstreamErrorHttpStatus),D=!g&&S===void 0&&t.lastUpstreamErrorReason===void 0&&P,q=!g&&S===void 0&&t.lastUpstreamErrorReason===void 0&&!w&&!F&&!D&&t.toolFatalSeen,re;if($!==void 0)re=$.dispositionReason;else if(D){let ae=t.upstreamRejectedDetail;re=bIe(t.lastUpstreamErrorHttpStatus,ae!==void 0?ae:t.lastErrorDiagnosticText)}else if(F)re=yIe(t.lastUpstreamErrorHttpStatus);else if(q)re=xIe(t.toolFatalDetail);else{let ae=t.lastUpstreamErrorReason;re=ae!==void 0?ae:_?BRe:T!==void 0?qX+" ["+T.cause+"]":qX}let te=T!==void 0&&S===void 0&&t.modelInteractionSeen&&t.lastErrorDiagnosticText===void 0&&!w&&!F&&!D&&!q;te?e.consecutiveEmptyTurns=e.consecutiveEmptyTurns+1|0:e.consecutiveEmptyTurns=0;let W=te&&e.consecutiveEmptyTurns>3,j=te&&!W||V,X=n.autoRetryAttemptsForSeq,M=X!==void 0?X(t.sourceSeq):0,I=j&&e.costCap402Seen&&M<2,Q=j&&!I;if(C){let ae=t.edgeBlockEvidence,Ue=t.edgeBlockEvidence,Re={TAG:"Log",event:"codex.edge_blocked_captured",fields:Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["http_status",ae!==void 0?ae.edgeStatus:null],["signature",Ue!==void 0?Ue.edgeSignature:null]])};i.push(Re)}let H=W?HRe+" ("+e.consecutiveEmptyTurns.toString()+" in a row"+(T!==void 0?": "+T.cause:"")+").":void 0,ie=S!==void 0?S:g?void 0:H!==void 0?H:re,se=te&&!W?M:0,de=z(ie,ae=>ae+ree(se)+(I?tee:"")),le=T!==void 0&&!W&&!w&&!F&&!D&&!q||V||C,be;if(A)be="route_outage";else if(le)be="transient_upstream";else if(F){let ae=t.lastUpstreamErrorHttpStatus;be=ae!==void 0?i0(ae):"transient_upstream"}else be="deterministic";let Xe=YX(be,n,t.sourceSeq,t.lastUpstreamErrorHttpStatus);if(I){let ae=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["reason",Bs(ie)],["isolated_rejection_retry_suppressed",V]],Ee={TAG:"Log",event:"codex.empty_turn_auto_retry_suppressed_cost_cap",fields:Object.fromEntries(ae)};i.push(Ee)}if(W){let ae=t.lastUpstreamErrorSummary,Ue=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["consecutive_empty_turns",e.consecutiveEmptyTurns],["max_consecutive_empty_turns",3],["cause",Bs(z(T,Ve=>Ve.cause))],["last_upstream_error",Bs(ae!==void 0?ae:e.lastUpstreamErrorSummary)]],Re={TAG:"Log",event:"codex.empty_turn_loop_guard_tripped",fields:Object.fromEntries(Ue)};i.push(Re)}if(y){let ae=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["reason",Bs(b)]],Ee={TAG:"Log",event:"codex.turn_completed_with_unsupported_tool_call_ignored",fields:Object.fromEntries(ae)};i.push(Ee)}else if(b!==void 0){let ae=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["reason",Bs(b)]],Ee={TAG:"Log",event:"codex.turn_completed_with_protocol_failure",fields:Object.fromEntries(ae)};i.push(Ee)}if(_){let Ue={TAG:"Log",event:"codex.agent_turn_narration_only_no_reply",fields:Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["streamed_item_count",t.items.length],["snapshot_item_count",s.length],["agent_reply_tool_call_seen",t.agentReplyToolCallSeen],["agent_action_tool_call_seen",t.agentActionToolCallSeen],["retryable_empty_turn",le],["empty_turn_loop_guard_tripped",W]])};i.push(Ue)}if(!m){let ae=t.lastUpstreamErrorHttpStatus,Ue=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["streamed_item_count",t.items.length],["snapshot_item_count",s.length],["notification_count",t.notificationCount],["error_notification_count",t.errorNotificationCount],["model_interaction_seen",t.modelInteractionSeen],["last_error_diagnostic_text",Bs(t.lastErrorDiagnosticText)],["last_upstream_error_reason",Bs(t.lastUpstreamErrorReason)],["last_upstream_error_summary",Bs(t.lastUpstreamErrorSummary)],["empty_turn_cause",Bs(z(T,Ve=>Ve.cause))],["tool_fatal_seen",q],["tool_fatal_detail",Bs(t.toolFatalDetail)],["upstream_rejected_seen",w],["upstream_rejected_detail",Bs(t.upstreamRejectedDetail)],["upstream_terminal_4xx",D],["last_upstream_error_http_status",ae!==void 0?ae:null],["provider_outage_flagged",A],["isolated_rejection_retry_granted",V],["rejection_disposition",$!==void 0?$.dispositionKind:null],["consecutive_isolated_rejections",e.consecutiveIsolatedRejections],["retryable_empty_turn",le],["empty_turn_loop_guard_tripped",W],["cost_cap_auto_retry_suppressed",I]],Re={TAG:"Log",event:"codex.turn_completed_without_assistant_output",fields:Object.fromEntries(Ue)};i.push(Re)}let Qe=v(n.sessionExecutesRecoveryGrants,!1)&&Q,oe;if(de!==void 0){let ae=E(n.ladderHistoryForSeq,Re=>Re(t.sourceSeq,Xe)),Ue=t.lastUpstreamErrorSummary,Ee;if(Ue!==void 0)Ee=[["upstream_error",Ue]];else{let Re=e.lastUpstreamErrorSummary;Ee=Re!==void 0?[["upstream_error",Re]]:[]}oe=[["status",Qe?"recovering":"failed"],["reason",de]].concat((le&&!Qe?[["retryable",!0]]:[]).concat([["fate",Xe]])).concat((ae!==void 0?[["ladder",ae]]:[]).concat(C?[["failure_class","edge_blocked"]]:[]).concat(Ee))}else oe=[["status","processed"]];let Te=Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["seq",t.sourceSeq]].concat(oe)),qe={TAG:"Enqueue",kind:Sl,data:Te,coalesceKey:void 0,resolution:"MustAck"};i.push(qe),de===void 0&&(e.lastUpstreamErrorSummary=void 0);let Ne;if(de!==void 0){let ae;ae=Xe==="route_outage"?{routeProvider:E(t.providerOutageRoute,Ue=>Ue.routeProvider),routeModel:E(t.providerOutageRoute,Ue=>Ue.routeModel),holdCeilingMs:E(t.providerOutageRoute,Ue=>Ue.holdCeilingMs)}:void 0,Ne={TAG:"TurnTerminal",turnId:t.turnId,outcome:"failed",reason:de,retryableEmptyTurn:Q,autoResumeMidStreamStall:!1,fate:Xe,routeOutageHold:ae}}else Ne={TAG:"TurnTerminal",turnId:t.turnId,outcome:"completed",reason:void 0,retryableEmptyTurn:!1,autoResumeMidStreamStall:!1,fate:void 0};i.push(Ne),e.turns.delete(t.turnId),Z$(e,t.turnId)}function iee(e,t,r,n){let i=v(e.bufferedTurns.get(t),[]),o=i.length,a=i[0],s=i[o-1|0],l=Object.fromEntries([["turn_id",t],["buffered_event_count",o],["first_event",Pk(a)],["last_event",Pk(s)],["reason","A response was produced but could not be delivered because its turn source mapping never arrived. Please retry."]]),d="unmapped-turn-failure:"+t,u={TAG:"Enqueue",kind:sk,data:l,coalesceKey:d,resolution:"MustAck"};n.push(u);let c=[["level","error"],["turn_id",t],["buffered_event_count",o],["first_event",Pk(a)],["last_event",Pk(s)],["reason",r]],h={TAG:"Log",event:"pipeline.loop.buffered_turn_failed",fields:Object.fromEntries(c)};n.push(h),e.bufferedTurns.delete(t),n.push({TAG:"TurnTerminal",turnId:t,outcome:"failed",reason:r,retryableEmptyTurn:!1,autoResumeMidStreamStall:!1,fate:void 0}),Z$(e,t)}function oee(e,t,r,n){switch(t.TAG){case"HarnessNotification":case"CompletionSnapshot":break;case"Lifecycle":return nDe(e,t.kind,t.reason,r,n)}switch(e.phase){case"running":switch(t.TAG){case"HarnessNotification":return rDe(e,t._0,r,n);case"CompletionSnapshot":let c=t.turnId,f=e.bufferedTurns.get(c);if(f!==void 0){f.push(t);return}else return iDe(e,c,t.snapshot,r,n);case"Lifecycle":return}case"closing":let o=[["source",u0(t)]],s={TAG:"Log",event:"pipeline.loop.event_after_close",fields:Object.fromEntries(o)};n.push(s);return;case"dead":let l=[["source",u0(t)]],u={TAG:"Log",event:"pipeline.loop.event_after_death",fields:Object.fromEntries(l)};n.push(u);return}}function aDe(e,t,r){e.bufferedTurns.keys().toArray().forEach(n=>{if(t.sourceSeqForTurn(n)===void 0)return;let o=v(e.bufferedTurns.get(n),[]);e.bufferedTurns.delete(n);let s={TAG:"Log",event:"pipeline.loop.buffered_turn_drained",fields:Object.fromEntries([["turn_id",n],["buffered_event_count",o.length]])};r.push(s),o.forEach(l=>oee(e,l,t,r))})}function aee(e,t,r){let n=[];return e.phase==="running"&&aDe(e,r,n),oee(e,t,r,n),n}var Y$=2;function xx(e){if(e!==void 0)return ce(e)}function see(){return{contents:"Ready"}}function lee(e){let t=e.contents;if(typeof t=="object")return"Busy";switch(t){case"Ready":return e.contents="PublishingInitial","Claimed";case"PublishingInitial":return"Busy";case"Settled":return"AlreadySettled"}}function ej(e){let t=e.contents;if(typeof t=="object")return"Busy";switch(t){case"Ready":return e.contents={TAG:"PublishingTerminal",_0:void 0},"Claimed";case"PublishingInitial":return"Busy";case"Settled":return"AlreadySettled"}}function dee(e,t){let r=e.contents;if(typeof r=="object")return r._0!==void 0||(e.contents={TAG:"PublishingTerminal",_0:t}),"CleanupDeferred";switch(r){case"Ready":return e.contents={TAG:"PublishingTerminal",_0:void 0},"CleanupClaimed";case"PublishingInitial":return"CleanupWonInitialPublication";case"Settled":return"CleanupAlreadySettled"}}function uee(e){let t=e.contents;return typeof t=="object"||t!=="PublishingInitial"?!1:(e.contents="Ready",!0)}function cee(e){let t=e.contents;if(typeof t!="object")return"TerminalNotOwned";let r=t._0;return r!==void 0?(e.contents={TAG:"PublishingTerminal",_0:void 0},{TAG:"TerminalCleanupRequested",_0:r}):(e.contents="Ready","TerminalReleased")}function fee(e){let t=e.contents;return typeof t!="object"&&t==="Settled"?!1:(e.contents="Settled",!0)}function wp(e){try{let t=JSON.stringify(e);return t!==void 0?{TAG:"Ok",_0:JSON.parse(t)}:{TAG:"Error",_0:"Codex native question payload was not JSON serializable"}}catch{return{TAG:"Error",_0:"Codex native question payload was not JSON serializable"}}}function lDe(e){let t=wp(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0;return typeof r=="object"&&r!==null&&!Array.isArray(r)?{TAG:"Ok",_0:r}:{TAG:"Error",_0:"Codex native question payload was not an object"}}function mee(e){let t=e.itemId.trim(),r=e.threadId.trim(),n=e.turnId.trim();if(t===""||r===""||n==="")return{TAG:"Error",_0:"Codex request_user_input was missing request identity"};let i=e.questions.length;if(i===0)return{TAG:"Error",_0:"Codex request_user_input contained no questions"};if(i>3)return{TAG:"Error",_0:"Codex request_user_input contained more than three questions"};let o=new Set,a=nt(e.questions,{TAG:"Ok",_0:[]},(d,u)=>{if(d.TAG!=="Ok")return{TAG:"Error",_0:d._0};let c=u.id.trim(),f=u.header.trim(),h=u.question.trim();if(c===""||f===""||h==="")return{TAG:"Error",_0:"Codex request_user_input contained an incomplete question"};if(o.has(c))return{TAG:"Error",_0:"Codex request_user_input contained duplicate question ids"};o.add(c);let m=new Set,p=nt(v(lt(u.options),[]),{TAG:"Ok",_0:[]},(g,b)=>{if(g.TAG!=="Ok")return{TAG:"Error",_0:g._0};let y=b.label.trim(),S=b.description.trim();return y===""||S===""?{TAG:"Error",_0:"Codex request_user_input contained an incomplete option"}:m.has(y)?{TAG:"Error",_0:"Codex request_user_input contained duplicate option labels"}:(m.add(y),{TAG:"Ok",_0:g._0.concat([{label:y,description:S}])})});if(p.TAG!=="Ok")return{TAG:"Error",_0:p._0};let _=p._0;return _.length!==1?{TAG:"Ok",_0:d._0.concat([{questionId:c,header:f,question:h,isOther:u.isOther,isSecret:u.isSecret,options:_}])}:{TAG:"Error",_0:"Codex request_user_input option questions require at least two options"}});if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};let s=e.autoResolutionMs,l=s!=null&&isFinite(s)&&s>=0?s:void 0;return{TAG:"Ok",_0:{requestId:t,codexThreadId:r,turnId:n,autoResolutionMs:l,questions:a._0}}}function pee(e,t,r,n,i){let o=new Map;e.questions.forEach(m=>{o.set(m.questionId,m)});let a=new Set,s=t.some(m=>{let p=a.has(m.questionId);return a.add(m.questionId),p}),l=t.length===e.questions.length;if(s)return{TAG:"Error",_0:"Codex user input contained duplicate answers"};if(!l)return{TAG:"Error",_0:"Codex user input must answer every question"};let d={},u=nt(t,{TAG:"Ok",_0:[]},(m,p)=>{let _=o.get(p.questionId);if(m.TAG!=="Ok")return{TAG:"Error",_0:m._0};if(_===void 0)return{TAG:"Error",_0:"Codex user input answer referenced an unknown question"};let g=m._0,b=v(p.selectedLabels,[]).map(P=>P.trim()).filter(P=>P!==""),y=p.freeText,S=y!==void 0&&y.trim()!==""?y:void 0,T=b.some(P=>!_.options.some(C=>C.label===P)),w=b.length;if(w===0&&S===void 0)return{TAG:"Error",_0:"Codex user input contained an empty answer"};if(w>1)return{TAG:"Error",_0:"Codex user input contained several answers for a single-select question"};if(T)return{TAG:"Error",_0:"Codex user input selected an unknown option"};let A=S!==void 0?b.concat([S]):b;return d[p.questionId]={answers:A},_.isSecret?{TAG:"Ok",_0:g.concat([{questionId:p.questionId,selectedLabels:["Secret answer submitted"]}])}:{TAG:"Ok",_0:g.concat([{questionId:p.questionId,selectedLabels:b,freeText:S}])}});if(u.TAG!=="Ok")return{TAG:"Error",_0:u._0};let f=wp({answers:d}),h=wp({kind:"Answered",answers:u._0,answeredAt:r,actorUserId:xx(n),actorSlug:xx(i)});return f.TAG==="Ok"?h.TAG==="Ok"?{TAG:"Ok",_0:{continuation:f._0,answerState:h._0}}:{TAG:"Error",_0:h._0}:{TAG:"Error",_0:f._0}}function hee(){return wp({answers:{}})}function Fk(e,t,r,n){return wp({kind:"Cancelled",reason:e,answeredAt:t,actorUserId:xx(r),actorSlug:xx(n)})}function Nk(e){let t=e.instanceId,r=e.sessionId,n=e.actorUserId,i=e.actorSlug,o=e.harness;return wp({type:"resolve_codex_user_input_request",instanceId:t,threadId:e.threadId,sessionId:r,requestId:e.requestId,answers:e.answers.map(a=>({questionId:a.questionId,selectedLabels:v(a.selectedLabels,[])})),actorUserId:n,actorSlug:i,agentProvider:o})}function tj(e,t,r,n){let i=e.autoResolutionMs,o=t.leaseEpoch,a=e.requestId,s="agent_user_input_request:"+e.requestId,l=e.requestId,d=e.codexThreadId,u=t.sourceSeq,c=e.questions.map(m=>({questionId:m.questionId,header:m.header,question:m.question,multiSelect:!1,allowsFreeText:!0,isOther:m.isOther,isSecret:m.isSecret,options:m.options})),f={method:"item/tool/requestUserInput",thread_id:e.codexThreadId,turn_id:e.turnId},h={kind:"agent_user_input_request",item_id:a,transcript_unit_id:s,stream_state:n,request_id:l,session_id:d,source_message_seq:u,agent_provider:"codex",request_source:"codex_request_user_input",title:"Codex needs input",questions:c,answerState:r,raw_provider_metadata:f,auto_resolution_ms:i};return lDe({workspace:t.workspace,channel:t.channel,thread_id:t.kandanThreadId,stream_key:"codex-user-question:"+e.requestId,body:"Codex needs input",payload:{source_message_seq:t.sourceSeq,agent_provider:"codex",codex_thread_id:e.codexThreadId,provider_session_key:e.codexThreadId,structured:h},lease_epoch:o})}function _ee(e,t){let r=wp({kind:"NeedsAnswer"});return r.TAG==="Ok"?tj(e,t,r._0,"streaming"):{TAG:"Error",_0:r._0}}function gee(e,t,r){return tj(e,t,r,"completed")}function qk(e,t,r){return tj(e,t,r,"interrupted")}var dDe=[500,1e3,2500,5e3,1e4,3e4],uDe=1440*60*1e3;function cDe(e,t){switch(e){case"MustReachConsensus":return{TAG:"RetryAfterExhaustion",_0:v(t[t.length-1|0],1e3)};case"MustAck":case"BestEffort":return"FailAfterExhaustion"}}function fDe(e,t){switch(e){case"MustReachConsensus":return!1;case"MustAck":case"BestEffort":return t}}function zk(e,t){return e+"\0"+t}function bee(e,t){let r=Math.max(1,Math.ceil(t*e.length)|0);return v(e[r-1|0],0)}function mDe(e){if(e.length===0)return;let t=e.toSorted((r,n)=>r-n);return{p50Ms:bee(t,.5),p95Ms:bee(t,.95),maxMs:v(t[t.length-1|0],0),ackedInWindow:t.length}}function pDe(e){return new Promise((t,r)=>{setTimeout(()=>t(),e)})}function yee(e){let t=e.log,r=e.onPermanentFailure,n=e.builders,i={contents:e.threadKey},o=v(e.now,()=>Date.now()),a=v(e.retryDelaysMs,dDe.slice()),s={contents:[]},l={contents:0},d=new Map,u={contents:new Map},c=[],f={contents:1},h={contents:0},m={contents:0},p={contents:0},_={contents:0},g={contents:0},b={contents:0},y=[],S={contents:0},T={contents:!1},w={contents:!0},A={contents:!1},P={contents:void 0},C={contents:void 0},k=new Map,$=new Map,V=(Ce,Pe)=>{let Ie=Pe.then(Ke=>(k.delete(Ce),Ke));k.set(Ce,Ie)},F=Math.max(1,v(e.maxInFlightPushes,1)),D={contents:0},q={contents:[]},re={contents:Promise.resolve()},te=()=>s.contents[l.contents],W=()=>({totalEnqueued:h.contents,totalAcked:m.contents,totalDroppedBestEffort:_.contents,totalPermanentFailures:g.contents,totalExpiredOnRecovery:b.contents,lastEntrySeq:f.contents-1}),j=e.persistDir;if(j!==void 0){let Ce=d0(j,i.contents),Pe=ok(Ce,t),Ie=v(e.journalRecoveryMaxAgeMs,uDe),Ke=o(),Ct=[];Pe.pendingEntries.forEach(rr=>{if(fDe(rr.resolution,Ke-rr.enqueuedAtMs>Ie)){Ct.push(rr);return}let Er={entry:rr,state:"EntryQueued",outcome:void 0,retryTimer:void 0};s.contents.push(Er);let Br=rr.coalesceKey;if(Br!==void 0){d.set(zk(rr.kind,Br),Er);return}}),u.contents=Pe.kv,h.contents=Pe.counters.totalEnqueued,m.contents=Pe.counters.totalAcked,_.contents=Pe.counters.totalDroppedBestEffort,g.contents=Pe.counters.totalPermanentFailures,b.contents=Pe.counters.totalExpiredOnRecovery+Ct.length|0,f.contents=Pe.counters.lastEntrySeq+1;let Ft=gQ(Ce,()=>({pendingEntries:s.contents.slice(l.contents).map(rr=>rr.entry),kv:u.contents,counters:W()}),t,e.journalCompactionThreshold,void 0);if(C.contents=Ft,Ct.length!==0){Ct.forEach(Br=>Ft.appendExpired(Br.entrySeq));let rr=Ct.map(Br=>Math.max(0,Ke-Br.enqueuedAtMs)),Er=new Set(Ct.map(Br=>Br.kind));t("outbox_recovery_expired",Object.fromEntries([["level","warn"],["threadKey",i.contents],["expiredEntries",Ct.length],["survivingEntries",s.contents.length-l.contents|0],["maxAgeMs",Ie],["oldestAgeMs",nt(rr,0,(Br,Mr)=>Math.max(Br,Mr))],["newestAgeMs",nt(rr,Number.POSITIVE_INFINITY,(Br,Mr)=>Math.min(Br,Mr))],["kinds",Er.values().toArray().map(Br=>Br)]]))}(s.contents.length-l.contents|0)>0&&t("outbox_recovered",Object.fromEntries([["threadKey",i.contents],["pendingEntries",s.contents.length-l.contents|0],["nextEntrySeq",f.contents]]))}let I={remember:(Ce,Pe)=>{u.contents.set(Ce,Pe);let Ie=C.contents;if(Ie!==void 0)return Ie.appendKv(Ce,Pe)},recall:Ce=>u.contents.get(Ce)},Q=()=>{if(l.contents=l.contents+1|0,l.contents>=64&&l.contents<<1>=s.contents.length){s.contents=s.contents.slice(l.contents),l.contents=0;return}},H=()=>{let Ce=te(),Pe=c.length-1|0;for(;Pe>=0;){let Ie=c[Pe];if(Ie!==void 0&&(Ce!==void 0?Ce.entry.entrySeq>Ie.upToSeq:!0)){c.splice(Pe,1);let Ct=Ie.timer;Ct!==void 0&&clearTimeout(ce(Ct)),Ie.resolve({TAG:"Ok",_0:void 0})}Pe=Pe-1|0}},ie=(Ce,Pe)=>{let Ie=$.get(Ce);if(Ie!==void 0){$.delete(Ce),Ie.forEach(Ke=>Ke(Pe));return}},se=Ce=>{let Pe=Ce.entry.coalesceKey;if(Pe===void 0)return;let Ie=zk(Ce.entry.kind,Pe),Ke=d.get(Ie);if(Ke!==void 0&&Ke===Ce){d.delete(Ie);return}},de=(Ce,Pe)=>{let Ie=Ce.entry;switch(Pe.TAG){case"OutcomeAck":ie(Ie.entrySeq,{TAG:"Ok",_0:void 0});let Ke=n[Ie.kind];if(Ke!==void 0){let oi=Ke.onReply;if(oi!==void 0){let Ji;try{oi(Ie.data,Pe._0,I),Ji={TAG:"Ok",_0:void 0}}catch(Io){let Ra=N(Io);Ji={TAG:"Error",_0:ke(Ra)}}Ji.TAG!=="Ok"&&t("outbox_on_reply_failed",Object.fromEntries([["threadKey",i.contents],["entrySeq",Ie.entrySeq],["kind",Ie.kind],["error",Ji._0.message]]))}}let Ct=C.contents;Ct!==void 0&&Ct.appendAck(Ie.entrySeq);break;case"OutcomeSkip":let Ft=Pe._0;ie(Ie.entrySeq,{TAG:"Error",_0:"outbox entry skipped: "+Ft}),t("outbox_entry_skipped",Object.fromEntries([["threadKey",i.contents],["entrySeq",Ie.entrySeq],["kind",Ie.kind],["reason",Ft]]));let rr=C.contents;rr!==void 0&&rr.appendSkip(Ie.entrySeq,Ft);break;case"OutcomeFail":let Er=Pe._0;ie(Ie.entrySeq,{TAG:"Error",_0:Er});let Br=Ie.resolution,Mr=0;switch(Br){case"MustAck":case"MustReachConsensus":Mr=1;break;case"BestEffort":let oi=C.contents;oi!==void 0&&oi.appendDrop(Ie.entrySeq);break}if(Mr===1){let oi=C.contents;oi!==void 0&&oi.appendFail(Ie.entrySeq);let Ji;try{r(Ie,Er),Ji={TAG:"Ok",_0:void 0}}catch(Io){let Ra=N(Io);Ji={TAG:"Error",_0:ke(Ra)}}Ji.TAG!=="Ok"&&t("outbox_permanent_failure_callback_failed",Object.fromEntries([["threadKey",i.contents],["entrySeq",Ie.entrySeq],["error",Ji._0.message]]))}break}se(Ce),Q(),H()},le=()=>{let Ce=!0;for(;Ce;){let Pe=te();if(Pe!==void 0){let Ie=Pe.outcome;Ie!==void 0?de(Pe,Ie):Ce=!1}else Ce=!1}},be=(Ce,Pe)=>{let Ie=Ce.entry;switch(Pe.TAG){case"OutcomeAck":case"OutcomeSkip":break;case"OutcomeFail":let Ke=Pe._0,Ct=Ie.resolution,Ft=0;switch(Ct){case"MustAck":case"MustReachConsensus":Ft=1;break;case"BestEffort":_.contents=_.contents+1|0,t("outbox_dropped_best_effort",Object.fromEntries([["threadKey",i.contents],["entrySeq",Ie.entrySeq],["kind",Ie.kind],["attempts",Ie.attempts],["error",Ke]]));break}Ft===1&&(g.contents=g.contents+1|0,t("outbox_permanent_failure",Object.fromEntries([["threadKey",i.contents],["entrySeq",Ie.entrySeq],["kind",Ie.kind],["attempts",Ie.attempts],["error",Ke]])));break}Ce.outcome=Pe,Ce.state="EntryQueued"},Xe=Ce=>{y.length<256?y.push(Ce):y[S.contents]=Ce;let Pe=S.contents+1|0;S.contents=Pe>=256?0:Pe},Qe=Ce=>{let Pe=Ce.retryTimer;if(Pe!==void 0){clearTimeout(ce(Pe)),Ce.retryTimer=void 0;return}},oe=()=>{if(D.contents>0)return;let Ce=q.contents;q.contents=[],Ce.forEach(Pe=>Pe())},Te=()=>{let Ce=te();return Ce===void 0||Ce.state!=="EntryQueued"||Ce.outcome!==void 0?!1:Ce.retryTimer!==void 0},qe={contents:()=>{}},Ne=(Ce,Pe)=>{Qe(Ce);let Ie=setTimeout(()=>{if(Ce.retryTimer=void 0,!(A.contents||T.contents||Ce.outcome!==void 0))return qe.contents()},Pe|0);Ie.unref(),Ce.retryTimer=ve(Ie)},ae=(Ce,Pe,Ie)=>{if(Ce.state="EntryQueued",p.contents=p.contents+1|0,t("outbox_consensus_retry",Object.fromEntries([["threadKey",i.contents],["entrySeq",Ce.entry.entrySeq],["kind",Ce.entry.kind],["attempt",Ce.entry.attempts],["delayMs",Ie],["error",Pe]])),!A.contents&&!T.contents)return Ne(Ce,Ie)},Ue=(Ce,Pe)=>{let Ie=cDe(Ce.entry.resolution,a);return typeof Ie!="object"?be(Ce,{TAG:"OutcomeFail",_0:Pe}):ae(Ce,Pe,Ie._0)},Ee=async(Ce,Pe,Ie)=>{let Ke=Ce.entry,Ct=o(),Ft;try{Ft=await e.push(Pe[0],Pe[1],Pe[2],Ie)}catch(Br){let Mr=N(Br);Ft={TAG:"PushFailed",message:ke(Mr).message,budgetExempt:!1}}if(Ft.TAG==="Acked"){let Br=Ft._0;Ie(),Xe(Math.max(0,o()-Ct));let Mr=n[Ke.kind],oi;if(Mr!==void 0){let Ra=Mr.adjudicateReply;if(Ra!==void 0)try{oi=Ra(Ke.data,Br,I)}catch(cu){let qf=N(cu);oi={TAG:"RetryReply",_0:ke(qf).message}}else oi="AcceptReply"}else oi="AcceptReply";if(typeof oi!="object")return m.contents=m.contents+1|0,be(Ce,{TAG:"OutcomeAck",_0:Br});let Ji=oi._0,Io=a[Ke.attempts-1|0];return Io!==void 0?ae(Ce,Ji,Io):Ue(Ce,Ji)}let rr=Ft.message;if(Ie(),Ce.state="EntryQueued",Ft.budgetExempt)return Ke.attempts=Ke.attempts-1|0,p.contents=p.contents+1|0,t("outbox_push_connection_wait",Object.fromEntries([["threadKey",i.contents],["entrySeq",Ke.entrySeq],["kind",Ke.kind],["error",rr]])),!A.contents&&!T.contents?Ne(Ce,1e3):void 0;let Er=a[Ke.attempts-1|0];return Er!==void 0?(p.contents=p.contents+1|0,t("outbox_push_retry",Object.fromEntries([["threadKey",i.contents],["entrySeq",Ke.entrySeq],["kind",Ke.kind],["attempt",Ke.attempts],["delayMs",Er],["error",rr]])),!A.contents&&!T.contents?Ne(Ce,Er):void 0):Ue(Ce,rr)},Re=async Ce=>{let Pe=Ce.entry,Ie=re.contents,Ke={contents:()=>{}};re.contents=new Promise((Er,Br)=>{Ke.contents=Er});let Ct={contents:!1},Ft=()=>{if(!Ct.contents)return Ct.contents=!0,Ke.contents()};if(Ce.state="EntryPushing",D.contents=D.contents+1|0,await Ie,A.contents||T.contents||Ce.outcome!==void 0){Ce.state="EntryQueued",Ft(),D.contents=D.contents-1|0;return}let rr=n[Pe.kind];if(rr!==void 0){let Er;try{Er=rr.build(Pe.data,I)}catch(Br){let Mr=N(Br);Er={TAG:"BuildFailed",_0:ke(Mr).message}}switch(Er.TAG){case"BuildPush":Pe.attempts=Pe.attempts+1|0,await Ee(Ce,[Er.event,Er.payload,Er.timeoutMs],Ft),D.contents=D.contents-1|0;return;case"BuildSkip":let Br=Er._0;switch(Ft(),Pe.resolution){case"MustReachConsensus":Ue(Ce,"must_reach_consensus builder skipped without consensus: "+Br);break;case"MustAck":case"BestEffort":be(Ce,{TAG:"OutcomeSkip",_0:Br});break}D.contents=D.contents-1|0;return;case"BuildFailed":Ft(),Ue(Ce,Er._0),D.contents=D.contents-1|0;return}}else{Ft(),Ue(Ce,"no outbox builder registered for kind "+Pe.kind),D.contents=D.contents-1|0;return}},Ve=()=>{if(le(),A.contents||T.contents||Te())return oe();let Ce=l.contents;for(;Ce<s.contents.length&&D.contents<F;){let Pe=s.contents[Ce];Pe!==void 0&&Pe.state==="EntryQueued"&&Pe.outcome===void 0&&(Pe.retryTimer!==void 0||Fr(Re(Pe).then(()=>Ve()),Ft=>(t("outbox_drain_loop_error",Object.fromEntries([["threadKey",i.contents]])),Ve(),Promise.resolve()))),Ce=Ce+1|0}oe()};qe.contents=Ve;let Be=()=>{if(T.contents||A.contents)return;if(te()!==void 0){Promise.resolve().then(()=>{if(!A.contents&&!T.contents)return Ve()});return}},ht=Ce=>{let Pe=f.contents-1,Ie=te();return(Ie!==void 0?Ie.entry.entrySeq>Pe:!0)?Promise.resolve({TAG:"Ok",_0:void 0}):new Promise((Ct,Ft)=>{let rr={upToSeq:Pe,resolve:Ct,timer:void 0};Ce!==void 0&&(rr.timer=ve(setTimeout(()=>{let Er=c.indexOf(rr);Er===-1||c.splice(Er,1),Ct({TAG:"Error",_0:"outbox flush for "+i.contents+" timed out after "+Ce.toString()+"ms with "+(s.contents.length-l.contents|0).toString()+" entries pending"})},Ce|0))),c.push(rr)})},Rt=async Ce=>{w.contents=!1;let Pe=await ht(Ce);Pe.TAG!=="Ok"&&t("outbox_close_flush_timeout",Object.fromEntries([["threadKey",i.contents],["depth",s.contents.length-l.contents|0],["error",Pe._0]])),A.contents=!0;let Ie=l.contents;for(;Ie<s.contents.length;){let Ft=s.contents[Ie];Ft!==void 0&&Qe(Ft),Ie=Ie+1|0}D.contents>0&&await Promise.race([new Promise((Ft,rr)=>{q.contents.push(()=>Ft())}),pDe(1e3)]);let Ke=c.slice();c.splice(0,c.length),Ke.forEach(Ft=>{let rr=Ft.timer;rr!==void 0&&clearTimeout(ce(rr)),Ft.resolve({TAG:"Error",_0:"outbox for "+i.contents+" closed"})}),$.forEach((Ft,rr)=>{Ft.forEach(Er=>Er({TAG:"Error",_0:"outbox entry "+rr.toString()+" for "+i.contents+" closed before acknowledgement"}))}),$.clear();let Ct=C.contents;if(Ct!==void 0)return await Ct.close()},Wt=(Ce,Pe,Ie)=>{if(Ce===void 0)return Ie;let Ke=Ce.coalesce;if(Ke===void 0)return Ie;let Ct;try{Ct={TAG:"Ok",_0:Ke(Pe.data,Ie)}}catch(Ft){let rr=N(Ft);Ct={TAG:"Error",_0:ke(rr)}}return Ct.TAG==="Ok"?Ct._0:(t("outbox_coalesce_failed",Object.fromEntries([["threadKey",i.contents],["entrySeq",Pe.entrySeq],["kind",Pe.kind],["error",Ct._0.message]])),Ie)},Kn={enqueue:Ce=>{if(!w.contents)return{TAG:"Error",_0:"outbox for "+i.contents+" is closed"};h.contents=h.contents+1|0;let Pe=Ce.coalesceKey,Ie;if(Pe!==void 0){let Br=zk(Ce.kind,Pe),Mr=d.get(Br);if(Mr!==void 0)if(Mr.state==="EntryQueued")if(Mr.outcome!==void 0)Ie=void 0;else{Mr.entry.data=Wt(n[Ce.kind],Mr.entry,Ce.data);let Io=C.contents;Io!==void 0?V(Mr.entry.entrySeq,Io.appendCoalesce(Mr.entry.entrySeq,Mr.entry.data)):V(Mr.entry.entrySeq,Promise.resolve({TAG:"Error",_0:"outbox journal is unavailable"})),Ie=Mr.entry.entrySeq}else Ie=void 0;else Ie=void 0}else Ie=void 0;if(Ie!==void 0)return{TAG:"Ok",_0:Ie};let Ke=f.contents;f.contents=f.contents+1;let Ct={entrySeq:Ke,kind:Ce.kind,data:Ce.data,coalesceKey:Ce.coalesceKey,resolution:Ce.resolution,attempts:0,enqueuedAtMs:o()},Ft={entry:Ct,state:"EntryQueued",outcome:void 0,retryTimer:void 0};s.contents.push(Ft);let rr=Ce.coalesceKey;rr!==void 0&&d.set(zk(Ce.kind,rr),Ft);let Er=C.contents;return Er!==void 0?V(Ke,Er.appendEnqueue(Ct)):V(Ke,Promise.resolve({TAG:"Error",_0:"outbox journal is unavailable"})),Be(),{TAG:"Ok",_0:Ke}},awaitEnqueuePersistence:Ce=>{let Pe=k.get(Ce);return Pe!==void 0?Pe:Promise.resolve({TAG:"Error",_0:"outbox enqueue "+Ce.toString()+" has no pending persistence acknowledgement"})},awaitEntryAcknowledgement:Ce=>new Promise((Pe,Ie)=>{let Ke=$.get(Ce);Ke!==void 0?Ke.push(Pe):$.set(Ce,[Pe])}),flush:ht,pause:()=>{T.contents=!0},resume:()=>{if(!T.contents)return;T.contents=!1;let Ce=l.contents;for(;Ce<s.contents.length;){let Pe=s.contents[Ce];Pe!==void 0&&(Pe.entry.attempts=0,Qe(Pe)),Ce=Ce+1|0}Be()},metrics:()=>{let Ce=te(),Pe=z(C.contents,Ie=>Ie.status());return{depth:s.contents.length-l.contents|0,oldestEntryAgeMs:z(Ce,Ie=>Math.max(0,o()-Ie.entry.enqueuedAtMs)),totalEnqueued:h.contents,totalAcked:m.contents,totalRetried:p.contents,totalDroppedBestEffort:_.contents,totalPermanentFailures:g.contents,totalExpiredOnRecovery:b.contents,totalJournalWriteFailures:v(z(Pe,Ie=>Ie.totalWriteFailures),0),journalDegraded:v(z(Pe,Ie=>Ie.degraded),!1),paused:T.contents,pushLatency:mDe(y)}},close:Ce=>{let Pe=P.contents;if(Pe!==void 0)return Pe;let Ie=Rt(v(Ce,3e4));return P.contents=Ie,Ie},journalSettled:()=>{let Ce=C.contents;return Ce!==void 0?Ce.settled():Promise.resolve()},rekeyJournal:Ce=>{if(Ce===i.contents)return;i.contents=Ce;let Pe=e.persistDir,Ie=C.contents;if(Pe!==void 0&&Ie!==void 0)return Ie.rekey(d0(Pe,Ce))}};return Be(),Kn}var _De=10*6e4;function gDe(e){switch(e){case"collabAgentToolCall":case"commandExecution":case"dynamicToolCall":case"mcpToolCall":case"terminalInput":return!0;default:return!1}}function Ap(e){let t=St(e);return t!==void 0?v(At(ce(t)),"unknown error"):"unknown error"}function xee(e){let t=JX(),r=e.threadKey,n=e.instanceId,i=e.sourceSeqForTurn,o=e.autoRetryAttemptsForSeq,a=e.midStreamResumeAttemptAtMsForSeq,s=e.freshSessionResumeAttemptAtMsForSeq,l=e.ladderHistoryForSeq,d=e.sessionExecutesRecoveryGrants,u=e.linzumiAgentSession,c={threadKey:r,instanceId:n,sourceSeqForTurn:i,autoRetryAttemptsForSeq:o,midStreamResumeAttemptAtMsForSeq:a,freshSessionResumeAttemptAtMsForSeq:s,ladderHistoryForSeq:l,sessionExecutesRecoveryGrants:d,linzumiAgentSession:u},f=[],h=v(e.now,()=>Date.now()),m=new Map,p=new Map,_=new Map,g=new Map,b=new Set,y=v(e.bufferedTurnMaxAgeMs,_De),S=v(e.bufferedTurnMaxEvents,1e4),T=v(e.bufferedTurnSweepIntervalMs,3e4),w={contents:!1},A={contents:!0},P={contents:void 0},C=(j,X)=>{try{return e.log(j,Object.fromEntries(X))}catch{return}},k=j=>t.turns.has(j)?!0:t.bufferedTurns.has(j),$=()=>{t.turns.keys().toArray().forEach(j=>{if(!m.has(j)){m.set(j,h());return}}),m.keys().toArray().forEach(j=>{if(!t.turns.has(j)){m.delete(j);return}}),t.bufferedTurns.keys().toArray().forEach(j=>{if(!p.has(j)){p.set(j,h());return}}),p.keys().toArray().forEach(j=>{if(!t.bufferedTurns.has(j)){p.delete(j),b.delete(j);return}}),_.keys().toArray().forEach(j=>{if(!k(j)){_.delete(j);return}}),g.keys().toArray().forEach(j=>{if(!k(j)){g.delete(j);return}})},V=(j,X)=>{if(k(j)){_.set(j,{atMs:h(),activityKind:X});return}},F=j=>{switch(j.TAG){case"HarnessNotification":let X=j._0,M=X.method;if(M===bx||M===A0)return;let I=_x(v(X.params,{})),Q=I!==void 0?I:jk(t);return Q!==void 0?V(Q,M):void 0;case"CompletionSnapshot":case"Lifecycle":return}},D=j=>{switch(j.TAG){case"HarnessNotification":let X=j._0,M=X.method;if(M!=="item/started"&&M!=="item/completed"&&M!=="response_item")return;let I=v(X.params,{}),Q=_x(I),H=Q!==void 0?Q:jk(t);if(H===void 0||!k(H))return;let ie=v0(I);if(ie===void 0||ie==="")return;if(M==="item/started"){let de=E(ar(I,"item"),Xe=>pe(Xe,"type"));if(de===void 0||!gDe(de))return;let le=g.get(H),be;if(le!==void 0)be=le;else{let Xe=new Map;g.set(H,Xe),be=Xe}be.set(ie,{kind:de,startedAtMs:h()});return}let se=g.get(H);if(se!==void 0){se.delete(ie);return}else return;case"CompletionSnapshot":case"Lifecycle":return}},q=()=>{if(!A.contents||t.phase!=="running")return!1;let j=h(),X={contents:!1};return t.bufferedTurns.entries().toArray().forEach(M=>{let I=M[0];if(b.has(I))return;let Q=M[1],H=j-v(p.get(I),j),ie=H>y,se=Q.length>S;if(ie||se){b.add(I),C("pipeline.loop.buffered_turn_overdue",[["level","error"],["thread_key",e.threadKey],["turn_id",I],["buffered_event_count",Q.length],["age_ms",H],["max_age_ms",y],["max_events",S]]),f.push({TAG:"HarnessNotification",_0:{method:A0,params:Object.fromEntries([["turnId",I],["reason",se?"turn source mapping never arrived ("+Q.length.toString()+" buffered events exceeded the "+S.toString()+" cap)":"turn source mapping never arrived within "+y.toString()+"ms"]])}}),X.contents=!0;return}}),X.contents},re=()=>{if(w.contents)return;w.contents=!0;let j=!0;for(;j;){let X=f.shift();if(X!==void 0){let M;try{M=aee(t,X,c)}catch(I){let Q=N(I);C("pipeline.loop.event_processing_failed",[["thread_key",e.threadKey],["source",u0(X)],["message",Ap(Q)]]),M=void 0}M!==void 0&&($(),F(X),D(X),M.forEach(I=>{try{switch(I.TAG){case"Enqueue":return e.outboxEnqueue({kind:I.kind,data:I.data,coalesceKey:I.coalesceKey,resolution:I.resolution});case"RequestSnapshot":return e.requestSnapshot(I.turnId);case"TurnTerminal":return e.onTurnTerminal(I.turnId,I.outcome,I.reason,I.retryableEmptyTurn,I.autoResumeMidStreamStall,v(I.freshSessionResumeMidStreamStall,!1),I.fate);case"Log":try{return e.log(I.event,I.fields)}catch{return}}}catch(Q){let H=N(Q),ie;switch(I.TAG){case"Enqueue":ie="enqueue";break;case"RequestSnapshot":ie="requestSnapshot";break;case"TurnTerminal":ie="turnTerminal";break;case"Log":ie="log";break}return C("pipeline.loop.effect_failed",[["thread_key",e.threadKey],["effect",ie],["message",Ap(H)]])}}),q())}else j=!1}w.contents=!1},te;if(T>0){let j=setInterval(()=>{if(q())return re()},T);j.unref(),te=ve(j)}else te=void 0;let W=j=>{let X=g.get(j);return X!==void 0?X.values().toArray().map(M=>({kind:M.kind,startedAtMs:M.startedAtMs})):[]};return{submit:j=>{try{return A.contents?(f.push(j),re()):C("pipeline.loop.event_after_drain",[["thread_key",e.threadKey],["source",u0(j)]])}catch(X){let M=N(X);return C("pipeline.loop.submit_failed",[["thread_key",e.threadKey],["message",Ap(M)]])}},metrics:()=>({queueDepth:f.length,phase:t.phase,activeTurns:t.turns.values().toArray().map(j=>({turnId:j.turnId,sourceSeq:j.sourceSeq,startedAtMs:v(m.get(j.turnId),h()),lastActivityAtMs:z(_.get(j.turnId),X=>X.atMs),lastActivityKind:z(_.get(j.turnId),X=>X.activityKind),openItems:W(j.turnId)})),bufferedTurns:t.bufferedTurns.entries().toArray().map(j=>{let X=j[0];return{turnId:X,bufferedEventCount:j[1].length,firstBufferedAtMs:v(p.get(X),h()),lastActivityAtMs:z(_.get(X),M=>M.atMs),lastActivityKind:z(_.get(X),M=>M.activityKind),openItems:W(X)}})}),noteTurnActivity:(j,X)=>{try{return V(j,X)}catch(M){let I=N(M);return C("pipeline.loop.note_activity_failed",[["thread_key",e.threadKey],["message",Ap(I)]])}},drainAndClose:j=>{let X=P.contents;if(X!==void 0)return X;let M=(async()=>{A.contents=!1,te!==void 0&&clearInterval(ce(te)),await Promise.resolve(),re();let I;try{I=await e.outboxFlush(j)}catch(Q){let H=N(Q);return C("pipeline.loop.drain_flush_failed",[["thread_key",e.threadKey],["message",Ap(H)]])}if(I.TAG!=="Ok")return C("pipeline.loop.drain_flush_failed",[["thread_key",e.threadKey],["message",I._0]])})();return P.contents=M,M}}}var bDe=10*6e4,yDe={emittedTotalEnqueued:0,emittedTotalAcked:0,emittedTotalRetried:0,emittedTotalDroppedBestEffort:0,emittedTotalPermanentFailures:0,emittedTotalExpiredOnRecovery:0,emittedTotalJournalWriteFailures:0,emittedJournalDegraded:!1};function xDe(e){return e.activeTurns.map(t=>({candidateTurnId:t.turnId,candidateSourceSeq:t.sourceSeq,sinceMs:t.startedAtMs,buffered:!1,candidateLastActivityAtMs:t.lastActivityAtMs,candidateLastActivityKind:t.lastActivityKind,candidateOpenItems:t.openItems})).concat(e.bufferedTurns.map(t=>({candidateTurnId:t.turnId,candidateSourceSeq:void 0,sinceMs:t.firstBufferedAtMs,buffered:!0,candidateLastActivityAtMs:t.lastActivityAtMs,candidateLastActivityKind:t.lastActivityKind,candidateOpenItems:t.openItems})))}function SDe(e){return nt(e,void 0,(t,r)=>t!==void 0&&t<=r.startedAtMs?t:r.startedAtMs)}function TDe(e,t,r){return e.depth>0||e.paused||t.queueDepth>0||t.activeTurns.length!==0||t.bufferedTurns.length!==0||e.totalEnqueued!==r.emittedTotalEnqueued||e.totalAcked!==r.emittedTotalAcked||e.totalRetried!==r.emittedTotalRetried||e.totalDroppedBestEffort!==r.emittedTotalDroppedBestEffort||e.totalPermanentFailures!==r.emittedTotalPermanentFailures||e.totalExpiredOnRecovery!==r.emittedTotalExpiredOnRecovery||e.totalJournalWriteFailures!==r.emittedTotalJournalWriteFailures?!0:e.journalDegraded!==r.emittedJournalDegraded}function vDe(e){return nt(e,void 0,(t,r)=>t!==void 0&&t.startedAtMs<=r.startedAtMs?t:r)}function nj(e){return e}function ij(e){return new Set(e).values().toArray().toSorted(vc)}function Tee(e){let t=v(e.now,()=>Date.now()),r=v(e.intervalMs,3e4),n=v(e.turnStalledThresholdMs,bDe),i={contents:yDe},o=new Set,a=new Set,s={contents:!1},l=(c,f,h,m)=>{let p=new Set(c.map(_=>_.candidateTurnId));o.values().toArray().forEach(_=>{if(!p.has(_)){o.delete(_);return}}),a.values().toArray().forEach(_=>{if(!p.has(_)){a.delete(_);return}}),c.forEach(_=>{let g=Math.max(0,m-_.sinceMs),b=Math.max(_.sinceMs,v(_.candidateLastActivityAtMs,_.sinceMs)),y=Math.max(0,m-b),S=ij(h.filter(P=>P.waitTurnId===_.candidateTurnId).map(P=>P.waitKind));if(S.length===0){a.delete(_.candidateTurnId);let P=_.candidateOpenItems.length!==0?n*2:n;if(!(y>=P&&!o.has(_.candidateTurnId)))return;let C=SDe(_.candidateOpenItems);o.add(_.candidateTurnId);let k=_.candidateSourceSeq,$=_.candidateLastActivityKind,V=_.candidateLastActivityAtMs,F=f.oldestEntryAgeMs;return e.log("pipeline.turn_stalled",Object.fromEntries([["level","warn"],["thread_key",e.threadKey],["turn_id",_.candidateTurnId],["source_seq",k!==void 0?k:null],["buffered",_.buffered],["turn_age_ms",g],["quiet_ms",y],["last_activity_kind",$!==void 0?$:null],["last_activity_age_ms",V!==void 0?Math.max(0,m-V):null],["threshold_ms",n],["effective_threshold_ms",P],["open_item_count",_.candidateOpenItems.length],["open_item_kinds",ij(_.candidateOpenItems.map(D=>D.kind)).map(nj)],["open_item_oldest_age_ms",C!==void 0?Math.max(0,m-C):null],["outbox_depth",f.depth],["oldest_entry_age_ms",F!==void 0?F:null],["paused",f.paused]]))}if(!(y>=n&&!a.has(_.candidateTurnId)))return;a.add(_.candidateTurnId);let T=_.candidateSourceSeq,w=_.candidateLastActivityKind,A=_.candidateLastActivityAtMs;e.log("pipeline.turn_waiting_on_user",Object.fromEntries([["thread_key",e.threadKey],["turn_id",_.candidateTurnId],["source_seq",T!==void 0?T:null],["buffered",_.buffered],["turn_age_ms",g],["quiet_ms",y],["last_activity_kind",w!==void 0?w:null],["last_activity_age_ms",A!==void 0?Math.max(0,m-A):null],["threshold_ms",n],["wait_kinds",S.map(nj)],["open_item_count",_.candidateOpenItems.length],["open_item_kinds",ij(_.candidateOpenItems.map(P=>P.kind)).map(nj)]]))})},d=()=>{if(s.contents)return;let c;try{let S=e.turnWaitStates;c=[e.outboxMetrics(),e.loopMetrics(),S!==void 0?S():[]]}catch(S){let T=N(S);e.log("pipeline.stats_sample_failed",Object.fromEntries([["thread_key",e.threadKey],["message",Ap(T)]])),c=void 0}if(c===void 0)return;let f=c[1],h=c[0],m=t();if(l(xDe(f),h,c[2],m),!TDe(h,f,i.contents))return;let p=vDe(f.activeTurns),_=h.oldestEntryAgeMs,g=h.pushLatency,b=h.pushLatency,y=h.pushLatency;e.log("pipeline.stats",Object.fromEntries([["thread_key",e.threadKey],["outbox_depth",h.depth],["oldest_entry_age_ms",_!==void 0?_:null],["total_enqueued",h.totalEnqueued],["total_acked",h.totalAcked],["total_retried",h.totalRetried],["total_dropped_best_effort",h.totalDroppedBestEffort],["total_permanent_failures",h.totalPermanentFailures],["total_expired_on_recovery",h.totalExpiredOnRecovery],["total_journal_write_failures",h.totalJournalWriteFailures],["journal_degraded",h.journalDegraded],["push_latency_p50_ms",g!==void 0?g.p50Ms:null],["push_latency_p95_ms",b!==void 0?b.p95Ms:null],["push_latency_max_ms",y!==void 0?y.maxMs:null],["push_latency_window_acked",v(z(h.pushLatency,S=>S.ackedInWindow),0)],["paused",h.paused],["loop_queue_depth",f.queueDepth],["loop_phase",f.phase],["active_turn_count",f.activeTurns.length],["buffered_turn_count",f.bufferedTurns.length],["active_turn_id",p!==void 0?p.turnId:null],["active_turn_source_seq",p!==void 0?p.sourceSeq:null],["active_turn_age_ms",p!==void 0?Math.max(0,m-p.startedAtMs):null]])),i.contents={emittedTotalEnqueued:h.totalEnqueued,emittedTotalAcked:h.totalAcked,emittedTotalRetried:h.totalRetried,emittedTotalDroppedBestEffort:h.totalDroppedBestEffort,emittedTotalPermanentFailures:h.totalPermanentFailures,emittedTotalExpiredOnRecovery:h.totalExpiredOnRecovery,emittedTotalJournalWriteFailures:h.totalJournalWriteFailures,emittedJournalDegraded:h.journalDegraded}},u;if(r>0){let c=setInterval(d,r);c.unref(),u=ve(c)}else u=void 0;return{sample:d,stop:()=>{if(s.contents=!0,u!==void 0){clearInterval(ce(u));return}}}}var ADe=Va(e=>({decision:e.m(U),label:e.m(U),description:e.m(Z(U))})),kDe=Va(e=>({decision:e.m(U)})),CDe=Va(e=>({status:e.m(U),response:e.m(Ti)})),ODe=vm("terminal"),EDe=Jh([vm("interrupted"),vm("processed"),vm("failed"),vm("ignored"),vm("stop_failed")]),PDe=Va(e=>({disposition:e.m(ODe),thread_id:e.m(U),seq:e.m(Cr),status:e.m(EDe),reason:e.m(go(U))}));function vee(e,t,r){let n=Kl(r,CDe);if(n.TAG!=="Ok")return{TAG:"RetryReplacementConsensus",_0:n._0.summary};let i=n._0,o=i.response,a=i.status;if(a!=="ok")return{TAG:"RetryReplacementConsensus",_0:"message_state acknowledgement status was not ok: "+a};if(typeof o!="object"||o===null||Array.isArray(o))return{TAG:"RetryReplacementConsensus",_0:"message_state success envelope response was not an object"};let s=o.message_state;if(s===void 0)return"AcceptReplacementConsensus";let l=Kl(s,PDe);if(l.TAG!=="Ok")return{TAG:"RetryReplacementConsensus",_0:l._0.summary};let d=l._0,u=d.thread_id.trim()===e,c=d.seq===t;return u&&c?"AcceptReplacementConsensus":{TAG:"RetryReplacementConsensus",_0:"terminal message_state consensus identity mismatch"}}var GDe=Va(e=>({approval_request_id:e.m(U),approval_kind:e.m(U),approval_summary:e.m(U),approval_reason:e.m(Z(U)),approval_port:e.m(Z(Cr)),approval_pid:e.m(Z(Cr)),approval_command:e.m(Z(U)),approval_cwd:e.m(Z(U)),approval_process_name:e.m(Z(U)),approval_process_icon_key:e.m(Z(U)),approval_process_icon_path:e.m(Z(U)),approval_choices:e.m(Z(Vo(ADe))),approval_allowed_actor_slug:e.m(Z(U)),approval_allowed_actor_user_id:e.m(Z(Cr))}));function RDe(e){return{approval_request_id:e.requestId,approval_kind:e.kind,approval_summary:e.summary,approval_reason:e.reason,approval_port:e.port,approval_pid:e.pid,approval_command:e.command,approval_cwd:e.cwd,approval_process_name:e.processName,approval_process_icon_key:e.processIconKey,approval_process_icon_path:e.processIconPath,approval_choices:z(e.choices,t=>t.map(r=>({decision:r.decision,label:r.label,description:r.description}))),approval_allowed_actor_slug:e.allowedActorSlug,approval_allowed_actor_user_id:e.allowedActorUserId}}function wee(e){let t={decision:e.decision};return Zh(t,kDe)}function Aee(e){let t=Zh(RDe(e),GDe);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0;return typeof r=="object"&&r!==null&&!Array.isArray(r)?{TAG:"Ok",_0:r}:{TAG:"Error",_0:at("approval wire schema did not encode an object")}}var IDe=[1e3,5e3];function ca(e,t){return E(e[t],qr)}function wl(e,t){return E(e[t],Uo)}function k0(e,t){return E(e[t],ct)}function oj(e,t){Object.entries(t).forEach(r=>{e[r[0]]=r[1]})}function Sx(e){let t={};return oj(t,e),t}function DDe(e){let t=e.body;return typeof t=="string"?t:""}function Cee(e){return v(k0(e,"structured"),{})}function MDe(e){return e===Zu||e===mf||e===Qd?!0:e===pf}function $De(e,t){let r=ca(t,"turn_id");r!==void 0&&(e.turn_id=r);let n=ca(t,"item_key");n!==void 0&&(e.item_key=n);let i=wl(t,"delta_index");i!==void 0&&(e.delta_index=i);let o=wl(t,"stream_snapshot_index");if(o!==void 0){e.stream_snapshot_index=o;return}}function Pee(e,t,r){let n=t.traceparentForThread(r);if(n!==void 0){e.traceparent=n;return}}function jDe(e){return{build:(t,r)=>{let n=e.wire(),i=n.threadId,o=n.harnessSessionId;if(i===void 0)return{TAG:"BuildSkip",_0:"session_thread_unbound"};if(o===void 0)return{TAG:"BuildSkip",_0:"session_thread_unbound"};let a=ca(t,"client_message_id");if(a===void 0)return{TAG:"BuildSkip",_0:"missing_client_message_id"};let s=ca(t,"turn_id"),l=wl(t,"source_seq"),d={};s!==void 0&&(d.turn_id=s),d.stream_key=a;let u=k0(t,"local_runner_runtime_metadata"),c=Sx(d);u!==void 0&&oj(c,u);let f=Sx(e.rowEnvelope("codex_output",o,l,c)),h=n.rootSeq;h!==void 0&&(f.reply_to_seq=h),l!==void 0&&(f.source_message_seq=l),oj(f,d);let m=e.sandboxNetworkDenialSurfacing,p=Sx(m!==void 0&&m?LQ(Cee(t),u):Cee(t));p.stream_key=a,f.structured=p;let _={};_.workspace=n.workspaceSlug,_.channel=n.channelSlug,_.thread_id=i,_.stream_key=a;let g=n.leaseEpoch;return g!==void 0&&(_.lease_epoch=g),_.body=DDe(t),_.payload=f,_.client_message_id=a,$De(_,t),Pee(_,e,i),{TAG:"BuildPush",event:"session:stream_thread_message",payload:_,timeoutMs:void 0}},adjudicateReply:void 0,onReply:void 0,coalesce:void 0}}function FDe(e){return{kind:Sl,data:Object.fromEntries([["seq",e],["status","failed"],["reason","approval publication failed"],["retryable",!0],["approval_failure_consensus",!0]]),coalesceKey:void 0,resolution:"MustReachConsensus"}}function NDe(e){return{build:(t,r)=>{let n=e.wire(),i=ca(t,"turn_id"),o=ca(t,"reason"),a=wl(t,"buffered_event_count"),s=ca(t,"first_event"),l=ca(t,"last_event"),d=n.threadId,u=n.harnessSessionId;if(d!==void 0&&u!==void 0){let f=i!==void 0&&o!==void 0&&a!==void 0&&s!==void 0&&l!==void 0&&a>=0?[i,o,a,s,l]:void 0;if(f!==void 0){let m=f[1],p=f[0],_="unmapped-turn-failure:"+p,g=Object.fromEntries([["kind","agent_status_event"],["item_id",_],["transcript_unit_id","agent_status_event:"+_],["stream_state","completed"],["event_kind","status"],["title","Response delivery failed"],["body",m],["severity","error"],["agent_provider","codex"],["occurred_at_ms",null],["raw_provider_metadata",Object.fromEntries([["turn_id",p],["buffered_event_count",f[2]],["first_event",f[3]],["last_event",f[4]]])]]),b=e.rowEnvelope("unmapped_turn_failure",u,void 0,Object.fromEntries([["turn_id",p]]));return b.structured=g,{TAG:"BuildPush",event:"session:post_thread_message",payload:Object.fromEntries([["workspace",n.workspaceSlug],["channel",n.channelSlug],["thread_id",d],["body",m],["payload",b],["client_message_id",_],["turn_id",p]]),timeoutMs:void 0}}let h=e.log;return h!==void 0&&h("pipeline.unmapped_turn_failure_build_failed",Object.fromEntries([["level","error"],["turn_id",rt(i,null,m=>m)],["missing_reason",Bn(o)],["buffered_event_count",rt(a,null,m=>m)],["first_event",rt(s,null,m=>m)],["last_event",rt(l,null,m=>m)]])),{TAG:"BuildSkip",_0:"malformed_unmapped_turn_failure"}}let c=e.log;return c!==void 0&&c("pipeline.unmapped_turn_failure_build_failed",Object.fromEntries([["level","error"],["turn_id",rt(i,null,f=>f)],["missing_kandan_thread_id",Bn(n.threadId)],["missing_codex_thread_id",Bn(n.harnessSessionId)]])),{TAG:"BuildSkip",_0:"session_thread_unbound"}},adjudicateReply:void 0,onReply:void 0,coalesce:void 0}}var qDe="message_state";function zDe(e){return{build:(t,r)=>{let n=e.wire(),i=n.threadId;if(i===void 0)return{TAG:"BuildSkip",_0:"session_thread_unbound"};let o=wl(t,"seq"),a=ca(t,"status");if(o===void 0)return{TAG:"BuildSkip",_0:"malformed_message_state_entry"};if(a===void 0)return{TAG:"BuildSkip",_0:"malformed_message_state_entry"};let s=J(t.suppress_terminal_for_recovered_turn,!0),l=ca(t,"turn_id"),d=e.isRecoveredTurn,u=l!==void 0&&d!==void 0?d(l)===!0:!1;if(s||u)return{TAG:"BuildSkip",_0:"terminal_for_recovered_turn"};let c={};c.workspace=n.workspaceSlug,c.channel=n.channelSlug,c.thread_id=i,c.instance_id=e.instanceId;let f=n.harnessSessionId;f!==void 0&&(c.codex_thread_id=f);let h=n.agentProvider;h!==void 0&&(c.agent_provider=h),c.seq=o,c.status=a;let m=ca(t,"reason");m!==void 0&&(c.reason=m);let p=t.retryable;typeof p=="boolean"&&p&&(c.retryable=!0);let _=t.fate;typeof _=="string"&&It(Ny(_))&&(c.fate=_);let g=k0(t,"ladder");g!==void 0&&(c.ladder=g);let b=t.failure_class;if(typeof b=="string")switch(b){case"claude_oauth_expired":c.failure_class="claude_oauth_expired";break;case"edge_blocked":c.failure_class="edge_blocked";break}let y=ca(t,"upstream_error");y!==void 0&&(c.upstream_error=y),["approval_request_id","approval_kind","approval_summary","approval_reason","approval_port","approval_pid","approval_command","approval_cwd","approval_process_name","approval_process_icon_key","approval_process_icon_path","approval_choices","approval_allowed_actor_slug","approval_allowed_actor_user_id"].forEach(w=>{let A=t[w];if(A!==void 0){c[w]=A;return}});let S=ca(t,"turn_id");S!==void 0&&(c.turn_id=S);let T=n.leaseEpoch;return T!==void 0&&(c.lease_epoch=T),Pee(c,e,i),{TAG:"BuildPush",event:qDe,payload:c,timeoutMs:void 0}},adjudicateReply:(t,r,n)=>{let i=wl(t,"seq"),o=e.wire().threadId,a=t.approval_failure_consensus;if(i!==void 0&&o!==void 0){if(a===void 0||typeof a!="boolean"||!a)return"AcceptReply";let s=vee(o,i,r);return typeof s!="object"?"AcceptReply":{TAG:"RetryReply",_0:s._0}}return a===!0?{TAG:"RetryReply",_0:"approval failure consensus identity was unavailable"}:"AcceptReply"},onReply:void 0,coalesce:void 0}}function LDe(e){return{build:(t,r)=>{let n=wl(t,"session_id");if(n!==void 0&&oM(n))return{TAG:"BuildSkip",_0:"adt_generation_fenced"};let i={},o=a=>{i[a]=v(t[a],null)};return o("session_id"),o("lease_epoch"),o("frame_index"),o("frame_kind"),o("body"),o("byte_len"),{TAG:"BuildPush",event:QK,payload:i,timeoutMs:void 0}},adjudicateReply:void 0,onReply:(t,r,n)=>{let i;if(typeof r=="object"&&r!==null&&!Array.isArray(r)){let c=r.status,f=r.response;i=typeof c=="string"&&typeof f=="object"&&f!==null&&!Array.isArray(f)?f:r}else i=void 0;let o;if(i!==void 0){let c=i.adt;o=typeof c=="object"&&c!==null&&!Array.isArray(c)?c:void 0}else o=void 0;if(o===void 0)return;let a=wl(t,"session_id"),s=(c,f)=>{let h=e.log;if(h!==void 0)return h(c,Object.fromEntries(f))},l=c=>c!==void 0?c:null;if(o.accepted===!1){let c=zK(o.reason);if(s("adt.append_rejected",[["session_id",l(a)],["presented_epoch",l(wl(t,"lease_epoch"))],["frame_index",l(wl(t,"frame_index"))],["reason",rM(c)]]),a===void 0)return;KK(a);let f=E(e.wire().threadId,iM);return f!==void 0&&f.binding.sessionId===a&&UK(f.emitter),s("adt.generation_fenced",[["session_id",a],["reason",rM(c)]])}if(o.duplicate===!0)return s("adt.frame_resend_accepted",[["session_id",l(a)],["frame_index",l(wl(t,"frame_index"))]])},coalesce:void 0}}function UDe(e){let t=jDe(e);return Object.fromEntries([[Zu,t],[mf,t],[Qd,t],[pf,t],[Sl,zDe(e)],[sk,NDe(e)],[aM,LDe(e)]])}function Gee(e,t){if(e.error!==void 0)return[];let n=E(k0(e,"result"),a=>k0(a,"thread")),i=v(E(E(n,a=>a.turns),Bl),[]),o=Fe(i,ct).find(a=>{let s=a.id;return typeof s=="string"?s===t:!1});return Fe(v(E(E(o,a=>a.items),Bl),[]),ct)}var XVe=new RegExp("^item-\\d+$");var Lk=cX;function BDe(e){return new Promise((t,r)=>{setTimeout(()=>t(),e|0)})}function Oee(e){let t=St(e);return t!==void 0?v(At(ce(t)),"unknown error"):"unknown error"}function Eee(e){return e!==void 0?e:null}function Uk(e){let t=UDe({instanceId:e.instanceId,wire:e.wire,rowEnvelope:e.rowEnvelope,isRecoveredTurn:e.isRecoveredTurn,traceparentForThread:e.traceparentForThread,log:e.log,sandboxNetworkDenialSurfacing:e.sandboxNetworkDenialSurfacing}),r=yee({threadKey:e.threadKey,push:e.push,builders:t,persistDir:e.persistDir,retryDelaysMs:z(e.outboxRetryDelaysMs,g=>g.slice()),onPermanentFailure:(g,b)=>e.log("pipeline.outbox_entry_failed",Object.fromEntries([["thread_key",e.threadKey],["entry_seq",g.entrySeq],["kind",g.kind],["attempts",g.attempts],["item_key",Eee(ca(g.data,"item_key"))],["turn_id",Eee(ca(g.data,"turn_id"))],["message",b]])),log:e.log,now:void 0,maxInFlightPushes:v(e.outboxMaxInFlightPushes,16),journalCompactionThreshold:void 0,journalRecoveryMaxAgeMs:e.journalRecoveryMaxAgeMs}),n=g=>{let b=!1;if(g.kind===Sl){let A=ca(g.data,"turn_id"),P=e.isRecoveredTurn;b=A!==void 0&&P!==void 0?P(A)===!0:!1}if(b){let A=Sx(g.data);return A.suppress_terminal_for_recovered_turn=!0,{kind:g.kind,data:A,coalesceKey:g.coalesceKey,resolution:g.resolution}}if(!MDe(g.kind))return g;let y=wl(g.data,"source_seq"),S=k0(g.data,"local_runner_runtime_metadata"),T=S!==void 0?S:E(e.runtimeMetadataForSourceSeq,A=>A(y));if(T===void 0)return g;let w=Sx(g.data);return w.local_runner_runtime_metadata=T,{kind:g.kind,data:w,coalesceKey:g.coalesceKey,resolution:g.resolution}},i=g=>{let b=r.enqueue(n(g));if(b.TAG==="Ok")return{TAG:"Ok",_0:b._0};let y=b._0;try{e.log("pipeline.loop.effect_failed",Object.fromEntries([["thread_key",e.threadKey],["effect","enqueue"],["message",y]]))}catch{}return{TAG:"Error",_0:y}},o={postStreamedRow:Zu,streamSnapshot:mf,finalizeRow:Qd,postCompletedRow:pf,messageState:Sl},a=g=>{let b=r.enqueue({kind:aM,data:qK(g),coalesceKey:void 0,resolution:"MustAck"});if(b.TAG!=="Ok")try{return e.log("pipeline.loop.effect_failed",Object.fromEntries([["thread_key",e.threadKey],["effect","enqueue"],["message",b._0]]))}catch{return}},s=g=>{let b=e.wire().threadId,y=E(b,iM);if(y===void 0)return i(g);let S=WK(y,g.kind,g.data,Date.now(),o);if(g.kind===Sl){S.forEach(a);let w=i(g);return y.done&&b!==void 0&&VK(b,y),w}let T=i(g);return S.forEach(a),T},l=new Map,d=g=>{let b=s(g),y=g.kind===Sl,S=ca(g.data,"turn_id");if(b.TAG==="Ok")if(y&&S!==void 0){l.set(S,r.awaitEntryAcknowledgement(b._0));return}else return;else if(y&&S!==void 0){l.set(S,Promise.resolve({TAG:"Error",_0:b._0}));return}else return},u={contents:void 0},c=g=>{let b=u.contents;if(b!==void 0)return b.submit(g)},f=v(e.sleep,BDe),h=async g=>{let b=v(e.snapshotRetryDelaysMs,IDe),y=0,S=!1;for(;!S;){let T;try{T=await e.resolveSnapshot(g)}catch(w){let A=N(w);T={TAG:"Error",_0:Oee(A)}}if(T.TAG==="Ok")c({TAG:"CompletionSnapshot",turnId:g,snapshot:Object.fromEntries([["items",T._0.slice()]])}),S=!0;else{let w=T._0,A=b[y];e.log("pipeline.snapshot_resolution_failed",Object.fromEntries([["thread_key",e.threadKey],["turn_id",g],["attempt",y+1|0],["retry_in_ms",A!==void 0?A:null],["message",w]])),A!==void 0?(await f(A),y=y+1|0):(c({TAG:"HarnessNotification",_0:{method:"turn/failed",params:Object.fromEntries([["turnId",g],["reason","completion snapshot resolution failed: "+w]])}}),S=!0)}}},m=xee({threadKey:e.threadKey,instanceId:e.instanceId,outboxEnqueue:d,outboxFlush:g=>r.flush(g),sourceSeqForTurn:e.sourceSeqForTurn,autoRetryAttemptsForSeq:e.autoRetryAttemptsForSeq,midStreamResumeAttemptAtMsForSeq:e.midStreamResumeAttemptAtMsForSeq,freshSessionResumeAttemptAtMsForSeq:e.freshSessionResumeAttemptAtMsForSeq,ladderHistoryForSeq:e.ladderHistoryForSeq,sessionExecutesRecoveryGrants:e.sessionExecutesRecoveryGrants,onTurnTerminal:e.onTurnTerminal,requestSnapshot:g=>{Fr(h(g),b=>(e.log("pipeline.snapshot_request_failed",Object.fromEntries([["thread_key",e.threadKey],["turn_id",g],["message",Oee(b)]])),Promise.resolve()))},log:e.log,linzumiAgentSession:e.linzumiAgentSession===!0,now:void 0,bufferedTurnMaxAgeMs:void 0,bufferedTurnMaxEvents:void 0,bufferedTurnSweepIntervalMs:void 0});u.contents=m;let p=Tee({threadKey:e.threadKey,outboxMetrics:()=>r.metrics(),loopMetrics:()=>m.metrics(),log:e.log,intervalMs:e.statsIntervalMs,turnStalledThresholdMs:e.turnStalledThresholdMs,turnWaitStates:e.turnWaitStates,now:void 0}),_={contents:void 0};return{submitNotification:(g,b)=>m.submit({TAG:"HarnessNotification",_0:{method:g,params:b}}),notifyTurnMappingReady:g=>m.submit({TAG:"HarnessNotification",_0:{method:bx,params:Object.fromEntries([["turnId",g]])}}),notifyTurnMappingFailed:(g,b)=>m.submit({TAG:"HarnessNotification",_0:{method:A0,params:Object.fromEntries([["turnId",g],["reason",b]])}}),noteTurnActivity:(g,b)=>m.noteTurnActivity(g,b),submitLifecycle:(g,b)=>m.submit({TAG:"Lifecycle",kind:g,reason:b}),pause:()=>r.pause(),resume:()=>r.resume(),rebindThreadKey:g=>r.rekeyJournal(g),enqueueStreamThreadMessage:async(g,b,y,S)=>{let T=Object.fromEntries([["client_message_id",g],["source_seq",b],["body",y],["structured",S]]),A=s({kind:Zu,data:T,coalesceKey:void 0,resolution:"MustAck"});return A.TAG==="Ok"?await r.awaitEntryAcknowledgement(A._0):{TAG:"Error",_0:A._0}},enqueueApprovalFailureMessageState:async g=>{let b=s(FDe(g));return b.TAG==="Ok"?await r.awaitEnqueuePersistence(b._0):{TAG:"Error",_0:b._0}},awaitLatestMessageStateAcknowledgementForTurn:g=>{let b=l.get(g);return b!==void 0?(l.delete(g),b):Promise.resolve({TAG:"Error",_0:"turn "+g+" has no message-state enqueue awaiting acknowledgement"})},flushOutbox:g=>r.flush(g),metrics:()=>r.metrics(),close:g=>{let b=_.contents;if(b!==void 0)return b;let y=(async()=>(p.stop(),m.submit({TAG:"Lifecycle",kind:"shutdown",reason:"session closed"}),await m.drainAndClose(g),await r.close(g)))();return _.contents=y,y}}}function Ree(){return{nextAttemptToken:1,phase:"Idle"}}function WDe(e){if(typeof e=="object")switch(e.TAG){case"StoppingStartup":return e._0.starting.attemptToken;case"StoppingRunning":return e._0.running.attemptToken;case"PublishingTerminal":let t=e._0.owner;return t.TAG==="StartupStopOwner"?t._0.starting.attemptToken:t._0.running.attemptToken;default:return e._0.attemptToken}}function sj(e){let t=e.phase,r,n;if(typeof t=="object"){switch(t.TAG){case"Running":return t._0;case"StoppingStartup":let i=t._0,o=i.stage;if(typeof o!="object")return;r=i.starting,n=o._0.turnId;break;case"StoppingRunning":return t._0.running;case"PublishingTerminal":let a=t._0.owner;if(a.TAG!=="StartupStopOwner")return a._0.running;let s=a._0,l=s.lateTurnId;if(l===void 0)return;r=s.starting,n=l;break;default:return}return{attemptToken:r.attemptToken,sourceSeq:r.sourceSeq,message:r.message,turnId:n}}}function Wk(e){let t=e.phase;if(typeof t=="object")switch(t.TAG){case"StoppingStartup":let r=t._0,n=r.stage,i=r.starting;return typeof n!="object"?{TAG:"StopTerminalAwaitingMapping",attemptToken:i.attemptToken,message:i.message}:{TAG:"StopTerminalMapped",running:{attemptToken:i.attemptToken,sourceSeq:i.sourceSeq,message:i.message,turnId:n._0.turnId},completionMayWin:!0};case"StoppingRunning":let o=t._0,a=o.running;return o.stage==="RequestingInterrupt"?{TAG:"StopTerminalMapped",running:a,completionMayWin:!0}:{TAG:"StopTerminalMapped",running:a,completionMayWin:!1};case"PublishingTerminal":let s=t._0.owner;if(s.TAG!=="StartupStopOwner")return{TAG:"StopTerminalMapped",running:s._0.running,completionMayWin:!1};let l=s._0,d=l.lateTurnId,u=l.starting;return d!==void 0?{TAG:"StopTerminalMapped",running:{attemptToken:u.attemptToken,sourceSeq:u.sourceSeq,message:u.message,turnId:d},completionMayWin:!1}:{TAG:"StopTerminalAwaitingMapping",attemptToken:u.attemptToken,message:u.message};default:return}}function Iee(e,t){return t!==void 0?t===e:!0}function Hk(e){return typeof e.phase=="object"}function Tf(e,t){let r=e.phase;if(typeof r!="object")return!1;switch(r.TAG){case"StoppingStartup":return r._0.starting.attemptToken===t;case"StoppingRunning":return r._0.running.attemptToken===t;case"PublishingTerminal":let n=r._0.owner;return n.TAG==="StartupStopOwner"?n._0.starting.attemptToken===t:n._0.running.attemptToken===t;case"SettlementAwaitingDispatchRelease":let i=r._0;return i.owner==="OrdinarySettlement"?!1:i.attemptToken===t;case"ClosingAfterUnconfirmedStop":return r._0.attemptToken===t;default:return!1}}function HDe(e){if(typeof e!="object")return"stop_requested";switch(e.TAG){case"BeginDispatch":return"begin_dispatch";case"StartupAccepted":return"startup_accepted";case"StartupTerminal":return"startup_terminal";case"StartupFailed":return"startup_failed";case"StartSucceeded":return"start_succeeded";case"StartFailed":return"start_failed";case"BufferStartingPaint":return"buffer_starting_paint";case"RunningTerminalObserved":return"running_terminal_observed";case"InterruptSucceeded":return"interrupt_succeeded";case"InterruptFailed":return"interrupt_failed";case"StreamObserved":return"stream_observed";case"QuietConfirmed":return"quiet_confirmed";case"StopDeadlineElapsed":return"stop_deadline_elapsed";case"TerminalPublicationSettled":return"terminal_publication_settled";case"ProviderTerminalObserved":return"provider_terminal_observed";case"ProviderTerminalInvalid":return"provider_terminal_invalid";case"DispatchReleased":return"dispatch_released";case"HarnessClosed":return"harness_closed"}}function Dee(e){if(typeof e=="object")switch(e.TAG){case"BeginDispatch":return;case"BufferStartingPaint":case"StopDeadlineElapsed":case"DispatchReleased":return e._0.attemptToken;default:return e.attemptToken}}function wn(e,t,r){return{state:e,effects:[],diagnostics:[{kind:r,event:HDe(t),attemptToken:Dee(t)}]}}function Bk(e,t,r){let i=(r?["AdoptProviderTerminal"]:["AdoptDurableTerminal"]).concat(["ClearTurnPresentation",{TAG:"ResolveStop",_0:{resolution:"StopSucceeded"}},"DispatchSettled"]);return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"SettlementAwaitingDispatchRelease",_0:{attemptToken:t,pickupRequest:"PickupOldestParkedRequested",owner:"StopSettlement"}}},effects:i,diagnostics:[]}}function Al(e,t,r){return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"ClosingAfterUnconfirmedStop",_0:{attemptToken:t}}},effects:[{TAG:"CloseAndReapHarness",_0:{attemptToken:t}},{TAG:"ResolveStop",_0:{resolution:{TAG:"StopFailed",_0:r}}}],diagnostics:[]}}function lj(e,t){let r=WDe(e.phase),n=Dee(t);if(r!==void 0?n!==void 0?r!==n:!1:n!==void 0)return wn(e,t,"StaleEvent");let o=e.phase;if(typeof o!="object"){if(typeof t!="object")return{state:e,effects:["StopUnavailable"],diagnostics:[]};if(t.TAG!=="BeginDispatch")return wn(e,t,"UnexpectedEvent");let a=e.nextAttemptToken;return{state:{nextAttemptToken:a+1|0,phase:{TAG:"Starting",_0:{attemptToken:a,sourceSeq:t.sourceSeq,message:t.message,stage:"Preparing",pendingPaints:[]}}},effects:[],diagnostics:[]}}else switch(o.TAG){case"Starting":let a=o._0;if(typeof t!="object"){if(a.stage!=="Preparing")return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"StoppingStartup",_0:{starting:a,stage:"FencingStartup"}}},effects:[{TAG:"ArmStopDeadline",_0:{attemptToken:a.attemptToken}},"ClearTurnPresentation","DiscardStoppedCandidate"],diagnostics:[]};let m={TAG:"StartupStopOwner",_0:{starting:a,lateTurnId:void 0}};return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"PublishingTerminal",_0:{owner:m}}},effects:[{TAG:"ArmStopDeadline",_0:{attemptToken:a.attemptToken}},"ClearTurnPresentation","DiscardStoppedCandidate","PublishInterruptedConsensus"],diagnostics:[]}}switch(t.TAG){case"StartupAccepted":if(a.stage!=="Preparing")return wn(e,t,"UnexpectedEvent");let m=a.attemptToken,p=a.sourceSeq,_=a.message,g=a.pendingPaints,b={attemptToken:m,sourceSeq:p,message:_,stage:"StartRequestInFlight",pendingPaints:g};return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"Starting",_0:b}},effects:[{TAG:"RequestTurnStart",_0:b}],diagnostics:[]};case"StartupTerminal":return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"SettlementAwaitingDispatchRelease",_0:{attemptToken:a.attemptToken,pickupRequest:"PickupOldestParkedRequested",owner:"OrdinarySettlement"}}},effects:["AdoptDurableTerminal","DispatchSettled"],diagnostics:[]};case"StartupFailed":return a.stage==="Preparing"?{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"SettlementAwaitingDispatchRelease",_0:{attemptToken:a.attemptToken,pickupRequest:"PickupOldestParkedRequested",owner:"OrdinarySettlement"}}},effects:["DispatchSettled"],diagnostics:[]}:wn(e,t,"UnexpectedEvent");case"StartSucceeded":let S=t.turnId;if(a.stage==="Preparing")return wn(e,t,"UnexpectedEvent");let w=a.attemptToken,A=a.sourceSeq,P=a.message,C={attemptToken:w,sourceSeq:A,message:P,turnId:S};return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"Running",_0:C}},effects:[{TAG:"ReplayStartingPaints",_0:{turnId:S,paints:a.pendingPaints}},{TAG:"NotifyTurnMappingReady",_0:{turnId:S}}],diagnostics:[]};case"StartFailed":return a.stage==="Preparing"?wn(e,t,"UnexpectedEvent"):{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"SettlementAwaitingDispatchRelease",_0:{attemptToken:a.attemptToken,pickupRequest:"PickupOldestParkedRequested",owner:"OrdinarySettlement"}}},effects:["DispatchSettled"],diagnostics:[]};case"BufferStartingPaint":let $=t._0.paint,V=a.pendingPaints.at(-1),F=V!==void 0?V.paintTurnId===$.paintTurnId&&V.reason===$.reason?a.pendingPaints:a.pendingPaints.concat([$]):[$];return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"Starting",_0:{attemptToken:a.attemptToken,sourceSeq:a.sourceSeq,message:a.message,stage:a.stage,pendingPaints:F}}},effects:[],diagnostics:[]};default:return wn(e,t,"UnexpectedEvent")}case"Running":let s=o._0;return typeof t!="object"?{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"StoppingRunning",_0:{running:s,stage:"RequestingInterrupt"}}},effects:[{TAG:"RequestInterrupt",_0:{turnId:s.turnId}},{TAG:"ArmStopDeadline",_0:{attemptToken:s.attemptToken}},{TAG:"DrainApprovals",_0:{turnId:s.turnId}}],diagnostics:[]}:t.TAG==="RunningTerminalObserved"&&s.turnId===t.turnId?{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"SettlementAwaitingDispatchRelease",_0:{attemptToken:s.attemptToken,pickupRequest:t.pickupRequest,owner:"OrdinarySettlement"}}},effects:["DispatchSettled"],diagnostics:[]}:wn(e,t,"UnexpectedEvent");case"StoppingStartup":let l=o._0;if(typeof t!="object")return{state:e,effects:["StopAlreadyInProgress"],diagnostics:[]};switch(t.TAG){case"StartupAccepted":let h=l.stage,m=l.starting.stage;if(typeof h=="object"||m!=="Preparing")return wn(e,t,"UnexpectedEvent");let p={TAG:"StartupStopOwner",_0:{starting:l.starting,lateTurnId:void 0}};return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"PublishingTerminal",_0:{owner:p}}},effects:["PublishInterruptedConsensus"],diagnostics:[]};case"StartupTerminal":return Bk(e,l.starting.attemptToken,!1);case"StartupFailed":let _=l.stage,g=l.starting.stage;if(typeof _=="object"||g!=="Preparing")return wn(e,t,"UnexpectedEvent");let b={TAG:"StartupStopOwner",_0:{starting:l.starting,lateTurnId:void 0}};return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"PublishingTerminal",_0:{owner:b}}},effects:["PublishInterruptedConsensus"],diagnostics:[]};case"StartSucceeded":let y=t.turnId,S=l.stage,T=l.starting.stage;return typeof S!="object"&&T!=="Preparing"?{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"StoppingStartup",_0:{starting:l.starting,stage:{TAG:"InterruptingLateStart",_0:{turnId:y}}}}},effects:[{TAG:"NotifyTurnMappingReady",_0:{turnId:y}},{TAG:"RequestInterrupt",_0:{turnId:y}}],diagnostics:[]}:wn(e,t,"UnexpectedEvent");case"StartFailed":let w=l.stage,A=l.starting.stage;if(typeof w=="object"||A==="Preparing")return wn(e,t,"UnexpectedEvent");let P={TAG:"StartupStopOwner",_0:{starting:l.starting,lateTurnId:void 0}};return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"PublishingTerminal",_0:{owner:P}}},effects:["PublishInterruptedConsensus"],diagnostics:[]};case"InterruptSucceeded":let C=t.turnId,k=l.stage;if(typeof k!="object"||k._0.turnId!==C)return wn(e,t,"UnexpectedEvent");let $={TAG:"StartupStopOwner",_0:{starting:l.starting,lateTurnId:C}};return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"PublishingTerminal",_0:{owner:$}}},effects:["PublishInterruptedConsensus"],diagnostics:[]};case"InterruptFailed":let V=l.stage;return typeof V!="object"||V._0.turnId!==t.turnId?wn(e,t,"UnexpectedEvent"):Al(e,l.starting.attemptToken,t.message);case"StopDeadlineElapsed":return Al(e,l.starting.attemptToken,"stop_turn_halt_unconfirmed");case"ProviderTerminalObserved":let F=t.turnId,D=l.stage;if(typeof D!="object")return wn(e,t,"UnexpectedEvent");let q=D._0.turnId;switch(t.terminal){case"ProviderCompleted":return q===F?Bk(e,l.starting.attemptToken,!0):wn(e,t,"UnexpectedEvent");case"ProviderFailed":case"ProviderInterrupted":break}if(q!==F)return wn(e,t,"UnexpectedEvent");let re={TAG:"StartupStopOwner",_0:{starting:l.starting,lateTurnId:F}};return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"PublishingTerminal",_0:{owner:re}}},effects:["PublishInterruptedConsensus"],diagnostics:[]};case"ProviderTerminalInvalid":return Al(e,l.starting.attemptToken,t.reason);default:return wn(e,t,"UnexpectedEvent")}break;case"StoppingRunning":let d=o._0;if(typeof t!="object")return{state:e,effects:["StopAlreadyInProgress"],diagnostics:[]};switch(t.TAG){case"InterruptSucceeded":let h=d.running.turnId===t.turnId,m=d.stage;return h&&m==="RequestingInterrupt"?{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"StoppingRunning",_0:{running:d.running,stage:"ConfirmingQuiet"}}},effects:["ArmQuietCheck"],diagnostics:[]}:wn(e,t,"UnexpectedEvent");case"InterruptFailed":let p=d.running.turnId===t.turnId,_=d.stage;return p&&_==="RequestingInterrupt"?Al(e,d.running.attemptToken,t.message):wn(e,t,"UnexpectedEvent");case"StreamObserved":let g=d.running.turnId===t.turnId,b=d.stage;return g&&b!=="RequestingInterrupt"?{state:e,effects:[],diagnostics:[]}:wn(e,t,"UnexpectedEvent");case"QuietConfirmed":let y=d.running.turnId===t.turnId,S=d.stage;if(!y||S==="RequestingInterrupt")return wn(e,t,"UnexpectedEvent");let T={TAG:"RunningStopOwner",_0:{running:d.running}};return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"PublishingTerminal",_0:{owner:T}}},effects:["ClearTurnPresentation","PublishInterruptedConsensus"],diagnostics:[]};case"StopDeadlineElapsed":return Al(e,d.running.attemptToken,"stop_turn_halt_unconfirmed");case"ProviderTerminalObserved":let w=d.running.turnId===t.turnId,A=d.stage;if(!w)return wn(e,t,"UnexpectedEvent");if(A==="RequestingInterrupt")switch(t.terminal){case"ProviderCompleted":return Bk(e,d.running.attemptToken,!0);case"ProviderFailed":case"ProviderInterrupted":break}let P={TAG:"RunningStopOwner",_0:{running:d.running}};return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"PublishingTerminal",_0:{owner:P}}},effects:["ClearTurnPresentation","PublishInterruptedConsensus"],diagnostics:[]};case"ProviderTerminalInvalid":return Al(e,d.running.attemptToken,t.reason);default:return wn(e,t,"UnexpectedEvent")}break;case"PublishingTerminal":let u=o._0.owner;if(typeof t!="object")return{state:e,effects:["StopAlreadyInProgress"],diagnostics:[]};switch(t.TAG){case"StopDeadlineElapsed":return u.TAG==="StartupStopOwner"?Al(e,u._0.starting.attemptToken,"stop_turn_terminal_unconfirmed"):Al(e,u._0.running.attemptToken,"stop_turn_terminal_unconfirmed");case"TerminalPublicationSettled":let h=t.settlement,m;if(m=u.TAG==="StartupStopOwner"?u._0.starting.attemptToken:u._0.running.attemptToken,typeof h=="object")return Al(e,m,h._0);switch(h){case"InterruptedApplied":return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"SettlementAwaitingDispatchRelease",_0:{attemptToken:m,pickupRequest:"PickupOldestParkedRequested",owner:"StopSettlement"}}},effects:[{TAG:"ResolveStop",_0:{resolution:"StopSucceeded"}},"DispatchSettled"],diagnostics:[]};case"StoredTerminal":return Bk(e,m,!1);case"PublicationUnconfirmed":return Al(e,m,"stop_turn_terminal_unconfirmed")}case"ProviderTerminalObserved":let p=t.turnId;return u.TAG==="StartupStopOwner"?J(u._0.lateTurnId,p)?{state:e,effects:[],diagnostics:[]}:wn(e,t,"UnexpectedEvent"):u._0.running.turnId===p?{state:e,effects:[],diagnostics:[]}:wn(e,t,"UnexpectedEvent");case"ProviderTerminalInvalid":let _=t.reason;return u.TAG==="StartupStopOwner"?Al(e,u._0.starting.attemptToken,_):Al(e,u._0.running.attemptToken,_);default:return wn(e,t,"UnexpectedEvent")}case"SettlementAwaitingDispatchRelease":if(typeof t!="object"||t.TAG!=="DispatchReleased")return wn(e,t,"UnexpectedEvent");let c=o._0.pickupRequest,f;return f=c==="NoPickupRequested"?[]:["PickupOldestParked"],{state:{nextAttemptToken:e.nextAttemptToken,phase:"Idle"},effects:f,diagnostics:[]};case"ClosingAfterUnconfirmedStop":return typeof t!="object"?{state:e,effects:["StopAlreadyInProgress"],diagnostics:[]}:t.TAG==="HarnessClosed"?{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"SettlementAwaitingDispatchRelease",_0:{attemptToken:o._0.attemptToken,pickupRequest:"PickupOldestParkedRequested",owner:"StopSettlement"}}},effects:[],diagnostics:[]}:wn(e,t,"UnexpectedEvent")}}function Mee(e,t){if(!t)return{state:e,effects:[],diagnostics:[]};let r=e.phase;return typeof r!="object"?{state:e,effects:[],diagnostics:[]}:r.TAG==="SettlementAwaitingDispatchRelease"?lj(e,{TAG:"DispatchReleased",_0:{attemptToken:r._0.attemptToken}}):{state:e,effects:[],diagnostics:[]}}function Zk(e){return e.split("_").map((t,r)=>r!==0?t.slice(0,1).toUpperCase()+t.slice(1,t.length):t).join("")}function Tx(e){return v(z(iT.find(t=>t[0]===e),t=>t[1]),e)}var Go=Tx("harness_session_id"),tc=Zk(Go);function ks(e,t){let r=e[t];if(typeof r=="string")return r}function fa(e){return e}function dj(e,t){let r=e[t];if(r!==void 0)switch(typeof r){case"string":return r;case"number":return isFinite(r)?r.toString():void 0;default:return}}function cj(e,t){let r=E(t.error,ct),n=E(t.item,ct),i=d=>nt(d,void 0,(u,c)=>u!==void 0?u:c),o=i([dj(t,"code"),E(r,d=>dj(d,"code")),dj(t,"status")]),a=i([ks(t,"message"),ks(t,"detail"),ks(t,"reason"),E(r,d=>ks(d,"message")),E(r,d=>ks(d,"detail")),E(r,d=>ks(d,"reason"))]),s=o!==void 0?e+" "+o:e,l=a!==void 0?a:z(E(n,d=>ks(d,"type")),d=>"item.type="+d);return z(l,d=>s+": "+d)}function KDe(e,t){switch(e){case"error":case"warning":break;default:return t}let r=cj(e,t);if(r===void 0)return t;let n={};return Object.entries(t).forEach(i=>{n[i[0]]=i[1]}),n.diagnostic_summary=r,n.diagnostic_payload=t,n.diagnostic_payload_keys=Object.keys(t).toSorted(vc).map(i=>i),n}var JDe=["When you create files that should be attached back to Linzumi, use the linzumi_upload_files MCP tool silently.","Do not mention that you are using the upload tool. Do not print an upload manifest or upload footer in the message.","The MCP upload tool is the only supported path for attaching generated files to Linzumi messages.","Attach files to the reply you already posted with target.kind=latest_assistant_message; only use new_message when you have not posted a reply yet, and never repeat your reply text as the new message body."];function ZDe(e){let t=wk(e);return t.trimStart().startsWith("!")?t:[t,""].concat(JDe).join(`
587
+ `,h=Wn(d,f);return h.TAG==="Ok"?{TAG:"Ok",_0:{sessionFile:d,entryCount:c.length}}:{TAG:"Error",_0:"session store write failed: "+h._0.message}}function OX(e){switch(e.TAG){case"NothingToCarryOver":return"nothing_to_carry_over";case"TranspileRefused":return"transpile_refused";case"TargetUnavailable":return"target_unavailable";case"SeedFailed":return"seed_failed";case"DispatchFailed":return"dispatch_failed"}}function EX(e){return e.reason}function PX(e){switch(e.TAG){case"SeedFailed":case"DispatchFailed":return!1;default:return!0}}async function GX(e,t,r,n,i,o,a,s,l,d){if(a===void 0)return{TAG:"Error",_0:{TAG:"TargetUnavailable",reason:"the claude-code harness is not available on this machine"}};let u=e.turns.filter(y=>y.items.length!==0);if(nt(u,0,(y,S)=>y+S.items.length|0)===0)return{TAG:"Error",_0:{TAG:"NothingToCarryOver",reason:"no recorded harness activity to carry over (the switch journal is empty)"}};let f=bX(t,{harnessSessionId:e.harnessSessionId,turns:u}),h=kX(r,f);if(h.TAG!=="Ok")return{TAG:"Error",_0:{TAG:"TranspileRefused",reason:h._0}};let m=h._0,p=CX(i,n,r,m.session,o);if(p.TAG!=="Ok")return{TAG:"Error",_0:{TAG:"SeedFailed",reason:p._0}};let _=await a.attachSession(r,s,d);if(_.TAG!=="Ok")return{TAG:"Error",_0:{TAG:"DispatchFailed",reason:_._0.reason}};let g=_._0,b=await g.dispatchTurn(l);return b.TAG==="Ok"?{TAG:"Ok",_0:{targetSessionId:g.harnessSessionId,sessionFile:p._0.sessionFile,turnId:b._0.turnId,transpiledItemCount:m.report.emissions.length,redactedReasoningCount:m.report.redactedReasoningCount,session:g}}:(await g.stopSession(),{TAG:"Error",_0:{TAG:"DispatchFailed",reason:b._0.reason}})}function Tp(e){let t=e!==void 0?e:"";return t===""?{parts:[],cached:"",joinedCount:0}:{parts:[t],cached:t,joinedCount:1}}function B$(e,t){t!==""&&e.parts.push(t)}function W$(e){if(e.joinedCount===e.parts.length)return e.cached;let t=e.cached;for(let r=e.joinedCount,n=e.parts.length;r<n;++r)t=t+e.parts[r];return e.cached=t,e.joinedCount=e.parts.length,t}function qRe(e){switch(e.TAG){case"AssistantContent":return"assistant";case"ReasoningContent":return"reasoning";case"CommandOutputContent":return"commandOutput";case"FileChangeContent":return"fileChange";case"TerminalInputContent":return"terminalInput";case"WebSearchContent":return"webSearch";case"AgentStatusContent":return"agentStatus";case"AgentTaskUpdateContent":return"agentTaskUpdate"}}function T0(e){switch(e.TAG){case"AssistantDelta":return"assistant";case"ReasoningDelta":return"reasoning";case"CommandOutputDelta":return"commandOutput";case"FileChangeDelta":return"fileChange";case"TerminalInputDelta":return"terminalInput";case"WebSearchDelta":return"webSearch"}}function RX(e){return e.itemId}function v0(e){let t=pe(e,"itemId");if(t!==void 0)return t;let r=pe(e,"item_id");return r!==void 0?r:E(ar(e,"item"),n=>pe(n,"id"))}function IX(e,t){let r=v0(t);switch(e){case"item/agentMessage/delta":return z(fk(t),n=>({TAG:"AssistantDelta",itemId:r,text:n}));case"command/exec/outputDelta":case"item/commandExecution/outputDelta":break;case"item/commandExecution/terminalInteraction":return z(FQ(t),n=>({TAG:"TerminalInputDelta",itemId:r,processId:n.terminalProcessId,inputText:n.inputText}));case"item/fileChange/outputDelta":return z(NQ(t),n=>({TAG:"FileChangeDelta",itemId:r,patchText:n}));case"item/reasoning/textDelta":return z(fk(t),n=>({TAG:"ReasoningDelta",itemId:r,text:n}));case"item/started":return z(i$(t),n=>({TAG:"WebSearchDelta",itemId:r,queries:n.queries}));default:return}return z(jQ(t),n=>({TAG:"CommandOutputDelta",itemId:r,processId:n.commandProcessId,command:n.command,stream:n.stream,text:n.commandDelta}))}function DX(e){switch(e){case"assistant":return{TAG:"AssistantContent",text:Tp(void 0)};case"reasoning":return{TAG:"ReasoningContent",text:Tp(void 0)};case"commandOutput":return{TAG:"CommandOutputContent",command:"",toolName:void 0,status:void 0,processId:void 0,chunks:[]};case"fileChange":return{TAG:"FileChangeContent",patchText:Tp(void 0),status:"started"};case"terminalInput":return{TAG:"TerminalInputContent",processId:void 0,inputText:""};case"webSearch":return{TAG:"WebSearchContent",queries:[]};case"agentStatus":return{TAG:"AgentStatusContent",_0:{title:"Agent status",body:void 0,severity:"info",eventKind:void 0,provider:void 0,occurredAtMs:void 0,rawProviderMetadata:void 0}};case"agentTaskUpdate":return{TAG:"AgentTaskUpdateContent",_0:{title:"Agent task",body:void 0,state:"unknown",progressLabel:void 0,provider:void 0,occurredAtMs:void 0,rawProviderMetadata:void 0}}}}function zRe(e,t){return nt(t,e.slice(),(r,n)=>r.includes(n)?r:r.concat([n]))}function MX(e,t){if(qRe(e)!==T0(t))return e;switch(e.TAG){case"AssistantContent":return t.TAG!=="AssistantDelta"||B$(e.text,t.text),e;case"ReasoningContent":return t.TAG!=="ReasoningDelta"||B$(e.text,t.text),e;case"CommandOutputContent":if(t.TAG!=="CommandOutputDelta")return e;let r=t.command,n=t.processId,i=e.command;return{TAG:"CommandOutputContent",command:r!==void 0&&r.trim()!==""?r:i,toolName:e.toolName,status:e.status,processId:n!==void 0?n:e.processId,chunks:e.chunks.concat([{stream:t.stream,text:t.text}])};case"FileChangeContent":return t.TAG!=="FileChangeDelta"||B$(e.patchText,t.patchText),e;case"TerminalInputContent":if(t.TAG!=="TerminalInputDelta")return e;let o=t.processId;return{TAG:"TerminalInputContent",processId:o!==void 0?o:e.processId,inputText:t.inputText};case"WebSearchContent":return t.TAG==="WebSearchDelta"?{TAG:"WebSearchContent",queries:zRe(e.queries,t.queries)}:e;case"AgentStatusContent":case"AgentTaskUpdateContent":return e}}function LRe(e){return e.map(t=>t.text).join("")}function $X(e){let t=pe(e,"type");if(t!==void 0)switch(t){case"agentMessage":return"assistant";case"agentStatus":return"agentStatus";case"agentTaskUpdate":return"agentTaskUpdate";case"commandExecution":return"commandOutput";case"fileChange":case"file_change":return"fileChange";case"message":return pe(e,"role")==="assistant"?"assistant":void 0;case"reasoning":return"reasoning";case"terminalInput":return"terminalInput";case"webSearch":case"webSearchCall":case"web_search_call":return"webSearch";default:return}}function jX(e){let t=i$(e);if(t!==void 0)return{completedStreamKind:"webSearch",completedItemId:v0(e),completedContent:{TAG:"WebSearchContent",queries:t.queries}};let r=v(ar(e,"item"),e),n=zQ(e);if(n!==void 0){let s=pe(r,"call_id");return{completedStreamKind:"fileChange",completedItemId:s!==void 0?s:pe(r,"id"),completedContent:{TAG:"FileChangeContent",patchText:Tp(n),status:"completed"}}}let i=$X(r);if(i===void 0)return;let o=mk(r,0)[0];if(o===void 0)return;let a=pe(r,"id");switch(i){case"assistant":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"AssistantContent",text:Tp(v(pe(o.structured,"content"),o.body))}};case"reasoning":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"ReasoningContent",text:Tp(v(pe(o.structured,"content"),o.body))}};case"commandOutput":let s=qi(o.structured,"output"),l;return l=typeof s=="string"?s:"",{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"CommandOutputContent",command:v(pe(o.structured,"command"),""),toolName:pe(o.structured,"tool_name"),status:pe(o.structured,"status"),processId:pe(o.structured,"process_id"),chunks:[{stream:"",text:l}]}};case"fileChange":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"FileChangeContent",patchText:Tp(v(pe(o.structured,"patch_text"),o.body)),status:"completed"}};case"terminalInput":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"TerminalInputContent",processId:pe(o.structured,"process_id"),inputText:v(pe(o.structured,"input_text"),o.body)}};case"webSearch":return;case"agentStatus":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"AgentStatusContent",_0:{title:v(pe(o.structured,"title"),o.body),body:pe(o.structured,"body"),severity:JM(qi(o.structured,"severity")),eventKind:pe(o.structured,"event_kind"),provider:pe(o.structured,"agent_provider"),occurredAtMs:ad(o.structured,"occurred_at_ms"),rawProviderMetadata:ar(o.structured,"raw_provider_metadata")}}};case"agentTaskUpdate":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"AgentTaskUpdateContent",_0:{title:v(pe(o.structured,"title"),o.body),body:pe(o.structured,"body"),state:ZM(qi(o.structured,"state")),progressLabel:pe(o.structured,"progress_label"),provider:pe(o.structured,"agent_provider"),occurredAtMs:ad(o.structured,"occurred_at_ms"),rawProviderMetadata:ar(o.structured,"raw_provider_metadata")}}}}}function w0(e,t,r){switch(t.TAG){case"AssistantContent":let n=W$(t.text);return{renderedBody:n,renderedStructured:GQ(e,n,r)};case"ReasoningContent":let i=W$(t.text);return{renderedBody:i,renderedStructured:RQ(e,i,r)};case"CommandOutputContent":let o=t.chunks,a=o[o.length-1|0],s=XM(e,t.command,LRe(o),{toolName:t.toolName,cwd:Xy.cwd,status:t.status,processId:t.processId,durationMs:Xy.durationMs,exitCode:Xy.exitCode,stream:v(z(a,y=>y.stream),"")},r),l=v(pe(s,"command"),""),d=qi(s,"output");return{renderedBody:QM(l,typeof d=="string"?d:""),renderedStructured:s};case"FileChangeContent":let c=W$(t.patchText),f;return f=r==="completed"||t.status!=="started"?"completed":"started",{renderedBody:c,renderedStructured:e$(e,c,r,f)};case"TerminalInputContent":let h=t.inputText;return{renderedBody:h,renderedStructured:Object.fromEntries([["kind","codex_terminal_input"],["item_id",e],["transcript_unit_id","codex_terminal_input:"+e],["stream_state",UQ(r)],["process_id",v(t.processId,"")],["input_text",h]])};case"WebSearchContent":let m=t.queries;return{renderedBody:t$(m),renderedStructured:MQ(e,m,r)};case"AgentStatusContent":let p=t._0,_=Yy(p.body);return{renderedBody:Qy(p.title,_),renderedStructured:r$(e,{title:p.title,body:_,severity:p.severity,eventKind:p.eventKind,provider:p.provider,occurredAtMs:p.occurredAtMs,rawProviderMetadata:p.rawProviderMetadata},r)};case"AgentTaskUpdateContent":let g=t._0,b=Yy(g.body);return{renderedBody:Qy(g.title,b!==void 0?b:g.progressLabel),renderedStructured:n$(e,{title:g.title,body:b,state:g.state,progressLabel:g.progressLabel,provider:g.provider,occurredAtMs:g.occurredAtMs,rawProviderMetadata:g.rawProviderMetadata},r)}}}function FX(e){return e.flatMap((t,r)=>{let n=ct(t);if(n===void 0)return[];let i=$X(n);return i!==void 0?i==="webSearch"?[]:mk(n,r).filter(o=>o.body.trim()!=="").map(o=>({snapshotIndex:r,projItemId:pe(n,"id"),projStreamKind:i,projBody:o.body,projStructured:o.structured})):[]})}function H$(e,t){let r=v(pe(e,"kind"),"codex_output"),n=Object.assign({},e);return n.item_id=t,n.transcript_unit_id=r+":"+t,n}function V$(e,t,r,n){if(r==="webSearch")return"local-codex-search-"+po(e+":"+t+":web-search").slice(0,32);let i;switch(r){case"reasoning":i="reasoning:";break;case"commandOutput":i="command:";break;case"fileChange":i="file-change:";break;case"terminalInput":i="terminal:";break;case"assistant":case"webSearch":i="";break;case"agentStatus":i="agent-status:";break;case"agentTaskUpdate":i="agent-task:";break}return"local-codex-stream-"+po(e+":"+t+":"+i+n).slice(0,32)}function _x(e){let t=ar(e,"turn"),r=ar(e,"item"),n=E(r,d=>ar(d,"turn")),i=E(t,d=>pe(d,"id"));if(i!==void 0)return i;let o=pe(e,"turnId");if(o!==void 0)return o;let a=pe(e,"turn_id");if(a!==void 0)return a;let s=E(r,d=>pe(d,"turnId"));if(s!==void 0)return s;let l=E(r,d=>pe(d,"turn_id"));return l!==void 0?l:E(n,d=>pe(d,"id"))}function Bs(e){return e!==void 0?e:null}var bx="pipeline/turnMappingReady",A0="pipeline/turnMappingFailed",qX="Codex completed without producing a response.",URe="linzumi_agent_reply",BRe="The agent ended its turn after narrating an intent without posting a reply or taking any action.",WRe="agent narrated intent but posted no reply and took no action",HRe="Stopped after repeated empty responses in a row";function VRe(e){return"The model appears stuck in a loop - stopped after "+e.toString()+" reasoning steps with no output or tool call (retry to try again)."}var HX="Codex emitted unsupported tool call";function KRe(e){return e!==void 0?e.startsWith(HX):!1}function zX(e){switch(e){case"assistant":case"reasoning":case"webSearch":return!1;default:return!0}}function JRe(e){if(e===void 0)return;let t=pe(e,"type"),r=0;if(t!==void 0){switch(t){case"collabAgentToolCall":case"dynamicToolCall":case"mcpToolCall":r=1;break;default:return}if(r===1){if(!J(pe(e,"status"),"completed"))return;let n=qi(e,"error"),i=0;if(n!==void 0){if(n!==null)return;i=2}else i=2;if(i===2){let o=qi(e,"success"),a=0;if(typeof o=="boolean"){if(!o)return;a=3}else a=3;if(a===3){let s=v(pe(e,"tool"),""),l=s.split("__");return v(l[l.length-1|0],s)===URe?"ReplyEvidence":"ActionEvidence"}}}}}function VX(e,t){let r=JRe(t);if(r!==void 0){r==="ReplyEvidence"?e.agentReplyToolCallSeen=!0:e.agentActionToolCallSeen=!0;return}}function ZRe(e){let t="unsupported call:";if(e===void 0)return;let r=e.trim();if(!r.toLowerCase().startsWith(t))return;let n=r.slice(t.length).trim();return n===""?"unknown":n}function KX(e){if(e===void 0)return;let t=pe(e,"codex_protocol_failure_reason"),r=t!==void 0?t:pe(e,"protocolFailureReason");if(r!==void 0)return r;let n=pe(e,"type");if(n===void 0)return;switch(n){case"custom_tool_call_output":case"function_call_output":break;default:return}let i=pe(e,"output"),o;if(i!==void 0)o=i;else{let a=pe(e,"result");if(a!==void 0)o=a;else{let s=pe(e,"text");o=s!==void 0?s:pe(e,"content")}}return z(ZRe(o),a=>HX+": "+a)}function QRe(e){return nt(e,void 0,(t,r)=>t!==void 0?t:KX(ct(r)))}function JX(){return{phase:"running",turns:new Map,terminalTurnIds:new Set,bufferedTurns:new Map,consecutiveEmptyTurns:0,lastUpstreamErrorSummary:void 0,consecutiveIsolatedRejections:0,costCap402Seen:!1}}var Mk="pipeline/stopInterrupted";function YRe(e){switch(e){case"pipeline/stopInterrupted":case"turn/aborted":case"turn/canceled":case"turn/cancelled":return"interrupted";case"turn/failed":return"failed";default:return}}function XRe(e){switch(e){case"command/exec/outputDelta":case"error":case"item/agentMessage/delta":case"item/commandExecution/outputDelta":case"item/commandExecution/terminalInteraction":case"item/completed":case"item/fileChange/outputDelta":case"item/reasoning/textDelta":case"item/started":case"pipeline/stopInterrupted":case"response_item":case"thread/compacted":case"turn/aborted":case"turn/canceled":case"turn/cancelled":case"turn/completed":case"turn/failed":case"turn/started":return!0;default:return!1}}function eIe(e){switch(e){case"command/exec/outputDelta":case"item/agentMessage/delta":case"item/commandExecution/outputDelta":case"item/commandExecution/terminalInteraction":case"item/completed":case"item/fileChange/outputDelta":case"item/reasoning/textDelta":case"item/started":case"response_item":return!0;default:return!1}}function tIe(e,t){let r=ar(t,"item"),n=pe(t,"turnId");switch(e){case"item/completed":case"item/started":break;case"thread/compacted":return n!==void 0?Object.fromEntries([["type","agentStatus"],["id","thread-compacted:"+n],["title","Thread compacted"],["severity","info"],["provider","codex"],["eventKind","compaction_boundary"],["rawProviderMetadata",Object.fromEntries([["phase","END"],["lifecycle","thread/compacted"],["harness","codex"],["turnId",n]])]]):void 0;default:return}if(r===void 0)return;let i=pe(r,"type");if(i===void 0||i!=="contextCompaction")return;let o=pe(r,"id");if(o===void 0)return;let a=e==="item/started",s=a?"START":"END",l=a?"start":"complete",d=a?"Context compaction started":"Context compaction completed",u=ad(t,"completedAtMs"),c=u!==void 0?u:ad(t,"startedAtMs"),f=Object.fromEntries([["phase",s],["lifecycle",e],["harness","codex"],["compactionItemId",o]].concat(n!==void 0?[["turnId",n]]:[]));return Object.fromEntries([["type","agentStatus"],["id",o+":"+l],["title",d],["severity","info"],["provider","codex"],["eventKind","compaction_boundary"],["rawProviderMetadata",f]].concat(c!==void 0?[["occurredAtMs",c]]:[]))}var rIe=new RegExp("<[^>]*>","g"),nIe=new RegExp(`data:[^"' )]+`,"g"),iIe=new RegExp("\\s+","g");function Sf(e){if(e===void 0)return;let t=e.replace(rIe," ").replace(nIe,"").replace(iIe," ").trim().slice(0,180);if(t!=="")return t}function xf(e){if(e!==void 0&&typeof e=="number"&&isFinite(e))return e}function $k(e){let t=E(ar(e,"diagnostic_payload"),o=>ar(o,"error")),r=E(t,o=>ar(o,"codexErrorInfo")),n=E(r,o=>ar(o,"responseStreamDisconnected")),i=[xf(E(n,o=>qi(o,"httpStatusCode"))),xf(E(r,o=>qi(o,"httpStatusCode"))),xf(E(r,o=>qi(o,"statusCode"))),xf(E(r,o=>qi(o,"status"))),xf(E(t,o=>qi(o,"httpStatusCode"))),xf(E(t,o=>qi(o,"statusCode"))),xf(E(t,o=>qi(o,"status")))];return nt(i,void 0,(o,a)=>o!==void 0?o:a)}function oIe(e){let t=pe(e,"diagnostic_summary"),r=t!==void 0?t:E(E(ar(e,"diagnostic_payload"),o=>ar(o,"error")),o=>pe(o,"message")),n=E(r,o=>Sf(o));if(n===void 0)return;let i=$k(e);return i!==void 0?"Model gateway error (HTTP "+i.toString()+"): "+n:"Model gateway error: "+n}var aIe=new RegExp("(?:<!doctype\\s+html|<html(?:\\s|>))","i"),sIe=new RegExp("cloudflare|cf-ray|\\bblocked\\b|access denied|\\bchallenge\\b|attention required","i"),ZX=new RegExp("cloudflare|cf-ray","i"),lIe=new RegExp("\\bblocked\\b|access denied","i"),dIe=new RegExp("attention required","i"),uIe=new RegExp("@font-face","i"),cIe=new RegExp("unexpected status (401|403)\\b","i"),fIe=new RegExp("\\b(401|403)\\s+(?:unauthorized|forbidden)\\b","i");function mIe(e){return nt(e,void 0,(t,r)=>{if(t!==void 0)return t;if(r===void 0)return;let n=cIe.exec(r),i=n??lt(fIe.exec(r));return z(E(i,o=>E(o.slice(1)[0],a=>a)),o=>o==="401"?401:403)})}function pIe(e){return aIe.test(e)?!0:uIe.test(e)?ZX.test(e):!1}function hIe(e){let t=E(ar(e,"diagnostic_payload"),a=>ar(a,"error")),r=[pe(e,"diagnostic_summary"),E(t,a=>pe(a,"message")),pe(e,"message")],n=$k(e),i=n!==void 0?n:mIe(r);if(i===void 0||i!==401&&i!==403)return;let o=nt(r,void 0,(a,s)=>a!==void 0?a:s!==void 0&&pIe(s)&&sIe.test(s)?s:void 0);return z(o,a=>{let s=ZX.test(a),l=lIe.test(a),d=dIe.test(a);return{edgeStatus:i,edgeSignature:s?"cloudflare":l?"blocked":d?"attention_required":"challenge"}})}function _Ie(e){return e!==void 0?e===402||e===408||e===425||e===429?!0:e>=500?e<=599:!1:!1}function gIe(e){return e!==void 0&&e>=400&&e<=499&&e!==402&&e!==408&&e!==425?e!==429:!1}function bIe(e,t){let r="the model provider rejected this request as invalid (a retry sends the same request and fails the same way, so it was not retried; check the selected model / request and send again).",n=e!==void 0?"Model provider rejected this request (HTTP "+e.toString()+"): "+r:"Model provider rejected this request: "+r,i=v(z(t,o=>o.trim()),"");return i===""?n:n+" Upstream said: "+i}function yIe(e){let t="the model provider returned no usable response this turn (retrying will not help until it recovers).";return e!==void 0?"Model upstream unavailable (HTTP "+e.toString()+"): "+t:"Model upstream unavailable: "+t}function xIe(e){let t="The agent run was cut off by a tool failure and produced no response (retrying will hit the same failure until the underlying tool call is fixed).",r=v(z(e,n=>n.trim()),"");return r===""?"Tool execution failed: "+t:"Tool execution failed ("+r+"): "+t}function yx(e){let t=E(ar(e,"diagnostic_payload"),i=>ar(i,"error")),r=pe(e,"message"),n;if(r!==void 0)n=r;else{let i=pe(e,"reason");if(i!==void 0)n=i;else{let o=E(ar(e,"error"),a=>pe(a,"message"));if(o!==void 0)n=o;else{let a=pe(e,"error");if(a!==void 0)n=a;else{let s=pe(e,"diagnostic");if(s!==void 0)n=s;else{let l=E(t,d=>pe(d,"message"));n=l!==void 0?l:E(E(t,d=>ar(d,"error")),d=>pe(d,"message"))}}}}}return Sf(n)}var SIe=new RegExp("^(?:model_request_rejected|invalid_request_error|invalid_request|request_rejected|content_policy_violation|content_filter|input_validation_error)$","i"),TIe=new RegExp("\\bmodel request was rejected\\b|\\bmodel_request_rejected\\b","i");function vIe(e){let t=E(ar(e,"diagnostic_payload"),o=>ar(o,"error")),r=E(t,o=>ar(o,"error")),n=ar(e,"error"),i=[[E(t,o=>pe(o,"code")),E(t,o=>pe(o,"message"))],[E(t,o=>pe(o,"type")),E(t,o=>pe(o,"message"))],[E(r,o=>pe(o,"code")),E(r,o=>pe(o,"message"))],[E(r,o=>pe(o,"type")),E(r,o=>pe(o,"message"))],[E(n,o=>pe(o,"code")),E(n,o=>pe(o,"message"))],[E(n,o=>pe(o,"type")),E(n,o=>pe(o,"message"))],[pe(e,"code"),pe(e,"message")],[pe(e,"type"),pe(e,"message")]];return nt(i,void 0,(o,a)=>{if(o!==void 0)return o;let s=z(a[0],l=>l.trim());if(s!==void 0&&s!==""&&SIe.test(s))return{colocatedMessage:a[1]}})}function wIe(e){let t=vIe(e),r=yx(e),n=r!==void 0?TIe.test(r):!1;if(t===void 0&&!n)return;let i=Sf(E(t,o=>o.colocatedMessage));return i!==void 0?i:r!==void 0?r:""}function AIe(e){let t="the model provider rejected this request and produced no response (retrying will hit the same rejection until the request is changed).",r=v(z(e,n=>n.trim()),"");return r===""?"The model request was rejected: "+t:"The model request was rejected ("+r+"): "+t}var QX=new RegExp("^provider_outage$","i"),kIe=new RegExp("rejecting requests|experiencing an outage|provider outage","i");function CIe(e){let t=E(ar(e,"diagnostic_payload"),d=>ar(d,"error")),r=E(t,d=>ar(d,"error")),n=ar(e,"error");if(![E(t,d=>pe(d,"code")),E(t,d=>pe(d,"type")),E(r,d=>pe(d,"code")),E(r,d=>pe(d,"type")),E(n,d=>pe(d,"code")),E(n,d=>pe(d,"type")),pe(e,"code"),pe(e,"type")].some(d=>{let u=z(d,c=>c.trim());return u!==void 0&&u!==""?QX.test(u):!1}))return;let a=[E(t,d=>pe(d,"message")),E(r,d=>pe(d,"message")),E(n,d=>pe(d,"message")),pe(e,"message"),pe(e,"reason")],s=nt(a,void 0,(d,u)=>{if(d!==void 0)return d;let c=Sf(u);if(c!==void 0&&kIe.test(c))return c});if(s!==void 0)return s;let l=yx(e);return l!==void 0?l:""}function YX(e,t,r,n){if(n===402)return e;let o=t.routeOutageActive;return e==="transient_upstream"&&o!==void 0&&o(r)?"route_outage":e}function OIe(e,t,r,n){return z(e,i=>YX(i,t,r,n))}function EIe(e){let t=E(ar(e,"diagnostic_payload"),o=>ar(o,"error")),r=E(t,o=>ar(o,"error")),n=ar(e,"error"),i=o=>{let a=s=>{let l=z(s,d=>d.trim());return l!==void 0&&l!==""?QX.test(l):!1};return a(pe(o,"code"))?!0:a(pe(o,"type"))};return nt([r,t,n,e],void 0,(o,a)=>{if(o!==void 0)return o;if(a===void 0||!i(a))return;let s=a.hold_ceiling_minutes,l=s!==void 0&&typeof s=="number"&&isFinite(s)&&s>0?Math.floor(s)*6e4:void 0;return{routeProvider:pe(a,"provider"),routeModel:pe(a,"model"),holdCeilingMs:l}})}function PIe(e){let t=v(z(e,r=>r.trim()),"");return t===""?"The model provider is currently rejecting requests / experiencing an outage. Your message was NOT processed. Please retry later, or switch to a different model.":t}function GIe(e){let t="the model provider rejected this request and produced no response (a one-off retry did not help).",r=v(z(e,n=>n.trim()),"");return r===""?"The model request was rejected: "+t:"The model request was rejected ("+r+"): "+t}function RIe(e,t,r,n){return e?{dispositionKind:"storm",dispositionRetryable:!1,dispositionReason:PIe(r)}:t<1?{dispositionKind:"isolated_retry",dispositionRetryable:!0,dispositionReason:AIe(n)}:{dispositionKind:"isolated_terminal",dispositionRetryable:!1,dispositionReason:GIe(n)}}var IIe=new RegExp("\\bapply_patch\\b[^]*\\bincompatible\\b|\\bin-flight tool future\\b[^]*\\bfail","i"),DIe=new RegExp("\\btools::router\\b[^]*\\bfatal\\b|\\bresponse\\.failed\\b","i"),MIe=new RegExp("(tool.*fatal|fatal.*tool|response[._]failed|tool_failure)","i");function $Ie(e){return IIe.test(e)?!0:DIe.test(e)}function jIe(e){let t=pe(e,"kind"),r;if(t!==void 0)r=t;else{let a=pe(e,"type");if(a!==void 0)r=a;else{let s=E(ar(e,"error"),l=>pe(l,"kind"));r=s!==void 0?s:E(ar(e,"error"),l=>pe(l,"type"))}}let n=r!==void 0?MIe.test(r):!1,i=yx(e),o=i!==void 0?$Ie(i):!1;if(n||o)return i!==void 0?i:""}function LX(e){if(e!==void 0&&!(e===null||Array.isArray(e)))switch(typeof e){case"string":return e.trim()!==""?e:void 0;case"object":let t=Object.keys(e);return t.length!==1?void 0:t[0];default:return}}function FIe(e){if(e===void 0)return;let t=_0(e,"{");if(t===void 0)return;let r=Pu(e.slice(t)),n=r!==void 0?r:Pu(e.slice(t,e.lastIndexOf("}")+1|0));if(n===void 0||!J(pe(n,"type"),"error"))return;let i=ar(n,"error");if(i===void 0)return;let o=pe(i,"type");return{envelopeStatus:xf(qi(n,"status")),envelopeErrorType:o!==void 0?o:pe(i,"code"),envelopeMessage:pe(i,"message")}}function NIe(e){let t=ar(e,"error"),r=E(ar(e,"diagnostic_payload"),p=>ar(p,"error")),n=E(r,p=>ar(p,"error")),i=$k(e),o=E(t,p=>pe(p,"type")),a;if(o!==void 0)a=o;else{let p=E(t,_=>pe(_,"code"));if(p!==void 0)a=p;else{let _=E(r,g=>pe(g,"type"));if(_!==void 0)a=_;else{let g=E(r,b=>pe(b,"code"));if(g!==void 0)a=g;else{let b=E(n,y=>pe(y,"type"));if(b!==void 0)a=b;else{let y=E(n,S=>pe(S,"code"));if(y!==void 0)a=y;else{let S=LX(E(t,T=>qi(T,"codexErrorInfo")));a=S!==void 0?S:LX(E(r,T=>qi(T,"codexErrorInfo")))}}}}}}let s=Sf(E(t,p=>pe(p,"message"))),l;if(s!==void 0)l=s;else{let p=Sf(E(n,_=>pe(_,"message")));if(p!==void 0)l=p;else{let _=Sf(E(r,g=>pe(g,"message")));l=_!==void 0?_:yx(e)}}if(i===void 0&&a===void 0){let p=nt([E(t,_=>pe(_,"message")),E(n,_=>pe(_,"message")),E(r,_=>pe(_,"message")),pe(e,"message"),pe(e,"reason"),pe(e,"error"),pe(e,"diagnostic"),pe(e,"diagnostic_summary")],void 0,(_,g)=>_!==void 0?_:FIe(g));if(p!==void 0){i=p.envelopeStatus,a=p.envelopeErrorType;let _=Sf(p.envelopeMessage);l=_!==void 0?_:l}}let c=z(a,p=>p.trim()),f;f=c!==void 0&&c!==""?c:void 0;let h=Fe([z(i,p=>p.toString()),f],p=>p).join(" "),m;if(h==="")m=l;else{let p=l;m=p!==void 0?h+": "+p:h}if(m!==void 0&&m!=="")return m.slice(0,300)}function UX(e){return{swLastUpstreamErrorReason:e.lastUpstreamErrorReason,swLastErrorDiagnosticText:e.lastErrorDiagnosticText,swLastUpstreamErrorHttpStatus:e.lastUpstreamErrorHttpStatus,swUpstreamRejectedSeen:e.upstreamRejectedSeen,swProviderOutageFlaggedSeen:e.providerOutageFlaggedSeen,swToolFatalSeen:e.toolFatalSeen,swErrorNotificationCount:e.errorNotificationCount,swUnattributedErrorNotificationCount:e.unattributedErrorNotificationCount,swModelInteractionSeen:e.modelInteractionSeen}}function XX(e){return e===429||e>=500&&e<=599?"TransientRetryClass":"DeterministicRetryClass"}var qIe=new RegExp("upstream model stream stalled","i"),zIe=new RegExp("\\(HTTP (\\d{3})\\)");function eee(e){let t=zIe.exec(e);if(t!=null)return E(E(t.slice(1)[0],r=>r),ei)}function LIe(e){let t=eee(e);return t!==void 0?XX(t):qIe.test(e)?"TransientRetryClass":"DeterministicRetryClass"}function K$(e){let t={contents:!1},r={contents:e.swUpstreamRejectedSeen||e.swProviderOutageFlaggedSeen||e.swToolFatalSeen||e.swModelInteractionSeen||e.swUnattributedErrorNotificationCount>0},n={contents:0},i=e.swLastUpstreamErrorHttpStatus;i!==void 0&&(n.contents=n.contents+1|0,XX(i)==="TransientRetryClass"?t.contents=!0:r.contents=!0),[e.swLastUpstreamErrorReason,e.swLastErrorDiagnosticText].forEach(s=>{if(s===void 0)return;n.contents=n.contents+1|0,LIe(s)==="TransientRetryClass"?t.contents=!0:r.contents=!0}),e.swErrorNotificationCount>(n.contents+e.swUnattributedErrorNotificationCount|0)&&!e.swUpstreamRejectedSeen&&!e.swProviderOutageFlaggedSeen&&!e.swToolFatalSeen&&(r.contents=!0);let o=r.contents,a=t.contents;return o?"deterministic":a?"transient":"none"}function BX(e){return e.swLastUpstreamErrorHttpStatus===429?!0:[e.swLastUpstreamErrorReason,e.swLastErrorDiagnosticText].some(r=>r!==void 0?J(eee(r),429):!1)}var UIe=" (An automatic resume was not attempted: the upstream reported a rate limit (HTTP 429) during this turn, and an automatic resume would burn straight into it. Retry once the rate limit clears.)";function BIe(e){return" (An automatic resume was attempted at "+new Date(e).toISOString()+" and the stream stalled again, so it will not be retried automatically.)"}function WIe(e){return" (An automatic resume was attempted at "+new Date(e).toISOString()+" and the stream stalled again - reconnecting on a fresh model session automatically.)"}function HIe(e){return" (An automatic resume was attempted at "+new Date(e).toISOString()+" after the stream stalled; it did not complete.)"}var tee=" (Automatic retries are paused: this session hit your Linzumi cost cap (HTTP 402), and an automatic retry must never spend past it. Retry manually when your budget allows.)";function ree(e){return e>0?" ("+e.toString()+" automatic "+(e===1?"retry":"retries")+" did not help.)":""}var J$={autoRetryPreFirstByteStall:!1,messageStateRetryable:!1,costCapAutoRetrySuppressed:!1,messageStateFate:void 0,messageStateFailureClass:void 0,autoResumeMidStreamStall:!1,midStreamResumeRateLimitSuppressed:!1,midStreamResumeAttemptBurnedAtMs:void 0};function Gk(e,t){return qi(e,t)===!0}function VIe(e){let t=qi(e,"fate");if(typeof t=="string")return Ny(t)}function KIe(e,t,r,n){let i=e==="turn/failed"&&J(E(ar(t,"error"),C=>pe(C,"code")),"idle_stream_timeout"),o=e==="turn/failed"&&Gk(t,"retryable"),a=e==="turn/failed"||e==="turn/aborted"?VIe(t):void 0,s=qi(t,"failure_class"),l=e==="turn/failed"&&s==="claude_oauth_expired"?"claude_oauth_expired":void 0,d=e==="turn/failed"?z(ar(t,"route_outage_hold"),C=>{let k=C.hold_ceiling_ms,$=k!==void 0&&typeof k=="number"&&isFinite(k)&&k===Math.trunc(k)&&k>0?k:void 0;return{routeProvider:pe(C,"provider"),routeModel:pe(C,"model"),holdCeilingMs:$}}):void 0;if(!i)return{autoRetryPreFirstByteStall:!1,messageStateRetryable:o,costCapAutoRetrySuppressed:!1,messageStateFate:a,messageStateFailureClass:l,autoResumeMidStreamStall:!1,midStreamResumeRateLimitSuppressed:!1,midStreamResumeAttemptBurnedAtMs:void 0,messageStateRouteOutageHold:d};let u=n.sessionMidStreamResumeAttemptAtMs,c=u!==void 0,f=K$(r)!=="deterministic",h=Gk(t,"preFirstByteStall")&&f,m=Gk(t,"midStreamResumableStall"),p=m&&BX(r),_=K$({swLastUpstreamErrorReason:r.swLastUpstreamErrorReason,swLastErrorDiagnosticText:r.swLastErrorDiagnosticText,swLastUpstreamErrorHttpStatus:r.swLastUpstreamErrorHttpStatus,swUpstreamRejectedSeen:r.swUpstreamRejectedSeen,swProviderOutageFlaggedSeen:r.swProviderOutageFlaggedSeen,swToolFatalSeen:r.swToolFatalSeen,swErrorNotificationCount:r.swErrorNotificationCount,swUnattributedErrorNotificationCount:r.swUnattributedErrorNotificationCount,swModelInteractionSeen:!1})!=="deterministic",g=m&&!c&&!p&&_,b=n.sessionFreshSessionResumeAttemptAtMs!==void 0,y=m&&c&&!b&&!p&&_,S=(h&&!c||g||y)&&n.sessionCostCap402Seen,T=h&&!c&&!S,w=g&&!S,A=y&&!S,P=m&&!c&&p;return{autoRetryPreFirstByteStall:T,messageStateRetryable:h||o,costCapAutoRetrySuppressed:S,messageStateFate:a!==void 0?a:BX(r)?"rate_limited":"transient_upstream",messageStateFailureClass:l,autoResumeMidStreamStall:w,midStreamResumeRateLimitSuppressed:P,midStreamResumeAttemptBurnedAtMs:c?u:void 0,freshSessionResumeMidStreamStall:A?!0:void 0}}function JIe(e,t,r){let n=r!==void 0?" (last upstream error: "+r+")":"",i=e.lastErrorDiagnosticText;return i!==void 0?{cause:"codex error without HTTP status: "+i}:e.modelInteractionSeen?{cause:"model returned no assistant output: "+(e.items.length.toString()+" streamed items, ")+(t.toString()+" snapshot items"+n)}:{cause:"codex never called the model: 0 model interactions, "+(e.notificationCount.toString()+" notifications, ")+(e.errorNotificationCount.toString()+" errors"+n)}}function Pk(e){if(e===void 0)return"none";switch(e.TAG){case"HarnessNotification":return e._0.method;case"CompletionSnapshot":return"snapshot";case"Lifecycle":return"lifecycle/"+e.kind}}function Z$(e,t){for(e.terminalTurnIds.delete(t),e.terminalTurnIds.add(t);e.terminalTurnIds.size>512;){let r=e.terminalTurnIds.values().next().value;r!==void 0&&e.terminalTurnIds.delete(r)}}function jk(e){let t=e.turns.values().toArray().filter(n=>n.phase==="ActiveTurnPhase");return t.length!==1?void 0:t[0].turnId}function Ik(e,t,r,n){return[["thread_key",e.threadKey],["turn_id",t.turnId],["item_key",r.itemKey],["item_id",r.wireItemKey],["stream_kind",r.identity.streamKind],["item_index",r.identity.itemIndex],["source_seq",t.sourceSeq],["client_message_id",r.clientMessageId],["body",n.renderedBody],["structured",n.renderedStructured]]}function gx(e){let t=e.nextStreamSnapshotIndex;return e.nextStreamSnapshotIndex=e.nextStreamSnapshotIndex+1|0,t}function vp(e){let t=pe(e,"reason");if(t!==void 0)return t;let r=pe(e,"message");if(r!==void 0)return r;let n=E(ar(e,"error"),i=>pe(i,"message"));return n!==void 0?n:v(pe(e,"error"),"codex_turn_aborted")}function ZIe(e,t,r){let n={turnId:t,sourceSeq:r,phase:"ActiveTurnPhase",protocolFailureReason:void 0,lastUpstreamErrorReason:void 0,edgeBlockEvidence:void 0,lastErrorDiagnosticText:void 0,toolFatalSeen:!1,toolFatalDetail:void 0,upstreamRejectedSeen:!1,upstreamRejectedDetail:void 0,providerOutageFlaggedSeen:!1,providerOutageDetail:void 0,providerOutageRoute:void 0,lastUpstreamErrorHttpStatus:void 0,lastUpstreamErrorSummary:void 0,errorNotificationCount:0,unattributedErrorNotificationCount:0,notificationCount:0,modelInteractionSeen:!1,reasoningStepsWithoutProgress:0,agentReplyToolCallSeen:!1,agentActionToolCallSeen:!1,items:[]};return e.turns.set(t,n),n}function QIe(e,t){if(e.phase==="ActiveTurnPhase"){e.phase="CompletingTurnPhase",t.push({TAG:"RequestSnapshot",turnId:e.turnId});return}let i={TAG:"Log",event:"pipeline.loop.duplicate_turn_completed",fields:Object.fromEntries([["turn_id",e.turnId]])};t.push(i)}function Dk(e,t,r,n,i,o,a,s,l){let d;if(s.autoRetryPreFirstByteStall||s.costCapAutoRetrySuppressed){let k=o.autoRetryAttemptsForSeq;d=n+ree(k!==void 0?k(t.sourceSeq):0)+(s.costCapAutoRetrySuppressed?tee:"")}else d=n;if(s.midStreamResumeRateLimitSuppressed&&(d=d+UIe),r==="failed"){let k=s.midStreamResumeAttemptBurnedAtMs;if(k!==void 0)d=d+(v(s.freshSessionResumeMidStreamStall,!1)?WIe(k):BIe(k));else{let $=E(o.midStreamResumeAttemptAtMsForSeq,V=>V(t.sourceSeq));$!==void 0&&(d=d+HIe($))}}t.items.forEach(k=>{if(!k.posted||c0(k.emittedStreamState))return;let $=w0(k.wireItemKey,k.content,a),V=Object.fromEntries(Ik(o,t,k,$).concat([["stream_snapshot_index",gx(k)],["terminal_outcome",r],["reason",n]])),F={TAG:"Enqueue",kind:Qd,data:V,coalesceKey:void 0,resolution:"MustAck"};i.push(F),k.emittedStreamState=a,k.lastEmittedBody=$.renderedBody});let u=OIe(s.messageStateFate,o,t.sourceSeq,t.lastUpstreamErrorHttpStatus),c=v(o.sessionExecutesRecoveryGrants,!1)&&r==="failed"&&(s.autoRetryPreFirstByteStall||s.autoResumeMidStreamStall||v(s.freshSessionResumeMidStreamStall,!1)),f;f=l==="FailedTerminalMessageState"?c?"recovering":"failed":"interrupted";let h;if(u!==void 0){let k=E(o.ladderHistoryForSeq,$=>$(t.sourceSeq,u));h=k!==void 0?[["ladder",k]]:[]}else h=[];let m=s.messageStateFailureClass,p=t.lastUpstreamErrorSummary,_;if(p!==void 0)_=[["upstream_error",p]];else{let k=e.lastUpstreamErrorSummary;_=k!==void 0?[["upstream_error",k]]:[]}let g=Object.fromEntries([["thread_key",o.threadKey],["turn_id",t.turnId],["seq",t.sourceSeq],["status",f],["reason",d]].concat((s.messageStateRetryable&&!c?[["retryable",!0]]:[]).concat(u!==void 0?[["fate",u]]:[])).concat(h.concat((m!==void 0?[["failure_class",m]]:[]).concat(_)))),b={TAG:"Enqueue",kind:Sl,data:g,coalesceKey:void 0,resolution:"MustAck"};i.push(b);let y;if(u==="route_outage"){let k=s.messageStateRouteOutageHold;y=k!==void 0?k:{routeProvider:void 0,routeModel:void 0,holdCeilingMs:void 0}}else y=void 0;let S=t.turnId,T=d,w=s.autoRetryPreFirstByteStall,A=s.autoResumeMidStreamStall,P=s.freshSessionResumeMidStreamStall,C={TAG:"TurnTerminal",turnId:S,outcome:r,reason:T,retryableEmptyTurn:w,autoResumeMidStreamStall:A,freshSessionResumeMidStreamStall:P,fate:u,routeOutageHold:y};i.push(C),e.turns.delete(t.turnId),Z$(e,t.turnId)}function nee(e,t,r,n,i){let o=l=>{let d=e.turnId,u=e.items.length,c={turnId:d,itemId:l,itemIndex:u,streamKind:t},f=bQ(c),h=v(l,f),m={identity:c,itemKey:f,wireItemKey:h,clientMessageId:V$(n.instanceId,e.turnId,t,h),content:DX(t),posted:!1,completed:!1,emittedStreamState:void 0,lastEmittedBody:void 0,nextDeltaIndex:0,nextStreamSnapshotIndex:1};return e.items.push(m),m};if(t==="webSearch"){let l=e.items.find(d=>d.identity.streamKind==="webSearch");return l!==void 0?l:o("web-search:"+e.turnId)}let a=r!==void 0?e.items.find(l=>l.identity.streamKind===t?J(l.identity.itemId,r):!1):void 0;if(a!==void 0)return a;let s=e.items.find(l=>l.identity.streamKind===t&&l.identity.itemId===void 0?!l.completed:!1);return r!==void 0?s!==void 0&&i?s:o(r):s!==void 0?s:o(r)}function Q$(e,t,r,n,i,o){let a=w0(t.wireItemKey,t.content,n);if(t.posted){let u=Object.fromEntries(Ik(i,e,t,a).concat([["delta_index",r],["stream_snapshot_index",gx(t)]])),c=t.itemKey,f={TAG:"Enqueue",kind:mf,data:u,coalesceKey:c,resolution:"MustAck"};o.push(f),t.emittedStreamState=n,t.lastEmittedBody=a.renderedBody;return}if(a.renderedBody.trim()==="")return;let l=Object.fromEntries(Ik(i,e,t,a).concat([["delta_index",r],["stream_snapshot_index",gx(t)]])),d={TAG:"Enqueue",kind:Zu,data:l,coalesceKey:void 0,resolution:"MustAck"};if(o.push(d),t.posted=!0,t.emittedStreamState=n,t.lastEmittedBody=a.renderedBody,n==="completed"){t.completed=!0;return}}function Rk(e,t,r,n){if(e.phase==="ActiveTurnPhase"){let l=nee(e,T0(t),RX(t),r,!1);if(l.completed){let h={TAG:"Log",event:"pipeline.loop.delta_for_completed_item",fields:Object.fromEntries([["turn_id",e.turnId],["item_key",l.itemKey]])};n.push(h);return}l.content=MX(l.content,t);let d=l.nextDeltaIndex;l.nextDeltaIndex=l.nextDeltaIndex+1|0;let u=T0(t),c;return c=u==="terminalInput"?"completed":"streaming",Q$(e,l,d,c,r,n)}let o=[["turn_id",e.turnId],["stream_kind",T0(t)]],s={TAG:"Log",event:"pipeline.loop.delta_for_completing_turn",fields:Object.fromEntries(o)};n.push(s)}function YIe(e,t,r,n){let i=e.bufferedTurns.get(t);if(i!==void 0){i.push(r);return}e.bufferedTurns.set(t,[r]);let a={TAG:"Log",event:"pipeline.loop.turn_events_buffered",fields:Object.fromEntries([["turn_id",t]])};n.push(a)}function XIe(e,t,r,n){t.errorNotificationCount=t.errorNotificationCount+1|0;let i=jIe(r);if(i!==void 0){t.toolFatalSeen=!0,t.toolFatalDetail===void 0&&i!==""&&(t.toolFatalDetail=i);let p={TAG:"Log",event:"codex.tool_fatal_captured",fields:Object.fromEntries([["turn_id",t.turnId],["detail",i===""?null:i]])};n.push(p)}let o=wIe(r);if(o!==void 0){t.upstreamRejectedSeen=!0,t.upstreamRejectedDetail===void 0&&o!==""&&(t.upstreamRejectedDetail=o);let p={TAG:"Log",event:"codex.upstream_rejection_captured",fields:Object.fromEntries([["turn_id",t.turnId],["detail",o===""?null:o]])};n.push(p)}let a=CIe(r);if(a!==void 0){t.providerOutageFlaggedSeen=!0,t.providerOutageDetail===void 0&&a!==""&&(t.providerOutageDetail=a);let m=EIe(r);t.providerOutageRoute===void 0&&(t.providerOutageRoute=m);let p=E(m,y=>y.holdCeilingMs),_=[["turn_id",t.turnId],["detail",a===""?null:a],["provider",Bs(E(m,y=>y.routeProvider))],["model",Bs(E(m,y=>y.routeModel))],["hold_ceiling_ms",p!==void 0?p:null]],b={TAG:"Log",event:"codex.provider_outage_flagged_captured",fields:Object.fromEntries(_)};n.push(b)}let s=$k(r),l=hIe(r);if(l!==void 0&&(t.edgeBlockEvidence=l),s!==void 0){let m=t.lastUpstreamErrorHttpStatus;m!==void 0&&s<=m||(t.lastUpstreamErrorHttpStatus=s)}if(J(s,402)&&!e.costCap402Seen){e.costCap402Seen=!0;let p={TAG:"Log",event:"codex.cost_cap_402_seen",fields:Object.fromEntries([["turn_id",t.turnId]])};n.push(p)}let d=oIe(r),u=!1;if(d!==void 0){t.lastUpstreamErrorReason=d;let p={TAG:"Log",event:"codex.upstream_error_captured",fields:Object.fromEntries([["turn_id",t.turnId],["reason",d]])};n.push(p)}else{let m=yx(r);if(m!==void 0){t.lastErrorDiagnosticText=m,u=!0;let _={TAG:"Log",event:"codex.error_without_http_status_captured",fields:Object.fromEntries([["turn_id",t.turnId],["diagnostic_text",m]])};n.push(_)}}i===void 0&&o===void 0&&a===void 0&&s===void 0&&d===void 0&&!u&&(t.unattributedErrorNotificationCount=t.unattributedErrorNotificationCount+1|0);let c=NIe(r);if(c===void 0)return;t.lastUpstreamErrorSummary=c,e.lastUpstreamErrorSummary=c;let h={TAG:"Log",event:"codex.upstream_turn_error_captured",fields:Object.fromEntries([["turn_id",t.turnId],["upstream_error",c]])};n.push(h)}function eDe(e,t,r,n){let i=pe(t,"turnId"),o=v(pe(t,"reason"),"turn source-seq mapping failed");if(i===void 0||e.terminalTurnIds.has(i))return;let a=e.turns.get(i);return a!==void 0?Dk(e,a,"failed",o,n,r,"failed",J$,"FailedTerminalMessageState"):iee(e,i,o,n)}function tDe(e,t,r,n,i){if(e.phase!=="ActiveTurnPhase")return;let a=ar(r,"item"),s=a!==void 0?pe(a,"type"):pe(r,"type");if(!li(s,"agentStatus"))return;let l=v0(r),d=t==="item/agentMessage/delta"||J(s,"agentMessage");e.items.forEach(u=>{if(!(u.identity.streamKind==="assistant"&&u.completed&&u.posted&&!c0(u.emittedStreamState)))return;if(l!==void 0?li(u.identity.itemId,l):!d)return Q$(e,u,Math.max(u.nextDeltaIndex-1|0,0),"completed",n,i)})}function WX(e,t,r,n){let i=ar(t,"item");i!==void 0&&e.protocolFailureReason===void 0&&(e.protocolFailureReason=KX(i)),VX(e,i!==void 0?i:t);let o=jX(t);if(o===void 0)return;if(o.completedStreamKind==="webSearch"){let c=o.completedContent,f;return f=c.TAG==="WebSearchContent"?c.queries:[],Rk(e,{TAG:"WebSearchDelta",itemId:o.completedItemId,queries:f},r,n)}if(e.phase==="ActiveTurnPhase"){let c=nee(e,o.completedStreamKind,o.completedItemId,r,!0),f=!1;if(c.identity.streamKind===o.completedStreamKind){let _=o.completedStreamKind,g;switch(_){case"agentStatus":case"agentTaskUpdate":g=!0;break;default:g=!1}f=g}if(c.completed&&!f)return;c.content=o.completedContent,c.completed=!0;let h=o.completedStreamKind,m;m=h==="assistant"?"streaming":"completed";let p=w0(c.wireItemKey,c.content,m);return c.posted&&J(p.renderedBody,c.lastEmittedBody)&&(m==="streaming"||c0(c.emittedStreamState))?void 0:Q$(e,c,Math.max(c.nextDeltaIndex-1|0,0),m,r,n)}let l=[["turn_id",e.turnId],["stream_kind",o.completedStreamKind]],u={TAG:"Log",event:"pipeline.loop.item_completed_for_completing_turn",fields:Object.fromEntries(l)};n.push(u)}function rDe(e,t,r,n){let i=t.method,o=v(t.params,{});if(i===bx)return;if(i===A0)return eDe(e,o,r,n);if(!XRe(i))return;let a=_x(o),s=a!==void 0?a:jk(e);if(s!==void 0){if(e.terminalTurnIds.has(s)){let h={TAG:"Log",event:"pipeline.loop.notification_for_terminal_turn",fields:Object.fromEntries([["method",i],["turn_id",s]])};n.push(h);return}let l=e.turns.get(s),d;if(l!==void 0)d=l;else{let f=r.sourceSeqForTurn(s);d=f!==void 0?ZIe(e,s,f):void 0}if(d===void 0)return YIe(e,s,{TAG:"HarnessNotification",_0:t},n);if(d.notificationCount=d.notificationCount+1|0,eIe(i)&&(d.modelInteractionSeen=!0),i==="turn/started")return;if(i==="turn/completed")return QIe(d,n);let u=YRe(i);if(u!==void 0){let f=KIe(i,o,UX(d),{sessionCostCap402Seen:e.costCap402Seen,sessionMidStreamResumeAttemptAtMs:E(r.midStreamResumeAttemptAtMsForSeq,m=>m(d.sourceSeq)),sessionFreshSessionResumeAttemptAtMs:E(r.freshSessionResumeAttemptAtMsForSeq,m=>m(d.sourceSeq))});if(f.autoResumeMidStreamStall){let m=[["thread_key",r.threadKey],["turn_id",d.turnId],["source_seq",d.sourceSeq],["reason",vp(o)]],_={TAG:"Log",event:"codex.mid_stream_stall_auto_resume_flagged",fields:Object.fromEntries(m)};n.push(_)}else if(f.midStreamResumeRateLimitSuppressed){let m=[["thread_key",r.threadKey],["turn_id",d.turnId],["source_seq",d.sourceSeq],["reason",vp(o)]],_={TAG:"Log",event:"codex.mid_stream_stall_resume_suppressed_rate_limit",fields:Object.fromEntries(m)};n.push(_)}else{let m=f.midStreamResumeAttemptBurnedAtMs;if(m!==void 0){let p=v(f.freshSessionResumeMidStreamStall,!1),_=[["thread_key",r.threadKey],["turn_id",d.turnId],["source_seq",d.sourceSeq],["resume_attempt_at_ms",m],["reason",vp(o)],["fresh_session_resume_granted",p]],b={TAG:"Log",event:"codex.mid_stream_stall_second_stall_after_resume",fields:Object.fromEntries(_)};if(n.push(b),p){let y=[["thread_key",r.threadKey],["turn_id",d.turnId],["source_seq",d.sourceSeq],["resume_attempt_at_ms",m],["reason",vp(o)]],T={TAG:"Log",event:"codex.mid_stream_stall_fresh_session_resume_flagged",fields:Object.fromEntries(y)};n.push(T)}}}if(f.autoRetryPreFirstByteStall){let m=E(qi(o,"idleStreamThresholdMs"),Uo),p=[["thread_key",r.threadKey],["turn_id",d.turnId],["source_seq",d.sourceSeq],["reason",vp(o)],["phase",v(pe(o,"idleStreamPhase"),"pre_first_byte")],["idle_threshold_ms",m!==void 0?m:null],["evidence_class",K$(UX(d))]],g={TAG:"Log",event:"codex.pre_first_byte_stall_auto_retry_flagged",fields:Object.fromEntries(p)};n.push(g)}else if(f.costCapAutoRetrySuppressed){let m=[["thread_key",r.threadKey],["turn_id",d.turnId],["source_seq",d.sourceSeq],["reason",vp(o)],["flavor",Gk(o,"midStreamResumableStall")?"mid_stream_resume":"pre_first_byte_retry"]],_={TAG:"Log",event:"codex.pre_first_byte_stall_retry_suppressed_cost_cap",fields:Object.fromEntries(m)};n.push(_)}let h;switch(u){case"failed":h="failed";break;case"completed":case"interrupted":h="interrupted";break}return Dk(e,d,u,vp(o),n,r,h,f,i===Mk?"InterruptedTerminalMessageState":"FailedTerminalMessageState")}if(i==="error")return XIe(e,d,o,n);(i.startsWith("item/")||i==="command/exec/outputDelta")&&tDe(d,i,o,r,n);let c=tIe(i,o);if(c!==void 0){let f=Object.assign({},o);return f.item=c,WX(d,f,r,n)}switch(i){case"item/completed":case"response_item":return WX(d,o,r,n);default:let f=IX(i,o);if(f===void 0)return;if(d.phase!=="ActiveTurnPhase")return Rk(d,f,r,n);if(T0(f)!=="reasoning")return d.reasoningStepsWithoutProgress=0,Rk(d,f,r,n);if(d.reasoningStepsWithoutProgress=d.reasoningStepsWithoutProgress+1|0,d.reasoningStepsWithoutProgress<=64)return Rk(d,f,r,n);let m=VRe(d.reasoningStepsWithoutProgress),_={TAG:"Log",event:"codex.reasoning_loop_breaker_tripped",fields:Object.fromEntries([["thread_key",r.threadKey],["turn_id",d.turnId],["source_seq",d.sourceSeq],["reasoning_steps_without_progress",d.reasoningStepsWithoutProgress],["max_reasoning_steps_without_progress",64]])};return n.push(_),Dk(e,d,"failed",m,n,r,"interrupted",J$,"FailedTerminalMessageState")}}else{let d={TAG:"Log",event:"pipeline.loop.notification_without_turn",fields:Object.fromEntries([["method",i]])};n.push(d);return}}function nDe(e,t,r,n,i){switch(t){case"codexDied":let a=e.phase,s=0;switch(a){case"running":case"closing":s=2;break;case"dead":return}if(s===2){e.turns.values().toArray().forEach(u=>Dk(e,u,"failed",r,i,n,"interrupted",J$,"FailedTerminalMessageState")),e.bufferedTurns.keys().toArray().forEach(u=>iee(e,u,r,i)),e.phase="dead";let d={TAG:"Log",event:"pipeline.loop.codex_died",fields:Object.fromEntries([["reason",r]])};i.push(d);return}break;case"shutdown":case"replaceRunner":break}switch(e.phase){case"running":e.phase="closing";let a=[["kind",t],["reason",r]],l={TAG:"Log",event:"pipeline.loop.closing",fields:Object.fromEntries(a)};i.push(l);return;case"closing":case"dead":return}}function iDe(e,t,r,n,i){if(e.terminalTurnIds.has(t)){let d={TAG:"Log",event:"pipeline.loop.duplicate_snapshot",fields:Object.fromEntries([["turn_id",t]])};i.push(d);return}let o=e.turns.get(t);if(o!==void 0){if(o.phase!=="ActiveTurnPhase")return oDe(e,o,r,n,i);let u={TAG:"Log",event:"pipeline.loop.snapshot_for_active_turn",fields:Object.fromEntries([["turn_id",t]])};i.push(u);return}let s={TAG:"Log",event:"pipeline.loop.snapshot_for_unknown_turn",fields:Object.fromEntries([["turn_id",t]])};i.push(s)}function oDe(e,t,r,n,i){let o=qi(r,"items"),a=o!==void 0?Array.isArray(o)?o:[]:[];t.protocolFailureReason===void 0&&(t.protocolFailureReason=QRe(a)),a.forEach(ae=>VX(t,ct(ae)));let s=FX(a),l=new Set,d=new Map;s.forEach((ae,Ue)=>{let Ee=ae.projItemId;if(Ee===void 0)return;let Re=t.items.find(Ve=>Ve.posted&&!l.has(Ve.itemKey)&&Ve.identity.streamKind===ae.projStreamKind?J(Ve.identity.itemId,Ee):!1);if(Re!==void 0){l.add(Re.itemKey),d.set(Ue,Re);return}});let u=new Map;t.items.forEach(ae=>{if(!(ae.posted&&!l.has(ae.itemKey)&&ae.identity.itemId===void 0))return;let Ue=ae.identity.streamKind;u.set(Ue,v(u.get(Ue),0)+1|0)});let c=new Map;s.forEach((ae,Ue)=>{if(d.has(Ue))return;let Ee=ae.projStreamKind;c.set(Ee,v(c.get(Ee),0)+1|0)});let f=(ae,Ue)=>{let Ee=w0(ae.wireItemKey,ae.content,"completed").renderedBody.trim(),Re=Ue.projBody.trim();return Re.startsWith(Ee)?!0:Ee.startsWith(Re)};s.forEach((ae,Ue)=>{if(d.has(Ue))return;let Ee=ae.projStreamKind,Re=J(c.get(Ee),u.get(Ee));if(ae.projItemId!==void 0&&!Re)return;let Ve=t.items.find(Be=>Be.posted&&!l.has(Be.itemKey)&&Be.identity.streamKind===ae.projStreamKind?Be.identity.itemId===void 0:!1);if(Ve!==void 0&&(ae.projItemId===void 0||f(Ve,ae))){l.add(Ve.itemKey),d.set(Ue,Ve);return}});let h=d.entries().toArray();t.items.forEach(ae=>{let Ue=h.find(Be=>Be[1].itemKey===ae.itemKey);if(Ue!==void 0){let Be=s[Ue[0]];if(Be===void 0||ae.identity.streamKind==="assistant"&&c0(ae.emittedStreamState)&&J(ae.lastEmittedBody,Be.projBody))return;let ht=Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["item_key",ae.itemKey],["item_id",ae.wireItemKey],["stream_kind",ae.identity.streamKind],["item_index",ae.identity.itemIndex],["source_seq",t.sourceSeq],["client_message_id",ae.clientMessageId],["body",Be.projBody],["structured",H$(Be.projStructured,ae.wireItemKey)],["stream_snapshot_index",gx(ae)],["terminal_outcome","completed"]]),Rt={TAG:"Enqueue",kind:Qd,data:ht,coalesceKey:void 0,resolution:"MustAck"};i.push(Rt),ae.emittedStreamState="completed",ae.lastEmittedBody=Be.projBody;return}if(!ae.posted||c0(ae.emittedStreamState))return;let Ee=w0(ae.wireItemKey,ae.content,"completed"),Re=Object.fromEntries(Ik(n,t,ae,Ee).concat([["stream_snapshot_index",gx(ae)],["terminal_outcome","completed"]])),Ve={TAG:"Enqueue",kind:Qd,data:Re,coalesceKey:void 0,resolution:"MustAck"};i.push(Ve),ae.emittedStreamState="completed",ae.lastEmittedBody=Ee.renderedBody}),s.forEach((ae,Ue)=>{if(d.has(Ue))return;let Ee=ae.projItemId,Re=Ee!==void 0?Ee:t.turnId+":"+ae.projStreamKind+":snapshot:"+ae.snapshotIndex.toString(),Ve=ae.projItemId,Be=Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["item_key",t.turnId+":"+ae.projStreamKind+":"+(Ve!==void 0?Ve:"snapshot:"+ae.snapshotIndex.toString())],["item_id",Re],["stream_kind",ae.projStreamKind],["snapshot_index",ae.snapshotIndex],["source_seq",t.sourceSeq],["client_message_id",V$(n.instanceId,t.turnId,ae.projStreamKind,Re)],["body",ae.projBody],["structured",H$(ae.projStructured,Re)],["stream_snapshot_index",1]]),ht={TAG:"Enqueue",kind:pf,data:Be,coalesceKey:void 0,resolution:"MustAck"};i.push(ht)});let m=t.items.some(ae=>ae.identity.streamKind==="assistant"?ae.posted:!1)||s.some(ae=>ae.projStreamKind==="assistant"),p=t.agentActionToolCallSeen||t.items.some(ae=>ae.posted?zX(ae.identity.streamKind):!1)||s.some(ae=>zX(ae.projStreamKind)),_=n.linzumiAgentSession&&m&&!t.agentReplyToolCallSeen&&!p,g=m&&!_,b=t.protocolFailureReason,y=KRe(b)&&g,S=y?void 0:b,T;if(!g&&b===void 0&&t.lastUpstreamErrorReason===void 0){let ae;if(_)ae={cause:WRe};else{let Ue=t.lastUpstreamErrorSummary;ae=JIe(t,s.length,Ue!==void 0?Ue:e.lastUpstreamErrorSummary)}T=ae}else T=void 0;let w=!g&&S===void 0&&t.upstreamRejectedSeen,A=!g&&S===void 0&&t.providerOutageFlaggedSeen,P=gIe(t.lastUpstreamErrorHttpStatus),C=!g&&S===void 0&&t.edgeBlockEvidence!==void 0,k=w&&!A&&!P,$=A||k?RIe(A,e.consecutiveIsolatedRejections,t.providerOutageDetail,t.upstreamRejectedDetail):void 0,V;if($!==void 0)switch($.dispositionKind){case"isolated_retry":V=!0;break;case"storm":case"isolated_terminal":V=!1;break}else V=!1;k?e.consecutiveIsolatedRejections=e.consecutiveIsolatedRejections+1|0:e.consecutiveIsolatedRejections=0;let F=!g&&S===void 0&&t.lastUpstreamErrorReason===void 0&&t.lastErrorDiagnosticText===void 0&&!w&&_Ie(t.lastUpstreamErrorHttpStatus),D=!g&&S===void 0&&t.lastUpstreamErrorReason===void 0&&P,q=!g&&S===void 0&&t.lastUpstreamErrorReason===void 0&&!w&&!F&&!D&&t.toolFatalSeen,re;if($!==void 0)re=$.dispositionReason;else if(D){let ae=t.upstreamRejectedDetail;re=bIe(t.lastUpstreamErrorHttpStatus,ae!==void 0?ae:t.lastErrorDiagnosticText)}else if(F)re=yIe(t.lastUpstreamErrorHttpStatus);else if(q)re=xIe(t.toolFatalDetail);else{let ae=t.lastUpstreamErrorReason;re=ae!==void 0?ae:_?BRe:T!==void 0?qX+" ["+T.cause+"]":qX}let te=T!==void 0&&S===void 0&&t.modelInteractionSeen&&t.lastErrorDiagnosticText===void 0&&!w&&!F&&!D&&!q;te?e.consecutiveEmptyTurns=e.consecutiveEmptyTurns+1|0:e.consecutiveEmptyTurns=0;let W=te&&e.consecutiveEmptyTurns>3,j=te&&!W||V,X=n.autoRetryAttemptsForSeq,M=X!==void 0?X(t.sourceSeq):0,I=j&&e.costCap402Seen&&M<2,Q=j&&!I;if(C){let ae=t.edgeBlockEvidence,Ue=t.edgeBlockEvidence,Re={TAG:"Log",event:"codex.edge_blocked_captured",fields:Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["http_status",ae!==void 0?ae.edgeStatus:null],["signature",Ue!==void 0?Ue.edgeSignature:null]])};i.push(Re)}let H=W?HRe+" ("+e.consecutiveEmptyTurns.toString()+" in a row"+(T!==void 0?": "+T.cause:"")+").":void 0,ie=S!==void 0?S:g?void 0:H!==void 0?H:re,se=te&&!W?M:0,de=z(ie,ae=>ae+ree(se)+(I?tee:"")),le=T!==void 0&&!W&&!w&&!F&&!D&&!q||V||C,be;if(A)be="route_outage";else if(le)be="transient_upstream";else if(F){let ae=t.lastUpstreamErrorHttpStatus;be=ae!==void 0?i0(ae):"transient_upstream"}else be="deterministic";let Xe=YX(be,n,t.sourceSeq,t.lastUpstreamErrorHttpStatus);if(I){let ae=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["reason",Bs(ie)],["isolated_rejection_retry_suppressed",V]],Ee={TAG:"Log",event:"codex.empty_turn_auto_retry_suppressed_cost_cap",fields:Object.fromEntries(ae)};i.push(Ee)}if(W){let ae=t.lastUpstreamErrorSummary,Ue=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["consecutive_empty_turns",e.consecutiveEmptyTurns],["max_consecutive_empty_turns",3],["cause",Bs(z(T,Ve=>Ve.cause))],["last_upstream_error",Bs(ae!==void 0?ae:e.lastUpstreamErrorSummary)]],Re={TAG:"Log",event:"codex.empty_turn_loop_guard_tripped",fields:Object.fromEntries(Ue)};i.push(Re)}if(y){let ae=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["reason",Bs(b)]],Ee={TAG:"Log",event:"codex.turn_completed_with_unsupported_tool_call_ignored",fields:Object.fromEntries(ae)};i.push(Ee)}else if(b!==void 0){let ae=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["reason",Bs(b)]],Ee={TAG:"Log",event:"codex.turn_completed_with_protocol_failure",fields:Object.fromEntries(ae)};i.push(Ee)}if(_){let Ue={TAG:"Log",event:"codex.agent_turn_narration_only_no_reply",fields:Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["streamed_item_count",t.items.length],["snapshot_item_count",s.length],["agent_reply_tool_call_seen",t.agentReplyToolCallSeen],["agent_action_tool_call_seen",t.agentActionToolCallSeen],["retryable_empty_turn",le],["empty_turn_loop_guard_tripped",W]])};i.push(Ue)}if(!m){let ae=t.lastUpstreamErrorHttpStatus,Ue=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["streamed_item_count",t.items.length],["snapshot_item_count",s.length],["notification_count",t.notificationCount],["error_notification_count",t.errorNotificationCount],["model_interaction_seen",t.modelInteractionSeen],["last_error_diagnostic_text",Bs(t.lastErrorDiagnosticText)],["last_upstream_error_reason",Bs(t.lastUpstreamErrorReason)],["last_upstream_error_summary",Bs(t.lastUpstreamErrorSummary)],["empty_turn_cause",Bs(z(T,Ve=>Ve.cause))],["tool_fatal_seen",q],["tool_fatal_detail",Bs(t.toolFatalDetail)],["upstream_rejected_seen",w],["upstream_rejected_detail",Bs(t.upstreamRejectedDetail)],["upstream_terminal_4xx",D],["last_upstream_error_http_status",ae!==void 0?ae:null],["provider_outage_flagged",A],["isolated_rejection_retry_granted",V],["rejection_disposition",$!==void 0?$.dispositionKind:null],["consecutive_isolated_rejections",e.consecutiveIsolatedRejections],["retryable_empty_turn",le],["empty_turn_loop_guard_tripped",W],["cost_cap_auto_retry_suppressed",I]],Re={TAG:"Log",event:"codex.turn_completed_without_assistant_output",fields:Object.fromEntries(Ue)};i.push(Re)}let Qe=v(n.sessionExecutesRecoveryGrants,!1)&&Q,oe;if(de!==void 0){let ae=E(n.ladderHistoryForSeq,Re=>Re(t.sourceSeq,Xe)),Ue=t.lastUpstreamErrorSummary,Ee;if(Ue!==void 0)Ee=[["upstream_error",Ue]];else{let Re=e.lastUpstreamErrorSummary;Ee=Re!==void 0?[["upstream_error",Re]]:[]}oe=[["status",Qe?"recovering":"failed"],["reason",de]].concat((le&&!Qe?[["retryable",!0]]:[]).concat([["fate",Xe]])).concat((ae!==void 0?[["ladder",ae]]:[]).concat(C?[["failure_class","edge_blocked"]]:[]).concat(Ee))}else oe=[["status","processed"]];let Te=Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["seq",t.sourceSeq]].concat(oe)),qe={TAG:"Enqueue",kind:Sl,data:Te,coalesceKey:void 0,resolution:"MustAck"};i.push(qe),de===void 0&&(e.lastUpstreamErrorSummary=void 0);let Ne;if(de!==void 0){let ae;ae=Xe==="route_outage"?{routeProvider:E(t.providerOutageRoute,Ue=>Ue.routeProvider),routeModel:E(t.providerOutageRoute,Ue=>Ue.routeModel),holdCeilingMs:E(t.providerOutageRoute,Ue=>Ue.holdCeilingMs)}:void 0,Ne={TAG:"TurnTerminal",turnId:t.turnId,outcome:"failed",reason:de,retryableEmptyTurn:Q,autoResumeMidStreamStall:!1,fate:Xe,routeOutageHold:ae}}else Ne={TAG:"TurnTerminal",turnId:t.turnId,outcome:"completed",reason:void 0,retryableEmptyTurn:!1,autoResumeMidStreamStall:!1,fate:void 0};i.push(Ne),e.turns.delete(t.turnId),Z$(e,t.turnId)}function iee(e,t,r,n){let i=v(e.bufferedTurns.get(t),[]),o=i.length,a=i[0],s=i[o-1|0],l=Object.fromEntries([["turn_id",t],["buffered_event_count",o],["first_event",Pk(a)],["last_event",Pk(s)],["reason","A response was produced but could not be delivered because its turn source mapping never arrived. Please retry."]]),d="unmapped-turn-failure:"+t,u={TAG:"Enqueue",kind:sk,data:l,coalesceKey:d,resolution:"MustAck"};n.push(u);let c=[["level","error"],["turn_id",t],["buffered_event_count",o],["first_event",Pk(a)],["last_event",Pk(s)],["reason",r]],h={TAG:"Log",event:"pipeline.loop.buffered_turn_failed",fields:Object.fromEntries(c)};n.push(h),e.bufferedTurns.delete(t),n.push({TAG:"TurnTerminal",turnId:t,outcome:"failed",reason:r,retryableEmptyTurn:!1,autoResumeMidStreamStall:!1,fate:void 0}),Z$(e,t)}function oee(e,t,r,n){switch(t.TAG){case"HarnessNotification":case"CompletionSnapshot":break;case"Lifecycle":return nDe(e,t.kind,t.reason,r,n)}switch(e.phase){case"running":switch(t.TAG){case"HarnessNotification":return rDe(e,t._0,r,n);case"CompletionSnapshot":let c=t.turnId,f=e.bufferedTurns.get(c);if(f!==void 0){f.push(t);return}else return iDe(e,c,t.snapshot,r,n);case"Lifecycle":return}case"closing":let o=[["source",u0(t)]],s={TAG:"Log",event:"pipeline.loop.event_after_close",fields:Object.fromEntries(o)};n.push(s);return;case"dead":let l=[["source",u0(t)]],u={TAG:"Log",event:"pipeline.loop.event_after_death",fields:Object.fromEntries(l)};n.push(u);return}}function aDe(e,t,r){e.bufferedTurns.keys().toArray().forEach(n=>{if(t.sourceSeqForTurn(n)===void 0)return;let o=v(e.bufferedTurns.get(n),[]);e.bufferedTurns.delete(n);let s={TAG:"Log",event:"pipeline.loop.buffered_turn_drained",fields:Object.fromEntries([["turn_id",n],["buffered_event_count",o.length]])};r.push(s),o.forEach(l=>oee(e,l,t,r))})}function aee(e,t,r){let n=[];return e.phase==="running"&&aDe(e,r,n),oee(e,t,r,n),n}var Y$=2;function xx(e){if(e!==void 0)return ce(e)}function see(){return{contents:"Ready"}}function lee(e){let t=e.contents;if(typeof t=="object")return"Busy";switch(t){case"Ready":return e.contents="PublishingInitial","Claimed";case"PublishingInitial":return"Busy";case"Settled":return"AlreadySettled"}}function ej(e){let t=e.contents;if(typeof t=="object")return"Busy";switch(t){case"Ready":return e.contents={TAG:"PublishingTerminal",_0:void 0},"Claimed";case"PublishingInitial":return"Busy";case"Settled":return"AlreadySettled"}}function dee(e,t){let r=e.contents;if(typeof r=="object")return r._0!==void 0||(e.contents={TAG:"PublishingTerminal",_0:t}),"CleanupDeferred";switch(r){case"Ready":return e.contents={TAG:"PublishingTerminal",_0:void 0},"CleanupClaimed";case"PublishingInitial":return"CleanupWonInitialPublication";case"Settled":return"CleanupAlreadySettled"}}function uee(e){let t=e.contents;return typeof t=="object"||t!=="PublishingInitial"?!1:(e.contents="Ready",!0)}function cee(e){let t=e.contents;if(typeof t!="object")return"TerminalNotOwned";let r=t._0;return r!==void 0?(e.contents={TAG:"PublishingTerminal",_0:void 0},{TAG:"TerminalCleanupRequested",_0:r}):(e.contents="Ready","TerminalReleased")}function fee(e){let t=e.contents;return typeof t!="object"&&t==="Settled"?!1:(e.contents="Settled",!0)}function wp(e){try{let t=JSON.stringify(e);return t!==void 0?{TAG:"Ok",_0:JSON.parse(t)}:{TAG:"Error",_0:"Codex native question payload was not JSON serializable"}}catch{return{TAG:"Error",_0:"Codex native question payload was not JSON serializable"}}}function lDe(e){let t=wp(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0;return typeof r=="object"&&r!==null&&!Array.isArray(r)?{TAG:"Ok",_0:r}:{TAG:"Error",_0:"Codex native question payload was not an object"}}function mee(e){let t=e.itemId.trim(),r=e.threadId.trim(),n=e.turnId.trim();if(t===""||r===""||n==="")return{TAG:"Error",_0:"Codex request_user_input was missing request identity"};let i=e.questions.length;if(i===0)return{TAG:"Error",_0:"Codex request_user_input contained no questions"};if(i>3)return{TAG:"Error",_0:"Codex request_user_input contained more than three questions"};let o=new Set,a=nt(e.questions,{TAG:"Ok",_0:[]},(d,u)=>{if(d.TAG!=="Ok")return{TAG:"Error",_0:d._0};let c=u.id.trim(),f=u.header.trim(),h=u.question.trim();if(c===""||f===""||h==="")return{TAG:"Error",_0:"Codex request_user_input contained an incomplete question"};if(o.has(c))return{TAG:"Error",_0:"Codex request_user_input contained duplicate question ids"};o.add(c);let m=new Set,p=nt(v(lt(u.options),[]),{TAG:"Ok",_0:[]},(g,b)=>{if(g.TAG!=="Ok")return{TAG:"Error",_0:g._0};let y=b.label.trim(),S=b.description.trim();return y===""||S===""?{TAG:"Error",_0:"Codex request_user_input contained an incomplete option"}:m.has(y)?{TAG:"Error",_0:"Codex request_user_input contained duplicate option labels"}:(m.add(y),{TAG:"Ok",_0:g._0.concat([{label:y,description:S}])})});if(p.TAG!=="Ok")return{TAG:"Error",_0:p._0};let _=p._0;return _.length!==1?{TAG:"Ok",_0:d._0.concat([{questionId:c,header:f,question:h,isOther:u.isOther,isSecret:u.isSecret,options:_}])}:{TAG:"Error",_0:"Codex request_user_input option questions require at least two options"}});if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};let s=e.autoResolutionMs,l=s!=null&&isFinite(s)&&s>=0?s:void 0;return{TAG:"Ok",_0:{requestId:t,codexThreadId:r,turnId:n,autoResolutionMs:l,questions:a._0}}}function pee(e,t,r,n,i){let o=new Map;e.questions.forEach(m=>{o.set(m.questionId,m)});let a=new Set,s=t.some(m=>{let p=a.has(m.questionId);return a.add(m.questionId),p}),l=t.length===e.questions.length;if(s)return{TAG:"Error",_0:"Codex user input contained duplicate answers"};if(!l)return{TAG:"Error",_0:"Codex user input must answer every question"};let d={},u=nt(t,{TAG:"Ok",_0:[]},(m,p)=>{let _=o.get(p.questionId);if(m.TAG!=="Ok")return{TAG:"Error",_0:m._0};if(_===void 0)return{TAG:"Error",_0:"Codex user input answer referenced an unknown question"};let g=m._0,b=v(p.selectedLabels,[]).map(P=>P.trim()).filter(P=>P!==""),y=p.freeText,S=y!==void 0&&y.trim()!==""?y:void 0,T=b.some(P=>!_.options.some(C=>C.label===P)),w=b.length;if(w===0&&S===void 0)return{TAG:"Error",_0:"Codex user input contained an empty answer"};if(w>1)return{TAG:"Error",_0:"Codex user input contained several answers for a single-select question"};if(T)return{TAG:"Error",_0:"Codex user input selected an unknown option"};let A=S!==void 0?b.concat([S]):b;return d[p.questionId]={answers:A},_.isSecret?{TAG:"Ok",_0:g.concat([{questionId:p.questionId,selectedLabels:["Secret answer submitted"]}])}:{TAG:"Ok",_0:g.concat([{questionId:p.questionId,selectedLabels:b,freeText:S}])}});if(u.TAG!=="Ok")return{TAG:"Error",_0:u._0};let f=wp({answers:d}),h=wp({kind:"Answered",answers:u._0,answeredAt:r,actorUserId:xx(n),actorSlug:xx(i)});return f.TAG==="Ok"?h.TAG==="Ok"?{TAG:"Ok",_0:{continuation:f._0,answerState:h._0}}:{TAG:"Error",_0:h._0}:{TAG:"Error",_0:f._0}}function hee(){return wp({answers:{}})}function Fk(e,t,r,n){return wp({kind:"Cancelled",reason:e,answeredAt:t,actorUserId:xx(r),actorSlug:xx(n)})}function Nk(e){let t=e.instanceId,r=e.sessionId,n=e.actorUserId,i=e.actorSlug,o=e.harness;return wp({type:"resolve_codex_user_input_request",instanceId:t,threadId:e.threadId,sessionId:r,requestId:e.requestId,answers:e.answers.map(a=>({questionId:a.questionId,selectedLabels:v(a.selectedLabels,[])})),actorUserId:n,actorSlug:i,agentProvider:o})}function tj(e,t,r,n){let i=e.autoResolutionMs,o=t.leaseEpoch,a=e.requestId,s="agent_user_input_request:"+e.requestId,l=e.requestId,d=e.codexThreadId,u=t.sourceSeq,c=e.questions.map(m=>({questionId:m.questionId,header:m.header,question:m.question,multiSelect:!1,allowsFreeText:!0,isOther:m.isOther,isSecret:m.isSecret,options:m.options})),f={method:"item/tool/requestUserInput",thread_id:e.codexThreadId,turn_id:e.turnId},h={kind:"agent_user_input_request",item_id:a,transcript_unit_id:s,stream_state:n,request_id:l,session_id:d,source_message_seq:u,agent_provider:"codex",request_source:"codex_request_user_input",title:"Codex needs input",questions:c,answerState:r,raw_provider_metadata:f,auto_resolution_ms:i};return lDe({workspace:t.workspace,channel:t.channel,thread_id:t.kandanThreadId,stream_key:"codex-user-question:"+e.requestId,body:"Codex needs input",payload:{source_message_seq:t.sourceSeq,agent_provider:"codex",codex_thread_id:e.codexThreadId,provider_session_key:e.codexThreadId,structured:h},lease_epoch:o})}function _ee(e,t){let r=wp({kind:"NeedsAnswer"});return r.TAG==="Ok"?tj(e,t,r._0,"streaming"):{TAG:"Error",_0:r._0}}function gee(e,t,r){return tj(e,t,r,"completed")}function qk(e,t,r){return tj(e,t,r,"interrupted")}var dDe=[500,1e3,2500,5e3,1e4,3e4],uDe=1440*60*1e3;function cDe(e,t){switch(e){case"MustReachConsensus":return{TAG:"RetryAfterExhaustion",_0:v(t[t.length-1|0],1e3)};case"MustAck":case"BestEffort":return"FailAfterExhaustion"}}function fDe(e,t){switch(e){case"MustReachConsensus":return!1;case"MustAck":case"BestEffort":return t}}function zk(e,t){return e+"\0"+t}function bee(e,t){let r=Math.max(1,Math.ceil(t*e.length)|0);return v(e[r-1|0],0)}function mDe(e){if(e.length===0)return;let t=e.toSorted((r,n)=>r-n);return{p50Ms:bee(t,.5),p95Ms:bee(t,.95),maxMs:v(t[t.length-1|0],0),ackedInWindow:t.length}}function pDe(e){return new Promise((t,r)=>{setTimeout(()=>t(),e)})}function yee(e){let t=e.log,r=e.onPermanentFailure,n=e.builders,i={contents:e.threadKey},o=v(e.now,()=>Date.now()),a=v(e.retryDelaysMs,dDe.slice()),s={contents:[]},l={contents:0},d=new Map,u={contents:new Map},c=[],f={contents:1},h={contents:0},m={contents:0},p={contents:0},_={contents:0},g={contents:0},b={contents:0},y=[],S={contents:0},T={contents:!1},w={contents:!0},A={contents:!1},P={contents:void 0},C={contents:void 0},k=new Map,$=new Map,V=(Ce,Pe)=>{let Ie=Pe.then(Ke=>(k.delete(Ce),Ke));k.set(Ce,Ie)},F=Math.max(1,v(e.maxInFlightPushes,1)),D={contents:0},q={contents:[]},re={contents:Promise.resolve()},te=()=>s.contents[l.contents],W=()=>({totalEnqueued:h.contents,totalAcked:m.contents,totalDroppedBestEffort:_.contents,totalPermanentFailures:g.contents,totalExpiredOnRecovery:b.contents,lastEntrySeq:f.contents-1}),j=e.persistDir;if(j!==void 0){let Ce=d0(j,i.contents),Pe=ok(Ce,t),Ie=v(e.journalRecoveryMaxAgeMs,uDe),Ke=o(),Ct=[];Pe.pendingEntries.forEach(rr=>{if(fDe(rr.resolution,Ke-rr.enqueuedAtMs>Ie)){Ct.push(rr);return}let Er={entry:rr,state:"EntryQueued",outcome:void 0,retryTimer:void 0};s.contents.push(Er);let Br=rr.coalesceKey;if(Br!==void 0){d.set(zk(rr.kind,Br),Er);return}}),u.contents=Pe.kv,h.contents=Pe.counters.totalEnqueued,m.contents=Pe.counters.totalAcked,_.contents=Pe.counters.totalDroppedBestEffort,g.contents=Pe.counters.totalPermanentFailures,b.contents=Pe.counters.totalExpiredOnRecovery+Ct.length|0,f.contents=Pe.counters.lastEntrySeq+1;let Ft=gQ(Ce,()=>({pendingEntries:s.contents.slice(l.contents).map(rr=>rr.entry),kv:u.contents,counters:W()}),t,e.journalCompactionThreshold,void 0);if(C.contents=Ft,Ct.length!==0){Ct.forEach(Br=>Ft.appendExpired(Br.entrySeq));let rr=Ct.map(Br=>Math.max(0,Ke-Br.enqueuedAtMs)),Er=new Set(Ct.map(Br=>Br.kind));t("outbox_recovery_expired",Object.fromEntries([["level","warn"],["threadKey",i.contents],["expiredEntries",Ct.length],["survivingEntries",s.contents.length-l.contents|0],["maxAgeMs",Ie],["oldestAgeMs",nt(rr,0,(Br,Mr)=>Math.max(Br,Mr))],["newestAgeMs",nt(rr,Number.POSITIVE_INFINITY,(Br,Mr)=>Math.min(Br,Mr))],["kinds",Er.values().toArray().map(Br=>Br)]]))}(s.contents.length-l.contents|0)>0&&t("outbox_recovered",Object.fromEntries([["threadKey",i.contents],["pendingEntries",s.contents.length-l.contents|0],["nextEntrySeq",f.contents]]))}let I={remember:(Ce,Pe)=>{u.contents.set(Ce,Pe);let Ie=C.contents;if(Ie!==void 0)return Ie.appendKv(Ce,Pe)},recall:Ce=>u.contents.get(Ce)},Q=()=>{if(l.contents=l.contents+1|0,l.contents>=64&&l.contents<<1>=s.contents.length){s.contents=s.contents.slice(l.contents),l.contents=0;return}},H=()=>{let Ce=te(),Pe=c.length-1|0;for(;Pe>=0;){let Ie=c[Pe];if(Ie!==void 0&&(Ce!==void 0?Ce.entry.entrySeq>Ie.upToSeq:!0)){c.splice(Pe,1);let Ct=Ie.timer;Ct!==void 0&&clearTimeout(ce(Ct)),Ie.resolve({TAG:"Ok",_0:void 0})}Pe=Pe-1|0}},ie=(Ce,Pe)=>{let Ie=$.get(Ce);if(Ie!==void 0){$.delete(Ce),Ie.forEach(Ke=>Ke(Pe));return}},se=Ce=>{let Pe=Ce.entry.coalesceKey;if(Pe===void 0)return;let Ie=zk(Ce.entry.kind,Pe),Ke=d.get(Ie);if(Ke!==void 0&&Ke===Ce){d.delete(Ie);return}},de=(Ce,Pe)=>{let Ie=Ce.entry;switch(Pe.TAG){case"OutcomeAck":ie(Ie.entrySeq,{TAG:"Ok",_0:void 0});let Ke=n[Ie.kind];if(Ke!==void 0){let oi=Ke.onReply;if(oi!==void 0){let Ji;try{oi(Ie.data,Pe._0,I),Ji={TAG:"Ok",_0:void 0}}catch(Io){let Ra=N(Io);Ji={TAG:"Error",_0:ke(Ra)}}Ji.TAG!=="Ok"&&t("outbox_on_reply_failed",Object.fromEntries([["threadKey",i.contents],["entrySeq",Ie.entrySeq],["kind",Ie.kind],["error",Ji._0.message]]))}}let Ct=C.contents;Ct!==void 0&&Ct.appendAck(Ie.entrySeq);break;case"OutcomeSkip":let Ft=Pe._0;ie(Ie.entrySeq,{TAG:"Error",_0:"outbox entry skipped: "+Ft}),t("outbox_entry_skipped",Object.fromEntries([["threadKey",i.contents],["entrySeq",Ie.entrySeq],["kind",Ie.kind],["reason",Ft]]));let rr=C.contents;rr!==void 0&&rr.appendSkip(Ie.entrySeq,Ft);break;case"OutcomeFail":let Er=Pe._0;ie(Ie.entrySeq,{TAG:"Error",_0:Er});let Br=Ie.resolution,Mr=0;switch(Br){case"MustAck":case"MustReachConsensus":Mr=1;break;case"BestEffort":let oi=C.contents;oi!==void 0&&oi.appendDrop(Ie.entrySeq);break}if(Mr===1){let oi=C.contents;oi!==void 0&&oi.appendFail(Ie.entrySeq);let Ji;try{r(Ie,Er),Ji={TAG:"Ok",_0:void 0}}catch(Io){let Ra=N(Io);Ji={TAG:"Error",_0:ke(Ra)}}Ji.TAG!=="Ok"&&t("outbox_permanent_failure_callback_failed",Object.fromEntries([["threadKey",i.contents],["entrySeq",Ie.entrySeq],["error",Ji._0.message]]))}break}se(Ce),Q(),H()},le=()=>{let Ce=!0;for(;Ce;){let Pe=te();if(Pe!==void 0){let Ie=Pe.outcome;Ie!==void 0?de(Pe,Ie):Ce=!1}else Ce=!1}},be=(Ce,Pe)=>{let Ie=Ce.entry;switch(Pe.TAG){case"OutcomeAck":case"OutcomeSkip":break;case"OutcomeFail":let Ke=Pe._0,Ct=Ie.resolution,Ft=0;switch(Ct){case"MustAck":case"MustReachConsensus":Ft=1;break;case"BestEffort":_.contents=_.contents+1|0,t("outbox_dropped_best_effort",Object.fromEntries([["threadKey",i.contents],["entrySeq",Ie.entrySeq],["kind",Ie.kind],["attempts",Ie.attempts],["error",Ke]]));break}Ft===1&&(g.contents=g.contents+1|0,t("outbox_permanent_failure",Object.fromEntries([["threadKey",i.contents],["entrySeq",Ie.entrySeq],["kind",Ie.kind],["attempts",Ie.attempts],["error",Ke]])));break}Ce.outcome=Pe,Ce.state="EntryQueued"},Xe=Ce=>{y.length<256?y.push(Ce):y[S.contents]=Ce;let Pe=S.contents+1|0;S.contents=Pe>=256?0:Pe},Qe=Ce=>{let Pe=Ce.retryTimer;if(Pe!==void 0){clearTimeout(ce(Pe)),Ce.retryTimer=void 0;return}},oe=()=>{if(D.contents>0)return;let Ce=q.contents;q.contents=[],Ce.forEach(Pe=>Pe())},Te=()=>{let Ce=te();return Ce===void 0||Ce.state!=="EntryQueued"||Ce.outcome!==void 0?!1:Ce.retryTimer!==void 0},qe={contents:()=>{}},Ne=(Ce,Pe)=>{Qe(Ce);let Ie=setTimeout(()=>{if(Ce.retryTimer=void 0,!(A.contents||T.contents||Ce.outcome!==void 0))return qe.contents()},Pe|0);Ie.unref(),Ce.retryTimer=ve(Ie)},ae=(Ce,Pe,Ie)=>{if(Ce.state="EntryQueued",p.contents=p.contents+1|0,t("outbox_consensus_retry",Object.fromEntries([["threadKey",i.contents],["entrySeq",Ce.entry.entrySeq],["kind",Ce.entry.kind],["attempt",Ce.entry.attempts],["delayMs",Ie],["error",Pe]])),!A.contents&&!T.contents)return Ne(Ce,Ie)},Ue=(Ce,Pe)=>{let Ie=cDe(Ce.entry.resolution,a);return typeof Ie!="object"?be(Ce,{TAG:"OutcomeFail",_0:Pe}):ae(Ce,Pe,Ie._0)},Ee=async(Ce,Pe,Ie)=>{let Ke=Ce.entry,Ct=o(),Ft;try{Ft=await e.push(Pe[0],Pe[1],Pe[2],Ie)}catch(Br){let Mr=N(Br);Ft={TAG:"PushFailed",message:ke(Mr).message,budgetExempt:!1}}if(Ft.TAG==="Acked"){let Br=Ft._0;Ie(),Xe(Math.max(0,o()-Ct));let Mr=n[Ke.kind],oi;if(Mr!==void 0){let Ra=Mr.adjudicateReply;if(Ra!==void 0)try{oi=Ra(Ke.data,Br,I)}catch(cu){let qf=N(cu);oi={TAG:"RetryReply",_0:ke(qf).message}}else oi="AcceptReply"}else oi="AcceptReply";if(typeof oi!="object")return m.contents=m.contents+1|0,be(Ce,{TAG:"OutcomeAck",_0:Br});let Ji=oi._0,Io=a[Ke.attempts-1|0];return Io!==void 0?ae(Ce,Ji,Io):Ue(Ce,Ji)}let rr=Ft.message;if(Ie(),Ce.state="EntryQueued",Ft.budgetExempt)return Ke.attempts=Ke.attempts-1|0,p.contents=p.contents+1|0,t("outbox_push_connection_wait",Object.fromEntries([["threadKey",i.contents],["entrySeq",Ke.entrySeq],["kind",Ke.kind],["error",rr]])),!A.contents&&!T.contents?Ne(Ce,1e3):void 0;let Er=a[Ke.attempts-1|0];return Er!==void 0?(p.contents=p.contents+1|0,t("outbox_push_retry",Object.fromEntries([["threadKey",i.contents],["entrySeq",Ke.entrySeq],["kind",Ke.kind],["attempt",Ke.attempts],["delayMs",Er],["error",rr]])),!A.contents&&!T.contents?Ne(Ce,Er):void 0):Ue(Ce,rr)},Re=async Ce=>{let Pe=Ce.entry,Ie=re.contents,Ke={contents:()=>{}};re.contents=new Promise((Er,Br)=>{Ke.contents=Er});let Ct={contents:!1},Ft=()=>{if(!Ct.contents)return Ct.contents=!0,Ke.contents()};if(Ce.state="EntryPushing",D.contents=D.contents+1|0,await Ie,A.contents||T.contents||Ce.outcome!==void 0){Ce.state="EntryQueued",Ft(),D.contents=D.contents-1|0;return}let rr=n[Pe.kind];if(rr!==void 0){let Er;try{Er=rr.build(Pe.data,I)}catch(Br){let Mr=N(Br);Er={TAG:"BuildFailed",_0:ke(Mr).message}}switch(Er.TAG){case"BuildPush":Pe.attempts=Pe.attempts+1|0,await Ee(Ce,[Er.event,Er.payload,Er.timeoutMs],Ft),D.contents=D.contents-1|0;return;case"BuildSkip":let Br=Er._0;switch(Ft(),Pe.resolution){case"MustReachConsensus":Ue(Ce,"must_reach_consensus builder skipped without consensus: "+Br);break;case"MustAck":case"BestEffort":be(Ce,{TAG:"OutcomeSkip",_0:Br});break}D.contents=D.contents-1|0;return;case"BuildFailed":Ft(),Ue(Ce,Er._0),D.contents=D.contents-1|0;return}}else{Ft(),Ue(Ce,"no outbox builder registered for kind "+Pe.kind),D.contents=D.contents-1|0;return}},Ve=()=>{if(le(),A.contents||T.contents||Te())return oe();let Ce=l.contents;for(;Ce<s.contents.length&&D.contents<F;){let Pe=s.contents[Ce];Pe!==void 0&&Pe.state==="EntryQueued"&&Pe.outcome===void 0&&(Pe.retryTimer!==void 0||Fr(Re(Pe).then(()=>Ve()),Ft=>(t("outbox_drain_loop_error",Object.fromEntries([["threadKey",i.contents]])),Ve(),Promise.resolve()))),Ce=Ce+1|0}oe()};qe.contents=Ve;let Be=()=>{if(T.contents||A.contents)return;if(te()!==void 0){Promise.resolve().then(()=>{if(!A.contents&&!T.contents)return Ve()});return}},ht=Ce=>{let Pe=f.contents-1,Ie=te();return(Ie!==void 0?Ie.entry.entrySeq>Pe:!0)?Promise.resolve({TAG:"Ok",_0:void 0}):new Promise((Ct,Ft)=>{let rr={upToSeq:Pe,resolve:Ct,timer:void 0};Ce!==void 0&&(rr.timer=ve(setTimeout(()=>{let Er=c.indexOf(rr);Er===-1||c.splice(Er,1),Ct({TAG:"Error",_0:"outbox flush for "+i.contents+" timed out after "+Ce.toString()+"ms with "+(s.contents.length-l.contents|0).toString()+" entries pending"})},Ce|0))),c.push(rr)})},Rt=async Ce=>{w.contents=!1;let Pe=await ht(Ce);Pe.TAG!=="Ok"&&t("outbox_close_flush_timeout",Object.fromEntries([["threadKey",i.contents],["depth",s.contents.length-l.contents|0],["error",Pe._0]])),A.contents=!0;let Ie=l.contents;for(;Ie<s.contents.length;){let Ft=s.contents[Ie];Ft!==void 0&&Qe(Ft),Ie=Ie+1|0}D.contents>0&&await Promise.race([new Promise((Ft,rr)=>{q.contents.push(()=>Ft())}),pDe(1e3)]);let Ke=c.slice();c.splice(0,c.length),Ke.forEach(Ft=>{let rr=Ft.timer;rr!==void 0&&clearTimeout(ce(rr)),Ft.resolve({TAG:"Error",_0:"outbox for "+i.contents+" closed"})}),$.forEach((Ft,rr)=>{Ft.forEach(Er=>Er({TAG:"Error",_0:"outbox entry "+rr.toString()+" for "+i.contents+" closed before acknowledgement"}))}),$.clear();let Ct=C.contents;if(Ct!==void 0)return await Ct.close()},Wt=(Ce,Pe,Ie)=>{if(Ce===void 0)return Ie;let Ke=Ce.coalesce;if(Ke===void 0)return Ie;let Ct;try{Ct={TAG:"Ok",_0:Ke(Pe.data,Ie)}}catch(Ft){let rr=N(Ft);Ct={TAG:"Error",_0:ke(rr)}}return Ct.TAG==="Ok"?Ct._0:(t("outbox_coalesce_failed",Object.fromEntries([["threadKey",i.contents],["entrySeq",Pe.entrySeq],["kind",Pe.kind],["error",Ct._0.message]])),Ie)},Kn={enqueue:Ce=>{if(!w.contents)return{TAG:"Error",_0:"outbox for "+i.contents+" is closed"};h.contents=h.contents+1|0;let Pe=Ce.coalesceKey,Ie;if(Pe!==void 0){let Br=zk(Ce.kind,Pe),Mr=d.get(Br);if(Mr!==void 0)if(Mr.state==="EntryQueued")if(Mr.outcome!==void 0)Ie=void 0;else{Mr.entry.data=Wt(n[Ce.kind],Mr.entry,Ce.data);let Io=C.contents;Io!==void 0?V(Mr.entry.entrySeq,Io.appendCoalesce(Mr.entry.entrySeq,Mr.entry.data)):V(Mr.entry.entrySeq,Promise.resolve({TAG:"Error",_0:"outbox journal is unavailable"})),Ie=Mr.entry.entrySeq}else Ie=void 0;else Ie=void 0}else Ie=void 0;if(Ie!==void 0)return{TAG:"Ok",_0:Ie};let Ke=f.contents;f.contents=f.contents+1;let Ct={entrySeq:Ke,kind:Ce.kind,data:Ce.data,coalesceKey:Ce.coalesceKey,resolution:Ce.resolution,attempts:0,enqueuedAtMs:o()},Ft={entry:Ct,state:"EntryQueued",outcome:void 0,retryTimer:void 0};s.contents.push(Ft);let rr=Ce.coalesceKey;rr!==void 0&&d.set(zk(Ce.kind,rr),Ft);let Er=C.contents;return Er!==void 0?V(Ke,Er.appendEnqueue(Ct)):V(Ke,Promise.resolve({TAG:"Error",_0:"outbox journal is unavailable"})),Be(),{TAG:"Ok",_0:Ke}},awaitEnqueuePersistence:Ce=>{let Pe=k.get(Ce);return Pe!==void 0?Pe:Promise.resolve({TAG:"Error",_0:"outbox enqueue "+Ce.toString()+" has no pending persistence acknowledgement"})},awaitEntryAcknowledgement:Ce=>new Promise((Pe,Ie)=>{let Ke=$.get(Ce);Ke!==void 0?Ke.push(Pe):$.set(Ce,[Pe])}),flush:ht,pause:()=>{T.contents=!0},resume:()=>{if(!T.contents)return;T.contents=!1;let Ce=l.contents;for(;Ce<s.contents.length;){let Pe=s.contents[Ce];Pe!==void 0&&(Pe.entry.attempts=0,Qe(Pe)),Ce=Ce+1|0}Be()},metrics:()=>{let Ce=te(),Pe=z(C.contents,Ie=>Ie.status());return{depth:s.contents.length-l.contents|0,oldestEntryAgeMs:z(Ce,Ie=>Math.max(0,o()-Ie.entry.enqueuedAtMs)),totalEnqueued:h.contents,totalAcked:m.contents,totalRetried:p.contents,totalDroppedBestEffort:_.contents,totalPermanentFailures:g.contents,totalExpiredOnRecovery:b.contents,totalJournalWriteFailures:v(z(Pe,Ie=>Ie.totalWriteFailures),0),journalDegraded:v(z(Pe,Ie=>Ie.degraded),!1),paused:T.contents,pushLatency:mDe(y)}},close:Ce=>{let Pe=P.contents;if(Pe!==void 0)return Pe;let Ie=Rt(v(Ce,3e4));return P.contents=Ie,Ie},journalSettled:()=>{let Ce=C.contents;return Ce!==void 0?Ce.settled():Promise.resolve()},rekeyJournal:Ce=>{if(Ce===i.contents)return;i.contents=Ce;let Pe=e.persistDir,Ie=C.contents;if(Pe!==void 0&&Ie!==void 0)return Ie.rekey(d0(Pe,Ce))}};return Be(),Kn}var _De=10*6e4;function gDe(e){switch(e){case"collabAgentToolCall":case"commandExecution":case"dynamicToolCall":case"mcpToolCall":case"terminalInput":return!0;default:return!1}}function Ap(e){let t=St(e);return t!==void 0?v(At(ce(t)),"unknown error"):"unknown error"}function xee(e){let t=JX(),r=e.threadKey,n=e.instanceId,i=e.sourceSeqForTurn,o=e.autoRetryAttemptsForSeq,a=e.midStreamResumeAttemptAtMsForSeq,s=e.freshSessionResumeAttemptAtMsForSeq,l=e.ladderHistoryForSeq,d=e.sessionExecutesRecoveryGrants,u=e.linzumiAgentSession,c={threadKey:r,instanceId:n,sourceSeqForTurn:i,autoRetryAttemptsForSeq:o,midStreamResumeAttemptAtMsForSeq:a,freshSessionResumeAttemptAtMsForSeq:s,ladderHistoryForSeq:l,sessionExecutesRecoveryGrants:d,linzumiAgentSession:u},f=[],h=v(e.now,()=>Date.now()),m=new Map,p=new Map,_=new Map,g=new Map,b=new Set,y=v(e.bufferedTurnMaxAgeMs,_De),S=v(e.bufferedTurnMaxEvents,1e4),T=v(e.bufferedTurnSweepIntervalMs,3e4),w={contents:!1},A={contents:!0},P={contents:void 0},C=(j,X)=>{try{return e.log(j,Object.fromEntries(X))}catch{return}},k=j=>t.turns.has(j)?!0:t.bufferedTurns.has(j),$=()=>{t.turns.keys().toArray().forEach(j=>{if(!m.has(j)){m.set(j,h());return}}),m.keys().toArray().forEach(j=>{if(!t.turns.has(j)){m.delete(j);return}}),t.bufferedTurns.keys().toArray().forEach(j=>{if(!p.has(j)){p.set(j,h());return}}),p.keys().toArray().forEach(j=>{if(!t.bufferedTurns.has(j)){p.delete(j),b.delete(j);return}}),_.keys().toArray().forEach(j=>{if(!k(j)){_.delete(j);return}}),g.keys().toArray().forEach(j=>{if(!k(j)){g.delete(j);return}})},V=(j,X)=>{if(k(j)){_.set(j,{atMs:h(),activityKind:X});return}},F=j=>{switch(j.TAG){case"HarnessNotification":let X=j._0,M=X.method;if(M===bx||M===A0)return;let I=_x(v(X.params,{})),Q=I!==void 0?I:jk(t);return Q!==void 0?V(Q,M):void 0;case"CompletionSnapshot":case"Lifecycle":return}},D=j=>{switch(j.TAG){case"HarnessNotification":let X=j._0,M=X.method;if(M!=="item/started"&&M!=="item/completed"&&M!=="response_item")return;let I=v(X.params,{}),Q=_x(I),H=Q!==void 0?Q:jk(t);if(H===void 0||!k(H))return;let ie=v0(I);if(ie===void 0||ie==="")return;if(M==="item/started"){let de=E(ar(I,"item"),Xe=>pe(Xe,"type"));if(de===void 0||!gDe(de))return;let le=g.get(H),be;if(le!==void 0)be=le;else{let Xe=new Map;g.set(H,Xe),be=Xe}be.set(ie,{kind:de,startedAtMs:h()});return}let se=g.get(H);if(se!==void 0){se.delete(ie);return}else return;case"CompletionSnapshot":case"Lifecycle":return}},q=()=>{if(!A.contents||t.phase!=="running")return!1;let j=h(),X={contents:!1};return t.bufferedTurns.entries().toArray().forEach(M=>{let I=M[0];if(b.has(I))return;let Q=M[1],H=j-v(p.get(I),j),ie=H>y,se=Q.length>S;if(ie||se){b.add(I),C("pipeline.loop.buffered_turn_overdue",[["level","error"],["thread_key",e.threadKey],["turn_id",I],["buffered_event_count",Q.length],["age_ms",H],["max_age_ms",y],["max_events",S]]),f.push({TAG:"HarnessNotification",_0:{method:A0,params:Object.fromEntries([["turnId",I],["reason",se?"turn source mapping never arrived ("+Q.length.toString()+" buffered events exceeded the "+S.toString()+" cap)":"turn source mapping never arrived within "+y.toString()+"ms"]])}}),X.contents=!0;return}}),X.contents},re=()=>{if(w.contents)return;w.contents=!0;let j=!0;for(;j;){let X=f.shift();if(X!==void 0){let M;try{M=aee(t,X,c)}catch(I){let Q=N(I);C("pipeline.loop.event_processing_failed",[["thread_key",e.threadKey],["source",u0(X)],["message",Ap(Q)]]),M=void 0}M!==void 0&&($(),F(X),D(X),M.forEach(I=>{try{switch(I.TAG){case"Enqueue":return e.outboxEnqueue({kind:I.kind,data:I.data,coalesceKey:I.coalesceKey,resolution:I.resolution});case"RequestSnapshot":return e.requestSnapshot(I.turnId);case"TurnTerminal":return e.onTurnTerminal(I.turnId,I.outcome,I.reason,I.retryableEmptyTurn,I.autoResumeMidStreamStall,v(I.freshSessionResumeMidStreamStall,!1),I.fate);case"Log":try{return e.log(I.event,I.fields)}catch{return}}}catch(Q){let H=N(Q),ie;switch(I.TAG){case"Enqueue":ie="enqueue";break;case"RequestSnapshot":ie="requestSnapshot";break;case"TurnTerminal":ie="turnTerminal";break;case"Log":ie="log";break}return C("pipeline.loop.effect_failed",[["thread_key",e.threadKey],["effect",ie],["message",Ap(H)]])}}),q())}else j=!1}w.contents=!1},te;if(T>0){let j=setInterval(()=>{if(q())return re()},T);j.unref(),te=ve(j)}else te=void 0;let W=j=>{let X=g.get(j);return X!==void 0?X.values().toArray().map(M=>({kind:M.kind,startedAtMs:M.startedAtMs})):[]};return{submit:j=>{try{return A.contents?(f.push(j),re()):C("pipeline.loop.event_after_drain",[["thread_key",e.threadKey],["source",u0(j)]])}catch(X){let M=N(X);return C("pipeline.loop.submit_failed",[["thread_key",e.threadKey],["message",Ap(M)]])}},metrics:()=>({queueDepth:f.length,phase:t.phase,activeTurns:t.turns.values().toArray().map(j=>({turnId:j.turnId,sourceSeq:j.sourceSeq,startedAtMs:v(m.get(j.turnId),h()),lastActivityAtMs:z(_.get(j.turnId),X=>X.atMs),lastActivityKind:z(_.get(j.turnId),X=>X.activityKind),openItems:W(j.turnId)})),bufferedTurns:t.bufferedTurns.entries().toArray().map(j=>{let X=j[0];return{turnId:X,bufferedEventCount:j[1].length,firstBufferedAtMs:v(p.get(X),h()),lastActivityAtMs:z(_.get(X),M=>M.atMs),lastActivityKind:z(_.get(X),M=>M.activityKind),openItems:W(X)}})}),noteTurnActivity:(j,X)=>{try{return V(j,X)}catch(M){let I=N(M);return C("pipeline.loop.note_activity_failed",[["thread_key",e.threadKey],["message",Ap(I)]])}},drainAndClose:j=>{let X=P.contents;if(X!==void 0)return X;let M=(async()=>{A.contents=!1,te!==void 0&&clearInterval(ce(te)),await Promise.resolve(),re();let I;try{I=await e.outboxFlush(j)}catch(Q){let H=N(Q);return C("pipeline.loop.drain_flush_failed",[["thread_key",e.threadKey],["message",Ap(H)]])}if(I.TAG!=="Ok")return C("pipeline.loop.drain_flush_failed",[["thread_key",e.threadKey],["message",I._0]])})();return P.contents=M,M}}}var bDe=10*6e4,yDe={emittedTotalEnqueued:0,emittedTotalAcked:0,emittedTotalRetried:0,emittedTotalDroppedBestEffort:0,emittedTotalPermanentFailures:0,emittedTotalExpiredOnRecovery:0,emittedTotalJournalWriteFailures:0,emittedJournalDegraded:!1};function xDe(e){return e.activeTurns.map(t=>({candidateTurnId:t.turnId,candidateSourceSeq:t.sourceSeq,sinceMs:t.startedAtMs,buffered:!1,candidateLastActivityAtMs:t.lastActivityAtMs,candidateLastActivityKind:t.lastActivityKind,candidateOpenItems:t.openItems})).concat(e.bufferedTurns.map(t=>({candidateTurnId:t.turnId,candidateSourceSeq:void 0,sinceMs:t.firstBufferedAtMs,buffered:!0,candidateLastActivityAtMs:t.lastActivityAtMs,candidateLastActivityKind:t.lastActivityKind,candidateOpenItems:t.openItems})))}function SDe(e){return nt(e,void 0,(t,r)=>t!==void 0&&t<=r.startedAtMs?t:r.startedAtMs)}function TDe(e,t,r){return e.depth>0||e.paused||t.queueDepth>0||t.activeTurns.length!==0||t.bufferedTurns.length!==0||e.totalEnqueued!==r.emittedTotalEnqueued||e.totalAcked!==r.emittedTotalAcked||e.totalRetried!==r.emittedTotalRetried||e.totalDroppedBestEffort!==r.emittedTotalDroppedBestEffort||e.totalPermanentFailures!==r.emittedTotalPermanentFailures||e.totalExpiredOnRecovery!==r.emittedTotalExpiredOnRecovery||e.totalJournalWriteFailures!==r.emittedTotalJournalWriteFailures?!0:e.journalDegraded!==r.emittedJournalDegraded}function vDe(e){return nt(e,void 0,(t,r)=>t!==void 0&&t.startedAtMs<=r.startedAtMs?t:r)}function nj(e){return e}function ij(e){return new Set(e).values().toArray().toSorted(vc)}function Tee(e){let t=v(e.now,()=>Date.now()),r=v(e.intervalMs,3e4),n=v(e.turnStalledThresholdMs,bDe),i={contents:yDe},o=new Set,a=new Set,s={contents:!1},l=(c,f,h,m)=>{let p=new Set(c.map(_=>_.candidateTurnId));o.values().toArray().forEach(_=>{if(!p.has(_)){o.delete(_);return}}),a.values().toArray().forEach(_=>{if(!p.has(_)){a.delete(_);return}}),c.forEach(_=>{let g=Math.max(0,m-_.sinceMs),b=Math.max(_.sinceMs,v(_.candidateLastActivityAtMs,_.sinceMs)),y=Math.max(0,m-b),S=ij(h.filter(P=>P.waitTurnId===_.candidateTurnId).map(P=>P.waitKind));if(S.length===0){a.delete(_.candidateTurnId);let P=_.candidateOpenItems.length!==0?n*2:n;if(!(y>=P&&!o.has(_.candidateTurnId)))return;let C=SDe(_.candidateOpenItems);o.add(_.candidateTurnId);let k=_.candidateSourceSeq,$=_.candidateLastActivityKind,V=_.candidateLastActivityAtMs,F=f.oldestEntryAgeMs;return e.log("pipeline.turn_stalled",Object.fromEntries([["level","warn"],["thread_key",e.threadKey],["turn_id",_.candidateTurnId],["source_seq",k!==void 0?k:null],["buffered",_.buffered],["turn_age_ms",g],["quiet_ms",y],["last_activity_kind",$!==void 0?$:null],["last_activity_age_ms",V!==void 0?Math.max(0,m-V):null],["threshold_ms",n],["effective_threshold_ms",P],["open_item_count",_.candidateOpenItems.length],["open_item_kinds",ij(_.candidateOpenItems.map(D=>D.kind)).map(nj)],["open_item_oldest_age_ms",C!==void 0?Math.max(0,m-C):null],["outbox_depth",f.depth],["oldest_entry_age_ms",F!==void 0?F:null],["paused",f.paused]]))}if(!(y>=n&&!a.has(_.candidateTurnId)))return;a.add(_.candidateTurnId);let T=_.candidateSourceSeq,w=_.candidateLastActivityKind,A=_.candidateLastActivityAtMs;e.log("pipeline.turn_waiting_on_user",Object.fromEntries([["thread_key",e.threadKey],["turn_id",_.candidateTurnId],["source_seq",T!==void 0?T:null],["buffered",_.buffered],["turn_age_ms",g],["quiet_ms",y],["last_activity_kind",w!==void 0?w:null],["last_activity_age_ms",A!==void 0?Math.max(0,m-A):null],["threshold_ms",n],["wait_kinds",S.map(nj)],["open_item_count",_.candidateOpenItems.length],["open_item_kinds",ij(_.candidateOpenItems.map(P=>P.kind)).map(nj)]]))})},d=()=>{if(s.contents)return;let c;try{let S=e.turnWaitStates;c=[e.outboxMetrics(),e.loopMetrics(),S!==void 0?S():[]]}catch(S){let T=N(S);e.log("pipeline.stats_sample_failed",Object.fromEntries([["thread_key",e.threadKey],["message",Ap(T)]])),c=void 0}if(c===void 0)return;let f=c[1],h=c[0],m=t();if(l(xDe(f),h,c[2],m),!TDe(h,f,i.contents))return;let p=vDe(f.activeTurns),_=h.oldestEntryAgeMs,g=h.pushLatency,b=h.pushLatency,y=h.pushLatency;e.log("pipeline.stats",Object.fromEntries([["thread_key",e.threadKey],["outbox_depth",h.depth],["oldest_entry_age_ms",_!==void 0?_:null],["total_enqueued",h.totalEnqueued],["total_acked",h.totalAcked],["total_retried",h.totalRetried],["total_dropped_best_effort",h.totalDroppedBestEffort],["total_permanent_failures",h.totalPermanentFailures],["total_expired_on_recovery",h.totalExpiredOnRecovery],["total_journal_write_failures",h.totalJournalWriteFailures],["journal_degraded",h.journalDegraded],["push_latency_p50_ms",g!==void 0?g.p50Ms:null],["push_latency_p95_ms",b!==void 0?b.p95Ms:null],["push_latency_max_ms",y!==void 0?y.maxMs:null],["push_latency_window_acked",v(z(h.pushLatency,S=>S.ackedInWindow),0)],["paused",h.paused],["loop_queue_depth",f.queueDepth],["loop_phase",f.phase],["active_turn_count",f.activeTurns.length],["buffered_turn_count",f.bufferedTurns.length],["active_turn_id",p!==void 0?p.turnId:null],["active_turn_source_seq",p!==void 0?p.sourceSeq:null],["active_turn_age_ms",p!==void 0?Math.max(0,m-p.startedAtMs):null]])),i.contents={emittedTotalEnqueued:h.totalEnqueued,emittedTotalAcked:h.totalAcked,emittedTotalRetried:h.totalRetried,emittedTotalDroppedBestEffort:h.totalDroppedBestEffort,emittedTotalPermanentFailures:h.totalPermanentFailures,emittedTotalExpiredOnRecovery:h.totalExpiredOnRecovery,emittedTotalJournalWriteFailures:h.totalJournalWriteFailures,emittedJournalDegraded:h.journalDegraded}},u;if(r>0){let c=setInterval(d,r);c.unref(),u=ve(c)}else u=void 0;return{sample:d,stop:()=>{if(s.contents=!0,u!==void 0){clearInterval(ce(u));return}}}}var ADe=Va(e=>({decision:e.m(B),label:e.m(B),description:e.m(Z(B))})),kDe=Va(e=>({decision:e.m(B)})),CDe=Va(e=>({status:e.m(B),response:e.m(Ti)})),ODe=vm("terminal"),EDe=Jh([vm("interrupted"),vm("processed"),vm("failed"),vm("ignored"),vm("stop_failed")]),PDe=Va(e=>({disposition:e.m(ODe),thread_id:e.m(B),seq:e.m(Cr),status:e.m(EDe),reason:e.m(go(B))}));function vee(e,t,r){let n=Kl(r,CDe);if(n.TAG!=="Ok")return{TAG:"RetryReplacementConsensus",_0:n._0.summary};let i=n._0,o=i.response,a=i.status;if(a!=="ok")return{TAG:"RetryReplacementConsensus",_0:"message_state acknowledgement status was not ok: "+a};if(typeof o!="object"||o===null||Array.isArray(o))return{TAG:"RetryReplacementConsensus",_0:"message_state success envelope response was not an object"};let s=o.message_state;if(s===void 0)return"AcceptReplacementConsensus";let l=Kl(s,PDe);if(l.TAG!=="Ok")return{TAG:"RetryReplacementConsensus",_0:l._0.summary};let d=l._0,u=d.thread_id.trim()===e,c=d.seq===t;return u&&c?"AcceptReplacementConsensus":{TAG:"RetryReplacementConsensus",_0:"terminal message_state consensus identity mismatch"}}var GDe=Va(e=>({approval_request_id:e.m(B),approval_kind:e.m(B),approval_summary:e.m(B),approval_reason:e.m(Z(B)),approval_port:e.m(Z(Cr)),approval_pid:e.m(Z(Cr)),approval_command:e.m(Z(B)),approval_cwd:e.m(Z(B)),approval_process_name:e.m(Z(B)),approval_process_icon_key:e.m(Z(B)),approval_process_icon_path:e.m(Z(B)),approval_choices:e.m(Z(Vo(ADe))),approval_allowed_actor_slug:e.m(Z(B)),approval_allowed_actor_user_id:e.m(Z(Cr))}));function RDe(e){return{approval_request_id:e.requestId,approval_kind:e.kind,approval_summary:e.summary,approval_reason:e.reason,approval_port:e.port,approval_pid:e.pid,approval_command:e.command,approval_cwd:e.cwd,approval_process_name:e.processName,approval_process_icon_key:e.processIconKey,approval_process_icon_path:e.processIconPath,approval_choices:z(e.choices,t=>t.map(r=>({decision:r.decision,label:r.label,description:r.description}))),approval_allowed_actor_slug:e.allowedActorSlug,approval_allowed_actor_user_id:e.allowedActorUserId}}function wee(e){let t={decision:e.decision};return Zh(t,kDe)}function Aee(e){let t=Zh(RDe(e),GDe);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0;return typeof r=="object"&&r!==null&&!Array.isArray(r)?{TAG:"Ok",_0:r}:{TAG:"Error",_0:at("approval wire schema did not encode an object")}}var IDe=[1e3,5e3];function ca(e,t){return E(e[t],qr)}function wl(e,t){return E(e[t],Uo)}function k0(e,t){return E(e[t],ct)}function oj(e,t){Object.entries(t).forEach(r=>{e[r[0]]=r[1]})}function Sx(e){let t={};return oj(t,e),t}function DDe(e){let t=e.body;return typeof t=="string"?t:""}function Cee(e){return v(k0(e,"structured"),{})}function MDe(e){return e===Zu||e===mf||e===Qd?!0:e===pf}function $De(e,t){let r=ca(t,"turn_id");r!==void 0&&(e.turn_id=r);let n=ca(t,"item_key");n!==void 0&&(e.item_key=n);let i=wl(t,"delta_index");i!==void 0&&(e.delta_index=i);let o=wl(t,"stream_snapshot_index");if(o!==void 0){e.stream_snapshot_index=o;return}}function Pee(e,t,r){let n=t.traceparentForThread(r);if(n!==void 0){e.traceparent=n;return}}function jDe(e){return{build:(t,r)=>{let n=e.wire(),i=n.threadId,o=n.harnessSessionId;if(i===void 0)return{TAG:"BuildSkip",_0:"session_thread_unbound"};if(o===void 0)return{TAG:"BuildSkip",_0:"session_thread_unbound"};let a=ca(t,"client_message_id");if(a===void 0)return{TAG:"BuildSkip",_0:"missing_client_message_id"};let s=ca(t,"turn_id"),l=wl(t,"source_seq"),d={};s!==void 0&&(d.turn_id=s),d.stream_key=a;let u=k0(t,"local_runner_runtime_metadata"),c=Sx(d);u!==void 0&&oj(c,u);let f=Sx(e.rowEnvelope("codex_output",o,l,c)),h=n.rootSeq;h!==void 0&&(f.reply_to_seq=h),l!==void 0&&(f.source_message_seq=l),oj(f,d);let m=e.sandboxNetworkDenialSurfacing,p=Sx(m!==void 0&&m?LQ(Cee(t),u):Cee(t));p.stream_key=a,f.structured=p;let _={};_.workspace=n.workspaceSlug,_.channel=n.channelSlug,_.thread_id=i,_.stream_key=a;let g=n.leaseEpoch;return g!==void 0&&(_.lease_epoch=g),_.body=DDe(t),_.payload=f,_.client_message_id=a,$De(_,t),Pee(_,e,i),{TAG:"BuildPush",event:"session:stream_thread_message",payload:_,timeoutMs:void 0}},adjudicateReply:void 0,onReply:void 0,coalesce:void 0}}function FDe(e){return{kind:Sl,data:Object.fromEntries([["seq",e],["status","failed"],["reason","approval publication failed"],["retryable",!0],["approval_failure_consensus",!0]]),coalesceKey:void 0,resolution:"MustReachConsensus"}}function NDe(e){return{build:(t,r)=>{let n=e.wire(),i=ca(t,"turn_id"),o=ca(t,"reason"),a=wl(t,"buffered_event_count"),s=ca(t,"first_event"),l=ca(t,"last_event"),d=n.threadId,u=n.harnessSessionId;if(d!==void 0&&u!==void 0){let f=i!==void 0&&o!==void 0&&a!==void 0&&s!==void 0&&l!==void 0&&a>=0?[i,o,a,s,l]:void 0;if(f!==void 0){let m=f[1],p=f[0],_="unmapped-turn-failure:"+p,g=Object.fromEntries([["kind","agent_status_event"],["item_id",_],["transcript_unit_id","agent_status_event:"+_],["stream_state","completed"],["event_kind","status"],["title","Response delivery failed"],["body",m],["severity","error"],["agent_provider","codex"],["occurred_at_ms",null],["raw_provider_metadata",Object.fromEntries([["turn_id",p],["buffered_event_count",f[2]],["first_event",f[3]],["last_event",f[4]]])]]),b=e.rowEnvelope("unmapped_turn_failure",u,void 0,Object.fromEntries([["turn_id",p]]));return b.structured=g,{TAG:"BuildPush",event:"session:post_thread_message",payload:Object.fromEntries([["workspace",n.workspaceSlug],["channel",n.channelSlug],["thread_id",d],["body",m],["payload",b],["client_message_id",_],["turn_id",p]]),timeoutMs:void 0}}let h=e.log;return h!==void 0&&h("pipeline.unmapped_turn_failure_build_failed",Object.fromEntries([["level","error"],["turn_id",rt(i,null,m=>m)],["missing_reason",Bn(o)],["buffered_event_count",rt(a,null,m=>m)],["first_event",rt(s,null,m=>m)],["last_event",rt(l,null,m=>m)]])),{TAG:"BuildSkip",_0:"malformed_unmapped_turn_failure"}}let c=e.log;return c!==void 0&&c("pipeline.unmapped_turn_failure_build_failed",Object.fromEntries([["level","error"],["turn_id",rt(i,null,f=>f)],["missing_kandan_thread_id",Bn(n.threadId)],["missing_codex_thread_id",Bn(n.harnessSessionId)]])),{TAG:"BuildSkip",_0:"session_thread_unbound"}},adjudicateReply:void 0,onReply:void 0,coalesce:void 0}}var qDe="message_state";function zDe(e){return{build:(t,r)=>{let n=e.wire(),i=n.threadId;if(i===void 0)return{TAG:"BuildSkip",_0:"session_thread_unbound"};let o=wl(t,"seq"),a=ca(t,"status");if(o===void 0)return{TAG:"BuildSkip",_0:"malformed_message_state_entry"};if(a===void 0)return{TAG:"BuildSkip",_0:"malformed_message_state_entry"};let s=J(t.suppress_terminal_for_recovered_turn,!0),l=ca(t,"turn_id"),d=e.isRecoveredTurn,u=l!==void 0&&d!==void 0?d(l)===!0:!1;if(s||u)return{TAG:"BuildSkip",_0:"terminal_for_recovered_turn"};let c={};c.workspace=n.workspaceSlug,c.channel=n.channelSlug,c.thread_id=i,c.instance_id=e.instanceId;let f=n.harnessSessionId;f!==void 0&&(c.codex_thread_id=f);let h=n.agentProvider;h!==void 0&&(c.agent_provider=h),c.seq=o,c.status=a;let m=ca(t,"reason");m!==void 0&&(c.reason=m);let p=t.retryable;typeof p=="boolean"&&p&&(c.retryable=!0);let _=t.fate;typeof _=="string"&&It(Ny(_))&&(c.fate=_);let g=k0(t,"ladder");g!==void 0&&(c.ladder=g);let b=t.failure_class;if(typeof b=="string")switch(b){case"claude_oauth_expired":c.failure_class="claude_oauth_expired";break;case"edge_blocked":c.failure_class="edge_blocked";break}let y=ca(t,"upstream_error");y!==void 0&&(c.upstream_error=y),["approval_request_id","approval_kind","approval_summary","approval_reason","approval_port","approval_pid","approval_command","approval_cwd","approval_process_name","approval_process_icon_key","approval_process_icon_path","approval_choices","approval_allowed_actor_slug","approval_allowed_actor_user_id"].forEach(w=>{let A=t[w];if(A!==void 0){c[w]=A;return}});let S=ca(t,"turn_id");S!==void 0&&(c.turn_id=S);let T=n.leaseEpoch;return T!==void 0&&(c.lease_epoch=T),Pee(c,e,i),{TAG:"BuildPush",event:qDe,payload:c,timeoutMs:void 0}},adjudicateReply:(t,r,n)=>{let i=wl(t,"seq"),o=e.wire().threadId,a=t.approval_failure_consensus;if(i!==void 0&&o!==void 0){if(a===void 0||typeof a!="boolean"||!a)return"AcceptReply";let s=vee(o,i,r);return typeof s!="object"?"AcceptReply":{TAG:"RetryReply",_0:s._0}}return a===!0?{TAG:"RetryReply",_0:"approval failure consensus identity was unavailable"}:"AcceptReply"},onReply:void 0,coalesce:void 0}}function LDe(e){return{build:(t,r)=>{let n=wl(t,"session_id");if(n!==void 0&&oM(n))return{TAG:"BuildSkip",_0:"adt_generation_fenced"};let i={},o=a=>{i[a]=v(t[a],null)};return o("session_id"),o("lease_epoch"),o("frame_index"),o("frame_kind"),o("body"),o("byte_len"),{TAG:"BuildPush",event:QK,payload:i,timeoutMs:void 0}},adjudicateReply:void 0,onReply:(t,r,n)=>{let i;if(typeof r=="object"&&r!==null&&!Array.isArray(r)){let c=r.status,f=r.response;i=typeof c=="string"&&typeof f=="object"&&f!==null&&!Array.isArray(f)?f:r}else i=void 0;let o;if(i!==void 0){let c=i.adt;o=typeof c=="object"&&c!==null&&!Array.isArray(c)?c:void 0}else o=void 0;if(o===void 0)return;let a=wl(t,"session_id"),s=(c,f)=>{let h=e.log;if(h!==void 0)return h(c,Object.fromEntries(f))},l=c=>c!==void 0?c:null;if(o.accepted===!1){let c=zK(o.reason);if(s("adt.append_rejected",[["session_id",l(a)],["presented_epoch",l(wl(t,"lease_epoch"))],["frame_index",l(wl(t,"frame_index"))],["reason",rM(c)]]),a===void 0)return;KK(a);let f=E(e.wire().threadId,iM);return f!==void 0&&f.binding.sessionId===a&&UK(f.emitter),s("adt.generation_fenced",[["session_id",a],["reason",rM(c)]])}if(o.duplicate===!0)return s("adt.frame_resend_accepted",[["session_id",l(a)],["frame_index",l(wl(t,"frame_index"))]])},coalesce:void 0}}function UDe(e){let t=jDe(e);return Object.fromEntries([[Zu,t],[mf,t],[Qd,t],[pf,t],[Sl,zDe(e)],[sk,NDe(e)],[aM,LDe(e)]])}function Gee(e,t){if(e.error!==void 0)return[];let n=E(k0(e,"result"),a=>k0(a,"thread")),i=v(E(E(n,a=>a.turns),Bl),[]),o=Fe(i,ct).find(a=>{let s=a.id;return typeof s=="string"?s===t:!1});return Fe(v(E(E(o,a=>a.items),Bl),[]),ct)}var XVe=new RegExp("^item-\\d+$");var Lk=cX;function BDe(e){return new Promise((t,r)=>{setTimeout(()=>t(),e|0)})}function Oee(e){let t=St(e);return t!==void 0?v(At(ce(t)),"unknown error"):"unknown error"}function Eee(e){return e!==void 0?e:null}function Uk(e){let t=UDe({instanceId:e.instanceId,wire:e.wire,rowEnvelope:e.rowEnvelope,isRecoveredTurn:e.isRecoveredTurn,traceparentForThread:e.traceparentForThread,log:e.log,sandboxNetworkDenialSurfacing:e.sandboxNetworkDenialSurfacing}),r=yee({threadKey:e.threadKey,push:e.push,builders:t,persistDir:e.persistDir,retryDelaysMs:z(e.outboxRetryDelaysMs,g=>g.slice()),onPermanentFailure:(g,b)=>e.log("pipeline.outbox_entry_failed",Object.fromEntries([["thread_key",e.threadKey],["entry_seq",g.entrySeq],["kind",g.kind],["attempts",g.attempts],["item_key",Eee(ca(g.data,"item_key"))],["turn_id",Eee(ca(g.data,"turn_id"))],["message",b]])),log:e.log,now:void 0,maxInFlightPushes:v(e.outboxMaxInFlightPushes,16),journalCompactionThreshold:void 0,journalRecoveryMaxAgeMs:e.journalRecoveryMaxAgeMs}),n=g=>{let b=!1;if(g.kind===Sl){let A=ca(g.data,"turn_id"),P=e.isRecoveredTurn;b=A!==void 0&&P!==void 0?P(A)===!0:!1}if(b){let A=Sx(g.data);return A.suppress_terminal_for_recovered_turn=!0,{kind:g.kind,data:A,coalesceKey:g.coalesceKey,resolution:g.resolution}}if(!MDe(g.kind))return g;let y=wl(g.data,"source_seq"),S=k0(g.data,"local_runner_runtime_metadata"),T=S!==void 0?S:E(e.runtimeMetadataForSourceSeq,A=>A(y));if(T===void 0)return g;let w=Sx(g.data);return w.local_runner_runtime_metadata=T,{kind:g.kind,data:w,coalesceKey:g.coalesceKey,resolution:g.resolution}},i=g=>{let b=r.enqueue(n(g));if(b.TAG==="Ok")return{TAG:"Ok",_0:b._0};let y=b._0;try{e.log("pipeline.loop.effect_failed",Object.fromEntries([["thread_key",e.threadKey],["effect","enqueue"],["message",y]]))}catch{}return{TAG:"Error",_0:y}},o={postStreamedRow:Zu,streamSnapshot:mf,finalizeRow:Qd,postCompletedRow:pf,messageState:Sl},a=g=>{let b=r.enqueue({kind:aM,data:qK(g),coalesceKey:void 0,resolution:"MustAck"});if(b.TAG!=="Ok")try{return e.log("pipeline.loop.effect_failed",Object.fromEntries([["thread_key",e.threadKey],["effect","enqueue"],["message",b._0]]))}catch{return}},s=g=>{let b=e.wire().threadId,y=E(b,iM);if(y===void 0)return i(g);let S=WK(y,g.kind,g.data,Date.now(),o);if(g.kind===Sl){S.forEach(a);let w=i(g);return y.done&&b!==void 0&&VK(b,y),w}let T=i(g);return S.forEach(a),T},l=new Map,d=g=>{let b=s(g),y=g.kind===Sl,S=ca(g.data,"turn_id");if(b.TAG==="Ok")if(y&&S!==void 0){l.set(S,r.awaitEntryAcknowledgement(b._0));return}else return;else if(y&&S!==void 0){l.set(S,Promise.resolve({TAG:"Error",_0:b._0}));return}else return},u={contents:void 0},c=g=>{let b=u.contents;if(b!==void 0)return b.submit(g)},f=v(e.sleep,BDe),h=async g=>{let b=v(e.snapshotRetryDelaysMs,IDe),y=0,S=!1;for(;!S;){let T;try{T=await e.resolveSnapshot(g)}catch(w){let A=N(w);T={TAG:"Error",_0:Oee(A)}}if(T.TAG==="Ok")c({TAG:"CompletionSnapshot",turnId:g,snapshot:Object.fromEntries([["items",T._0.slice()]])}),S=!0;else{let w=T._0,A=b[y];e.log("pipeline.snapshot_resolution_failed",Object.fromEntries([["thread_key",e.threadKey],["turn_id",g],["attempt",y+1|0],["retry_in_ms",A!==void 0?A:null],["message",w]])),A!==void 0?(await f(A),y=y+1|0):(c({TAG:"HarnessNotification",_0:{method:"turn/failed",params:Object.fromEntries([["turnId",g],["reason","completion snapshot resolution failed: "+w]])}}),S=!0)}}},m=xee({threadKey:e.threadKey,instanceId:e.instanceId,outboxEnqueue:d,outboxFlush:g=>r.flush(g),sourceSeqForTurn:e.sourceSeqForTurn,autoRetryAttemptsForSeq:e.autoRetryAttemptsForSeq,midStreamResumeAttemptAtMsForSeq:e.midStreamResumeAttemptAtMsForSeq,freshSessionResumeAttemptAtMsForSeq:e.freshSessionResumeAttemptAtMsForSeq,ladderHistoryForSeq:e.ladderHistoryForSeq,sessionExecutesRecoveryGrants:e.sessionExecutesRecoveryGrants,onTurnTerminal:e.onTurnTerminal,requestSnapshot:g=>{Fr(h(g),b=>(e.log("pipeline.snapshot_request_failed",Object.fromEntries([["thread_key",e.threadKey],["turn_id",g],["message",Oee(b)]])),Promise.resolve()))},log:e.log,linzumiAgentSession:e.linzumiAgentSession===!0,now:void 0,bufferedTurnMaxAgeMs:void 0,bufferedTurnMaxEvents:void 0,bufferedTurnSweepIntervalMs:void 0});u.contents=m;let p=Tee({threadKey:e.threadKey,outboxMetrics:()=>r.metrics(),loopMetrics:()=>m.metrics(),log:e.log,intervalMs:e.statsIntervalMs,turnStalledThresholdMs:e.turnStalledThresholdMs,turnWaitStates:e.turnWaitStates,now:void 0}),_={contents:void 0};return{submitNotification:(g,b)=>m.submit({TAG:"HarnessNotification",_0:{method:g,params:b}}),notifyTurnMappingReady:g=>m.submit({TAG:"HarnessNotification",_0:{method:bx,params:Object.fromEntries([["turnId",g]])}}),notifyTurnMappingFailed:(g,b)=>m.submit({TAG:"HarnessNotification",_0:{method:A0,params:Object.fromEntries([["turnId",g],["reason",b]])}}),noteTurnActivity:(g,b)=>m.noteTurnActivity(g,b),submitLifecycle:(g,b)=>m.submit({TAG:"Lifecycle",kind:g,reason:b}),pause:()=>r.pause(),resume:()=>r.resume(),rebindThreadKey:g=>r.rekeyJournal(g),enqueueStreamThreadMessage:async(g,b,y,S)=>{let T=Object.fromEntries([["client_message_id",g],["source_seq",b],["body",y],["structured",S]]),A=s({kind:Zu,data:T,coalesceKey:void 0,resolution:"MustAck"});return A.TAG==="Ok"?await r.awaitEntryAcknowledgement(A._0):{TAG:"Error",_0:A._0}},enqueueApprovalFailureMessageState:async g=>{let b=s(FDe(g));return b.TAG==="Ok"?await r.awaitEnqueuePersistence(b._0):{TAG:"Error",_0:b._0}},awaitLatestMessageStateAcknowledgementForTurn:g=>{let b=l.get(g);return b!==void 0?(l.delete(g),b):Promise.resolve({TAG:"Error",_0:"turn "+g+" has no message-state enqueue awaiting acknowledgement"})},flushOutbox:g=>r.flush(g),metrics:()=>r.metrics(),close:g=>{let b=_.contents;if(b!==void 0)return b;let y=(async()=>(p.stop(),m.submit({TAG:"Lifecycle",kind:"shutdown",reason:"session closed"}),await m.drainAndClose(g),await r.close(g)))();return _.contents=y,y}}}function Ree(){return{nextAttemptToken:1,phase:"Idle"}}function WDe(e){if(typeof e=="object")switch(e.TAG){case"StoppingStartup":return e._0.starting.attemptToken;case"StoppingRunning":return e._0.running.attemptToken;case"PublishingTerminal":let t=e._0.owner;return t.TAG==="StartupStopOwner"?t._0.starting.attemptToken:t._0.running.attemptToken;default:return e._0.attemptToken}}function sj(e){let t=e.phase,r,n;if(typeof t=="object"){switch(t.TAG){case"Running":return t._0;case"StoppingStartup":let i=t._0,o=i.stage;if(typeof o!="object")return;r=i.starting,n=o._0.turnId;break;case"StoppingRunning":return t._0.running;case"PublishingTerminal":let a=t._0.owner;if(a.TAG!=="StartupStopOwner")return a._0.running;let s=a._0,l=s.lateTurnId;if(l===void 0)return;r=s.starting,n=l;break;default:return}return{attemptToken:r.attemptToken,sourceSeq:r.sourceSeq,message:r.message,turnId:n}}}function Wk(e){let t=e.phase;if(typeof t=="object")switch(t.TAG){case"StoppingStartup":let r=t._0,n=r.stage,i=r.starting;return typeof n!="object"?{TAG:"StopTerminalAwaitingMapping",attemptToken:i.attemptToken,message:i.message}:{TAG:"StopTerminalMapped",running:{attemptToken:i.attemptToken,sourceSeq:i.sourceSeq,message:i.message,turnId:n._0.turnId},completionMayWin:!0};case"StoppingRunning":let o=t._0,a=o.running;return o.stage==="RequestingInterrupt"?{TAG:"StopTerminalMapped",running:a,completionMayWin:!0}:{TAG:"StopTerminalMapped",running:a,completionMayWin:!1};case"PublishingTerminal":let s=t._0.owner;if(s.TAG!=="StartupStopOwner")return{TAG:"StopTerminalMapped",running:s._0.running,completionMayWin:!1};let l=s._0,d=l.lateTurnId,u=l.starting;return d!==void 0?{TAG:"StopTerminalMapped",running:{attemptToken:u.attemptToken,sourceSeq:u.sourceSeq,message:u.message,turnId:d},completionMayWin:!1}:{TAG:"StopTerminalAwaitingMapping",attemptToken:u.attemptToken,message:u.message};default:return}}function Iee(e,t){return t!==void 0?t===e:!0}function Hk(e){return typeof e.phase=="object"}function Tf(e,t){let r=e.phase;if(typeof r!="object")return!1;switch(r.TAG){case"StoppingStartup":return r._0.starting.attemptToken===t;case"StoppingRunning":return r._0.running.attemptToken===t;case"PublishingTerminal":let n=r._0.owner;return n.TAG==="StartupStopOwner"?n._0.starting.attemptToken===t:n._0.running.attemptToken===t;case"SettlementAwaitingDispatchRelease":let i=r._0;return i.owner==="OrdinarySettlement"?!1:i.attemptToken===t;case"ClosingAfterUnconfirmedStop":return r._0.attemptToken===t;default:return!1}}function HDe(e){if(typeof e!="object")return"stop_requested";switch(e.TAG){case"BeginDispatch":return"begin_dispatch";case"StartupAccepted":return"startup_accepted";case"StartupTerminal":return"startup_terminal";case"StartupFailed":return"startup_failed";case"StartSucceeded":return"start_succeeded";case"StartFailed":return"start_failed";case"BufferStartingPaint":return"buffer_starting_paint";case"RunningTerminalObserved":return"running_terminal_observed";case"InterruptSucceeded":return"interrupt_succeeded";case"InterruptFailed":return"interrupt_failed";case"StreamObserved":return"stream_observed";case"QuietConfirmed":return"quiet_confirmed";case"StopDeadlineElapsed":return"stop_deadline_elapsed";case"TerminalPublicationSettled":return"terminal_publication_settled";case"ProviderTerminalObserved":return"provider_terminal_observed";case"ProviderTerminalInvalid":return"provider_terminal_invalid";case"DispatchReleased":return"dispatch_released";case"HarnessClosed":return"harness_closed"}}function Dee(e){if(typeof e=="object")switch(e.TAG){case"BeginDispatch":return;case"BufferStartingPaint":case"StopDeadlineElapsed":case"DispatchReleased":return e._0.attemptToken;default:return e.attemptToken}}function wn(e,t,r){return{state:e,effects:[],diagnostics:[{kind:r,event:HDe(t),attemptToken:Dee(t)}]}}function Bk(e,t,r){let i=(r?["AdoptProviderTerminal"]:["AdoptDurableTerminal"]).concat(["ClearTurnPresentation",{TAG:"ResolveStop",_0:{resolution:"StopSucceeded"}},"DispatchSettled"]);return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"SettlementAwaitingDispatchRelease",_0:{attemptToken:t,pickupRequest:"PickupOldestParkedRequested",owner:"StopSettlement"}}},effects:i,diagnostics:[]}}function Al(e,t,r){return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"ClosingAfterUnconfirmedStop",_0:{attemptToken:t}}},effects:[{TAG:"CloseAndReapHarness",_0:{attemptToken:t}},{TAG:"ResolveStop",_0:{resolution:{TAG:"StopFailed",_0:r}}}],diagnostics:[]}}function lj(e,t){let r=WDe(e.phase),n=Dee(t);if(r!==void 0?n!==void 0?r!==n:!1:n!==void 0)return wn(e,t,"StaleEvent");let o=e.phase;if(typeof o!="object"){if(typeof t!="object")return{state:e,effects:["StopUnavailable"],diagnostics:[]};if(t.TAG!=="BeginDispatch")return wn(e,t,"UnexpectedEvent");let a=e.nextAttemptToken;return{state:{nextAttemptToken:a+1|0,phase:{TAG:"Starting",_0:{attemptToken:a,sourceSeq:t.sourceSeq,message:t.message,stage:"Preparing",pendingPaints:[]}}},effects:[],diagnostics:[]}}else switch(o.TAG){case"Starting":let a=o._0;if(typeof t!="object"){if(a.stage!=="Preparing")return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"StoppingStartup",_0:{starting:a,stage:"FencingStartup"}}},effects:[{TAG:"ArmStopDeadline",_0:{attemptToken:a.attemptToken}},"ClearTurnPresentation","DiscardStoppedCandidate"],diagnostics:[]};let m={TAG:"StartupStopOwner",_0:{starting:a,lateTurnId:void 0}};return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"PublishingTerminal",_0:{owner:m}}},effects:[{TAG:"ArmStopDeadline",_0:{attemptToken:a.attemptToken}},"ClearTurnPresentation","DiscardStoppedCandidate","PublishInterruptedConsensus"],diagnostics:[]}}switch(t.TAG){case"StartupAccepted":if(a.stage!=="Preparing")return wn(e,t,"UnexpectedEvent");let m=a.attemptToken,p=a.sourceSeq,_=a.message,g=a.pendingPaints,b={attemptToken:m,sourceSeq:p,message:_,stage:"StartRequestInFlight",pendingPaints:g};return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"Starting",_0:b}},effects:[{TAG:"RequestTurnStart",_0:b}],diagnostics:[]};case"StartupTerminal":return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"SettlementAwaitingDispatchRelease",_0:{attemptToken:a.attemptToken,pickupRequest:"PickupOldestParkedRequested",owner:"OrdinarySettlement"}}},effects:["AdoptDurableTerminal","DispatchSettled"],diagnostics:[]};case"StartupFailed":return a.stage==="Preparing"?{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"SettlementAwaitingDispatchRelease",_0:{attemptToken:a.attemptToken,pickupRequest:"PickupOldestParkedRequested",owner:"OrdinarySettlement"}}},effects:["DispatchSettled"],diagnostics:[]}:wn(e,t,"UnexpectedEvent");case"StartSucceeded":let S=t.turnId;if(a.stage==="Preparing")return wn(e,t,"UnexpectedEvent");let w=a.attemptToken,A=a.sourceSeq,P=a.message,C={attemptToken:w,sourceSeq:A,message:P,turnId:S};return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"Running",_0:C}},effects:[{TAG:"ReplayStartingPaints",_0:{turnId:S,paints:a.pendingPaints}},{TAG:"NotifyTurnMappingReady",_0:{turnId:S}}],diagnostics:[]};case"StartFailed":return a.stage==="Preparing"?wn(e,t,"UnexpectedEvent"):{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"SettlementAwaitingDispatchRelease",_0:{attemptToken:a.attemptToken,pickupRequest:"PickupOldestParkedRequested",owner:"OrdinarySettlement"}}},effects:["DispatchSettled"],diagnostics:[]};case"BufferStartingPaint":let $=t._0.paint,V=a.pendingPaints.at(-1),F=V!==void 0?V.paintTurnId===$.paintTurnId&&V.reason===$.reason?a.pendingPaints:a.pendingPaints.concat([$]):[$];return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"Starting",_0:{attemptToken:a.attemptToken,sourceSeq:a.sourceSeq,message:a.message,stage:a.stage,pendingPaints:F}}},effects:[],diagnostics:[]};default:return wn(e,t,"UnexpectedEvent")}case"Running":let s=o._0;return typeof t!="object"?{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"StoppingRunning",_0:{running:s,stage:"RequestingInterrupt"}}},effects:[{TAG:"RequestInterrupt",_0:{turnId:s.turnId}},{TAG:"ArmStopDeadline",_0:{attemptToken:s.attemptToken}},{TAG:"DrainApprovals",_0:{turnId:s.turnId}}],diagnostics:[]}:t.TAG==="RunningTerminalObserved"&&s.turnId===t.turnId?{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"SettlementAwaitingDispatchRelease",_0:{attemptToken:s.attemptToken,pickupRequest:t.pickupRequest,owner:"OrdinarySettlement"}}},effects:["DispatchSettled"],diagnostics:[]}:wn(e,t,"UnexpectedEvent");case"StoppingStartup":let l=o._0;if(typeof t!="object")return{state:e,effects:["StopAlreadyInProgress"],diagnostics:[]};switch(t.TAG){case"StartupAccepted":let h=l.stage,m=l.starting.stage;if(typeof h=="object"||m!=="Preparing")return wn(e,t,"UnexpectedEvent");let p={TAG:"StartupStopOwner",_0:{starting:l.starting,lateTurnId:void 0}};return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"PublishingTerminal",_0:{owner:p}}},effects:["PublishInterruptedConsensus"],diagnostics:[]};case"StartupTerminal":return Bk(e,l.starting.attemptToken,!1);case"StartupFailed":let _=l.stage,g=l.starting.stage;if(typeof _=="object"||g!=="Preparing")return wn(e,t,"UnexpectedEvent");let b={TAG:"StartupStopOwner",_0:{starting:l.starting,lateTurnId:void 0}};return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"PublishingTerminal",_0:{owner:b}}},effects:["PublishInterruptedConsensus"],diagnostics:[]};case"StartSucceeded":let y=t.turnId,S=l.stage,T=l.starting.stage;return typeof S!="object"&&T!=="Preparing"?{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"StoppingStartup",_0:{starting:l.starting,stage:{TAG:"InterruptingLateStart",_0:{turnId:y}}}}},effects:[{TAG:"NotifyTurnMappingReady",_0:{turnId:y}},{TAG:"RequestInterrupt",_0:{turnId:y}}],diagnostics:[]}:wn(e,t,"UnexpectedEvent");case"StartFailed":let w=l.stage,A=l.starting.stage;if(typeof w=="object"||A==="Preparing")return wn(e,t,"UnexpectedEvent");let P={TAG:"StartupStopOwner",_0:{starting:l.starting,lateTurnId:void 0}};return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"PublishingTerminal",_0:{owner:P}}},effects:["PublishInterruptedConsensus"],diagnostics:[]};case"InterruptSucceeded":let C=t.turnId,k=l.stage;if(typeof k!="object"||k._0.turnId!==C)return wn(e,t,"UnexpectedEvent");let $={TAG:"StartupStopOwner",_0:{starting:l.starting,lateTurnId:C}};return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"PublishingTerminal",_0:{owner:$}}},effects:["PublishInterruptedConsensus"],diagnostics:[]};case"InterruptFailed":let V=l.stage;return typeof V!="object"||V._0.turnId!==t.turnId?wn(e,t,"UnexpectedEvent"):Al(e,l.starting.attemptToken,t.message);case"StopDeadlineElapsed":return Al(e,l.starting.attemptToken,"stop_turn_halt_unconfirmed");case"ProviderTerminalObserved":let F=t.turnId,D=l.stage;if(typeof D!="object")return wn(e,t,"UnexpectedEvent");let q=D._0.turnId;switch(t.terminal){case"ProviderCompleted":return q===F?Bk(e,l.starting.attemptToken,!0):wn(e,t,"UnexpectedEvent");case"ProviderFailed":case"ProviderInterrupted":break}if(q!==F)return wn(e,t,"UnexpectedEvent");let re={TAG:"StartupStopOwner",_0:{starting:l.starting,lateTurnId:F}};return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"PublishingTerminal",_0:{owner:re}}},effects:["PublishInterruptedConsensus"],diagnostics:[]};case"ProviderTerminalInvalid":return Al(e,l.starting.attemptToken,t.reason);default:return wn(e,t,"UnexpectedEvent")}break;case"StoppingRunning":let d=o._0;if(typeof t!="object")return{state:e,effects:["StopAlreadyInProgress"],diagnostics:[]};switch(t.TAG){case"InterruptSucceeded":let h=d.running.turnId===t.turnId,m=d.stage;return h&&m==="RequestingInterrupt"?{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"StoppingRunning",_0:{running:d.running,stage:"ConfirmingQuiet"}}},effects:["ArmQuietCheck"],diagnostics:[]}:wn(e,t,"UnexpectedEvent");case"InterruptFailed":let p=d.running.turnId===t.turnId,_=d.stage;return p&&_==="RequestingInterrupt"?Al(e,d.running.attemptToken,t.message):wn(e,t,"UnexpectedEvent");case"StreamObserved":let g=d.running.turnId===t.turnId,b=d.stage;return g&&b!=="RequestingInterrupt"?{state:e,effects:[],diagnostics:[]}:wn(e,t,"UnexpectedEvent");case"QuietConfirmed":let y=d.running.turnId===t.turnId,S=d.stage;if(!y||S==="RequestingInterrupt")return wn(e,t,"UnexpectedEvent");let T={TAG:"RunningStopOwner",_0:{running:d.running}};return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"PublishingTerminal",_0:{owner:T}}},effects:["ClearTurnPresentation","PublishInterruptedConsensus"],diagnostics:[]};case"StopDeadlineElapsed":return Al(e,d.running.attemptToken,"stop_turn_halt_unconfirmed");case"ProviderTerminalObserved":let w=d.running.turnId===t.turnId,A=d.stage;if(!w)return wn(e,t,"UnexpectedEvent");if(A==="RequestingInterrupt")switch(t.terminal){case"ProviderCompleted":return Bk(e,d.running.attemptToken,!0);case"ProviderFailed":case"ProviderInterrupted":break}let P={TAG:"RunningStopOwner",_0:{running:d.running}};return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"PublishingTerminal",_0:{owner:P}}},effects:["ClearTurnPresentation","PublishInterruptedConsensus"],diagnostics:[]};case"ProviderTerminalInvalid":return Al(e,d.running.attemptToken,t.reason);default:return wn(e,t,"UnexpectedEvent")}break;case"PublishingTerminal":let u=o._0.owner;if(typeof t!="object")return{state:e,effects:["StopAlreadyInProgress"],diagnostics:[]};switch(t.TAG){case"StopDeadlineElapsed":return u.TAG==="StartupStopOwner"?Al(e,u._0.starting.attemptToken,"stop_turn_terminal_unconfirmed"):Al(e,u._0.running.attemptToken,"stop_turn_terminal_unconfirmed");case"TerminalPublicationSettled":let h=t.settlement,m;if(m=u.TAG==="StartupStopOwner"?u._0.starting.attemptToken:u._0.running.attemptToken,typeof h=="object")return Al(e,m,h._0);switch(h){case"InterruptedApplied":return{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"SettlementAwaitingDispatchRelease",_0:{attemptToken:m,pickupRequest:"PickupOldestParkedRequested",owner:"StopSettlement"}}},effects:[{TAG:"ResolveStop",_0:{resolution:"StopSucceeded"}},"DispatchSettled"],diagnostics:[]};case"StoredTerminal":return Bk(e,m,!1);case"PublicationUnconfirmed":return Al(e,m,"stop_turn_terminal_unconfirmed")}case"ProviderTerminalObserved":let p=t.turnId;return u.TAG==="StartupStopOwner"?J(u._0.lateTurnId,p)?{state:e,effects:[],diagnostics:[]}:wn(e,t,"UnexpectedEvent"):u._0.running.turnId===p?{state:e,effects:[],diagnostics:[]}:wn(e,t,"UnexpectedEvent");case"ProviderTerminalInvalid":let _=t.reason;return u.TAG==="StartupStopOwner"?Al(e,u._0.starting.attemptToken,_):Al(e,u._0.running.attemptToken,_);default:return wn(e,t,"UnexpectedEvent")}case"SettlementAwaitingDispatchRelease":if(typeof t!="object"||t.TAG!=="DispatchReleased")return wn(e,t,"UnexpectedEvent");let c=o._0.pickupRequest,f;return f=c==="NoPickupRequested"?[]:["PickupOldestParked"],{state:{nextAttemptToken:e.nextAttemptToken,phase:"Idle"},effects:f,diagnostics:[]};case"ClosingAfterUnconfirmedStop":return typeof t!="object"?{state:e,effects:["StopAlreadyInProgress"],diagnostics:[]}:t.TAG==="HarnessClosed"?{state:{nextAttemptToken:e.nextAttemptToken,phase:{TAG:"SettlementAwaitingDispatchRelease",_0:{attemptToken:o._0.attemptToken,pickupRequest:"PickupOldestParkedRequested",owner:"StopSettlement"}}},effects:[],diagnostics:[]}:wn(e,t,"UnexpectedEvent")}}function Mee(e,t){if(!t)return{state:e,effects:[],diagnostics:[]};let r=e.phase;return typeof r!="object"?{state:e,effects:[],diagnostics:[]}:r.TAG==="SettlementAwaitingDispatchRelease"?lj(e,{TAG:"DispatchReleased",_0:{attemptToken:r._0.attemptToken}}):{state:e,effects:[],diagnostics:[]}}function Zk(e){return e.split("_").map((t,r)=>r!==0?t.slice(0,1).toUpperCase()+t.slice(1,t.length):t).join("")}function Tx(e){return v(z(iT.find(t=>t[0]===e),t=>t[1]),e)}var Go=Tx("harness_session_id"),tc=Zk(Go);function ks(e,t){let r=e[t];if(typeof r=="string")return r}function fa(e){return e}function dj(e,t){let r=e[t];if(r!==void 0)switch(typeof r){case"string":return r;case"number":return isFinite(r)?r.toString():void 0;default:return}}function cj(e,t){let r=E(t.error,ct),n=E(t.item,ct),i=d=>nt(d,void 0,(u,c)=>u!==void 0?u:c),o=i([dj(t,"code"),E(r,d=>dj(d,"code")),dj(t,"status")]),a=i([ks(t,"message"),ks(t,"detail"),ks(t,"reason"),E(r,d=>ks(d,"message")),E(r,d=>ks(d,"detail")),E(r,d=>ks(d,"reason"))]),s=o!==void 0?e+" "+o:e,l=a!==void 0?a:z(E(n,d=>ks(d,"type")),d=>"item.type="+d);return z(l,d=>s+": "+d)}function KDe(e,t){switch(e){case"error":case"warning":break;default:return t}let r=cj(e,t);if(r===void 0)return t;let n={};return Object.entries(t).forEach(i=>{n[i[0]]=i[1]}),n.diagnostic_summary=r,n.diagnostic_payload=t,n.diagnostic_payload_keys=Object.keys(t).toSorted(vc).map(i=>i),n}var JDe=["When you create files that should be attached back to Linzumi, use the linzumi_upload_files MCP tool silently.","Do not mention that you are using the upload tool. Do not print an upload manifest or upload footer in the message.","The MCP upload tool is the only supported path for attaching generated files to Linzumi messages.","Attach files to the reply you already posted with target.kind=latest_assistant_message; only use new_message when you have not posted a reply yet, and never repeat your reply text as the new message body."];function ZDe(e){let t=wk(e);return t.trimStart().startsWith("!")?t:[t,""].concat(JDe).join(`
588
588
  `)}function Uee(e){let t=DM(e.approvalPolicy,e.sandbox,e.approvalContext);return t.TAG==="Ok"?t._0:"on-request"}function Qk(e){let t={approvalPolicy:Uee(e)},r=e.sandbox;r!==void 0&&(t.sandbox=r);let n=e.model;n!==void 0&&(t.model=n);let i=e.reasoningEffort;return i!==void 0&&(t.config={model_reasoning_effort:i}),J(e.fast,!0)&&(t.serviceTier="fast"),t}function QDe(e,t,r,n,i){let o={};o.threadId=e,o.input=t,o.cwd=r;let a=n.model;a!==void 0&&(o.model=a);let s=n.reasoningEffort;s!==void 0&&(o.effort=s),J(n.fast,!0)&&(o.serviceTier="fast"),o.approvalPolicy=Uee(n);let l=n.sandbox;if(l!==void 0){let d=wZ(l,r);d.TAG==="Ok"&&(o.sandboxPolicy=d._0)}return i!==void 0&&(o.collaborationMode=i),o}async function YDe(e,t,r,n){let i;try{i=await e}catch(o){let a=N(o),s=St(a);i={TAG:"Error",_0:s!==void 0?v(At(ce(s)),"unknown persistence failure"):"unknown persistence failure"}}return i.TAG==="Ok"?r(t):n(i._0)}function G0(e){let t=z(e.LINZUMI_CODEX_START_REQUEST_TIMEOUT_MS,n=>n.trim());if(t===void 0)return 12e4;let r=ei(t);return r!==void 0&&r>0?r:12e4}async function Bee(e,t,r,n,i,o,a,s,l,d){let u=await r();if(u.TAG!=="Ok")return{TAG:"Error",_0:u._0};let c=u._0,f={kandanThreadId:e,oldCodexThreadId:t,newCodexThreadId:c},h=async _=>{let g=i(f);return g.TAG==="Ok"?(await d(c),{TAG:"Error",_0:_}):(o(f),{TAG:"Error",_0:_+"; codex thread rebind rollback failed: "+g._0})},m=n(f);if(m.TAG==="Ok"){let _=await a(c);if(_.TAG!=="Ok")return await h(_._0);let g=await s(c);return g.TAG!=="Ok"?await h(g._0):(l(c),await d(t),{TAG:"Ok",_0:c})}let p=m._0;return p.freshThreadDisposition==="ArchiveUnpropagatedFreshThread"&&await d(c),{TAG:"Error",_0:p.message}}function uj(e){let t=e.includes("thread not found"),r=e.includes("invalid thread id");return t?!0:r}function XDe(e,t){let r=Uy(t.approvalPolicy,t.sandbox,t.approvalContext);if(r.TAG!=="Ok")return r;let n=t.sandbox,i;if(n!==void 0)switch(n){case"danger-full-access":i={TAG:"Ok",_0:"danger-full-access"};break;case"read-only":i={TAG:"Ok",_0:"read-only"};break;case"workspace-write":i={TAG:"Ok",_0:"workspace-write"};break;default:i={TAG:"Error",_0:"unsupported Codex sandbox mode: "+n}}else i={TAG:"Ok",_0:void 0};if(i.TAG!=="Ok")return i;let o=z(t.reasoningEffort,p=>({model_reasoning_effort:p})),a=z(t.model,p=>p),s=J(t.fast,!0)?"fast":void 0,l=ve(e.cwd),d=ve(r._0),u=z(i._0,p=>p),c=ve(YA),f=z(e.developerInstructions,p=>p);return{TAG:"Ok",_0:{model:a,serviceTier:s,cwd:l,approvalPolicy:d,sandbox:u,config:o,serviceName:c,developerInstructions:f,personality:"pragmatic"}}}function Wee(e,t,r){let n=G0(e.env);return n>0?new Promise((i,o)=>{let a=e.timers.setTimer(()=>i({TAG:"Error",_0:I$(t,n)}),n);r.then(s=>(e.timers.clearTimer(a),i(s),Promise.resolve()))}):r}async function Hee(e,t){let r=XDe(e,t);if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=await Wee(e,"thread/start",PY(e.harness,r._0));if(n.TAG!=="Ok")return{TAG:"Error",_0:"thread/start failed: "+n._0};let i=n._0;return i.TAG==="Success"?{TAG:"Ok",_0:i._0.thread.id}:{TAG:"Error",_0:"thread/start failed: "+i.message}}function fj(e,t){return{workspace:e.workspaceSlug,channel:e.channelSlug,thread_id:e.threadId,codex_thread_id:t}}async function Vee(e,t){let r=await e.transport.push(e.commanderTopic,"session:bind",fj(e,t),void 0,void 0,void 0);return r.TAG==="Ok"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:qn(r._0)}}async function Kee(e,t){let r={threadId:t},n=await Wee(e,"thread/archive",RY(e.harness,r)),i;if(n.TAG==="Ok"){let o=n._0;if(o.TAG==="Success")return e.log("codex.thread_archived",{codex_thread_id:t});i=o.message}else i=n._0;return e.log("codex.thread_archive_failed",{codex_thread_id:t,message:i})}function Vk(e,t){return t!==void 0?lt(ce(t)):e}function eMe(e,t){let r=Vk(e.sandbox,t.sandbox),n=Vk(e.approvalPolicy,t.approvalPolicy),i=Vk(e.model,t.model),o=Vk(e.reasoningEffort,t.reasoningEffort),a=t.modelProvider,s;a!==void 0?s=lt(ce(a)):s=t.model!==void 0?void 0:e.modelProvider;let d=t.model!==void 0?t.modelTransportCatalogStatus:e.modelTransportCatalogStatus,u=t.fast,c=u!==void 0?u:e.fast,f=t.allowPortForwardingByDefault,h=f!==void 0?f:e.allowPortForwardingByDefault;return Ze(JA(n,r,e.approvalContext),m=>({approvalPolicy:m,sandbox:r,approvalContext:e.approvalContext,model:i,reasoningEffort:o,modelProvider:s,modelTransportCatalogStatus:d,collaborationMode:e.collaborationMode,fast:c,allowPortForwardingByDefault:h}))}function $ee(e,t,r){e.defaults=t,e.modelAccountPreflightForTurn=r}function Jee(e,t,r){return e!==void 0?{TAG:"SequencedSettingsControl",controlSeq:e,originalProviderSessionKey:t,originalKandanThreadId:r}:"RunnerSettingsEcho"}var tMe={requestedGeneration:0,completedGeneration:0};function rMe(e){return{requestedGeneration:e.requestedGeneration+1|0,completedGeneration:e.completedGeneration}}function Zee(e,t){let r=e.requestedGeneration>e.completedGeneration;if(t&&r)return e.requestedGeneration}function nMe(e,t){return t>e.completedGeneration?{requestedGeneration:e.requestedGeneration,completedGeneration:t}:e}async function iMe(e,t,r,n){e();let i=await t();return i.TAG==="Ok"?(r(),n(),{TAG:"Ok",_0:void 0}):(n(),{TAG:"Error",_0:i._0})}function Yk(){return{state:"SettingsUpdateAvailable"}}async function kl(e,t){let r=e.state,n;if(typeof r!="object")e.state={TAG:"SettingsUpdateOwned",_0:[]},n=Promise.resolve(void 0);else{let u=r._0;n=new Promise((c,f)=>{u.push(h=>c(h))})}let i=await n,o=t();i!==void 0&&i();let a=await o,s=a[1],l=e.state;if(typeof l!="object")return{TAG:"Error",_0:"settings update serialization owner missing"};let d=l._0.shift();return d!==void 0?await new Promise((u,c)=>d(u)):e.state="SettingsUpdateAvailable",s!==void 0&&s(),a[0]}function oMe(e,t,r){return Zee(e,t)!==void 0?"PickupPendingSettingsResume":"NoSettingsResumePickup"}function Qee(e){if(typeof e!="object")return[];let t=e._0;return xl([[t.primarySourceSeq],t.additionalSourceSeqs])}function aMe(e,t){if(typeof e!="object")return{TAG:"ApprovalFailureAwaitingDurability",_0:{primarySourceSeq:t,additionalSourceSeqs:[]}};let r=e._0,n=r.additionalSourceSeqs,i=r.primarySourceSeq;return i===t||n.some(o=>o===t)?e:{TAG:"ApprovalFailureAwaitingDurability",_0:{primarySourceSeq:i,additionalSourceSeqs:xl([n,[t]])}}}function Kk(e,t){if(typeof e!="object")return"NoApprovalFailureAwaitingDurability";let r=e._0,n=r.additionalSourceSeqs,i=r.primarySourceSeq;if(i!==t)return{TAG:"ApprovalFailureAwaitingDurability",_0:{primarySourceSeq:i,additionalSourceSeqs:n.filter(a=>a!==t)}};let o=n[0];return o!==void 0?{TAG:"ApprovalFailureAwaitingDurability",_0:{primarySourceSeq:o,additionalSourceSeqs:n.slice(1)}}:"NoApprovalFailureAwaitingDurability"}function Yee(e){return typeof e!="object"?"StopApprovalFailureHeartbeat":"ContinueApprovalFailureHeartbeat"}function mj(e,t){let r=e.fateLadderBudgetsBySourceSeq.get(t);if(r!==void 0)return r;let n=e.effectiveTurnSettings.defaults.modelProvider;return e.deps.log("linzumi.fate_ladder_provider_capture_missing",{queued_seq:t,thread_id:e.deps.threadId,current_model_provider:n!==void 0?n:null}),x$(e.deps.env,void 0)}function E0(e){let t=e.deps.nowMs;return t!==void 0?t():Date.now()}function Xee(e){let t=e.turnDispatchHolds,r=e.turnLifecycle.phase,n=e.pendingManualCompaction;return t!==0||typeof r=="object"||n!==void 0?"SessionTurnSlotBusy":"SessionTurnSlotAvailable"}function ete(e){return Xee(e)==="SessionTurnSlotAvailable"}function Xd(e,t){return v(e.values.get(t),0)}function sMe(e,t,r){let n=Xd(e,t)+1|0;if(e.values.has(t)||e.insertionOrder.push(t),e.values.set(t,n),e.insertionOrder.length>64){let i=e.insertionOrder.shift();i!==void 0?e.values.delete(i):r()}return n}function tte(e,t,r){return r===Xd(e,t)}function rte(e,t){let r=aq(e.pendingClaimedTurns,i=>i.message.seq===t),n=r[1];r[0].forEach(i=>{let o=i.transportCeilingRecoveryRequestId;if(o!==void 0)return e.deps.releaseTransportCeilingRecovery(i.message.seq,o,"stopped_candidate_discarded")}),n.length===e.pendingClaimedTurns.length||e.pendingClaimedTurns.splice(0,e.pendingClaimedTurns.length,...n),e.claimedFollowUpSeqs.delete(t),e.retryCandidates.delete(t)}function C0(e){return z(sj(e.turnLifecycle),t=>({attemptToken:t.attemptToken,turnId:t.turnId,sourceSeq:t.sourceSeq,message:t.message.message,transportCeilingRecoveryRequestId:t.message.message.transportCeilingRecoveryRequestId}))}function Qn(e,t){let r=lj(e.turnLifecycle,t);return e.turnLifecycle=r.state,r.diagnostics.forEach(n=>{let i=n.kind,o;o=i==="StaleEvent"?"stale":"unexpected",e.deps.log("linzumi.thread_turn_lifecycle_event_ignored",Object.fromEntries([["thread_id",e.deps.threadId],["event",n.event],["kind",o],["attempt_token",rt(n.attemptToken,null,a=>a)]]))}),r.effects}function _j(e,t){let r=e.turnLifecycle.phase;if(typeof r!="object"){Qn(e,{TAG:"BeginDispatch",sourceSeq:t.seq,message:{message:t,startupSettlement:{TAG:"AwaitingStartupSettlement",_0:[]},stopDeadlineOwnership:"StopDeadlineUnarmed",stopSettlement:"NoStopSettlement",ownedHarnessRetirementPending:!1}});let n=e.turnLifecycle.phase;return typeof n!="object"||n.TAG!=="Starting"?{TAG:"Error",_0:"turn lifecycle did not enter startup"}:{TAG:"Ok",_0:n._0}}switch(r.TAG){case"Starting":let n=r._0;return n.sourceSeq===t.seq?{TAG:"Ok",_0:n}:{TAG:"Error",_0:"turn lifecycle is starting another source sequence"};case"StoppingStartup":let i=r._0.starting;return i.sourceSeq===t.seq?{TAG:"Ok",_0:i}:{TAG:"Error",_0:"turn lifecycle is stopping another source sequence"};default:return{TAG:"Error",_0:"turn lifecycle refused dispatch while the slot was busy"}}}function ec(e){let t=e.startupSettlement;typeof t=="object"&&(e.startupSettlement="StartupSettled",t._0.forEach(r=>r()))}function lMe(e,t){let r=t.stopDeadlineOwnership;if(typeof r!="object")if(r==="StopDeadlineArming"){t.stopDeadlineOwnership="StopDeadlineCancelled";return}else return;e.deps.timers.clearTimer(r._0),t.stopDeadlineOwnership="StopDeadlineCancelled"}function ld(e,t,r){let n=t.ownedHarnessRetirementPending;if(r.TAG==="Ok"&&n)return;lMe(e,t);let i=t.stopSettlement;if(typeof i!="object"){t.stopSettlement={TAG:"StopSettled",_0:r};return}i.TAG==="AwaitingStopSettlement"&&(t.stopSettlement={TAG:"StopSettled",_0:r},i._0.forEach(o=>o(r)))}async function kp(e){let t=e.stopSettlement;if(typeof t!="object")return await new Promise((n,i)=>{e.stopSettlement={TAG:"AwaitingStopSettlement",_0:[n]}});if(t.TAG!=="AwaitingStopSettlement")return t._0;let r=t._0;return await new Promise((n,i)=>{r.push(n)})}function Af(e,t){let r=e.turnLifecycle.phase;if(typeof r!="object"||r.TAG!=="SettlementAwaitingDispatchRelease")return!1;let n=e.stopDrainFenceOwner;if(n!==void 0?n.attemptToken===r._0.attemptToken:!1)return!1;let o=Mee(e.turnLifecycle,t);return e.turnLifecycle=o.state,o.effects.some(a=>typeof a!="object"?a==="PickupOldestParked":!1)}function nte(e,t){return e.deps.harness.close(),Qn(e,{TAG:"HarnessClosed",attemptToken:t}),Af(e,e.turnDispatchHolds===0)}function jee(e,t){let r=Wk(e.turnLifecycle);if(r!==void 0&&r.TAG!=="StopTerminalAwaitingMapping"){let i=r.running;i.turnId===t&&(e.providerTerminal=NY(e.providerTerminal,i.attemptToken,t))}let n=e.pipeline;if(n!==void 0)return n.notifyTurnMappingReady(t)}function dMe(e,t,r,n,i){let o=sMe(e,n,i),a;if(t.has(n)){t.delete(n);let s=r.findIndex(l=>l===n);s!==-1?(r.splice(s,1),a="ClearedAppliedStartupTerminal"):a="ClearedAppliedStartupTerminalOrderMissing"}else a="NoAppliedStartupTerminal";return{attemptGeneration:o,terminalDisposition:a}}function uMe(e,t){if(typeof e=="object")return e.TAG==="ProcessingPublishInvalid"?{TAG:"ApprovalRefuse",_0:e._0}:{TAG:"ApprovalRefuse",_0:"approval source is already terminal"};switch(e){case"ProcessingPublishApplied":case"ProcessingPublishUnconfirmed":return t?"ApprovalAcceptAndRefreshPresentation":"ApprovalAcceptWithoutPresentationRefresh";default:return{TAG:"ApprovalRefuse",_0:"approval source is already terminal"}}}function Fee(e){let t=new Set;return Fe(WY(e),r=>{if(!t.has(r))return t.add(r),r===e.seq?{TAG:"SettleFusedLead",_0:r}:{TAG:"SettleFusedSibling",_0:r}})}function O0(e,t,r){let n=r.threadId===e,i=r.sourceSeq===t;return n&&i?{TAG:"Ok",_0:r}:{TAG:"Error",_0:"terminal message_state consensus identity mismatch: expected "+e+":"+t.toString()+", received "+r.threadId+":"+r.sourceSeq.toString()}}function ite(e){return typeof e!="object"}function gj(e){let t;if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let i=e.response;t=i!==void 0?typeof i=="object"&&i!==null&&!Array.isArray(i)?{TAG:"Ok",_0:i}:{TAG:"Error",_0:"message_state success envelope response was not an object"}:{TAG:"Error",_0:"message_state success envelope omitted response"}}else t={TAG:"Error",_0:"message_state acknowledgement was not an object"};if(t.TAG!=="Ok")return{TAG:"MessageStateInvalid",_0:t._0};let r=t._0.message_state;if(r===void 0)return"MessageStateApplied";if(typeof r!="object"||r===null||Array.isArray(r))return{TAG:"MessageStateInvalid",_0:"message_state consensus was not an object"};let n=r.disposition;if(n===void 0)return{TAG:"MessageStateInvalid",_0:"message_state consensus omitted disposition"};if(n==="terminal"){let i=r.thread_id,o=r.seq,a=r.status,s=r.reason;if(i===void 0)return{TAG:"MessageStateInvalid",_0:"terminal message_state consensus omitted required fields"};if(typeof i!="string")return{TAG:"MessageStateInvalid",_0:"terminal message_state consensus omitted required fields"};if(o===void 0)return{TAG:"MessageStateInvalid",_0:"terminal message_state consensus omitted required fields"};if(typeof o!="number")return{TAG:"MessageStateInvalid",_0:"terminal message_state consensus omitted required fields"};if(a===void 0)return{TAG:"MessageStateInvalid",_0:"terminal message_state consensus omitted required fields"};if(typeof a!="string")return{TAG:"MessageStateInvalid",_0:"terminal message_state consensus omitted required fields"};if(s===void 0)return{TAG:"MessageStateInvalid",_0:"terminal message_state consensus omitted required fields"};let l=i.trim()!=="",d=o>0&&Math.trunc(o)===o;if(!l)return{TAG:"MessageStateInvalid",_0:"terminal message_state consensus omitted thread_id"};if(!d)return{TAG:"MessageStateInvalid",_0:"terminal message_state consensus omitted a positive seq"};let u=0;switch(a){case"failed":case"ignored":case"interrupted":case"processed":case"stop_failed":u=2;break;default:return{TAG:"MessageStateInvalid",_0:"terminal message_state consensus carried unsupported status or malformed reason: "+a}}if(u===2)return s===null?{TAG:"MessageStateTerminal",_0:{threadId:i.trim(),sourceSeq:o,status:a,reason:void 0}}:typeof s=="string"?{TAG:"MessageStateTerminal",_0:{threadId:i.trim(),sourceSeq:o,status:a,reason:s.trim()}}:{TAG:"MessageStateInvalid",_0:"terminal message_state consensus carried unsupported status or malformed reason: "+a}}return{TAG:"MessageStateInvalid",_0:"unknown message_state disposition: "+JSON.stringify(n)}}function cMe(e,t,r){return typeof r!="object"?r==="MessageStateApplied"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:"recovery-refusal terminal message_state was not confirmed"}:r.TAG==="MessageStateTerminal"?Ze(O0(e,t,r._0),n=>{}):{TAG:"Error",_0:r._0}}async function Ro(e,t,r,n,i,o,a,s,l){let d=i!==void 0?i:!1,u=o!==void 0?ce(o):void 0,c=a!==void 0?ce(a):void 0,f=s!==void 0?ce(s):void 0,h=l!==void 0?ce(l):void 0,m=e.deps,p={};p.workspace=m.workspaceSlug,p.channel=m.channelSlug,p.thread_id=m.threadId,p.instance_id=m.instanceId,p[Go]=m.harnessSessionId,p.seq=t,p.status=r,n!==void 0&&(p.reason=n);let _;if(u!==void 0){let S=Aee(u);if(S.TAG==="Ok")zl(S._0,(T,w)=>{p[w]=T}),_={TAG:"Ok",_0:void 0};else{let T=S._0,w=T.path;_={TAG:"Error",_0:"message_state approval encoding failed at "+(w===""?"<root>":w)+": "+T.summary}}}else _={TAG:"Ok",_0:void 0};if(d&&(p.retryable=!0),c!==void 0&&(p.fate=c),f!==void 0&&(p.ladder=f),h!==void 0){let S=h.identity;p.model_account_compatibility_identity={agent_provider:S.agentProvider,model_provider:H_(S.modelProvider),model:S.model},p.model_account_compatibility_rejection_reason=h.reason}let g=m.actorSlug;g!==void 0&&(p.actor_slug=g);let b=m.actorUserId;if(b!==void 0&&(p.actor_user_id=b),_.TAG==="Ok"){let S=await m.transport.push(m.commanderTopic,"message_state",p,void 0,void 0,void 0);if(S.TAG==="Ok")return gj(S._0);let T=S._0;return m.log("kandan.message_state_push_failed",Object.fromEntries([["thread_id",m.threadId],["seq",t],["status",r],["message",qn(T)]])),mx(T)?"MessageStateUnconfirmed":{TAG:"MessageStateInvalid",_0:qn(T)}}let y=_._0;return m.log("kandan.message_state_approval_encoding_failed",Object.fromEntries([["thread_id",m.threadId],["seq",t],["status",r],["message",y]])),{TAG:"MessageStateInvalid",_0:y}}function fMe(e,t,r){if(typeof r!="object")return r==="MessageStateApplied"?"ApprovalPublicationApplied":"ApprovalPublicationTransportUnconfirmed";if(r.TAG!=="MessageStateTerminal")return{TAG:"ApprovalPublicationMustDecline",_0:{TAG:"ApprovalPublicationBackendInvalid",_0:r._0}};let n=O0(e,t,r._0);return n.TAG==="Ok"?{TAG:"ApprovalPublicationMustDecline",_0:{TAG:"ApprovalPublicationAuthoritativeTerminal",_0:n._0}}:{TAG:"ApprovalPublicationMustDecline",_0:{TAG:"ApprovalPublicationBackendInvalid",_0:n._0}}}function mMe(e){return typeof e!="object"?e==="MessageStateApplied"?"ApprovalFailureDurable":"ApprovalFailureAwaitingRetry":e.TAG==="MessageStateTerminal"?{TAG:"ApprovalFailureAlreadyTerminal",_0:e._0}:"ApprovalFailureAwaitingRetry"}async function ote(e,t,r){let n=await Ro(e,t,"processing","awaiting approval",void 0,ve(r),void 0,void 0,void 0);return fMe(e.deps.threadId,t,n)}async function Ws(e,t,r,n){await Ro(e,t,r,n,void 0,void 0,void 0,void 0,void 0)}async function ate(e,t,r,n){let i={contents:"OwnedHarnessStopRecoveryDeadlineArming"},o={contents:0},a={contents:void 0},s=m=>{t.ownedHarnessRetirementPending=!1;let p=e.turnLifecycle.phase;if(typeof p!="object"||p.TAG!=="SettlementAwaitingDispatchRelease")return;let _=p._0;if(!(_.owner==="OrdinarySettlement"||_.attemptToken!==r))return ld(e,t,m)},l=async()=>{let m=a.contents;return m!==void 0?(a.contents=void 0,await m()):{TAG:"Ok",_0:void 0}},d=async m=>{let p=()=>{let S=e.pendingClaimedTurns.length,T=e.pendingClaimedTurns.map(w=>w.message).slice(m,S);return T.forEach(w=>{Ws(e,w.seq,"failed","recovery timed out after 60 seconds; resend the message (or press retry) to continue.")}),e.pendingClaimedTurns.splice(0,e.pendingClaimedTurns.length),T.length},_=e.turnLifecycle.phase;if(typeof _!="object"||_.TAG!=="SettlementAwaitingDispatchRelease")return;let g=_._0;if(g.owner==="OrdinarySettlement"||g.attemptToken!==r)return;let b=await l();if(b.TAG==="Ok"){let S=p();return e.deps.log("runner.thread_stop_recovery_timeout",{thread_id:e.deps.threadId,pending_count:S,owner_deadline_ms:n}),s({TAG:"Ok",_0:[]})}let y=b._0;return e.deps.log("runner.thread_stop_recovery_retirement_failed",{thread_id:e.deps.threadId,message:y}),p(),s({TAG:"Error",_0:y})},u=async m=>{let p=i.contents,_=0;if(typeof p!="object")switch(p){case"OwnedHarnessStopRecoveryDeadlineArming":_=1;break;case"OwnedHarnessStopRecoveryDeadlineFired":case"OwnedHarnessStopRecoveryDeadlineCancelled":return}else _=1;if(_===1){o.contents=m;let g=e.pendingClaimedTurns.length;if(g===m)return s({TAG:"Ok",_0:[]});let b=e.pendingClaimedTurns.map(T=>T.message).slice(m,g),y=async T=>{e.deps.log("runner.thread_stop_recovery_failed",{thread_id:e.deps.threadId,pending_count:b.length,message:T}),await Promise.all(b.map(w=>Ws(e,w.seq,"failed",T)))},S=e.deps.recoverAfterOwnedHarnessStop;if(S!==void 0){let T=S(e.deps.harnessSessionId,b);a.contents=T.invalidateAndRetire;let w;try{w=await T.settlement}catch(C){let k=N(C);w={TAG:"Error",_0:ke(k).message}}let A=i.contents,P=0;if(typeof A!="object")switch(A){case"OwnedHarnessStopRecoveryDeadlineArming":P=2;break;case"OwnedHarnessStopRecoveryDeadlineFired":case"OwnedHarnessStopRecoveryDeadlineCancelled":break}else P=2;P===2&&(a.contents=void 0,w.TAG!=="Ok"&&await y(w._0))}else e.deps.log("runner.thread_stop_recovery_unavailable",{thread_id:e.deps.threadId,pending_count:b.length}),await y("owned Codex worker stopped, but queued follow-ups could not be transferred to a replacement worker");return await u(g)}},c=e.deps.timers.setTimer(()=>{let m=i.contents;if(typeof m!="object")switch(m){case"OwnedHarnessStopRecoveryDeadlineArming":break;case"OwnedHarnessStopRecoveryDeadlineFired":case"OwnedHarnessStopRecoveryDeadlineCancelled":return}i.contents="OwnedHarnessStopRecoveryDeadlineFired",d(o.contents)},Math.max(0,n-E0(e))),f=i.contents;if(typeof f!="object")switch(f){case"OwnedHarnessStopRecoveryDeadlineArming":i.contents={TAG:"OwnedHarnessStopRecoveryDeadlineArmed",_0:c};break;case"OwnedHarnessStopRecoveryDeadlineFired":case"OwnedHarnessStopRecoveryDeadlineCancelled":e.deps.timers.clearTimer(c);break}await u(0);let h=i.contents;if(typeof h!="object")switch(h){case"OwnedHarnessStopRecoveryDeadlineArming":return i.contents="OwnedHarnessStopRecoveryDeadlineCancelled",e.deps.timers.clearTimer(c);case"OwnedHarnessStopRecoveryDeadlineFired":case"OwnedHarnessStopRecoveryDeadlineCancelled":return}else return i.contents="OwnedHarnessStopRecoveryDeadlineCancelled",e.deps.timers.clearTimer(h._0)}async function ste(e,t,r){t.ownedHarnessRetirementPending=It(e.deps.retireOwnedHarnessAfterStop);let n=e.deps.retireOwnedHarnessAfterStop,i=J(e.stopOwnedHarnessRetirementAttemptToken,r);if(n===void 0||i)return;e.stopOwnedHarnessRetirementAttemptToken=r;let o=E0(e)+6e4,a=await n();return a.TAG==="Ok"?(e.stopRetiredOwnedHarnessAttemptToken=r,await ate(e,t,r,o)):(t.ownedHarnessRetirementPending=!1,ld(e,t,{TAG:"Error",_0:a._0}))}function Nee(e,t){let r=e.pendingManualCompaction;if(r===void 0)return;let n;n=t.TAG==="Ok"?"Compacted":{TAG:"Failed",_0:t._0},(async()=>{let i=r.processing;i!==void 0&&await i;let o;o=typeof n!="object"?await Ro(e,r.sourceSeq,"processed","conversation history compacted",void 0,void 0,void 0,void 0,void 0):await Ro(e,r.sourceSeq,"failed",n._0,void 0,void 0,void 0,void 0,void 0);let a;if(typeof o!="object")a=o==="MessageStateApplied"?"PublicationDurable":"PublicationUnconfirmed";else if(o.TAG==="MessageStateTerminal"){let d=o._0,u=d.threadId===e.deps.threadId,c=d.sourceSeq===r.sourceSeq;a=u&&c?{TAG:"PublicationAlreadyTerminal",status:d.status}:{TAG:"PublicationInvalid",_0:"terminal message_state consensus identity mismatch"}}else a={TAG:"PublicationInvalid",_0:o._0};let s=xk(n,a),l;return l=typeof n!="object"?typeof a!="object"?a==="PublicationDurable":a.TAG==="PublicationAlreadyTerminal"?a.status==="processed":!1:typeof a!="object"?a==="PublicationDurable":a.TAG==="PublicationAlreadyTerminal"?a.status==="failed":!1,l?(r.settle({TAG:"CompactThreadSettled",_0:s}),r.lifecycle=yk(r.lifecycle,"TerminalPublicationAndResponseSettled").state,e.pendingManualCompaction=void 0,_$(r.queuedTurnCount())?r.redriveQueuedTurns():void 0):(r.awaitingFallbackDurability=!0,r.settle({TAG:"CompactTerminalFallbackRequired",_0:n}))})()}function pMe(e,t,r){let n=e.pendingManualCompaction;if(n===void 0)return!1;let i=n.requestId===t,o=n.awaitingFallbackDurability;return i&&o?(n.lifecycle=yk(n.lifecycle,"TerminalPublicationAndResponseSettled").state,e.pendingManualCompaction=void 0,_$(n.queuedTurnCount())&&n.redriveQueuedTurns(),!0):!1}function vf(e,t){let r=e.pendingManualCompaction;if(r===void 0)return;let n=yk(r.lifecycle,t);r.lifecycle=n.state;let i=n.effects[0];if(i===void 0)return;if(typeof i!="object"){r.processing=Ws(e,r.sourceSeq,"processing",zY);return}let o=i._0;return typeof o!="object"?Nee(e,{TAG:"Ok",_0:void 0}):Nee(e,{TAG:"Error",_0:o._0})}function hMe(e,t,r){if(e.pendingManualCompaction===void 0)return;let i=ks(r,"threadId");if(i===void 0||i!==e.deps.harnessSessionId)return;let o=E(E(r.item,ct),s=>{if(ks(s,"type")==="contextCompaction")return s}),a=0;switch(t){case"item/completed":if(o!==void 0)return vf(e,{TAG:"ContextCompactionCompleted",_0:ks(o,"id")});a=1;break;case"item/started":if(o!==void 0)return vf(e,{TAG:"ContextCompactionStarted",_0:ks(o,"id")});a=1;break;case"thread/compacted":return vf(e,"DeprecatedThreadCompacted");case"turn/completed":case"turn/failed":case"turn/interrupted":a=2;break;default:a=1}switch(a){case 1:if(!bY(t))return;let s=v(cj(t,r),t);return vf(e,{TAG:"ProviderTerminalBeforeCompaction",_0:"codex_compaction_failed:provider terminal before compaction completion: "+s});case 2:let l=v(cj(t,r),t);return vf(e,{TAG:"ProviderTerminalBeforeCompaction",_0:"codex_compaction_failed:provider terminal before compaction completion: "+l})}}function _Me(e){let t=Math.max(0,e-1|0);return t!==0?t!==1?"queued behind the running turn and "+t.toString()+" earlier queued messages on your runner":"queued behind the running turn and 1 earlier queued message on your runner":"queued behind the running turn on your runner"}function lte(e){let t=z(e.LINZUMI_STOP_STARTING_ACK_WAIT_MS,o=>o.trim());if(t===void 0)return 2e3;let r=ei(t);if(r===void 0)return 2e3;let n=isFinite(r),i=r>0;return n&&i?r:2e3}function dte(e){let t=z(e.LINZUMI_STOP_HALT_CONFIRM_MS,o=>o.trim());if(t===void 0)return 5e3;let r=ei(t);if(r===void 0)return 5e3;let n=isFinite(r),i=r>=0;return n&&i?r:5e3}async function qee(e,t){let r=t.startupSettlement;if(typeof r!="object")return!0;let n=r._0,i=new Promise((a,s)=>{n.push(a)}),o=new Promise((a,s)=>{e.deps.timers.setTimer(()=>a(!1),lte(e.deps.env))});return await Promise.race([i.then(()=>!0),o])}async function gMe(e,t){let r=dte(e.deps.env);if(r<=0)return!0;let n=Math.min(750,r),i=Math.min(250,r),o=Date.now(),a={contents:o},s={contents:t},l={contents:!1};return await new Promise((d,u)=>{let c=()=>{if(l.contents)return;let f=Date.now();if(e.streamEventTick!==s.contents&&(s.contents=e.streamEventTick,a.contents=f),f-a.contents>=n)return l.contents=!0,d(!0);if(f-o>=r)return l.contents=!0,d(!1);e.deps.timers.setTimer(c,i)};c()})}function bMe(e){let t=z(e.LINZUMI_TYPING_HEARTBEAT_MS,n=>n.trim());if(t===void 0||t==="")return 5e3;let r=ei(t);return r!==void 0&&isFinite(r)&&r>0?Math.trunc(r):5e3}function ute(e){let t={};return t.workspace=e.workspaceSlug,t.channel=e.channelSlug,t.thread_id=e.threadId,t.instance_id=e.instanceId,t[Go]=e.harnessSessionId,t}function bj(e){let t=e.typingHeartbeatTimer;if(t!==void 0){e.deps.timers.clearTimer(ce(t)),e.typingHeartbeatTimer=void 0;return}}function P0(e,t,r){if(Yee(e.approvalFailureDurability)==="StopApprovalFailureHeartbeat"&&bj(e),!e.typingActive)return;e.typingActive=!1;let i=e.deps;(async()=>{let a=await i.transport.push(i.commanderTopic,"session:typing_stop",ute(i),void 0,void 0,void 0);if(a.TAG!=="Ok")return i.log(t,Object.fromEntries(r.concat([["message",qn(a._0)]])))})()}async function zee(e,t,r,n,i,o){return rte(e,n),await ste(e,t,r),ec(t),e.processingReason=void 0,e.processingSeq=void 0,e.processingApproval=void 0,P0(e,"kandan.typing_stop_after_startup_stop_failed",[["thread_id",e.deps.threadId],["source_seq",n]]),e.retryCandidates.delete(n),e.autoRetryAttempts.delete(n),e.claimedFollowUpSeqs.delete(n),i!==void 0&&e.deps.releaseTransportCeilingRecovery(n,i,o),{TAG:"Ok",_0:"TurnSettledByStartupConsensus"}}function yj(e,t){if(e.serverTerminalSourceSeqs.add(t),e.serverTerminalSourceSeqOrder.push(t),e.serverTerminalSourceSeqOrder.length<=64)return;let r=e.serverTerminalSourceSeqOrder.shift();if(r!==void 0){e.serverTerminalSourceSeqs.delete(r);return}else return e.deps.log("linzumi.message_state_consensus_bound_invalid",Object.fromEntries([["thread_id",e.deps.threadId],["source_seq",t]]))}function xj(e,t){let r=e.processingSeq;if(r!==void 0&&r===t)return e.processingReason=void 0,e.processingSeq=void 0,e.processingApproval=void 0,e.approvalFailureDurability=Kk(e.approvalFailureDurability,t),P0(e,"linzumi.typing_stop_after_terminal_consensus_failed",[["thread_id",e.deps.threadId],["source_seq",t]])}function pj(e,t,r,n){if(!e.serverTerminalSourceSeqs.has(t))return yj(e,t),xj(e,t),e.deps.log("linzumi.message_state_consensus_invalid",Object.fromEntries([["thread_id",e.deps.threadId],["source_seq",t],["incoming_status",r],["message",n]]))}function dd(e,t,r,n,i){if(!tte(e.messageStateAttemptGenerations,t,n))return e.deps.log("linzumi.stale_message_state_consensus_ignored",Object.fromEntries([["thread_id",e.deps.threadId],["source_seq",t],["incoming_status",r],["acknowledgement_attempt_generation",n],["current_attempt_generation",Xd(e.messageStateAttemptGenerations,t)]]));if(typeof i!="object")return;if(i.TAG!=="MessageStateTerminal")return pj(e,t,r,i._0);let o=i._0,a=o.sourceSeq===t,s=o.threadId===e.deps.threadId;if(a&&s)return e.serverTerminalSourceSeqs.has(t)?void 0:(yj(e,t),xj(e,t),e.deps.log("linzumi.turn_terminal_consensus_adopted",Object.fromEntries([["thread_id",o.threadId],["source_seq",o.sourceSeq],["incoming_status",r],["stored_status",o.status],["stored_reason",rt(o.reason,null,fa)]])));pj(e,t,r,"terminal message_state consensus identity mismatch: expected "+e.deps.threadId+":"+t.toString()+", received "+o.threadId+":"+o.sourceSeq.toString())}function cte(e,t,r,n){let i=mMe(n);if(!tte(e.messageStateAttemptGenerations,t,r))return dd(e,t,"failed",r,n);if(typeof i!="object")return i!=="ApprovalFailureDurable"?typeof n!="object"||n.TAG==="MessageStateTerminal"?void 0:e.deps.log("codex.approval_failure_publication_retry_pending",Object.fromEntries([["thread_id",e.deps.threadId],["source_seq",t],["message",n._0]])):(e.approvalFailureDurability=Kk(e.approvalFailureDurability,t),dd(e,t,"failed",r,{TAG:"MessageStateTerminal",_0:{threadId:e.deps.threadId,sourceSeq:t,status:"failed",reason:"approval publication failed"}}));{let o=i._0,a=o.threadId===e.deps.threadId,s=o.sourceSeq===t;return a&&s?(e.approvalFailureDurability=Kk(e.approvalFailureDurability,t),dd(e,t,"failed",r,n)):e.deps.log("codex.approval_failure_terminal_identity_mismatch",Object.fromEntries([["thread_id",e.deps.threadId],["source_seq",t],["stored_thread_id",o.threadId],["stored_source_seq",o.sourceSeq]]))}}async function fte(e,t,r,n,i){let o;if(i.TAG==="ApprovalPublicationBackendInvalid")o=["backend_invalid",[["message",i._0]]];else{let u=i._0;o=["authoritative_terminal",[["stored_thread_id",u.threadId],["stored_source_seq",u.sourceSeq],["stored_status",u.status]]]}let a;if(i.TAG==="ApprovalPublicationBackendInvalid"){let u=e.pipeline;if(u!==void 0){let c=await u.enqueueApprovalFailureMessageState(t);c.TAG==="Ok"?(e.processingApproval=void 0,e.processingReason="approval publication failed",e.processingSeq=t,e.approvalFailureDurability=aMe(e.approvalFailureDurability,t),a="FinalizeApprovalFailureCallback"):(e.deps.log("codex.approval_failure_durable_enqueue_failed",Object.fromEntries([["thread_id",e.deps.threadId],["source_seq",t],["message",c._0]])),a="RetainApprovalFailureCallback")}else e.deps.log("codex.approval_failure_durable_outbox_unavailable",Object.fromEntries([["thread_id",e.deps.threadId],["source_seq",t]])),a="RetainApprovalFailureCallback"}else dd(e,t,"processing",r,{TAG:"MessageStateTerminal",_0:i._0}),a="FinalizeApprovalFailureCallback";if(a!=="FinalizeApprovalFailureCallback")return;let s=vk(n.requestId,t);e.deps.log("codex.approval_publication_declined",Object.fromEntries([["thread_id",e.deps.threadId],["source_seq",t],["request_id",n.requestId],["disposition",o[0]]].concat(o[1])));let l=e.pendingApprovalRequests.get(s);if(l!==void 0){if(!l.resolved){l.resolved=!0;let u=wee({decision:"decline"});if(u.TAG==="Ok")l.resolveDecision(u._0);else{let c=u._0;l.resolveDecision(void 0),e.deps.log("codex.approval_decision_encoding_failed",Object.fromEntries([["request_id",n.requestId],["path",c.path],["summary",c.summary]]))}}e.pendingApprovalRequests.delete(s)}if(i.TAG!=="ApprovalPublicationBackendInvalid")return;let d=await Ro(e,t,"failed","approval publication failed",!0,void 0,void 0,void 0,void 0);return cte(e,t,r,d)}async function wf(e,t,r,n){let i=n!==void 0?n:"AdoptProcessingConsensus";if(e.serverTerminalSourceSeqs.has(t))return"ProcessingPublishSuppressedByTerminal";e.processingReason=r,e.processingSeq=t,r==="awaiting approval"||(e.processingApproval=void 0);let o=Xd(e.messageStateAttemptGenerations,t),a=await Ro(e,t,"processing",r,void 0,void 0,void 0,void 0,void 0);return i==="AdoptProcessingConsensus"&&dd(e,t,"processing",o,a),typeof a!="object"?a==="MessageStateApplied"?"ProcessingPublishApplied":"ProcessingPublishUnconfirmed":a.TAG==="MessageStateTerminal"?{TAG:"ProcessingPublishTerminal",_0:a._0}:{TAG:"ProcessingPublishInvalid",_0:a._0}}async function yMe(e){if(typeof e.approvalFailureDurability!="object")return;let r=Qee(e.approvalFailureDurability);await nt(r,Promise.resolve(),async(n,i)=>{if(await n,e.serverTerminalSourceSeqs.has(i)){e.approvalFailureDurability=Kk(e.approvalFailureDurability,i);return}let o=Xd(e.messageStateAttemptGenerations,i),a=await Ro(e,i,"failed","approval publication failed",!0,void 0,void 0,void 0,void 0);return cte(e,i,o,a)})}async function xMe(e){let t=e.processingSeq,r=e.processingReason;if(t===void 0||r===void 0||Qee(e.approvalFailureDurability).some(a=>a===t)||e.serverTerminalSourceSeqs.has(t))return;let n=Xd(e.messageStateAttemptGenerations,t),i=e.processingApproval;if(i!==void 0){let a=await ote(e,t,i);return typeof a!="object"?void 0:await fte(e,t,n,i,a._0)}let o=await Ro(e,t,"processing",r,void 0,void 0,void 0,void 0,void 0);return dd(e,t,"processing",n,o)}async function mte(e){return await yMe(e),await xMe(e)}function pte(e,t){if(e.typingHeartbeatInFlight)return;e.typingHeartbeatInFlight=!0;let r=e.deps;(async()=>{try{let i=await r.transport.push(r.commanderTopic,"session:typing_start",ute(r),void 0,void 0,void 0);i.TAG!=="Ok"&&r.log("kandan.optional_push_failed",Object.fromEntries([["event","session:typing_start"],["message",qn(i._0)]])),t&&await mte(e)}catch(i){let o=N(i);r.log("kandan.typing_heartbeat_failed",Object.fromEntries([["message",ke(o).message]]))}e.typingHeartbeatInFlight=!1})()}function hj(e,t){e.typingHeartbeatTimer=ve(e.deps.timers.setTimer(()=>{if(e.typingActive)return pte(e,!0),hj(e,t);if(Yee(e.approvalFailureDurability)==="StopApprovalFailureHeartbeat")return bj(e);e.typingHeartbeatInFlight||(e.typingHeartbeatInFlight=!0,(async()=>{try{await mte(e)}catch(i){let o=N(i);e.deps.log("linzumi.approval_failure_heartbeat_failed",Object.fromEntries([["message",ke(o).message]]))}e.typingHeartbeatInFlight=!1})()),hj(e,t)},t))}function SMe(e){if(e.typingActive=!0,pte(e,!1),e.typingHeartbeatTimer===void 0)return hj(e,bMe(e.deps.env))}function hte(e,t){P0(e,"kandan.typing_stop_after_completion_failed",[["turn_id",t]])}function TMe(e,t,r){switch(t){case"item/completed":let n=E(r.item,ct);if(n===void 0||!It(ks(n,"id")))return;let i=e.activityJournalTurns[e.activityJournalTurns.length-1|0];if(i===void 0)return;let o=r.completedAtMs,a=typeof o=="number"?o:void 0;for(i.items.push({item:n,completedAtMs:a}),e.activityJournalItemCount=e.activityJournalItemCount+1|0;e.activityJournalItemCount>2e3&&e.activityJournalTurns.length>1;){let l=e.activityJournalTurns.shift();l!==void 0&&(e.activityJournalItemCount=e.activityJournalItemCount-l.items.length|0)}return;case"turn/started":let s=E(E(r.turn,ct),l=>ks(l,"id"));if(s!==void 0){e.activityJournalTurns.push({turnId:s,items:[]});return}else return;default:return}}function vMe(e){if(e.TAG==="ResultReply")return E(E(E(ct(e._0),t=>t.turn),ct),t=>ks(t,"id"))}function Jk(e,t){let r=t!==void 0?ce(t):void 0,n=[];e.pendingApprovalRequests.forEach((i,o)=>{if(r!==void 0?i.turnId===r:!0)return n.push(o),i.resolved?void 0:(i.resolved=!0,i.resolveDecision(Object.fromEntries([["decision","decline"]])))}),n.forEach(i=>{e.pendingApprovalRequests.delete(i)})}async function _te(e,t,r){let n=_j(e,t);return n.TAG==="Ok"?await Sj(e,t,r,n._0,void 0):{TAG:"Error",_0:n._0}}async function Lee(e,t,r,n,i,o){let a=e.deps;e.retryCandidates.set(t.seq,t),e.fateLadderBudgetsBySourceSeq.set(t.seq,x$(a.env,ve(r))),a.log("codex.turn_starting",Object.fromEntries([["queued_seq",t.seq],["thread_id",a.threadId],[Go,a.harnessSessionId]])),e.processingReason="starting turn",e.processingSeq=t.seq;let s=e.serverTerminalSourceSeqs.has(t.seq),l=Tf(e.turnLifecycle,i.attemptToken),d;if(l)d="ProcessingPublishSuppressedByStop";else if(s){let y=await Ro(e,t.seq,"processing","starting turn",void 0,void 0,void 0,void 0,void 0);d=typeof y!="object"?y==="MessageStateApplied"?"ProcessingPublishApplied":"ProcessingPublishUnconfirmed":y.TAG==="MessageStateTerminal"?{TAG:"ProcessingPublishTerminal",_0:y._0}:{TAG:"ProcessingPublishInvalid",_0:y._0}}else d=await wf(e,t.seq,"starting turn","ReturnProcessingConsensus");let u;if(typeof d!="object")switch(d){case"ProcessingPublishApplied":let S=dMe(e.messageStateAttemptGenerations,e.serverTerminalSourceSeqs,e.serverTerminalSourceSeqOrder,t.seq,()=>a.log("linzumi.message_state_attempt_generation_bound_invalid",Object.fromEntries([["thread_id",a.threadId],["source_seq",t.seq]]))).terminalDisposition,T=0,w=0;if(s)switch(S){case"NoAppliedStartupTerminal":T=1;break;case"ClearedAppliedStartupTerminal":case"ClearedAppliedStartupTerminalOrderMissing":w=2;break}else switch(S){case"NoAppliedStartupTerminal":break;case"ClearedAppliedStartupTerminal":case"ClearedAppliedStartupTerminalOrderMissing":w=2;break}w===2&&(S==="ClearedAppliedStartupTerminal"?T=1:(a.log("linzumi.turn_terminal_consensus_restart_order_missing",Object.fromEntries([["thread_id",a.threadId],["source_seq",t.seq]])),a.log("linzumi.turn_terminal_consensus_restart_accepted",Object.fromEntries([["thread_id",a.threadId],["source_seq",t.seq],["incoming_status","processing"],["incoming_reason","starting turn"]])))),T===1&&a.log("linzumi.turn_terminal_consensus_restart_accepted",Object.fromEntries([["thread_id",a.threadId],["source_seq",t.seq],["incoming_status","processing"],["incoming_reason","starting turn"]])),u="ProcessingPublishApplied";break;case"ProcessingPublishUnconfirmed":u="ProcessingPublishUnconfirmed";break;case"ProcessingPublishSuppressedByStop":u="ProcessingPublishSuppressedByStop";break;case"ProcessingPublishSuppressedByTerminal":u="ProcessingPublishSuppressedByTerminal";break}else u=d.TAG==="ProcessingPublishTerminal"?{TAG:"ProcessingPublishTerminal",_0:d._0}:{TAG:"ProcessingPublishInvalid",_0:d._0};let c=Tf(e.turnLifecycle,i.attemptToken),f;if(l||c)f="ProcessingPublishSuppressedByStop";else if(typeof u!="object")switch(u){case"ProcessingPublishApplied":f=await wf(e,t.seq,"starting turn","ReturnProcessingConsensus");break;case"ProcessingPublishUnconfirmed":f="ProcessingPublishUnconfirmed";break;case"ProcessingPublishSuppressedByStop":f="ProcessingPublishSuppressedByStop";break;case"ProcessingPublishSuppressedByTerminal":f="ProcessingPublishSuppressedByTerminal";break}else f=u.TAG==="ProcessingPublishTerminal"?{TAG:"ProcessingPublishTerminal",_0:u._0}:{TAG:"ProcessingPublishInvalid",_0:u._0};let h=Tf(e.turnLifecycle,i.attemptToken),m=l||c||h,p=m?"ProcessingPublishSuppressedByStop":f,_;if(typeof p!="object")switch(p){case"ProcessingPublishApplied":_="ProcessingPublishApplied";break;case"ProcessingPublishUnconfirmed":_="ProcessingPublishUnconfirmed";break;case"ProcessingPublishSuppressedByStop":_="ProcessingPublishSuppressedByStop";break;case"ProcessingPublishSuppressedByTerminal":_="ProcessingPublishSuppressedByTerminal";break}else if(p.TAG==="ProcessingPublishTerminal"){let y=O0(a.threadId,t.seq,p._0);if(y.TAG==="Ok")_={TAG:"ProcessingPublishTerminal",_0:y._0};else{let S=y._0;pj(e,t.seq,"processing",S),a.log("linzumi.turn_terminal_consensus_restart_rejected",Object.fromEntries([["thread_id",a.threadId],["source_seq",t.seq],["incoming_status","processing"],["incoming_reason","starting turn"],["disposition","invalid"],["message",S]])),_={TAG:"ProcessingPublishInvalid",_0:S}}}else _={TAG:"ProcessingPublishInvalid",_0:p._0};if(typeof _!="object"?_==="ProcessingPublishApplied"?Qn(e,{TAG:"StartupAccepted",attemptToken:i.attemptToken}):Qn(e,{TAG:"StartupFailed",attemptToken:i.attemptToken}):_.TAG==="ProcessingPublishTerminal"?Qn(e,{TAG:"StartupTerminal",attemptToken:i.attemptToken}):Qn(e,{TAG:"StartupFailed",attemptToken:i.attemptToken}),typeof _!="object")_==="ProcessingPublishSuppressedByTerminal"&&(m||a.log("linzumi.turn_terminal_consensus_restart_rejected",Object.fromEntries([["thread_id",a.threadId],["source_seq",t.seq],["incoming_status","processing"],["incoming_reason","starting turn"],["disposition","terminal_known"]])));else if(_.TAG==="ProcessingPublishTerminal"){let y=_._0;e.serverTerminalSourceSeqs.has(t.seq)||yj(e,t.seq),xj(e,t.seq),a.log("linzumi.turn_terminal_consensus_restart_rejected",Object.fromEntries([["thread_id",a.threadId],["source_seq",t.seq],["incoming_status","processing"],["incoming_reason","starting turn"],["disposition","terminal"],["stored_thread_id",y.threadId],["stored_source_seq",y.sourceSeq],["stored_status",y.status],["stored_reason",rt(y.reason,null,fa)]]))}let g=async(y,S,T)=>{let w=y[S];if(w===void 0)return T!==void 0?{TAG:"Error",_0:T}:{TAG:"Ok",_0:void 0};if(w.TAG==="SettleFusedLead"){let $=w._0;return e.claimedFollowUpSeqs.delete($),e.retryCandidates.delete($),e.autoRetryAttempts.delete($),await g(y,S+1|0,T)}let A=w._0,P=await Ro(e,A,"failed","startup_consensus_fused_sibling_rejected",!0,void 0,void 0,void 0,void 0),C;if(typeof P!="object")if(P==="MessageStateApplied")e.claimedFollowUpSeqs.delete(A),e.retryCandidates.delete(A),e.autoRetryAttempts.delete(A),C=void 0;else{let $="fused startup sibling settlement was not confirmed for "+a.threadId+":"+A.toString();a.log("linzumi.turn_start_consensus_terminal_publish_failed",Object.fromEntries([["thread_id",a.threadId],["source_seq",A],["disposition","unconfirmed"],["message",$]])),C=$}else if(P.TAG==="MessageStateTerminal"){let $=P._0,V=O0(a.threadId,A,$);if(V.TAG==="Ok")e.claimedFollowUpSeqs.delete(A),e.retryCandidates.delete(A),e.autoRetryAttempts.delete(A),C=void 0;else{let F=V._0;a.log("linzumi.turn_start_consensus_terminal_publish_failed",Object.fromEntries([["thread_id",a.threadId],["source_seq",A],["disposition","terminal_identity_mismatch"],["stored_thread_id",$.threadId],["stored_source_seq",$.sourceSeq],["stored_status",$.status],["stored_reason",rt($.reason,null,fa)],["message",F]])),C=F}}else{let $="fused startup sibling settlement returned invalid consensus for "+a.threadId+":"+A.toString()+": "+P._0;a.log("linzumi.turn_start_consensus_terminal_publish_failed",Object.fromEntries([["thread_id",a.threadId],["source_seq",A],["disposition","invalid"],["message",$]])),C=$}let k=T!==void 0?T:C;return await g(y,S+1|0,k)},b=0;if(typeof _!="object")switch(_){case"ProcessingPublishApplied":e.serverTerminalSourceSeqs.has(t.seq)||SMe(e);let y=async re=>await zee(e,i.message,i.attemptToken,t.seq,n,re),S=async re=>{let te=i.message.stopSettlement;return typeof te=="object"?te.TAG==="AwaitingStopSettlement"?await y("startup_stop_after_error"):await y("startup_stop_after_error"):(Qn(e,{TAG:"StartFailed",attemptToken:i.attemptToken}),ec(i.message),{TAG:"Error",_0:re})},T=i.message.stopSettlement;if(typeof T=="object")return T.TAG==="AwaitingStopSettlement"?await y("startup_stop_before_attachment"):await y("startup_stop_before_attachment");let w;w=typeof o!="object"?KY(a.cwd,a.kandanUrl,a.token,t):Promise.resolve({TAG:"Ok",_0:o._0});let A=await w;if(A.TAG!=="Ok")return await S(A._0);let P=A._0,C=async(re,te)=>{let W=Xd(e.messageStateAttemptGenerations,t.seq),j=await Ro(e,t.seq,"recovering","waiting to apply updated session settings",void 0,void 0,void 0,void 0,void 0),X;if(typeof j!="object")j==="MessageStateApplied"||a.log("codex.turn_start_repark_consensus_unconfirmed",Object.fromEntries([["queued_seq",t.seq],["linzumi_thread_id",a.threadId],["codex_thread_id",a.harnessSessionId],["disposition","unconfirmed"]])),X=void 0;else if(j.TAG==="MessageStateTerminal"){let I=j._0,Q=O0(a.threadId,t.seq,I);Q.TAG==="Ok"?(dd(e,t.seq,"recovering",W,j),Qn(e,{TAG:"StartupTerminal",attemptToken:i.attemptToken}).forEach(ie=>{if(typeof ie!="object")switch(ie){case"AdoptDurableTerminal":case"ClearTurnPresentation":case"DispatchSettled":return;default:throw new Error("unexpected lifecycle effect after settings terminal consensus")}else{if(ie.TAG==="ResolveStop"){let se=ie._0.resolution;return typeof se!="object"?ld(e,i.message,{TAG:"Ok",_0:[]}):ld(e,i.message,{TAG:"Error",_0:se._0})}throw new Error("unexpected lifecycle effect after settings terminal consensus")}}),ec(i.message),P0(e,"kandan.typing_stop_after_settings_terminal_failed",[["thread_id",a.threadId],["source_seq",t.seq]]),e.processingReason=void 0,e.processingSeq=void 0,e.processingApproval=void 0,X=await g(Fee(t),0,void 0)):(a.log("codex.turn_start_repark_consensus_unconfirmed",Object.fromEntries([["queued_seq",t.seq],["linzumi_thread_id",a.threadId],["codex_thread_id",a.harnessSessionId],["disposition","terminal_identity_mismatch"],["stored_thread_id",I.threadId],["stored_source_seq",I.sourceSeq],["stored_status",I.status],["stored_reason",rt(I.reason,null,fa)],["message",Q._0]])),X=void 0)}else a.log("codex.turn_start_repark_consensus_unconfirmed",Object.fromEntries([["queued_seq",t.seq],["linzumi_thread_id",a.threadId],["codex_thread_id",a.harnessSessionId],["disposition","invalid"],["message",j._0]])),X=void 0;return X!==void 0?X.TAG!=="Ok"?{TAG:"TurnStartTerminalSettlementFailed",_0:X._0}:(n!==void 0&&a.releaseTransportCeilingRecovery(t.seq,n,"settings_repark_rejected_by_consensus"),"TurnStartSettledByConsensus"):typeof i.message.stopSettlement=="object"?"TurnStartSuppressedByStop":(P0(e,"kandan.typing_stop_after_settings_repark_failed",[["thread_id",a.threadId],["source_seq",t.seq]]),e.processingReason=void 0,e.processingSeq=void 0,e.processingApproval=void 0,e.pendingClaimedTurns.splice(0,0,{message:t,transportCeilingRecoveryRequestId:n,inputPreparation:{TAG:"ReusePreparedCodexInput",_0:P}}),Qn(e,{TAG:"StartFailed",attemptToken:i.attemptToken}),ec(i.message),a.log("codex.turn_start_reparked_for_session_settings",Object.fromEntries([["queued_seq",t.seq],["linzumi_thread_id",a.threadId],["codex_thread_id",a.harnessSessionId],["reason",re],["dispatch_runtime_settings_generation",te],["current_runtime_settings_generation",e.settingsResume.requestedGeneration]])),"TurnStartReparkedForSettings")},k=async()=>{if(typeof i.message.stopSettlement=="object")return"TurnStartSuppressedByStop";let te="turn/start",W=e.settingsResume.requestedGeneration,j=e.effectiveTurnSettings.defaults,X=j.collaborationMode,M=X!==void 0?Ze(await dV(a.harness,X,j.reasoningEffort,j.model),ie=>ie):{TAG:"Ok",_0:void 0};if(M.TAG!=="Ok")return{TAG:"TurnStartCompleted",_0:{TAG:"Error",_0:M._0}};if(typeof i.message.stopSettlement=="object")return"TurnStartSuppressedByStop";let Q=e.settingsUpdateSerialization.state,H;return H=typeof Q!="object"?e.settingsResume.requestedGeneration!==W?"settings_generation_changed":void 0:"settings_update_pending",H!==void 0?await C(H,W):{TAG:"TurnStartCompleted",_0:await xp(a.timers,G0(a.env),te,a.harness.request(te,QDe(a.harnessSessionId,P,a.cwd,j,M._0)))}},$=async re=>{let te=a.harnessSessionId,W=await Bee(a.threadId,te,()=>Hee(a,e.effectiveTurnSettings.defaults),a.onCodexThreadRebound,a.rollbackCodexThreadRebound,a.retireFailedCodexThreadRebound,a.prepareFreshCodexThread,X=>Vee(a,X),X=>{a.harnessSessionId=X},X=>Kee(a,X));if(W.TAG==="Ok"){let X=W._0;a.log("codex.thread_rebound",{linzumi_thread_id:a.threadId,old_codex_thread_id:te,new_codex_thread_id:X,rebind_attempt:1,max_attempts:1});let M=await k(),I;if(typeof M!="object")switch(M){case"TurnStartSuppressedByStop":case"TurnStartReparkedForSettings":case"TurnStartSettledByConsensus":I=void 0;break}else if(M.TAG==="TurnStartCompleted"){let H=M._0;if(H.TAG==="Ok"){let ie=H._0;I=ie.TAG==="ResultReply"?void 0:ie.message}else I=H._0}else I=M._0;let Q=z(I,uj);return Q!==void 0&&Q&&a.log("codex.thread_rebind_exhausted",{kandan_thread_id:a.threadId,codex_thread_id:X,queued_seq:t.seq,max_attempts:1}),M}let j=W._0;return a.log("codex.thread_rebind_failed",{kandan_thread_id:a.threadId,old_codex_thread_id:te,message:j}),{TAG:"TurnStartCompleted",_0:{TAG:"Error",_0:"thread rebind failed after "+re+": "+j}}},V=await k(),F;if(typeof V!="object")switch(V){case"TurnStartSuppressedByStop":F="TurnStartSuppressedByStop";break;case"TurnStartReparkedForSettings":F="TurnStartReparkedForSettings";break;case"TurnStartSettledByConsensus":F="TurnStartSettledByConsensus";break}else if(V.TAG==="TurnStartCompleted"){let re=V._0;if(re.TAG==="Ok"){let te=re._0;if(te.TAG==="ResultReply")F={TAG:"TurnStartCompleted",_0:{TAG:"Ok",_0:te}};else{let W=te.message;F=uj(W)?await $(W):{TAG:"TurnStartCompleted",_0:{TAG:"Error",_0:W}}}}else{let te=re._0;F=uj(te)?await $(te):{TAG:"TurnStartCompleted",_0:{TAG:"Error",_0:te}}}}else F={TAG:"TurnStartTerminalSettlementFailed",_0:V._0};let D=0,q;try{q=F,D=3}catch(re){let te=N(re);return await S("turn/start failed: "+ke(te).message)}if(D===3)if(typeof q!="object")switch(q){case"TurnStartSuppressedByStop":return await y("startup_stop_before_request");case"TurnStartReparkedForSettings":return{TAG:"Ok",_0:"TurnReparkedForSettings"};case"TurnStartSettledByConsensus":return{TAG:"Ok",_0:"TurnSettledByStartupConsensus"}}else{if(q.TAG!=="TurnStartCompleted")return{TAG:"Error",_0:q._0};let re=q._0;if(re.TAG!=="Ok")return await S("turn/start failed: "+re._0);let te=re._0;if(te.TAG!=="ResultReply")return await S("turn/start failed: "+te.message);let W=vMe(te);if(W===void 0)return await S("turn/start reply carried no turn id");let j=Qn(e,{TAG:"StartSucceeded",attemptToken:i.attemptToken,turnId:W});e.turnSeqs.set(W,t.seq),a.log("codex.turn_started",Object.fromEntries([["turn_id",W]]));let X=i.message.stopSettlement,M=0;if(typeof X!="object")return ec(i.message),j.forEach(I=>{if(typeof I=="object")switch(I.TAG){case"ReplayStartingPaints":let Q=I._0;if(Q.turnId===W){Q.paints.forEach(H=>{if(H.paintTurnId===W&&li(e.processingReason,H.reason)){wf(e,t.seq,H.reason,void 0);return}});return}else return;case"NotifyTurnMappingReady":return jee(e,I._0.turnId);default:return}}),{TAG:"Ok",_0:"TurnDispatched"};if(M=4,M===4){if(i.message.ownedHarnessRetirementPending=It(a.retireOwnedHarnessAfterStop),j.forEach(Q=>{if(!(typeof Q!="object"||Q.TAG!=="NotifyTurnMappingReady"))return jee(e,Q._0.turnId)}),j.some(Q=>typeof Q!="object"||Q.TAG!=="RequestInterrupt"?!1:Q._0.turnId===W)){let Q=await xp(a.timers,lte(a.env),"turn/interrupt",a.harness.request("turn/interrupt",Object.fromEntries([["threadId",a.harnessSessionId],["turnId",W]])));if(sx(e.providerTerminal,i.attemptToken,W)!=="AwaitDeferredCompletion"){let ie=0,se;if(Q.TAG==="Ok"){let de=Q._0;de.TAG==="ResultReply"?Qn(e,{TAG:"InterruptSucceeded",attemptToken:i.attemptToken,turnId:W}):(se=de.message,ie=5)}else se=Q._0,ie=5;if(ie===5){let de="turn/interrupt failed: "+se;Qn(e,{TAG:"InterruptFailed",attemptToken:i.attemptToken,turnId:W,message:de}).forEach(be=>{if(typeof be=="object")switch(be.TAG){case"CloseAndReapHarness":nte(e,be._0.attemptToken);return;case"ResolveStop":let Xe=be._0.resolution;return typeof Xe!="object"?ld(e,i.message,{TAG:"Ok",_0:[]}):ld(e,i.message,{TAG:"Error",_0:Xe._0});default:return}}),a.log("codex.turn_interrupt_after_stop_abort_failed",Object.fromEntries([["thread_id",a.threadId],["source_seq",t.seq],["turn_id",W],["message",de]]))}}a.log("codex.turn_start_ack_after_stop_abort",Object.fromEntries([["thread_id",a.threadId],["source_seq",t.seq],["turn_id",W]]))}return await y("startup_stop_after_ack")}}break;case"ProcessingPublishUnconfirmed":b=1;break;case"ProcessingPublishSuppressedByStop":return await zee(e,i.message,i.attemptToken,t.seq,n,"startup_stop_before_outcome_handling");case"ProcessingPublishSuppressedByTerminal":b=2;break}else b=_.TAG==="ProcessingPublishTerminal"?2:1;switch(b){case 1:ec(i.message);let y;if(y=typeof _!="object"?_==="ProcessingPublishUnconfirmed"?{TAG:"Ok",_0:["unconfirmed",[]]}:{TAG:"Error",_0:"unknown startup consensus settlement received a known startup outcome"}:_.TAG==="ProcessingPublishInvalid"?{TAG:"Ok",_0:["invalid",[["message",_._0]]]}:{TAG:"Error",_0:"unknown startup consensus settlement received a known startup outcome"},y.TAG==="Ok"){let T=y._0;e.processingReason=void 0,e.processingSeq=void 0,e.retryCandidates.delete(t.seq),e.autoRetryAttempts.delete(t.seq),a.log("linzumi.turn_start_consensus_not_applied_failed",Object.fromEntries([["thread_id",a.threadId],["source_seq",t.seq],["disposition",T[0]]].concat(T[1])));let w=await Ro(e,t.seq,"failed","startup_consensus_not_applied",!0,void 0,void 0,void 0,void 0);if(typeof w!="object"){if(w==="MessageStateApplied")return e.claimedFollowUpSeqs.delete(t.seq),n!==void 0&&a.releaseTransportCeilingRecovery(t.seq,n,"startup_consensus_not_applied"),{TAG:"Ok",_0:"TurnSettledByStartupConsensus"};let A="failed startup settlement was not confirmed for "+a.threadId+":"+t.seq.toString();return a.log("linzumi.turn_start_consensus_terminal_publish_failed",Object.fromEntries([["thread_id",a.threadId],["source_seq",t.seq],["disposition","unconfirmed"],["message",A]])),{TAG:"Error",_0:A}}else if(w.TAG==="MessageStateTerminal"){let A=w._0,P=A.sourceSeq===t.seq,C=A.threadId===a.threadId,k=0;if(P){if(C)return e.claimedFollowUpSeqs.delete(t.seq),n!==void 0&&a.releaseTransportCeilingRecovery(t.seq,n,"startup_consensus_not_applied"),{TAG:"Ok",_0:"TurnSettledByStartupConsensus"};k=3}else k=3;if(k===3){let $="failed startup settlement consensus identity mismatch: expected "+a.threadId+":"+t.seq.toString()+", received "+A.threadId+":"+A.sourceSeq.toString();return a.log("linzumi.turn_start_consensus_terminal_publish_failed",Object.fromEntries([["thread_id",a.threadId],["source_seq",t.seq],["disposition","terminal_identity_mismatch"],["message",$]])),{TAG:"Error",_0:$}}}else{let A="failed startup settlement returned invalid consensus for "+a.threadId+":"+t.seq.toString()+": "+w._0;return a.log("linzumi.turn_start_consensus_terminal_publish_failed",Object.fromEntries([["thread_id",a.threadId],["source_seq",t.seq],["disposition","invalid"],["message",A]])),{TAG:"Error",_0:A}}}else{let T=y._0;return a.log("linzumi.turn_start_consensus_settlement_invariant_failed",Object.fromEntries([["thread_id",a.threadId],["source_seq",t.seq],["message",T]])),{TAG:"Error",_0:T}}break;case 2:ec(i.message),e.processingReason=void 0,e.processingSeq=void 0;let S=await g(Fee(t),0,void 0);return S.TAG!=="Ok"?{TAG:"Error",_0:S._0}:(n!==void 0&&a.releaseTransportCeilingRecovery(t.seq,n,"restart_rejected_by_consensus"),{TAG:"Ok",_0:"TurnSettledByStartupConsensus"})}}async function Zo(e){if(e.shuttingDown)return;let t=await gte(e);if(t.TAG!=="Ok"||!t._0)return;let r=wMe(e);if(r.TAG!=="Ok")return e.deps.log("linzumi.parked_follow_up_claim_invariant_failed",Object.fromEntries([["thread_id",e.deps.threadId],[Go,e.deps.harnessSessionId],["message",r._0]]));let n=r._0;if(typeof n!="object")return;if(n.TAG==="ParkedFollowUpClaimBusy")return e.deps.log("linzumi.parked_follow_up_claim_busy",Object.fromEntries([["thread_id",e.deps.threadId],[Go,e.deps.harnessSessionId],["lifecycle_phase",n.lifecyclePhase],["dispatch_hold_count",n.dispatchHoldCount],["queued_seq",n.deferredSourceSeq]]));let i=n.pending,o=i.transportCeilingRecoveryRequestId,a=i.message,s=e.deps;s.log("commander.queued_follow_up_dispatching",Object.fromEntries([["queued_seq",a.seq],["thread_id",s.threadId],[Go,s.harnessSessionId]]));let l=await Sj(e,a,o,n.lifecycleStart,i.inputPreparation);e.turnDispatchHolds=e.turnDispatchHolds-1|0;let d=Af(e,!0);if(l.TAG==="Ok")return l._0==="TurnDispatched"||!d?void 0:await Zo(e);let u=l._0;return s.log("commander.queued_follow_up_dispatch_failed",Object.fromEntries([["queued_seq",a.seq],["message",u]])),await Ws(e,a.seq,"failed",u),o!==void 0&&s.releaseTransportCeilingRecovery(a.seq,o,"parked_dispatch_failed"),await Zo(e)}async function Sj(e,t,r,n,i){let o=i!==void 0?i:"PrepareQueuedInput",a=e.deps;if(e.processingReason="starting turn",e.processingSeq=t.seq,Tf(e.turnLifecycle,n.attemptToken))return await Lee(e,t,e.effectiveTurnSettings.defaults.modelProvider,r,n,o);let s=await e.effectiveTurnSettings.modelAccountPreflightForTurn();if(s.TAG==="ModelAccountRunnable")return await Lee(e,t,s._0.modelProvider,r,n,o);let l=s.message,d=s.reason,u=s.identity,c=u.modelProvider;a.log("linzumi.session_turn_model_account_preflight_rejected",Object.fromEntries([["queued_seq",t.seq],["linzumi_thread_id",a.threadId],[Go,a.harnessSessionId],["agent_provider",u.agentProvider],["model_provider",c!==void 0?c:null],["model",u.model],["reason","model_account_incompatible"],["discriminator",d]]));let f=await Ro(e,t.seq,"failed",l,void 0,void 0,void 0,void 0,ve({identity:u,reason:d}));if(e.processingReason=void 0,e.processingSeq=void 0,e.processingApproval=void 0,Qn(e,{TAG:"StartupFailed",attemptToken:n.attemptToken}),ec(n.message),typeof f!="object"){if(f!=="MessageStateApplied")return a.log("linzumi.session_turn_model_account_reject_publish_not_durable",Object.fromEntries([["queued_seq",t.seq],["linzumi_thread_id",a.threadId],[Go,a.harnessSessionId],["disposition","unconfirmed"],["discriminator",d]])),{TAG:"Error",_0:l}}else if(f.TAG!=="MessageStateTerminal")return a.log("linzumi.session_turn_model_account_reject_publish_not_durable",Object.fromEntries([["queued_seq",t.seq],["linzumi_thread_id",a.threadId],[Go,a.harnessSessionId],["disposition","invalid"],["invalid_detail",f._0],["discriminator",d]])),{TAG:"Error",_0:l};return r!==void 0&&a.releaseTransportCeilingRecovery(t.seq,r,"model_account_preflight_rejected"),{TAG:"Ok",_0:"TurnRejectedByModelAccountPreflight"}}function wMe(e){let t=e.pendingClaimedTurns[0];if(t===void 0)return{TAG:"Ok",_0:"ParkedFollowUpQueueEmpty"};if(Xee(e)==="SessionTurnSlotAvailable"){let a=_j(e,t.message);return a.TAG!=="Ok"?{TAG:"Error",_0:a._0}:(e.pendingClaimedTurns.splice(0,1),e.turnDispatchHolds=e.turnDispatchHolds+1|0,{TAG:"Ok",_0:{TAG:"ParkedFollowUpClaimed",pending:t,lifecycleStart:a._0}})}let n=e.turnDispatchHolds,i=e.turnLifecycle.phase,o;if(typeof i!="object")o="idle";else switch(i.TAG){case"Starting":o="starting";break;case"Running":o="running";break;case"StoppingStartup":o="stopping_startup";break;case"StoppingRunning":o="stopping_running";break;case"PublishingTerminal":o="publishing_terminal";break;case"SettlementAwaitingDispatchRelease":o="settlement_awaiting_dispatch_release";break;case"ClosingAfterUnconfirmedStop":o="closing_after_unconfirmed_stop";break}return{TAG:"Ok",_0:{TAG:"ParkedFollowUpClaimBusy",lifecyclePhase:o,dispatchHoldCount:n,deferredSourceSeq:t.message.seq}}}async function gte(e){let t=ete(e),r=e.settingsResumeInFlight,n=Zee(e.settingsResume,t);if(r)return{TAG:"Ok",_0:!1};if(n===void 0)return e.settingsResume.requestedGeneration>e.settingsResume.completedGeneration?{TAG:"Ok",_0:!1}:{TAG:"Ok",_0:!0};e.settingsResumeInFlight=!0;let i=e.effectiveTurnSettings.defaults,o=AZ(e.deps.harnessSessionId,i.model,i.reasoningEffort,i.approvalPolicy,i.sandbox,i.approvalContext,i.fast),a;if(o.TAG==="Ok"){e.deps.log("codex.session_settings_resume_requested",{codex_thread_id:e.deps.harnessSessionId,generation:n});let l=await GY(e.deps.harness,o._0);if(l.TAG==="Ok"){let d=l._0;a=d.TAG==="Success"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:d.message}}else a={TAG:"Error",_0:l._0}}else a={TAG:"Error",_0:o._0};if(e.settingsResumeInFlight=!1,a.TAG==="Ok")return e.settingsResume=nMe(e.settingsResume,n),e.deps.log("codex.session_settings_resume_completed",{codex_thread_id:e.deps.harnessSessionId,generation:n,current_generation:e.settingsResume.requestedGeneration}),await gte(e);let s=a._0;return e.deps.log("codex.session_settings_resume_failed",{message:s,generation:n}),{TAG:"Error",_0:s}}function AMe(e,t,r,n,i,o){let a=e.deps;if(n===void 0)return;let s=v(e.autoRetryAttempts.get(t),0)+1|0;e.autoRetryAttempts.set(t,s),a.log("codex.empty_turn_auto_retry",Object.fromEntries([["queued_seq",t],["attempt",s],["max_attempts",Y$]])),e.turnDispatchHolds=e.turnDispatchHolds+1|0,a.timers.setTimer(()=>{(async()=>{let l=Xd(e.messageStateAttemptGenerations,t),d=await Ro(e,t,"recovering","retrying empty turn",void 0,void 0,ve(r),ve(Yu(e.fateLadderRuns.get(t),r,i,ve(e.failoverOffers.get(t)))),void 0);if(dd(e,t,"recovering",l,d),ite(d)){let u=await _te(e,n,o);e.turnDispatchHolds=e.turnDispatchHolds-1|0;let c=Af(e,!0);if(u.TAG==="Ok")return u._0==="TurnDispatched"||!c?void 0:await Zo(e);let f=u._0;return a.log("codex.empty_turn_auto_retry_failed",Object.fromEntries([["queued_seq",t],["message",f]])),await Ws(e,t,"failed",f),o!==void 0&&a.releaseTransportCeilingRecovery(t,o,"retry_dispatch_failed"),await Zo(e)}return e.turnDispatchHolds=e.turnDispatchHolds-1|0,await Zo(e)})()},1500)}function kMe(e,t,r,n,i,o){let a=e.deps;if(n===void 0)return a.log("codex.mid_stream_stall_fresh_session_resume_failed",{queued_seq:t,thread_id:a.threadId,phase:"retained_candidate",message:"fresh-session resume retained candidate missing"});let s=v(e.autoRetryAttempts.get(t),0)+1|0;e.autoRetryAttempts.set(t,s),e.freshSessionResumeAttempts.set(t,E0(e)),e.turnDispatchHolds=e.turnDispatchHolds+1|0,(async()=>{let l=Xd(e.messageStateAttemptGenerations,t),d=await Ro(e,t,"recovering",OY,void 0,void 0,ve(r),ve(Yu(e.fateLadderRuns.get(t),r,i,ve(e.failoverOffers.get(t)))),void 0);if(dd(e,t,"recovering",l,d),ite(d)){let u=a.harnessSessionId,c=await Bee(a.threadId,u,()=>Hee(a,e.effectiveTurnSettings.defaults),a.onCodexThreadRebound,a.rollbackCodexThreadRebound,a.retireFailedCodexThreadRebound,a.prepareFreshCodexThread,m=>Vee(a,m),m=>{a.harnessSessionId=m},m=>Kee(a,m));if(c.TAG==="Ok"){a.log("codex.mid_stream_stall_fresh_session_resume",{queued_seq:t,old_codex_thread_id:u,new_codex_thread_id:c._0,shared_budget_attempt:s});let m=await _te(e,n,o);e.turnDispatchHolds=e.turnDispatchHolds-1|0;let p=Af(e,!0);if(m.TAG==="Ok")return m._0==="TurnDispatched"||!p?void 0:await Zo(e);let _=m._0;a.log("codex.mid_stream_stall_fresh_session_resume_failed",{queued_seq:t,phase:"turn_redispatch",message:_});let g=await Ro(e,t,"failed","fresh-session redispatch failed: "+_,!0,void 0,ve(r),ve(Yu(e.fateLadderRuns.get(t),r,i,ve(e.failoverOffers.get(t)))),void 0);return dd(e,t,"failed",l,g),o!==void 0&&a.releaseTransportCeilingRecovery(t,o,"fresh_session_redispatch_failed"),await Zo(e)}let f=c._0;a.log("codex.mid_stream_stall_fresh_session_resume_failed",{queued_seq:t,old_codex_thread_id:u,phase:"thread_rebind",message:f});let h=await Ro(e,t,"failed","fresh-session resume failed: "+f,!0,void 0,ve(r),ve(Yu(e.fateLadderRuns.get(t),r,i,ve(e.failoverOffers.get(t)))),void 0);return dd(e,t,"failed",l,h),e.turnDispatchHolds=e.turnDispatchHolds-1|0,o!==void 0&&a.releaseTransportCeilingRecovery(t,o,"fresh_session_resume_failed"),await Zo(e)}return e.turnDispatchHolds=e.turnDispatchHolds-1|0,await Zo(e)})()}function CMe(e,t,r,n,i,o,a,s,l){let d=e.deps;Jk(e,ve(t));let u=e.turnSeqs.get(t),c=sj(e.turnLifecycle),f=C0(e),h=f!==void 0&&f.turnId===t?f:void 0,m=E(h,F=>F.transportCeilingRecoveryRequestId),p=c!==void 0&&c.turnId===t?Tf(e.turnLifecycle,c.attemptToken):!1,_=e.turnLifecycle.phase,g;if(typeof _!="object")g=!0;else switch(_.TAG){case"StoppingStartup":g=typeof _._0.stage!="object"?!0:e.turnDispatchHolds===0;break;case"PublishingTerminal":let D=_._0.owner;g=D.TAG==="StartupStopOwner"&&D._0.lateTurnId!==void 0?e.turnDispatchHolds===0:!0;break;default:g=!0}let b;switch(r){case"completed":b="ProviderCompleted";break;case"failed":b="ProviderFailed";break;case"interrupted":b="ProviderInterrupted";break}let y;if(c!==void 0){let F=FY(e.providerTerminal,c.attemptToken,t);e.providerTerminal=F.next;let D=F.terminal;y=D!==void 0?D.terminal:b}else y=b;let S=p?c!==void 0?Qn(e,{TAG:"ProviderTerminalObserved",attemptToken:c.attemptToken,turnId:t,terminal:y}):[]:[];S.forEach(F=>{if(typeof F!="object")return F==="PublishInterruptedConsensus"&&c!==void 0?l(c.message,c.attemptToken,c.sourceSeq):void 0;if(F.TAG!=="ResolveStop")return;let D=F._0.resolution;return typeof D!="object"?c!==void 0?ld(e,c.message,{TAG:"Ok",_0:[]}):void 0:c!==void 0?ld(e,c.message,{TAG:"Error",_0:D._0}):void 0}),S.some(F=>typeof F!="object"||F.TAG!=="ResolveStop"?!1:typeof F._0.resolution!="object")&&c!==void 0&&ste(e,c.message,c.attemptToken);let w=!1,A=!1,P;switch(e.processingReason=void 0,e.processingSeq=void 0,hte(e,t),r){case"completed":u!==void 0&&(d.commitAppliedSourceSeq(u,m),e.autoRetryAttempts.delete(u),e.midStreamResumeAttempts.delete(u),e.freshSessionResumeAttempts.delete(u),e.retryCandidates.delete(u),e.fateLadderRuns.delete(u),e.fateLadderBudgetsBySourceSeq.delete(u));break;case"failed":if(u!==void 0){let F=!p,D=mj(e,u),q=!1;if(s!==void 0){let W=v(e.autoRetryAttempts.get(u),0)<Y$,j=F&&(i||o)&&W,X=F&&W&&!d.harness.isClosed(),M=F&&a&&W&&!d.harness.isClosed(),I={inPlaceResume:j,redispatch:X,workerRebuild:!1,freshSessionResume:M},Q=AY({fate:s,run:e.fateLadderRuns.get(u),nowMs:E0(e),budgets:D,breaker:(H,ie)=>"Proceed",grants:I,rateLimitResetAtMs:void 0});if(Q.TAG!=="Stand"){let H;switch(Q.TAG){case"Stand":H=["stand",void 0];break;case"ExecuteRung":H=["execute_rung",Q.rung];break;case"HoldUntilReset":H=["hold_until_reset",void 0];break;case"RouteOutageHold":H=["route_outage_hold",void 0];break;case"BreakerHold":H=["breaker_hold",void 0];break;case"Red":H=["red",void 0];break}let ie=H[1],se;if(se=Q.TAG==="Stand"?void 0:Q.run,se!==void 0){e.fateLadderRuns.set(u,se);let le={};le.turn_id=t,le.queued_seq=u,le.fate=s,le.decision=H[0],ie!==void 0&&(le.rung=ie),le.recovery_rungs_attempted=se.recoveryRungsAttempted,d.log("codex.fate_ladder_step",le)}if(Q.TAG==="ExecuteRung")switch(Q.rung){case"in_place_resume":o&&e.midStreamResumeAttempts.set(u,E0(e)),h!==void 0&&(q=!0,A=!0,w=!0),AMe(e,u,s,z(h,le=>le.message),D,m);break;case"fresh_session_resume":h!==void 0&&(q=!0,A=!0,w=!0),kMe(e,u,s,z(h,le=>le.message),D,m);break;case"redispatch":case"worker_rebuild":break}let de=d.switchProbe;if(Q.TAG==="Red"&&de!==void 0){let le=wY(s,Q.cause,{sourceHarness:"codex",targetHarness:de.targetHarness,model:de.model,backendDead:d.harness.isClosed(),exportable:e.activityJournalItemCount>0,targetAdapterAvailable:de.targetAdapterAvailable()});if(le!==void 0){e.failoverOffers.set(u,le),d.log("codex.fate_ladder_failover_offer",Object.fromEntries([["queued_seq",u],["offer",y$(le)]]));let be={};be.workspace=d.workspaceSlug,be.channel=d.channelSlug,be.thread_id=d.threadId,be.instance_id=d.instanceId,be[Go]=d.harnessSessionId,be.seq=u,be.status="failed",n!==void 0&&(be.reason=n),be.fate=s,be.ladder=Yu(e.fateLadderRuns.get(u),s,D,ve(le));let Xe=d.actorSlug;Xe!==void 0&&(be.actor_slug=Xe);let Qe=d.actorUserId;Qe!==void 0&&(be.actor_user_id=Qe),d.transport.push(d.commanderTopic,"message_state",be,void 0,void 0,void 0).then(oe=>{})}}}}if(!q&&F&&(i||o||a)){let te=v(s,"transient_upstream");P=Ro(e,u,"failed",v(n,"codex_turn_failed"),!0,void 0,ve(te),ve(Yu(e.fateLadderRuns.get(u),te,D,ve(e.failoverOffers.get(u)))),void 0).then(j=>cMe(d.threadId,u,j))}!q&&m!==void 0&&d.releaseTransportCeilingRecovery(u,m,"failed_terminal")}break;case"interrupted":u!==void 0&&(e.midStreamResumeAttempts.delete(u),e.freshSessionResumeAttempts.delete(u),e.fateLadderBudgetsBySourceSeq.delete(u),m!==void 0&&d.releaseTransportCeilingRecovery(u,m,"interrupted_terminal"));break}let C=P,k;if(C!==void 0)Nl(e.pipeline,F=>{F.awaitLatestMessageStateAcknowledgementForTurn(t)}),k=C;else{let F=e.pipeline;k=F!==void 0?F.awaitLatestMessageStateAcknowledgementForTurn(t):void 0}let $=A,V=d.retireRecoveryRecordOnTerminal;if(k!==void 0&&u!==void 0&&!($||V===void 0)&&YDe(k,u,V,F=>d.log("runner.recovery_record_terminal_settlement_failed",Object.fromEntries([["thread_id",d.threadId],["turn_id",t],["source_seq",u],["message",F]]))),c!==void 0&&c.turnId===t){if(!p){let F=w?"NoPickupRequested":"PickupOldestParkedRequested";Qn(e,{TAG:"RunningTerminalObserved",attemptToken:c.attemptToken,turnId:t,pickupRequest:F})}if(Af(e,g)){Zo(e);return}}}async function As(e,t,r,n){let i=r[n];if(i!==void 0){if(typeof i!="object")switch(i){case"ClearTurnPresentation":e.processingReason=void 0,e.processingSeq=void 0,e.processingApproval=void 0;break;case"DiscardStoppedCandidate":rte(e,t.message.seq);break;case"DispatchSettled":ec(t);break;case"PickupOldestParked":await Zo(e);break}else switch(i.TAG){case"ArmStopDeadline":let o=i._0.attemptToken,a=t.stopDeadlineOwnership;if(typeof a!="object"&&a==="StopDeadlineUnarmed"){t.stopDeadlineOwnership="StopDeadlineArming";let l=e.deps.timers.setTimer(()=>{let c=t.stopDeadlineOwnership;if(typeof c!="object"&&c!=="StopDeadlineArming")return;t.stopDeadlineOwnership="StopDeadlineFired";let f=Qn(e,{TAG:"StopDeadlineElapsed",_0:{attemptToken:o}});As(e,t,f,0)},dte(e.deps.env)),d=t.stopDeadlineOwnership,u=0;if(typeof d!="object")switch(d){case"StopDeadlineUnarmed":u=1;break;case"StopDeadlineArming":t.stopDeadlineOwnership={TAG:"StopDeadlineArmed",_0:l};break;case"StopDeadlineFired":case"StopDeadlineCancelled":e.deps.timers.clearTimer(l);break}else u=1;u===1&&e.deps.log("linzumi.stop_deadline_ownership_invalid",Object.fromEntries([["thread_id",e.deps.threadId],["attempt_token",o]]))}break;case"CloseAndReapHarness":nte(e,i._0.attemptToken)&&await Zo(e);break;case"DrainApprovals":Jk(e,ve(i._0.turnId));break;case"ResolveStop":let s=i._0.resolution;typeof s!="object"?ld(e,t,{TAG:"Ok",_0:[]}):ld(e,t,{TAG:"Error",_0:s._0});break}return await As(e,t,r,n+1|0)}}async function Tj(e){let t="chat:"+e.workspaceSlug+":"+e.channelSlug,r=await e.transport.join(t,SK(e.commanderId,e.threadId,0),{rejoinPayload:void 0,registrationId:void 0});if(r.TAG!=="Ok")return{TAG:"Error",_0:"chat join failed: "+qn(r._0)};let n={};n.workspace=e.workspaceSlug,n.channel=e.channelSlug,n.thread_id=e.threadId,await e.transport.push(e.commanderTopic,"session:thread_context",n,void 0,void 0,void 0);let i=async()=>{let M={};M.workspace=e.workspaceSlug,M.channel=e.channelSlug,M.thread_id=e.threadId;let I=await e.transport.push(e.commanderTopic,"session:user_input_transport_ceiling_recover",M,void 0,void 0,void 0);if(I.TAG!=="Ok")return e.log("commander.transport_ceiling_recover_push_failed",Object.fromEntries([["thread_id",e.threadId],["message",qn(I._0)]]))},o=await e.transport.push(e.commanderTopic,"session:bind",fj(e,e.harnessSessionId),void 0,void 0,void 0);o.TAG==="Ok"?await i():e.log("kandan.session_bind_push_failed",Object.fromEntries([["thread_id",e.threadId],["message",qn(o._0)]]));let a={contents:!0};e.transport.onReconnect(async M=>{if(!a.contents)return;e.log("kandan.reconnected",Object.fromEntries([["kandan_thread_id",e.threadId],["codex_thread_id",e.harnessSessionId]]));let I=await e.transport.push(e.commanderTopic,"session:bind",fj(e,e.harnessSessionId),void 0,void 0,void 0);I.TAG!=="Ok"&&e.log("kandan.session_bind_push_failed",Object.fromEntries([["thread_id",e.threadId],["message",qn(I._0)]]));let Q={};Q.workspace=e.workspaceSlug,Q.channel=e.channelSlug,Q.thread_id=e.threadId,Q.codex_thread_id=e.harnessSessionId,Q.provider_session_key=e.harnessSessionId,Q.agent_provider="codex",Q.cwd=e.cwd;let H={};H.threads=[Q];let ie=await e.transport.push(e.commanderTopic,"session:reannounce_threads",H,void 0,void 0,void 0);return ie.TAG==="Ok"?e.log("kandan.thread_sessions_reannounced",Object.fromEntries([["count",1]])):e.log("kandan.thread_sessions_reannounce_failed",Object.fromEntries([["count",1],["message",qn(ie._0)]]))});let s={deps:e,effectiveTurnSettings:{defaults:e.defaults,modelAccountPreflightForTurn:e.modelAccountPreflightForTurn},turnSeqs:new Map,providerTerminal:"NoPendingProviderTerminal",stopPublicationOwnership:"NoStopPublicationOwner",pipeline:void 0,turnLifecycle:Ree(),processingReason:void 0,processingApproval:void 0,processingSeq:void 0,approvalFailureDurability:"NoApprovalFailureAwaitingDurability",serverTerminalSourceSeqs:new Set,serverTerminalSourceSeqOrder:[],messageStateAttemptGenerations:{values:new Map,insertionOrder:[]},typingActive:!1,typingHeartbeatInFlight:!1,typingHeartbeatTimer:void 0,autoRetryAttempts:new Map,midStreamResumeAttempts:new Map,freshSessionResumeAttempts:new Map,retryCandidates:new Map,fateLadderBudgetsBySourceSeq:new Map,pendingClaimedTurns:[],pendingApprovalRequests:new Map,pendingManualCompaction:void 0,pendingNativeQuestions:new Map,settingsResume:tMe,settingsResumeInFlight:!1,settingsUpdateSerialization:{state:"SettingsUpdateAvailable"},claimedFollowUpSeqs:new Set,turnDispatchHolds:0,stopDrainFenceOwner:void 0,stopOwnedHarnessRetirementAttemptToken:void 0,stopRetiredOwnedHarnessAttemptToken:void 0,streamEventTick:0,lastHarnessActivityAtMs:void 0,shuttingDown:!1,fateLadderRuns:new Map,activityJournalTurns:[],activityJournalItemCount:0,failoverOffers:new Map,switchedTargetSession:void 0},l=async M=>{let I=await e.transport.push(e.commanderTopic,"session:stream_thread_message",M,void 0,void 0,void 0);return I.TAG==="Ok"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:qn(I._0)}},d=(M,I,Q)=>fee(I.settlement)?(M.pendingNativeQuestions.delete(I.request.requestId),I.settle(Q),!0):!1,u=async(M,I)=>{let Q=Fk(I,new Date().toISOString(),void 0,void 0);if(Q.TAG==="Ok"){let ie=qk(M.request,M.binding,Q._0);if(ie.TAG==="Ok"){let de;try{de=await l(ie._0)}catch(be){let Xe=N(be),Qe=St(Xe);de={TAG:"Error",_0:Qe!==void 0?v(At(ce(Qe)),"unknown native-question cleanup publication failure"):"unknown native-question cleanup publication failure"}}if(de.TAG==="Ok")return e.log("codex.native_question_cleanup_published",{request_id:M.request.requestId,reason:I}),{TAG:"Ok",_0:void 0};let le=de._0;return e.log("codex.native_question_cleanup_publish_failed",{request_id:M.request.requestId,reason:I,message:le}),{TAG:"Error",_0:le}}let se=ie._0;return e.log("codex.native_question_cleanup_author_failed",{request_id:M.request.requestId,stage:"payload",message:se}),{TAG:"Error",_0:se}}let H=Q._0;return e.log("codex.native_question_cleanup_author_failed",{request_id:M.request.requestId,stage:"answer_state",message:H}),{TAG:"Error",_0:H}},c=async M=>{let I=cee(M.settlement);if(typeof I!="object")return I==="TerminalReleased"?void 0:e.log("codex.native_question_terminal_release_diverged",{request_id:M.request.requestId});let Q=I._0;await u(M,Q),d(s,M,{TAG:"Error",_0:Q})},f=async(M,I)=>{let Q=s.pendingNativeQuestions.values().toArray();await Promise.all(Q.map(async H=>{if(!M(H))return;switch(dee(H.settlement,I)){case"CleanupClaimed":await u(H,I),d(s,H,{TAG:"Error",_0:I});return;case"CleanupWonInitialPublication":d(s,H,{TAG:"Error",_0:I});return;case"CleanupDeferred":case"CleanupAlreadySettled":return}}))},h=async(M,I,Q,H)=>{let ie=$Y(s.stopPublicationOwnership,I);if(s.stopPublicationOwnership=ie.next,!ie.claimed)return;let se=await Ro(s,Q,"interrupted",H,void 0,void 0,void 0,void 0,void 0),de;if(typeof se!="object")de=se==="MessageStateApplied"?"InterruptedApplied":"PublicationUnconfirmed";else if(se.TAG==="MessageStateTerminal"){let Xe=O0(e.threadId,Q,se._0);de=Xe.TAG==="Ok"?"StoredTerminal":{TAG:"PublicationInvalid",_0:Xe._0}}else de={TAG:"PublicationInvalid",_0:se._0};let le=M.stopSettlement;if(typeof le=="object"&&le.TAG!=="AwaitingStopSettlement")return;let be=Qn(s,{TAG:"TerminalPublicationSettled",attemptToken:I,settlement:de});if(await As(s,M,be,0),!(s.turnDispatchHolds>0||!Af(s,!0)))return await Zo(s)},m=e.workspaceSlug+":"+e.channelSlug+":"+e.threadId,p=Uk({instanceId:e.instanceId,threadKey:m,persistDir:e.persistDir,push:async(M,I,Q,H)=>{let ie=await e.transport.push(e.commanderTopic,M,I,H,void 0,void 0);if(ie.TAG==="Ok")return{TAG:"Acked",_0:ie._0};let se=ie._0;return{TAG:"PushFailed",message:qn(se),budgetExempt:Lk(se)}},wire:()=>({workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,threadId:e.threadId,harnessSessionId:e.harnessSessionId,rootSeq:e.rootSeq,leaseEpoch:e.leaseEpochFor(e.threadId)}),rowEnvelope:(M,I,Q,H)=>{let ie={};return ie.event_type=M,ie[Go]=I,Q!==void 0&&(ie.source_message_seq=Q),H!==void 0&&(ie.metadata=H),ie},runtimeMetadataForSourceSeq:void 0,sourceSeqForTurn:M=>s.turnSeqs.get(M),autoRetryAttemptsForSeq:M=>v(s.autoRetryAttempts.get(M),0),midStreamResumeAttemptAtMsForSeq:M=>s.midStreamResumeAttempts.get(M),freshSessionResumeAttemptAtMsForSeq:M=>s.freshSessionResumeAttempts.get(M),ladderHistoryForSeq:(M,I)=>ct(Yu(s.fateLadderRuns.get(M),I,mj(s,M),ve(s.failoverOffers.get(M)))),sessionExecutesRecoveryGrants:!0,sandboxNetworkDenialSurfacing:!0,isRecoveredTurn:void 0,resolveSnapshot:async M=>{let I=await oX(e.timers,G0(e.env),"thread/read",e.harness.request("thread/read",Object.fromEntries([["threadId",e.harnessSessionId],["includeTurns",!0]])));if(I.TAG!=="Ok")return{TAG:"Error",_0:I._0};let Q=I._0;if(Q.TAG!=="ResultReply")return{TAG:"Error",_0:Q.message};let H={};return H.result=Q._0,{TAG:"Ok",_0:Gee(H,M).map(ie=>ie)}},onTurnTerminal:(M,I,Q,H,ie,se,de)=>CMe(s,M,I,Q,H,ie,se,de,(le,be,Xe)=>{h(le,be,Xe,"stopped by user")}),log:e.log,linzumiAgentSession:!1,outboxRetryDelaysMs:void 0,outboxMaxInFlightPushes:void 0,snapshotRetryDelaysMs:void 0,journalRecoveryMaxAgeMs:void 0,statsIntervalMs:0,turnStalledThresholdMs:void 0,turnWaitStates:void 0,traceparentForThread:M=>{},sleep:void 0});s.pipeline=p;let _=(M,I)=>{hMe(s,M,I);let Q=qY(M,I);if(typeof Q=="object"&&Q.TAG!=="InvalidProviderTerminal"){let se=Q._0;f(de=>de.request.turnId===se.turnId,"Codex turn ended before the user answered")}let H;if(typeof Q!="object")H={TAG:"ForwardProviderNotification",_0:{clearAfterSubmit:void 0}};else if(Q.TAG==="InvalidProviderTerminal"){let se=Q.reason;e.log("codex.provider_terminal_invalid",Object.fromEntries([["method",M],["reason",se]]));let de=Wk(s.turnLifecycle);if(de!==void 0)if(de.TAG==="StopTerminalAwaitingMapping")H={TAG:"RejectStopOwnedInvalidTerminal",attemptToken:de.attemptToken,lifecycleMessage:de.message,reason:se};else{let le=de.running;H={TAG:"RejectStopOwnedInvalidTerminal",attemptToken:le.attemptToken,lifecycleMessage:le.message,reason:se}}else H={TAG:"ForwardProviderNotification",_0:{clearAfterSubmit:void 0}}}else{let se=Q._0,de=Wk(s.turnLifecycle);if(de!==void 0)if(de.TAG==="StopTerminalAwaitingMapping")switch(s.providerTerminal=jY(s.providerTerminal,de.attemptToken,se),se.terminal){case"ProviderCompleted":H={TAG:"ForwardProviderNotification",_0:{clearAfterSubmit:void 0}};break;case"ProviderFailed":case"ProviderInterrupted":H={TAG:"SubmitStopInterrupted",_0:{turnId:se.turnId,clearAfterSubmit:void 0}};break}else{let le=de.running;if(le.turnId===se.turnId)if(sx(s.providerTerminal,le.attemptToken,se.turnId)==="AwaitDeferredCompletion")H={TAG:"DropProviderNotification",attemptToken:le.attemptToken,turnId:se.turnId,terminal:se.terminal};else{let Xe=se.terminal,Qe=0;if(de.completionMayWin)switch(Xe){case"ProviderCompleted":s.providerTerminal=k$(s.providerTerminal,le.attemptToken,se.turnId),H={TAG:"ForwardProviderNotification",_0:{clearAfterSubmit:void 0}};break;case"ProviderFailed":case"ProviderInterrupted":Qe=1;break}else Qe=1;if(Qe===1){s.providerTerminal=A$(s.providerTerminal,le.attemptToken,"SynchronousCallback",se);let oe={attemptToken:le.attemptToken,turnId:se.turnId};H={TAG:"SubmitStopInterrupted",_0:{turnId:se.turnId,clearAfterSubmit:oe}}}}else H={TAG:"ForwardProviderNotification",_0:{clearAfterSubmit:void 0}}}else{let le=s.turnLifecycle.phase,be=se.terminal;if(typeof le!="object"||le.TAG!=="Running")H={TAG:"ForwardProviderNotification",_0:{clearAfterSubmit:void 0}};else{let Xe=le._0;switch(be){case"ProviderCompleted":Xe.turnId===se.turnId?(s.providerTerminal=k$(s.providerTerminal,Xe.attemptToken,se.turnId),H={TAG:"ForwardProviderNotification",_0:{clearAfterSubmit:void 0}}):H={TAG:"ForwardProviderNotification",_0:{clearAfterSubmit:void 0}};break;case"ProviderFailed":case"ProviderInterrupted":H={TAG:"ForwardProviderNotification",_0:{clearAfterSubmit:void 0}};break}}}}TMe(s,M,I);let ie=C0(s);if(ie!==void 0){if(Iee(ie.turnId,E(I.turnId,qr))){s.lastHarnessActivityAtMs=Date.now(),s.streamEventTick=s.streamEventTick+1|0;let de=v$(M,I);if(de!==void 0){let le=de;li(s.processingReason,le)&&wf(s,ie.sourceSeq,le,void 0)}}}else{let se=s.turnLifecycle.phase,de=E(I.turnId,qr),le=v$(M,I);if(typeof se=="object"&&se.TAG==="Starting"&&de!==void 0&&le!==void 0){let be=se._0,Xe=le;be.stage!=="Preparing"&&Qn(s,{TAG:"BufferStartingPaint",_0:{attemptToken:be.attemptToken,paint:{paintTurnId:de,reason:Xe}}})}}switch(H.TAG){case"DropProviderNotification":let se;switch(H.terminal){case"ProviderCompleted":se="completed";break;case"ProviderFailed":se="failed";break;case"ProviderInterrupted":se="interrupted";break}return e.log("codex.provider_terminal_deferred_completion_duplicate_dropped",Object.fromEntries([["branch","deferred_completion_owns_snapshot"],["method",M],["attempt_token",H.attemptToken],["turn_id",H.turnId],["provider_terminal",se]]));case"ForwardProviderNotification":let de=H._0.clearAfterSubmit;if(p.submitNotification(M,KDe(M,I)),de!==void 0){s.providerTerminal=Tk(s.providerTerminal,de.attemptToken,de.turnId);return}else return;case"SubmitStopInterrupted":let le=H._0,be=le.clearAfterSubmit;if(p.submitNotification(Mk,{turnId:le.turnId,reason:"stopped by user"}),be!==void 0){s.providerTerminal=Tk(s.providerTerminal,be.attemptToken,be.turnId);return}else return;case"RejectStopOwnedInvalidTerminal":let Xe=Qn(s,{TAG:"ProviderTerminalInvalid",attemptToken:H.attemptToken,reason:H.reason});As(s,H.lifecycleMessage,Xe,0);return}},g=M=>M==="item/commandExecution/requestApproval"?!0:M==="item/fileChange/requestApproval",b=M=>{if(M.threadId!==e.harnessSessionId)return;let I=C0(s),Q;if(I!==void 0)Q=I.turnId===M.turnId?I.sourceSeq:void 0;else{let H=s.turnLifecycle.phase;if(typeof H!="object")Q=void 0;else switch(H.TAG){case"Starting":Q=H._0.sourceSeq;break;case"StoppingStartup":Q=H._0.starting.sourceSeq;break;default:Q=void 0}}return z(Q,H=>({workspace:e.workspaceSlug,channel:e.channelSlug,kandanThreadId:e.threadId,sourceSeq:H,leaseEpoch:e.leaseEpochFor(e.threadId)}))},y=async M=>{let I=b(M);if(I===void 0)return;let Q=mee(M);if(Q.TAG==="Ok"){let H=Q._0,ie=s.pendingNativeQuestions.has(H.requestId),se=_ee(H,I);if(ie)throw new Error("Codex request_user_input id was already pending");if(se.TAG==="Ok"){let de=see();switch(lee(de)){case"Claimed":let be=l(se._0),Xe=new Promise((oe,Te)=>{s.pendingNativeQuestions.set(H.requestId,{request:H,binding:I,settle:oe,settlement:de,initialPublication:be})}),Qe=s.pendingNativeQuestions.get(H.requestId);if(Qe!==void 0){let oe=await be,Te;if(oe.TAG==="Ok"){e.log("codex.native_question_published",{request_id:H.requestId,source_seq:I.sourceSeq});let Ne=s.pendingNativeQuestions.has(H.requestId),ae=uee(Qe.settlement);if(Ne)if(ae)Te=void 0;else throw new Error("Codex request_user_input initial publication ownership diverged");else{if(ae)throw new Error("Codex request_user_input initial publication ownership diverged");Te=await Xe}}else{let Ne=oe._0;e.log("codex.native_question_publish_failed",{request_id:H.requestId,message:Ne}),d(s,Qe,{TAG:"Error",_0:Ne}),Te=void 0}if(Te!==void 0){if(Te.TAG==="Ok")return Te._0;let Ne=Te._0,ae=Fk(Ne,new Date().toISOString(),void 0,void 0);if(ae.TAG==="Ok"){let Ue=qk(Qe.request,Qe.binding,ae._0);if(Ue.TAG==="Ok"){let Ee=await l(Ue._0);throw Ee.TAG==="Ok"?new Error(Ne):new Error(Ee._0)}throw new Error(Ue._0)}throw new Error(ae._0)}let qe=await Xe;if(qe.TAG==="Ok")return qe._0;throw new Error(qe._0)}throw new Error("Codex request_user_input continuation was not created");case"Busy":case"AlreadySettled":throw new Error("Codex request_user_input initial publication was not claimable")}}else throw new Error(se._0)}else throw new Error(Q._0)},S=async M=>{if(M.TAG==="KnownServerRequest"){let Te=M.value;if(Te.method==="item/tool/requestUserInput")return a.contents?await y(Te.params):void 0}let I=oJ(M);if(I===void 0||!g(I.kind))return;let Q=ct(I.payload),H=I.threadId,ie=I.turnId;if(!J(H,e.harnessSessionId))return;let se=C0(s);if(ie===void 0||se===void 0||se.turnId!==ie)return;if(Tf(s.turnLifecycle,se.attemptToken))return Object.fromEntries([["decision","decline"]]);let de=MY(jy(M),I.kind,Q);s.processingReason="awaiting approval",s.processingSeq=se.sourceSeq,s.processingApproval=de;let le=vk(de.requestId,se.sourceSeq);if(s.pendingApprovalRequests.get(le)!==void 0)return;let Xe=new Promise((Te,qe)=>{s.pendingApprovalRequests.set(le,{requestId:de.requestId,sourceSeq:se.sourceSeq,turnId:ie,resolveDecision:Te,resolved:!1})}),Qe=Xd(s.messageStateAttemptGenerations,se.sourceSeq),oe=await ote(s,se.sourceSeq,de);return typeof oe!="object"||await fte(s,se.sourceSeq,Qe,de,oe._0),await Xe},T=M=>{let I=s.processingApproval,Q=C0(s);return I!==void 0&&Q!==void 0&&Q.turnId===M.turnId&&Q.sourceSeq===M.sourceSeq&&I.requestId===M.requestId&&J(s.processingSeq,M.sourceSeq)?J(s.processingReason,"awaiting approval"):!1},w=async(M,I,Q)=>{if(I.resolved)return{TAG:"Error",_0:"approval_request_not_found"};let H=T(I),ie=await wf(s,I.sourceSeq,"streaming response",void 0),se=uMe(ie,H);if(typeof se=="object"){let le=se._0;return H&&(s.processingReason=void 0,s.processingSeq=void 0,s.processingApproval=void 0),I.resolved=!0,I.resolveDecision({decision:"decline"}),s.pendingApprovalRequests.delete(M),e.log("codex.approval_request_resolution_refused",{request_id:I.requestId,source_seq:I.sourceSeq,message:le}),{TAG:"Error",_0:le}}let de=Q==="approve"?"accept":"decline";return I.resolved=!0,s.pendingApprovalRequests.delete(M),I.resolveDecision({decision:de}),typeof se!="object"&&se==="ApprovalAcceptAndRefreshPresentation"&&(s.processingReason="streaming response",s.processingSeq=I.sourceSeq,s.processingApproval=void 0),e.log("codex.approval_request_resolved",{request_id:I.requestId,source_seq:I.sourceSeq,decision:Q,codex_decision:de}),{TAG:"Ok",_0:void 0}},A=async(M,I,Q)=>{let H=vk(I,M),ie=s.pendingApprovalRequests.get(H);return ie!==void 0?await w(H,ie,Q):{TAG:"Error",_0:"approval_request_not_found"}},P=async(M,I,Q,H,ie,se)=>{let de=I.trim(),le=Q.trim(),be=H.trim(),Xe=ie.trim(),Qe=se.trim(),oe=sr(M)&&M>0,Te=de===""?{TAG:"Error",_0:"request_id_required"}:le===""?{TAG:"Error",_0:"workspace_required"}:be===""?{TAG:"Error",_0:"channel_required"}:le===e.workspaceSlug?be===e.channelSlug?Xe==="codex"?Qe===""?{TAG:"Error",_0:"provider_session_key_required"}:Qe===e.harnessSessionId?oe?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:"source_seq_invalid"}:{TAG:"Error",_0:"thread_not_bound"}:{TAG:"Error",_0:"agent_compaction_unsupported:"+Xe}:{TAG:"Error",_0:"channel_not_bound"}:{TAG:"Error",_0:"workspace_not_bound"};if(Te.TAG==="Ok")switch(yY(Hk(s.turnLifecycle),s.turnDispatchHolds,It(s.pendingManualCompaction))){case"Admit":let Ne=new Promise((Be,ht)=>{s.pendingManualCompaction={requestId:I,sourceSeq:M,lifecycle:"AwaitingStart",processing:void 0,awaitingFallbackDurability:!1,settle:Be,queuedTurnCount:()=>s.pendingClaimedTurns.length,redriveQueuedTurns:()=>{Zo(s)}}}),ae;try{ae=await IY(e.harness,{threadId:e.harnessSessionId})}catch(Be){let ht=N(Be);ae={TAG:"Error",_0:ke(ht).message}}let Ue=0,Ee;if(ae.TAG==="Ok"){let Be=ae._0;Be.TAG!=="Success"&&(Ee=Be.message,Ue=1)}else Ee=ae._0,Ue=1;return Ue===1&&vf(s,{TAG:"RequestRejected",_0:"codex_compaction_failed:"+Ee}),await Ne;case"RejectBusy":let Re="compact_thread_busy";return await Ws(s,M,"failed",Re),{TAG:"CompactThreadSettled",_0:{TAG:"Error",_0:Re}};case"RejectCompactPending":let Ve="compact_already_in_progress";return await Ws(s,M,"failed",Ve),{TAG:"CompactThreadSettled",_0:{TAG:"Error",_0:Ve}}}else{let qe=Te._0;return await Ws(s,M,"failed",qe),{TAG:"CompactThreadSettled",_0:{TAG:"Error",_0:qe}}}},C=(M,I)=>M===e.threadId?I!==void 0?I===e.harnessSessionId:!0:!1,k=(M,I,Q)=>({instanceId:e.instanceId,controlType:M,requestId:I,threadId:e.threadId,agentProvider:"codex",ok:Q}),$=async M=>{let I=k("resolve_codex_user_input_request",M.requestId,!1),Q=C(M.threadId,M.sessionId),H=s.pendingNativeQuestions.get(M.requestId);if(Q&&H!==void 0){let ie=await H.initialPublication;if(ie.TAG!=="Ok")return{TAG:"Error",_0:ie._0};switch(ej(H.settlement)){case"Claimed":let de=pee(H.request,M.answers,new Date().toISOString(),M.actorUserId,M.actorSlug);if(de.TAG==="Ok"){let be=de._0,Xe=gee(H.request,H.binding,be.answerState);if(Xe.TAG==="Ok"){let oe=await l(Xe._0);return oe.TAG==="Ok"?d(s,H,{TAG:"Ok",_0:be.continuation})?(I.ok=!0,I.resolved=!0,{TAG:"Ok",_0:I}):(I.error="codex_user_input_request_not_found",{TAG:"Ok",_0:I}):(await c(H),{TAG:"Error",_0:oe._0})}let Qe=Xe._0;return d(s,H,{TAG:"Error",_0:Qe}),I.error=Qe,{TAG:"Ok",_0:I}}let le=de._0;return d(s,H,{TAG:"Error",_0:le}),I.error=le,{TAG:"Ok",_0:I};case"Busy":case"AlreadySettled":return{TAG:"Error",_0:"Codex user input settlement is already in progress"}}}return I.error="codex_user_input_request_not_found",{TAG:"Ok",_0:I}},V=async M=>{let I=k("deny_codex_user_input_request",M.requestId,!1),Q=C(M.threadId,M.sessionId),H=s.pendingNativeQuestions.get(M.requestId);if(Q&&H!==void 0){let ie=await H.initialPublication;if(ie.TAG!=="Ok")return{TAG:"Error",_0:ie._0};switch(ej(H.settlement)){case"Claimed":let de=v(M.reason,"Cancelled by user"),le=Fk(de,new Date().toISOString(),M.actorUserId,M.actorSlug);if(le.TAG==="Ok"){let be=qk(H.request,H.binding,le._0),Xe=hee(),Qe=0,oe;if(be.TAG==="Ok"){if(Xe.TAG==="Ok"){let Te=await l(be._0);return Te.TAG==="Ok"?d(s,H,{TAG:"Ok",_0:Xe._0})?(I.ok=!0,I.denied=!0,I.reason=de,{TAG:"Ok",_0:I}):(I.error="codex_user_input_request_not_found",{TAG:"Ok",_0:I}):(await c(H),{TAG:"Error",_0:Te._0})}oe=Xe._0,Qe=2}else oe=be._0,Qe=2;if(Qe===2)return d(s,H,{TAG:"Error",_0:oe}),I.error=oe,{TAG:"Ok",_0:I}}else{let be=le._0;return d(s,H,{TAG:"Error",_0:be}),I.error=be,{TAG:"Ok",_0:I}}break;case"Busy":case"AlreadySettled":return{TAG:"Error",_0:"Codex user input settlement is already in progress"}}}return I.error="codex_user_input_request_not_found",{TAG:"Ok",_0:I}},F=async(M,I,Q,H)=>{let ie=e.actorSlug,se=e.actorUserId,de=Date.now(),le={seq:M,actorSlug:ie,actorUserId:se,body:I,attachments:Q,receivedAtMs:de,transportCeilingRecoveryRequestId:H,fusedSeqs:void 0,parkReason:void 0};s.retryCandidates.set(M,le),s.claimedFollowUpSeqs.add(M),e.log("kandan.message_queued",Object.fromEntries([["seq",M],["thread_id",e.threadId],[Go,e.harnessSessionId]])),s.processingReason="starting turn",s.processingSeq=M,s.turnDispatchHolds=s.turnDispatchHolds+1|0;let be=_j(s,le);if(be.TAG==="Ok"){await Ws(s,M,"queued",void 0);let Xe=await Sj(s,le,H,be._0,void 0);return s.turnDispatchHolds=s.turnDispatchHolds-1|0,Af(s,!0)&&await Zo(s),Xe.TAG==="Ok"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:Xe._0}}return s.turnDispatchHolds=s.turnDispatchHolds-1|0,{TAG:"Error",_0:be._0}},D=async(M,I,Q,H)=>{let ie=oMe(s.settingsResume,ete(s),s.pendingClaimedTurns.length!==0),se=()=>{ie!=="NoSettingsResumePickup"&&Zo(s)};if(Bn(H)&&s.claimedFollowUpSeqs.has(M))return e.log("commander.claimed_follow_up_duplicate_ignored",Object.fromEntries([["seq",M],["thread_id",e.threadId],[Go,e.harnessSessionId],["reason","seq_already_claimed"]])),se(),{TAG:"Ok",_0:"FollowUpDuplicate"};let de;if(de=ie==="NoSettingsResumePickup"?s.turnDispatchHolds>0||Hk(s.turnLifecycle)||It(s.pendingManualCompaction)||s.pendingClaimedTurns.length!==0:!0,de){let be=e.actorSlug,Xe=e.actorUserId,Qe=Date.now(),oe={seq:M,actorSlug:be,actorUserId:Xe,body:I,attachments:Q,receivedAtMs:Qe,transportCeilingRecoveryRequestId:H,fusedSeqs:void 0,parkReason:void 0};return s.claimedFollowUpSeqs.add(M),s.pendingClaimedTurns.push({message:oe,transportCeilingRecoveryRequestId:H,inputPreparation:"PrepareQueuedInput"}),e.log("kandan.message_queued",Object.fromEntries([["seq",M],["thread_id",e.threadId],[Go,e.harnessSessionId],["queue_depth",s.pendingClaimedTurns.length]])),Ws(s,M,"queued",_Me(s.pendingClaimedTurns.length)),se(),{TAG:"Ok",_0:"FollowUpParked"}}let le=await F(M,I,Q,H);return le.TAG==="Ok"?{TAG:"Ok",_0:"FollowUpDispatched"}:(s.claimedFollowUpSeqs.delete(M),{TAG:"Error",_0:le._0})},q=async(M,I,Q,H,ie)=>{let se=M!==void 0?s.failoverOffers.has(M)?M:void 0:nt(s.failoverOffers.keys().toArray(),void 0,(Ke,Ct)=>Ct),de=E(se,Ke=>z(s.failoverOffers.get(Ke),Ct=>[Ke,Ct]));if(de===void 0)return{TAG:"Error",_0:"no standing failover offer for this thread - the switch is the user's decision on an offered terminal"};let le=de[1],be=de[0],Xe=s.fateLadderRuns.get(be),Qe=Xe!==void 0?Xe:S$("transient_local",Date.now()),oe=le.sourceHarness,Te=le.targetHarness,Ne={sourceHarness:oe,targetHarness:Te,model:I},ae=kY(Qe,Date.now(),Ne);if(ae.TAG!=="Ok")return{TAG:"Error",_0:ae._0};let Ue=ae._0;s.fateLadderRuns.set(be,Ue),e.log("codex.user_cross_harness_switch_invoked",Object.fromEntries([["queued_seq",be],["source_harness",oe],["target_harness",Te],["model",I]])),await wf(s,be,CY,void 0);let Ee=e.harnessSessionId,Re=s.activityJournalTurns,Ve={harnessSessionId:Ee,turns:Re},Be=e.cwd,ht=s.effectiveTurnSettings.defaults.approvalPolicy,Wt={cwd:Be,model:I,reasoningEffort:void 0,developerInstructions:void 0,approvalPolicy:ht,sandboxPolicy:void 0,environment:{}},ge=s.retryCandidates.get(be),Ge=ge!==void 0?ZDe(ge):"Continue where the previous harness session left off.",Dt={identity:{sourceSeq:be},model:I,reasoningEffort:void 0,input:{text:Ge,attachments:[]}},Kt=await GX(Ve,e.threadId,Q,e.cwd,ie,Date.now(),H,Wt,Dt,Ke=>{switch(e.log("kandan.switch_target_event",Object.fromEntries([["queued_seq",be],["kind",EA(Ke)]])),Ke.TAG){case"TurnCompleted":Ws(s,be,"processed",void 0);return;case"TurnFailed":Ws(s,be,"failed",Ke.failure.reason);return;default:return}}),zr=mj(s,be),En=Ke=>Yu(Ke,"transient_local",zr,ve(le));if(Kt.TAG==="Ok"){let Ke=Kt._0;s.switchedTargetSession=Ke.session;let Ct={...Ne},Ft=T$(Ue,"switch_dispatched",Date.now(),(Ct.redactedReasoningCount=Ke.redactedReasoningCount,Ct.transpiledItemCount=Ke.transpiledItemCount,Ct),void 0);s.fateLadderRuns.set(be,Ft),e.log("codex.user_cross_harness_switch_dispatched",Object.fromEntries([["queued_seq",be],["source_harness",oe],["target_harness",Te],["model",I],["target_session_id",Ke.targetSessionId],["transpiled_item_count",Ke.transpiledItemCount],["redacted_reasoning_count",Ke.redactedReasoningCount]])),await wf(s,be,"continuing this job on the "+le.targetHarness+" harness after a user-invoked switch",void 0);let rr={};rr.ok=!0,rr.target_session_id=Ke.targetSessionId,rr.turn_id=Ke.turnId;let Er=Ke.sessionFile;return Er!==void 0&&(rr.session_file=Er),rr.transpiled_item_count=Ke.transpiledItemCount,rr.redacted_reasoning_count=Ke.redactedReasoningCount,rr.ladder=En(Ft),{TAG:"Ok",_0:rr}}let pn=Kt._0,Kn=OX(pn),Ce=EX(pn),Pe=T$(Ue,PX(pn)?"switch_refused":"switch_failed",Date.now(),Ne,Kn+": "+Ce);s.fateLadderRuns.set(be,Pe),e.log("codex.user_cross_harness_switch_not_dispatched",Object.fromEntries([["queued_seq",be],["refusal",Kn],["reason",Ce]])),await Ws(s,be,"failed","cross-harness switch "+Kn+": "+Ce);let Ie={};return Ie.ok=!1,Ie.refusal=Kn,Ie.reason=Ce,Ie.ladder=En(Pe),{TAG:"Ok",_0:Ie}},re=async(M,I)=>{let Q=s.stopDrainFenceOwner;return Q!==void 0&&Q.attemptToken===M&&(s.stopDrainFenceOwner=void 0,J(s.stopRetiredOwnedHarnessAttemptToken,M)||!Af(s,!0)||await Zo(s)),I},te=async M=>{let I=Qn(s,{TAG:"QuietConfirmed",attemptToken:M.attemptToken,turnId:M.turnId});return await As(s,M.message,I,0),hte(s,M.turnId),await h(M.message,M.attemptToken,M.sourceSeq,"stopped by user")},W=async M=>{let I;if(M!==void 0){let H=s.turnLifecycle.phase;if(typeof H!="object")I=!1;else switch(H.TAG){case"Starting":case"Running":I=H._0.sourceSeq===M;break;case"StoppingStartup":I=H._0.starting.sourceSeq===M;break;case"StoppingRunning":I=H._0.running.sourceSeq===M;break;case"PublishingTerminal":let ie=H._0.owner;I=ie.TAG==="StartupStopOwner"?ie._0.starting.sourceSeq===M:ie._0.running.sourceSeq===M;break;case"SettlementAwaitingDispatchRelease":let se=H._0;if(se.owner==="OrdinarySettlement")I=!1;else{let de=s.stopDrainFenceOwner;I=de!==void 0&&de.attemptToken===se.attemptToken?de.sourceSeq===M:!1}break;case"ClosingAfterUnconfirmedStop":I=!1;break}}else I=!0;if(!I)return{TAG:"Ok",_0:[]};let Q=s.turnLifecycle.phase;if(typeof Q!="object")return{TAG:"Error",_0:"stop_turn_session_not_active"};switch(Q.TAG){case"Starting":let H=Q._0;H.message.stopSettlement={TAG:"AwaitingStopSettlement",_0:[]},s.stopDrainFenceOwner={attemptToken:H.attemptToken,sourceSeq:H.sourceSeq,lifecycleMessage:H.message};let ie=Qn(s,"StopRequested");await As(s,H.message,ie,0),P0(s,"kandan.typing_stop_after_startup_stop_failed",[["thread_id",e.threadId],["source_seq",H.sourceSeq]]);let se=s.turnLifecycle.phase,de=0;if(typeof se!="object")de=1;else switch(se.TAG){case"StoppingStartup":if(await qee(s,H.message)){let Ee=s.turnLifecycle.phase,Re=0;if(typeof Ee!="object")Re=2;else switch(Ee.TAG){case"StoppingStartup":let Ve=Ee._0.stage;if(typeof Ve!="object")Re=2;else if(sx(s.providerTerminal,H.attemptToken,Ve._0.turnId)!=="AwaitDeferredCompletion"){let ht=Qn(s,{TAG:"StopDeadlineElapsed",_0:{attemptToken:H.attemptToken}});await As(s,H.message,ht,0)}break;case"PublishingTerminal":await h(H.message,H.attemptToken,H.sourceSeq,"stopped by user (before the turn started)");break;case"SettlementAwaitingDispatchRelease":case"ClosingAfterUnconfirmedStop":break;default:Re=2}if(Re===2){let Ve=Qn(s,{TAG:"StopDeadlineElapsed",_0:{attemptToken:H.attemptToken}});await As(s,H.message,Ve,0)}}else{let Ee=Qn(s,{TAG:"StopDeadlineElapsed",_0:{attemptToken:H.attemptToken}});await As(s,H.message,Ee,0)}break;case"PublishingTerminal":await h(H.message,H.attemptToken,H.sourceSeq,"stopped by user (before the turn started)");break;case"SettlementAwaitingDispatchRelease":case"ClosingAfterUnconfirmedStop":break;default:de=1}if(de===1){let Ee=Qn(s,{TAG:"StopDeadlineElapsed",_0:{attemptToken:H.attemptToken}});await As(s,H.message,Ee,0)}let le=await kp(H.message);return await qee(s,H.message),await re(H.attemptToken,le);case"Running":let be=Q._0;be.message.stopSettlement={TAG:"AwaitingStopSettlement",_0:[]},be.message.ownedHarnessRetirementPending=It(e.retireOwnedHarnessAfterStop),s.stopDrainFenceOwner={attemptToken:be.attemptToken,sourceSeq:be.sourceSeq,lifecycleMessage:be.message};let Xe=s.streamEventTick,Qe=Qn(s,"StopRequested");await As(s,be.message,Qe,0);let oe=async()=>{let Ee;try{Ee=await e.harness.request("turn/interrupt",Object.fromEntries([["threadId",e.harnessSessionId],["turnId",be.turnId]]))}catch(Be){let ht=N(Be);Ee={TAG:"Error",_0:ke(ht).message}}let Re=be.message.stopSettlement,Ve=0;if(typeof Re!="object")Ve=1;else{if(Re.TAG!=="AwaitingStopSettlement")return;Ve=1}if(Ve===1){if(sx(s.providerTerminal,be.attemptToken,be.turnId)==="AwaitDeferredCompletion")return;let ht=0,Rt;if(Ee.TAG==="Ok"){let Wt=Ee._0;if(Wt.TAG==="ResultReply"){let ge=Qn(s,{TAG:"InterruptSucceeded",attemptToken:be.attemptToken,turnId:be.turnId});await As(s,be.message,ge,0);let Ge=await gMe(s,Xe),Ye=be.message.stopSettlement,jt=0;if(typeof Ye!="object")jt=3;else{if(Ye.TAG!=="AwaitingStopSettlement")return;jt=3}if(jt===3){if(Ge){let Kt=e.retireOwnedHarnessAfterStop;if(Kt===void 0)return await te(be);if(J(s.stopOwnedHarnessRetirementAttemptToken,be.attemptToken))return;s.stopOwnedHarnessRetirementAttemptToken=be.attemptToken;let zr=E0(s)+6e4,En=await Kt();if(En.TAG==="Ok"){s.stopRetiredOwnedHarnessAttemptToken=be.attemptToken;let pn=be.message.stopSettlement;return typeof pn!="object"?await te(be):pn.TAG==="AwaitingStopSettlement"&&await te(be),await ate(s,be.message,be.attemptToken,zr)}return be.message.ownedHarnessRetirementPending=!1,ld(s,be.message,{TAG:"Error",_0:En._0})}let Dt=Qn(s,{TAG:"StopDeadlineElapsed",_0:{attemptToken:be.attemptToken}});return await As(s,be.message,Dt,0)}}else Rt=Wt.message,ht=2}else Rt=Ee._0,ht=2;if(ht===2){let Wt="turn/interrupt failed: "+Rt,ge=Qn(s,{TAG:"InterruptFailed",attemptToken:be.attemptToken,turnId:be.turnId,message:Wt});return await As(s,be.message,ge,0)}}};e.retireOwnedHarnessAfterStop!==void 0?oe():await oe();let qe=await kp(be.message);return await re(be.attemptToken,qe);case"StoppingStartup":return await kp(Q._0.starting.message);case"StoppingRunning":return await kp(Q._0.running.message);case"PublishingTerminal":let Ne=Q._0.owner;return Ne.TAG==="StartupStopOwner"?await kp(Ne._0.starting.message):await kp(Ne._0.running.message);case"SettlementAwaitingDispatchRelease":let ae=Q._0;if(ae.owner==="OrdinarySettlement")return{TAG:"Error",_0:"stop_turn_session_not_active"};let Ue=s.stopDrainFenceOwner;return Ue!==void 0?Ue.attemptToken===ae.attemptToken?await kp(Ue.lifecycleMessage):{TAG:"Ok",_0:[]}:{TAG:"Ok",_0:[]};case"ClosingAfterUnconfirmedStop":return{TAG:"Error",_0:"stop_turn_session_not_active"}}},j=async()=>{let M=[];s.pendingApprovalRequests.forEach((Q,H)=>{if(!Q.resolved){M.push([H,Q]);return}});let I=async Q=>{let H=M[Q];if(H===void 0)return;let ie=H[1],se=await w(H[0],ie,"approve");return se.TAG!=="Ok"&&e.log("codex.session_settings_auto_approval_failed",{request_id:ie.requestId,source_seq:ie.sourceSeq,message:se._0}),await I(Q+1|0)};return await I(0)};return{TAG:"Ok",_0:{routeNotification:_,routeServerRequest:S,runClaimedTurn:F,routeClaimedFollowUp:D,refreshReconnectSettings:(M,I)=>$ee(s.effectiveTurnSettings,M,I),updateSessionSettings:async(M,I,Q)=>{let H=()=>{Zo(s)};return await kl(s.settingsUpdateSerialization,async()=>{let ie=eMe(s.effectiveTurnSettings.defaults,M);if(ie.TAG!=="Ok")return[{TAG:"Error",_0:ie._0},void 0];let se=ie._0,de;de=typeof I!="object"?e.threadId:I.originalKandanThreadId;let le={workspace:e.workspaceSlug,channel:e.channelSlug,thread_id:de,codex_thread_id:e.harnessSessionId,modelProvider:rt(se.modelProvider,null,fa),model:rt(se.model,null,fa),reasoningEffort:rt(se.reasoningEffort,null,fa),approvalPolicy:rt(se.approvalPolicy,null,fa),sandbox:rt(se.sandbox,null,fa),fast:rt(se.fast,null,oe=>oe),allowPortForwardingByDefault:rt(se.allowPortForwardingByDefault,null,oe=>oe),updated_at:new Date().toISOString()},be=se.collaborationMode;be!==void 0&&(le.collaborationMode=af(be)),typeof I=="object"&&(le.control_seq=I.controlSeq,le.control_provider_session_key=I.originalProviderSessionKey);let Xe=await iMe(()=>{s.turnDispatchHolds=s.turnDispatchHolds+1|0},async()=>{let oe=await e.transport.push(e.commanderTopic,"session:settings",le,void 0,void 0,void 0);if(oe.TAG==="Ok")return{TAG:"Ok",_0:void 0};let Te=qn(oe._0);return e.log("kandan.session_settings_publish_failed",{message:Te}),{TAG:"Error",_0:"session settings publish failed: "+Te}},()=>{$ee(s.effectiveTurnSettings,se,()=>Q(se)),s.settingsResume=rMe(s.settingsResume)},()=>{s.turnDispatchHolds=s.turnDispatchHolds-1|0});if(Xe.TAG!=="Ok")return[{TAG:"Error",_0:Xe._0},H];J(se.approvalPolicy,"never")&&J(se.sandbox,"danger-full-access")&&await j(),e.log("codex.session_settings_updated",{model:rt(se.model,null,fa),reasoning_effort:rt(se.reasoningEffort,null,fa),approval_policy:rt(se.approvalPolicy,null,fa),sandbox:rt(se.sandbox,null,fa),fast:rt(se.fast,null,oe=>oe)});let Qe={instanceId:e.instanceId,controlType:"update_session_settings",ok:!0,model:rt(se.model,null,fa),reasoningEffort:rt(se.reasoningEffort,null,fa),approvalPolicy:rt(se.approvalPolicy,null,fa),sandbox:rt(se.sandbox,null,fa),fast:rt(se.fast,null,oe=>oe),allowPortForwardingByDefault:rt(se.allowPortForwardingByDefault,null,oe=>oe)};return typeof I=="object"&&(Qe.control_seq=I.controlSeq),[{TAG:"Ok",_0:Qe},H]})},resolveCodexApprovalRequest:A,compactThread:P,acknowledgeCompactTerminalFallback:(M,I)=>pMe(s,M,I),resolveCodexUserInputRequest:$,denyCodexUserInputRequest:V,stopTurn:W,publishRebuilt:async M=>{await wf(s,M,"rebuilt the coding session from durable thread history after an unresumable engine session",void 0)},failOnHarnessDeath:M=>{vf(s,{TAG:"SessionAbandoned",_0:"codex_compaction_abandoned:harness died: "+M}),Jk(s,void 0),f(Q=>!0,"Codex app-server disconnected before the user answered");let I=C0(s);if(I!==void 0)if(Tf(s.turnLifecycle,I.attemptToken)){let H={turnId:I.turnId,terminal:"ProviderInterrupted"};s.providerTerminal=A$(s.providerTerminal,I.attemptToken,"SynchronousCallback",H),p.submitNotification(Mk,{turnId:I.turnId,reason:"stopped by user"}),s.providerTerminal=Tk(s.providerTerminal,I.attemptToken,I.turnId)}else{let Q={};Q.turnId=I.turnId,Q.retryable=!0,Q.fate="transient_local",Q.error=Object.fromEntries([["message",M]]),p.submitNotification("turn/failed",Q)}p.submitLifecycle("codexDied",M)},invokeCrossHarnessSwitch:q,currentHarnessSessionId:()=>e.harnessSessionId,kandanThreadId:e.threadId,ownsLiveTurn:()=>xY(Hk(s.turnLifecycle),It(s.pendingManualCompaction)),lastHarnessActivityAtMs:()=>s.lastHarnessActivityAtMs,beginShutdown:()=>{s.shuttingDown=!0,a.contents=!1},close:async()=>{vf(s,{TAG:"SessionAbandoned",_0:"codex_compaction_abandoned:session closed"}),a.contents=!1,Jk(s,void 0),await f(Q=>!0,"Commander closed before the user answered"),bj(s),s.typingActive=!1;let M=s.switchedTargetSession;M!==void 0&&(s.switchedTargetSession=void 0,await M.stopSession());let I=s.pipeline;if(I!==void 0)return await I.close(5e3)}}}}import*as xte from"node:path";var OMe={readFileUtf8:$t,mkdirRecursive:Nt,writeFileUtf8:Wn,rename:Jn,rmForce:Wi};function Ste(e,t){return{directory:e,fs:OMe,nowIso:t!==void 0?t:()=>new Date().toISOString(),tempSuffix:()=>process.pid.toString()+"."+Date.now().toString()}}function Tte(e){return e!==void 0?e.flatMap(t=>{if(t.type!=="addRules")return[];switch(t.behavior){case"allow":switch(t.destination){case"session":case"cliArg":break;default:return[]}return Fe(t.rules,r=>{let n=r.toolName.trim();if(n!=="")return{toolName:n,ruleContent:r.ruleContent}});case"deny":case"ask":return[]}}):[]}function vx(e,t){let r=e[t];if(typeof r=="string")return r}function EMe(e,t,r){let n=e.toolName===t,i=t==="ExitPlanMode";if(!n||i)return!1;let o=e.ruleContent;if(o===void 0)return!0;if(t==="Bash"){let u=z(vx(r,"command"),m=>m.trim());if(u===void 0||u==="")return!1;if(!o.endsWith(":*"))return u===o.trim();let c=o.slice(0,o.length-2|0).trim();if(c==="")return!1;let f=u===c,h=u.startsWith(c+" ");return f?!0:h}let a=vx(r,"file_path"),s=vx(r,"path"),l=vx(r,"url"),d=vx(r,"command");return a!==void 0?a===o:s!==void 0?s===o:l!==void 0?l===o:d!==void 0?d===o:!1}function vte(e,t){return z(e.find(r=>EMe(r,t.toolName,t.input)),r=>({type:"allow",updatedPermissions:[{type:"addRules",rules:[{toolName:r.toolName,ruleContent:r.ruleContent}],behavior:"allow",destination:"session"}]}))}function wx(e,t){let r=t.replace(/[^A-Za-z0-9._-]/g,"_");return xte.join(e.directory,r+".json")}function yte(e){let t=e.ruleContent;return t!==void 0?e.toolName+"\0"+t+"\0rule":e.toolName+"\0\0bare"}function wte(e){let t=new Set;return e.filter(r=>t.has(yte(r))?!1:(t.add(yte(r)),!0))}function Xk(e,t){let r=wx(e,t),n=e.fs.readFileUtf8(r);if(n.TAG==="Ok"){let o;try{o={TAG:"Ok",_0:JSON.parse(n._0)}}catch(u){let c=N(u),f=St(c);o={TAG:"Error",_0:f!==void 0?v(At(ce(f)),"unknown JSON parse error"):"unknown JSON parse error"}}if(o.TAG!=="Ok")return{TAG:"Ok",_0:{grants:[],corruption:{TAG:"MalformedJson",_0:o._0}}};let a=o._0;if(typeof a!="object"||a===null||Array.isArray(a))return{TAG:"Ok",_0:{grants:[],corruption:{TAG:"InvalidRoot",_0:"expected JSON object root"}}};let s=a.version,l=a.grants;if(typeof s=="number"&&Array.isArray(l))return s===1?{TAG:"Ok",_0:{grants:wte(Fe(l,u=>{if(typeof u!="object"||u===null||Array.isArray(u))return;let c=u.toolName;if(c===void 0||typeof c!="string")return;let f=c.trim();if(f==="")return;let h=u.ruleContent,m;return m=typeof h=="string"?h:void 0,{toolName:f,ruleContent:m}})),corruption:void 0}}:{TAG:"Ok",_0:{grants:[],corruption:{TAG:"UnsupportedVersion",_0:s}}};let d;return d=typeof s=="number"?s:void 0,{TAG:"Ok",_0:{grants:[],corruption:{TAG:"InvalidShape",_0:d,_1:"expected numeric version and grants array"}}}}let i=n._0;return In(i,"ENOENT")?{TAG:"Ok",_0:{grants:[],corruption:void 0}}:{TAG:"Error",_0:i}}function Ate(e,t,r){if(r.length!==0){let a=Xk(e,t);if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};let s=a._0;if(s.corruption!==void 0)return{TAG:"Error",_0:{code:"ECORRUPT",message:"refusing to overwrite corrupt Claude grant store"}};let d=wte(s.grants.concat(r)).slice(-200),u=wx(e,t),c=u+"."+e.tempSuffix()+".tmp",f={version:1,threadId:t,updatedAt:e.nowIso(),grants:d.map(g=>({toolName:g.toolName,ruleContent:g.ruleContent}))},h=JSON.stringify(f,null,2)+`
589
589
  `,m=e.fs.mkdirRecursive(e.directory);if(m.TAG!=="Ok")return{TAG:"Error",_0:m._0};let p=e.fs.writeFileUtf8(c,h);if(p.TAG!=="Ok")return{TAG:"Error",_0:p._0};let _=e.fs.rename(c,u);return _.TAG==="Ok"?{TAG:"Ok",_0:d}:{TAG:"Error",_0:_._0}}let i=Xk(e,t);if(i.TAG!=="Ok")return{TAG:"Error",_0:i._0};let o=i._0;return o.corruption!==void 0?{TAG:"Error",_0:{code:"ECORRUPT",message:"refusing to overwrite corrupt Claude grant store"}}:{TAG:"Ok",_0:o.grants}}function kte(e,t){return e.fs.rmForce(wx(e,t))}function Cte(){return JSON.parse(JSON.stringify({kind:"NeedsAnswer"}))}function wj(e,t,r,n){return JSON.parse(JSON.stringify({kind:"Answered",answers:e,actorUserId:t,actorSlug:r,answeredAt:n}))}function R0(e,t,r,n,i){return JSON.parse(JSON.stringify({kind:"Denied",reason:e,answers:t,actorUserId:r,actorSlug:n,answeredAt:i}))}function Hs(e){if(e===void 0)return;let t=e.trim();if(t!=="")return t}function vj(e,t){let r=e[t];if(typeof r=="string")return Hs(r)}function GMe(e){let t=vj(e,"command"),r=vj(e,"file_path"),n=vj(e,"path");if(t!==void 0)return t;if(r!==void 0)return r;if(n!==void 0)return n;let i;try{i=JSON.stringify(e)}catch{i=void 0}if(i===void 0)return;let o=Hs(i);if(o!==void 0)return o.slice(0,500)}function RMe(e){return e==="ExitPlanMode"?"claude_code_plan_review":"claude_code_tool_approval"}function IMe(e){return e.every(r=>{switch(r.type){case"addRules":return r.destination==="session";case"replaceRules":return r.destination==="session";case"removeRules":return r.destination==="session";case"setMode":return r.destination==="session";case"addDirectories":return r.destination==="session";case"removeDirectories":return r.destination==="session"}})?"Allow Claude Code to continue and remember it for this session.":"Allow Claude Code to continue and apply Claude Code's suggested permission update."}function DMe(e){let t={decision:"approve",label:"Allow",description:"Allow Claude Code to continue once.",permissionDecision:{type:"allow"}},r={decision:"deny",label:"Deny",description:"Deny this Claude Code request.",permissionDecision:{type:"deny",message:"Denied by Linzumi"}};return e!==void 0?e.length!==0?[t,{decision:"approve_always",label:"Allow and don't ask again",description:IMe(e),permissionDecision:{type:"allow",updatedPermissions:e}},r]:[t,r]:[t,r]}function MMe(e){if(typeof e=="string")return Hs(e)}function Ax(e,t){return zo(t,r=>MMe(e[r]))}function $Me(e){return e!==void 0?Array.isArray(e)?Fe(e,t=>{let r;r=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:void 0;let n,i=0;return typeof t=="string"?n=Hs(t):i=1,i===1&&(n=r!==void 0?Ax(r,["label","value","text"]):void 0),z(n,o=>({label:o,description:r!==void 0?Ax(r,["description","detail"]):void 0}))}):[]:[]}function jMe(e,t,r){if(typeof e!="object"||e===null||Array.isArray(e))return{TAG:"Error",_0:"Claude Code AskUserQuestion question was not an object"};let n=Ax(e,["question","prompt","body"]),i=n!==void 0?n:Hs(t.description);if(i===void 0)return{TAG:"Error",_0:"Claude Code AskUserQuestion question text was missing"};let o=Ax(e,["header"]),a=o!==void 0?o:Hs(t.title);if(a===void 0)return{TAG:"Error",_0:"Claude Code AskUserQuestion header was missing"};let s=e.options,l=s!==void 0?s:e.choices,d=$Me(l),u=d.length<2,c=d.length>4;if(u)return{TAG:"Error",_0:"Claude Code AskUserQuestion had fewer than two options"};if(c)return{TAG:"Error",_0:"Claude Code AskUserQuestion had more than four options"};let f=d.map(p=>p.label);if(new Set(f).size!==f.length)return{TAG:"Error",_0:"Claude Code AskUserQuestion contained duplicate option labels"};let h=v(Ax(e,["questionId","id"]),t.requestId+":"+r.toString()),m=v(zo(["multiSelect","multiselect","multiple"],p=>{let _=e[p];if(typeof _=="boolean")return _}),!1);return{TAG:"Ok",_0:{questionId:h,header:a,question:i,options:d,multiSelect:m}}}function FMe(e){let t=e==="AskUserQuestion",r=e.startsWith("mcp__"),n=e.endsWith("__AskUserQuestion");return t?!0:r?n:!1}function Ote(e){if(!FMe(e.toolName))return{type:"not_question"};let t=e.input.questions,r,n=0;Array.isArray(t)?r=t:n=1,n===1&&(r=[JSON.parse(JSON.stringify(e.input))]);let i=r.length>4,o=r.length===0;if(i)return{type:"invalid",message:"Claude Code AskUserQuestion contained more than four questions"};if(o)return{type:"invalid",message:"Claude Code AskUserQuestion contained no questions"};let s=((h,m,p,_)=>{for(;;){let g=m,b=h,y=r[b];if(y===void 0)return{TAG:"Ok",_0:g};let S=jMe(y,e,b);if(S.TAG!=="Ok")return{TAG:"Error",_0:S._0};let T=S._0,w=p.has(T.question),A=_.has(T.questionId);if(w)return{TAG:"Error",_0:"Claude Code AskUserQuestion contained duplicate question text"};if(A)return{TAG:"Error",_0:"Claude Code AskUserQuestion contained duplicate question ids"};p.add(T.question),_.add(T.questionId),m=g.concat([T]),h=b+1|0}})(0,[],new Set,new Set);if(s.TAG!=="Ok")return{type:"invalid",message:s._0};let l=s._0,d=v(z(l[0],h=>h.header),"Claude Code needs input"),c=e.toolName==="AskUserQuestion"?"claude_code_ask_user_question":"claude_code_mcp_ask_user_question",f=Hs(e.description);return{type:"question",request:{requestId:e.requestId,toolName:e.toolName,requestSource:c,title:d,body:f!==void 0?f:Hs(e.decisionReason),questions:l,rawProviderMetadata:JSON.parse(JSON.stringify({tool_name:e.toolName,display_name:e.displayName,blocked_path:e.blockedPath,input:e.input}))}}}function NMe(e){let t=e.trim().toLowerCase(),r=t==="other",n=t==="something else",i=t==="something else...",o=t.includes("other"),a=t.includes("something else");return r||n||i||o?!0:a}function qMe(e,t){let r=Hs(t.freeText),n=t.selectedLabels.map(a=>{let s=NMe(a);return r!==void 0&&s?r:a});if(e.multiSelect)return JSON.parse(JSON.stringify(n));let i=n[0];return i!==void 0?i:v(r,"")}function zMe(e,t,r){let n=Object.fromEntries(t.questions.map(a=>[a.questionId,a])),i={};r.forEach(a=>{let s=n[a.questionId];if(s!==void 0){i[s.question]=qMe(s,a);return}});let o=Object.fromEntries(Object.entries(e));return o.answers=JSON.parse(JSON.stringify(i)),o}function Ete(e,t,r){return{type:"answer_question",updatedInput:zMe(e,t,r)}}function Pte(e){let t=RMe(e.toolName),r=GMe(e.input),n=r!==void 0?e.toolName+": "+r:e.toolName,i=Hs(e.title),o=i!==void 0?i:t==="claude_code_plan_review"?"Review Claude Code plan":"Allow Claude Code to use "+n+"?",a=Hs(e.description),s=Hs(e.decisionReason),l=a!==void 0?a:s!==void 0?s:r!==void 0?"Claude Code requested "+e.toolName+" with input: "+r+".":"Claude Code requested "+e.toolName+".",d=DMe(e.suggestions),u=Hs(e.displayName),c=u!==void 0?u:t==="claude_code_plan_review"?"Plan review":e.toolName,f=[{questionId:e.requestId+":decision",header:c,question:o,options:d.map(h=>({label:h.label,description:h.description})),multiSelect:!1}];return{request:{requestId:e.requestId,toolName:e.toolName,requestSource:t,title:o,body:l,questions:f,rawProviderMetadata:JSON.parse(JSON.stringify({tool_name:e.toolName,display_name:e.displayName,blocked_path:e.blockedPath,decision_reason:e.decisionReason,input:e.input,approval_command:n,approval_tool_input:r,approval_choices:d.map(h=>({decision:h.decision,label:h.label,description:h.description}))}))},choices:d}}function LMe(e){switch(e){case"Streaming":return"streaming";case"Completed":return"completed";case"Interrupted":return"interrupted"}}function Gte(e,t,r,n,i){return{kind:"agent_user_input_request",item_id:e.requestId,transcript_unit_id:"agent_user_input_request:"+e.requestId,stream_state:LMe(i),request_id:e.requestId,session_id:t,source_message_seq:r,agent_provider:"claude-code",request_source:e.requestSource,title:e.title,body:e.body,questions:e.questions,answerState:n,raw_provider_metadata:e.rawProviderMetadata}}function Rte(e){let t={kind:e.kind,item_id:e.item_id,transcript_unit_id:e.transcript_unit_id,stream_state:e.stream_state,request_id:e.request_id,session_id:e.session_id,source_message_seq:e.source_message_seq,agent_provider:e.agent_provider,request_source:e.request_source,title:e.title,body:e.body,questions:e.questions.map(r=>({questionId:r.questionId,header:r.header,question:r.question,multiSelect:r.multiSelect,options:r.options.map(n=>({label:n.label,description:n.description}))})),answerState:e.answerState,raw_provider_metadata:e.raw_provider_metadata};return JSON.parse(JSON.stringify(t))}function Ite(e){return"claude-user-question:"+e}function Dte(e,t){let r=e[t];if(typeof r=="string")return r}function Mte(e){switch(e){case"assistant":return"agentMessage";case"reasoning":return"reasoning";case"command_output":return"commandExecution";case"file_change":return"fileChange";case"terminal_input":return"terminalInput";case"web_search":return"webSearch";case"agent_status":return"agentStatus";case"agent_task_update":return"agentTaskUpdate"}}function BMe(e){switch(e){case"assistant":return"item/agentMessage/delta";case"reasoning":return"item/reasoning/textDelta";case"command_output":return"item/commandExecution/outputDelta";case"file_change":return"item/fileChange/outputDelta";case"terminal_input":return"item/commandExecution/terminalInteraction";default:return}}function kf(e,t){return{TAG:"HarnessNotification",_0:{method:e,params:Object.fromEntries(t)}}}function Aj(e,t){let r;if(e===null||Array.isArray(e))r={};else switch(typeof e){case"string":r=Object.fromEntries([["text",e]]);break;case"object":r=Object.assign({},e);break;default:r={}}if(r.id=t.itemId,r.type=Mte(t.streamKind),t.streamKind==="reasoning"){let i=Dte(r,"thinking"),o=i!==void 0?i:v(Dte(r,"text"),"");r.content=[o],r.summary=[]}return r}function $te(e){switch(e.TAG){case"TurnStarted":return{TAG:"SubmitEvent",_0:kf("turn/started",[["turn",Object.fromEntries([["id",e.turnId]])]])};case"ItemStarted":let t=e.item;return{TAG:"SubmitEvent",_0:kf("item/started",[["turnId",t.turnId],["itemId",t.itemId],["item",Object.fromEntries([["id",t.itemId],["type",Mte(t.streamKind)]])]])};case"ItemDelta":let r=e.delta,n=e.item;if(n.streamKind==="terminal_input")return{TAG:"SubmitEvent",_0:kf("item/commandExecution/terminalInteraction",[["turnId",n.turnId],["itemId",n.itemId],["inputText",r]])};let o=BMe(n.streamKind);return o!==void 0?{TAG:"SubmitEvent",_0:kf(o,[["turnId",n.turnId],["itemId",n.itemId],["delta",r]])}:{TAG:"NoteActivity",turnId:n.turnId,signalKind:"item_delta"};case"ItemCompleted":let a=e.item;return{TAG:"SubmitEvent",_0:kf("item/completed",[["turnId",a.turnId],["itemId",a.itemId],["item",Aj(e.content,a)]])};case"SessionStarted":case"ApprovalRequested":return"NotPipelineScope";case"UsageUpdated":return{TAG:"NoteActivity",turnId:e.turnId,signalKind:"thread/tokenUsage/updated"};case"RateLimitUpdated":return{TAG:"NoteActivity",turnId:void 0,signalKind:"account/rateLimits/updated"};case"ActivityPulse":return{TAG:"NoteActivity",turnId:e.turnId,signalKind:e.signalKind};case"TurnCompleted":return{TAG:"SubmitEvent",_0:kf("turn/completed",[["turn",Object.fromEntries([["id",e.turnId]])]])};case"TurnFailed":let s=e.failure,l=e.turnId,d=s.reason.includes("[failure_class=edge_blocked]"),u=s.reason.includes("[failure_class=claude_oauth_expired]"),c=d?"edge_blocked":u?"claude_oauth_expired":void 0,f=s.providerDetail,h=(f!==void 0?[["provider_detail",f]]:[]).concat(c!==void 0?[["failure_class",c]]:[]).concat(RJ(s.fate)?[["retryable",!0]]:[]);return{TAG:"SubmitEvent",_0:kf("turn/failed",(l!==void 0?[["turnId",l]]:[]).concat([["reason",s.reason],["fate",s.fate]]).concat(h))};case"TurnInterrupted":let m=e.reason;return{TAG:"SubmitEvent",_0:kf("turn/aborted",[["turnId",e.turnId]].concat(m!==void 0?[["reason",m]]:[]))};case"HarnessDied":return{TAG:"SubmitEvent",_0:{TAG:"Lifecycle",kind:"codexDied",reason:e.failure.reason}}}}async function jte(e,t,r,n){let i=async o=>{let a=e[o];if(a===void 0)return;let s=ce(a),l=await t(s);l.TAG!=="Ok"&&n(s,l._0);let d=await r(s);return d.TAG!=="Ok"&&n(s,d._0),await i(o+1|0)};return await i(0)}function Fte(e,t,r,n){return CK({windowMs:OK,isDelivered:()=>!0,isSessionClosed:t,lastActivityMs:e,hasPendingBlockingRequest:r,onWedged:n,now:void 0,timers:void 0})}var Nte="Claude Code user input request cancelled by Linzumi";function eC(e){switch(e){case"never":return 3;case"on-failure":return 2;case"on-request":return 1;case"untrusted":return 0;default:return}}function kj(e,t){return e.turnId===t.turnId?J(e.outcome,t.outcome):!1}function KMe(e,t){e.mappings.contents=e.mappings.contents.filter(r=>r.turnId!==t)}function qte(e){switch(e){case"Open":case"DrainingClose":return!0;case"Closed":return!1}}function Cj(e){let t=qte(e.lifecycle.contents),r=e.publication.contents,n=e.candidates.contents[0];if(!t||typeof r=="object"||n===void 0)return;e.candidates.contents=e.candidates.contents.slice(1);let i=e.nextAttempt.contents;e.nextAttempt.contents=i+1|0,e.publication.contents={TAG:"PublicationInFlight",candidate:n,attempt:i};let o=e.publishTerminal(n.turnId,n.outcome).then(a=>{let s=qte(e.lifecycle.contents),l=e.publication.contents;if(!s||typeof l!="object"||l.TAG!=="PublicationInFlight"||l.attempt!==i)return;if(a.TAG==="Ok"){let c=a._0,f=e.ackTerminal(n.turnId,c);if(f.TAG!=="Ok"){e.publication.contents={TAG:"PublicationFailed",_0:{candidate:n,retry:{TAG:"RetryRejectedAck",receipt:c,reason:f._0}}};return}return KMe(e,n.turnId),e.publication.contents="PublicationIdle",Cj(e)}let d=a._0,u=e.failTerminal(n.turnId,d);u.TAG==="Ok"?e.publication.contents={TAG:"PublicationFailed",_0:{candidate:n,retry:"RetryRuntime"}}:e.publication.contents={TAG:"PublicationFailed",_0:{candidate:n,retry:{TAG:"RetryRejectedFailure",publicationReason:d,reason:u._0}}}});e.publicationTail.contents=o}function rC(e,t,r){let n=e.controls.contents.find(i=>i.ticketId===t);if(n!==void 0)return e.controls.contents=e.controls.contents.filter(i=>i.ticketId!==t),n.settle(r)}function zte(e,t,r){let n={turnId:t,outcome:r},i=e.candidates.contents.some(s=>kj(s,n)),o=e.publication.contents,a;if(a=typeof o!="object"?!1:o.TAG==="PublicationInFlight"?kj(o.candidate,n):kj(o._0.candidate,n),!(i||a))return e.candidates.contents=e.candidates.contents.concat([n]),Cj(e)}function JMe(e,t){switch(e.lifecycle.contents){case"Open":switch(t.TAG){case"TerminalCandidateReady":return zte(e,t.turnId,t.outcome);case"ControlCommitted":return rC(e,t.ticketId,{TAG:"Ok",_0:[]});case"ControlRetryable":case"ControlClosed":break}return rC(e,t.ticketId,{TAG:"Error",_0:t.reason});case"DrainingClose":return t.TAG==="TerminalCandidateReady"?zte(e,t.turnId,t.outcome):void 0;case"Closed":return}}function Lte(e,t,r,n,i,o,a,s,l,d,u,c,f){let h=l!==void 0?l:()=>{},m=d!==void 0?d:F=>"HostApprovalsSettled",p=u!==void 0?u:()=>Promise.resolve(),_={contents:void 0},g=new Promise((F,D)=>{_.contents=F}),b=()=>{let F=_.contents;if(F!==void 0)return _.contents=void 0,F()},y={contents:[]},S={contents:[]},T={contents:"PublicationIdle"},w={contents:0},A={contents:[]},P={contents:"Open"},C={contents:Promise.resolve()},k={contents:void 0},$={contents:()=>{}},V={sessionId:e,hostIdentity:t,mappings:y,candidates:S,publication:T,nextAttempt:w,controls:A,lifecycle:P,publicationTail:C,publicationDrainWake:k,closeCompletion:g,settleCloseCompletion:b,unsubscribe:$,publishTerminal:n,ackTerminal:i,failTerminal:o,retryRuntimeTerminal:a,requestStop:s,currentControllableTurnId:h,settleHostApprovals:m,prepareClose:p,finalizeClose:c,unregisterExact:f};return $.contents=r(F=>JMe(V,F)),V}function Oj(e,t,r){let n=e.mappings.contents.filter(i=>i.turnId!==t?i.sourceSeq!==r:!1);e.mappings.contents=n.concat([{turnId:t,sourceSeq:r}])}async function ZMe(e,t,r){let n=t!==void 0?e.mappings.contents.find(o=>o.sourceSeq===t):E(e.currentControllableTurnId(),o=>e.mappings.contents.find(a=>a.turnId===o));switch(e.lifecycle.contents){case"Open":if(n===void 0)return{TAG:"Ok",_0:[]};let o=n.turnId,a=t!==void 0?r:r+":"+o,s=e.controls.contents.find(m=>m.ticketId===a);if(s!==void 0)return await s.promise;let l={contents:void 0},d=new Promise((m,p)=>{l.contents=m}),u=m=>{let p=l.contents;if(p!==void 0)return l.contents=void 0,p(m)};e.controls.contents=e.controls.contents.concat([{ticketId:a,promise:d,settle:u}]);let c=e.requestStop(o,a);c.TAG!=="Ok"&&rC(e,a,{TAG:"Error",_0:c._0});let f=e.settleHostApprovals(o);if(typeof f!="object")return await d;let h=await f._0;return h.TAG==="Ok"?await d:(rC(e,a,{TAG:"Error",_0:h._0}),await d);case"DrainingClose":return{TAG:"Error",_0:"Claude coordinator bridge is closed"};case"Closed":return t!==void 0?{TAG:"Error",_0:"Claude coordinator bridge is closed"}:{TAG:"Ok",_0:[]}}}async function tC(e){await e.publicationTail.contents;let t=e.publication.contents,r=e.candidates.contents.length;return typeof t!="object"?r!==0?(Cj(e),await tC(e)):void 0:t.TAG==="PublicationInFlight"?await tC(e):(await new Promise((i,o)=>{e.publicationDrainWake.contents=i}),await tC(e))}async function Ute(e,t){switch(e.lifecycle.contents){case"Open":e.lifecycle.contents="DrainingClose";let n=e.controls.contents;return e.controls.contents=[],n.forEach(i=>i.settle({TAG:"Error",_0:t})),await e.prepareClose(),await tC(e),await e.finalizeClose(),e.lifecycle.contents="Closed",e.unsubscribe.contents(),e.candidates.contents=[],e.publication.contents="PublicationIdle",e.unregisterExact(e.sessionId,e.hostIdentity,t),e.settleCloseCompletion();case"DrainingClose":return await e.closeCompletion;case"Closed":return}}var kx=ZMe;function YMe(e){let t=e.toLowerCase();return t.startsWith("gpt-")||t.startsWith("o1")||t.startsWith("o3")||t.startsWith("o4")||t.startsWith("o5")?!0:t.startsWith("codex")}function Of(e){let t=z(e,r=>r.trim());if(t!==void 0)switch(t){case"":case"default":return;case"fable-5":return"claude-fable-5";case"haiku":return"haiku";case"opus":return"opus";case"sonnet":return"sonnet";default:return YMe(t)?"sonnet":t}}function XMe(e){return e==="FreshSession"?"fresh_session":"resumed_session"}function Kte(e,t,r){let n;try{n=e()}catch(i){n=Promise.reject(N(i))}Fr(n,i=>{let o=Zn(io(Hn(i)),240);return t("claude_code.mcp_refresh_retirement_failed",Object.fromEntries([["source",XMe(r)],["message",o]])),Promise.resolve()})}function e$e(e){return typeof e.contents=="object"}function t$e(e){return e}function Cp(e){let t=JSON.stringify(e);if(t!==void 0)try{let r=JSON.parse(t);if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r;throw new Error("Claude host payload root was not an object")}catch{throw new Error("Claude host payload JSON parse failed")}else throw new Error("Claude host payload serialization failed")}function iC(e){let t=JSON.stringify(e);if(t!==void 0)try{return JSON.parse(t)}catch{throw new Error("Claude host payload JSON parse failed")}else throw new Error("Claude host payload serialization failed")}function nC(e,t,r,n,i){let o=t!==void 0?ce(t):e.sourceSeq;if(o===void 0)return Promise.resolve();let a=n!==void 0?{reason:n}:{},s=i!==void 0?{codex_thread_id:i}:{},l=Object.assign({workspace:e.workspace,channel:e.channel,thread_id:e.threadId,seq:o,status:r},a),d=Object.assign(l,s),u=Cp(Object.assign(d,{agent_provider:"claude-code"}));return e.pushEvent("message_state",u)}function Jte(e){return{cwd:e.cwd,model:v(Of(e.model),""),reasoningEffort:e.reasoningEffort,developerInstructions:void 0,approvalPolicy:e.approvalPolicy,sandboxPolicy:e.sandbox,environment:rt(e.modelTransport,{},t=>t.environment),mcpServers:z(e.mcp,t=>t.servers)}}var r$e=["If you create files that should be attached back to Kandan, end your assistant response with:","Kandan attachments:","- relative/or/absolute/path/to/file","Only attach non-hidden files: source/text files of any language are fine, as are common document, image, patch, archive, or video types."];function Zte(e){return[e,""].concat(r$e).join(`
590
590
  `)}function aC(e,t){let r=e.preparedInput;return{identity:{sourceSeq:t},model:v(Of(e.model),""),reasoningEffort:e.reasoningEffort,input:r!==void 0?r:{text:Zte(e.workDescription),attachments:[]}}}var Ej={contents:0};function n$e(){let e=Date.now()*1e3,t=Ej.contents>=e?Ej.contents+1:e;return Ej.contents=t,t}function oC(e,t,r,n){e.pushEvent("claude_session_store_append",Cp({workspace:e.workspace,channel:e.channel,thread_id:e.threadId,cwd:e.cwd,sessionId:t,subkey:"root",sequence:n$e(),entryType:r,payload:n}))}function i$e(e,t,r,n){if(e.contents.includes(n))return;let i=e.contents.concat([n]),o=i.length-8|0,a=o>0?i.slice(0,o):[];e.contents=i.slice(Math.max(0,o)),a.forEach(s=>{t.delete(s),r.delete(s)})}function o$e(e,t,r,n){i$e(e.terminalTurnIds,t,r,n)}function a$e(e,t,r){let n=wx(e,t),i=Xk(e,t);if(i.TAG==="Ok"){let s=i._0,l=s.corruption,d=s.grants;if(l===void 0)return{TAG:"Ok",_0:{store:e,grants:d}};let u;switch(l.TAG){case"MalformedJson":u=["malformed_json",void 0,l._0];break;case"InvalidRoot":u=["invalid_root",void 0,l._0];break;case"UnsupportedVersion":u=["unsupported_version",l._0,"unsupported store version"];break;case"InvalidShape":u=["invalid_shape",l._0,l._1];break}let c=u[1];return r("claude_code.thread_permission_grants_corrupt",Object.fromEntries([["linzumi_thread_id",t],["path",n],["corruption_kind",u[0]],["version",c!==void 0?c:null],["parse_reason",u[2]]])),{TAG:"Ok",_0:{store:e,grants:d}}}let o=i._0,a=o.code;return r("claude_code.thread_permission_grants_load_failed",Object.fromEntries([["linzumi_thread_id",t],["path",n],["io_error_code",a!==void 0?a:null],["reason",o.message]])),{TAG:"Error",_0:"Claude permission grant load failed for thread "+t+" at "+n+": "+o.message}}function Qte(e){let t=z(Ei(process.env,"LINZUMI_CLAUDE_GRANTS_DIR"),n=>n.trim()),r=t!==void 0&&t!==""?t:Vte.join(Hte.homedir(),".linzumi","claude-thread-grants");return a$e(Ste(r,void 0),e.threadId,e.log)}function Yte(e,t,r,n){let i=new Map,o=new Map,a=new Map,s=new Map,l={contents:Promise.resolve()},d={contents:Promise.resolve()},u={contents:void 0},c={contents:n.grants},f=e.approvalPolicy,h=e.sandbox,m={approvalPolicy:f,sandbox:h};return{pipeline:Uk({instanceId:e.instanceId,threadKey:e.workspace+":"+e.channel+":"+e.threadId+":claude-code",persistDir:e.persistDir,push:e.pipelinePush,wire:()=>({workspaceSlug:e.workspace,channelSlug:e.channel,threadId:e.threadId,harnessSessionId:t.contents,rootSeq:e.rootSeq,leaseEpoch:e.leaseEpoch,agentProvider:"claude-code"}),rowEnvelope:(_,g,b,y)=>{let S=y!==void 0?y:{},T=Object.assign(b!==void 0?{instance_id:e.instanceId,event_type:_,codex_thread_id:g,cwd:e.cwd,agent_provider:"claude-code",source_message_seq:b}:{instance_id:e.instanceId,event_type:_,codex_thread_id:g,cwd:e.cwd,agent_provider:"claude-code"},S);return Cp({metadata:{local_codex_runner:T},agent_provider:"claude-code",codex_thread_id:g,provider_session_key:g,claude_session_id:g})},runtimeMetadataForSourceSeq:void 0,sourceSeqForTurn:_=>i.get(_),autoRetryAttemptsForSeq:void 0,midStreamResumeAttemptAtMsForSeq:void 0,ladderHistoryForSeq:void 0,isRecoveredTurn:void 0,resolveSnapshot:async _=>({TAG:"Ok",_0:v(o.get(_),[])}),onTurnTerminal:(_,g,b,y,S,T,w)=>{o$e(r,i,o,_);let A=t.contents;switch(g){case"completed":return A!==void 0?(oC(e,A,"turn_completed",iC({})),oC(e,A,"session_completed",iC({}))):void 0;case"failed":case"interrupted":return}},log:e.log,linzumiAgentSession:!1,outboxRetryDelaysMs:void 0,outboxMaxInFlightPushes:void 0,snapshotRetryDelaysMs:[],journalRecoveryMaxAgeMs:void 0,statsIntervalMs:0,turnStalledThresholdMs:void 0,turnWaitStates:void 0,traceparentForThread:_=>{},sleep:void 0}),turnSeqs:i,snapshots:o,pendingApprovals:a,lastRateLimitSignatureByWindow:s,rateLimitPublicationTail:l,eventPublicationTail:d,harnessDeathCloseState:{contents:"AwaitingHarnessDeathOwner"},sessionRef:u,grantStore:n.store,grants:c,settingsUpdateSerialization:Yk(),effectiveModel:{contents:e.model},effectiveReasoningEffort:{contents:void 0},effectiveAccess:{contents:m},lastHarnessActivityAtMs:{contents:void 0}}}function Bte(e){let t=e.harnessDeathCloseState.contents;if(typeof t!="object")if(t==="AwaitingHarnessDeathOwner"){e.harnessDeathCloseState.contents="HarnessDeathObservedBeforeOwner";return}else return;if(t.TAG!=="HarnessDeathOwnerInstalled")return;let r=t._0();e.harnessDeathCloseState.contents={TAG:"HarnessDeathDelivered",_0:r}}function Xte(e,t){let r=e.harnessDeathCloseState.contents;if(typeof r=="object")return;if(r==="AwaitingHarnessDeathOwner"){e.harnessDeathCloseState.contents={TAG:"HarnessDeathOwnerInstalled",_0:t};return}let n=t();return e.harnessDeathCloseState.contents={TAG:"HarnessDeathDelivered",_0:n},n}function ere(e,t,r,n,i,o){if(o!==void 0)n.turnSeqs.set(i,o);else{let a=e.sourceSeq;a!==void 0&&n.turnSeqs.set(i,a)}n.pipeline.notifyTurnMappingReady(i)}function tre(e,t,r){let n=e.coordinatorControl.currentControllableTurnId(r);if(n!==void 0)return t.turnSeqs.get(n)}function Gj(e,t){let r=$te(t);if(typeof r=="object")if(r.TAG==="SubmitEvent"){let n=r._0;switch(n.TAG){case"HarnessNotification":let i=n._0;return e.submitNotification(i.method,i.params);case"CompletionSnapshot":return;case"Lifecycle":return e.submitLifecycle(n.kind,n.reason)}}else{let n=r.turnId;return n!==void 0?e.noteTurnActivity(n,r.signalKind):void 0}}function sC(e,t,r,n){let i=t.request,o;o=i.TAG==="ToolApproval"?i._0.request:i.request;let a=Gte(o,t.sessionId,t.sourceSeq,r,n);return e.pipeline.enqueueStreamThreadMessage(Ite(o.requestId),t.sourceSeq,o.title,Rte(a))}function Rj(e,t,r){let n=t.pendingApprovals.values().toArray().filter(i=>typeof r!="object"?r==="AllHostApprovals":i.sourceSeq===r._0);n.forEach(i=>{let o=i.request,a;a=o.TAG==="ToolApproval"?o._0.request.requestId:o.request.requestId,t.pendingApprovals.delete(a)}),jte(n,i=>sC(t,i,R0(Nte,[],void 0,void 0,new Date().toISOString()),"Interrupted"),async i=>({TAG:"Ok",_0:void 0}),(i,o)=>{let a=i.request,s;s=a.TAG==="ToolApproval"?a._0.request.requestId:a.request.requestId,e.log("claude_code.user_input_recovery_failed",Object.fromEntries([["request_id",s],["message",o]]))})}async function rre(e,t,r,n,i){if(i===void 0)return{TAG:"Error",_0:"interrupt_turn_requires_exact_turn"};let o=await r.interruptTurn(i);return o.TAG==="Ok"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:o._0.reason}}async function nre(e,t,r,n,i,o,a,s){if(await t.eventPublicationTail.contents,o===void 0)return{TAG:"Error",_0:"steer_turn_requires_exact_turn"};let l=await n.steerTurn(o,a);if(l.TAG==="Ok")return{TAG:"Ok",_0:l._0};let d=l._0;return d.TAG==="NotSupported"?{TAG:"Error",_0:"Claude steering is not supported: "+d.capability}:{TAG:"Error",_0:d._0.reason}}function ire(e){switch(e.type){case"allow":let t=e.updatedPermissions;return t!==void 0?{TAG:"Approve",updatedInput:void 0,updatedPermissions:t}:{TAG:"Approve",updatedInput:void 0,updatedPermissions:void 0};case"deny":return{TAG:"Decline",message:e.message};case"answer_question":return{TAG:"Approve",updatedInput:e.updatedInput,updatedPermissions:void 0}}}async function Wte(e,t,r,n,i){let o=async T=>{let w=t.sessionRef.contents;if(w!==void 0){await w.respondToApproval(r.requestId,{TAG:"Decline",message:T});return}},a=async T=>{t.pendingApprovals.set(r.requestId,T);let w=await sC(t,T,Cte(),"Streaming");if(w.TAG==="Ok")return;let A=w._0;return t.pendingApprovals.delete(r.requestId),e.log("claude.user_input_publication_failed",Object.fromEntries([["request_id",r.requestId],["message",A]])),await o("Claude Code user input request push failed: "+A)},s=r.payload;if(s.TAG==="CodexApproval")return await o("Claude Code user input request had an invalid provider payload");let l=s.toolInput,d=t.pendingApprovals.has(r.requestId),u=t.pendingApprovals.size>0;if(d)return await o("Claude Code user input request id was already pending");if(u)return await o("Claude Code already has a pending user input request");let c=r.requestId,f=s.toolName,h=s.title,m=s.displayName,p=s.description,_=s.decisionReason,g=s.blockedPath,b=s.suggestions,y={requestId:c,toolName:f,title:h,displayName:m,description:p,decisionReason:_,blockedPath:g,input:l,suggestions:b},S=Ote(y);switch(S.type){case"question":return await a({request:{TAG:"UserQuestion",request:S.request,originalInput:l},sourceSeq:n,sessionId:i});case"not_question":let T=vte(t.grants.contents,y);if(T===void 0)return await a({request:{TAG:"ToolApproval",_0:Pte(y)},sourceSeq:n,sessionId:i});let w=t.sessionRef.contents;return w!==void 0?(await w.respondToApproval(r.requestId,ire(T)),e.log("claude_code.user_input_request_auto_approved",Object.fromEntries([["request_id",r.requestId]]))):await o("Claude Code approval bridge was not ready");case"invalid":return await o(S.message)}}function ore(e,t,r){let n=e.pendingApprovals.get(r);if(n===void 0)return{TAG:"Error",_0:"claude_code_user_input_continuation_not_found"};let i=n.sessionId;return i!==void 0&&t!==void 0&&i!==t?{TAG:"Error",_0:"claude_code_user_input_session_mismatch"}:{TAG:"Ok",_0:n}}async function Ij(e,t,r,n,i,o,a,s){let l=ore(t,n,i);if(l.TAG!=="Ok")return{TAG:"UserInputRefused",_0:l._0};let d=l._0,u=o.map(w=>({questionId:w.questionId,selectedLabels:v(w.selectedLabels,[]),freeText:w.freeText})),c=new Date().toISOString(),f=d.request,h;if(f.TAG==="ToolApproval"){let w=f._0,P=u.flatMap(k=>k.selectedLabels)[0],C=E(P,k=>zo(w.choices,$=>{if($.label===k)return $.permissionDecision}));if(P!==void 0)if(C!==void 0){let k;switch(C.type){case"deny":k=R0(C.message,u,a,s,c);break;case"allow":case"answer_question":k=wj(u,a,s,c);break}h=[C,k,void 0]}else{let k="claude_code_user_input_unknown_decision";h=[{type:"deny",message:k},R0(k,u,a,s,c),k]}else{let k="claude_code_user_input_decision_missing";h=[{type:"deny",message:k},R0(k,u,a,s,c),k]}}else h=[Ete(f.originalInput,f.request,u),wj(u,a,s,c),void 0];let m=h[2],p=h[0],_=await r.respondToApproval(i,ire(p));if(_.TAG!=="Ok")return{TAG:"UserInputRefused",_0:_._0.reason};let g=d.request;if(g.TAG==="ToolApproval"&&g._0.request.requestSource==="claude_code_tool_approval")switch(p.type){case"allow":let w=Tte(p.updatedPermissions),A=Ate(t.grantStore,e.threadId,w);A.TAG==="Ok"?t.grants.contents=A._0:e.log("claude_code.thread_permission_grants_persist_failed",Object.fromEntries([["message",A._0.message]]));break;case"deny":case"answer_question":break}t.pendingApprovals.delete(i);let b=d.request,y;y=b.TAG==="ToolApproval"?"user_input_decision":"user_question_answer";let S=Fte(()=>0,()=>!1,()=>t.pendingApprovals.size>0,w=>e.log("claude_code.dispatch_liveness_wedged",Object.fromEntries([["source_seq",d.sourceSeq],["waited_ms",w.waitedMs],["cause",w.cause],["dispatch",y]])));S.TAG!=="Ok"&&e.log("claude_code.dispatch_liveness_arm_failed",Object.fromEntries([["message",S._0]]));let T=await sC(t,d,h[1],"Completed");return T.TAG==="Ok"?m!==void 0?{TAG:"UserInputRefused",_0:m}:"UserInputSettled":{TAG:"UserInputPublicationFailed",_0:T._0}}async function are(e,t,r,n,i,o,a){let s=ore(e,r,n);if(s.TAG!=="Ok")return{TAG:"UserInputRefused",_0:s._0};let l=v(i,"Denied by Linzumi"),d=await t.respondToApproval(n,{TAG:"Decline",message:l});if(d.TAG!=="Ok")return{TAG:"UserInputRefused",_0:d._0.reason};e.pendingApprovals.delete(n);let u=await sC(e,s._0,R0(l,[],o,a,new Date().toISOString()),"Completed");return u.TAG==="Ok"?"UserInputSettled":{TAG:"UserInputPublicationFailed",_0:u._0}}async function s$e(e,t,r,n,i){let o=Fe(t.pendingApprovals.entries().toArray(),s=>{let l=s[1],d=s[0],u=l.request;if(u.TAG!=="ToolApproval")return;let c=u._0;return zo(c.choices,f=>{switch(f.permissionDecision.type){case"allow":return[d,l,c,f];case"deny":case"answer_question":return}})}),a=async s=>{let l=o[s];if(l===void 0)return;let d=l[0],u=l[2].request.questions[0],c=u!==void 0?u.questionId:d+":decision",f=await Ij(e,t,r,l[1].sessionId,d,[{questionId:c,selectedLabels:[l[3].label],freeText:void 0}],n,i),h=0;return typeof f!="object"?e.log("claude_code.approval_request_auto_approved",Object.fromEntries([["request_id",d],["reason","full_access_enabled"]])):h=1,h===1&&e.log("claude_code.approval_request_auto_approval_failed",Object.fromEntries([["request_id",d],["reason","full_access_enabled"],["message",f._0]])),await a(s+1|0)};return await a(0)}function sre(e,t,r,n){let i=kte(e,t);return i.TAG!=="Ok"?{TAG:"Error",_0:"Claude permission grant revocation failed: "+i._0.message}:(r.contents=[],n(),{TAG:"Ok",_0:void 0})}function lre(e){return eC(e)!==void 0?e:"on-request"}function dre(e,t){if(typeof t!="object")return t==="Preserve"?!1:It(e);let r=eC(lre(t._0)),n=E(e,eC);return r!==void 0&&n!==void 0?r<n:!1}function ure(e,t){return typeof t!="object"?t==="Preserve"?e:"on-request":lre(t._0)}async function Dj(e,t,r,n){let i=t.effectiveAccess.contents,o=E(i,d=>d.approvalPolicy),a=dre(o,n.approvalPolicy)?sre(t.grantStore,e.threadId,t.grants,()=>e.log("claude_code.thread_permission_grants_cleared_on_downgrade",Object.fromEntries([["phase","before_first_dispatch"]]))):{TAG:"Ok",_0:void 0};if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};let s=await r.updateSettings(n);if(s.TAG==="Ok"){let d=n.approvalPolicy,u=0;return(typeof d=="object"||d!=="Preserve")&&(u=1),u===1&&(t.effectiveAccess.contents={approvalPolicy:ure(o,n.approvalPolicy),sandbox:E(i,c=>c.sandbox)}),{TAG:"Ok",_0:s._0}}let l=s._0;return l.TAG==="NotSupported"?{TAG:"Error",_0:"Claude replacement settings are not supported: "+l.capability}:{TAG:"Error",_0:l._0.reason}}function cre(e,t){let r={},n=(i,o,a)=>{if(typeof o=="object")if(a!==void 0){r[i]=a;return}else return;o!=="Preserve"&&(r[i]=null)};return n("model",e.model,t.model),n("approval_policy",e.approvalPolicy,t.approvalPolicy),n("reasoning_effort",e.reasoningEffort,t.reasoningEffort),r}async function fre(e,t,r,n){let i=await Dj(e,t,r,n);return i.TAG==="Ok"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:i._0}}async function mre(e,t,r,n,i,o){return await kl(t.settingsUpdateSerialization,async()=>{let a=A=>{if(A===void 0)return"Preserve";let P=ce(A);return P==null?"Clear":{TAG:"Set",_0:P}},s=n.model,l;if(s!==void 0){let A=ce(s);if(A==null)l="Clear";else{let P=Of(A);l=P!==void 0?{TAG:"Set",_0:P}:"Clear"}}else l="Preserve";let d=a(n.approvalPolicy),u=a(n.reasoningEffort),c={model:l,approvalPolicy:d,reasoningEffort:u},f=a(n.sandbox),h=E(t.effectiveAccess.contents,A=>A.approvalPolicy),m=E(t.effectiveAccess.contents,A=>A.sandbox),p=ure(h,d),_;_=typeof f!="object"?f==="Preserve"?m:void 0:f._0;let g=d,b;b=typeof g!="object"&&g==="Preserve"&&typeof f!="object"?f!=="Preserve":!0;let S=dre(h,d)?sre(t.grantStore,e.threadId,t.grants,()=>e.log("claude_code.thread_permission_grants_cleared_on_downgrade",Object.fromEntries([["new_approval_policy",rt(p,null,t$e)]]))):{TAG:"Ok",_0:void 0};if(S.TAG!=="Ok")return[{TAG:"Error",_0:S._0},void 0];let T=await r.updateSettings(c);if(!o())return[{TAG:"Ok",_0:"SettingsTransitionRebindRequired"},void 0];if(T.TAG==="Ok"){let A=T._0,P=n.model,C=A.model,k=P!==void 0&&C!==void 0?lt(ce(P)):void 0,$=A.approvalPolicy,V=A.reasoningEffort,F=d,D=u,q;q=typeof l!="object"&&l==="Preserve"&&typeof F!="object"&&F==="Preserve"&&typeof D!="object"&&D==="Preserve"&&typeof f!="object"?f!=="Preserve":!0;let re;re=typeof i!="object"?e.threadId:i.originalKandanThreadId;let te;te=typeof i!="object"?{}:{control_seq:i.controlSeq,control_provider_session_key:i.originalProviderSessionKey};let W;W=typeof l!="object"?l==="Preserve"?{}:{model:null}:k!==void 0?{model:k}:{};let j=d,X;X=typeof j!="object"?j==="Preserve"?{}:{approvalPolicy:null}:$!==void 0?{approvalPolicy:$}:{};let M=u,I;I=typeof M!="object"?M==="Preserve"?{}:{reasoningEffort:null}:V!==void 0?{reasoningEffort:V}:{};let Q;Q=typeof f!="object"?f==="Preserve"?{}:{sandbox:null}:{sandbox:f._0};let H=Object.assign({workspace:e.workspace,channel:e.channel,thread_id:re,codex_thread_id:r.harnessSessionId,updated_at:new Date().toISOString()},te),ie=Object.assign(H,W),se=Object.assign(ie,X),de=Object.assign(se,I),le=Cp(Object.assign(de,Q)),be;if(q){let Ve=await e.pipelinePush("session:settings",le,void 0,()=>{});be=o()?Ve.TAG==="Acked"?"SettingsPublicationApplied":{TAG:"SettingsPublicationFailed",_0:"session settings publish failed: "+Ve.message}:"SettingsPublicationRebindRequired"}else be="SettingsPublicationApplied";if(typeof be=="object")return[{TAG:"Error",_0:be._0},void 0];if(be!=="SettingsPublicationApplied")return[{TAG:"Ok",_0:"SettingsTransitionRebindRequired"},void 0];typeof l!="object"?l!=="Preserve"&&(t.effectiveModel.contents=void 0):k!==void 0&&(t.effectiveModel.contents=k);let Xe=u;typeof Xe!="object"?Xe!=="Preserve"&&(t.effectiveReasoningEffort.contents=void 0):V!==void 0&&(t.effectiveReasoningEffort.contents=V),b&&(t.effectiveAccess.contents={approvalPolicy:p,sandbox:_});let Qe;if($==="never"?(await s$e(e,t,r,n.actorUserId,n.actorSlug),Qe=!o()):Qe=!1,Qe)return[{TAG:"Ok",_0:"SettingsTransitionRebindRequired"},void 0];let oe;oe=typeof l!="object"?l==="Preserve"?{}:{model:null}:k!==void 0?{model:k}:{};let Te=d,qe;qe=typeof Te!="object"?Te==="Preserve"?{}:{approval_policy:null}:$!==void 0?{approval_policy:$}:{};let Ne=u,ae;ae=typeof Ne!="object"?Ne==="Preserve"?{}:{reasoning_effort:null}:V!==void 0?{reasoning_effort:V}:{};let Ue;Ue=typeof i!="object"?{}:{control_seq:i.controlSeq};let Ee=Object.assign(Object.assign(oe,qe),ae);return[{TAG:"Ok",_0:{TAG:"SettingsTransitionApplied",_0:Cp(Object.assign({instanceId:e.instanceId,controlType:"update_session_settings",agentProvider:"claude-code",threadId:n.threadId,applied:Ee},Ue))}},void 0]}else{let A=T._0;return A.TAG==="NotSupported"?[{TAG:"Error",_0:"Claude settings are not supported: "+A.capability},void 0]:[{TAG:"Error",_0:A._0.reason},void 0]}})}function l$e(e,t,r,n){let i=v(n.windowLabel,"account"),o=n.utilizationPercent,a=o!==void 0?o.toString():"na",s=n.resetsAtMs,l=s!==void 0?s.toString():"na",d=v(n.status,"na")+":"+v(n.windowLabel,"na")+":"+a+":"+l,u=Fr(t.rateLimitPublicationTail.contents.then(async()=>{if(J(t.lastRateLimitSignatureByWindow.get(i),d))return;let c=r!==void 0?{claude_session_id:r}:{},f=n.utilizationPercent,h=f!==void 0?{utilization_percent:Math.min(100,Math.max(0,Math.round(f)))}:{},m=n.resetsAtMs,p=m!==void 0?{resets_at_ms:m}:{},_=Cp(Object.assign(Object.assign(Object.assign({workspace:e.workspace,channel:e.channel,thread_id:e.threadId,agent_provider:"claude-code",rate_limit_type:i,status:v(n.status,"allowed")},c),h),p)),g=await e.pipelinePush("claude_rate_limit_state",_,void 0,()=>{});if(g.TAG!=="Acked")return e.log("claude_code.rate_limit_post_failed",Object.fromEntries([["thread_id",e.threadId],["message",g.message]]));t.lastRateLimitSignatureByWindow.set(i,d)}),c=>{let f=St(c);return e.log("claude_code.rate_limit_post_failed",Object.fromEntries([["thread_id",e.threadId],["message",f!==void 0?v(At(ce(f)),"unknown error"):"unknown error"]])),Promise.resolve()});return t.rateLimitPublicationTail.contents=u,u}function pre(e,t,r){return n=>{r.turnSeqs.size>0&&(r.lastHarnessActivityAtMs.contents=Date.now()),n.TAG==="HarnessDied"&&Bte(r);let i=Fr(r.eventPublicationTail.contents.then(async()=>{switch(e.log("claude_code.session_event",Object.fromEntries([["thread_id",e.threadId],["kind",EA(n)]])),n.TAG){case"TurnCompleted":case"TurnFailed":case"TurnInterrupted":break;default:Gj(r.pipeline,n)}switch(n.TAG){case"SessionStarted":let o=n.harnessSessionId;return t.contents=o,r.pipeline.resume(),oC(e,o,"session_started",iC({prompt:Zte(e.workDescription),threadId:e.threadId,rootSeq:rt(e.rootSeq,null,_=>_)}));case"ItemCompleted":let a=n.content,s=n.item,l=Aj(a,s),d=v(r.snapshots.get(s.turnId),[]);r.snapshots.set(s.turnId,d.concat([l]));let u=s.streamKind,c=t.contents;return u==="assistant"&&c!==void 0?oC(e,c,"assistant_message",iC({itemKey:s.itemId,body:a})):void 0;case"ApprovalRequested":let f=n.request,h=E(f.turnId,_=>r.turnSeqs.get(_));if(h!==void 0){Wte(e,r,f,h,t.contents);return}let m=e.sourceSeq;if(m!==void 0){Wte(e,r,f,m,t.contents);return}e.log("claude.approval_publication_failed",Object.fromEntries([["request_id",f.requestId],["message","approval request had no source message"]]));let p=r.sessionRef.contents;if(p!==void 0){p.respondToApproval(f.requestId,{TAG:"Decline",message:"Claude Code user input request had no source message"});return}else return;case"RateLimitUpdated":return await l$e(e,r,t.contents,n.rateLimit);case"HarnessDied":return Rj(e,r,"AllHostApprovals"),Bte(r);default:return}}),o=>{let a=St(o);return e.log("claude_code.event_publication_failed",Object.fromEntries([["thread_id",e.threadId],["message",a!==void 0?v(At(ce(a)),"unknown error"):"unknown error"]])),Promise.resolve()});r.eventPublicationTail.contents=i}}async function Mj(e){return await e.eventPublicationTail.contents,await e.rateLimitPublicationTail.contents,await e.pipeline.flushOutbox(5e3)}async function Cf(e){return await e.eventPublicationTail.contents,await e.rateLimitPublicationTail.contents,await e.pipeline.close(5e3)}function d$e(e,t,r){return typeof r!="object"?r==="TurnCompleted"?Gj(e.pipeline,{TAG:"TurnCompleted",turnId:t}):e.pipeline.submitNotification("pipeline/stopInterrupted",{turnId:t,reason:"stopped by user"}):Gj(e.pipeline,{TAG:"TurnFailed",turnId:t,failure:{fate:"transient_local",reason:r._0,providerDetail:void 0}})}function hre(e,t,r,n,i,o){let a=e.coordinatorControl,s={contents:void 0},l=Lte(n,i,u=>{let c=a.observe(n,u);if(c.TAG==="Ok")return c._0;let f=c._0;return s.contents=f,e.log("claude_code.coordinator_observer_failed",Object.fromEntries([["session_id",n],["reason",f]])),()=>{}},async(u,c)=>{await t.eventPublicationTail.contents,d$e(t,u,c);let f=await Mj(t);return f.TAG==="Ok"?{TAG:"Ok",_0:"claude-terminal:"+u}:{TAG:"Error",_0:f._0}},(u,c)=>a.ackTerminal(n,u,c),(u,c)=>a.failTerminal(n,u,c),u=>a.retryTerminal(n,u),(u,c)=>a.requestStop(n,u,c),()=>a.currentControllableTurnId(n),u=>({TAG:"HostApprovalsSettling",_0:(async()=>{await t.eventPublicationTail.contents;let c=t.turnSeqs.get(u);return Rj(e,t,c!==void 0?{TAG:"HostApprovalSource",_0:c}:"NoHostApproval"),{TAG:"Ok",_0:void 0}})()}),()=>r.stopSession(),()=>Cf(t),o),d=s.contents;return d!==void 0?{TAG:"Error",_0:d}:{TAG:"Ok",_0:l}}var Pj={contents:0};function _re(){Pj.contents=Pj.contents+1|0;let e="claude-host:"+Pj.contents.toString(),t={contents:void 0},r={contents:void 0},n=new Promise((o,a)=>{r.contents=o});return{instanceToken:e,closed:n,isClosed:()=>It(t.contents),settleClosed:o=>{let a=r.contents;if(a!==void 0)return r.contents=void 0,t.contents=o,a(o)}}}function gre(e,t){return e.pushEvent("session:bind",Cp({workspace:e.workspace,channel:e.channel,thread_id:e.threadId,codex_thread_id:t,agent_provider:"claude-code"}))}function bre(e,t){return nC(e,void 0,"processing","starting turn",t)}async function yre(e,t,r,n,i){let o=async p=>(await nC(e,ve(i),"failed",p,r),{TAG:"CompactThreadSettled",_0:{TAG:"Error",_0:p}}),a=async p=>{let _=t.contents,g;g=typeof _!="object"?void 0:_.release;let b;b=p.TAG==="Ok"?"Compacted":{TAG:"Failed",_0:p._0};let y;y=typeof b!="object"?["processed","conversation history compacted"]:["failed",b._0];let S=y[1],T=y[0],w=e.publishCompactTerminal,A=w!==void 0?await w(i,T,S,r):(await nC(e,ve(i),T,S,r),"MessageStateApplied"),P;if(typeof A!="object")P=A==="MessageStateApplied"?"PublicationDurable":"PublicationUnconfirmed";else if(A.TAG==="MessageStateTerminal"){let k=A._0,$=k.threadId===e.threadId,V=k.sourceSeq===i;P=$&&V?{TAG:"PublicationAlreadyTerminal",status:k.status}:{TAG:"PublicationInvalid",_0:"terminal message_state consensus identity mismatch"}}else P={TAG:"PublicationInvalid",_0:A._0};let C;return C=typeof b!="object"?typeof P!="object"?P==="PublicationDurable":P.TAG==="PublicationAlreadyTerminal"?P.status==="processed":!1:typeof P!="object"?P==="PublicationDurable":P.TAG==="PublicationAlreadyTerminal"?P.status==="failed":!1,C?(g!==void 0?await g():{TAG:"Ok",_0:void 0}).TAG==="Ok"?(t.contents="CompactIdle",{TAG:"CompactThreadSettled",_0:xk(b,P)}):(t.contents={TAG:"CompactActive",requestId:n,awaitingFallbackDurability:!0,release:g},{TAG:"CompactTerminalFallbackRequired",_0:b}):(t.contents={TAG:"CompactActive",requestId:n,awaitingFallbackDurability:!0,release:g},{TAG:"CompactTerminalFallbackRequired",_0:b})},s=n.trim(),l=sr(i)&&i>0,d=e$e(t),u=e.compactSession;if(s==="")return await o("request_id_required");if(!l)return await o("source_seq_invalid");if(d)return await o("compact_already_in_progress");if(u===void 0)return await o("agent_compaction_unsupported:claude-code");t.contents={TAG:"CompactActive",requestId:n,awaitingFallbackDurability:!1,release:void 0};let c;try{c=await u(r)}catch(p){let _=N(p);c={TAG:"Error",_0:{fate:"transient_local",reason:Hn(_),providerDetail:void 0}}}if(c.TAG!=="Ok")return await a({TAG:"Error",_0:c._0.reason});let f=c._0;t.contents={TAG:"CompactActive",requestId:n,awaitingFallbackDurability:!1,release:f.release};let h=await f.started;if(h.TAG!=="Ok")return await a({TAG:"Error",_0:h._0.reason});await nC(e,ve(i),"processing","compacting conversation history",r);let m=await f.completed;return m.TAG==="Ok"?await a({TAG:"Ok",_0:void 0}):await a({TAG:"Error",_0:m._0.reason})}async function xre(e,t,r,n){let i=t.contents;if(typeof i!="object"||!i.awaitingFallbackDurability||i.requestId!==r)return!1;let o=i.release;if(o!==void 0){let a;try{a=await o()}catch(s){let l=N(s);a={TAG:"Error",_0:Hn(l)}}if(a.TAG==="Ok"){let s=t.contents;return typeof s=="object"&&s.requestId===r&&(t.contents="CompactIdle"),!0}return e.log("claude.native_compaction_release_failed",Object.fromEntries([["thread_id",e.threadId],["request_id",r],["reason",a._0]])),!1}return t.contents="CompactIdle",!0}function eu(e){let t=e.mcp;t!==void 0&&t.cleanup();let r=e.modelTransport;if(r!==void 0)return r.cleanup()}function Sre(e,t,r,n){let i={contents:void 0};return o=>{let a=i.contents;if(a!==void 0)return a;let l=(async()=>{Rj(e,t,"AllHostApprovals");try{await Ute(r,o)}catch(d){let u=N(d);e.log("claude_code.host_close_failed",Object.fromEntries([["reason",o],["message",ke(u).message]]))}return eu(e),n.settleClosed(o)})();return i.contents=l,l}}async function $j(e,t,r){let n=await e();if(n.TAG==="Ok"){let i=await t();return i.TAG==="Ok"?{TAG:"Ok",_0:i._0}:(await r(),{TAG:"Error",_0:i._0})}return await r(),{TAG:"Error",_0:n._0}}async function u$e(e,t,r,n){let i={contents:void 0},o={terminalTurnIds:{contents:[]}},a=Yte(e,i,o,t),s=_re(),l={contents:"CompactIdle"};a.pipeline.pause(),e.log("claude_code.turn_starting",Object.fromEntries([["linzumi_thread_id",e.threadId],["claude_session_id",null],["body_preview",e.workDescription.slice(0,120)],["message_received_at_ms",Date.now()]]));let d={contents:void 0},u=new Promise((p,_)=>{d.contents=p}),c=p=>{let _=d.contents;if(_!==void 0)return d.contents=void 0,_(p)},f=pre(e,i,a),h=p=>{switch(p.TAG){case"SessionStarted":c({TAG:"Ok",_0:p.harnessSessionId});break;case"TurnFailed":c({TAG:"Error",_0:p.failure.reason});break;case"HarnessDied":c({TAG:"Error",_0:p.failure.reason});break}f(p)},m=await e.adapter.startSession(Jte(e),h);if(m.TAG==="Ok"){let p=m._0;a.sessionRef.contents=p;let b=await n(y=>fre(e,a,p,y),async()=>{let y=await p.dispatchTurn(aC(e,r));return y.TAG==="Ok"?{TAG:"Ok",_0:y._0}:{TAG:"Error",_0:y._0.reason}});if(b.TAG==="Ok"){let y=b._0,S=await u;if(S.TAG==="Ok"){let T=S._0;i.contents=T;let w=hre(e,a,p,T,s.instanceToken,(A,P,C)=>{let k=A===T,$=P===s.instanceToken;if(k&&$)return s.settleClosed(C)});if(w.TAG==="Ok"){let A=w._0,P=Sre(e,a,A,s),C=Xte(a,()=>P("harness_died"));C!==void 0&&await C;let k=(oe,Te)=>{if(ere(e,i,o,a,oe,Te),Te!==void 0)return Oj(A,oe,Te)};k(y.turnId,y.identity.sourceSeq),await gre(e,T),await bre(e,T);let $=s.instanceToken,V=s.closed,F=s.isClosed,D=e.threadId;return{TAG:"Ok",_0:{harnessSessionId:T,instanceToken:$,closed:V,isClosed:F,closeOnce:P,kandanThreadId:D,updateSessionSettings:(oe,Te,qe)=>mre(e,a,p,oe,Te,qe),currentSourceSeq:()=>tre(e,a,T),applyReplaySettings:async oe=>{let Te=await Dj(e,a,p,oe);return Te.TAG==="Ok"?{TAG:"Ok",_0:cre(oe,Te._0)}:{TAG:"Error",_0:Te._0}},session:p,stop:()=>P("explicit_close"),stopTurn:oe=>kx(A,oe,rt(oe,"claude-stop",Te=>"claude-stop:"+Te.toString())),interruptTurn:oe=>rre(e,a,p,o,oe),interruptQueuedMessages:oe=>kx(A,oe,rt(oe,"claude-queued-interrupt",Te=>"claude-queued-interrupt:"+Te.toString())).then(Te=>Ze(Te,qe=>{})),steerTurn:(oe,Te,qe)=>nre(e,a,i,p,o,oe,Te,qe),slashCommands:async()=>{let oe=await p.slashCommands();if(oe.TAG==="Ok")return{TAG:"Ok",_0:oe._0};let Te=oe._0;return Te.TAG==="NotSupported"?{TAG:"Error",_0:"Claude slash commands are not supported: "+Te.capability}:{TAG:"Error",_0:Te._0.reason}},compactThread:(oe,Te)=>yre(e,l,T,oe,Te),acknowledgeCompactTerminalFallback:(oe,Te)=>xre(e,l,oe,Te),recordAcceptedTurn:k,lastHarnessActivityAtMs:()=>a.lastHarnessActivityAtMs.contents,resolveClaudeUserInputRequest:(oe,Te,qe,Ne,ae)=>Ij(e,a,p,oe,Te,qe,Ne,ae),denyClaudeUserInputRequest:(oe,Te,qe,Ne,ae)=>are(a,p,oe,Te,qe,Ne,ae),flushPipeline:()=>Mj(a)}}}return await p.stopSession(),await Cf(a),eu(e),{TAG:"Error",_0:w._0}}return await p.stopSession(),await Cf(a),eu(e),{TAG:"Error",_0:S._0}}return await p.stopSession(),await Cf(a),eu(e),{TAG:"Error",_0:b._0}}return await Cf(a),eu(e),{TAG:"Error",_0:m._0.reason}}async function Tre(e,t){let r=v(t,(o,a)=>a()),n=e.sourceSeq;if(n===void 0)return{TAG:"Error",_0:"Claude turn dispatch missing Kandan source sequence"};let i=Qte(e);if(i.TAG==="Ok"){let o=await u$e(e,i._0,n,r);if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let a=o._0,s=e.mcp;return s!==void 0?Ze(He(s.retirement.attach({retire:()=>Kte(a.stop,e.log,"FreshSession")}),l=>l.summary),()=>a):{TAG:"Ok",_0:a}}return eu(e),{TAG:"Error",_0:i._0}}async function c$e(e,t,r,n,i){let o={contents:t},a={terminalTurnIds:{contents:[]}},s=Yte(e,o,a,r),l=_re(),d={contents:"CompactIdle"},u=await e.adapter.attachSession(t,Jte(e),pre(e,o,s));if(u.TAG==="Ok"){let c=u._0;s.sessionRef.contents=c;let m=await i(p=>fre(e,s,c,p),async()=>{await gre(e,c.harnessSessionId);let p=await c.dispatchTurn(aC(e,n));return p.TAG==="Ok"?{TAG:"Ok",_0:p._0}:{TAG:"Error",_0:p._0.reason}});if(m.TAG==="Ok"){let p=m._0,_=hre(e,s,c,c.harnessSessionId,l.instanceToken,(g,b,y)=>{let S=g===c.harnessSessionId,T=b===l.instanceToken;if(S&&T)return l.settleClosed(y)});if(_.TAG==="Ok"){let g=_._0,b=Sre(e,s,g,l),y=Xte(s,()=>b("harness_died"));y!==void 0&&await y;let S=(de,le)=>{if(ere(e,o,a,s,de,le),le!==void 0)return Oj(g,de,le)};S(p.turnId,p.identity.sourceSeq),await bre(e,c.harnessSessionId);let T=c.harnessSessionId,w=l.instanceToken,A=l.closed,P=l.isClosed,C=e.threadId;return{TAG:"Ok",_0:{harnessSessionId:T,instanceToken:w,closed:A,isClosed:P,closeOnce:b,kandanThreadId:C,updateSessionSettings:(de,le,be)=>mre(e,s,c,de,le,be),currentSourceSeq:()=>tre(e,s,c.harnessSessionId),applyReplaySettings:async de=>{let le=await Dj(e,s,c,de);return le.TAG==="Ok"?{TAG:"Ok",_0:cre(de,le._0)}:{TAG:"Error",_0:le._0}},session:c,stop:()=>b("explicit_close"),stopTurn:de=>kx(g,de,rt(de,"claude-stop",le=>"claude-stop:"+le.toString())),interruptTurn:de=>rre(e,s,c,a,de),interruptQueuedMessages:de=>kx(g,de,rt(de,"claude-queued-interrupt",le=>"claude-queued-interrupt:"+le.toString())).then(le=>Ze(le,be=>{})),steerTurn:(de,le,be)=>nre(e,s,o,c,a,de,le,be),slashCommands:async()=>{let de=await c.slashCommands();if(de.TAG==="Ok")return{TAG:"Ok",_0:de._0};let le=de._0;return le.TAG==="NotSupported"?{TAG:"Error",_0:"Claude slash commands are not supported: "+le.capability}:{TAG:"Error",_0:le._0.reason}},compactThread:(de,le)=>yre(e,d,c.harnessSessionId,de,le),acknowledgeCompactTerminalFallback:(de,le)=>xre(e,d,de,le),recordAcceptedTurn:S,lastHarnessActivityAtMs:()=>s.lastHarnessActivityAtMs.contents,resolveClaudeUserInputRequest:(de,le,be,Xe,Qe)=>Ij(e,s,c,de,le,be,Xe,Qe),denyClaudeUserInputRequest:(de,le,be,Xe,Qe)=>are(s,c,de,le,be,Xe,Qe),flushPipeline:()=>Mj(s)}}}return await c.stopSession(),await Cf(s),eu(e),{TAG:"Error",_0:_._0}}return await c.stopSession(),await Cf(s),eu(e),{TAG:"Error",_0:m._0}}return await Cf(s),eu(e),{TAG:"Error",_0:u._0.reason}}async function vre(e,t,r){let n=v(r,(a,s)=>s()),i=e.sourceSeq;if(i===void 0)return{TAG:"Error",_0:"Claude turn dispatch missing Kandan source sequence"};let o=Qte(e);if(o.TAG==="Ok"){let a=await c$e(e,t,o._0,i,n);if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};let s=a._0,l=e.mcp;return l!==void 0?Ze(He(l.retirement.attach({retire:()=>Kte(s.stop,e.log,"ResumedSession")}),d=>d.summary),()=>s):{TAG:"Ok",_0:s}}return eu(e),{TAG:"Error",_0:o._0}}function Rre(e,t,r){return{sessionGeneration:e,turnId:t,sourceSeq:r}}function Ire(e,t){return{ticketId:e,turn:t}}function Dre(e,t){return{ticketId:e,turn:t}}function Mre(e,t){return{ticketId:e,turn:t}}function $re(e,t){return{ticketId:e,commandKey:LD(t+":native-command:"+e)}}function qj(e){return e.ticketId}function zj(e){return e.ticketId}function Pp(e){return LD(e.sessionGeneration+":"+e.turnId+":"+e.sourceSeq.toString())}function Lj(e){return{TAG:"StreamHandle",_0:e}}function mC(e,t,r){let n=e.stream;if(typeof n!="object"){let o=e.knownStreamHandles.includes(t),a=e.knownEpochs.includes(r);return o&&a?"Retired":"Unknown"}if(n.TAG==="Live"){let o=n._0;if(J(o.handle,t)&&o.epoch===r)return"Current";let a=e.retiredStreamHandles.includes(t),s=e.retiredEpochs.includes(r);return a&&s?"Retired":"Unknown"}let i=n.old;return J(i.handle,t)&&i.epoch===r?"Retired":"Unknown"}function jre(e,t,r){return{sessionGeneration:e,turns:[],liveTurn:void 0,release:"NoQueueRelease",nativeCommand:"NoNativeCommand",completedNativeCommands:[],steers:[],stream:{TAG:"Live",_0:{handle:r,epoch:t}},completedResults:[],knownEpochs:[t],retiredEpochs:[],knownStreamHandles:[r],retiredStreamHandles:[],settledRotations:[],settledRotationFailures:[],pendingClosedRotation:void 0,nextReleaseNumber:0,closed:!1}}function cC(e){return{tokenId:"settings:"+e.sessionGeneration+":"+e.turnId+":"+e.sourceSeq.toString(),turn:e}}function jj(e,t){return{ticketId:"terminal:"+e+":"+t.sessionGeneration+":"+t.turnId+":"+t.sourceSeq.toString(),turn:t}}function f$e(e,t){return{tokenId:"rotation:"+e+":"+t.sessionGeneration+":"+t.turnId,oldEpoch:e}}function m$e(e,t){return{tokenId:"rotation:"+e+":native:"+t.ticketId,oldEpoch:e}}function fC(e,t){return{tokenId:"retract:"+e._0.ticketId,turn:t}}function yo(e,t){return e.turns.find(r=>J(r.handle,t))}function p$e(e,t){return e.turns.find(r=>J(Pp(r.handle),t))}function ui(e,t){return{sessionGeneration:e.sessionGeneration,turns:e.turns.map(r=>J(r.handle,t.handle)?t:r),liveTurn:e.liveTurn,release:e.release,nativeCommand:e.nativeCommand,completedNativeCommands:e.completedNativeCommands,steers:e.steers,stream:e.stream,completedResults:e.completedResults,knownEpochs:e.knownEpochs,retiredEpochs:e.retiredEpochs,knownStreamHandles:e.knownStreamHandles,retiredStreamHandles:e.retiredStreamHandles,settledRotations:e.settledRotations,settledRotationFailures:e.settledRotationFailures,pendingClosedRotation:e.pendingClosedRotation,nextReleaseNumber:e.nextReleaseNumber,closed:e.closed}}function Uj(e){let t=e.terminal;return typeof t!="object"?!1:t.TAG==="Committed"}function Are(e,t){if(!J(t,cC(t.turn)))return!1;let r=yo(e,t.turn);return r!==void 0?Uj(r):!1}function kre(e,t){let r=e.concat([t]);return r.length>64?r.slice(-64):r}function Cre(e,t){let r=e.concat([t]);return r.length>64?r.slice(-64):r}function Fj(e,t){let r=e.stream;return typeof r!="object"||r.TAG!=="Live"?!1:r._0.epoch===t}function Ep(e){let t=e.control;if(typeof t=="object")return t.TAG==="Interrupting"?{TAG:"InterruptControl",_0:t._0}:{TAG:"StopControl",_0:t._0}}function tu(e){let t=e.control;if(typeof t=="object")return t._1}function Cs(e,t){let r=e.control;return typeof r!="object"?e:r.TAG==="Interrupting"?{handle:e.handle,provider:e.provider,control:{TAG:"Interrupting",_0:r._0,_1:t},terminal:e.terminal}:{handle:e.handle,provider:e.provider,control:{TAG:"Stopping",_0:r._0,_1:t},terminal:e.terminal}}function pC(e){return e._0.ticketId}function lC(e,t){return e.turns.some(r=>{let n=Ep(r);return n!==void 0?n._0.ticketId===t:!1})}function Nj(e,t){let r=e.control;return typeof r!="object"?!1:r.TAG==="Interrupting"?t.TAG==="StopControl"?!1:J(r._0,t._0):t.TAG==="StopControl"?J(r._0,t._0):!1}function dC(e,t,r,n){let i=t.terminal,o;if(typeof i!="object")o="ProviderCompletion";else switch(i.TAG){case"PendingAck":o=i._3;break;case"Committed":o="ProviderCompletion";break;default:o=i._2}let a=t.handle,s=t.provider,l=t.control;return{state:ui(e,Cs({handle:a,provider:s,control:l,terminal:{TAG:"Publishing",_0:r,_1:n,_2:o}},"AwaitingTerminalPublication")),effects:[{TAG:"PublishTerminal",turn:t.handle,ticket:r,outcome:n}]}}function Cx(e,t,r){let n=e.nextReleaseNumber+1|0,o={tokenId:"queue-release:"+e.sessionGeneration+":"+n.toString(),predecessor:t};return{state:{sessionGeneration:e.sessionGeneration,turns:e.turns,liveTurn:e.liveTurn,release:{TAG:"BeginningQueueRelease",token:o,initialHint:r,predecessorKey:z(t,Pp)},nativeCommand:e.nativeCommand,completedNativeCommands:e.completedNativeCommands,steers:e.steers,stream:e.stream,completedResults:e.completedResults,knownEpochs:e.knownEpochs,retiredEpochs:e.retiredEpochs,knownStreamHandles:e.knownStreamHandles,retiredStreamHandles:e.retiredStreamHandles,settledRotations:e.settledRotations,settledRotationFailures:e.settledRotationFailures,pendingClosedRotation:e.pendingClosedRotation,nextReleaseNumber:n,closed:e.closed},effects:[{TAG:"BeginQueueRelease",token:o,predecessor:t}]}}function h$e(e,t){let r=e.nextReleaseNumber+1|0,i={tokenId:"queue-release-after-native:"+e.sessionGeneration+":"+r.toString(),predecessor:void 0};return{state:{sessionGeneration:e.sessionGeneration,turns:e.turns,liveTurn:e.liveTurn,release:{TAG:"BeginningQueueRelease",token:i,initialHint:void 0,predecessorKey:ve(t.commandKey)},nativeCommand:e.nativeCommand,completedNativeCommands:e.completedNativeCommands,steers:e.steers,stream:e.stream,completedResults:e.completedResults,knownEpochs:e.knownEpochs,retiredEpochs:e.retiredEpochs,knownStreamHandles:e.knownStreamHandles,retiredStreamHandles:e.retiredStreamHandles,settledRotations:e.settledRotations,settledRotationFailures:e.settledRotationFailures,pendingClosedRotation:e.pendingClosedRotation,nextReleaseNumber:r,closed:e.closed},effects:[{TAG:"BeginQueueReleaseAfterNativeCommand",token:i,predecessor:t}]}}function _$e(e,t){let r=e.nextReleaseNumber+1|0,i={tokenId:"native-queue-release:"+e.sessionGeneration+":"+r.toString(),predecessor:void 0};return{state:{sessionGeneration:e.sessionGeneration,turns:e.turns,liveTurn:e.liveTurn,release:{TAG:"BeginningNativeCommandRelease",token:i,ticket:t},nativeCommand:e.nativeCommand,completedNativeCommands:e.completedNativeCommands,steers:e.steers,stream:e.stream,completedResults:e.completedResults,knownEpochs:e.knownEpochs,retiredEpochs:e.retiredEpochs,knownStreamHandles:e.knownStreamHandles,retiredStreamHandles:e.retiredStreamHandles,settledRotations:e.settledRotations,settledRotationFailures:e.settledRotationFailures,pendingClosedRotation:e.pendingClosedRotation,nextReleaseNumber:r,closed:e.closed},effects:[{TAG:"BeginNativeCommandRelease",token:i,ticket:t}]}}function uC(e,t,r){let n=Fe(e.steers,P=>{let C=J(P.ticket.turn,t),k=P.disposition;if(C&&k==="SteerWaiting")return r?{TAG:"DeliverSteer",turn:t,ticket:P.ticket}:{TAG:"SettleSteerRetracted",ticket:P.ticket}}),i=r?"SteerDelivering":"SteerRetracted",o=e.sessionGeneration,a=e.turns,s=e.liveTurn,l=e.release,d=e.nativeCommand,u=e.completedNativeCommands,c=e.steers.map(P=>{let C=J(P.ticket.turn,t),k=P.disposition;if(!C)return P;switch(k){case"SteerWaiting":return{ticket:P.ticket,disposition:i};case"SteerDelivering":case"SteerDelivered":case"SteerRetracted":return P}}),f=e.stream,h=e.completedResults,m=e.knownEpochs,p=e.retiredEpochs,_=e.knownStreamHandles,g=e.retiredStreamHandles,b=e.settledRotations,y=e.settledRotationFailures,S=e.pendingClosedRotation,T=e.nextReleaseNumber,w=e.closed;return[{sessionGeneration:o,turns:a,liveTurn:s,release:l,nativeCommand:d,completedNativeCommands:u,steers:c,stream:f,completedResults:h,knownEpochs:m,retiredEpochs:p,knownStreamHandles:_,retiredStreamHandles:g,settledRotations:b,settledRotationFailures:y,pendingClosedRotation:S,nextReleaseNumber:T,closed:w},n]}function g$e(e){return e.turns.some(t=>{let r=t.terminal,n=tu(t);if(n!==void 0){if(typeof n!="object"){if(n==="AwaitingTerminalPublication")return!0}else if(n.TAG==="RetractingControlledTurn")return!0}return typeof r!="object"?!1:r.TAG!=="Committed"})}function Ore(e,t,r){let n=e.steers.find(a=>a.ticket.ticketId===t.ticketId);if(n===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"steer delivery completion names an unknown ticket"}};let i=J(n.ticket,t),o=n.disposition;if(!i)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"steer delivery completion forges an installed ticket id"}};switch(o){case"SteerWaiting":return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"steer delivery completed before delivery began"}};case"SteerDelivering":if(r.TAG==="Ok"&&r._0){let a=e.sessionGeneration,s=e.turns,l=e.liveTurn,d=e.release,u=e.nativeCommand,c=e.completedNativeCommands,f=e.steers.map(C=>J(C.ticket,t)?{ticket:C.ticket,disposition:"SteerDelivered"}:C),h=e.stream,m=e.completedResults,p=e.knownEpochs,_=e.retiredEpochs,g=e.knownStreamHandles,b=e.retiredStreamHandles,y=e.settledRotations,S=e.settledRotationFailures,T=e.pendingClosedRotation,w=e.nextReleaseNumber,A=e.closed;return{TAG:"Ok",_0:{state:{sessionGeneration:a,turns:s,liveTurn:l,release:d,nativeCommand:u,completedNativeCommands:c,steers:f,stream:h,completedResults:m,knownEpochs:p,retiredEpochs:_,knownStreamHandles:g,retiredStreamHandles:b,settledRotations:y,settledRotationFailures:S,pendingClosedRotation:T,nextReleaseNumber:w,closed:A},effects:[]}}}return{TAG:"Ok",_0:{state:{sessionGeneration:e.sessionGeneration,turns:e.turns,liveTurn:e.liveTurn,release:e.release,nativeCommand:e.nativeCommand,completedNativeCommands:e.completedNativeCommands,steers:e.steers.map(a=>J(a.ticket,t)?{ticket:a.ticket,disposition:"SteerRetracted"}:a),stream:e.stream,completedResults:e.completedResults,knownEpochs:e.knownEpochs,retiredEpochs:e.retiredEpochs,knownStreamHandles:e.knownStreamHandles,retiredStreamHandles:e.retiredStreamHandles,settledRotations:e.settledRotations,settledRotationFailures:e.settledRotationFailures,pendingClosedRotation:e.pendingClosedRotation,nextReleaseNumber:e.nextReleaseNumber,closed:e.closed},effects:[{TAG:"SettleSteerRetracted",ticket:t}]}};case"SteerDelivered":case"SteerRetracted":return{TAG:"Ok",_0:{state:e,effects:[]}}}}function Ef(e,t){let r=e.stream,n;if(typeof r!="object")n=[[],e.pendingClosedRotation,void 0];else if(r.TAG==="Live"){let p=r._0.handle;n=[[{TAG:"CloseProviderStream",_0:p}],void 0,p]}else{let p=r.old.handle;n=[[{TAG:"CloseProviderStream",_0:p}],r.token,p]}let i=n[2],o=e.turns.filter(p=>!Uj(p)),a=o.map(p=>{let _=p.terminal,g;if(typeof _!="object")g=void 0;else switch(_.TAG){case"RetractingTerminal":case"Committed":g=void 0;break;default:g={ticket:_._0,outcome:_._1}}return{turn:p.handle,publication:g}}),l=a.length!==0?[{TAG:"TerminalizeUncommitted",_0:a}]:[],d=Fe(o,p=>{let _=p.provider;if(!(typeof _!="object"||_.TAG!=="ApplyingSettings"))return{TAG:"SettleSettingsClosed",_0:{token:_._0}}}),u=Fe(o,p=>{let _=Ep(p),g=tu(p);if(_!==void 0&&(typeof g!="object"||g.TAG!=="ControlCommitted"))return{TAG:"SettleControlClosed",_0:{ticket:_}}}),c=Fe(e.steers,p=>{if(p.disposition==="SteerWaiting")return{TAG:"SettleSteerRetracted",ticket:p.ticket}}),f=t!==void 0?[{TAG:"ReportHarnessDied",_0:t}]:[],h=e.nativeCommand,m;if(typeof h!="object")m=["NoNativeCommand",e.completedNativeCommands,[]];else{let p=h._0;m=["NoNativeCommand",e.completedNativeCommands.concat([{ticket:p,command:h._1,outcome:{TAG:"Error",_0:"native command closed before completion"}}]),[{TAG:"SettleNativeCommandClosed",ticket:p}]]}return{state:{sessionGeneration:e.sessionGeneration,turns:e.turns,liveTurn:void 0,release:"NoQueueRelease",nativeCommand:m[0],completedNativeCommands:m[1],steers:e.steers.map(p=>p.disposition==="SteerWaiting"?{ticket:p.ticket,disposition:"SteerRetracted"}:p),stream:"Closed",completedResults:e.completedResults,knownEpochs:e.knownEpochs,retiredEpochs:e.retiredEpochs,knownStreamHandles:e.knownStreamHandles,retiredStreamHandles:i!==void 0&&!e.retiredStreamHandles.includes(i)?e.retiredStreamHandles.concat([i]):e.retiredStreamHandles,settledRotations:e.settledRotations,settledRotationFailures:e.settledRotationFailures,pendingClosedRotation:n[1],nextReleaseNumber:e.nextReleaseNumber,closed:!0},effects:["CloseDispatchQueue"].concat(n[0],l,d,u,c,m[2],f)}}function Op(e,t){return{TAG:"Ok",_0:Ef(e,"dispatch input queue transaction failed: "+t)}}function Ere(e,t,r){let n=fC(r,t.handle);return{state:ui(e,Cs(t,{TAG:"RetractingControlledTurn",_0:n,_1:"NoReleaseContinuation"})),effects:[{TAG:"RetractQueuedTurn",_0:{token:n,turn:t.handle}}]}}function Pre(e,t){let r=Fe(e.turns,w=>{let A=tu(w),P=Ep(w),C=J(w.handle,t);return A===void 0||typeof A=="object"||A!=="AwaitingQueueLease"||P===void 0||C?void 0:{TAG:"RetractQueuedTurn",_0:{token:fC(P,w.handle),turn:w.handle}}}),n=e.sessionGeneration,i=e.turns.map(w=>{let A=tu(w),P=Ep(w),C=J(w.handle,t);if(A===void 0||typeof A=="object"||A!=="AwaitingQueueLease"||P===void 0||C)return w;let k=fC(P,w.handle);return Cs(w,{TAG:"RetractingControlledTurn",_0:k,_1:"NoReleaseContinuation"})}),o=e.liveTurn,a=e.release,s=e.nativeCommand,l=e.completedNativeCommands,d=e.steers,u=e.stream,c=e.completedResults,f=e.knownEpochs,h=e.retiredEpochs,m=e.knownStreamHandles,p=e.retiredStreamHandles,_=e.settledRotations,g=e.settledRotationFailures,b=e.pendingClosedRotation,y=e.nextReleaseNumber,S=e.closed;return[{sessionGeneration:n,turns:i,liveTurn:o,release:a,nativeCommand:s,completedNativeCommands:l,steers:d,stream:u,completedResults:c,knownEpochs:f,retiredEpochs:h,knownStreamHandles:m,retiredStreamHandles:p,settledRotations:_,settledRotationFailures:g,pendingClosedRotation:b,nextReleaseNumber:y,closed:S},r]}function Bj(e,t){if(e.closed){let r=e.pendingClosedRotation,n;if(typeof t!="object")return{TAG:"Ok",_0:{state:e,effects:[]}};switch(t.TAG){case"NativeCommandRequested":let o=t._1,a=t._0,s=e.completedNativeCommands.find(h=>h.ticket.ticketId===a.ticketId);return s!==void 0?J(s.ticket,a)&&s.command===o?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"closed native command request forges a consumed ticket id"}}:{TAG:"Ok",_0:{state:{sessionGeneration:e.sessionGeneration,turns:e.turns,liveTurn:e.liveTurn,release:e.release,nativeCommand:e.nativeCommand,completedNativeCommands:e.completedNativeCommands.concat([{ticket:a,command:o,outcome:{TAG:"Error",_0:"native command requested after close"}}]),steers:e.steers,stream:e.stream,completedResults:e.completedResults,knownEpochs:e.knownEpochs,retiredEpochs:e.retiredEpochs,knownStreamHandles:e.knownStreamHandles,retiredStreamHandles:e.retiredStreamHandles,settledRotations:e.settledRotations,settledRotationFailures:e.settledRotationFailures,pendingClosedRotation:e.pendingClosedRotation,nextReleaseNumber:e.nextReleaseNumber,closed:e.closed},effects:[{TAG:"SettleNativeCommandClosed",ticket:a}]}};case"NativeCommandReleaseBegun":n=t._1;break;case"NativeCommandReleaseCommitted":n=t._2;break;case"NativeCommandEnqueued":case"NativeCommandPulled":case"NativeCommandCompleted":n=t._0;break;case"SteerDeliverySettled":return Ore(e,t._0,t._1);case"StreamReplacementSettled":let l=t._1,d=t._0;if(r!==void 0){if(!J(r,d))return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"late replacement completion does not own the pending rotation"}};if(l.TAG==="Ok"){let q=l._0,re=e.retiredStreamHandles.includes(q.handle);return{TAG:"Ok",_0:{state:{sessionGeneration:e.sessionGeneration,turns:e.turns,liveTurn:e.liveTurn,release:e.release,nativeCommand:e.nativeCommand,completedNativeCommands:e.completedNativeCommands,steers:e.steers,stream:e.stream,completedResults:e.completedResults,knownEpochs:e.knownEpochs.includes(q.epoch)?e.knownEpochs:e.knownEpochs.concat([q.epoch]),retiredEpochs:e.retiredEpochs.includes(q.epoch)?e.retiredEpochs:e.retiredEpochs.concat([q.epoch]),knownStreamHandles:e.knownStreamHandles.includes(q.handle)?e.knownStreamHandles:e.knownStreamHandles.concat([q.handle]),retiredStreamHandles:re?e.retiredStreamHandles:e.retiredStreamHandles.concat([q.handle]),settledRotations:kre(e.settledRotations,{token:d,stream:q}),settledRotationFailures:e.settledRotationFailures,pendingClosedRotation:void 0,nextReleaseNumber:e.nextReleaseNumber,closed:e.closed},effects:re?[]:[{TAG:"CloseProviderStream",_0:q.handle}]}}}let h=e.sessionGeneration,m=e.turns,p=e.liveTurn,_=e.release,g=e.nativeCommand,b=e.completedNativeCommands,y=e.steers,S=e.stream,T=e.completedResults,w=e.knownEpochs,A=e.retiredEpochs,P=e.knownStreamHandles,C=e.retiredStreamHandles,k=e.settledRotations,$=Cre(e.settledRotationFailures,{token:d,reason:l._0}),V=e.nextReleaseNumber,F=e.closed;return{TAG:"Ok",_0:{state:{sessionGeneration:h,turns:m,liveTurn:p,release:_,nativeCommand:g,completedNativeCommands:b,steers:y,stream:S,completedResults:T,knownEpochs:w,retiredEpochs:A,knownStreamHandles:P,retiredStreamHandles:C,settledRotations:k,settledRotationFailures:$,pendingClosedRotation:void 0,nextReleaseNumber:V,closed:F},effects:[]}}}let u=e.settledRotations.find(h=>h.token.tokenId===d.tokenId);if(u!==void 0)return J(u.token,d)?l.TAG==="Ok"?J(l._0,u.stream)?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"closed settled rotation replay names another stream"}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"closed settled rotation replay changes success to failure"}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"closed rotation completion forges a settled token id"}};let c=e.settledRotationFailures.find(h=>h.token.tokenId===d.tokenId);return c===void 0?{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"closed stream replacement completion has no recorded rotation"}}:J(c.token,d)?l.TAG==="Ok"?{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"closed failed rotation replay changes failure to success"}}:l._0===c.reason?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"closed failed rotation replay changes its reason"}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"closed rotation failure forges a settled token id"}};default:return{TAG:"Ok",_0:{state:e,effects:[]}}}let i=e.completedNativeCommands.find(o=>o.ticket.ticketId===n.ticketId);return i!==void 0?J(i.ticket,n)?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"closed native completion forges a consumed ticket id"}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"closed native completion names an unknown ticket"}}}else{if(typeof t!="object")return{TAG:"Ok",_0:Ef(e,void 0)};switch(t.TAG){case"DispatchAccepted":let r=t._0,n=r.sessionGeneration===e.sessionGeneration,i=e.turns.some(Je=>J(Je.handle,r)?!0:Je.handle.sourceSeq===r.sourceSeq);if(!n)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"dispatch belongs to another session generation"}};if(i)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"dispatch reuses a turn handle or source sequence"}};let o=e.sessionGeneration,a=e.turns.concat([{handle:r,provider:"NotSent",control:"NoControl",terminal:"NoTerminal"}]),s=e.liveTurn,l=e.release,d=e.nativeCommand,u=e.completedNativeCommands,c=e.steers,f=e.stream,h=e.completedResults,m=e.knownEpochs,p=e.retiredEpochs,_=e.knownStreamHandles,g=e.retiredStreamHandles,b=e.settledRotations,y=e.settledRotationFailures,S=e.pendingClosedRotation,T=e.nextReleaseNumber,w=e.closed,A={sessionGeneration:o,turns:a,liveTurn:s,release:l,nativeCommand:d,completedNativeCommands:u,steers:c,stream:f,completedResults:h,knownEpochs:m,retiredEpochs:p,knownStreamHandles:_,retiredStreamHandles:g,settledRotations:b,settledRotationFailures:y,pendingClosedRotation:S,nextReleaseNumber:T,closed:w},P=e.liveTurn,C=e.release,k=e.stream,$=e.nativeCommand,V=g$e(e);return P!==void 0?{TAG:"Ok",_0:{state:A,effects:[]}}:typeof C!="object"?typeof k!="object"?{TAG:"Ok",_0:{state:A,effects:[]}}:k.TAG==="Live"?typeof $!="object"?V?{TAG:"Ok",_0:{state:A,effects:[]}}:{TAG:"Ok",_0:Cx(A,void 0,r)}:{TAG:"Ok",_0:{state:A,effects:[]}}:{TAG:"Ok",_0:{state:A,effects:[]}}:{TAG:"Ok",_0:{state:A,effects:[]}};case"NativeCommandRequested":let F=t._1,D=t._0,q=e.completedNativeCommands.find(Je=>Je.ticket.ticketId===D.ticketId);if(q!==void 0)return J(q.ticket,D)&&q.command===F?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command request forges a completed ticket id"}};let re=e.nativeCommand;if(typeof re!="object"){let Je=e.turns.some(an=>!Uj(an)),Ut=e.liveTurn,Pr=e.release,Gr=e.stream;return Je||Ut!==void 0||typeof Pr=="object"||typeof Gr!="object"||Gr.TAG!=="Live"?{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command requires an idle coordinator and queue"}}:{TAG:"Ok",_0:{state:{sessionGeneration:e.sessionGeneration,turns:e.turns,liveTurn:e.liveTurn,release:e.release,nativeCommand:{TAG:"EnqueueingNativeCommand",_0:D,_1:F},completedNativeCommands:e.completedNativeCommands,steers:e.steers,stream:e.stream,completedResults:e.completedResults,knownEpochs:e.knownEpochs,retiredEpochs:e.retiredEpochs,knownStreamHandles:e.knownStreamHandles,retiredStreamHandles:e.retiredStreamHandles,settledRotations:e.settledRotations,settledRotationFailures:e.settledRotationFailures,pendingClosedRotation:e.pendingClosedRotation,nextReleaseNumber:e.nextReleaseNumber,closed:e.closed},effects:[{TAG:"EnqueueNativeCommand",ticket:D,command:F,commandKey:D.commandKey}]}}}let te=re._0;return te.ticketId===D.ticketId?J(te,D)&&re._1===F?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command request forges an active ticket id"}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"another native command transaction is active"}};case"NativeCommandEnqueued":let W=t._1,j=t._0,X=e.nativeCommand;if(typeof X!="object")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command enqueue completion has no active request"}};if(X.TAG!=="EnqueueingNativeCommand")return J(X._0,j)?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command enqueue completion names another active ticket"}};if(!J(X._0,j))return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command enqueue completion does not own the active ticket"}};if(W.TAG!=="Ok")return Op(e,W._0);let M=e.sessionGeneration,I=e.turns,Q=e.liveTurn,H=e.release,ie={TAG:"AwaitingNativeCommandRelease",_0:j,_1:X._1},se=e.completedNativeCommands,de=e.steers,le=e.stream,be=e.completedResults,Xe=e.knownEpochs,Qe=e.retiredEpochs,oe=e.knownStreamHandles,Te=e.retiredStreamHandles,qe=e.settledRotations,Ne=e.settledRotationFailures,ae=e.pendingClosedRotation,Ue=e.nextReleaseNumber,Ee=e.closed;return{TAG:"Ok",_0:_$e({sessionGeneration:M,turns:I,liveTurn:Q,release:H,nativeCommand:ie,completedNativeCommands:se,steers:de,stream:le,completedResults:be,knownEpochs:Xe,retiredEpochs:Qe,knownStreamHandles:oe,retiredStreamHandles:Te,settledRotations:qe,settledRotationFailures:Ne,pendingClosedRotation:ae,nextReleaseNumber:Ue,closed:Ee},j)};case"NativeCommandReleaseBegun":let Ve=t._2,Be=t._1,ht=t._0,Rt=e.release,Wt=e.nativeCommand;if(typeof Rt!="object")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command release begin completion has no active transaction"}};if(Rt.TAG!=="BeginningNativeCommandRelease")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command release begin completion has no active transaction"}};if(typeof Wt!="object")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command release begin completion has no active transaction"}};if(Wt.TAG!=="AwaitingNativeCommandRelease")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command release begin completion has no active transaction"}};if(!(J(Rt.token,ht)&&J(Rt.ticket,Be)&&J(Wt._0,Be)))return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command release begin completion does not own its transaction"}};if(Ve.TAG!=="Ok")return Op(e,Ve._0);let ge=Ve._0,Ge=UD(ge),Ye=BD(ge);return Ge!==void 0||Ye===void 0?{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command release must be an initial lease with one successor"}}:OA(ce(Ye),Be.commandKey)?{TAG:"Ok",_0:{state:{sessionGeneration:e.sessionGeneration,turns:e.turns,liveTurn:e.liveTurn,release:{TAG:"CommittingNativeCommandRelease",token:ht,lease:ge,ticket:Be},nativeCommand:{TAG:"AwaitingNativeCommandRelease",_0:Be,_1:Wt._1},completedNativeCommands:e.completedNativeCommands,steers:e.steers,stream:e.stream,completedResults:e.completedResults,knownEpochs:e.knownEpochs,retiredEpochs:e.retiredEpochs,knownStreamHandles:e.knownStreamHandles,retiredStreamHandles:e.retiredStreamHandles,settledRotations:e.settledRotations,settledRotationFailures:e.settledRotationFailures,pendingClosedRotation:e.pendingClosedRotation,nextReleaseNumber:e.nextReleaseNumber,closed:e.closed},effects:[{TAG:"CommitNativeCommandRelease",token:ht,lease:ge,ticket:Be}]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command lease names another queue item"}};case"NativeCommandReleaseCommitted":let jt=t._3,Dt=t._2,Kt=e.release,zr=e.nativeCommand;if(typeof Kt!="object")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command release commit has no active transaction"}};if(Kt.TAG!=="CommittingNativeCommandRelease")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command release commit has no active transaction"}};if(typeof zr!="object")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command release commit has no active transaction"}};if(zr.TAG!=="AwaitingNativeCommandRelease")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command release commit has no active transaction"}};let En=J(Kt.token,t._0),pn=X_(Kt.lease,t._1),Kn=J(Kt.ticket,Dt)&&J(zr._0,Dt);return En&&pn&&Kn?jt.TAG==="Ok"?{TAG:"Ok",_0:{state:{sessionGeneration:e.sessionGeneration,turns:e.turns,liveTurn:e.liveTurn,release:"NoQueueRelease",nativeCommand:{TAG:"AwaitingNativeCommandProviderPull",_0:Dt,_1:zr._1},completedNativeCommands:e.completedNativeCommands,steers:e.steers,stream:e.stream,completedResults:e.completedResults,knownEpochs:e.knownEpochs,retiredEpochs:e.retiredEpochs,knownStreamHandles:e.knownStreamHandles,retiredStreamHandles:e.retiredStreamHandles,settledRotations:e.settledRotations,settledRotationFailures:e.settledRotationFailures,pendingClosedRotation:e.pendingClosedRotation,nextReleaseNumber:e.nextReleaseNumber,closed:e.closed},effects:[]}}:Op(e,jt._0):{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command release commit does not own its exact lease"}};case"NativeCommandPulled":let Ce=t._0,Pe=e.nativeCommand;if(typeof Pe!="object")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command provider pull has no active request"}};switch(Pe.TAG){case"EnqueueingNativeCommand":case"AwaitingNativeCommandRelease":return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command provider pull arrived before queue release committed"}};case"AwaitingNativeCommandProviderPull":return J(Pe._0,Ce)?{TAG:"Ok",_0:{state:{sessionGeneration:e.sessionGeneration,turns:e.turns,liveTurn:e.liveTurn,release:e.release,nativeCommand:{TAG:"DeliveredNativeCommand",_0:Ce,_1:Pe._1},completedNativeCommands:e.completedNativeCommands,steers:e.steers,stream:e.stream,completedResults:e.completedResults,knownEpochs:e.knownEpochs,retiredEpochs:e.retiredEpochs,knownStreamHandles:e.knownStreamHandles,retiredStreamHandles:e.retiredStreamHandles,settledRotations:e.settledRotations,settledRotationFailures:e.settledRotationFailures,pendingClosedRotation:e.pendingClosedRotation,nextReleaseNumber:e.nextReleaseNumber,closed:e.closed},effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command provider pull does not own the active ticket"}};case"DeliveredNativeCommand":return J(Pe._0,Ce)?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command provider pull names another active ticket"}}}case"NativeCommandCompleted":let Ie=t._1,Ke=t._0,Ct=e.nativeCommand;if(typeof Ct!="object"){let Je=e.completedNativeCommands.find(Ut=>Ut.ticket.ticketId===Ke.ticketId);return Je!==void 0?J(Je.ticket,Ke)&&J(Je.outcome,Ie)?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command completion replays a ticket with another outcome"}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command completion names an unknown ticket"}}}if(Ct.TAG!=="DeliveredNativeCommand")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command completed before queue delivery"}};if(!J(Ct._0,Ke))return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command completion does not own the delivered command"}};let Ft=e.sessionGeneration,rr=e.turns,Er=e.liveTurn,Br=e.release,Mr=e.completedNativeCommands.concat([{ticket:Ke,command:Ct._1,outcome:Ie}]),oi=e.steers,Ji=e.stream,Io=e.completedResults,Ra=e.knownEpochs,cu=e.retiredEpochs,qf=e.knownStreamHandles,ig=e.retiredStreamHandles,fu=e.settledRotations,os=e.settledRotationFailures,fe=e.pendingClosedRotation,ze=e.nextReleaseNumber,Le=e.closed,dt=e.stream;if(typeof dt!="object")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command completed without a live provider stream"}};if(dt.TAG!=="Live")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"native command completed without a live provider stream"}};let it=dt._0,tt=m$e(it.epoch,Ke);return{TAG:"Ok",_0:{state:{sessionGeneration:Ft,turns:rr,liveTurn:Er,release:Br,nativeCommand:"NoNativeCommand",completedNativeCommands:Mr,steers:oi,stream:{TAG:"Rotating",old:it,token:tt,predecessor:{TAG:"NativeCommandRotationPredecessor",_0:Ke}},completedResults:Io,knownEpochs:Ra,retiredEpochs:e.retiredEpochs.includes(it.epoch)?e.retiredEpochs:e.retiredEpochs.concat([it.epoch]),knownStreamHandles:qf,retiredStreamHandles:e.retiredStreamHandles.includes(it.handle)?e.retiredStreamHandles:e.retiredStreamHandles.concat([it.handle]),settledRotations:fu,settledRotationFailures:os,pendingClosedRotation:fe,nextReleaseNumber:ze,closed:Le},effects:[{TAG:"OpenReplacementStream",old:it,token:tt}]}};case"QueueReleaseBegun":let Ot=t._1,Xt=t._0,Xr=e.release;if(typeof Xr!="object")return{TAG:"Ok",_0:{state:e,effects:[]}};if(Xr.TAG!=="BeginningQueueRelease")return{TAG:"Ok",_0:{state:e,effects:[]}};let nn=Xr.initialHint;if(!J(Xr.token,Xt))return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"queue release begin completion does not own the active token"}};if(Ot.TAG!=="Ok")return Op(e,Ot._0);let on=Ot._0;if(!J(UD(on),Xr.predecessorKey))return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"queue lease predecessor does not match its begin token"}};let gn=BD(on);if(gn!==void 0){let Je=p$e(e,ce(gn));if(Je===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"queue lease names an unaccepted successor"}};let Ut=Pre(e,Je.handle),Pr=Ut[1],Gr=Ut[0];if(!(nn!==void 0?J(nn,Je.handle):!0))return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"initial queue lease does not name its accepted dispatch"}};let Yn=Je.control;if(typeof Yn!="object"){let Jr=cC(Je.handle),$r=ui(Gr,{handle:Je.handle,provider:{TAG:"ApplyingSettings",_0:Jr},control:Je.control,terminal:Je.terminal});return{TAG:"Ok",_0:{state:{sessionGeneration:$r.sessionGeneration,turns:$r.turns,liveTurn:Je.handle,release:{TAG:"ApplyingReleasedSettings",token:Xt,lease:on,turn:Je.handle,settings:Jr},nativeCommand:$r.nativeCommand,completedNativeCommands:$r.completedNativeCommands,steers:$r.steers,stream:$r.stream,completedResults:$r.completedResults,knownEpochs:$r.knownEpochs,retiredEpochs:$r.retiredEpochs,knownStreamHandles:$r.knownStreamHandles,retiredStreamHandles:$r.retiredStreamHandles,settledRotations:$r.settledRotations,settledRotationFailures:$r.settledRotationFailures,pendingClosedRotation:$r.pendingClosedRotation,nextReleaseNumber:$r.nextReleaseNumber,closed:$r.closed},effects:Pr.concat([{TAG:"ApplySettings",turn:Je.handle,token:Jr}])}}}Yn.TAG;let Rr=Ep(Je);if(Rr===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"controlled queue successor has no control ticket"}};let _t=ui(Gr,Cs(Je,"CancellingQueueRelease"));return{TAG:"Ok",_0:{state:{sessionGeneration:_t.sessionGeneration,turns:_t.turns,liveTurn:_t.liveTurn,release:{TAG:"CancellingQueueReleaseTransaction",token:Xt,lease:on,turn:Je.handle,purpose:{TAG:"CancelForControl",_0:Rr}},nativeCommand:_t.nativeCommand,completedNativeCommands:_t.completedNativeCommands,steers:_t.steers,stream:_t.stream,completedResults:_t.completedResults,knownEpochs:_t.knownEpochs,retiredEpochs:_t.retiredEpochs,knownStreamHandles:_t.knownStreamHandles,retiredStreamHandles:_t.retiredStreamHandles,settledRotations:_t.settledRotations,settledRotationFailures:_t.settledRotationFailures,pendingClosedRotation:_t.pendingClosedRotation,nextReleaseNumber:_t.nextReleaseNumber,closed:_t.closed},effects:Pr.concat([{TAG:"CancelQueueRelease",token:Xt,lease:on,turn:Je.handle}])}}}let ai=Pre(e,void 0),ln=ai[0],zn=ln.sessionGeneration,Ui=ln.turns,bn=ln.liveTurn,Fn={TAG:"CommittingQueueRelease",token:Xt,lease:on,successor:void 0},Zi=ln.nativeCommand,Oe=ln.completedNativeCommands,et=ln.steers,Gt=ln.stream,qt=ln.completedResults,Jt=ln.knownEpochs,yn=ln.retiredEpochs,kn=ln.knownStreamHandles,Qi=ln.retiredStreamHandles,Bi=ln.settledRotations,$i=ln.settledRotationFailures,Pn=ln.pendingClosedRotation,Gn=ln.nextReleaseNumber,mu=ln.closed;return{TAG:"Ok",_0:{state:{sessionGeneration:zn,turns:Ui,liveTurn:bn,release:Fn,nativeCommand:Zi,completedNativeCommands:Oe,steers:et,stream:Gt,completedResults:qt,knownEpochs:Jt,retiredEpochs:yn,knownStreamHandles:kn,retiredStreamHandles:Qi,settledRotations:Bi,settledRotationFailures:$i,pendingClosedRotation:Pn,nextReleaseNumber:Gn,closed:mu},effects:ai[1].concat([{TAG:"CommitQueueRelease",token:Xt,lease:on,successor:void 0}])}};case"QueueReleaseCancelled":let Da=t._2,Gs=t._0,_r=e.release;if(typeof _r!="object")return{TAG:"Ok",_0:{state:e,effects:[]}};if(_r.TAG!=="CancellingQueueReleaseTransaction")return{TAG:"Ok",_0:{state:e,effects:[]}};let Tr=_r.purpose,Ar=_r.turn;if(!(J(_r.token,Gs)&&X_(_r.lease,t._1)))return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"queue cancellation completion does not own the active lease"}};if(Da.TAG!=="Ok")return Op(e,Da._0);let dn=yo(e,Ar);if(dn===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"queue cancellation names an unknown turn"}};let Kr=e.sessionGeneration,gr=e.turns,si=e.nativeCommand,ba=e.completedNativeCommands,Zs=e.steers,Ma=e.stream,$a=e.completedResults,Qs=e.knownEpochs,pu=e.retiredEpochs,Xp=e.knownStreamHandles,pS=e.retiredStreamHandles,hS=e.settledRotations,zf=e.settledRotationFailures,_S=e.pendingClosedRotation,og=e.nextReleaseNumber,gS=e.closed,ag={sessionGeneration:Kr,turns:gr,liveTurn:void 0,release:"NoQueueRelease",nativeCommand:si,completedNativeCommands:ba,steers:Zs,stream:Ma,completedResults:$a,knownEpochs:Qs,retiredEpochs:pu,knownStreamHandles:Xp,retiredStreamHandles:pS,settledRotations:hS,settledRotationFailures:zf,pendingClosedRotation:_S,nextReleaseNumber:og,closed:gS};if(Tr.TAG==="CancelForSettingsFailure"){let Ut={tokenId:"retract:"+Gs.tokenId,turn:Ar};return{TAG:"Ok",_0:{state:ui(ag,{handle:dn.handle,provider:"NotSent",control:dn.control,terminal:{TAG:"RetractingTerminal",_0:Ut,_1:{TAG:"TurnFailed",_0:Tr._0},_2:{TAG:"ResumeFrom",_0:Gs.predecessor}}}),effects:[{TAG:"RetractQueuedTurn",_0:{token:Ut,turn:Ar}}]}}}let Lf=fC(Tr._0,Ar);return{TAG:"Ok",_0:{state:ui(ag,Cs({handle:dn.handle,provider:"NotSent",control:dn.control,terminal:dn.terminal},{TAG:"RetractingControlledTurn",_0:Lf,_1:{TAG:"ResumeFrom",_0:Gs.predecessor}})),effects:[{TAG:"RetractQueuedTurn",_0:{token:Lf,turn:Ar}}]}};case"QueuedTurnRetracted":let ZO=t._2,Rs=t._1,Ys=yo(e,Rs);if(Ys===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"queue retraction names an unknown turn"}};let md=Ys.terminal,yi=Ys.control,Ln,sg=0;if(typeof md!="object"||md.TAG!=="RetractingTerminal"?sg=1:Ln=[md._0,md._1,md._2],sg===1)if(typeof yi!="object")Ln=void 0;else if(yi.TAG==="Interrupting"){let Je=yi._1;Ln=typeof Je!="object"||Je.TAG!=="RetractingControlledTurn"?void 0:[Je._0,"TurnInterrupted",Je._1]}else{let Je=yi._1;Ln=typeof Je!="object"||Je.TAG!=="RetractingControlledTurn"?void 0:[Je._0,"TurnInterrupted",Je._1]}if(Ln===void 0)return{TAG:"Ok",_0:{state:e,effects:[]}};let eh=Ln[1];if(!J(t._0,Ln[0]))return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"queue retraction completion does not own the active token"}};if(ZO.TAG!=="Ok")return Op(e,ZO._0);let lg=uC(e,Rs,!1),yS=lg[0],th=yo(yS,Rs);if(th===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"retracted turn disappeared before terminal publication"}};let rh;rh=typeof eh!="object"?eh==="TurnCompleted"?"completed-before-send":"controlled-before-send":"settings-failed";let dg=jj(rh,Rs),xS=th.handle,nh=th.control,sc={TAG:"Candidate",_0:dg,_1:eh,_2:Ln[2]},SS=dC(yS,{handle:xS,provider:"NotSent",control:nh,terminal:sc},dg,eh);return{TAG:"Ok",_0:{state:SS.state,effects:lg[1].concat(SS.effects)}};case"QueueReleaseCommitted":let TS=t._3,jl=t._2,as=e.release;if(typeof as!="object")return{TAG:"Ok",_0:{state:e,effects:[]}};if(as.TAG!=="CommittingQueueRelease")return{TAG:"Ok",_0:{state:e,effects:[]}};let hu=J(as.token,t._0),pd=X_(as.lease,t._1),_u=J(as.successor,jl);if(!hu)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"queue commit completion does not own the active lease and successor"}};if(!pd)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"queue commit completion does not own the active lease and successor"}};if(!_u)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"queue commit completion does not own the active lease and successor"}};if(TS.TAG!=="Ok")return Op(e,TS._0);if(jl!==void 0){let Je=yo(e,jl),Ut=e.stream;if(Je===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"queue commit names an unknown successor"}};if(typeof Ut!="object")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"queue committed a successor without a live stream"}};if(Ut.TAG!=="Live")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"queue committed a successor without a live stream"}};let Pr=Ut._0.epoch,Gr=Je.handle,an={TAG:"Sent",_0:Pr},Yn=Je.control,Rr=Je.terminal,_t={handle:Gr,provider:an,control:Yn,terminal:Rr},Jr=ui(e,_t),$r=Jr.sessionGeneration,uo=Jr.turns,Ci=jl,Rn=Jr.nativeCommand,co=Jr.completedNativeCommands,jo=Jr.steers,ya=Jr.stream,Xo=Jr.completedResults,Fo=Jr.knownEpochs,xo=Jr.retiredEpochs,ls=Jr.knownStreamHandles,qa=Jr.retiredStreamHandles,za=Jr.settledRotations,La=Jr.settledRotationFailures,fo=Jr.pendingClosedRotation,x=Jr.nextReleaseNumber,O=Jr.closed,R={sessionGeneration:$r,turns:uo,liveTurn:Ci,release:"NoQueueRelease",nativeCommand:Rn,completedNativeCommands:co,steers:jo,stream:ya,completedResults:Xo,knownEpochs:Fo,retiredEpochs:xo,knownStreamHandles:ls,retiredStreamHandles:qa,settledRotations:za,settledRotationFailures:La,pendingClosedRotation:fo,nextReleaseNumber:x,closed:O},G=tu(Je),L=Ep(Je);if(G==="AwaitingQueueCommit"&&L!==void 0&&typeof G!="object"){let ee=uC(R,jl,!1);return{TAG:"Ok",_0:{state:ui(ee[0],Cs(_t,"AwaitingProviderInterrupt")),effects:[{TAG:"BindProjectionOwner",turn:jl,streamEpoch:Pr},{TAG:"InterruptProvider",turn:jl,ticket:L,streamEpoch:Pr}].concat(ee[1])}}}let ne=uC(R,jl,!0);return{TAG:"Ok",_0:{state:ne[0],effects:[{TAG:"BindProjectionOwner",turn:jl,streamEpoch:Pr}].concat(ne[1])}}}else{let Je=e.sessionGeneration,Ut=e.turns,Pr=e.nativeCommand,Gr=e.completedNativeCommands,an=e.steers,Yn=e.stream,Rr=e.completedResults,_t=e.knownEpochs,Jr=e.retiredEpochs,$r=e.knownStreamHandles,uo=e.retiredStreamHandles,Ci=e.settledRotations,Rn=e.settledRotationFailures,co=e.pendingClosedRotation,jo=e.nextReleaseNumber,ya=e.closed,Xo={sessionGeneration:Je,turns:Ut,liveTurn:void 0,release:"NoQueueRelease",nativeCommand:Pr,completedNativeCommands:Gr,steers:an,stream:Yn,completedResults:Rr,knownEpochs:_t,retiredEpochs:Jr,knownStreamHandles:$r,retiredStreamHandles:uo,settledRotations:Ci,settledRotationFailures:Rn,pendingClosedRotation:co,nextReleaseNumber:jo,closed:ya};return e.turns.some(xo=>{let ls=xo.provider,qa=xo.control,za=xo.terminal;return typeof ls!="object"&&typeof qa!="object"?typeof za!="object":!1})?{TAG:"Ok",_0:Cx(Xo,void 0,void 0)}:{TAG:"Ok",_0:{state:Xo,effects:[]}}}break;case"SettingsApplied":let Uf=t._0,gu=e.release;if(typeof gu=="object"&&gu.TAG==="ApplyingReleasedSettings"){let Je=gu.turn,Ut=gu.lease,Pr=gu.token,Gr=J(gu.settings,Uf),an=yo(e,Je);if(!Gr)return Are(e,Uf)?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"settings completion does not own the active settings token"}};if(an===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"settings completion names an unknown turn"}};let Yn=an.provider;if(typeof Yn!="object")return{TAG:"Ok",_0:{state:e,effects:[]}};if(Yn.TAG!=="ApplyingSettings")return{TAG:"Ok",_0:{state:e,effects:[]}};if(!J(Yn._0,Uf))return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"settings completion does not own the applying turn"}};let Rr=an.control;if(typeof Rr=="object")return Rr.TAG==="Interrupting"?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Ok",_0:{state:e,effects:[]}};let _t=e.sessionGeneration,Jr=e.turns,$r=e.liveTurn,uo={TAG:"CommittingQueueRelease",token:Pr,lease:Ut,successor:Je},Ci=e.nativeCommand,Rn=e.completedNativeCommands,co=e.steers,jo=e.stream,ya=e.completedResults,Xo=e.knownEpochs,Fo=e.retiredEpochs,xo=e.knownStreamHandles,ls=e.retiredStreamHandles,qa=e.settledRotations,za=e.settledRotationFailures,La=e.pendingClosedRotation,fo=e.nextReleaseNumber,x=e.closed;return{TAG:"Ok",_0:{state:{sessionGeneration:_t,turns:Jr,liveTurn:$r,release:uo,nativeCommand:Ci,completedNativeCommands:Rn,steers:co,stream:jo,completedResults:ya,knownEpochs:Xo,retiredEpochs:Fo,knownStreamHandles:xo,retiredStreamHandles:ls,settledRotations:qa,settledRotationFailures:za,pendingClosedRotation:La,nextReleaseNumber:fo,closed:x},effects:[{TAG:"CommitQueueRelease",token:Pr,lease:Ut,successor:Je}]}}}return J(Uf,cC(Uf.turn))?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"settings completion does not carry an exact minted token"}};case"SettingsFailed":let hd=t._0,bu=e.release;if(typeof bu=="object"&&bu.TAG==="ApplyingReleasedSettings"){let Je=bu.turn,Ut=bu.lease,Pr=bu.token,Gr=J(bu.settings,hd),an=yo(e,Je);if(!Gr)return Are(e,hd)?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"settings failure does not own the active settings token"}};if(an===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"settings failure names an unknown turn"}};let Yn=an.control;if(typeof Yn=="object")return Yn.TAG==="Interrupting"?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Ok",_0:{state:e,effects:[]}};let Rr=ui(e,{handle:an.handle,provider:"NotSent",control:an.control,terminal:an.terminal});return{TAG:"Ok",_0:{state:{sessionGeneration:Rr.sessionGeneration,turns:Rr.turns,liveTurn:void 0,release:{TAG:"CancellingQueueReleaseTransaction",token:Pr,lease:Ut,turn:Je,purpose:{TAG:"CancelForSettingsFailure",_0:t._1}},nativeCommand:Rr.nativeCommand,completedNativeCommands:Rr.completedNativeCommands,steers:Rr.steers,stream:Rr.stream,completedResults:Rr.completedResults,knownEpochs:Rr.knownEpochs,retiredEpochs:Rr.retiredEpochs,knownStreamHandles:Rr.knownStreamHandles,retiredStreamHandles:Rr.retiredStreamHandles,settledRotations:Rr.settledRotations,settledRotationFailures:Rr.settledRotationFailures,pendingClosedRotation:Rr.pendingClosedRotation,nextReleaseNumber:Rr.nextReleaseNumber,closed:Rr.closed},effects:[{TAG:"CancelQueueRelease",token:Pr,lease:Ut,turn:Je}]}}}return J(hd,cC(hd.turn))?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"settings failure does not carry an exact minted token"}};case"InputDelivered":let cg=t._1,fg=t._0,_d=yo(e,fg);if(_d===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"input delivery names an unknown turn"}};let mg=_d.provider,ih=e.liveTurn,QO=Fj(e,cg);return typeof mg!="object"||!(mg.TAG==="Sent"&&ih!==void 0&&QO)?{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"input delivery is not enabled for this turn"}}:mg._0===cg&&J(ih,fg)?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"input delivery does not own the live turn and epoch"}};case"ProviderFrame":let Bf=t._1,Wf=t._0;if(!Fj(e,Bf))return e.knownEpochs.includes(Bf)?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"provider frame belongs to an unknown epoch"}};let Xs=yo(e,Wf);if(Xs===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"provider frame names an unknown turn"}};let Hf=e.liveTurn,yu=Xs.provider,Vf=0;if(Hf!==void 0){let Je=0;if(typeof yu!="object")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"provider frame does not belong to a sent turn"}};switch(yu.TAG){case"ApplyingSettings":return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"provider frame does not belong to a sent turn"}};case"Sent":case"Open":Je=2;break;case"Ended":Vf=1;break}if(Je===2)return J(Hf,Wf)&&yu._0===Bf?{TAG:"Ok",_0:{state:ui(e,{handle:Xs.handle,provider:{TAG:"Open",_0:Bf},control:Xs.control,terminal:Xs.terminal}),effects:[{TAG:"ProjectFrame",_0:Wf}]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"provider frame does not own the delivered turn"}}}else Vf=1;if(Vf===1){if(typeof yu!="object")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"provider frame does not belong to a sent turn"}};if(yu.TAG!=="Ended")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"provider frame does not belong to a sent turn"}};let Je=yu._0.streamEpoch===Bf,Ut=Xs.control,Pr=Xs.terminal;if(!Je)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"provider frame does not belong to a sent turn"}};let Gr=0;if(typeof Ut!="object")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"provider frame does not belong to a sent turn"}};if(Gr=2,Gr===2)return typeof Pr!="object"||Pr.TAG==="RetractingTerminal"?{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"provider frame does not belong to a sent turn"}}:{TAG:"Ok",_0:{state:e,effects:[{TAG:"DropFrame",_0:Wf}]}}}break;case"ProviderResultObserved":let el=t._1,pg=t._0;if(e.completedResults.includes(el))return{TAG:"Ok",_0:{state:e,effects:[]}};if(!Fj(e,el.streamEpoch))return e.knownEpochs.includes(el.streamEpoch)?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"provider result belongs to an unknown stream epoch"}};let ja=yo(e,pg);if(ja===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"provider result names an unknown turn"}};let vS=e.liveTurn,hg=ja.provider,oh=ja.terminal;if(vS!==void 0){let Je=0;if(typeof hg=="object")switch(hg.TAG){case"Sent":case"Open":Je=2;break}if(Je===2&&typeof oh!="object"){if(!(J(vS,pg)&&hg._0===el.streamEpoch))return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"provider result does not own the delivered turn"}};let Ut=ui(e,{handle:ja.handle,provider:{TAG:"Ended",_0:el},control:ja.control,terminal:ja.terminal}),Pr=Ut.sessionGeneration,Gr=Ut.turns,an=Ut.liveTurn,Yn=Ut.release,Rr=Ut.nativeCommand,_t=Ut.completedNativeCommands,Jr=Ut.steers,$r=Ut.stream,uo=e.completedResults.concat([el]),Ci=Ut.knownEpochs,Rn=Ut.retiredEpochs,co=Ut.knownStreamHandles,jo=Ut.retiredStreamHandles,ya=Ut.settledRotations,Xo=Ut.settledRotationFailures,Fo=Ut.pendingClosedRotation,xo=Ut.nextReleaseNumber,ls=Ut.closed,qa={sessionGeneration:Pr,turns:Gr,liveTurn:an,release:Yn,nativeCommand:Rr,completedNativeCommands:_t,steers:Jr,stream:$r,completedResults:uo,knownEpochs:Ci,retiredEpochs:Rn,knownStreamHandles:co,retiredStreamHandles:jo,settledRotations:ya,settledRotationFailures:Xo,pendingClosedRotation:Fo,nextReleaseNumber:xo,closed:ls},za=ja.control,La;La=typeof za!="object"?["provider-result",t._2]:["controlled-provider-result","TurnInterrupted"];let fo=La[1],x=jj(La[0],pg),O=tu(ja),R=0;if(O!==void 0){let G=0;if(typeof O!="object"?O==="CancellingApprovals"?G=4:R=3:O.TAG==="ApprovalCancellationFailed"?G=4:R=3,G===4)return{TAG:"Ok",_0:{state:ui(qa,{handle:ja.handle,provider:{TAG:"Ended",_0:el},control:ja.control,terminal:{TAG:"Candidate",_0:x,_1:fo,_2:"ProviderCompletion"}}),effects:[]}}}else R=3;if(R===3)return{TAG:"Ok",_0:dC(qa,{handle:ja.handle,provider:{TAG:"Ended",_0:el},control:ja.control,terminal:ja.terminal},x,fo)}}}return typeof oh!="object"?{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"provider result is not enabled for this turn"}}:{TAG:"Ok",_0:{state:e,effects:[]}};case"StopRequested":let ss=t._0,Fa=yo(e,ss.turn);if(Fa===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"Stop names an unknown turn"}};let Kf=Fa.control,Jf=Fa.terminal;if(typeof Kf=="object")return Kf.TAG==="Interrupting"?{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"Stop cannot overwrite an installed interrupt"}}:J(Kf._0,ss)?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"turn already owns another Stop ticket"}};if(typeof Jf!="object")return lC(e,ss.ticketId)?{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"Stop ticket id is already installed on another turn"}}:{TAG:"Ok",_0:{state:ui(e,{handle:Fa.handle,provider:Fa.provider,control:{TAG:"Stopping",_0:ss,_1:"CancellingApprovals"},terminal:Fa.terminal}),effects:[{TAG:"CancelApprovals",turn:ss.turn,ticket:{TAG:"StopControl",_0:ss}}]}};if(Jf.TAG==="Committed"){let Je=Jf._2;return lC(e,ss.ticketId)?{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"Stop ticket id is already installed on another turn"}}:{TAG:"Ok",_0:{state:ui(e,{handle:Fa.handle,provider:Fa.provider,control:{TAG:"Stopping",_0:ss,_1:{TAG:"ControlCommitted",_0:Je}},terminal:Fa.terminal}),effects:[{TAG:"SettleControlCommitted",_0:{ticket:{TAG:"StopControl",_0:ss},receipt:Je}}]}}}return lC(e,ss.ticketId)?{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"Stop ticket id is already installed on another turn"}}:{TAG:"Ok",_0:{state:ui(e,{handle:Fa.handle,provider:Fa.provider,control:{TAG:"Stopping",_0:ss,_1:"AwaitingTerminalPublication"},terminal:Fa.terminal}),effects:[]}};case"InterruptRequested":let xu=t._0,Su=yo(e,xu.turn);if(Su===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"interrupt names an unknown turn"}};let ah=Su.control,YO=Su.terminal;return typeof ah=="object"?ah.TAG==="Interrupting"?J(ah._0,xu)?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"turn already owns another interrupt ticket"}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"interrupt cannot overwrite an installed Stop"}}:typeof YO=="object"?{TAG:"Ok",_0:{state:e,effects:[]}}:lC(e,xu.ticketId)?{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"interrupt ticket id is already installed on another turn"}}:{TAG:"Ok",_0:{state:ui(e,{handle:Su.handle,provider:Su.provider,control:{TAG:"Interrupting",_0:xu,_1:"CancellingApprovals"},terminal:Su.terminal}),effects:[{TAG:"CancelApprovals",turn:xu.turn,ticket:{TAG:"InterruptControl",_0:xu}}]}};case"SteerRequested":let Na=t._0,sh=e.steers.find(Je=>Je.ticket.ticketId===Na.ticketId);if(sh!==void 0)return J(sh.ticket,Na)?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"steer ticket id is already installed for another target"}};let Zf=yo(e,Na.turn);if(Zf===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"steer names an unknown turn"}};let gg=Zf.provider,bg=Zf.control,yg=Zf.terminal,xg=0;if(typeof gg!="object")xg=3;else switch(gg.TAG){case"ApplyingSettings":xg=3;break;case"Sent":case"Open":xg=2;break;case"Ended":break}switch(xg){case 2:if(typeof bg!="object"){if(typeof yg!="object")return{TAG:"Ok",_0:{state:{sessionGeneration:e.sessionGeneration,turns:e.turns,liveTurn:e.liveTurn,release:e.release,nativeCommand:e.nativeCommand,completedNativeCommands:e.completedNativeCommands,steers:e.steers.concat([{ticket:Na,disposition:"SteerDelivering"}]),stream:e.stream,completedResults:e.completedResults,knownEpochs:e.knownEpochs,retiredEpochs:e.retiredEpochs,knownStreamHandles:e.knownStreamHandles,retiredStreamHandles:e.retiredStreamHandles,settledRotations:e.settledRotations,settledRotationFailures:e.settledRotationFailures,pendingClosedRotation:e.pendingClosedRotation,nextReleaseNumber:e.nextReleaseNumber,closed:e.closed},effects:[{TAG:"DeliverSteer",turn:Na.turn,ticket:Na}]}}}else bg.TAG;break;case 3:if(typeof bg!="object"){if(typeof yg!="object"){let Je=e.sessionGeneration,Ut=e.turns,Pr=e.liveTurn,Gr=e.release,an=e.nativeCommand,Yn=e.completedNativeCommands,Rr=e.steers.concat([{ticket:Na,disposition:"SteerWaiting"}]),_t=e.stream,Jr=e.completedResults,$r=e.knownEpochs,uo=e.retiredEpochs,Ci=e.knownStreamHandles,Rn=e.retiredStreamHandles,co=e.settledRotations,jo=e.settledRotationFailures,ya=e.pendingClosedRotation,Xo=e.nextReleaseNumber,Fo=e.closed;return{TAG:"Ok",_0:{state:{sessionGeneration:Je,turns:Ut,liveTurn:Pr,release:Gr,nativeCommand:an,completedNativeCommands:Yn,steers:Rr,stream:_t,completedResults:Jr,knownEpochs:$r,retiredEpochs:uo,knownStreamHandles:Ci,retiredStreamHandles:Rn,settledRotations:co,settledRotationFailures:jo,pendingClosedRotation:ya,nextReleaseNumber:Xo,closed:Fo},effects:[]}}}}else bg.TAG;break}return{TAG:"Ok",_0:{state:{sessionGeneration:e.sessionGeneration,turns:e.turns,liveTurn:e.liveTurn,release:e.release,nativeCommand:e.nativeCommand,completedNativeCommands:e.completedNativeCommands,steers:e.steers.concat([{ticket:Na,disposition:"SteerRetracted"}]),stream:e.stream,completedResults:e.completedResults,knownEpochs:e.knownEpochs,retiredEpochs:e.retiredEpochs,knownStreamHandles:e.knownStreamHandles,retiredStreamHandles:e.retiredStreamHandles,settledRotations:e.settledRotations,settledRotationFailures:e.settledRotationFailures,pendingClosedRotation:e.pendingClosedRotation,nextReleaseNumber:e.nextReleaseNumber,closed:e.closed},effects:[{TAG:"SettleSteerRetracted",ticket:Na}]}};case"ApprovalsCancellationSettled":let Sg=t._1,gd=t._0,Tu=gd._0.turn,Do=yo(e,Tu);if(Do===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"approval cancellation names an unknown turn"}};let XO=Nj(Do,gd),Qf=tu(Do);if(!XO)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"approval cancellation does not own the turn control"}};if(Qf===void 0)return{TAG:"Ok",_0:{state:e,effects:[]}};if(typeof Qf=="object")return Qf.TAG==="ApprovalCancellationFailed"?Sg.TAG==="Ok"?{TAG:"Ok",_0:{state:e,effects:[]}}:Qf._0===Sg._0?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"approval cancellation failure conflicts with installed failure"}}:{TAG:"Ok",_0:{state:e,effects:[]}};if(Qf!=="CancellingApprovals")return{TAG:"Ok",_0:{state:e,effects:[]}};if(Sg.TAG==="Ok"){let Je=Do.terminal;if(typeof Je=="object")return Je.TAG==="Candidate"?{TAG:"Ok",_0:dC(e,Do,Je._0,Je._1)}:{TAG:"Ok",_0:{state:e,effects:[]}};let Ut=Do.provider;if(typeof Ut!="object"){let Gr=e.release;return typeof Gr!="object"?{TAG:"Ok",_0:Ere(e,Do,gd)}:Gr.TAG!=="BeginningQueueRelease"?{TAG:"Ok",_0:Ere(e,Do,gd)}:{TAG:"Ok",_0:{state:ui(e,Cs(Do,"AwaitingQueueLease")),effects:[]}}}else switch(Ut.TAG){case"ApplyingSettings":let Gr=e.release;if(typeof Gr!="object")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"applying settings turn has no queue lease"}};switch(Gr.TAG){case"ApplyingReleasedSettings":let Yn=Gr.lease,Rr=Gr.token;if(!J(Gr.turn,Tu))return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"applying settings turn does not own the queue lease"}};let _t=ui(e,Cs(Do,"CancellingQueueRelease"));return{TAG:"Ok",_0:{state:{sessionGeneration:_t.sessionGeneration,turns:_t.turns,liveTurn:_t.liveTurn,release:{TAG:"CancellingQueueReleaseTransaction",token:Rr,lease:Yn,turn:Tu,purpose:{TAG:"CancelForControl",_0:gd}},nativeCommand:_t.nativeCommand,completedNativeCommands:_t.completedNativeCommands,steers:_t.steers,stream:_t.stream,completedResults:_t.completedResults,knownEpochs:_t.knownEpochs,retiredEpochs:_t.retiredEpochs,knownStreamHandles:_t.knownStreamHandles,retiredStreamHandles:_t.retiredStreamHandles,settledRotations:_t.settledRotations,settledRotationFailures:_t.settledRotationFailures,pendingClosedRotation:_t.pendingClosedRotation,nextReleaseNumber:_t.nextReleaseNumber,closed:_t.closed},effects:[{TAG:"CancelQueueRelease",token:Rr,lease:Yn,turn:Tu}]}};case"CommittingQueueRelease":let Jr=Gr.successor;return Jr===void 0?{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"applying settings turn has no queue lease"}}:J(Jr,Tu)?{TAG:"Ok",_0:{state:ui(e,Cs(Do,"AwaitingQueueCommit")),effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"committing queue release belongs to another turn"}};default:return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"applying settings turn has no queue lease"}}}case"Sent":case"Open":break;case"Ended":return{TAG:"Ok",_0:{state:ui(e,Cs(Do,"AwaitingTerminalPublication")),effects:[]}}}return{TAG:"Ok",_0:{state:ui(e,Cs(Do,"AwaitingProviderInterrupt")),effects:[{TAG:"InterruptProvider",turn:Tu,ticket:gd,streamEpoch:Ut._0}]}}}let wS=Sg._0;return{TAG:"Ok",_0:{state:ui(e,Cs(Do,{TAG:"ApprovalCancellationFailed",_0:wS})),effects:[{TAG:"SettleControlRetryable",ticket:gd,reason:wS}]}};case"RetryApprovalCancellation":let uc=t._0,lh=uc._0.turn,tl=yo(e,lh);if(tl===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"approval cancellation retry names an unknown turn"}};let cc=Nj(tl,uc),Yf=tu(tl);return cc?Yf===void 0?{TAG:"Ok",_0:{state:e,effects:[]}}:typeof Yf!="object"?{TAG:"Ok",_0:{state:e,effects:[]}}:Yf.TAG!=="ApprovalCancellationFailed"?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Ok",_0:{state:ui(e,Cs(tl,"CancellingApprovals")),effects:[{TAG:"CancelApprovals",turn:lh,ticket:uc}]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"approval cancellation retry does not own the turn control"}};case"ProviderInterruptSettled":let Xf=t._1,em=t._0,Tg=em._0.turn,Is=yo(e,Tg);if(Is===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"provider interrupt completion names an unknown turn"}};let AS=Nj(Is,em),vg=tu(Is),dh=Is.provider;if(!AS)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"provider interrupt completion does not own the turn control"}};if(vg===void 0)return{TAG:"Ok",_0:{state:e,effects:[]}};if(typeof vg=="object")return{TAG:"Ok",_0:{state:e,effects:[]}};if(vg!=="AwaitingProviderInterrupt")return{TAG:"Ok",_0:{state:e,effects:[]}};if(typeof dh!="object")return{TAG:"Ok",_0:{state:e,effects:[]}};switch(dh.TAG){case"Sent":case"Open":break;default:return{TAG:"Ok",_0:{state:e,effects:[]}}}if(Xf.TAG!=="Ok")return{TAG:"Ok",_0:Ef(e,"provider interrupt failed: "+Xf._0)};let uh={TAG:"Anonymous",streamEpoch:dh._0},xi=ui(e,{handle:Is.handle,provider:{TAG:"Ended",_0:uh},control:Is.control,terminal:Is.terminal}),kS=xi.sessionGeneration,Ds=xi.turns,CS=xi.liveTurn,OS=xi.release,eE=xi.nativeCommand,fc=xi.completedNativeCommands,ES=xi.steers,wg=xi.stream,Ag=e.completedResults.concat([uh]),PS=xi.knownEpochs,vu=xi.retiredEpochs,bd=xi.knownStreamHandles,wu=xi.retiredStreamHandles,GS=xi.settledRotations,tE=xi.settledRotationFailures,Fl=xi.pendingClosedRotation,RS=xi.nextReleaseNumber,IS=xi.closed,DS={sessionGeneration:kS,turns:Ds,liveTurn:CS,release:OS,nativeCommand:eE,completedNativeCommands:fc,steers:ES,stream:wg,completedResults:Ag,knownEpochs:PS,retiredEpochs:vu,knownStreamHandles:bd,retiredStreamHandles:wu,settledRotations:GS,settledRotationFailures:tE,pendingClosedRotation:Fl,nextReleaseNumber:RS,closed:IS},rE=jj("provider-interrupted",Tg);return{TAG:"Ok",_0:dC(DS,{handle:Is.handle,provider:{TAG:"Ended",_0:uh},control:Is.control,terminal:Is.terminal},rE,"TurnInterrupted")};case"SteerDeliverySettled":return Ore(e,t._0,t._1);case"TerminalPublishAcked":let ch=t._1,rl=t._0,Ms=yo(e,rl.turn);if(Ms===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"terminal acknowledgement names an unknown turn"}};let $s=Ms.terminal,tm=0,rm,nm,im;if(typeof $s!="object")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"terminal acknowledgement has no active publication"}};switch($s.TAG){case"Publishing":rm=$s._0,nm=$s._1,im=$s._2,tm=1;break;case"PendingAck":rm=$s._0,nm=$s._1,im=$s._3,tm=1;break;case"Committed":return J($s._0,rl)?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"terminal acknowledgement names another publication"}};default:return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"terminal acknowledgement has no active publication"}}}if(tm===1){if(!J(rm,rl))return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"terminal acknowledgement does not own the publication"}};let Je=Ep(Ms),Ut=tu(Ms),Pr;if(Je!==void 0){let _e=0;typeof Ut=="object"&&Ut.TAG==="ControlCommitted"?Pr=[]:_e=2,_e===2&&(Pr=[{TAG:"SettleControlCommitted",_0:{ticket:Je,receipt:ch}}])}else Pr=[];let Gr=Ms.handle,an=Ms.provider,Yn=Ms.control,_t={handle:Gr,provider:an,control:Yn,terminal:{TAG:"Committed",_0:rl,_1:nm,_2:ch}},Jr=Ms.control,$r;$r=typeof Jr!="object"?_t:Cs(_t,{TAG:"ControlCommitted",_0:ch});let uo=ui(e,$r),Ci=uC(uo,rl.turn,!1),Rn=Ci[0],co=Pr.concat(Ci[1]),jo=e.liveTurn,ya=Rn.sessionGeneration,Xo=Rn.turns,Fo=jo!==void 0&&!J(jo,rl.turn)?e.liveTurn:void 0,xo=Rn.release,ls=Rn.nativeCommand,qa=Rn.completedNativeCommands,za=Rn.steers,La=Rn.stream,fo=Rn.completedResults,x=Rn.knownEpochs,O=Rn.retiredEpochs,R=Rn.knownStreamHandles,G=Rn.retiredStreamHandles,L=Rn.settledRotations,ne=Rn.settledRotationFailures,ee=Rn.pendingClosedRotation,K=Rn.nextReleaseNumber,Y=Rn.closed,ue={sessionGeneration:ya,turns:Xo,liveTurn:Fo,release:xo,nativeCommand:ls,completedNativeCommands:qa,steers:za,stream:La,completedResults:fo,knownEpochs:x,retiredEpochs:O,knownStreamHandles:R,retiredStreamHandles:G,settledRotations:L,settledRotationFailures:ne,pendingClosedRotation:ee,nextReleaseNumber:K,closed:Y},ye=Ms.provider,me=Ms.control,xe=e.stream,he=0;if(typeof ye!="object"||ye.TAG!=="Ended")he=2;else{let _e=ye._0;if(_e.TAG==="Identified")he=2;else{let Se=_e.streamEpoch,we=0;if(typeof me!="object"?he=2:we=3,we===3)if(typeof xe!="object")he=2;else{if(xe.TAG==="Live"){let We=xe._0,yt=We.epoch;if(Se!==yt)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"anonymous controlled result does not own the live epoch"}};let pt=f$e(Se,rl.turn);return{TAG:"Ok",_0:{state:{sessionGeneration:ya,turns:Xo,liveTurn:Fo,release:xo,nativeCommand:ls,completedNativeCommands:qa,steers:za,stream:{TAG:"Rotating",old:We,token:pt,predecessor:{TAG:"TurnRotationPredecessor",_0:rl.turn}},completedResults:fo,knownEpochs:x,retiredEpochs:e.retiredEpochs.includes(Se)?e.retiredEpochs:e.retiredEpochs.concat([Se]),knownStreamHandles:R,retiredStreamHandles:e.retiredStreamHandles.includes(We.handle)?e.retiredStreamHandles:e.retiredStreamHandles.concat([We.handle]),settledRotations:L,settledRotationFailures:ne,pendingClosedRotation:ee,nextReleaseNumber:K,closed:Y},effects:co.concat([{TAG:"OpenReplacementStream",old:We,token:pt}])}}}he=2}}}if(he===2){let _e=e.stream;if(typeof _e!="object")return{TAG:"Ok",_0:{state:ue,effects:co}};if(_e.TAG!=="Live")return{TAG:"Ok",_0:{state:ue,effects:co}};if(typeof im!="object"){if(im!=="ProviderCompletion")return{TAG:"Ok",_0:{state:ue,effects:co}};let Se=Cx(ue,rl.turn,void 0);return{TAG:"Ok",_0:{state:Se.state,effects:co.concat(Se.effects)}}}else{let Se=Cx(ue,im._0,void 0);return{TAG:"Ok",_0:{state:Se.state,effects:co.concat(Se.effects)}}}}}break;case"TerminalPublishFailed":let mc=t._0,Au=yo(e,mc.turn);if(Au===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"terminal failure names an unknown turn"}};let yd=Au.terminal;if(typeof yd!="object")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"terminal failure has no active publication"}};switch(yd.TAG){case"Publishing":return J(yd._0,mc)?{TAG:"Ok",_0:{state:ui(e,{handle:Au.handle,provider:Au.provider,control:Au.control,terminal:{TAG:"PendingAck",_0:mc,_1:yd._1,_2:t._1,_3:yd._2}}),effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"terminal failure does not own the publication"}};case"PendingAck":case"Committed":break;default:return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"terminal failure has no active publication"}}}return J(yd._0,mc)?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"terminal failure names another publication"}};case"RetryTerminal":let ku=t._0,xd=yo(e,ku.turn);if(xd===void 0)return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"terminal retry names an unknown turn"}};let pc=xd.terminal;if(typeof pc!="object")return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"terminal retry has no failed publication"}};switch(pc.TAG){case"PendingAck":let Je=pc._1;return J(pc._0,ku)?{TAG:"Ok",_0:{state:ui(e,{handle:xd.handle,provider:xd.provider,control:xd.control,terminal:{TAG:"Publishing",_0:ku,_1:Je,_2:pc._3}}),effects:[{TAG:"PublishTerminal",turn:ku.turn,ticket:ku,outcome:Je}]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"terminal retry does not own the pending publication"}};case"Publishing":case"Committed":break;default:return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"terminal retry has no failed publication"}}}return J(pc._0,ku)?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"terminal retry names another publication"}};case"StreamReplacementSettled":let hc=t._1,_c=t._0,om=e.stream;if(typeof om!="object")return{TAG:"Ok",_0:{state:e,effects:[]}};if(om.TAG==="Live"){let Je=e.settledRotations.find(Pr=>Pr.token.tokenId===_c.tokenId);return Je===void 0?{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"stream replacement completion has no live or settled rotation token"}}:J(Je.token,_c)?hc.TAG==="Ok"?J(hc._0,Je.stream)?{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"settled rotation token was replayed with another stream"}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"settled rotation token was replayed with another result"}}:{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"stream replacement completion forges a settled token id"}}}let fh=om.predecessor,mh=om.old;if(!(J(om.token,_c)&&mh.epoch===_c.oldEpoch))return{TAG:"Error",_0:{TAG:"InvariantFailure",_0:"stream replacement does not own the rotation token"}};if(hc.TAG==="Ok"){let Je=hc._0,Ut=e.knownEpochs.includes(Je.epoch),Pr=e.retiredEpochs.includes(Je.epoch),Gr=e.knownStreamHandles.includes(Je.handle),an=e.retiredStreamHandles.includes(Je.handle);if(!Ut&&!Pr&&!Gr&&!an){let Jr=e.sessionGeneration,$r=e.turns,uo=e.liveTurn,Ci=e.release,Rn=e.nativeCommand,co=e.completedNativeCommands,jo=e.steers,ya={TAG:"Live",_0:Je},Xo=e.completedResults,Fo=e.knownEpochs.concat([Je.epoch]),xo=e.retiredEpochs,ls=e.knownStreamHandles.concat([Je.handle]),qa=e.retiredStreamHandles,za=kre(e.settledRotations,{token:_c,stream:Je}),La=e.settledRotationFailures,fo=e.pendingClosedRotation,x=e.nextReleaseNumber,O=e.closed,R={sessionGeneration:Jr,turns:$r,liveTurn:uo,release:Ci,nativeCommand:Rn,completedNativeCommands:co,steers:jo,stream:ya,completedResults:Xo,knownEpochs:Fo,retiredEpochs:xo,knownStreamHandles:ls,retiredStreamHandles:qa,settledRotations:za,settledRotationFailures:La,pendingClosedRotation:fo,nextReleaseNumber:x,closed:O},G;return G=fh.TAG==="TurnRotationPredecessor"?Cx(R,fh._0,void 0):h$e(R,fh._0),{TAG:"Ok",_0:{state:G.state,effects:[{TAG:"CloseProviderStream",_0:mh.handle}].concat(G.effects)}}}let Yn=Ef(e,"provider stream replacement reused a known epoch or physical handle"),Rr=J(Je.handle,mh.handle)?[]:[{TAG:"CloseProviderStream",_0:Je.handle}],_t=Yn.state;return{TAG:"Ok",_0:{state:{sessionGeneration:_t.sessionGeneration,turns:_t.turns,liveTurn:_t.liveTurn,release:_t.release,nativeCommand:_t.nativeCommand,completedNativeCommands:_t.completedNativeCommands,steers:_t.steers,stream:_t.stream,completedResults:_t.completedResults,knownEpochs:_t.knownEpochs,retiredEpochs:_t.retiredEpochs,knownStreamHandles:_t.knownStreamHandles,retiredStreamHandles:_t.retiredStreamHandles,settledRotations:_t.settledRotations,settledRotationFailures:_t.settledRotationFailures,pendingClosedRotation:void 0,nextReleaseNumber:_t.nextReleaseNumber,closed:_t.closed},effects:Yn.effects.concat(Rr)}}}let kg=hc._0,nl=Ef(e,"provider stream replacement failed: "+kg),Mo=nl.state;return{TAG:"Ok",_0:{state:{sessionGeneration:Mo.sessionGeneration,turns:Mo.turns,liveTurn:Mo.liveTurn,release:Mo.release,nativeCommand:Mo.nativeCommand,completedNativeCommands:Mo.completedNativeCommands,steers:Mo.steers,stream:Mo.stream,completedResults:Mo.completedResults,knownEpochs:Mo.knownEpochs,retiredEpochs:Mo.retiredEpochs,knownStreamHandles:Mo.knownStreamHandles,retiredStreamHandles:Mo.retiredStreamHandles,settledRotations:Mo.settledRotations,settledRotationFailures:Cre(e.settledRotationFailures,{token:_c,reason:kg}),pendingClosedRotation:void 0,nextReleaseNumber:Mo.nextReleaseNumber,closed:Mo.closed},effects:nl.effects}};case"StreamEnded":let gc=t._0,Cg=e.stream;if(typeof Cg!="object")return{TAG:"Ok",_0:{state:e,effects:[]}};if(Cg.TAG!=="Live")return{TAG:"Ok",_0:{state:e,effects:[]}};if(Cg._0.epoch!==gc)return{TAG:"Ok",_0:{state:e,effects:[]}};let Sd=E(e.liveTurn,Je=>yo(e,Je)),$o;if(Sd!==void 0){let Je=Sd.provider,Ut=0;if(typeof Je!="object")$o=!1;else switch(Je.TAG){case"ApplyingSettings":$o=!1;break;case"Sent":case"Open":Ut=1;break;case"Ended":let Pr=Je._0;if(Pr.TAG==="Identified")$o=!1;else{let Gr=Pr.streamEpoch,an=0;if(typeof Sd.control!="object"?$o=!1:an=2,an===2){let Rr=Sd.terminal;if(typeof Rr!="object")$o=!1;else switch(Rr.TAG){case"RetractingTerminal":$o=!1;break;case"Candidate":let _t=Rr._1;$o=typeof _t!="object"&&_t!=="TurnCompleted"?Gr===gc:!1;break;case"Publishing":let Jr=Rr._1;$o=typeof Jr!="object"&&Jr!=="TurnCompleted"?Gr===gc:!1;break;case"PendingAck":let $r=Rr._1;$o=typeof $r!="object"&&$r!=="TurnCompleted"?Gr===gc:!1;break;case"Committed":let uo=Rr._1;$o=typeof uo!="object"&&uo!=="TurnCompleted"?Gr===gc:!1;break}}}break}if(Ut===1){let Pr=Sd.control,Gr=0;if(typeof Pr!="object")$o=!1;else if(Pr.TAG==="Interrupting"){let an=Pr._1;typeof an!="object"&&an==="AwaitingProviderInterrupt"?Gr=2:$o=!1}else{let an=Pr._1;typeof an!="object"&&an==="AwaitingProviderInterrupt"?Gr=2:$o=!1}Gr===2&&($o=typeof Sd.terminal!="object"?Je._0===gc:!1)}}else $o=!1;if($o)return{TAG:"Ok",_0:{state:e,effects:[]}};let am;if(Sd!==void 0){let Je=Sd.terminal;if(typeof Je!="object")am="Claude SDK stream stopped mid-turn";else switch(Je.TAG){case"RetractingTerminal":case"Candidate":am="Claude SDK stream stopped mid-turn";break;default:am="Claude SDK stream stopped while idle"}}else am="Claude SDK stream stopped while idle";return{TAG:"Ok",_0:Ef(e,am)};case"StreamThrew":let Og=e.stream;return typeof Og!="object"?{TAG:"Ok",_0:{state:e,effects:[]}}:Og.TAG==="Live"?Og._0.epoch===t._0?{TAG:"Ok",_0:Ef(e,t._1)}:{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Ok",_0:{state:e,effects:[]}};case"HarnessDeathObserved":let Eg=e.stream;return typeof Eg!="object"?{TAG:"Ok",_0:{state:e,effects:[]}}:Eg.TAG==="Live"?Eg._0.epoch===t._0?{TAG:"Ok",_0:Ef(e,t._1)}:{TAG:"Ok",_0:{state:e,effects:[]}}:{TAG:"Ok",_0:{state:e,effects:[]}}}}}function Gre(e){if(typeof e!="object")switch(e){case"CancellingApprovals":return"ControlCancellingApprovals";case"AwaitingQueueLease":return"ControlAwaitingQueueLease";case"AwaitingQueueCommit":return"ControlAwaitingQueueCommit";case"CancellingQueueRelease":return"ControlCancellingQueueRelease";case"AwaitingProviderInterrupt":return"ControlAwaitingProviderInterrupt";case"AwaitingTerminalPublication":return"ControlAwaitingTerminalPublication"}else switch(e.TAG){case"ApprovalCancellationFailed":return{TAG:"ControlApprovalCancellationFailed",_0:e._0};case"RetractingControlledTurn":return"ControlRetractingControlledTurn";case"ControlCommitted":return{TAG:"ControlCommittedSnapshot",_0:e._0}}}function Vs(e){let t=e.release,r;if(typeof t!="object")r="ReleaseNone";else switch(t.TAG){case"BeginningQueueRelease":r={TAG:"ReleaseBeginning",predecessor:t.token.predecessor};break;case"ApplyingReleasedSettings":r={TAG:"ReleaseApplyingSettings",turn:t.turn};break;case"CommittingQueueRelease":r={TAG:"ReleaseCommitting",successor:t.successor};break;case"CancellingQueueReleaseTransaction":r={TAG:"ReleaseCancelling",turn:t.turn};break;case"BeginningNativeCommandRelease":r={TAG:"ReleaseBeginningNativeCommand",ticketId:t.ticket.ticketId};break;case"CommittingNativeCommandRelease":r={TAG:"ReleaseCommittingNativeCommand",ticketId:t.ticket.ticketId};break}let n=e.nativeCommand,i;if(typeof n!="object")i="NativeCommandNone";else switch(n.TAG){case"EnqueueingNativeCommand":i={TAG:"NativeCommandEnqueueing",ticketId:n._0.ticketId,command:n._1};break;case"AwaitingNativeCommandRelease":i={TAG:"NativeCommandAwaitingRelease",ticketId:n._0.ticketId,command:n._1};break;case"AwaitingNativeCommandProviderPull":i={TAG:"NativeCommandAwaitingProviderPull",ticketId:n._0.ticketId,command:n._1};break;case"DeliveredNativeCommand":i={TAG:"NativeCommandDelivered",ticketId:n._0.ticketId,command:n._1};break}let o=e.stream,a;return a=typeof o!="object"?"StreamClosed":o.TAG==="Live"?{TAG:"StreamLive",_0:o._0.epoch}:{TAG:"StreamRotating",_0:o.old.epoch},{sessionGeneration:e.sessionGeneration,turns:e.turns.map(s=>{let l=s.provider,d;if(typeof l!="object")d="ProviderNotSent";else switch(l.TAG){case"ApplyingSettings":d="ProviderApplyingSettings";break;case"Sent":d={TAG:"ProviderSent",_0:l._0};break;case"Open":d={TAG:"ProviderOpen",_0:l._0};break;case"Ended":d={TAG:"ProviderEnded",_0:l._0};break}let u=s.control,c;c=typeof u!="object"?"ControlNone":u.TAG==="Interrupting"?{TAG:"ControlInterrupting",ticketId:u._0.ticketId,phase:Gre(u._1)}:{TAG:"ControlStopping",ticketId:u._0.ticketId,phase:Gre(u._1)};let f=s.terminal,h;if(typeof f!="object")h="TerminalNone";else switch(f.TAG){case"RetractingTerminal":h={TAG:"TerminalRetracting",_0:f._1};break;case"Candidate":h={TAG:"TerminalCandidate",_0:f._1};break;case"Publishing":h={TAG:"TerminalPublishing",_0:f._1};break;case"PendingAck":h={TAG:"TerminalPendingAck",outcome:f._1,receipt:f._2};break;case"Committed":h={TAG:"TerminalCommitted",outcome:f._1,receipt:f._2};break}return{handle:s.handle,provider:d,control:c,terminal:h}}),liveTurn:e.liveTurn,release:r,nativeCommand:i,completedNativeCommandCount:e.completedNativeCommands.length,steers:e.steers.map(s=>({ticketId:s.ticket.ticketId,turn:s.ticket.turn,disposition:s.disposition})),stream:a,completedResults:e.completedResults,knownEpochs:e.knownEpochs,retiredEpochs:e.retiredEpochs,knownStreamHandleCount:e.knownStreamHandles.length,retiredStreamHandleCount:e.retiredStreamHandles.length,settledRotationCount:e.settledRotations.length+e.settledRotationFailures.length|0,nextReleaseNumber:e.nextReleaseNumber,closed:e.closed}}var y$e=["midTurnSteer","liveModelSwitch","liveEffortSwitch","sessionHistoryListing","slashCommandCatalog"];function rn(e){let t=St(e);return t!==void 0?v(At(ce(t)),"unknown error"):"unknown error"}function _C(e){let t;try{t={TAG:"Ok",_0:JSON.stringify(e)}}catch(n){let i=N(n);t={TAG:"Error",_0:"authored JSON did not serialize: "+rn(i)}}if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0;if(r===void 0)return{TAG:"Error",_0:"authored JSON did not serialize"};try{return{TAG:"Ok",_0:JSON.parse(r)}}catch(n){let i=N(n);return{TAG:"Error",_0:"authored JSON did not parse: "+rn(i)}}}function hC(e){if(e===void 0)return{TAG:"Ok",_0:void 0};switch(e){case"never":return{TAG:"Ok",_0:"bypassPermissions"};case"on-failure":return{TAG:"Ok",_0:"acceptEdits"};case"on-request":case"untrusted":return{TAG:"Ok",_0:"default"};default:return console.warn("linzumi approval-policy clamp: unknown Claude Code approval policy "+e+"; clamping to most-restrictive mode (default = prompt every command)"),{TAG:"Ok",_0:"default"}}}function yC(e){let t=z(e,r=>r.trim().toLowerCase());if(t===void 0)return"EffortNotApplied";switch(t){case"default":return"ClearEffort";case"high":return{TAG:"SetEffort",_0:"high"};case"low":return{TAG:"SetEffort",_0:"low"};case"medium":return{TAG:"SetEffort",_0:"medium"};case"xhigh":return{TAG:"SetEffort",_0:"xhigh"};default:return"EffortNotApplied"}}function zre(e,t,r,n){let i={contents:void 0},o=new Promise((a,s)=>{i.contents=a});return{handle:e,epoch:t,connection:r,reader:n,closed:!1,terminalPullFence:void 0,pumpRetired:o,settlePumpRetired:i.contents}}function x$e(){let e={contents:void 0};return{wait:new Promise((r,n)=>{e.contents=r}),settle:e.contents}}function gC(e,t){let r=e.terminalPullFence;if(r===void 0)return;let n=r.settle;if(n!==void 0)return r.settle=void 0,e.terminalPullFence=void 0,n(t)}function S$e(e){let t=e.pendingCompaction;if(t!==void 0&&!t.startedSettled)return t.startedSettled=!0,t.settleStarted({TAG:"Ok",_0:void 0})}function bC(e,t){let r=e.pendingCompaction;if(r===void 0||r.terminalSettled)return;r.terminalSettled=!0;let n;n=t.TAG==="Ok"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:t._0.reason},r.terminalOutcome=n,r.startedSettled||(r.startedSettled=!0,r.settleStarted({TAG:"Ok",_0:void 0})),r.settleCompleted(t)}function Lre(e,t){bC(e,{TAG:"Error",_0:{fate:"transient_local",reason:t,providerDetail:void 0}})}function xC(e,t){let r=e.pendingCompaction;if(r===void 0)return;let n={TAG:"Error",_0:{fate:"transient_local",reason:t,providerDetail:void 0}};r.startedSettled||(r.startedSettled=!0,r.settleStarted(n)),r.terminalSettled||(r.terminalSettled=!0,r.settleCompleted(n)),r.releaseSettled||(r.releaseSettled=!0,r.settleReleased({TAG:"Error",_0:t})),e.nativeCommandEnvelope="NoNativeCommandEnvelope",e.pendingCompaction=void 0}function T$e(e){let t=e.type,r=e.subtype,n=e.result,i=0;if(t==="result"&&r==="success"&&n!==void 0){if(n==="Not enough messages to compact.")return{TAG:"CompactionTerminal",_0:{TAG:"Error",_0:"claude_compaction_not_needed"}};i=1}else i=1;if(i===1){let o=e.subtype;if(o===void 0)return;switch(o){case"compact_boundary":let a=e.compact_metadata;return a!==void 0&&a.trigger==="manual"?{TAG:"CompactionTerminal",_0:{TAG:"Ok",_0:void 0}}:void 0;case"status":let s=e.status,l=e.compact_result,d=0;if(s!==void 0){let u=ce(s);if(u==="started"||u==="stopped"||u==="installed"||u==="completed"||u==="failed")d=2;else{let c=0;if(u==null)c=3;else{if(u==="compacting")return"CompactionStarted";c=3}if(c===3){let f=e.compact_result;return f===void 0?void 0:f==="success"?{TAG:"CompactionTerminal",_0:{TAG:"Ok",_0:void 0}}:{TAG:"CompactionTerminal",_0:{TAG:"Error",_0:v(e.compact_error,"Claude compact failed")}}}}}else d=2;if(d===2)return l===void 0?void 0:l==="success"?{TAG:"CompactionTerminal",_0:{TAG:"Ok",_0:void 0}}:{TAG:"CompactionTerminal",_0:{TAG:"Error",_0:v(e.compact_error,"Claude compact failed")}};break;default:return}}}function v$e(e,t){if(typeof t!="object"){S$e(e);return}let r=t._0;return r.TAG==="Ok"?bC(e,{TAG:"Ok",_0:void 0}):Lre(e,r._0),r}function Fre(e){if(e.attachments.length===0)return e.text;let r={};return r.type="text",r.text=e.text,[r].concat(e.attachments)}function Hj(e,t,r){return{behavior:"allow",updatedInput:t,updatedPermissions:r,toolUseID:e}}function Vj(e,t){return{behavior:"deny",message:v(t,"denied by the approval bridge"),toolUseID:e}}function Pf(e){return"Claude dispatch queue transaction failed"}function I0(e,t){e.coordinatorObservers.forEach(r=>r(t))}function Ox(e,t){return e.coordinatorTurns.find(r=>J(r.handle,t))}function Ure(e,t){return e.connections.find(r=>r.epoch===t?!r.closed:!1)}function w$e(e,t){e.connections.forEach(r=>{switch(mC(e.coordinator,r.handle,r.epoch)){case"Current":return gC(r,t);case"Retired":case"Unknown":return}})}function D0(e,t){if(!e.diedReported)return e.diedReported=!0,xC(e,t),e.audit("claude.sdk_stream_died",Object.fromEntries([["reason",t]])),e.emit({TAG:"HarnessDied",failure:{fate:"transient_local",reason:t,providerDetail:void 0}})}function Yt(e,t){let r=Bj(e.coordinator,t);if(r.TAG==="Ok"){let n=r._0;return e.coordinator=n.state,n.effects.forEach(i=>Bre(e,i)),A$e(e)}e.stopped=!0,e.dispatchQueue.close(),e.connections.forEach(n=>{if(gC(n,"RetireProviderPull"),!n.closed)return n.closed=!0,n.connection.close()}),D0(e,"Claude coordinator invariant failed: "+r._0._0)}function Wj(e,t){let r=t.releaseRequested,n=t.envelopeSettled;if(r&&n)return k$e(e,t)}function Bre(e,t){if(typeof t!="object")return e.stopped=!0,e.dispatchQueue.close();switch(t.TAG){case"BeginQueueRelease":let r=t.predecessor;r!==void 0&&w$e(e,"ContinueProviderPull");let n=r!==void 0?e.dispatchQueue.beginRelease(Pp(r)):e.dispatchQueue.beginInitialRelease();return Yt(e,{TAG:"QueueReleaseBegun",_0:t.token,_1:He(n,Pf)});case"BeginQueueReleaseAfterNativeCommand":let i=t.predecessor,o=t.token,a=e.coordinatorNativeCommands.find(Re=>J(Re.ticket,i));return a!==void 0?Yt(e,{TAG:"QueueReleaseBegun",_0:o,_1:He(e.dispatchQueue.beginRelease(a.commandKey),Pf)}):Yt(e,{TAG:"QueueReleaseBegun",_0:o,_1:{TAG:"Error",_0:"native command queue predecessor is missing"}});case"CancelQueueRelease":let s=t.lease;return Yt(e,{TAG:"QueueReleaseCancelled",_0:t.token,_1:s,_2:He(e.dispatchQueue.cancelRelease(s),Pf)});case"RetractQueuedTurn":let l=t._0,d=l.turn;return Yt(e,{TAG:"QueuedTurnRetracted",_0:l.token,_1:d,_2:He(e.dispatchQueue.retract(Pp(d)),Pf)});case"CommitQueueRelease":let u=t.lease;return Yt(e,{TAG:"QueueReleaseCommitted",_0:t.token,_1:u,_2:t.successor,_3:He(Ze(e.dispatchQueue.commitRelease(u),Re=>{}),Pf)});case"EnqueueNativeCommand":let c=t.commandKey,f=t.ticket;e.coordinatorNativeCommands.push({ticket:f,commandKey:c});let h=e.dispatchQueue.enqueueTurn(c,"/compact",void 0);return Yt(e,{TAG:"NativeCommandEnqueued",_0:f,_1:He(Ze(h,Re=>{}),Pf)});case"BeginNativeCommandRelease":return Yt(e,{TAG:"NativeCommandReleaseBegun",_0:t.token,_1:t.ticket,_2:He(e.dispatchQueue.beginInitialRelease(),Pf)});case"CommitNativeCommandRelease":let m=t.lease;return Yt(e,{TAG:"NativeCommandReleaseCommitted",_0:t.token,_1:m,_2:t.ticket,_3:He(Ze(e.dispatchQueue.commitRelease(m),Re=>{}),Pf)});case"SettleNativeCommandClosed":let p=e.pendingCompaction;return p!==void 0&&J(p.ticket,t.ticket)?xC(e,"Claude compact abandoned: session closed"):void 0;case"ApplySettings":let _=t.token,g=t.turn,b=()=>{let Re=e.stopped,Ve=Vs(e.coordinator).release;return Re||typeof Ve!="object"||Ve.TAG!=="ReleaseApplyingSettings"?!1:J(Ve.turn,g)},y=async()=>{if(!b())return Yt(e,{TAG:"SettingsFailed",_0:_,_1:"settings effect was superseded before provider application"});let Re=Ox(e,g);if(Re===void 0)return Yt(e,{TAG:"SettingsFailed",_0:_,_1:"accepted turn settings missing"});let Ve;if(J(e.currentModel,Re.model))Ve={TAG:"Ok",_0:void 0};else try{await e.connection.setModel(Re.model),b()&&(e.currentModel=Re.model),Ve={TAG:"Ok",_0:void 0}}catch(ht){let Rt=N(ht);Ve={TAG:"Error",_0:"setModel failed: "+rn(Rt)}}let Be;if(Ve.TAG==="Ok"){let ht=yC(Re.reasoningEffort);if(typeof ht!="object")if(ht==="ClearEffort")if(e.currentEffort!==void 0){let Wt=_C({effortLevel:null});if(Wt.TAG==="Ok")try{await e.connection.applyFlagSettings(Wt._0),b()&&(e.currentEffort=void 0),Be={TAG:"Ok",_0:void 0}}catch(ge){let Ge=N(ge);Be={TAG:"Error",_0:"applyFlagSettings failed: "+rn(Ge)}}else Be={TAG:"Error",_0:Wt._0}}else Be={TAG:"Ok",_0:void 0};else Be={TAG:"Ok",_0:void 0};else{let Rt=ht._0;if(J(e.currentEffort,Rt))Be={TAG:"Ok",_0:void 0};else{let Wt=_C({effortLevel:Rt});if(Wt.TAG==="Ok")try{await e.connection.applyFlagSettings(Wt._0),b()&&(e.currentEffort=Rt),Be={TAG:"Ok",_0:void 0}}catch(ge){let Ge=N(ge);Be={TAG:"Error",_0:"applyFlagSettings failed: "+rn(Ge)}}else Be={TAG:"Error",_0:Wt._0}}}}else Be={TAG:"Error",_0:Ve._0};return Be.TAG==="Ok"?Yt(e,{TAG:"SettingsApplied",_0:_}):Yt(e,{TAG:"SettingsFailed",_0:_,_1:Be._0})},S=e.settingsApplicationTail.then(()=>y());e.settingsApplicationTail=Fr(S,Re=>Promise.resolve());return;case"BindProjectionOwner":let T=t.turn;e.projectionOwner=T;let w=E(Ox(e,T),Re=>Re.publicTurnId);return w!==void 0?iY(e.projector,w):Yt(e,{TAG:"HarnessDeathObserved",_0:rt(e.connections[0],"",Re=>Re.epoch),_1:"projection owner was bound before public turn identity adoption"});case"ProjectFrame":let A=t._0,P=Wa(e.pendingProviderFrames,Re=>J(Re.turn,A));if(P===void 0)return Yt(e,"CloseRequested");let C=e.pendingProviderFrames[P];return C!==void 0?(e.pendingProviderFrames.splice(P,1),nx(e.projector,C.message)):Yt(e,"CloseRequested");case"DropFrame":let k=t._0,$=Wa(e.pendingProviderFrames,Re=>J(Re.turn,k));if($!==void 0){e.pendingProviderFrames.splice($,1);return}else return Yt(e,"CloseRequested");case"CancelApprovals":let V=t.ticket,F=t.turn;(async()=>{let Re=e.pendingApprovals.filter(Be=>J(Be.turn,F)),Ve=e.pendingApprovals.filter(Be=>li(Be.turn,F));return e.pendingApprovals.splice(0,e.pendingApprovals.length,...Ve),Re.forEach(Be=>Be.resolveDecision(Vj(Be.requestId,"turn interrupted"))),Yt(e,{TAG:"ApprovalsCancellationSettled",_0:V,_1:{TAG:"Ok",_0:void 0}})})();return;case"InterruptProvider":let q=t.streamEpoch,re=t.ticket;(async()=>{let Re=Ure(e,q);if(Re===void 0)return Yt(e,{TAG:"ProviderInterruptSettled",_0:re,_1:{TAG:"Error",_0:"stream missing"}});try{return await Re.connection.interrupt(),Yt(e,{TAG:"ProviderInterruptSettled",_0:re,_1:{TAG:"Ok",_0:void 0}})}catch(Ve){let Be=N(Ve);return Yt(e,{TAG:"ProviderInterruptSettled",_0:re,_1:{TAG:"Error",_0:"interrupt failed: "+rn(Be)}})}})();return;case"PublishTerminal":let W=t.outcome,j=t.ticket,X=t.turn,M=E(Ox(e,X),Re=>Re.publicTurnId);if(M===void 0)return D0(e,"terminal publication owner was not adopted");let I=e.pendingTerminals.find(Re=>{let Ve=Re.settlementAuthority;return Ve.TAG==="ReducerTerminal"?J(Ve._0,j):!1});I!==void 0?I.failed=!1:e.pendingTerminals.push({settlementAuthority:{TAG:"ReducerTerminal",_0:j},outcome:W,publicTurnId:M,failed:!1});let Q=Wa(e.pendingProviderTerminals,Re=>J(Re.turn,X)),H=0;if(typeof W!="object"&&W!=="TurnCompleted"?(Q!==void 0&&e.pendingProviderTerminals.splice(Q,1),aY(e.projector,M)):H=1,H===1){let Re=E(Q,Ve=>z(e.pendingProviderTerminals[Ve],Be=>[Ve,Be]));Re!==void 0&&(e.pendingProviderTerminals.splice(Re[0],1),nx(e.projector,Re[1].message))}return I0(e,{TAG:"TerminalCandidateReady",turnId:M,outcome:W});case"OpenReplacementStream":let ie=t.token,se=t.old;(async()=>{let Re=e.connections.find(Wt=>J(Wt.handle,se.handle));if(Re===void 0)return Yt(e,{TAG:"StreamReplacementSettled",_0:ie,_1:{TAG:"Error",_0:"replacement old stream handle is missing"}});gC(Re,"RetireProviderPull"),await e.dispatchQueue.cancelReader(Re.reader),Re.closed||(Re.closed=!0,Re.connection.close()),await Re.pumpRetired,e.nextStreamId=e.nextStreamId+1|0;let Ve=e.nextStreamId.toString(),Be=Lj("claude-stream:"+Ve),ht="claude-epoch:"+Ve,Rt=e.dispatchQueue.openReader();try{let Wt=e.sdk.query({prompt:HD(e.dispatchQueue,Rt),options:e.queryOptions});return e.connections.push(zre(Be,ht,Wt,Rt)),e.connection=Wt,Wre(e,Be,ht,Wt),Yt(e,{TAG:"StreamReplacementSettled",_0:ie,_1:{TAG:"Ok",_0:{handle:Be,epoch:ht}}})}catch(Wt){let ge=N(Wt);return Yt(e,{TAG:"StreamReplacementSettled",_0:ie,_1:{TAG:"Error",_0:"replacement query failed: "+rn(ge)}})}})();return;case"DeliverSteer":let le=t.ticket,be=zj(le),Xe=e.coordinatorSteers.find(Re=>Re.ticketId===be);if(Xe===void 0)return Yt(e,{TAG:"SteerDeliverySettled",_0:le,_1:{TAG:"Error",_0:"steer payload missing"}});let Qe=e.dispatchQueue.enqueueSteerFor(Pp(t.turn),be,Xe.content);if(Qe.TAG!=="Ok")return Yt(e,{TAG:"SteerDeliverySettled",_0:le,_1:{TAG:"Error",_0:"Claude dispatch queue transaction failed"}});let oe=Qe._0;Xe.settle(oe.pulledImmediately?"SteeredLive":"SteeredQueued"),(async()=>{let Re=await oe.applied;return Yt(e,{TAG:"SteerDeliverySettled",_0:le,_1:{TAG:"Ok",_0:Re}})})();return;case"SettleSteerRetracted":let qe=zj(t.ticket),Ne=e.coordinatorSteers.find(Re=>Re.ticketId===qe);return Ne!==void 0?Ne.settle("SteerRetracted"):void 0;case"SettleSettingsClosed":return;case"SettleControlClosed":return I0(e,{TAG:"ControlClosed",ticketId:pC(t._0.ticket),reason:"Claude coordinator closed"});case"SettleControlCommitted":let ae=t._0;return I0(e,{TAG:"ControlCommitted",ticketId:pC(ae.ticket),receipt:ae.receipt});case"SettleControlRetryable":return I0(e,{TAG:"ControlRetryable",ticketId:pC(t.ticket),reason:t.reason});case"ReportHarnessDied":return D0(e,t._0);case"CloseProviderStream":let Ue=t._0,Ee=e.connections.find(Re=>J(Re.handle,Ue));return Ee!==void 0?(gC(Ee,"RetireProviderPull"),e.dispatchQueue.cancelReader(Ee.reader),Ee.closed?void 0:(Ee.closed=!0,Ee.connection.close())):D0(e,"coordinator requested an unknown stream close");case"TerminalizeUncommitted":t._0.forEach(Re=>{let Ve=E(Ox(e,Re.turn),Ge=>Ge.publicTurnId);if(Ve===void 0)return;let Be=e.pendingTerminals.find(Ge=>Ge.publicTurnId===Ve);if(Be!==void 0){let Ge=Be.settlementAuthority,Ye;Ye=Ge.TAG==="ReducerTerminal"?{TAG:"ClosedTerminal",_0:ve(Ge._0)}:{TAG:"ClosedTerminal",_0:Ge._0},Be.settlementAuthority=Ye;return}let ht=Re.publication,Rt=ht!==void 0?[{TAG:"ClosedTerminal",_0:ve(ht.ticket)},ht.outcome]:[{TAG:"ClosedTerminal",_0:void 0},{TAG:"TurnFailed",_0:"Claude session closed before provider terminal outcome"}],Wt=Rt[1],ge={settlementAuthority:Rt[0],outcome:Wt,publicTurnId:Ve,failed:!1};e.pendingTerminals.push(ge),I0(e,{TAG:"TerminalCandidateReady",turnId:Ve,outcome:Wt})});return}}function A$e(e){let t=e.pendingCompaction;if(t===void 0)return;let r=Vs(e.coordinator),n=t.releaseRequested,i=t.envelopeSettled,o=t.coordinatorCompletionRequested,a=t.releaseSettled,s=r.release,l=r.nativeCommand,d=r.stream;n&&i&&o&&(a||typeof s!="object"&&typeof l!="object"&&typeof d=="object"&&d.TAG==="StreamLive"&&(t.releaseSettled=!0,e.pendingCompaction=void 0,t.settleReleased({TAG:"Ok",_0:void 0})))}function k$e(e,t){let r=t.terminalOutcome,n=t.coordinatorCompletionRequested;if(r!==void 0&&!n)return t.coordinatorCompletionRequested=!0,e.nativeCommandEnvelope="NoNativeCommandEnvelope",Yt(e,{TAG:"NativeCommandCompleted",_0:t.ticket,_1:r})}async function Wre(e,t,r,n){let i=!0;for(;i;){let s;try{s=await n.next()}catch(l){let d=N(l);i=!1,Yt(e,{TAG:"StreamThrew",_0:r,_1:"Claude Code SDK stream threw: "+rn(d)}),s=void 0}if(s!==void 0)switch(mC(e.coordinator,t,r)){case"Current":if(s.done)i=!1,Yt(e,{TAG:"StreamEnded",_0:r});else{let d=s.value.subtype,u;if(d!==void 0)switch(d){case"init":let c=xl([v(s.value.slash_commands,[]),v(s.value.skills,[])]),f=s.value.slash_commands,h=s.value.skills,m=0;if(f!==void 0||h!==void 0?m=1:u={TAG:"Ok",_0:void 0},m===1){let _=e.commandCatalog,g=0;if(typeof _!="object")g=2;else switch(_.source){case"InitFallback":g=2;break;case"SupportedCommands":case"CommandsChangedReplacement":u={TAG:"Ok",_0:void 0};break}if(g===2){let b=nt(c,[],(y,S)=>{let T=S.trim(),w=T.startsWith("/")?T.slice(1):T;return w===""||y.some(A=>A.name===w)?y:xl([y,[{name:w,description:"",argumentHint:"",aliases:[]}]])});e.commandCatalog={TAG:"CatalogAvailable",commands:b,source:"InitFallback"},u={TAG:"Ok",_0:void 0}}}break;case"commands_changed":let p=s.value.commands;p!==void 0?(e.commandCatalog={TAG:"CatalogAvailable",commands:p.map(_=>_),source:"CommandsChangedReplacement"},u={TAG:"Ok",_0:void 0}):u={TAG:"Error",_0:"Claude commands_changed message omitted its required commands catalog"};break;default:u={TAG:"Ok",_0:void 0}}else u={TAG:"Ok",_0:void 0};if(u.TAG==="Ok")try{let c=T$e(s.value),f;if(c!==void 0){let m=Vs(e.coordinator).nativeCommand,p=e.pendingCompaction,_=0;typeof m!="object"||m.TAG!=="NativeCommandDelivered"?_=1:p!==void 0?qj(p.ticket)===m.ticketId?f={TAG:"OwnedCompactionStatus",_0:v$e(e,c)}:(Yt(e,{TAG:"HarnessDeathObserved",_0:r,_1:"compact status named the wrong native command"}),f="IgnoredCompactionStatus"):(Yt(e,{TAG:"HarnessDeathObserved",_0:r,_1:"compact status arrived without compact ownership"}),f="IgnoredCompactionStatus"),_===1&&(e.audit("claude.native_compaction_status_ignored_before_delivery",Object.fromEntries([["session_id",e.harnessSessionId],["message_type",s.value.type]])),f="IgnoredCompactionStatus")}else f="NotCompactionStatus";let h=s.value.type;if(typeof f!="object"){if(f==="NotCompactionStatus")switch(h){case"assistant":if(e.nativeCommandEnvelope==="NoNativeCommandEnvelope"){let _=Vs(e.coordinator).nativeCommand;if(typeof _!="object"){let g=cn(Vs(e.coordinator).liveTurn,e.projectionOwner);g!==void 0?(e.pendingProviderFrames.push({turn:g,message:s.value}),Yt(e,{TAG:"ProviderFrame",_0:g,_1:r})):Yt(e,{TAG:"HarnessDeathObserved",_0:r,_1:"provider frame arrived without a coordinator owner"})}else _.TAG!=="NativeCommandDelivered"&&Yt(e,{TAG:"HarnessDeathObserved",_0:r,_1:"provider frame arrived before native command delivery"})}break;case"result":if(e.nativeCommandEnvelope==="NoNativeCommandEnvelope"){if(!rt(s.value.uuid,!1,_=>e.consumedCompactResultUuids.has(_))){let _=Vs(e.coordinator).nativeCommand;if(typeof _!="object"){let g=cn(Vs(e.coordinator).liveTurn,e.projectionOwner);if(g!==void 0){let b=e.connections.find(y=>J(y.handle,t));if(b!==void 0)if(b.terminalPullFence!==void 0)Yt(e,{TAG:"HarnessDeathObserved",_0:r,_1:"provider emitted another result before terminal pull settlement"});else{let S=x$e();b.terminalPullFence=S,e.pendingProviderTerminals.push({turn:g,message:s.value}),Yt(e,{TAG:"ProviderResultObserved",_0:g,_1:dY(s.value,r),_2:c$(s.value)});let T=Wa(e.pendingProviderTerminals,A=>J(A.turn,g));if(T!==void 0){let A=Vs(e.coordinator).turns.find(P=>J(P.handle,g));if(A!==void 0){let P=A.terminal,C=0,k;if(typeof P=="object")switch(P.TAG){case"TerminalPublishing":k=P._0,C=1;break;case"TerminalPendingAck":case"TerminalCommitted":k=P.outcome,C=1;break}C===1&&(e.pendingProviderTerminals.splice(T,1),typeof k!="object"&&k!=="TurnCompleted"&&nx(e.projector,s.value))}}await S.wait!=="ContinueProviderPull"&&(i=!1)}else Yt(e,{TAG:"HarnessDeathObserved",_0:r,_1:"provider result physical connection is missing"})}else Yt(e,{TAG:"HarnessDeathObserved",_0:r,_1:"provider result arrived without a coordinator owner"})}else if(_.TAG==="NativeCommandDelivered"){let g=e.pendingCompaction;if(g!==void 0)if(qj(g.ticket)===_.ticketId){let b=s.value.subtype,y=s.value.result,S=c$(s.value),T,w=0;b==="success"&&y==="Not enough messages to compact."?T={TAG:"Error",_0:"claude_compaction_not_needed"}:w=1,w===1&&(T=typeof S!="object"?S==="TurnCompleted"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:"native compact interrupted"}:{TAG:"Error",_0:S._0}),T.TAG==="Ok"?bC(e,{TAG:"Ok",_0:void 0}):bC(e,{TAG:"Error",_0:{fate:"transient_local",reason:T._0,providerDetail:void 0}}),Yt(e,{TAG:"NativeCommandCompleted",_0:g.ticket,_1:T}),e.pendingCompaction=void 0}else Yt(e,{TAG:"HarnessDeathObserved",_0:r,_1:"provider result named the wrong native command"});else Yt(e,{TAG:"HarnessDeathObserved",_0:r,_1:"provider result arrived without native command state"})}else Yt(e,{TAG:"HarnessDeathObserved",_0:r,_1:"provider result arrived before native command delivery"})}}else{let _=e.pendingCompaction;if(_!==void 0){let g=s.value.uuid;g!==void 0&&e.consumedCompactResultUuids.add(g),_.terminalOutcome!==void 0||Lre(e,"claude_compaction_terminal_missing"),_.envelopeSettled=!0,Wj(e,_)}else Yt(e,{TAG:"HarnessDeathObserved",_0:r,_1:"native compact result arrived without compact ownership"})}break;default:nx(e.projector,s.value)}}else if(f._0!==void 0&&h==="result"){let m=e.pendingCompaction;if(m!==void 0){let p=s.value.uuid;p!==void 0&&e.consumedCompactResultUuids.add(p),m.envelopeSettled=!0,Wj(e,m)}}}catch(c){let f=N(c);i=!1,Yt(e,{TAG:"HarnessDeathObserved",_0:r,_1:"Claude SDK message handling failed: "+rn(f)})}else i=!1,Yt(e,{TAG:"HarnessDeathObserved",_0:r,_1:u._0})}break;case"Retired":s.done&&(i=!1);break;case"Unknown":i=!1,Yt(e,{TAG:"HarnessDeathObserved",_0:r,_1:"provider callback belongs to an unknown physical stream"});break}}let o=e.connections.find(s=>J(s.handle,t));if(o===void 0)return;let a=o.settlePumpRetired;if(a!==void 0)return o.settlePumpRetired=void 0,a()}function C$e(e,t){let r=e.pendingCompaction;if(r===void 0)return t.released;let n=J(r.ticket,t.ticket),i=r.terminalOutcome;return n?i!==void 0?(r.releaseRequested=!0,Wj(e,r),r.released):Promise.resolve({TAG:"Error",_0:"native compact release arrived before provider terminal"}):Promise.resolve({TAG:"Error",_0:"native compact release names another ticket"})}function O$e(e,t,r,n,i,o){if(e.dispatchQueue.enqueueTurn(Pp(t),i,t.sourceSeq).TAG!=="Ok")return{TAG:"Error",_0:{fate:"transient_local",reason:"Claude dispatch queue transaction failed",providerDetail:void 0}};e.coordinatorTurns.push({handle:t,model:r,reasoningEffort:n,publicTurnId:o});let s=Bj(e.coordinator,{TAG:"DispatchAccepted",_0:t});if(s.TAG!=="Ok")return{TAG:"Error",_0:{fate:"transient_local",reason:"Claude coordinator rejected dispatch: "+s._0._0,providerDetail:void 0}};let l=s._0;return e.coordinator=l.state,e.audit("claude.coordinator.dispatch_accepted",Object.fromEntries([["turn_id",t.turnId],["source_seq",t.sourceSeq]])),l.effects.forEach(d=>Bre(e,d)),{TAG:"Ok",_0:void 0}}async function E$e(e){let t=e.stopped,r=e.pendingCompaction;if(t)return{TAG:"Error",_0:{fate:"transient_local",reason:"the session is stopped; it cannot compact conversation history",providerDetail:void 0}};if(r!==void 0)return{TAG:"Error",_0:{fate:"transient_local",reason:"compact_already_in_progress",providerDetail:void 0}};let n=Vs(e.coordinator),i=n.turns.some(y=>{let S=y.terminal;return typeof S!="object"?!0:S.TAG!=="TerminalCommitted"}),o=n.liveTurn,a=n.release,s=n.nativeCommand;if(i)return{TAG:"Error",_0:{fate:"transient_local",reason:"native compact requires an idle Claude session",providerDetail:void 0}};if(o!==void 0)return{TAG:"Error",_0:{fate:"transient_local",reason:"native compact requires an idle Claude session",providerDetail:void 0}};if(typeof a=="object")return{TAG:"Error",_0:{fate:"transient_local",reason:"native compact requires an idle Claude session",providerDetail:void 0}};if(typeof s=="object")return{TAG:"Error",_0:{fate:"transient_local",reason:"native compact requires an idle Claude session",providerDetail:void 0}};let l={contents:void 0},d={contents:void 0},u={contents:void 0},c=new Promise((y,S)=>{l.contents=y}),f=new Promise((y,S)=>{d.contents=y}),h=new Promise((y,S)=>{u.contents=y}),m=l.contents,p=d.contents,_=u.contents;if(m===void 0)return{TAG:"Error",_0:{fate:"transient_local",reason:"could not create native compact lifecycle",providerDetail:void 0}};if(p===void 0)return{TAG:"Error",_0:{fate:"transient_local",reason:"could not create native compact lifecycle",providerDetail:void 0}};if(_===void 0)return{TAG:"Error",_0:{fate:"transient_local",reason:"could not create native compact lifecycle",providerDetail:void 0}};e.nextControlId=e.nextControlId+1|0;let g=$re("claude-compact:"+e.nextControlId.toString(),n.sessionGeneration),b={ticket:g,startedSettled:!1,terminalSettled:!1,terminalOutcome:void 0,envelopeSettled:!1,releaseRequested:!1,coordinatorCompletionRequested:!1,released:h,releaseSettled:!1,settleReleased:_,settleStarted:m,settleCompleted:p};return e.pendingCompaction=b,e.nativeCommandEnvelope="CompactEnvelopePending",Yt(e,{TAG:"NativeCommandRequested",_0:g,_1:"NativeCompact"}),e.audit("claude.native_compaction_requested",Object.fromEntries([["session_id",e.harnessSessionId],["command","/compact"]])),{TAG:"Ok",_0:{started:c,completed:f,release:()=>C$e(e,b)}}}function Nre(e){let t={harnessSessionId:e.harnessSessionId,dispatchTurn:async r=>{let n=e.stopped,i=e.settingsUpdateInFlight;if(n)return{TAG:"Error",_0:{fate:"transient_local",reason:"the session is stopped; no turn can be dispatched",providerDetail:void 0}};if(i)return{TAG:"Error",_0:{fate:"transient_local",reason:"Claude settings update is still in flight",providerDetail:void 0}};let o=Vs(e.coordinator),a=Rre(o.sessionGeneration,"claude-dispatch:"+r.identity.sourceSeq.toString(),r.identity.sourceSeq),s=rY(e.projector,o.sessionGeneration);try{let l=O$e(e,a,r.model,r.reasoningEffort,Fre(r.input),s);return l.TAG==="Ok"?{TAG:"Ok",_0:{turnId:s,identity:r.identity}}:{TAG:"Error",_0:l._0}}catch(l){let d=N(l);return{TAG:"Error",_0:{fate:"transient_local",reason:"Claude dispatch failed: "+rn(d),providerDetail:void 0}}}},steerTurn:async(r,n)=>{let i=e.coordinatorTurns.find(u=>J(u.publicTurnId,r));if(i===void 0)return{TAG:"Error",_0:{TAG:"OperationFailed",_0:{fate:"deterministic",reason:"steer target missing",providerDetail:void 0}}};e.nextSteerId=e.nextSteerId+1|0;let o="claude-steer:"+e.nextSteerId.toString(),a=Mre(o,i.handle),s={contents:void 0},l=new Promise((u,c)=>{s.contents=u}),d=s.contents;if(d===void 0)return{TAG:"Error",_0:{TAG:"OperationFailed",_0:{fate:"transient_local",reason:"steer settlement missing",providerDetail:void 0}}};try{return e.coordinatorSteers.push({ticketId:o,content:Fre(n),settle:d}),Yt(e,{TAG:"SteerRequested",_0:a}),{TAG:"Ok",_0:await l}}catch(u){let c=N(u);return e.coordinatorSteers.splice(e.coordinatorSteers.findIndex(f=>f.ticketId===o),1),{TAG:"Error",_0:{TAG:"OperationFailed",_0:{fate:"transient_local",reason:"Claude steer failed: "+rn(c),providerDetail:void 0}}}}},updateSettings:async r=>{if(e.stopped)return{TAG:"Error",_0:{TAG:"OperationFailed",_0:{fate:"transient_local",reason:"the session is stopped; settings cannot be updated",providerDetail:void 0}}};let n=r.model,i;if(typeof n!="object")if(n==="Preserve")i={TAG:"Ok",_0:void 0};else try{await e.connection.setModel(void 0),e.currentModel=void 0,i={TAG:"Ok",_0:void 0}}catch(d){let u=N(d);i={TAG:"Error",_0:{fate:"transient_local",reason:"setModel failed: "+rn(u),providerDetail:void 0}}}else{let d=n._0;try{await e.connection.setModel(d),e.currentModel=d,i={TAG:"Ok",_0:d}}catch(u){let c=N(u);i={TAG:"Error",_0:{fate:"transient_local",reason:"setModel failed: "+rn(c),providerDetail:void 0}}}}if(i.TAG!=="Ok")return{TAG:"Error",_0:{TAG:"OperationFailed",_0:i._0}};let o=r.approvalPolicy,a;if(typeof o!="object")if(o==="Preserve")a={TAG:"Ok",_0:void 0};else try{await e.connection.setPermissionMode("default"),a={TAG:"Ok",_0:void 0}}catch(d){let u=N(d);a={TAG:"Error",_0:{fate:"transient_local",reason:"setPermissionMode failed: "+rn(u),providerDetail:void 0}}}else{let d=o._0,u=hC(d);if(u.TAG==="Ok"){let c=u._0;if(c!==void 0)try{await e.connection.setPermissionMode(c),a={TAG:"Ok",_0:d}}catch(f){let h=N(f);a={TAG:"Error",_0:{fate:"transient_local",reason:"setPermissionMode failed: "+rn(h),providerDetail:void 0}}}else a={TAG:"Error",_0:{fate:"deterministic",reason:"approval-policy mapping returned no mode",providerDetail:void 0}}}else a={TAG:"Error",_0:{fate:"deterministic",reason:u._0,providerDetail:void 0}}}if(a.TAG!=="Ok")return{TAG:"Error",_0:{TAG:"OperationFailed",_0:a._0}};let s=r.reasoningEffort,l;if(typeof s!="object")if(s==="Preserve")l={TAG:"Ok",_0:void 0};else try{let d=Object.fromEntries([["effortLevel",null]]);await e.connection.applyFlagSettings(d),e.currentEffort=void 0,l={TAG:"Ok",_0:void 0}}catch(d){let u=N(d);l={TAG:"Error",_0:{fate:"transient_local",reason:"applyFlagSettings failed: "+rn(u),providerDetail:void 0}}}else{let d=s._0,u=yC(d);if(typeof u!="object")if(u==="ClearEffort")try{let c=Object.fromEntries([["effortLevel",null]]);await e.connection.applyFlagSettings(c),e.currentEffort=void 0,l={TAG:"Ok",_0:d}}catch(c){let f=N(c);l={TAG:"Error",_0:{fate:"transient_local",reason:"applyFlagSettings failed: "+rn(f),providerDetail:void 0}}}else l={TAG:"Error",_0:{fate:"deterministic",reason:"unsupported reasoning effort "+d,providerDetail:void 0}};else{let c=u._0;try{let f=Object.fromEntries([["effortLevel",c]]);await e.connection.applyFlagSettings(f),e.currentEffort=c,l={TAG:"Ok",_0:d}}catch(f){let h=N(f);l={TAG:"Error",_0:{fate:"transient_local",reason:"applyFlagSettings failed: "+rn(h),providerDetail:void 0}}}}}return l.TAG==="Ok"?{TAG:"Ok",_0:{model:i._0,approvalPolicy:a._0,reasoningEffort:l._0}}:{TAG:"Error",_0:{TAG:"OperationFailed",_0:l._0}}},slashCommands:()=>{e.commandCatalogEnrichment==="EnrichmentNotStarted"&&(e.commandCatalogEnrichment="EnrichmentStarted",(async()=>{try{let a=await e.connection.supportedCommands(),s=e.commandCatalog,l=0;if(typeof s!="object")l=1;else switch(s.source){case"InitFallback":case"SupportedCommands":l=1;break;case"CommandsChangedReplacement":return}if(l===1){e.commandCatalog={TAG:"CatalogAvailable",commands:a.map(d=>d),source:"SupportedCommands"};return}}catch(a){let s=N(a);return e.audit("claude.supported_commands_failed",Object.fromEntries([["reason",rn(s)]]))}})());let n=e.commandCatalog,i;return i=typeof n!="object"?{TAG:"Error",_0:{TAG:"OperationFailed",_0:{fate:"transient_local",reason:"Claude slash-command catalog is not ready",providerDetail:void 0}}}:{TAG:"Ok",_0:n.commands.map(o=>o)},Promise.resolve(i)},interruptTurn:async r=>{let n=e.coordinatorTurns.find(o=>J(o.publicTurnId,r));if(n===void 0)return{TAG:"Ok",_0:void 0};e.nextControlId=e.nextControlId+1|0;let i=Dre("claude-interrupt:"+e.nextControlId.toString(),n.handle);try{return Yt(e,{TAG:"InterruptRequested",_0:i}),{TAG:"Ok",_0:void 0}}catch(o){let a=N(o);return{TAG:"Error",_0:{fate:"transient_local",reason:"Claude interrupt failed: "+rn(a),providerDetail:void 0}}}},respondToApproval:(r,n)=>{let i=Wa(e.pendingApprovals,s=>s.requestId===r),o=E(i,s=>e.pendingApprovals[s]);if(o===void 0)return Promise.resolve({TAG:"Error",_0:{fate:"deterministic",reason:"no unresolved approval request with id "+r,providerDetail:void 0}});let a=()=>{if(i!==void 0){e.pendingApprovals.splice(i,1);return}};if(n.TAG==="Approve"){let s=n.updatedInput,l=s!==void 0?typeof s=="object"&&s!==null&&!Array.isArray(s)?{TAG:"Ok",_0:s}:{TAG:"Error",_0:{fate:"deterministic",reason:"approval updatedInput must be a JSON object when provided",providerDetail:void 0}}:{TAG:"Ok",_0:o.toolInput};return l.TAG!=="Ok"?Promise.resolve({TAG:"Error",_0:l._0}):(a(),o.resolveDecision(Hj(r,l._0,n.updatedPermissions)),Promise.resolve({TAG:"Ok",_0:void 0}))}return a(),o.resolveDecision(Vj(r,n.message)),Promise.resolve({TAG:"Ok",_0:void 0})},injectContext:r=>Promise.resolve({TAG:"Error",_0:{TAG:"NotSupported",capability:"sessionContextInjection"}}),archiveSession:()=>Promise.resolve({TAG:"Error",_0:{TAG:"NotSupported",capability:"sessionArchiveRestore"}}),unarchiveSession:()=>Promise.resolve({TAG:"Error",_0:{TAG:"NotSupported",capability:"sessionArchiveRestore"}}),stopSession:()=>{if(!e.stopped){xC(e,"Claude compact abandoned: session stopped");try{Yt(e,"CloseRequested")}catch(r){let n=N(r);D0(e,"Claude stop failed: "+rn(n))}}return Promise.resolve()}};return e.publicSession=t,t}function qre(e,t,r,n,i,o){let a={contents:void 0},s=GK({onInputDelivered:void 0,onTurnPulled:j=>{let X=a.contents;if(X===void 0)return;let M=X.coordinatorNativeCommands.find(I=>OA(I.commandKey,j));if(M!==void 0)return Yt(X,{TAG:"NativeCommandPulled",_0:M.ticket})},isLiveSteerAllowed:void 0,onInputWait:void 0,onSourceSeqDelivered:void 0}),l=t+":epoch:0",d=Lj(t+":stream:0"),u=j=>{let X=a.contents;if(X===void 0)return o(j);if(!(X.stopped&&j.TAG!=="HarnessDied"))return o(j)},c=eY(r.cwd,i,j=>{let X=a.contents;if(X===void 0)return;X.harnessSessionId=j;let M=X.publicSession;if(M!==void 0){M.harnessSessionId=j;return}},u,e.audit),f=(j,X,M)=>new Promise((I,Q)=>{let H=M.toolUseID,ie=a.contents;if(ie===void 0)return I(Vj(H,"approval bridge not ready"));if(ie.autoAllowApprovals)return I(Hj(H,X,void 0));ie.pendingApprovals.push({requestId:H,toolInput:X,turn:ie.projectionOwner,resolveDecision:I});let se=v(lt(M.suggestions),[]);u({TAG:"ApprovalRequested",request:{requestId:H,turnId:c.activeTurnId,kind:"canUseTool",summary:j,payload:{TAG:"ClaudeToolApproval",toolName:j,toolInput:X,suggestions:se,title:lt(M.title),displayName:lt(M.displayName),description:lt(M.description),decisionReason:lt(M.decisionReason),blockedPath:lt(M.blockedPath)}}})}),h=yC(r.reasoningEffort),m;m=typeof h!="object"?void 0:h._0;let p=e.env,_=Object.entries(r.environment).length,g,b=0;if(p!==void 0||_!==0?b=1:g=void 0,b===1){let j={};p!==void 0?Object.entries(p).forEach(X=>{j[X[0]]=X[1]}):Object.entries(process.env).forEach(X=>{j[X[0]]=X[1]}),Object.entries(r.environment).forEach(X=>{j[X[0]]=X[1]}),g=j}let y={};y.type="preset",y.preset="claude_code";let S={};S.type="preset",S.preset="claude_code";let T=r.developerInstructions;T!==void 0&&(S.append=T);let w;w=n==="bypassPermissions"?!0:void 0;let A=r.cwd,P=e.claudeCodeExecutable,C=r.model,k=y,$=["user","project","local"],V=S,F=r.mcpServers,q={cwd:A,pathToClaudeCodeExecutable:P,model:C,persistSession:!0,includePartialMessages:!0,includeHookEvents:!0,tools:k,settingSources:$,systemPrompt:V,mcpServers:F,resume:i,permissionMode:n,allowDangerouslySkipPermissions:w,effort:m,env:g,canUseTool:f},re=s.openReader(),te=e.sdk.query({prompt:HD(s,re),options:q}),W={harnessSessionId:v(i,""),publicSession:void 0,currentModel:r.model,currentEffort:m,currentPermissionMode:n,autoAllowApprovals:!1,dispatchQueue:s,coordinator:jre(t,l,d),coordinatorTurns:[],coordinatorSteers:[],connections:[zre(d,l,te,re)],connection:te,pendingTerminals:[],coordinatorObservers:[],pendingProviderTerminals:[],pendingProviderFrames:[],coordinatorNativeCommands:[],projectionOwner:void 0,nextControlId:0,nextSteerId:0,nextStreamId:0,sdk:e.sdk,queryOptions:q,emit:u,projector:c,audit:e.audit,pendingApprovals:[],pendingCompaction:void 0,nativeCommandEnvelope:"NoNativeCommandEnvelope",consumedCompactResultUuids:new Set,commandCatalog:"CatalogUnavailable",commandCatalogEnrichment:"EnrichmentNotStarted",settingsApplicationTail:Promise.resolve(),settingsUpdateInFlight:!1,stopped:!1,diedReported:!1};return a.contents=W,Wre(W,d,l,te),{state:W}}function SC(e){let t=[],r=c=>nt(t,void 0,(f,h)=>h.harnessSessionId===c?h:f),n={contents:0},i=()=>(n.contents=n.contents+1|0,"claude-session-generation:"+n.contents.toString());return{adapter:{harness:"claude-code",capabilities:y$e,startSession:async(c,f)=>{let h=hC(c.approvalPolicy);if(h.TAG!=="Ok")return{TAG:"Error",_0:{fate:"deterministic",reason:h._0,providerDetail:void 0}};let m;try{m={TAG:"Ok",_0:qre(e,i(),c,h._0,void 0,f)}}catch(_){let g=N(_);m={TAG:"Error",_0:{fate:"transient_local",reason:"Claude SDK query boot failed: "+rn(g),providerDetail:void 0}}}if(m.TAG!=="Ok")return{TAG:"Error",_0:m._0};let p=m._0;t.push(p.state);try{return{TAG:"Ok",_0:Nre(p.state)}}catch(_){let g=N(_);return{TAG:"Error",_0:{fate:"transient_local",reason:"Claude session construction failed: "+rn(g),providerDetail:void 0}}}},attachSession:async(c,f,h)=>{let m=hC(f.approvalPolicy);if(m.TAG!=="Ok")return{TAG:"Error",_0:{fate:"deterministic",reason:m._0,providerDetail:void 0}};let _={dir:f.cwd},g;try{let S=await e.sdk.getSessionInfo(c,_);g={TAG:"Ok",_0:It(S==null?void 0:ve(S))}}catch(S){let T=N(S);g={TAG:"Error",_0:{fate:"transient_local",reason:"getSessionInfo failed: "+rn(T),providerDetail:void 0}}}if(g.TAG!=="Ok")return{TAG:"Error",_0:g._0};if(!g._0)return{TAG:"Error",_0:{fate:"deterministic",reason:"Claude Code session "+c+" was not found for "+f.cwd,providerDetail:void 0}};let b;try{b={TAG:"Ok",_0:qre(e,i(),f,m._0,c,h)}}catch(S){let T=N(S);b={TAG:"Error",_0:{fate:"transient_local",reason:"Claude SDK resume query boot failed: "+rn(T),providerDetail:void 0}}}if(b.TAG!=="Ok")return{TAG:"Error",_0:b._0};let y=b._0;t.push(y.state);try{return{TAG:"Ok",_0:Nre(y.state)}}catch(S){let T=N(S);return{TAG:"Error",_0:{fate:"transient_local",reason:"Claude attached session construction failed: "+rn(T),providerDetail:void 0}}}},reap:()=>(t.forEach(c=>{if(!c.stopped){xC(c,"Claude compact abandoned: adapter reaped");try{return Yt(c,"ReapRequested")}catch(f){let h=N(f);return D0(c,"Claude reap failed: "+rn(h))}}}),t.splice(0,t.length),Promise.resolve())},updateSessionSettings:async(c,f,h,m)=>{let p=t.find($=>$.harnessSessionId===c?!$.stopped:!1);if(p===void 0)return{TAG:"Error",_0:"active Claude Code session "+c+" was not found"};let _=Vs(p.coordinator);if(_.liveTurn!==void 0)return{TAG:"Error",_0:"Claude settings require an idle coordinator and physical stream"};if(typeof _.release=="object")return{TAG:"Error",_0:"Claude settings require an idle coordinator and physical stream"};if(typeof _.nativeCommand=="object")return{TAG:"Error",_0:"Claude settings require an idle coordinator and physical stream"};let y=_.stream;if(typeof y!="object")return{TAG:"Error",_0:"Claude settings require an idle coordinator and physical stream"};if(y.TAG!=="StreamLive")return{TAG:"Error",_0:"Claude settings require an idle coordinator and physical stream"};let S=Ure(p,y._0);if(S===void 0)return{TAG:"Error",_0:"Claude settings require one current physical stream"};p.settingsUpdateInFlight=!0;let T=()=>{let $=S.closed,V=mC(p.coordinator,S.handle,S.epoch);if($)return!1;switch(V){case"Current":return!0;case"Retired":case"Unknown":return!1}},w={},A=p.currentModel,P=async($,V,F)=>{let D=[];if(F!==void 0){let q=ce(F);if(q!==void 0)try{await S.connection.setPermissionMode(q),T()?p.currentPermissionMode=q:D.push("permission rollback crossed a physical stream")}catch(re){let te=N(re);D.push("permission rollback failed: "+rn(te))}else D.push("permission mode cannot be restored to the inherited default")}if(V!==void 0){let q=ce(V),re=_C({effortLevel:rt(q,null,te=>te)});if(re.TAG==="Ok")try{await S.connection.applyFlagSettings(re._0),T()?p.currentEffort=q:D.push("effort rollback crossed a physical stream")}catch(te){let W=N(te);D.push("effort rollback failed: "+rn(W))}else D.push("effort rollback failed: "+re._0)}if($!==void 0){let q=ce($);try{await S.connection.setModel(q),T()?p.currentModel=q:D.push("model rollback crossed a physical stream")}catch(re){let te=N(re);D.push("model rollback failed: "+rn(te))}}return D},C=async($,V,F,D)=>{let q=await P(V,F,D);if(q.length===0)return{TAG:"Error",_0:$};try{Yt(p,"CloseRequested")}catch(te){let W=N(te);q.push("coordinator close failed: "+rn(W))}return{TAG:"Error",_0:$+"; session stopped after rollback failure: "+q.join("; ")}},k;if(f!==void 0){let $=lt(ce(f)),V=Of($);try{await S.connection.setModel(V),T()?(p.currentModel=V,w.model=rt($,null,F=>F),k={TAG:"Ok",_0:ve(A)}):k={TAG:"Error",_0:"setModel completion crossed a physical stream"}}catch(F){let D=N(F);k=await C("setModel failed: "+rn(D),ve(A),void 0,void 0)}}else k={TAG:"Ok",_0:void 0};if(k.TAG==="Ok"){let $=k._0,V=p.currentEffort,F;if(h!==void 0){let D=ce(h),q=rt(D==null?void 0:ve(D),null,W=>W),re=D==null?"ClearEffort":yC(D),te=0;if(typeof re!="object"&&re!=="ClearEffort"?F={TAG:"Ok",_0:void 0}:te=1,te===1){let W;W=typeof re!="object"?null:re._0;let j=_C({effortLevel:W});if(j.TAG==="Ok")try{if(await S.connection.applyFlagSettings(j._0),T()){let X;X=typeof re!="object"?void 0:re._0,p.currentEffort=X,w.reasoning_effort=q,F={TAG:"Ok",_0:ve(V)}}else F={TAG:"Error",_0:"applyFlagSettings completion crossed a physical stream"}}catch(X){let M=N(X);F=await C("applyFlagSettings failed: "+rn(M),$,ve(V),void 0)}else F={TAG:"Error",_0:j._0}}}else F={TAG:"Ok",_0:void 0};if(F.TAG==="Ok"){let D=F._0,q;if(m!==void 0){let re=ce(m);if(re==null)q={TAG:"Ok",_0:void 0};else{let te=hC(re);if(te.TAG==="Ok"){let W=te._0;if(W!==void 0){let j=p.autoAllowApprovals;W!=="bypassPermissions"&&(p.autoAllowApprovals=!1);try{await S.connection.setPermissionMode(W),T()?(p.currentPermissionMode=W,w.approval_policy=re,q={TAG:"Ok",_0:void 0}):q={TAG:"Error",_0:"setPermissionMode completion crossed a physical stream"}}catch(X){let M=N(X),I=await C("setPermissionMode failed: "+rn(M),$,D,ve(p.currentPermissionMode));p.stopped||(p.autoAllowApprovals=j),q=I}}else q={TAG:"Ok",_0:void 0}}else q=await C(te._0,$,D,void 0)}}else q={TAG:"Ok",_0:void 0};return q.TAG==="Ok"?(p.settingsUpdateInFlight=!1,{TAG:"Ok",_0:w}):(p.settingsUpdateInFlight=!1,{TAG:"Error",_0:q._0})}return p.settingsUpdateInFlight=!1,{TAG:"Error",_0:F._0}}return p.settingsUpdateInFlight=!1,{TAG:"Error",_0:k._0}},settlePendingApprovalsAllow:async c=>{let f=t.find(p=>p.harnessSessionId===c?!p.stopped:!1);if(f===void 0)return{TAG:"Error",_0:"active Claude Code session "+c+" was not found"};let h=f.currentPermissionMode;if(h===void 0)return{TAG:"Error",_0:"Claude Code session "+c+" is not in bypass-permissions mode"};if(h!=="bypassPermissions")return{TAG:"Error",_0:"Claude Code session "+c+" is not in bypass-permissions mode"};f.autoAllowApprovals=!0;let m=f.pendingApprovals.map(p=>p);return f.pendingApprovals.splice(0,f.pendingApprovals.length),m.forEach(p=>p.resolveDecision(Hj(p.requestId,p.toolInput,void 0))),{TAG:"Ok",_0:void 0}},compactSession:async c=>{let f=r(c);if(f===void 0)return{TAG:"Error",_0:{fate:"deterministic",reason:"thread_not_bound",providerDetail:void 0}};try{return await E$e(f)}catch(h){let m=N(h);return{TAG:"Error",_0:{fate:"transient_local",reason:"Claude compact failed: "+rn(m),providerDetail:void 0}}}},terminalCandidate:(c,f)=>E(r(c),h=>z(h.pendingTerminals.find(m=>m.publicTurnId===f),m=>m.outcome)),currentControllableTurnId:c=>E(r(c),f=>E(Vs(f.coordinator).liveTurn,h=>E(Ox(f,h),m=>m.publicTurnId))),observeCoordinator:(c,f)=>{let h=r(c);if(h===void 0)return{TAG:"Error",_0:"active Claude Code session "+c+" was not found"};h.coordinatorObservers.push(f),h.pendingTerminals.forEach(p=>f({TAG:"TerminalCandidateReady",turnId:p.publicTurnId,outcome:p.outcome}));let m={contents:!0};return{TAG:"Ok",_0:()=>{if(!m.contents)return;m.contents=!1;let p=Wa(h.coordinatorObservers,_=>J(_,f));if(p!==void 0){h.coordinatorObservers.splice(p,1);return}}}},ackTerminal:(c,f,h)=>{try{let m=r(c);if(m===void 0)return{TAG:"Error",_0:"active Claude Code session "+c+" was not found"};let p=Wa(m.pendingTerminals,b=>b.publicTurnId===f);if(p===void 0)return{TAG:"Error",_0:"terminal candidate for Claude turn "+f+" was not found"};let _=m.pendingTerminals[p];if(_===void 0)return{TAG:"Error",_0:"terminal candidate for Claude turn "+f+" was not found"};if(_.failed)return{TAG:"Error",_0:"terminal candidate for Claude turn "+f+" is awaiting retry"};m.pendingTerminals.splice(p,1);let g=_.settlementAuthority;return g.TAG==="ReducerTerminal"&&Yt(m,{TAG:"TerminalPublishAcked",_0:g._0,_1:h}),{TAG:"Ok",_0:void 0}}catch(m){let p=N(m);return{TAG:"Error",_0:"Claude terminal ack failed: "+rn(p)}}},failTerminal:(c,f,h)=>{try{let m=r(c);if(m===void 0)return{TAG:"Error",_0:"active Claude Code session "+c+" was not found"};let p=m.pendingTerminals.find(g=>g.publicTurnId===f);if(p===void 0)return{TAG:"Error",_0:"terminal candidate for Claude turn "+f+" was not found"};if(p.failed)return{TAG:"Error",_0:"terminal candidate for Claude turn "+f+" already failed"};let _=p.settlementAuthority;return _.TAG==="ReducerTerminal"&&Yt(m,{TAG:"TerminalPublishFailed",_0:_._0,_1:h}),p.failed=!0,{TAG:"Ok",_0:void 0}}catch(m){let p=N(m);return{TAG:"Error",_0:"Claude terminal failure settlement failed: "+rn(p)}}},retryTerminal:(c,f)=>{try{let h=r(c);if(h===void 0)return{TAG:"Error",_0:"active Claude Code session "+c+" was not found"};let m=h.pendingTerminals.find(_=>_.publicTurnId===f);if(m===void 0)return{TAG:"Error",_0:"terminal candidate for Claude turn "+f+" was not found"};if(!m.failed)return{TAG:"Error",_0:"terminal candidate for Claude turn "+f+" has not failed"};let p=m.settlementAuthority;return p.TAG==="ReducerTerminal"?Yt(h,{TAG:"RetryTerminal",_0:p._0}):(m.failed=!1,I0(h,{TAG:"TerminalCandidateReady",turnId:m.publicTurnId,outcome:m.outcome})),{TAG:"Ok",_0:void 0}}catch(h){let m=N(h);return{TAG:"Error",_0:"Claude terminal retry failed: "+rn(m)}}},stopTurn:(c,f,h)=>{try{let m=r(c);if(m===void 0)return{TAG:"Error",_0:"active Claude Code session "+c+" was not found"};let p=m.coordinatorTurns.find(g=>J(g.publicTurnId,f));if(p===void 0)return{TAG:"Error",_0:"Claude turn "+f+" was not found"};let _=Ire(h,p.handle);return Yt(m,{TAG:"StopRequested",_0:_}),{TAG:"Ok",_0:void 0}}catch(m){let p=N(m);return{TAG:"Error",_0:"Claude stop control failed: "+rn(p)}}}}}import*as Vre from"node:fs";import*as Kre from"node:os";import*as Ks from"node:path";import*as Jre from"node:child_process";var vC="__LINZUMI_LOGIN_PATH_BEGIN__",Kj="__LINZUMI_LOGIN_PATH_END__";function wC(e){return e==="win32"?";":":"}function P$e(e,t){return e==="win32"?Ks.win32.join(...t):Ks.posix.join(...t)}function G$e(e,t){let r=Ks.basename(e).includes("fish")?'printf "%s%s%s" "'+vC+'" (string join : $PATH) "'+Kj+'"':'printf "%s%s%s" "'+vC+'" "$PATH" "'+Kj+'"';switch(t){case"InteractiveLogin":return["-l","-i","-c",r];case"Interactive":return["-i","-c",r];case"Login":return["-l","-c",r]}}var R$e=["ignore","pipe","ignore"],I$e={encoding:"utf8",timeout:5e3,killSignal:"SIGKILL",stdio:R$e};function D$e(e,t){return lt(Jre.spawnSync(e,t,I$e).stdout)}function M$e(e){if(e===void 0)return;let t=e.lastIndexOf(vC),r=e.lastIndexOf(Kj),n=t>=0,i=r>t;if(!n||!i)return;let o=e.slice(t+vC.length|0,r).trim();if(o!=="")return o}function kC(e){return nt(e,[],(t,r)=>t.includes(r)?t:t.concat([r]))}function $$e(e){let t=e.platform,r=e.shell;if(t==="win32"||r===void 0)return;let n=kC(["InteractiveLogin","Interactive","Login"].flatMap(o=>v(z(M$e(e.run(r,G$e(r,o))),a=>a.split(wC(e.platform))),[])).filter(o=>o!==""));if(n.length!==0)return n.join(wC(e.platform))}function TC(e,t){return E(z(e[t],r=>r.trim()),r=>{if(r!=="")return Ks.join(r,"bin")})}function j$e(e,t,r){return r==="win32"?[]:kC(Fe([Ks.join(t,".local","bin"),Ks.join(t,".volta","bin"),TC(e,"VOLTA_HOME"),Ks.join(t,".bun","bin"),TC(e,"BUN_INSTALL"),Ks.join(t,".npm-global","bin"),TC(e,"npm_config_prefix"),TC(e,"N_PREFIX"),Ks.join(t,".claude","local"),"/opt/homebrew/bin","/usr/local/bin"],n=>n))}function Zre(){let e=process.env,t=process.platform;return{existsSync:r=>Vre.existsSync(r),processPath:v(e.PATH,""),loginShellPath:()=>$$e({platform:t,shell:E(z(e.SHELL,r=>r.trim()),r=>{if(r!=="")return r}),run:D$e}),commonBinDirs:()=>j$e(e,Kre.homedir(),t),platform:t}}function AC(e,t){return e.split(wC(t)).filter(r=>r!=="")}function F$e(e,t,r,n,i,o){if(e===void 0)return"SdkDefault";if(e.includes("/")||e.includes("\\"))return o(e)?{TAG:"ExplicitBinary",_0:e}:{TAG:"MissingExplicitBinary",_0:e};let a=i==="win32"?[e+".exe",e+".cmd",e]:[e],s=r!==void 0?AC(r,i):[],l=kC(xl([AC(t,i),s,n])),d=nt(l,void 0,(u,c)=>u!==void 0?u:nt(a,void 0,(f,h)=>{if(f!==void 0)return f;let m=P$e(i,[c,h]);if(o(m))return m}));return d!==void 0?{TAG:"ExplicitBinary",_0:d}:{TAG:"MissingExplicitBinary",_0:e}}function Qre(e,t,r){let n=t.loginShellPath(),i=t.commonBinDirs(),o=kC(xl([AC(t.processPath,t.platform),n!==void 0?AC(n,t.platform):[],i])).join(wC(t.platform));return r.PATH=o,e!==void 0?F$e(e,o,void 0,[],t.platform,t.existsSync):"SdkDefault"}function Yre(e){if(!(typeof e!="object"||e.TAG!=="ExplicitBinary"))return e._0}function Xre(e){return e==="CommanderBoundPort"?"commander_bound":"descendant"}function Zj(e,t){return z(e.find(r=>r[0]===t),r=>r[1])}function q$e(e,t){return e.some(r=>r[0]===t)}function Px(e,t,r){let n=Wa(e,i=>i[0]===t);n!==void 0?e[n]=[t,r]:e.push([t,r])}function z$e(e,t){let r=Wa(e,n=>n[0]===t);if(r!==void 0){e.splice(r,1);return}}function Qj(e){return e.map(t=>t[1])}function ene(e){return v(e,"DescendantPort")}function Cl(e,t){return e.port===t.port&&e.pid===t.pid?v(e.portKind,"DescendantPort")===v(t.portKind,"DescendantPort"):!1}function L$e(e,t,r,n,i){let o=[],a=[],s=[],l=[];return r.forEach(d=>{Px(o,d.port,d);let u=Zj(e,d.port);if(!(u!==void 0&&Cl(u,d))){s.push(d);return}}),Qj(e).forEach(d=>{if(q$e(o,d.port))return;let u=Zj(t,d.port),c=u!==void 0&&Cl(u.candidate,d)?u.firstMissingAtMs:n;if(i<=0||n-c>=i){l.push(d);return}else return Px(o,d.port,d),Px(a,d.port,{candidate:d,firstMissingAtMs:c})}),{nextObservedByPort:o,nextMissingByPort:a,changedCandidates:s,lostCandidates:l}}function U$e(e,t,r,n){let i=[],o=[];return t.forEach(a=>{let s=Zj(e,a.port),l=s!==void 0&&Cl(s.candidate,a)?s.firstSeenAtMs:r;if(Px(i,a.port,{candidate:a,firstSeenAtMs:l}),n<=0||r-l>=n){o.push(a);return}}),{nextObservedByPort:i,stableCandidates:o}}function tne(e,t){let r={};e.forEach(a=>{let s=a.ppid.toString(),l=r[s];l!==void 0?l.push(a.pid):r[s]=[a.pid]});let n=[],i=v(r[t.toString()],[]).slice();return(()=>{for(;;){let a=i.shift();if(a===void 0)return;n.includes(a)||(n.push(a),v(r[a.toString()],[]).forEach(s=>{i.push(s)}))}})(),n}function B$e(e,t,r,n,i,o){return e.filter(a=>t.includes(a.pid)||i.includes(a.port)?!0:o.includes(a.port)).filter(a=>a.port>0?a.port<65536:!1).toSorted((a,s)=>a.port-s.port).map(a=>{let s=r[a.pid.toString()],l=n.length===0&&i.length===0?void 0:n.includes(a.pid)||i.includes(a.port)?"CommanderBoundPort":"DescendantPort";return{port:a.port,pid:a.pid,command:a.command,portKind:l,cwd:s}})}function W$e(e){let t=[];return e.forEach(r=>{if(Number.isInteger(r)&&r>0&&!t.includes(r)){t.push(r);return}}),t}function Ex(e){let t=[];return e.forEach(r=>{if(Number.isInteger(r)&&r>0&&r<65536&&!t.includes(r)){t.push(r);return}}),t}function Yj(e,t,r,n,i){if(t===void 0)return[];if(!(Number.isInteger(t)&&t>1))return[];let o=tne(n,t);return o.push(t),Ex(Fe(i,a=>{if(o.includes(a.pid)&&Number.isInteger(a.port)&&a.port>0&&a.port<65536)return a.port})).toSorted((a,s)=>a-s)}var H$e="port_forward_watcher_root_pid_missing",V$e="port_forward_watcher_root_pid_invalid";function Jj(e,t){return e.toString()+":"+t.toString()}function rne(e){let t=e.rootPid;if(t===void 0)return{TAG:"Error",_0:H$e};if(!Number.isInteger(t)||t<=0)return{TAG:"Error",_0:V$e};let r=v(e.debounceMs,750),n=v(e.lostDebounceMs,v(e.intervalMs,1e3)*2+r),i=v(e.nowMs,()=>Date.now()),o=W$e(e.commanderBoundPids),a=Ex(e.commanderBoundPorts),s=Ex(e.watchPorts),l=(w,A)=>{let P=e.extraWatchPorts,C;if(P!==void 0)try{C=P()}catch{C=void 0}else C=void 0;let k=s.slice();C!==void 0&&C.length!==0&&Ex(C).forEach(F=>{if(!k.includes(F)){k.push(F);return}});let $=e.extraWatchServices,V;if($!==void 0)try{V=$()}catch(F){let D=N(F),q=St(D),re;if(q!==void 0){let W=ce(q);re=v(At(W),String(W))}else re="unknown exception";let te=e.onError;te!==void 0&&te("port_forward.extra_watch_services_provider_failed provider=extraWatchServices context=managed-service registry: "+re),V=[]}else V=[];return V.forEach(F=>{Ex(F.declaredPorts.concat(Yj(F.service,F.pgid,F.declaredPorts,w,A))).forEach(q=>{if(!k.includes(q)){k.push(q);return}})}),k},d={contents:void 0},u=(w,A)=>{let P=d.contents,C=0;(P===void 0||P.cachedRows!==w)&&(C=1),C===1&&(d.contents={cachedRows:w,cachedValue:l(w,A)});let k=d.contents;return k!==void 0?k.cachedValue:s},c={contents:void 0},f=w=>{let A=c.contents,P=0;if((A===void 0||A.cachedRows!==w)&&(P=1),P===1){let k=tne(w,t);o.forEach($=>{if(!k.includes($)){k.push($);return}}),c.contents={cachedRows:w,cachedValue:k}}let C=c.contents;return C!==void 0?C.cachedValue:[]},h=[],m=[],p=[],_=(w,A)=>{let P=f(w),C=u(w,A);return A.filter(k=>P.includes(k.pid)||a.includes(k.port)?!0:C.includes(k.port)).map(k=>k.pid)},g=async w=>{let A=w.listenSockets,P=f(w.processRows),C=B$e(A,P,w.processCwds,o,a,u(w.processRows,A)),k=C.map(j=>j.port),$=A.map(j=>Jj(j.pid,j.port)),V=Qj(m).filter(j=>k.includes(j.port)?!1:$.includes(Jj(j.pid,j.port))),F=i(),D=U$e(h,C.concat(V),F,r),q=L$e(m,p,D.stableCandidates,F,n);h.splice(0,h.length,...D.nextObservedByPort),m.splice(0,m.length,...q.nextObservedByPort),q.changedCandidates.forEach(j=>z$e(m,j.port)),p.splice(0,p.length,...q.nextMissingByPort);let re=e.onListenersObserved;re!==void 0&&re(Qj(q.nextObservedByPort).filter(j=>$.includes(Jj(j.pid,j.port))));let te=q.lostCandidates.length;for(let j=0;j<te;++j){let X=q.lostCandidates[j],M=e.onCandidateLost;X!==void 0&&M!==void 0&&await M(X)}let W=q.changedCandidates.length;for(let j=0;j<W;++j){let X=q.changedCandidates[j];X!==void 0&&(await e.onCandidate(X),Px(m,X.port,X))}},b=e.onError,y=e.onError,S=e.onError,T=e.scheduler.subscribe({candidatePids:_,deliver:g,onError:b!==void 0?w=>b(w):void 0,onBackoff:y!==void 0?w=>y("port_scan_backoff: "+w.consecutiveFailures.toString()+" consecutive scan failures, interval now "+w.intervalMs.toString()+"ms (port detection degraded, best-effort; runner unaffected): "+w.errorMessage):void 0,onRecovered:S!==void 0?w=>S("port_scan_recovered: scanning healthy again after "+w.toString()+" failed scans; normal interval restored"):void 0});return{TAG:"Ok",_0:{close:()=>T.unsubscribe()}}}import*as M0 from"node:fs";import*as CC from"node:os";import*as ma from"node:path";function J$e(e,t){let r=Ei(e,"LINZUMI_RUNNER_LOG_FILE");if(r===void 0)return ma.join(t,".linzumi","logs","linzumi-runner.log");let n=r.trim();return n===""?ma.join(t,".linzumi","logs","linzumi-runner.log"):n}function nne(e,t,r){if(Ei(e,"VITEST")===void 0)return!1;let i=ma.resolve(t,".linzumi"),o=ma.relative(i,ma.resolve(r)),a=o==="",s=o.startsWith(".."+ma.sep),l=ma.isAbsolute(o);return a?!0:s?!1:!l}function Gx(e,t,r){let n=ix(r),i=bf(n),o={};if(o.ts=e,o.event=t,f$()){let a=zo(Mg,l=>{if(l[0]===t)return l[1]}),s=zo(Mg,l=>{if(l[1]===t)return l[0]});a!==void 0?o.event_canonical=a:s!==void 0&&(o.event_legacy=s)}return zl(i,(a,s)=>{o[s]=a}),JSON.stringify(o)+`