@linzumi/cli 1.0.135 → 1.0.136

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.
@@ -105,7 +105,7 @@ Auth:
105
105
  `:return JSON.stringify(e);default:t=r+1|0;continue}}}function V$(e){return e===""?[]:JSON.parse(e.split('"]["').join('","'))}function W$(e){return"["+Hs(e)+"]"}function H$(e){let t=e.length;return t!==1?t!==0?e.map(W$).join(""):"":"["+Hs(e[0])+"]"}var Mm="sury",zm=Symbol(Mm),jm=Symbol(Mm+":item"),qs="string",Bi="number",K$="bigint",ku="boolean",B$="symbol",Ds="null",Sn="undefined",Cm="nan";var Nm="instance",wi="array",gr="object",jn="union",Em="never",ul="unknown",Pm="ref",Fm=kv("Sury.Exn"),ii="const";function J$(e){return e.type===Sn?!0:e.type===jn?Sn in e.has:!1}function Q$(e,t){return(e&t)!==0}var Ft={[ul]:1,[qs]:2,[Bi]:4,[ku]:8,[Sn]:16,[Ds]:32,[gr]:64,[wi]:128,[jn]:256,[Pm]:512,[K$]:1024,[Cm]:2048,function:4096,[Nm]:8192,[Em]:32768,[B$]:16384};function Tu(e){let t=Ft[typeof e];if(t&16)return Sn;if(!(t&64))return t&2?'"'+e+'"':t&1024?e+"n":t&4096?"Function":e.toString();if(e===null)return Ds;if(Array.isArray(e)){let i="[";for(let o=0,s=e.length;o<s;++o)o!==0&&(i=i+", "),i=i+Tu(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 s=r[i],a=e[s];n=n+s+": "+Tu(a)+"; "}return n+"}"}function ar(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 Tu(n);let o=e.format,s=e.anyOf;if(s!==void 0)return s.map(ar).join(" | ");if(o!==void 0){if(o!=="compactColumns")return o;let a=e.additionalItems;if(r===void 0)return a!==void 0&&a!=="strip"&&a!=="strict"?ar(a)+"[]":"unknown[][]";let l=r.properties;return l===void 0?"unknown[][]":"["+Object.keys(l).map(u=>{let c=l[u];return ar(c)+"[]"}).join(", ")+"]"}switch(t){case"nan":return"NaN";case"object":let a=e.additionalItems,l=e.properties,d=Object.keys(l);return d.length===0?typeof a===gr?"{ [key: string]: "+ar(a)+"; }":"{}":"{ "+d.map(u=>u+": "+ar(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!==gr)return"["+c.map(ar).join(", ")+"]";let f=ar(u);return(u.type===jn?"("+f+")":f)+"[]";default:return t}}}var No=class extends Error{constructor(t){super();for(let r in t)this[r]=t[r]}},cn=Object.defineProperty,cl=No.prototype;cn(cl,"message",{get(){return Kv(this)}});cn(cl,"name",{value:"SuryError"});cn(cl,"s",{value:zm});cn(cl,"_1",{get(){return this}});cn(cl,"RE_EXN_ID",{value:Fm});var Hv=1,Gm=function(){},qm=Object.create(null);cn(qm,"with",{get(){return(e,...t)=>e(this,...t)}});Gm.prototype=qm;function Ru(e){if(e&&e.s===zm)return e;throw e}function Kv(e){let t=e.path;return(t===""?"":"Failed at "+t+": ")+e.reason}var ol={m:Kv,d:void 0,a:"strip",f:0},ei={},Dv={configurable:!0},Ls="value",jo="r";function pr(e,t){let r=new Gm;return r.type=e,r.seq=Hv++,t&&(ei[Ls]=r,cn(r,jo,ei)),r}function Bv(e){return e}var Tm={};function Yi(e,t,r){if(Tm[e])return Tm[e];let n=pr(t,!0);return r(n),Tm[e]=n,n}var Nt=pr(ul,!0);Nt.decoder=Bv;var Nn=(e=>{let t=new Gm;for(let r in e)t[r]=e[r];return t.seq=Hv++,t});function Ji(e,t){let r=Nn(e),n=r;for(;n.to;){let i=Nn(n.to);n.to=i,n=i}return t(n),r}function ti(e,t){let r=e.g.e,n=r.length;return r[n]=t,"e["+n+"]"}function fl(e,t){let r=Ft[t.type],n=t.const;return r&16?"void 0":r&2?Hs(n):r&1024?n+"n":r&28672?ti(e,t.const):n}function Fo(e,t){let r='"'+t+'"',n=e[r];if(n!==void 0)return n;let i=Hs(t);return e[r]=i,i}function jr(){return this.i}function X$(){return this.b.v()}function Y$(){return this.prev.v()}function Xr(e){let t=e.v+1;return e.v=t,"v"+t}function Ou(e,t){e.hd=e.hd===""?t:e.hd+","+t}function eR(){let e=this,t=Xr(e.g);return e.cp="let "+t+"="+e.i+";",e.i=t,e.v=jr,t}function $m(){let e=this,t=e.p;if(t.fz)return e.v=jr,e.i;let r=Xr(e.g);return Ou(t,r+"="+e.i),e.v=jr,e.i=r,r}function Au(){let e=this;if(e.fz)return e.v=jr,e.i="("+e.i+")",e.i;let t=Xr(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===""?Ou(e,t):Ou(e,t+"="+n)}return e.v=jr,e.i=t,t}function tR(e,t,r,n){return{v:jr,i:"i",s:e,e:t,f:0,cp:"",hd:"",path:"",g:{v:-1,o:r,e:[],d:n}}}function qo(e,t,r){let n=e.path,i="Can't decode "+ar(t)+" to "+ar(r)+". Use S.to to define a custom decoder",o={code:"unsupported_decode",path:n,reason:i,from:t,to:r};throw new No(o)}function sl(e,t,r){return ti(e,n=>{let i=t(n);throw new No(i)})+"("+r+")"}function Jv(e,t,r,n,i,o,s){let a=s!==void 0?s:"Expected "+ar(e)+", received "+(i?Tu(n):ar(t));if(o!==void 0){let d={};for(let u=0,c=o.length;u<c;++u){let f=o[u],p=f.reason.split(`
106
106
  `).join(`
107
107
  `),m=f.path,_=`
108
- - `+(m===""?"":"At "+m+": ")+p;d[_]||(d[_]=1,a=a+_)}}let l={code:"invalid_input",path:r,reason:a,expected:e,received:t,unionErrors:o};return i&&(l.input=n),l}function Dm(e,t,r,n){return i=>{let o=t!==void 0?t:"",s=n!==void 0?n:!0,a=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=>Jv(a,d,u,c,s,void 0,r)}}function wr(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 Dm(void 0,void 0,r,void 0)(e)}function Qv(e,t){let r=t!==void 0?t:e.e;return sl(e,Dm(r,void 0,void 0,void 0)(e),e.v())}function rR(e,t){let r=e.vc,n=r.length;if(n===1){let s=r[0];return s.c(t)+"||"+sl(e,s.f(e),t)+";"}let i="",o=0;for(;o<n;){let s=r[o],a=s.f,l=s.c(t);for(o=o+1|0;o<n&&r[o].f===a;)l=l+"&&"+r[o].c(t),o=o+1|0;i=i+(l+"||"+sl(e,a(e),t)+";")}return i}function Xv(e){return e.t===!0?e.prev.t!==!0?e.cp==="":!1:!0}function ri(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&&Xv(i)){let a=r.v(),l=i.vc,d="";for(let u=0,c=l.length;u<c;++u){let f=l[u],p=f.c(a);f.f===wr?d=d?d+"&&"+p:p:i.e.noValidation!==!0&&(o=o+(p+"||"+sl(i,f.f(i),a)+";"))}d&&(t.contents?t.contents=d+"&&"+t.contents:t.contents=d)}else i.e.noValidation!==!0&&(o=rR(i,r.v()));i.hd!==""&&(o=o+("let "+i.hd+";")),i.fz=!0,o=i.cp+o,n=o+n}return n}function wn(e,t,r,n){let i=n!==void 0?n:e.e;return{v:Au,i:t,s:r,e:i,prev:e,f:0,d:e.d,cp:"",hd:"",t:!0,path:e.path,g:e.g}}function pt(e,t,r,n){let i=t!==void 0?t:e.s,o=n!==void 0?n:e.e,s=e.v!==jr,a={v:s?Y$:jr,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(s){let l=e.v.bind(e);e.v=()=>{let d=l();return a.i=d,a.v=jr,d}}return a}function Lm(e,t){let r=e.vc;r!==void 0?r.push(t):e.vc=[t]}function al(e,t){let r=t.e.inputRefiner,n;if(r!==void 0){let a=r(t);if(a.length!==0)if(t.prev!==void 0){for(let d=0,u=a.length;d<u;++d)Lm(t,a[d]);n=void 0}else n=a;else n=void 0}else n=void 0;let i=e.e.refiner,o;if(i!==void 0){let a=i(e);o=a.length!==0?a:void 0}else o=void 0;let s=n!==void 0?o!==void 0?pt(e,void 0,n.concat(o),void 0):pt(e,void 0,n,void 0):o!==void 0?pt(e,void 0,o,void 0):e;return s.io=!0,s}function Yv(e,t,r){if(!t.vc)return;let i="["+Fo(e.g,r)+"]";t.vc.forEach(o=>Lm(e,{c:s=>o.c(s+i),f:o.f})),t.vc=void 0}function eS(e,t){let r=e.s.additionalItems,n;n=r!==void 0&&r!=="strip"&&r!=="strict"?r:Nt;let i=e.e.additionalItems,o;return o=i!==void 0&&i!=="strip"&&i!=="strict"?i:Nt,{p:e,v:eR,i:e.v()+"["+t+"]",s:n,e:o,f:e.f,cp:"",hd:"",path:"",g:e.g}}function Ki(e,t,r){return wn(e,fl(e,t),t,r)}function tS(e,t){let r=wn(e,t,e.s,void 0);return r.f=1,r}function ni(e,t,r){e.s.type===wi?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+ri(r,void 0),e.d[t]=r}function rS(e,t,r){return e.v()+"["+t+"]="+r.i}function xi(e){let t=e.v!==jr,r={b:e,v:t?X$:jr,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=jr,i}}return r}function nR(e,t){throw new No({code:"invalid_operation",path:e.path,reason:t})}function Um(e,t,r,n){if(e.path===""&&r===void 0)return ri(e,void 0);{let i=l=>{let d=t.path,u=d===""?"":Hs(d)+"+";return l+".path="+u+(r!==void 0?`'["'+`+r+`+'"]'+`:"")+l+".path"},o=ri(e,void 0);if(o===""&&!(e.f&1))return o+(n!==void 0?n():"");let s=Xr(e.g),a=i(s)+";throw "+s;return e.f&1&&(e.i=e.i+".catch("+s+"=>{"+a+"})"),"try{"+o+(n!==void 0?n():"")+"}catch("+s+"){"+a+"}"}}function nS(e){return e}nS.embedded=$u;function Om(e){return e+"<=2147483647&&"+e+">=-2147483648&&"+e+"%1===0"}function Us(e){return t=>"typeof "+t+'==="'+e+'"'}function Gs(e){return"Number.isNaN("+e+")"}function Cu(e){return"Array.isArray("+e+")"}function iS(e){return Us(gr)(e)+"&&"+e}function iR(e,t){return r=>r+" instanceof "+ti(e,t)}function oR(e){let t=Ft[e.s.type];if(t&1){let i=[{c:Us(Bi),f:wr}],o=e.e.format,s=0;return o==="int32"?i.push({c:Om,f:wr}):s=1,s===1&&(e.g.o&2||i.push({c:a=>"!"+Gs(a),f:wr})),pt(e,e.e,i,void 0)}if(!(t&2))return t&4?e.s.format!==e.e.format&&e.e.format==="int32"?pt(e,e.e,[{c:Om,f:wr}],void 0):e:qo(e,e.s,e.e);let r=Xr(e.g),n=wn(e,r,e.e,void 0);return n.v=jr,n.cp="let "+r+"=+"+e.v()+";",n.vc=[{c:i=>{let o=e.e.format;return o!==void 0&&o==="int32"?Om(r):"!"+Gs(r)},f:wr}],n}function Zm(){return Yi(Bi,Bi,e=>{e.decoder=oR})}function sR(e){return wn(e,'""+'+e.i,Ks(),void 0)}function aR(e){let t=Ft[e.s.type];if(t&1)return pt(e,e.e,[{c:Us(qs),f:wr}],void 0);if(!(t&3132&&ii in e.s))return t&1036?sR(e):t&2?e:qo(e,e.s,e.e);let r=""+e.s.const,n=pr(qs,!1);return n.const=r,wn(e,'"'+r+'"',n,void 0)}function Ks(){return Yi(qs,qs,e=>{e.decoder=aR})}function lR(e){let t=Ft[e.s.type];if(t&1)return pt(e,e.e,[{c:Us(ku),f:wr}],void 0);if(!(t&2))return t&8?e:qo(e,e.s,e.e);let r=Xr(e.g),n=wn(e,r,e.e,void 0);n.v=jr;let i=e.v();return n.cp="let "+r+";("+n.i+"="+i+'==="true")||'+i+'==="false"||'+Qv(e,void 0)+";",n}function Vm(){return Yi(ku,ku,e=>{e.decoder=lR})}function oS(e,t){e[Ft[t]&768?ul:t]=!0}var zo="JSON";function Zs(e){let t=e.e;if(t.noValidation&&!e.u)return Ki(e,t,void 0);if(ii in e.s)return e.s.const===t.const?e:Ki(e,t,void 0);let r=Ft[t.type];if(!(Ft[e.s.type]&2&&r&3132))return r&2048?pt(e,t,[{c:Gs,f:wr}],void 0):pt(e,t,[{c:o=>o+"==="+fl(e,t),f:wr}],void 0);let n=pr(qs,!1);n.const=""+t.const;let i=Ki(e,n,n);return i.vc=[{c:o=>o+'==="'+n.const+'"',f:wr}],Ki(i,t,t)}function Do(){return Yi(Sn,Sn,e=>{e.const=void 0,e.decoder=Zs})}function ml(){return Yi(Ds,Ds,e=>{e.const=null,e.decoder=Zs})}function sS(){return Yi(Cm,Cm,e=>{e.const=NaN,e.decoder=Zs})}function Wm(e){if(e===null)return ml();let t=typeof e;if(t===Sn)return Do();if(t===Bi&&Number.isNaN(e))return sS();if(t===gr){let n=pr(Nm,!0);return n.class=e.constructor,n.const=e,n.decoder=Zs,n}let r=pr(t,!0);return r.const=e,r.decoder=Zs,r}function Jt(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 s=o.v(),a=xi(o),l=Jt(a),d=ri(l,void 0);t=a.i!==l.i||d!==""?wn(o,s+".then("+s+"=>{"+d+"return "+l.i+"})",l.s,l.e):pt(o,l.s,void 0,l.e),t.f=t.f|1,t.io=!0}else if(o.io){let s=o.e.to,l=o.e.parser;t=l!==void 0?l(o):pt(t,void 0,void 0,s)}else{let s=o.s.encoder;s&&s!==i&&o.s!==o.e&&o.e.type!==ul&&(t=s(o,o.e)),o!==t?r=s:(t=o.e.decoder(o),t.io||(t=al(t,t)))}}return t}function Qi(e){for(;;){let t=e,r=t.to;if(r===void 0)return t;e=r}}function Si(e){if(jo in e)return e[jo];let t,r=e;for(;r;){let i=Nn(r),o=i.to,s=t;s!==void 0?i.to=s:delete i.to;let a=i.parser,l=i.serializer;l!==void 0?i.parser=l:delete i.parser,a!==void 0?i.serializer=a: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 p=i.items;p!==void 0&&(i.items=p.map(Si));let m=i.properties;if(m!==void 0){let g={},b=Object.keys(m);for(let y=0,v=b.length;y<v;++y){let S=b[y];g[S]=Si(m[S])}i.properties=g}typeof i.additionalItems===gr&&(i.additionalItems=Si(i.additionalItems));let h=i.anyOf;if(h!==void 0){let g={},b=[];for(let y=0,v=h.length;y<v;++y){let S=h[y],A=Si(S);b.push(A),oS(g,A.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 v=Object.keys(_)[b];g[v]=Si(_[v])}i.$defs=g}t=i,r=o}let n=t;return ei[Ls]=n,cn(e,jo,ei),ei[Ls]=e,cn(n,jo,ei),n}function aS(e){try{return Jt(e)}catch(t){let r=Ru(t),n=e.p;throw r.path=(n!==void 0?n.path:"")+(e.path+"[]"+r.path),r}}function lS(e,t,r,n){let i=tR(ii in e?Nt:e,t,r,n),o=Jt(i),s=ri(o,void 0),a=Q$(o.f,1);t.isAsync=a;let l=o.t===!0;if(t.hasTransform=l,s===""&&(o===i||o.i===i.i)&&!(r&1))return nS;let d=o.i;r&1&&!a&&!n&&(d="Promise.resolve("+d+")");let u="i=>{"+s+"return "+d+"}",c=i.g.e,f=new Function("e","s","return "+u)(c,zm);return f.embedded=i.g.e,f}function Eu(e,t){let r=arguments,n=0,i,o="",s=0,a;for(;i===void 0;){let d=r[n];if(d)if(typeof d===Bi){let u=d|ol.f;i=u,o=o+"-"+u}else{let u=d.seq;u>s&&(s=u,a=d),o=o+u+"-",n=n+1|0}else{let u=ol.f;i=u,o=o+"-"+u}}let l=a;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 p=u;u=Ji(r[f],m=>{m.to=p})}let c=lS(u,u,i,0);return ei[Ls]=c,cn(l,d,ei),c}throw new Error("[Sury] No schema provided for decoder.")}var Go="BS_PRIVATE_NESTED_SOME_NONE";function dR(e){let t=pt(e,void 0,void 0,Hm());return t.cp=Qv(e,void 0)+";",t}function Hm(){return Yi(Em,Em,e=>{e.decoder=dR})}function uR(e){let t=e.e.to;return wn(e,"{"+Go+":"+Qi(e.e).properties[Go].const+"}",t,t)}function Vs(e,t){return{v:Au,i:"",s:t.type===wi?{type:wi,decoder:pl,additionalItems:"strict",items:[]}:{type:gr,decoder:Bs,additionalItems:"strict",required:[],properties:{}},e:e.e,prev:e,f:0,d:{},cp:"",hd:"",t:!0,path:e.path,g:e.g}}function Km(e){return Iu(e,Do())}function Bs(e){let t=e.u,r=e.e,n=Ft[e.s.type],i;if(n&65){let u=n&64,c;if(u)c=e.s;else{let p=pr(gr,!1);p.properties=Im,p.additionalItems=Nt,c=p}let f=[];u||(f.push({c:iS,f:wr}),r.additionalItems!=="strip"&&f.push({c:p=>"!"+Cu(p),f:wr})),i=f.length!==0?pt(e,c,f,void 0):pt(e,c,void 0,void 0)}else i=qo(e,e.s,r);let o=r.additionalItems,s;s=o==="strip"||o==="strict"?void 0:o;let a=i.s.additionalItems,l;l=a!=="strip"&&a!=="strict";let d;if(s!==void 0)if(s===Nt)d=i;else if(l){let u=i.v(),c=Xr(i.g),f=eS(i,c),p=aS(f),m=p.t,h=m?wn(i,"{}",r,void 0):pt(i,r,void 0,void 0),_=Um(p,i,c,m?()=>rS(h,c,p):void 0);if((m||_!=="")&&(h.cp=h.cp+("for(let "+c+" in "+u+"){"+_+"}")),p.f&1){let g=Xr(h.g),b=Xr(h.g),y=Xr(h.g),v=Xr(h.g),S=h.v();d=tS(h,"new Promise(("+g+","+b+")=>{let "+v+"=Object.keys("+S+").length;for(let "+c+" in "+S+"){"+S+"["+c+"].then("+y+"=>{"+S+"["+c+"]="+y+";if("+v+"--===1){"+g+"("+S+")}},"+b+")}})")}else d=h}else{let u=Vs(i,r),c=Object.keys(i.s.properties);for(let f=0,p=c.length;f<p;++f){let m=c[f],h=ll(i,m);h.e=s,h.io=!1,h.u=t,ni(u,m,Jt(h))}d=Ws(u)}else{let u=r.properties,c=Object.keys(u),f=c.length,p=Vs(i,r),m=r.additionalItems,h;h=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===zo;for(let y=0;y<f;++y){let v=c[y],S=u[v],A=ll(i,v);A.e=S,A.io=!1,A.u=t,g&&S.type===jn&&S.has[Sn]&&(A.i="("+A.i+"??null)");let C=Jt(A);t&&ii in S&&Yv(i,C,v),ni(p,v,C),h||(h=C.t)}let b=!1;if(r.additionalItems==="strict"){let y=i.s.additionalItems,v;v=y!=="strip"&&y!=="strict",b=v}if(b){let y=Xr(p.g);if(Ou(i,y),p.cp=p.cp+("for("+y+" in "+i.v()+"){if("),c.length!==0)for(let v=0,S=c.length;v<S;++v){let A=c[v];v!==0&&(p.cp=p.cp+"&&"),p.cp=p.cp+(y+"!=="+Fo(i.g,A))}else p.cp=p.cp+"true";p.cp=p.cp+("){"+sl(i,v=>({code:"unrecognized_keys",path:p.path,reason:'Unrecognized key "'+v+'"',keys:[v]}),y)+"}}")}if(h)d=Ws(p);else{let y=pt(i,void 0,void 0,void 0);y.cp=p.cp,y.d=p.d,d=y}}return al(d,i)}function cR(){let e=Wm(0),t={};return t[Go]=e,{type:gr,serializer:r=>{let n=r.e.to;return Ki(r,n,n)},decoder:Bs,additionalItems:"strip",required:[Go],properties:t}}function pl(e){let t=e.u,r=e.e,n=Ft[e.s.type],i=r.items,o=i.length,s;if(n&129){let u=n&128,c=u?e.s:hl(Nt),f=[];u||f.push({c:Cu,f:wr});let p=c.additionalItems,m;if(m=p==="strip"||p==="strict"?c.items.length===o:!1,!m){let h=r.additionalItems;(h==="strip"||h==="strict")&&(h==="strip"?f.push({c:_=>_+".length>="+o,f:wr}):f.push({c:_=>_+".length==="+o,f:wr}))}s=f.length!==0?pt(e,c,f,void 0):pt(e,c,void 0,void 0)}else s=qo(e,e.s,r);let a=r.additionalItems,l,d=0;if(a==="strip"||a==="strict")d=1;else if(a===Nt)l=s;else{let u=s.v(),c=Xr(s.g),f=eS(s,c),p=aS(f),m=p.t,h=m?wn(s,"new Array("+u+".length)",r,void 0):pt(s,r,void 0,void 0),_=Um(p,s,c,m?()=>rS(h,c,p):void 0);(m||_!=="")&&(h.cp=h.cp+("for(let "+c+"="+o+";"+c+"<"+u+".length;++"+c+"){"+_+"}")),l=p.f&1?tS(h,"Promise.all("+h.i+")"):h}if(d===1){let u=Vs(s,r),c=r.additionalItems,f;if(c==="strip"||c==="strict")if(c==="strip"){let p=s.s.additionalItems;f=p==="strip"||p==="strict"?s.s.items.length!==o:!0}else f=!1;else f=!0;for(let p=0;p<o;++p){let m=i[p],h=p.toString(),_=ll(s,h);_.e=m,_.io=!1,_.u=t;let g=Jt(_);t&&ii in m&&Yv(s,g,h),ni(u,h,g),f||(f=g.t)}if(f)l=Ws(u);else{let p=pt(s,void 0,void 0,void 0);p.cp=u.cp,p.d=u.d,l=p}}return al(l,s)}function fR(e,t){let r=e.s.anyOf;return t.type===jn&&fS(t)===void 0&&uS(t.anyOf,r)||!mR(r,t)?e:cS(e,t)}function dS(e){let t=e.e,r=t.anyOf,n=Ft[e.s.type],i=fS(t);if(e.s===t&&i===void 0&&r.every(wu)||n&256&&uS(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=Nt);let o="";if(!(n&769)){let z=Am(e.s),Z=!1,$=!1,I=r.length,F=0;for(;o===""&&F<I;){let B=r[F];Am(B)===z?o=z:B.type===Ds?Z=!0:B.type===Sn&&($=!0),F=F+1|0}o===""&&(n&16&&Z?o=Ds:n&32&&$&&(o=Sn))}let s=o,a=e.i,l=z=>ti(e,function(){let Z=arguments,$=Jv(t,Nt,e.path,Z[0],!0,Z.length>1?Array.from(Z).slice(1):void 0,void 0);throw new No($)})+"("+e.v()+z+")",d=pt(e,void 0,void 0,void 0),u=[],c={contents:""},f=(z,Z)=>{let $=z[0],I=z[1],F="",B="",X=!1,Se={contents:""},Ee="",Ze={},ot=2,Pe=z.length-1|0;for(;ot<=Pe;){let dt=xi(I);dt.u=!0,dt.t=I.t,dt.io=!1,dt.e=z[ot];let Ge=ot===Pe,Xe=ot===2,Et=Xe&&Ge,tr=!Et,Tt=!1,je="",R={contents:""};try{let le=Jt(dt);if(u.push(le.s),je=ri(le,R),le.t){d.t=!0,le.f&1&&(d.f=d.f|1);let Ke=$.v();le.i!==Ke&&(je=je+(Ke+"="+le.i))}}catch(le){let Ke=ti(dt,Ru(le));Ee=Ee+","+Ke,Z&&Et?(c.contents=Ke,Tt=!0):Ge?(tr=!1,je=Z?"throw "+Ke:l(Ee)):Tt=!0}let ge=R.contents,ye=je;if(!Tt&&ge)if(ye){let le=Ze[ge];le!==void 0?typeof le=="string"?Ze[ge]=[le,ye]:le.push(ye):Ze[ge]=ye}else Se.contents=Se.contents?Se.contents+"||"+ge:ge;if(!Tt&&(!ge||Ge)){let le=Object.keys(Ze);for(let Ke=0,L=le.length;Ke<L;++Ke){let ke=le[Ke];F=F+(X?"else if":"if")+("("+ke+"){");let Me=Ze[ke];if(typeof Me=="string")F=F+Me+"}";else{let wt="";for(let ft=0,Lt=Me.length;ft<Lt;++ft){let Ut=Me[ft],xt="e"+ft;F=F+("try{"+Ut+"}catch("+xt+"){"),wt=wt+","+xt}F=F+l(wt)+"}".repeat(Me.length)+"}"}X=!0}Ze={}}if(!Tt&&!ge)if(ye)if(Se.contents&&(F=F+(X?"else if":"if")+("(!("+Se.contents+")){"),B="}"+B,Se.contents="",X=!1),Ge&&(Z||!tr||Xe))F=F+((X?"else{":"")+ye),B=(X?"}":"")+B;else{let le="e"+(ot-2|0);F=F+((X?"else{":"")+"try{"+ye+"}catch("+le+"){"),B=(X?"}":"")+"}"+B,Ee=Ee+","+le,X=!1}else Se.contents="",ot=Pe,tr=!1;if(Ge){if(Se.contents)F||Ee?F=F+(X?"else if":"if")+("(!("+Se.contents+")){"+l(Ee)+"}"):Lm(I,{c:le=>"("+Se.contents+")",f:wr});else if(tr){let le=l(Ee);F=F+(X?"else{"+le+"}":le)}}ot=ot+1}return F+B},p="",m="",h="",_=!1,g=r.length-1|0,b={},y=[],v=t.refiner,S=t.inputRefiner,A={contents:void 0},C={contents:void 0},V=(z,Z,$)=>{if(Z===void 0)return z;let I=F=>{let B=$.contents;if(B!==void 0)return B;let X=Z(F);return $.contents=X,X};return z!==void 0?F=>{let B=z(F),X=I(F);for(let Se=0,Ee=X.length;Se<Ee;++Se)B.push(X[Se]);return B}:I},re=z=>{let Z=V(z.refiner,v,A);Z!==void 0&&(z.refiner=Z);let $=V(z.inputRefiner,S,C);if($!==void 0){z.inputRefiner=$;return}},fe;if(ii in e.s){let z=[],Z=[];for(let $=0;$<=g;++$){let I=r[$];ii in I&&I.const===e.s.const?z.push(I):Z.push(I)}fe=z.concat(Z)}else fe=r;for(let z=0;z<=g;++z){let Z=i!==void 0?Ji(fe[z],B=>{re(B),B.to=i}):fe[z],$=Z.type,I=Ft[$],F=Am(Z);if((s===""||s===F)&&!(I&16&&"fromDefault"in t)){let B=b[F];if(B!==void 0)I&64&&Go in Z.properties?B.splice(B.length-1|0,0,Z):I&2096||B.push(Z);else{let X=xi(e),Se;if(I&37633)Se=Nt;else{let Pe=pr(Z.type,!1);Pe.encoder=Z.encoder,I&8192?Pe.class=Z.class:I&64?(Pe.properties=Im,Pe.additionalItems=Nt):I&128?(Pe.additionalItems=Nt,Pe.items=$u):I&2096&&(Pe.const=Z.const),Pe.decoder=dt=>Ft[dt.s.type]&1?pt(dt,dt.e,[{c:Ge=>{let Xe=Ft[Z.type];if(Xe&64)return iS(Ge)+"&&!"+Cu(Ge);if(Xe&128)return Cu(Ge);if(Xe&8192)return iR(dt,Z.class)(Ge);if(!(Xe&4))return Xe&2048?Gs(Ge):Xe&48?Ge+"==="+fl(dt,Z):Xe&17418?Us(Z.type)(Ge):"";let Et=Us(Bi)(Ge);return dt.g.o&2?Et:Et+"&&!"+Gs(Ge)},f:wr}],void 0):Z.decoder(dt),Se=Pe}X.e=Se;let Ee;try{Ee=Jt(X)}catch{X.vc=void 0,Ee=X}Lv(I,b)?y.unshift(F):y.push(F),b[F]=[X,Ee,Z];let Ze=!0,ot=Ee;for(;ot!==void 0&&Ze;){let Pe=ot;ot=Pe.prev,Ze=!(Pe.vc&&Xv(Pe))}if(Ze){for(let Pe=0,dt=y.length;Pe<dt;++Pe){let Ge=y[Pe];if(!_){let Xe=b[Ge],Et=Xe[1],tr=f(Xe,!0),Tt=ri(Et,void 0)+tr,je=c.contents;if(je)if(c.contents="",Tt){let R="e"+(z+Pe|0);p=p+("try{"+Tt+"throw "+je+"}catch("+R+"){"),m="}"+m,h=h+","+R}else h=h+","+je;else if(Tt){let R="e"+(z+Pe|0);p=p+("try{"+Tt+"}catch("+R+"){"),m="}"+m,h=h+","+R}else _=!0}}b={},y=[]}}}}let J=b,K=y;if(!_){let z=!1,Z="";for(let F=0,B=K.length;F<B;++F){let X=J[K[F]],Se=X[1],Ee=X[2],Ze=f(X,!1),ot={contents:""},Pe=ri(Se,ot)+Ze,dt=ot.contents;Pe||Lv(Ft[Ee.type],J)?(p=p+(z?"else if":"if")+("("+dt+"){"+Pe+"}"),z=!0):Z=Z?Z+"||"+dt:dt}let $=l(h),I;Z?I=(z?"else if":"if")+("(!("+Z+")){"+$+"}"):I=z?"else{"+$+"}":m===""?$+";":$,p=p+I}d.cp=d.cp+p+m,e.i!==d.i&&(d.i=e.i);let ae=d.f&1?(d.i="Promise.resolve("+d.i+")",d.v=Au,d):d.v===jr&&e.cp===""&&d.cp===""&&a==="i"?(e.hd="",e.v=Au,e.i=a,e):d;return ae.s=u.length?Xi(u):Hm(),ae.e=i!==void 0?(ae.io=!0,Qi(i)):t,ae}function uS(e,t){return t.every((r,n)=>{let i=e[n];return i!==void 0&&!(Ft[r.type]&9152)&&r.type===i.type&&r.const===i.const?r.to===void 0:!1})}function cS(e,t){return pt(e,Nt,void 0,Ji(e.s,r=>{r.to=t}))}function mR(e,t){return!(Ft[Qi(t).type]&512)&&!(t.type===jn&&t.anyOf.some(r=>Ft[r.type]&512))?!e.some(r=>r.to!==void 0||r.parser!==void 0?!0:Ft[r.type]&512):!1}function fS(e){if(e.parser!==void 0)return;let r=e.to;if(r!==void 0)return r}function ll(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 xi(i);let o=e.s.type===gr?e.s.properties[t]:e.s.items[t],s;if(o!==void 0)s=o;else{let u=e.s.additionalItems;s=u==="strip"||u==="strict"?qo(e,e.s,e.e):e.s.type===gr&&u.type!==ul&&!(Ft[u.type]&512)&&!J$(u)?Km(u):u}let l="["+Fo(e.g,t)+"]",d={p:e,v:$m,i:ii in s?fl(e,s):e.v()+l,s,e:s,f:0,cp:"",hd:"",path:e.path+l,g:e.g};return n[t]=d,d}function Ws(e){let t=e.s.type===wi,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 p=i;i=m=>(p!==void 0?p(m):"")+("if("+f.v()+"!==void 0){"+m+"["+Fo(e.g,c)+"]="+f.i+"}")}else r=r+(t?f.i:Fo(e.g,c)+":"+f.i)+","}if(e.i=t?"["+r+"]":"{"+r+"}",n){let d=xi(e);d.io=!0;let u=Jt(d),c=ri(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 s=i;if(s===void 0)return e;let a=s(e.v()),l=pt(e,void 0,void 0,void 0);return l.cp=l.cp+a,l}function Xi(e){let t=e.length;if(t===1)return e[0];if(t!==0){let r={},n=new Set;for(let o=0,s=e.length;o<s;++o){let a=e[o];a.type===jn&&a.to===void 0?(a.anyOf.forEach(l=>{n.add(l)}),Object.assign(r,a.has)):(n.add(a),oS(r,a.type))}let i=pr(jn,!1);return i.anyOf=Array.from(n),i.decoder=dS,i.encoder=fR,i.has=r,i}throw new Error("[Sury] S.union requires at least one item")}function Lv(e,t){return e&8320&&gr in t?!0:e&2048?Bi in t:!1}function Am(e){return Ft[e.type]&8192?e.class.name:e.type}function wu(e){for(;;){let t=e,r=!1,n=!1,i=!1;if(t.to===void 0&&t.parser===void 0&&!(Ft[t.type]&512)){let s=t.anyOf;i=s!==void 0?s.every(wu):!0}if(i){let s=t.items;n=s!==void 0?s.every(wu):!0}if(n){let s=t.properties;r=s!==void 0?Object.values(s).every(wu):!0}if(!r)return!1;let o=t.additionalItems;if(o===void 0||o==="strip"||o==="strict")return!0;e=o}}function hl(e){let t=pr(wi,e[jo]===e);return t.additionalItems=e,t.items=$u,t.decoder=pl,t}function Iu(e,t){let r=t!==void 0?t:Do(),n=Qi(e);switch(n.type){case"undefined":return Xi([r,Uv(e)]);case"union":let o=n.has,s=n.anyOf;return Ji(e,a=>{let l=Z$(o),d=[];for(let u=0,c=s.length;u<c;++u){let f=s[u],p=Qi(f),m=p.type,h;if(m==="undefined")l[r.type]=!0,d.push(r),h=Uv(f);else{let _=p.properties;if(_!==void 0){let g=_[Go];h=g!==void 0?Ji(f,b=>{let y={},v={...g};v.const=g.const+1,y[Go]=v,b.properties=y}):f}else h=f}d.push(h)}d.length===s.length&&(l[r.type]=!0,d.push(r)),a.anyOf=d,a.has=l});default:return Xi([e,r])}}function Uv(e){return Ji(e,t=>{t.to=cR(),t.parser=uR})}function Bm(e){let t=pr(gr,e[jo]===e);return t.properties=Im,t.additionalItems=e,t.decoder=Bs,t}function Zv(e){let t=e.e,r=t.$ref,n=e.g.d,i=r.slice(8),o=n[i],s=e.g.o,a=e.s.seq===t.seq?o:e.s,l=a.seq+"-"+o.seq+"--"+s,d="",u=o[l];if(u!==void 0){let h=se(u);d=h===0?ti(e,o)+('["'+l+'"]'):ti(e,h)}else{let h=k(o.hasTransform,!1),_=k(o.isAsync,!1),g=!0,b=0;for(;g;){g=!1,o.hasTransform===void 0&&(o.hasTransform=h),o.isAsync===void 0&&(o.isAsync=_),Dv[Ls]=0,cn(o,l,Dv);let y=lS(a,o,s,n);ei[Ls]=y,cn(o,l,ei),b=y;let v=o.hasTransform,S=o.isAsync;(v!==h||S!==_)&&(h=v,_=S,delete o[l],g=!0)}d=ti(e,b)}let c=o.hasTransform===!0,f=o.isAsync,p="",m;if(c||f){let h=Xr(e.g);p="let "+h+";";let _=wn(e,h,t,t);_.v=jr,_.cp=h+"="+d+"("+e.i+");",f&&(_.f=_.f|1),m=_}else{let h=pt(e,t,void 0,t);h.cp=d+"("+e.i+");",m=h}return m.prev=void 0,m.cp=p+Um(m,e,void 0,void 0),m.fz=void 0,m.prev=e,m}cn(qm,"~standard",{get:function(){let e=this;return{version:1,vendor:Mm,validate:t=>{try{return{value:Eu(Nt,e)(t)}}catch(r){let n=Ru(r);return{issues:[{message:n.reason,path:n.path===""?void 0:V$(n.path)}]}}}}}});function mS(e,t){return Eu(Nt,t)(e)}var pR="#/$defs/";function hR(e,t){return Ji(e,r=>{let n=t(r),i=r.refiner;i!==void 0?r.refiner=o=>{let s=i(o),a=n(o);for(let l=0,d=a.length;l<d;++l)s.push(a[l]);return s}:r.refiner=n})}function pS(e,t,r,n){let i=r!==void 0?r:"Refinement failed",o=n!==void 0?H$(n):"";return hR(e,s=>(a=>{let l=ti(a,t);return[{c:d=>l+"("+d+")",f:Dm(void 0,o,i,void 0)}]}))}function hS(){let e=Nn(ml());return e.to=Do(),e}function _S(e,t){return Ji(e,r=>{let n=r.anyOf;if(n!==void 0){let o=[],s=[];for(let f=0,p=n.length;f<p;++f){let m=n[f],h=Qi(m);h.type!=="undefined"&&(o.push(h),s.push(m))}let a=o.length,l;if(a!==1)if(a!==0)l=Xi(o);else{let f="Can't set default for "+ar(r);throw new Error("[Sury] "+f)}else l=o[0];let d=s.length!==1?Xi(s):s[0];if(t.TAG==="Value"){let f=t._0;try{Eu(Nt,l)(f)}catch(p){let m=Ru(p),h="Invalid default for "+ar(r)+": "+m.message;throw new Error("[Sury] "+h)}try{r.default=Eu(Si(d),void 0)(f)}catch{}}r.parser=f=>{let p=f.e.to,m=f.v(),h;return h=t.TAG==="Value"?fl(f,Wm(t._0)):ti(f,t._0)+"()",wn(f,m+"===void 0?"+h+":"+m,p,p)};let u=Nn(l),c=u.decoder;u.serializer=f=>{let p=Si(d);return pt(c(f),p,void 0,p)},u.decoder=Bv,r.to=u;return}let i="Can't set default for "+ar(r);throw new Error("[Sury] "+i)})}function Rm(e,t){let r=Ft[t.type];if(r&46)return Jt(pt(e,Nt,void 0,t));if(r&2064){let i=Nn(ml());return i.to=t,Jt(pt(e,Nt,void 0,i))}if(r&128){let i=hl(Nt),o=Jt(pt(e,Nt,void 0,i));return o.s.additionalItems=Qr(),o.e=t,o.io=!1,o}if(r&64){let i=Bm(Nt),o=Jt(pt(e,Nt,void 0,i));return o.s.additionalItems=Qr(),o.e=t,o.io=!1,o}if(r&768)return e;let n=Nn(Ks());return n.to=t,Jt(pt(e,Nt,void 0,n))}function Fs(e){let t=Ft[e.type],r=!0;if(!(t&46||e.$ref===Qr().$ref||t&256&&e.anyOf.every(Fs))){let i=!1;if(t&128){let o=e.additionalItems,s;s=o==="strip"||o==="strict"?!0:Fs(o),i=s}r=i&&e.items.every(Fs)}if(r)return!0;let n=!1;if(t&64){let i=e.additionalItems,o;o=i==="strip"||i==="strict"?!0:Fs(i),n=o}return n?Object.values(e.properties).every(Fs):!1}function Vv(e){let t=Ft[e.s.type];if(Fs(e.s))return e;if(t&2064)return Ki(e,ml(),void 0);if(t&128){let r=pr(wi,!1);r.items=e.s.items.map(o=>Qr()),r.decoder=pl;let n=e.s.additionalItems,i;return i=n==="strip"||n==="strict"?n:Qr(),r.additionalItems=i,r.to=e.e.to,Jt(pt(e,void 0,void 0,r))}if(t&64){let r=e.s.additionalItems;if(!(r==="strip"||r==="strict")){let o=Bm(Qr());return o.to=e.e.to,Jt(pt(e,void 0,void 0,o))}let n=Vs(e,e.s);n.e=Qr(),e.e.to&&(n.e=Nn(n.e),n.e.to=e.e.to);let i=Object.keys(e.s.properties);for(let o=0,s=i.length;o<s;++o){let a=i[o],l=ll(e,a);if(l.io=!1,l.s.type===jn&&l.s.has[Sn]){l.e=Xi([Do(),Qr()]);let d=Jt(l);d.o=!0,ni(n,a,d)}else l.e=Qr(),ni(n,a,Jt(l))}return Ws(n)}if(t&512)return Zv(e);if(t&256&&!(Sn in e.s.has))return Jt(cS(e,e.e));if(t&1)return e.e.to&&!e.e.parser?(e.s=Qr(),Rm(e,e.e)):e.e.noValidation?(e.s=Qr(),e):Zv(e);try{let r=Nn(Ks());return r.to=e.e,e.e=r,Jt(e)}catch{return qo(e,e.s,Qr())}}function Qr(){return Yi(zo,Pm,e=>{let t=pr(Pm,!0);t.$ref=pR+zo,t.name=zo,t.decoder=Vv,t.encoder=Rm,e.$ref=t.$ref,e.name=zo,e.decoder=Vv,e.encoder=Rm;let r=[Ks(),Vm(),Zm(),ml(),Bm(t),hl(t)],n={};r.forEach(s=>{n[s.type]=!0});let i=pr(jn,!0);i.anyOf=r,i.has=n,i.decoder=dS,i.name=zo,i.type=jn;let o={};o[zo]=i,e.$defs=o})}function _R(e){return e[jm]}function dl(e,t,r){let n=Nn(Qi(e));return n.from=t,r!==void 0&&(n.fromFlattened=r),new Proxy(n,{get:(i,o)=>{if(o===jm)return i;let s=i.items,a=i.properties,l=a!==void 0?a[o]:s!==void 0?s[o]:void 0;if(l===void 0){let d='Cannot read property "'+o+'" of '+ar(i);throw new Error("[Sury] "+d)}return dl(l,i.from.concat(o),i.fromFlattened)}})}function gS(e,t,r){let n=Vs(e,t);n.io=!0;let i=t.items;if(i!==void 0)for(let o=0,s=i.length;o<s;++o){let a=o.toString();ni(n,a,r(a,i[o]))}else{let o=t.properties;if(o!==void 0){let s=Object.keys(o);for(let a=0,l=s.length;a<l;++a){let d=s[a];ni(n,d,r(d,o[d]))}}else{let s="Don't know where the value is coming from: "+ar(t);throw new Error("[Sury] "+s)}}return Ws(n)}function yS(e,t){let r=t.from,n=t.fromFlattened,i=n!==void 0?xi(Wv(e.fv[n],t.from,0)):r!==void 0?xi(Wv(e,r,0)):ii in t?Ki(e,t,void 0):gS(e,t,(o,s)=>yS(e,s));return i.prev=void 0,i.e=t,i}function bS(e,t){let r=t.e,n=r.from;if(n!==void 0){let s=r.fromFlattened,a;if(s!==void 0){e.flattened===void 0&&(e.flattened=[]);let l=e.flattened[s];if(l!==void 0)a=l;else{let d={};e.flattened[s]=d,a=d}}else a=e;for(let l=0,d=n.length;l<d;++l){let u=n[l],c=a.properties,f;if(c!==void 0)f=c;else{let h={};a.properties=h,f=h}let p=f[u],m;if(p!==void 0)m=p;else{let h={};f[u]=h,m=h}a=m}a.val=t;return}let i=t.d;if(i===void 0)return;let o=Object.keys(i);for(let s=0,a=o.length;s<a;++s)bS(e,i[o[s]])}function xu(e,t,r,n){let i=0;if(t!==void 0){let o=t.val;if(o!==void 0){let s=xi(o);return s.t=!0,s.s=r,s.e=r,Jt(s)}i=1}else i=1;if(i===1){if(ii in r){let c=Ki(e,r,r);return c.prev=void 0,c.p=e,c.v=$m,c.io=!0,Jt(c)}let o=t===void 0?Qi(r):r,s=Vs(e,o);s.e=o,s.io=!0,s.prev=void 0,s.p=e,s.v=$m;let a=o.flattened,l=o.items,d=0,u=0;if(l!==void 0&&(t!==void 0||typeof o.additionalItems!==gr))for(let c=0,f=l.length;c<f;++c){let p=c.toString(),m;if(t!==void 0){let _=t.properties;m=_!==void 0?_[p]:void 0}else m=void 0;let h=Fo(e.g,p);ni(s,p,xu(e,m,l[c],n+("["+h+"]")))}else u=3;if(u===3){let c=o.properties;if(c!==void 0&&(t!==void 0||typeof o.additionalItems!==gr)){if(a!==void 0&&t!==void 0){let p=t.flattened;p!==void 0&&p.forEach((m,h)=>{let g=xu(e,m,Si(a[h]),n).d,b=Object.keys(g);for(let y=0,v=b.length;y<v;++y){let S=b[y];ni(s,S,g[S])}})}let f=Object.keys(c);for(let p=0,m=f.length;p<m;++p){let h=f[p];if(!(h in s.d)){let _;if(t!==void 0){let b=t.properties;_=b!==void 0?b[h]:void 0}else _=void 0;let g=Fo(e.g,h);ni(s,h,xu(e,_,c[h],n+("["+g+"]")))}}}else d=2}if(d===2){let c=r.from,f=c!==void 0?n+c.map(m=>'["'+m+'"]').join(""):n,p=f===""?"":" at "+f;nR(e,"Missing input for "+ar(r)+p)}return Ws(s)}}function Wv(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 Pu(e,t){if(typeof e!==gr||e===null)return Wm(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=Pu(e[l],t);e[l]=u}let a=pr(wi,!1);return a.items=e,a.additionalItems="strict",a.decoder=pl,a}let n=e.constructor;if(n&&n!==Object){let a=pr(Nm,!0);return a.class=n,a.const=e,a.decoder=Zs,a}let i=Object.keys(e),o=i.length;for(let a=0;a<o;++a){let l=i[a],d=Pu(e[l],t);e[l]=d}let s=pr(gr,!1);return s.required=i,s.properties=e,s.additionalItems=ol.a,s.decoder=Bs,s}function gR(e){let t={};bS(t,e);let r=e.e.to,n=xu(e,t,r,"");return n.t=!0,n.prev=e,n}function Mu(e){return Pu(e,t=>{if(t["~standard"])return t})}function vS(e){let t=this,r="~"+e,n=t[r];if(n!==void 0)return se(n);let i={},o=[],s=pr(gr,!1);s.required=o,s.properties=i,s.additionalItems=ol.a,s.decoder=Bs;let a=t.f(e,s)[jm],l=(p,m)=>{let h=Hs(p);if(p in i)throw new Error("[Sury] "+("The field "+h+" defined twice"));return o.push(p),i[p]=m,dl(m,a.from.concat(p),a.fromFlattened)},f={field:l,f:l,fieldOr:(p,m,h)=>{let _=Iu(m,void 0);return l(p,_S(_,{TAG:"Value",_0:h}))},tag:(p,m)=>{l(p,Mu(m))},nested:vS,flatten:p=>{if(p.type==="object"){let _=p.to,g=p.properties;if(_){let v="Unsupported nested flatten for transformed object schema "+ar(p);throw new Error("[Sury] "+v)}let b=Object.keys(g),y={};for(let v=0,S=b.length;v<S;++v){let A=b[v];y[A]=l(A,g[A])}return y}let h="Can't flatten "+ar(p)+" schema";throw new Error("[Sury] "+h)}};return t[r]=f,f}function SS(e){let t=Nn(Pu(e,_R));return t.serializer=gR,t}function wS(e){let t=e.e.flattened;if(t!==void 0){let i=[];for(let o=0,s=t.length;o<s;++o){let a=t[o],l=a.to,d;if(l!==void 0){let u=xi(e);u.e=a,u.io=!0,d=Jt(u)}else{let u=gS(e,a,(c,f)=>ll(e,c));u.e=a,u.prev=void 0,d=al(u,u)}i.push(d),e.cp=e.cp+ri(d,void 0)}e.fv=i}let r=e.e.to,n=yS(e,r);return n.t=!0,n.prev=e,al(n,e)}function xS(e){let t,r={},n=u=>{if(u.type==="object"){let p=u.properties,m=Object.keys(p);for(let _=0,g=m.length;_<g;++_){let b=m[_],y=p[b],v=r[b];if(v!==void 0){if(v!==y)throw new Error("[Sury] "+('The field "'+b+'" defined twice with incompatible schemas'))}else r[b]=y}let h=t||(t=[]);return dl(u,$u,h.push(u)-1|0)}let f="The '"+ar(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,dl(c,[u],void 0)},l=e({field:i,f:i,fieldOr:(u,c,f)=>{let p=Iu(c,void 0);return i(u,_S(p,{TAG:"Value",_0:f}))},tag:(u,c)=>{i(u,Mu(c))},nested:vS,flatten:n}),d=pr(gr,!1);return d.required=Object.keys(r),d.properties=r,d.additionalItems=ol.a,d.decoder=Bs,d.parser=wS,d.to=SS(l),t!==void 0&&(d.flattened=t),d}function kS(e){let t=[],r=(a,l)=>{let d=a.toString();if(t[a])throw new Error("[Sury] "+("The item ["+d+"] is defined multiple times"));return t[a]=l,dl(l,[a.toString()],void 0)},o=e({item:r,tag:(a,l)=>{r(a,Mu(l))}});for(let a=0,l=t.length;a<l;++a)t[a]||(t[a]=Do());let s=pr(wi,!1);return s.items=t,s.additionalItems="strict",s.decoder=pl,s.parser=wS,s.to=SS(o),s}var yR=Mu;function TS(e){return Xi(e.map(yR))}function OS(e){return Iu(e,hS())}var AS=Xi;var bt=Ks(),CS=Vm();var Js=Zm();var ES=Qr();var PS=Fm;var zu=hl;var Qt=Km;var Jm=OS;var $S=AS,ju=TS;var ki=pS;var RS=mS;var fn=xS;var IS=kS;function vR(e){return{path:e.path,summary:e.message}}function _e(e){return{path:"",summary:e}}function Qs(e,t){try{return{TAG:"Ok",_0:RS(e,t)}}catch(r){let n=Q(r);if(n.RE_EXN_ID===PS)return{TAG:"Error",_0:vR(n._1)};throw n}}import*as gl from"node:fs";import*as NS from"node:os";import*as Fu from"node:path";var SR="--api-url must be ws://, wss://, http://, or https://";function Vr(e){let t=zn(e);if(t===void 0)return{TAG:"Error",_0:"invalid URL: "+e};let r=se(t),n=r.protocol,i;switch(n){case"http:":case"https:":i={TAG:"Ok",_0:void 0};break;case"ws:":r.protocol="http:",i={TAG:"Ok",_0:void 0};break;case"wss:":r.protocol="https:",i={TAG:"Ok",_0:void 0};break;default:i={TAG:"Error",_0:SR}}return sr(i,()=>{r.pathname="",r.search="",r.hash="";let o=r.toString();return o.endsWith("/")?o.slice(0,o.length-1|0):o})}var Nu="wss://serve.linzumi.com";function yl(){return Fu.join(NS.homedir(),".linzumi","auth.json")}var MS="Kandan auth cache must contain a JSON object",wR="Kandan auth cache local_codex_runner must be an object",xR="Kandan auth cache personal_agent_delegation must be an object";function zS(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 FS(e){let t;try{t=JSON.parse(e)}catch{t=void 0}if(t===void 0)return{TAG:"Error",_0:_e(MS)};if(typeof t!="object"||t===null||Array.isArray(t))return{TAG:"Error",_0:_e(MS)};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:_e(wR)};if(!o)return{TAG:"Error",_0:_e(xR)};let s;return s=typeof r=="object"&&r!==null&&!Array.isArray(r)?Object.fromEntries(Ne(Object.entries(r),a=>{let l=a[0];return W(zS(a[1]),d=>[l,d])})):void 0,{TAG:"Ok",_0:{serverTokens:s,personalAgentDelegation:x(n,zS)}}}function GS(e){return gl.existsSync(e)?Ce(Vt(Sr(e),t=>_e(t.message)),t=>sr(FS(t),r=>r)):{TAG:"Ok",_0:void 0}}function qS(e,t){return e!==void 0?new Date(e).getTime()<=t:!1}function Gu(e,t,r){return gl.existsSync(t)?Ce(GS(t),n=>sr(Vt(Vr(e),_e),i=>x(x(x(n,o=>o.serverTokens),o=>o[i]),o=>{if(!(o.accessToken.trim()===""||qS(o.expiresAt,r)))return{accessToken:o.accessToken,serverBaseUrl:i,issuedAt:o.issuedAt,expiresAt:o.expiresAt}}))):{TAG:"Ok",_0:void 0}}function kR(e){return"missing personal-agent delegation auth file: "+e}var TR="personal-agent delegation auth file is missing access_token",OR="personal-agent delegation auth file token is expired";function DS(e,t){return gl.existsSync(e)?Ce(GS(e),r=>{let n=x(r,i=>i.personalAgentDelegation);return n!==void 0&&n.accessToken.trim()!==""?qS(n.expiresAt,t)?{TAG:"Error",_0:_e(OR)}:{TAG:"Ok",_0:n}:{TAG:"Error",_0:_e(TR)}}):{TAG:"Error",_0:_e(kR(e))}}function jS(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 AR(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],jS(i[1])])));let n=e.personalAgentDelegation;return n!==void 0&&(t.personal_agent_delegation=jS(n)),t}function Qm(e,t,r,n,i){return Ce(Vt(Vr(e),_e),o=>{let s=gl.existsSync(n)?Ce(Vt(Sr(n),a=>_e(a.message)),FS):{TAG:"Ok",_0:{serverTokens:void 0,personalAgentDelegation:void 0}};return Ce(s,a=>{let l=i.toISOString(),d=W(r,g=>new Date(i.getTime()+g*1e3).toISOString()),u={accessToken:t,issuedAt:l,expiresAt:d},c=a.serverTokens,f=c!==void 0?Object.fromEntries(Object.entries(c)):{};f[o]=u;let p=AR({serverTokens:f,personalAgentDelegation:a.personalAgentDelegation}),m=JSON.stringify(p,void 0,2)+`
108
+ - `+(m===""?"":"At "+m+": ")+p;d[_]||(d[_]=1,a=a+_)}}let l={code:"invalid_input",path:r,reason:a,expected:e,received:t,unionErrors:o};return i&&(l.input=n),l}function Dm(e,t,r,n){return i=>{let o=t!==void 0?t:"",s=n!==void 0?n:!0,a=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=>Jv(a,d,u,c,s,void 0,r)}}function wr(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 Dm(void 0,void 0,r,void 0)(e)}function Qv(e,t){let r=t!==void 0?t:e.e;return sl(e,Dm(r,void 0,void 0,void 0)(e),e.v())}function rR(e,t){let r=e.vc,n=r.length;if(n===1){let s=r[0];return s.c(t)+"||"+sl(e,s.f(e),t)+";"}let i="",o=0;for(;o<n;){let s=r[o],a=s.f,l=s.c(t);for(o=o+1|0;o<n&&r[o].f===a;)l=l+"&&"+r[o].c(t),o=o+1|0;i=i+(l+"||"+sl(e,a(e),t)+";")}return i}function Xv(e){return e.t===!0?e.prev.t!==!0?e.cp==="":!1:!0}function ri(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&&Xv(i)){let a=r.v(),l=i.vc,d="";for(let u=0,c=l.length;u<c;++u){let f=l[u],p=f.c(a);f.f===wr?d=d?d+"&&"+p:p:i.e.noValidation!==!0&&(o=o+(p+"||"+sl(i,f.f(i),a)+";"))}d&&(t.contents?t.contents=d+"&&"+t.contents:t.contents=d)}else i.e.noValidation!==!0&&(o=rR(i,r.v()));i.hd!==""&&(o=o+("let "+i.hd+";")),i.fz=!0,o=i.cp+o,n=o+n}return n}function wn(e,t,r,n){let i=n!==void 0?n:e.e;return{v:Au,i:t,s:r,e:i,prev:e,f:0,d:e.d,cp:"",hd:"",t:!0,path:e.path,g:e.g}}function pt(e,t,r,n){let i=t!==void 0?t:e.s,o=n!==void 0?n:e.e,s=e.v!==jr,a={v:s?Y$:jr,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(s){let l=e.v.bind(e);e.v=()=>{let d=l();return a.i=d,a.v=jr,d}}return a}function Lm(e,t){let r=e.vc;r!==void 0?r.push(t):e.vc=[t]}function al(e,t){let r=t.e.inputRefiner,n;if(r!==void 0){let a=r(t);if(a.length!==0)if(t.prev!==void 0){for(let d=0,u=a.length;d<u;++d)Lm(t,a[d]);n=void 0}else n=a;else n=void 0}else n=void 0;let i=e.e.refiner,o;if(i!==void 0){let a=i(e);o=a.length!==0?a:void 0}else o=void 0;let s=n!==void 0?o!==void 0?pt(e,void 0,n.concat(o),void 0):pt(e,void 0,n,void 0):o!==void 0?pt(e,void 0,o,void 0):e;return s.io=!0,s}function Yv(e,t,r){if(!t.vc)return;let i="["+Fo(e.g,r)+"]";t.vc.forEach(o=>Lm(e,{c:s=>o.c(s+i),f:o.f})),t.vc=void 0}function eS(e,t){let r=e.s.additionalItems,n;n=r!==void 0&&r!=="strip"&&r!=="strict"?r:Nt;let i=e.e.additionalItems,o;return o=i!==void 0&&i!=="strip"&&i!=="strict"?i:Nt,{p:e,v:eR,i:e.v()+"["+t+"]",s:n,e:o,f:e.f,cp:"",hd:"",path:"",g:e.g}}function Ki(e,t,r){return wn(e,fl(e,t),t,r)}function tS(e,t){let r=wn(e,t,e.s,void 0);return r.f=1,r}function ni(e,t,r){e.s.type===wi?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+ri(r,void 0),e.d[t]=r}function rS(e,t,r){return e.v()+"["+t+"]="+r.i}function xi(e){let t=e.v!==jr,r={b:e,v:t?X$:jr,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=jr,i}}return r}function nR(e,t){throw new No({code:"invalid_operation",path:e.path,reason:t})}function Um(e,t,r,n){if(e.path===""&&r===void 0)return ri(e,void 0);{let i=l=>{let d=t.path,u=d===""?"":Hs(d)+"+";return l+".path="+u+(r!==void 0?`'["'+`+r+`+'"]'+`:"")+l+".path"},o=ri(e,void 0);if(o===""&&!(e.f&1))return o+(n!==void 0?n():"");let s=Xr(e.g),a=i(s)+";throw "+s;return e.f&1&&(e.i=e.i+".catch("+s+"=>{"+a+"})"),"try{"+o+(n!==void 0?n():"")+"}catch("+s+"){"+a+"}"}}function nS(e){return e}nS.embedded=$u;function Om(e){return e+"<=2147483647&&"+e+">=-2147483648&&"+e+"%1===0"}function Us(e){return t=>"typeof "+t+'==="'+e+'"'}function Gs(e){return"Number.isNaN("+e+")"}function Cu(e){return"Array.isArray("+e+")"}function iS(e){return Us(gr)(e)+"&&"+e}function iR(e,t){return r=>r+" instanceof "+ti(e,t)}function oR(e){let t=Ft[e.s.type];if(t&1){let i=[{c:Us(Bi),f:wr}],o=e.e.format,s=0;return o==="int32"?i.push({c:Om,f:wr}):s=1,s===1&&(e.g.o&2||i.push({c:a=>"!"+Gs(a),f:wr})),pt(e,e.e,i,void 0)}if(!(t&2))return t&4?e.s.format!==e.e.format&&e.e.format==="int32"?pt(e,e.e,[{c:Om,f:wr}],void 0):e:qo(e,e.s,e.e);let r=Xr(e.g),n=wn(e,r,e.e,void 0);return n.v=jr,n.cp="let "+r+"=+"+e.v()+";",n.vc=[{c:i=>{let o=e.e.format;return o!==void 0&&o==="int32"?Om(r):"!"+Gs(r)},f:wr}],n}function Zm(){return Yi(Bi,Bi,e=>{e.decoder=oR})}function sR(e){return wn(e,'""+'+e.i,Ks(),void 0)}function aR(e){let t=Ft[e.s.type];if(t&1)return pt(e,e.e,[{c:Us(qs),f:wr}],void 0);if(!(t&3132&&ii in e.s))return t&1036?sR(e):t&2?e:qo(e,e.s,e.e);let r=""+e.s.const,n=pr(qs,!1);return n.const=r,wn(e,'"'+r+'"',n,void 0)}function Ks(){return Yi(qs,qs,e=>{e.decoder=aR})}function lR(e){let t=Ft[e.s.type];if(t&1)return pt(e,e.e,[{c:Us(ku),f:wr}],void 0);if(!(t&2))return t&8?e:qo(e,e.s,e.e);let r=Xr(e.g),n=wn(e,r,e.e,void 0);n.v=jr;let i=e.v();return n.cp="let "+r+";("+n.i+"="+i+'==="true")||'+i+'==="false"||'+Qv(e,void 0)+";",n}function Vm(){return Yi(ku,ku,e=>{e.decoder=lR})}function oS(e,t){e[Ft[t]&768?ul:t]=!0}var zo="JSON";function Zs(e){let t=e.e;if(t.noValidation&&!e.u)return Ki(e,t,void 0);if(ii in e.s)return e.s.const===t.const?e:Ki(e,t,void 0);let r=Ft[t.type];if(!(Ft[e.s.type]&2&&r&3132))return r&2048?pt(e,t,[{c:Gs,f:wr}],void 0):pt(e,t,[{c:o=>o+"==="+fl(e,t),f:wr}],void 0);let n=pr(qs,!1);n.const=""+t.const;let i=Ki(e,n,n);return i.vc=[{c:o=>o+'==="'+n.const+'"',f:wr}],Ki(i,t,t)}function Do(){return Yi(Sn,Sn,e=>{e.const=void 0,e.decoder=Zs})}function ml(){return Yi(Ds,Ds,e=>{e.const=null,e.decoder=Zs})}function sS(){return Yi(Cm,Cm,e=>{e.const=NaN,e.decoder=Zs})}function Wm(e){if(e===null)return ml();let t=typeof e;if(t===Sn)return Do();if(t===Bi&&Number.isNaN(e))return sS();if(t===gr){let n=pr(Nm,!0);return n.class=e.constructor,n.const=e,n.decoder=Zs,n}let r=pr(t,!0);return r.const=e,r.decoder=Zs,r}function Jt(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 s=o.v(),a=xi(o),l=Jt(a),d=ri(l,void 0);t=a.i!==l.i||d!==""?wn(o,s+".then("+s+"=>{"+d+"return "+l.i+"})",l.s,l.e):pt(o,l.s,void 0,l.e),t.f=t.f|1,t.io=!0}else if(o.io){let s=o.e.to,l=o.e.parser;t=l!==void 0?l(o):pt(t,void 0,void 0,s)}else{let s=o.s.encoder;s&&s!==i&&o.s!==o.e&&o.e.type!==ul&&(t=s(o,o.e)),o!==t?r=s:(t=o.e.decoder(o),t.io||(t=al(t,t)))}}return t}function Qi(e){for(;;){let t=e,r=t.to;if(r===void 0)return t;e=r}}function Si(e){if(jo in e)return e[jo];let t,r=e;for(;r;){let i=Nn(r),o=i.to,s=t;s!==void 0?i.to=s:delete i.to;let a=i.parser,l=i.serializer;l!==void 0?i.parser=l:delete i.parser,a!==void 0?i.serializer=a: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 p=i.items;p!==void 0&&(i.items=p.map(Si));let m=i.properties;if(m!==void 0){let g={},b=Object.keys(m);for(let y=0,v=b.length;y<v;++y){let S=b[y];g[S]=Si(m[S])}i.properties=g}typeof i.additionalItems===gr&&(i.additionalItems=Si(i.additionalItems));let h=i.anyOf;if(h!==void 0){let g={},b=[];for(let y=0,v=h.length;y<v;++y){let S=h[y],A=Si(S);b.push(A),oS(g,A.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 v=Object.keys(_)[b];g[v]=Si(_[v])}i.$defs=g}t=i,r=o}let n=t;return ei[Ls]=n,cn(e,jo,ei),ei[Ls]=e,cn(n,jo,ei),n}function aS(e){try{return Jt(e)}catch(t){let r=Ru(t),n=e.p;throw r.path=(n!==void 0?n.path:"")+(e.path+"[]"+r.path),r}}function lS(e,t,r,n){let i=tR(ii in e?Nt:e,t,r,n),o=Jt(i),s=ri(o,void 0),a=Q$(o.f,1);t.isAsync=a;let l=o.t===!0;if(t.hasTransform=l,s===""&&(o===i||o.i===i.i)&&!(r&1))return nS;let d=o.i;r&1&&!a&&!n&&(d="Promise.resolve("+d+")");let u="i=>{"+s+"return "+d+"}",c=i.g.e,f=new Function("e","s","return "+u)(c,zm);return f.embedded=i.g.e,f}function Eu(e,t){let r=arguments,n=0,i,o="",s=0,a;for(;i===void 0;){let d=r[n];if(d)if(typeof d===Bi){let u=d|ol.f;i=u,o=o+"-"+u}else{let u=d.seq;u>s&&(s=u,a=d),o=o+u+"-",n=n+1|0}else{let u=ol.f;i=u,o=o+"-"+u}}let l=a;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 p=u;u=Ji(r[f],m=>{m.to=p})}let c=lS(u,u,i,0);return ei[Ls]=c,cn(l,d,ei),c}throw new Error("[Sury] No schema provided for decoder.")}var Go="BS_PRIVATE_NESTED_SOME_NONE";function dR(e){let t=pt(e,void 0,void 0,Hm());return t.cp=Qv(e,void 0)+";",t}function Hm(){return Yi(Em,Em,e=>{e.decoder=dR})}function uR(e){let t=e.e.to;return wn(e,"{"+Go+":"+Qi(e.e).properties[Go].const+"}",t,t)}function Vs(e,t){return{v:Au,i:"",s:t.type===wi?{type:wi,decoder:pl,additionalItems:"strict",items:[]}:{type:gr,decoder:Bs,additionalItems:"strict",required:[],properties:{}},e:e.e,prev:e,f:0,d:{},cp:"",hd:"",t:!0,path:e.path,g:e.g}}function Km(e){return Iu(e,Do())}function Bs(e){let t=e.u,r=e.e,n=Ft[e.s.type],i;if(n&65){let u=n&64,c;if(u)c=e.s;else{let p=pr(gr,!1);p.properties=Im,p.additionalItems=Nt,c=p}let f=[];u||(f.push({c:iS,f:wr}),r.additionalItems!=="strip"&&f.push({c:p=>"!"+Cu(p),f:wr})),i=f.length!==0?pt(e,c,f,void 0):pt(e,c,void 0,void 0)}else i=qo(e,e.s,r);let o=r.additionalItems,s;s=o==="strip"||o==="strict"?void 0:o;let a=i.s.additionalItems,l;l=a!=="strip"&&a!=="strict";let d;if(s!==void 0)if(s===Nt)d=i;else if(l){let u=i.v(),c=Xr(i.g),f=eS(i,c),p=aS(f),m=p.t,h=m?wn(i,"{}",r,void 0):pt(i,r,void 0,void 0),_=Um(p,i,c,m?()=>rS(h,c,p):void 0);if((m||_!=="")&&(h.cp=h.cp+("for(let "+c+" in "+u+"){"+_+"}")),p.f&1){let g=Xr(h.g),b=Xr(h.g),y=Xr(h.g),v=Xr(h.g),S=h.v();d=tS(h,"new Promise(("+g+","+b+")=>{let "+v+"=Object.keys("+S+").length;for(let "+c+" in "+S+"){"+S+"["+c+"].then("+y+"=>{"+S+"["+c+"]="+y+";if("+v+"--===1){"+g+"("+S+")}},"+b+")}})")}else d=h}else{let u=Vs(i,r),c=Object.keys(i.s.properties);for(let f=0,p=c.length;f<p;++f){let m=c[f],h=ll(i,m);h.e=s,h.io=!1,h.u=t,ni(u,m,Jt(h))}d=Ws(u)}else{let u=r.properties,c=Object.keys(u),f=c.length,p=Vs(i,r),m=r.additionalItems,h;h=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===zo;for(let y=0;y<f;++y){let v=c[y],S=u[v],A=ll(i,v);A.e=S,A.io=!1,A.u=t,g&&S.type===jn&&S.has[Sn]&&(A.i="("+A.i+"??null)");let C=Jt(A);t&&ii in S&&Yv(i,C,v),ni(p,v,C),h||(h=C.t)}let b=!1;if(r.additionalItems==="strict"){let y=i.s.additionalItems,v;v=y!=="strip"&&y!=="strict",b=v}if(b){let y=Xr(p.g);if(Ou(i,y),p.cp=p.cp+("for("+y+" in "+i.v()+"){if("),c.length!==0)for(let v=0,S=c.length;v<S;++v){let A=c[v];v!==0&&(p.cp=p.cp+"&&"),p.cp=p.cp+(y+"!=="+Fo(i.g,A))}else p.cp=p.cp+"true";p.cp=p.cp+("){"+sl(i,v=>({code:"unrecognized_keys",path:p.path,reason:'Unrecognized key "'+v+'"',keys:[v]}),y)+"}}")}if(h)d=Ws(p);else{let y=pt(i,void 0,void 0,void 0);y.cp=p.cp,y.d=p.d,d=y}}return al(d,i)}function cR(){let e=Wm(0),t={};return t[Go]=e,{type:gr,serializer:r=>{let n=r.e.to;return Ki(r,n,n)},decoder:Bs,additionalItems:"strip",required:[Go],properties:t}}function pl(e){let t=e.u,r=e.e,n=Ft[e.s.type],i=r.items,o=i.length,s;if(n&129){let u=n&128,c=u?e.s:hl(Nt),f=[];u||f.push({c:Cu,f:wr});let p=c.additionalItems,m;if(m=p==="strip"||p==="strict"?c.items.length===o:!1,!m){let h=r.additionalItems;(h==="strip"||h==="strict")&&(h==="strip"?f.push({c:_=>_+".length>="+o,f:wr}):f.push({c:_=>_+".length==="+o,f:wr}))}s=f.length!==0?pt(e,c,f,void 0):pt(e,c,void 0,void 0)}else s=qo(e,e.s,r);let a=r.additionalItems,l,d=0;if(a==="strip"||a==="strict")d=1;else if(a===Nt)l=s;else{let u=s.v(),c=Xr(s.g),f=eS(s,c),p=aS(f),m=p.t,h=m?wn(s,"new Array("+u+".length)",r,void 0):pt(s,r,void 0,void 0),_=Um(p,s,c,m?()=>rS(h,c,p):void 0);(m||_!=="")&&(h.cp=h.cp+("for(let "+c+"="+o+";"+c+"<"+u+".length;++"+c+"){"+_+"}")),l=p.f&1?tS(h,"Promise.all("+h.i+")"):h}if(d===1){let u=Vs(s,r),c=r.additionalItems,f;if(c==="strip"||c==="strict")if(c==="strip"){let p=s.s.additionalItems;f=p==="strip"||p==="strict"?s.s.items.length!==o:!0}else f=!1;else f=!0;for(let p=0;p<o;++p){let m=i[p],h=p.toString(),_=ll(s,h);_.e=m,_.io=!1,_.u=t;let g=Jt(_);t&&ii in m&&Yv(s,g,h),ni(u,h,g),f||(f=g.t)}if(f)l=Ws(u);else{let p=pt(s,void 0,void 0,void 0);p.cp=u.cp,p.d=u.d,l=p}}return al(l,s)}function fR(e,t){let r=e.s.anyOf;return t.type===jn&&fS(t)===void 0&&uS(t.anyOf,r)||!mR(r,t)?e:cS(e,t)}function dS(e){let t=e.e,r=t.anyOf,n=Ft[e.s.type],i=fS(t);if(e.s===t&&i===void 0&&r.every(wu)||n&256&&uS(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=Nt);let o="";if(!(n&769)){let z=Am(e.s),L=!1,$=!1,I=r.length,F=0;for(;o===""&&F<I;){let B=r[F];Am(B)===z?o=z:B.type===Ds?L=!0:B.type===Sn&&($=!0),F=F+1|0}o===""&&(n&16&&L?o=Ds:n&32&&$&&(o=Sn))}let s=o,a=e.i,l=z=>ti(e,function(){let L=arguments,$=Jv(t,Nt,e.path,L[0],!0,L.length>1?Array.from(L).slice(1):void 0,void 0);throw new No($)})+"("+e.v()+z+")",d=pt(e,void 0,void 0,void 0),u=[],c={contents:""},f=(z,L)=>{let $=z[0],I=z[1],F="",B="",X=!1,Se={contents:""},Ee="",Ze={},ot=2,Pe=z.length-1|0;for(;ot<=Pe;){let dt=xi(I);dt.u=!0,dt.t=I.t,dt.io=!1,dt.e=z[ot];let Ge=ot===Pe,Xe=ot===2,Et=Xe&&Ge,tr=!Et,Tt=!1,je="",R={contents:""};try{let le=Jt(dt);if(u.push(le.s),je=ri(le,R),le.t){d.t=!0,le.f&1&&(d.f=d.f|1);let Ke=$.v();le.i!==Ke&&(je=je+(Ke+"="+le.i))}}catch(le){let Ke=ti(dt,Ru(le));Ee=Ee+","+Ke,L&&Et?(c.contents=Ke,Tt=!0):Ge?(tr=!1,je=L?"throw "+Ke:l(Ee)):Tt=!0}let ge=R.contents,ye=je;if(!Tt&&ge)if(ye){let le=Ze[ge];le!==void 0?typeof le=="string"?Ze[ge]=[le,ye]:le.push(ye):Ze[ge]=ye}else Se.contents=Se.contents?Se.contents+"||"+ge:ge;if(!Tt&&(!ge||Ge)){let le=Object.keys(Ze);for(let Ke=0,U=le.length;Ke<U;++Ke){let ke=le[Ke];F=F+(X?"else if":"if")+("("+ke+"){");let Me=Ze[ke];if(typeof Me=="string")F=F+Me+"}";else{let wt="";for(let ft=0,Lt=Me.length;ft<Lt;++ft){let Ut=Me[ft],xt="e"+ft;F=F+("try{"+Ut+"}catch("+xt+"){"),wt=wt+","+xt}F=F+l(wt)+"}".repeat(Me.length)+"}"}X=!0}Ze={}}if(!Tt&&!ge)if(ye)if(Se.contents&&(F=F+(X?"else if":"if")+("(!("+Se.contents+")){"),B="}"+B,Se.contents="",X=!1),Ge&&(L||!tr||Xe))F=F+((X?"else{":"")+ye),B=(X?"}":"")+B;else{let le="e"+(ot-2|0);F=F+((X?"else{":"")+"try{"+ye+"}catch("+le+"){"),B=(X?"}":"")+"}"+B,Ee=Ee+","+le,X=!1}else Se.contents="",ot=Pe,tr=!1;if(Ge){if(Se.contents)F||Ee?F=F+(X?"else if":"if")+("(!("+Se.contents+")){"+l(Ee)+"}"):Lm(I,{c:le=>"("+Se.contents+")",f:wr});else if(tr){let le=l(Ee);F=F+(X?"else{"+le+"}":le)}}ot=ot+1}return F+B},p="",m="",h="",_=!1,g=r.length-1|0,b={},y=[],v=t.refiner,S=t.inputRefiner,A={contents:void 0},C={contents:void 0},V=(z,L,$)=>{if(L===void 0)return z;let I=F=>{let B=$.contents;if(B!==void 0)return B;let X=L(F);return $.contents=X,X};return z!==void 0?F=>{let B=z(F),X=I(F);for(let Se=0,Ee=X.length;Se<Ee;++Se)B.push(X[Se]);return B}:I},re=z=>{let L=V(z.refiner,v,A);L!==void 0&&(z.refiner=L);let $=V(z.inputRefiner,S,C);if($!==void 0){z.inputRefiner=$;return}},fe;if(ii in e.s){let z=[],L=[];for(let $=0;$<=g;++$){let I=r[$];ii in I&&I.const===e.s.const?z.push(I):L.push(I)}fe=z.concat(L)}else fe=r;for(let z=0;z<=g;++z){let L=i!==void 0?Ji(fe[z],B=>{re(B),B.to=i}):fe[z],$=L.type,I=Ft[$],F=Am(L);if((s===""||s===F)&&!(I&16&&"fromDefault"in t)){let B=b[F];if(B!==void 0)I&64&&Go in L.properties?B.splice(B.length-1|0,0,L):I&2096||B.push(L);else{let X=xi(e),Se;if(I&37633)Se=Nt;else{let Pe=pr(L.type,!1);Pe.encoder=L.encoder,I&8192?Pe.class=L.class:I&64?(Pe.properties=Im,Pe.additionalItems=Nt):I&128?(Pe.additionalItems=Nt,Pe.items=$u):I&2096&&(Pe.const=L.const),Pe.decoder=dt=>Ft[dt.s.type]&1?pt(dt,dt.e,[{c:Ge=>{let Xe=Ft[L.type];if(Xe&64)return iS(Ge)+"&&!"+Cu(Ge);if(Xe&128)return Cu(Ge);if(Xe&8192)return iR(dt,L.class)(Ge);if(!(Xe&4))return Xe&2048?Gs(Ge):Xe&48?Ge+"==="+fl(dt,L):Xe&17418?Us(L.type)(Ge):"";let Et=Us(Bi)(Ge);return dt.g.o&2?Et:Et+"&&!"+Gs(Ge)},f:wr}],void 0):L.decoder(dt),Se=Pe}X.e=Se;let Ee;try{Ee=Jt(X)}catch{X.vc=void 0,Ee=X}Lv(I,b)?y.unshift(F):y.push(F),b[F]=[X,Ee,L];let Ze=!0,ot=Ee;for(;ot!==void 0&&Ze;){let Pe=ot;ot=Pe.prev,Ze=!(Pe.vc&&Xv(Pe))}if(Ze){for(let Pe=0,dt=y.length;Pe<dt;++Pe){let Ge=y[Pe];if(!_){let Xe=b[Ge],Et=Xe[1],tr=f(Xe,!0),Tt=ri(Et,void 0)+tr,je=c.contents;if(je)if(c.contents="",Tt){let R="e"+(z+Pe|0);p=p+("try{"+Tt+"throw "+je+"}catch("+R+"){"),m="}"+m,h=h+","+R}else h=h+","+je;else if(Tt){let R="e"+(z+Pe|0);p=p+("try{"+Tt+"}catch("+R+"){"),m="}"+m,h=h+","+R}else _=!0}}b={},y=[]}}}}let J=b,K=y;if(!_){let z=!1,L="";for(let F=0,B=K.length;F<B;++F){let X=J[K[F]],Se=X[1],Ee=X[2],Ze=f(X,!1),ot={contents:""},Pe=ri(Se,ot)+Ze,dt=ot.contents;Pe||Lv(Ft[Ee.type],J)?(p=p+(z?"else if":"if")+("("+dt+"){"+Pe+"}"),z=!0):L=L?L+"||"+dt:dt}let $=l(h),I;L?I=(z?"else if":"if")+("(!("+L+")){"+$+"}"):I=z?"else{"+$+"}":m===""?$+";":$,p=p+I}d.cp=d.cp+p+m,e.i!==d.i&&(d.i=e.i);let ae=d.f&1?(d.i="Promise.resolve("+d.i+")",d.v=Au,d):d.v===jr&&e.cp===""&&d.cp===""&&a==="i"?(e.hd="",e.v=Au,e.i=a,e):d;return ae.s=u.length?Xi(u):Hm(),ae.e=i!==void 0?(ae.io=!0,Qi(i)):t,ae}function uS(e,t){return t.every((r,n)=>{let i=e[n];return i!==void 0&&!(Ft[r.type]&9152)&&r.type===i.type&&r.const===i.const?r.to===void 0:!1})}function cS(e,t){return pt(e,Nt,void 0,Ji(e.s,r=>{r.to=t}))}function mR(e,t){return!(Ft[Qi(t).type]&512)&&!(t.type===jn&&t.anyOf.some(r=>Ft[r.type]&512))?!e.some(r=>r.to!==void 0||r.parser!==void 0?!0:Ft[r.type]&512):!1}function fS(e){if(e.parser!==void 0)return;let r=e.to;if(r!==void 0)return r}function ll(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 xi(i);let o=e.s.type===gr?e.s.properties[t]:e.s.items[t],s;if(o!==void 0)s=o;else{let u=e.s.additionalItems;s=u==="strip"||u==="strict"?qo(e,e.s,e.e):e.s.type===gr&&u.type!==ul&&!(Ft[u.type]&512)&&!J$(u)?Km(u):u}let l="["+Fo(e.g,t)+"]",d={p:e,v:$m,i:ii in s?fl(e,s):e.v()+l,s,e:s,f:0,cp:"",hd:"",path:e.path+l,g:e.g};return n[t]=d,d}function Ws(e){let t=e.s.type===wi,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 p=i;i=m=>(p!==void 0?p(m):"")+("if("+f.v()+"!==void 0){"+m+"["+Fo(e.g,c)+"]="+f.i+"}")}else r=r+(t?f.i:Fo(e.g,c)+":"+f.i)+","}if(e.i=t?"["+r+"]":"{"+r+"}",n){let d=xi(e);d.io=!0;let u=Jt(d),c=ri(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 s=i;if(s===void 0)return e;let a=s(e.v()),l=pt(e,void 0,void 0,void 0);return l.cp=l.cp+a,l}function Xi(e){let t=e.length;if(t===1)return e[0];if(t!==0){let r={},n=new Set;for(let o=0,s=e.length;o<s;++o){let a=e[o];a.type===jn&&a.to===void 0?(a.anyOf.forEach(l=>{n.add(l)}),Object.assign(r,a.has)):(n.add(a),oS(r,a.type))}let i=pr(jn,!1);return i.anyOf=Array.from(n),i.decoder=dS,i.encoder=fR,i.has=r,i}throw new Error("[Sury] S.union requires at least one item")}function Lv(e,t){return e&8320&&gr in t?!0:e&2048?Bi in t:!1}function Am(e){return Ft[e.type]&8192?e.class.name:e.type}function wu(e){for(;;){let t=e,r=!1,n=!1,i=!1;if(t.to===void 0&&t.parser===void 0&&!(Ft[t.type]&512)){let s=t.anyOf;i=s!==void 0?s.every(wu):!0}if(i){let s=t.items;n=s!==void 0?s.every(wu):!0}if(n){let s=t.properties;r=s!==void 0?Object.values(s).every(wu):!0}if(!r)return!1;let o=t.additionalItems;if(o===void 0||o==="strip"||o==="strict")return!0;e=o}}function hl(e){let t=pr(wi,e[jo]===e);return t.additionalItems=e,t.items=$u,t.decoder=pl,t}function Iu(e,t){let r=t!==void 0?t:Do(),n=Qi(e);switch(n.type){case"undefined":return Xi([r,Uv(e)]);case"union":let o=n.has,s=n.anyOf;return Ji(e,a=>{let l=Z$(o),d=[];for(let u=0,c=s.length;u<c;++u){let f=s[u],p=Qi(f),m=p.type,h;if(m==="undefined")l[r.type]=!0,d.push(r),h=Uv(f);else{let _=p.properties;if(_!==void 0){let g=_[Go];h=g!==void 0?Ji(f,b=>{let y={},v={...g};v.const=g.const+1,y[Go]=v,b.properties=y}):f}else h=f}d.push(h)}d.length===s.length&&(l[r.type]=!0,d.push(r)),a.anyOf=d,a.has=l});default:return Xi([e,r])}}function Uv(e){return Ji(e,t=>{t.to=cR(),t.parser=uR})}function Bm(e){let t=pr(gr,e[jo]===e);return t.properties=Im,t.additionalItems=e,t.decoder=Bs,t}function Zv(e){let t=e.e,r=t.$ref,n=e.g.d,i=r.slice(8),o=n[i],s=e.g.o,a=e.s.seq===t.seq?o:e.s,l=a.seq+"-"+o.seq+"--"+s,d="",u=o[l];if(u!==void 0){let h=se(u);d=h===0?ti(e,o)+('["'+l+'"]'):ti(e,h)}else{let h=k(o.hasTransform,!1),_=k(o.isAsync,!1),g=!0,b=0;for(;g;){g=!1,o.hasTransform===void 0&&(o.hasTransform=h),o.isAsync===void 0&&(o.isAsync=_),Dv[Ls]=0,cn(o,l,Dv);let y=lS(a,o,s,n);ei[Ls]=y,cn(o,l,ei),b=y;let v=o.hasTransform,S=o.isAsync;(v!==h||S!==_)&&(h=v,_=S,delete o[l],g=!0)}d=ti(e,b)}let c=o.hasTransform===!0,f=o.isAsync,p="",m;if(c||f){let h=Xr(e.g);p="let "+h+";";let _=wn(e,h,t,t);_.v=jr,_.cp=h+"="+d+"("+e.i+");",f&&(_.f=_.f|1),m=_}else{let h=pt(e,t,void 0,t);h.cp=d+"("+e.i+");",m=h}return m.prev=void 0,m.cp=p+Um(m,e,void 0,void 0),m.fz=void 0,m.prev=e,m}cn(qm,"~standard",{get:function(){let e=this;return{version:1,vendor:Mm,validate:t=>{try{return{value:Eu(Nt,e)(t)}}catch(r){let n=Ru(r);return{issues:[{message:n.reason,path:n.path===""?void 0:V$(n.path)}]}}}}}});function mS(e,t){return Eu(Nt,t)(e)}var pR="#/$defs/";function hR(e,t){return Ji(e,r=>{let n=t(r),i=r.refiner;i!==void 0?r.refiner=o=>{let s=i(o),a=n(o);for(let l=0,d=a.length;l<d;++l)s.push(a[l]);return s}:r.refiner=n})}function pS(e,t,r,n){let i=r!==void 0?r:"Refinement failed",o=n!==void 0?H$(n):"";return hR(e,s=>(a=>{let l=ti(a,t);return[{c:d=>l+"("+d+")",f:Dm(void 0,o,i,void 0)}]}))}function hS(){let e=Nn(ml());return e.to=Do(),e}function _S(e,t){return Ji(e,r=>{let n=r.anyOf;if(n!==void 0){let o=[],s=[];for(let f=0,p=n.length;f<p;++f){let m=n[f],h=Qi(m);h.type!=="undefined"&&(o.push(h),s.push(m))}let a=o.length,l;if(a!==1)if(a!==0)l=Xi(o);else{let f="Can't set default for "+ar(r);throw new Error("[Sury] "+f)}else l=o[0];let d=s.length!==1?Xi(s):s[0];if(t.TAG==="Value"){let f=t._0;try{Eu(Nt,l)(f)}catch(p){let m=Ru(p),h="Invalid default for "+ar(r)+": "+m.message;throw new Error("[Sury] "+h)}try{r.default=Eu(Si(d),void 0)(f)}catch{}}r.parser=f=>{let p=f.e.to,m=f.v(),h;return h=t.TAG==="Value"?fl(f,Wm(t._0)):ti(f,t._0)+"()",wn(f,m+"===void 0?"+h+":"+m,p,p)};let u=Nn(l),c=u.decoder;u.serializer=f=>{let p=Si(d);return pt(c(f),p,void 0,p)},u.decoder=Bv,r.to=u;return}let i="Can't set default for "+ar(r);throw new Error("[Sury] "+i)})}function Rm(e,t){let r=Ft[t.type];if(r&46)return Jt(pt(e,Nt,void 0,t));if(r&2064){let i=Nn(ml());return i.to=t,Jt(pt(e,Nt,void 0,i))}if(r&128){let i=hl(Nt),o=Jt(pt(e,Nt,void 0,i));return o.s.additionalItems=Qr(),o.e=t,o.io=!1,o}if(r&64){let i=Bm(Nt),o=Jt(pt(e,Nt,void 0,i));return o.s.additionalItems=Qr(),o.e=t,o.io=!1,o}if(r&768)return e;let n=Nn(Ks());return n.to=t,Jt(pt(e,Nt,void 0,n))}function Fs(e){let t=Ft[e.type],r=!0;if(!(t&46||e.$ref===Qr().$ref||t&256&&e.anyOf.every(Fs))){let i=!1;if(t&128){let o=e.additionalItems,s;s=o==="strip"||o==="strict"?!0:Fs(o),i=s}r=i&&e.items.every(Fs)}if(r)return!0;let n=!1;if(t&64){let i=e.additionalItems,o;o=i==="strip"||i==="strict"?!0:Fs(i),n=o}return n?Object.values(e.properties).every(Fs):!1}function Vv(e){let t=Ft[e.s.type];if(Fs(e.s))return e;if(t&2064)return Ki(e,ml(),void 0);if(t&128){let r=pr(wi,!1);r.items=e.s.items.map(o=>Qr()),r.decoder=pl;let n=e.s.additionalItems,i;return i=n==="strip"||n==="strict"?n:Qr(),r.additionalItems=i,r.to=e.e.to,Jt(pt(e,void 0,void 0,r))}if(t&64){let r=e.s.additionalItems;if(!(r==="strip"||r==="strict")){let o=Bm(Qr());return o.to=e.e.to,Jt(pt(e,void 0,void 0,o))}let n=Vs(e,e.s);n.e=Qr(),e.e.to&&(n.e=Nn(n.e),n.e.to=e.e.to);let i=Object.keys(e.s.properties);for(let o=0,s=i.length;o<s;++o){let a=i[o],l=ll(e,a);if(l.io=!1,l.s.type===jn&&l.s.has[Sn]){l.e=Xi([Do(),Qr()]);let d=Jt(l);d.o=!0,ni(n,a,d)}else l.e=Qr(),ni(n,a,Jt(l))}return Ws(n)}if(t&512)return Zv(e);if(t&256&&!(Sn in e.s.has))return Jt(cS(e,e.e));if(t&1)return e.e.to&&!e.e.parser?(e.s=Qr(),Rm(e,e.e)):e.e.noValidation?(e.s=Qr(),e):Zv(e);try{let r=Nn(Ks());return r.to=e.e,e.e=r,Jt(e)}catch{return qo(e,e.s,Qr())}}function Qr(){return Yi(zo,Pm,e=>{let t=pr(Pm,!0);t.$ref=pR+zo,t.name=zo,t.decoder=Vv,t.encoder=Rm,e.$ref=t.$ref,e.name=zo,e.decoder=Vv,e.encoder=Rm;let r=[Ks(),Vm(),Zm(),ml(),Bm(t),hl(t)],n={};r.forEach(s=>{n[s.type]=!0});let i=pr(jn,!0);i.anyOf=r,i.has=n,i.decoder=dS,i.name=zo,i.type=jn;let o={};o[zo]=i,e.$defs=o})}function _R(e){return e[jm]}function dl(e,t,r){let n=Nn(Qi(e));return n.from=t,r!==void 0&&(n.fromFlattened=r),new Proxy(n,{get:(i,o)=>{if(o===jm)return i;let s=i.items,a=i.properties,l=a!==void 0?a[o]:s!==void 0?s[o]:void 0;if(l===void 0){let d='Cannot read property "'+o+'" of '+ar(i);throw new Error("[Sury] "+d)}return dl(l,i.from.concat(o),i.fromFlattened)}})}function gS(e,t,r){let n=Vs(e,t);n.io=!0;let i=t.items;if(i!==void 0)for(let o=0,s=i.length;o<s;++o){let a=o.toString();ni(n,a,r(a,i[o]))}else{let o=t.properties;if(o!==void 0){let s=Object.keys(o);for(let a=0,l=s.length;a<l;++a){let d=s[a];ni(n,d,r(d,o[d]))}}else{let s="Don't know where the value is coming from: "+ar(t);throw new Error("[Sury] "+s)}}return Ws(n)}function yS(e,t){let r=t.from,n=t.fromFlattened,i=n!==void 0?xi(Wv(e.fv[n],t.from,0)):r!==void 0?xi(Wv(e,r,0)):ii in t?Ki(e,t,void 0):gS(e,t,(o,s)=>yS(e,s));return i.prev=void 0,i.e=t,i}function bS(e,t){let r=t.e,n=r.from;if(n!==void 0){let s=r.fromFlattened,a;if(s!==void 0){e.flattened===void 0&&(e.flattened=[]);let l=e.flattened[s];if(l!==void 0)a=l;else{let d={};e.flattened[s]=d,a=d}}else a=e;for(let l=0,d=n.length;l<d;++l){let u=n[l],c=a.properties,f;if(c!==void 0)f=c;else{let h={};a.properties=h,f=h}let p=f[u],m;if(p!==void 0)m=p;else{let h={};f[u]=h,m=h}a=m}a.val=t;return}let i=t.d;if(i===void 0)return;let o=Object.keys(i);for(let s=0,a=o.length;s<a;++s)bS(e,i[o[s]])}function xu(e,t,r,n){let i=0;if(t!==void 0){let o=t.val;if(o!==void 0){let s=xi(o);return s.t=!0,s.s=r,s.e=r,Jt(s)}i=1}else i=1;if(i===1){if(ii in r){let c=Ki(e,r,r);return c.prev=void 0,c.p=e,c.v=$m,c.io=!0,Jt(c)}let o=t===void 0?Qi(r):r,s=Vs(e,o);s.e=o,s.io=!0,s.prev=void 0,s.p=e,s.v=$m;let a=o.flattened,l=o.items,d=0,u=0;if(l!==void 0&&(t!==void 0||typeof o.additionalItems!==gr))for(let c=0,f=l.length;c<f;++c){let p=c.toString(),m;if(t!==void 0){let _=t.properties;m=_!==void 0?_[p]:void 0}else m=void 0;let h=Fo(e.g,p);ni(s,p,xu(e,m,l[c],n+("["+h+"]")))}else u=3;if(u===3){let c=o.properties;if(c!==void 0&&(t!==void 0||typeof o.additionalItems!==gr)){if(a!==void 0&&t!==void 0){let p=t.flattened;p!==void 0&&p.forEach((m,h)=>{let g=xu(e,m,Si(a[h]),n).d,b=Object.keys(g);for(let y=0,v=b.length;y<v;++y){let S=b[y];ni(s,S,g[S])}})}let f=Object.keys(c);for(let p=0,m=f.length;p<m;++p){let h=f[p];if(!(h in s.d)){let _;if(t!==void 0){let b=t.properties;_=b!==void 0?b[h]:void 0}else _=void 0;let g=Fo(e.g,h);ni(s,h,xu(e,_,c[h],n+("["+g+"]")))}}}else d=2}if(d===2){let c=r.from,f=c!==void 0?n+c.map(m=>'["'+m+'"]').join(""):n,p=f===""?"":" at "+f;nR(e,"Missing input for "+ar(r)+p)}return Ws(s)}}function Wv(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 Pu(e,t){if(typeof e!==gr||e===null)return Wm(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=Pu(e[l],t);e[l]=u}let a=pr(wi,!1);return a.items=e,a.additionalItems="strict",a.decoder=pl,a}let n=e.constructor;if(n&&n!==Object){let a=pr(Nm,!0);return a.class=n,a.const=e,a.decoder=Zs,a}let i=Object.keys(e),o=i.length;for(let a=0;a<o;++a){let l=i[a],d=Pu(e[l],t);e[l]=d}let s=pr(gr,!1);return s.required=i,s.properties=e,s.additionalItems=ol.a,s.decoder=Bs,s}function gR(e){let t={};bS(t,e);let r=e.e.to,n=xu(e,t,r,"");return n.t=!0,n.prev=e,n}function Mu(e){return Pu(e,t=>{if(t["~standard"])return t})}function vS(e){let t=this,r="~"+e,n=t[r];if(n!==void 0)return se(n);let i={},o=[],s=pr(gr,!1);s.required=o,s.properties=i,s.additionalItems=ol.a,s.decoder=Bs;let a=t.f(e,s)[jm],l=(p,m)=>{let h=Hs(p);if(p in i)throw new Error("[Sury] "+("The field "+h+" defined twice"));return o.push(p),i[p]=m,dl(m,a.from.concat(p),a.fromFlattened)},f={field:l,f:l,fieldOr:(p,m,h)=>{let _=Iu(m,void 0);return l(p,_S(_,{TAG:"Value",_0:h}))},tag:(p,m)=>{l(p,Mu(m))},nested:vS,flatten:p=>{if(p.type==="object"){let _=p.to,g=p.properties;if(_){let v="Unsupported nested flatten for transformed object schema "+ar(p);throw new Error("[Sury] "+v)}let b=Object.keys(g),y={};for(let v=0,S=b.length;v<S;++v){let A=b[v];y[A]=l(A,g[A])}return y}let h="Can't flatten "+ar(p)+" schema";throw new Error("[Sury] "+h)}};return t[r]=f,f}function SS(e){let t=Nn(Pu(e,_R));return t.serializer=gR,t}function wS(e){let t=e.e.flattened;if(t!==void 0){let i=[];for(let o=0,s=t.length;o<s;++o){let a=t[o],l=a.to,d;if(l!==void 0){let u=xi(e);u.e=a,u.io=!0,d=Jt(u)}else{let u=gS(e,a,(c,f)=>ll(e,c));u.e=a,u.prev=void 0,d=al(u,u)}i.push(d),e.cp=e.cp+ri(d,void 0)}e.fv=i}let r=e.e.to,n=yS(e,r);return n.t=!0,n.prev=e,al(n,e)}function xS(e){let t,r={},n=u=>{if(u.type==="object"){let p=u.properties,m=Object.keys(p);for(let _=0,g=m.length;_<g;++_){let b=m[_],y=p[b],v=r[b];if(v!==void 0){if(v!==y)throw new Error("[Sury] "+('The field "'+b+'" defined twice with incompatible schemas'))}else r[b]=y}let h=t||(t=[]);return dl(u,$u,h.push(u)-1|0)}let f="The '"+ar(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,dl(c,[u],void 0)},l=e({field:i,f:i,fieldOr:(u,c,f)=>{let p=Iu(c,void 0);return i(u,_S(p,{TAG:"Value",_0:f}))},tag:(u,c)=>{i(u,Mu(c))},nested:vS,flatten:n}),d=pr(gr,!1);return d.required=Object.keys(r),d.properties=r,d.additionalItems=ol.a,d.decoder=Bs,d.parser=wS,d.to=SS(l),t!==void 0&&(d.flattened=t),d}function kS(e){let t=[],r=(a,l)=>{let d=a.toString();if(t[a])throw new Error("[Sury] "+("The item ["+d+"] is defined multiple times"));return t[a]=l,dl(l,[a.toString()],void 0)},o=e({item:r,tag:(a,l)=>{r(a,Mu(l))}});for(let a=0,l=t.length;a<l;++a)t[a]||(t[a]=Do());let s=pr(wi,!1);return s.items=t,s.additionalItems="strict",s.decoder=pl,s.parser=wS,s.to=SS(o),s}var yR=Mu;function TS(e){return Xi(e.map(yR))}function OS(e){return Iu(e,hS())}var AS=Xi;var bt=Ks(),CS=Vm();var Js=Zm();var ES=Qr();var PS=Fm;var zu=hl;var Qt=Km;var Jm=OS;var $S=AS,ju=TS;var ki=pS;var RS=mS;var fn=xS;var IS=kS;function vR(e){return{path:e.path,summary:e.message}}function _e(e){return{path:"",summary:e}}function Qs(e,t){try{return{TAG:"Ok",_0:RS(e,t)}}catch(r){let n=Q(r);if(n.RE_EXN_ID===PS)return{TAG:"Error",_0:vR(n._1)};throw n}}import*as gl from"node:fs";import*as NS from"node:os";import*as Fu from"node:path";var SR="--api-url must be ws://, wss://, http://, or https://";function Vr(e){let t=zn(e);if(t===void 0)return{TAG:"Error",_0:"invalid URL: "+e};let r=se(t),n=r.protocol,i;switch(n){case"http:":case"https:":i={TAG:"Ok",_0:void 0};break;case"ws:":r.protocol="http:",i={TAG:"Ok",_0:void 0};break;case"wss:":r.protocol="https:",i={TAG:"Ok",_0:void 0};break;default:i={TAG:"Error",_0:SR}}return sr(i,()=>{r.pathname="",r.search="",r.hash="";let o=r.toString();return o.endsWith("/")?o.slice(0,o.length-1|0):o})}var Nu="wss://serve.linzumi.com";function yl(){return Fu.join(NS.homedir(),".linzumi","auth.json")}var MS="Kandan auth cache must contain a JSON object",wR="Kandan auth cache local_codex_runner must be an object",xR="Kandan auth cache personal_agent_delegation must be an object";function zS(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 FS(e){let t;try{t=JSON.parse(e)}catch{t=void 0}if(t===void 0)return{TAG:"Error",_0:_e(MS)};if(typeof t!="object"||t===null||Array.isArray(t))return{TAG:"Error",_0:_e(MS)};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:_e(wR)};if(!o)return{TAG:"Error",_0:_e(xR)};let s;return s=typeof r=="object"&&r!==null&&!Array.isArray(r)?Object.fromEntries(Ne(Object.entries(r),a=>{let l=a[0];return W(zS(a[1]),d=>[l,d])})):void 0,{TAG:"Ok",_0:{serverTokens:s,personalAgentDelegation:x(n,zS)}}}function GS(e){return gl.existsSync(e)?Ce(Vt(Sr(e),t=>_e(t.message)),t=>sr(FS(t),r=>r)):{TAG:"Ok",_0:void 0}}function qS(e,t){return e!==void 0?new Date(e).getTime()<=t:!1}function Gu(e,t,r){return gl.existsSync(t)?Ce(GS(t),n=>sr(Vt(Vr(e),_e),i=>x(x(x(n,o=>o.serverTokens),o=>o[i]),o=>{if(!(o.accessToken.trim()===""||qS(o.expiresAt,r)))return{accessToken:o.accessToken,serverBaseUrl:i,issuedAt:o.issuedAt,expiresAt:o.expiresAt}}))):{TAG:"Ok",_0:void 0}}function kR(e){return"missing personal-agent delegation auth file: "+e}var TR="personal-agent delegation auth file is missing access_token",OR="personal-agent delegation auth file token is expired";function DS(e,t){return gl.existsSync(e)?Ce(GS(e),r=>{let n=x(r,i=>i.personalAgentDelegation);return n!==void 0&&n.accessToken.trim()!==""?qS(n.expiresAt,t)?{TAG:"Error",_0:_e(OR)}:{TAG:"Ok",_0:n}:{TAG:"Error",_0:_e(TR)}}):{TAG:"Error",_0:_e(kR(e))}}function jS(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 AR(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],jS(i[1])])));let n=e.personalAgentDelegation;return n!==void 0&&(t.personal_agent_delegation=jS(n)),t}function Qm(e,t,r,n,i){return Ce(Vt(Vr(e),_e),o=>{let s=gl.existsSync(n)?Ce(Vt(Sr(n),a=>_e(a.message)),FS):{TAG:"Ok",_0:{serverTokens:void 0,personalAgentDelegation:void 0}};return Ce(s,a=>{let l=i.toISOString(),d=W(r,g=>new Date(i.getTime()+g*1e3).toISOString()),u={accessToken:t,issuedAt:l,expiresAt:d},c=a.serverTokens,f=c!==void 0?Object.fromEntries(Object.entries(c)):{};f[o]=u;let p=AR({serverTokens:f,personalAgentDelegation:a.personalAgentDelegation}),m=JSON.stringify(p,void 0,2)+`
109
109
  `,h=n+".tmp."+process.pid.toString()+"."+mu(6),_=g=>_e(g.message);return Ce(Vt(mr(Fu.dirname(n)),_),()=>{let g=Ce(nl(h,m,{encoding:"utf8",mode:384}),()=>Hi(h,n));return g.TAG==="Ok"?{TAG:"Ok",_0:{accessToken:t,serverBaseUrl:o,issuedAt:l,expiresAt:d}}:(Yn(h),{TAG:"Error",_0:_e(g._0.message)})})})})}function Ym(e){let t=nr(e);return t!==void 0?k(fr(se(t)),"unknown error"):"unknown error"}async function bl(e,t){try{return{TAG:"Ok",_0:await fetch(e,t)}}catch(r){let n=Q(r);return{TAG:"Error",_0:{message:Ym(n)}}}}async function CR(e){try{return{TAG:"Ok",_0:await e.text()}}catch(t){let r=Q(t);return{TAG:"Error",_0:{message:Ym(r)}}}}async function vl(e){let t=await CR(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};try{return{TAG:"Ok",_0:JSON.parse(t._0)}}catch(r){let n=Q(r);return{TAG:"Error",_0:{message:Ym(n)}}}}function ER(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}async function Xs(e,t,r,n,i){let o=i!==void 0?i:[],s=Vt(Vr(e),_e);if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0};let a=vi("/api/v2/local-codex-runner/oauth/validate",s._0);if(a.TAG!=="Ok")return{TAG:"Error",_0:_e(a._0)};let l=a._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 bl(l.toString(),{method:"GET",headers:u});if(c.TAG!=="Ok")return{TAG:"Error",_0:_e(c._0.message)};let f=c._0,p=f.status;if(p>404||p<401){if(p===200){let m=await vl(f);return m.TAG!=="Ok"?{TAG:"Error",_0:_e(m._0.message)}:x(ER(m._0),_=>_.ok)===!0?{TAG:"Ok",_0:"Usable"}:{TAG:"Ok",_0:"Rejected"}}}else{if(p<402)return{TAG:"Ok",_0:"Rejected"};switch(p){case 402:break;case 403:return{TAG:"Ok",_0:"Rejected"};case 404:return{TAG:"Ok",_0:"NotFound"}}}return{TAG:"Error",_0:_e("local runner auth validation failed with HTTP "+p.toString())}}import*as d0 from"node:os";import*as Uu from"node:fs";import*as ip from"node:os";import*as Cr from"node:path";import*as op from"node:crypto";function De(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function to(e){if(Array.isArray(e))return e}function hr(e){if(typeof e!="string")return;let t=e.trim();if(t!=="")return t}function er(e){return isFinite(e)?Math.trunc(e)===e:!1}function Lo(e){if(typeof e=="number"&&er(e))return e}function qu(e){return Array.isArray(e)?Ne(e,hr):[]}function Uo(e){try{return De(JSON.parse(e))}catch{return}}var PR=new RegExp("^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","i"),$R=new RegExp("^[a-zA-Z0-9_.-]+$");function tp(e){return PR.test(e)}function Lu(e){return $R.test(e)}var RR=ki(bt,e=>e.trim()!=="","allowedCwds entries must be non-empty strings",void 0);function VS(e){return{version:1,machineId:e.f("machineId",Qt(ki(bt,tp,"invalid machine id",void 0))),runnerId:e.f("runnerId",Qt(ki(bt,Lu,"invalid runner id",void 0))),allowedCwds:e.f("allowedCwds",zu(RR))}}var IR=fn(VS),MR=fn(e=>(e.tag("version",1),VS(e)));function Sl(e){let t=new Set;return Ne(e,r=>{let n=r.trim();if(!(n===""||t.has(n)))return t.add(n),n})}function WS(e){return{version:e.version,machineId:e.machineId,runnerId:e.runnerId,allowedCwds:Sl(e.allowedCwds)}}function rp(e){return sr(Qs(e,MR),WS)}function HS(e){return sr(Qs(e,IR),WS)}var Du=Qt(ki(bt,e=>e.trim()!=="","must be a non-empty string",void 0)),US=Qt(ki(Js,e=>er(e)?e>0:!1,"must be a positive integer",void 0));function zR(e){return!Number.isNaN(new Date(e).getTime())}var ZS=ki(bt,zR,"must be a parseable date",void 0),H9=fn(e=>({email:e.f("email",ki(bt,t=>t.trim()!=="","must be a non-empty string",void 0)),serviceUrl:e.f("service_url",ki(bt,t=>t.trim()!=="","must be a non-empty string",void 0)),accessToken:e.f("access_token",Du),refreshToken:e.f("refresh_token",Du),expiresInSeconds:e.f("expires_in_seconds",US),userId:e.f("user_id",US),workspaceSlug:e.f("workspace_slug",Du),launchUrl:e.f("launch_url",Du),createdAt:e.f("created_at",ZS),updatedAt:e.f("updated_at",ZS)}));var oi="prod";function KS(e){let t=e!==void 0?e:process.env,r=zs(t,"HOME");return r!==void 0&&r.trim()!==""?r:ip.homedir()}function wl(e,t){let r=e!==void 0?e:process.env;return t==="~"?KS(r):t.startsWith("~/")?Cr.resolve(KS(r),t.slice(2)):t}function Zu(e){let t=zs(e,"LINZUMI_CONFIG_FILE");return t!==void 0&&t.trim()!==""?Cr.resolve(wl(e,t)):Cr.resolve(ip.homedir(),".linzumi","config.json")}function xl(e){let t=Vr(e),r=Vr(Nu);if(t.TAG!=="Ok")return{TAG:"Error",_0:_e(t._0)};let n=t._0;return r.TAG==="Ok"?{TAG:"Ok",_0:n===r._0?oi:n}:{TAG:"Error",_0:_e(r._0)}}function NR(e){return sr(xl(e),t=>t===oi?oi:Buffer.from(t).toString("base64url"))}function FR(e,t,r){let n=Cr.dirname(e),i=Cr.basename(e);return t!==void 0?Ce(xl(t),o=>o===oi?{TAG:"Ok",_0:Cr.join(n,i+"."+r)}:sr(NR(t),s=>Cr.join(n,i+"."+s+"."+r))):{TAG:"Ok",_0:Cr.join(n,i+"."+r)}}function JS(e){if(Uu.existsSync(e))return Ce(Vt(Sr(e),r=>_e(r.message)),r=>{let n;try{n=JSON.parse(r)}catch{n=void 0}return typeof n=="object"&&n!==null&&!Array.isArray(n)?rp(n).TAG==="Ok"?{TAG:"Ok",_0:n}:{TAG:"Error",_0:_e("invalid Linzumi config: "+e)}:{TAG:"Error",_0:_e("invalid Linzumi config: "+e)}});let t={};return t.version=1,t.allowedCwds=[],{TAG:"Ok",_0:t}}function GR(){let e={};return e.allowedCwds=[],e}function np(e,t){return Ce(JS(e),r=>{let n=t!==void 0?xl(t):{TAG:"Ok",_0:oi};return Ce(n,i=>{let o=i===oi?r:k(r[i],GR()),s=i===oi?rp(o):HS(o);return Vt(s,a=>_e("invalid Linzumi config section "+i+": "+e))})})}function qR(e,t){let r=i=>_e(i.message),n=Uu.existsSync(e)?Vt(fu(e,384),r):{TAG:"Ok",_0:void 0};return Ce(Ce(n,()=>Vt(nl(e,JSON.stringify(t,void 0,2)+`
110
110
  `,{encoding:"utf8",mode:384}),r)),()=>Vt(fu(e,384),r))}function DR(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=Sl(e.allowedCwds).map(i=>i),t}function LR(e){let t=e.version===1,r=e.machineId,n=r!==void 0?tp(r):!0,i=e.runnerId,o=i!==void 0?Lu(i):!0,s=e.allowedCwds.every(a=>a.trim()!=="");return t&&n&&o&&s?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:_e("invalid Linzumi config")}}function UR(e,t,r){return Ce(LR(e),()=>{let n=r!==void 0?xl(r):{TAG:"Ok",_0:oi};return Ce(n,i=>Ce(JS(t),o=>{let s=Object.fromEntries(Object.entries(o)),a=DR(e);return i===oi?(Object.entries(a).forEach(l=>{s[l[0]]=l[1]}),s.version=1):(s.version=1,s[i]=a),Ce(Vt(mr(Cr.dirname(t)),l=>_e(l.message)),()=>qR(t,s))}))})}function BS(e,t,r){return Ce(Vt(Sr(e),n=>_e(n.message)),n=>{let i=n.trim();return t(i)?{TAG:"Ok",_0:i}:{TAG:"Error",_0:_e("invalid Linzumi "+r+" seed: "+e)}})}function ZR(e,t,r,n){if(Uu.existsSync(e))return BS(e,r,n);let i=t();if(!r(i))return{TAG:"Error",_0:_e("invalid generated Linzumi "+n+": "+i)};let o=Cr.dirname(e),s=Cr.basename(e),a=Cr.join(o,"."+s+"."+process.pid.toString()+"."+op.randomUUID()+".tmp"),l=d=>_e(d.message);return Ce(Ce(Vt(mr(o),l),()=>Vt(nl(a,i+`
111
111
  `,{encoding:"utf8",flag:"wx"}),l)),()=>{let d=Av(a,e),u;if(d.TAG==="Ok")u={TAG:"Ok",_0:i};else{let c=d._0;u=Vi(c,"EEXIST")?BS(e,r,n):{TAG:"Error",_0:_e(c.message)}}return Cv(a),u})}function VR(){return"runner-"+op.randomUUID()}function WR(e,t,r,n,i,o,s,a){let l=t!==void 0?sr(xl(t),d=>{if(d!==oi)return t}):{TAG:"Ok",_0:void 0};return Ce(l,d=>Ce(np(e,d),u=>{let c=s(u);return c!==void 0?{TAG:"Ok",_0:c}:Ce(FR(e,d,r),f=>Ce(ZR(f,n,i,o),p=>Ce(np(e,d),m=>{let h=s(m);return h!==void 0?{TAG:"Ok",_0:h}:sr(UR(a(m,p),e,d),()=>p)})))}))}function Vu(e,t,r){return WR(e,t,"runner-id",r!==void 0?r:VR,Lu,"runner id",i=>i.runnerId,(i,o)=>({version:i.version,machineId:i.machineId,runnerId:o,allowedCwds:i.allowedCwds}))}var HR=["ENOENT","ENOTDIR","EACCES","ELOOP","EIO"];function KR(e){let t=e.code;return t!==void 0?HR.includes(t):!1}function QS(e,t){return Ce(np(e,t),r=>{let n=[],i=[],o={contents:void 0};r.allowedCwds.forEach(a=>{if(o.contents!==void 0)return;let d=Cr.resolve(wl(void 0,a)),u=Ms(d);if(u.TAG==="Ok"){let f=u._0;if(n.push(f),f===d)return;n.push(d);return}let c=u._0;KR(c)?i.push(d):o.contents=_e(c.message)});let s=o.contents;return s!==void 0?{TAG:"Error",_0:s}:{TAG:"Ok",_0:{allowedCwds:Sl(n),missingAllowedCwds:Sl(i)}}})}function YS(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e.error;if(typeof t=="string")return t}function e0(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 Ys(e,t){let r=e[t];if(r!==void 0&&typeof r=="string"&&r.trim()!=="")return r}async function t0(e,t,r,n,i){let o=vi("/api/v2/local-codex-runner/device/start",e);if(o.TAG!=="Ok")return{TAG:"Error",_0:_e(o._0)};let s={},a=(_,g)=>{if(g!==void 0){s[_]=g;return}};a("workspace",t),a("channel",r),a("onboarding",n),i!==void 0&&(a("runner_id",i.commanderId),a("machine_fingerprint",i.machineFingerprint),a("hostname",i.hostname));let l={};l["content-type"]="application/json";let d=await bl(o._0.toString(),{method:"POST",headers:l,body:JSON.stringify(s)});if(d.TAG!=="Ok")return{TAG:"Error",_0:_e(d._0.message)};let u=d._0,c=u.status,f=await vl(u);if(f.TAG!=="Ok")return{TAG:"Error",_0:_e(f._0.message)};let p=f._0;if(c>=200&&c<300){if(Array.isArray(p))return{TAG:"Error",_0:_e("local runner device authorization response was incomplete")};if(p!==null)switch(typeof p){case"object":let _=Ys(p,"device_code"),g=Ys(p,"user_code"),b=Ys(p,"verification_uri");if(_===void 0)return{TAG:"Error",_0:_e("local runner device authorization response was incomplete")};if(g===void 0)return{TAG:"Error",_0:_e("local runner device authorization response was incomplete")};if(b===void 0)return{TAG:"Error",_0:_e("local runner device authorization response was incomplete")};let y=p.expires_in,v;return v=typeof y=="number"?y:void 0,{TAG:"Ok",_0:{deviceCode:_,userCode:g,verificationUri:b,expiresInSeconds:v}}}}let h=YS(p);return{TAG:"Error",_0:_e(h!==void 0?"local runner device authorization failed to start (server said: "+h+")":"local runner device authorization failed to start (HTTP "+c.toString()+")")}}async function BR(e,t,r){let n=new AbortController,i=setTimeout(()=>{n.abort()},r+1e4|0),o={};o.device_code=t,o.wait_ms=r;let s={};s["content-type"]="application/json";let a=vi("/api/v2/local-codex-runner/device/token",e),l;if(l=a.TAG==="Ok"?await bl(a._0.toString(),{method:"POST",headers:s,body:JSON.stringify(o),signal:mt(n.signal)}):{TAG:"Error",_0:{message:a._0}},l.TAG==="Ok"){let d=l._0,u=d.status,c=await vl(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,p=u>=200&&u<300,m=YS(f),h=0;if(u!==202||m===void 0)h=1;else{if(m==="authorization_pending")return"Continue";h=1}if(h===1){let _=0;if(p){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=Ys(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:Ys(f,"workspace"),channelSlug:Ys(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 r0(e,t,r,n){let i=n!==void 0?n:()=>Date.now(),o=r!==void 0&&r>=0?r:600,s=i()+o*1e3,a=async()=>{if(i()>=s)return"CodeExpired";let l=Math.max(0,Math.min(3e4,s-i())),d=await BR(e,t,l);return typeof d!="object"?await a():d._0};return await a()}var QR=3600*1e3;function XR(e,t,r,n){return e<=3?"DecidePrompt":r!==void 0&&t-r<QR?n?"DecideRefreshLine":"DecideSilent":"DecideSummary"}function n0(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 YR(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).
@@ -175,10 +175,10 @@ const watchdog = setInterval(() => {
175
175
  }
176
176
  }
177
177
  }, config.pollIntervalMs);
178
- `.trim(),H1(t)]}}function pp(e){if(e===void 0||e<=1)return!1;try{return process.kill(-e,0),!0}catch(t){let r=Q(t);return de(Ye(r).code,"EPERM")}}function vp(e,t){let r=t.pid;if(r===void 0||r<=1)return!1;let n=V0(e,t.name),i=t.startedAtMs;return n!==void 0&&i!==void 0&&n.atMs>=i?!1:pp(t.pid)}function Sp(e){return new Promise((t,r)=>{let n=q0.createConnection({port:e,host:"127.0.0.1"}),i=o=>{n.removeAllListeners(),n.destroy(),t(o)};n.setTimeout(750),n.once("connect",()=>i(!0)),n.once("timeout",()=>i(!1)),n.once("error",()=>i(!1))})}async function B1(e,t){let r=vp(e,t),n=[];for(let s=0,a=t.ports.length;s<a;++s){let l=t.ports[s];if(l!==void 0){let d=r?await Sp(l|0):!1;n.push({port:l,listening:d})}}let i=t.desiredState,o;return o=i==="DesiredRunning"?r?n.every(s=>s.listening)?"Running":"Unhealthy":"Exited":"Stopped",{record:t,liveness:o,portProbes:n,lastExit:V0(e,t.name)}}async function wp(e){let t=[],r=W1(e);for(let n=0,i=r.length;n<i;++n){let o=r[n];o!==void 0&&t.push(await B1(e,o))}return t}function J1(e){let t=W(e.SHELL,r=>r.trim());return t!==void 0&&t!==""?t:"/bin/sh"}async function W0(e,t,r){if(e===void 0||e<=1||il(-e|0,"SIGTERM").TAG!=="Ok")return;let i=Date.now()+3e3,o=pp(e);for(;o&&Date.now()<i;)await vu(100),o=pp(e);if(!o||il(-e|0,"SIGKILL").TAG!=="Ok")return;let a={};return a.name=r,a.pgid=e,t("dev_services.stop_escalated",a)}async function H0(e){let t=e.log,r=t!==void 0?t:hp,n=ec(e.definition.name);if(n===void 0)return{TAG:"Error",_0:"invalid service name: use 1-64 lowercase letters, digits, ., _ or -"};let i=e.definition.command.trim();if(i==="")return{TAG:"Error",_0:"service command must not be empty"};let o;try{o={TAG:"Ok",_0:on.statSync(e.definition.cwd).isDirectory()}}catch{o={TAG:"Error",_0:"cwd does not exist: "+e.definition.cwd}}if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};if(!o._0)return{TAG:"Error",_0:"cwd is not a directory: "+e.definition.cwd};let s=bp(e.scopeDir,n);s!==void 0&&vp(e.scopeDir,s)&&await W0(s.pid,r,n);let a=e.nowMs,l=a!==void 0?a:Date.now(),d=U0(e.scopeDir,n),u=yp(e.scopeDir,n),c=Ce(Ce(Ce(mr(Tn.dirname(d)),()=>mr(Tn.join(e.scopeDir,"services"))),()=>mr(Tn.dirname(u))),()=>{try{return{TAG:"Ok",_0:on.openSync(d,"a")}}catch(z){let Z=Q(z);return{TAG:"Error",_0:Ye(Z)}}});if(c.TAG!=="Ok")return{TAG:"Error",_0:"cannot open service log: "+c._0.message};let f=c._0;Yn(u);let p=e.shellPathOverride,m=p!==void 0?p:J1(process.env),h=e.nodeExecPath,_=e.watchdogPollIntervalMs,g=K1(h!==void 0?h:process.execPath,{command:m,args:["-lc",i],cwd:e.definition.cwd,ownerPid:e.ownerPid,pollIntervalMs:_!==void 0?_:500,exitStatusPath:u});try{on.writeFileSync(f,`
178
+ `.trim(),H1(t)]}}function pp(e){if(e===void 0||e<=1)return!1;try{return process.kill(-e,0),!0}catch(t){let r=Q(t);return de(Ye(r).code,"EPERM")}}function vp(e,t){let r=t.pid;if(r===void 0||r<=1)return!1;let n=V0(e,t.name),i=t.startedAtMs;return n!==void 0&&i!==void 0&&n.atMs>=i?!1:pp(t.pid)}function Sp(e){return new Promise((t,r)=>{let n=q0.createConnection({port:e,host:"127.0.0.1"}),i=o=>{n.removeAllListeners(),n.destroy(),t(o)};n.setTimeout(750),n.once("connect",()=>i(!0)),n.once("timeout",()=>i(!1)),n.once("error",()=>i(!1))})}async function B1(e,t){let r=vp(e,t),n=[];for(let s=0,a=t.ports.length;s<a;++s){let l=t.ports[s];if(l!==void 0){let d=r?await Sp(l|0):!1;n.push({port:l,listening:d})}}let i=t.desiredState,o;return o=i==="DesiredRunning"?r?n.every(s=>s.listening)?"Running":"Unhealthy":"Exited":"Stopped",{record:t,liveness:o,portProbes:n,lastExit:V0(e,t.name)}}async function wp(e){let t=[],r=W1(e);for(let n=0,i=r.length;n<i;++n){let o=r[n];o!==void 0&&t.push(await B1(e,o))}return t}function J1(e){let t=W(e.SHELL,r=>r.trim());return t!==void 0&&t!==""?t:"/bin/sh"}async function W0(e,t,r){if(e===void 0||e<=1||il(-e|0,"SIGTERM").TAG!=="Ok")return;let i=Date.now()+3e3,o=pp(e);for(;o&&Date.now()<i;)await vu(100),o=pp(e);if(!o||il(-e|0,"SIGKILL").TAG!=="Ok")return;let a={};return a.name=r,a.pgid=e,t("dev_services.stop_escalated",a)}async function H0(e){let t=e.log,r=t!==void 0?t:hp,n=ec(e.definition.name);if(n===void 0)return{TAG:"Error",_0:"invalid service name: use 1-64 lowercase letters, digits, ., _ or -"};let i=e.definition.command.trim();if(i==="")return{TAG:"Error",_0:"service command must not be empty"};let o;try{o={TAG:"Ok",_0:on.statSync(e.definition.cwd).isDirectory()}}catch{o={TAG:"Error",_0:"cwd does not exist: "+e.definition.cwd}}if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};if(!o._0)return{TAG:"Error",_0:"cwd is not a directory: "+e.definition.cwd};let s=bp(e.scopeDir,n);s!==void 0&&vp(e.scopeDir,s)&&await W0(s.pid,r,n);let a=e.nowMs,l=a!==void 0?a:Date.now(),d=U0(e.scopeDir,n),u=yp(e.scopeDir,n),c=Ce(Ce(Ce(mr(Tn.dirname(d)),()=>mr(Tn.join(e.scopeDir,"services"))),()=>mr(Tn.dirname(u))),()=>{try{return{TAG:"Ok",_0:on.openSync(d,"a")}}catch(z){let L=Q(z);return{TAG:"Error",_0:Ye(L)}}});if(c.TAG!=="Ok")return{TAG:"Error",_0:"cannot open service log: "+c._0.message};let f=c._0;Yn(u);let p=e.shellPathOverride,m=p!==void 0?p:J1(process.env),h=e.nodeExecPath,_=e.watchdogPollIntervalMs,g=K1(h!==void 0?h:process.execPath,{command:m,args:["-lc",i],cwd:e.definition.cwd,ownerPid:e.ownerPid,pollIntervalMs:_!==void 0?_:500,exitStatusPath:u});try{on.writeFileSync(f,`
179
179
  --- linzumi dev-service "`+n+'" starting at '+new Date(l).toISOString()+" (owner pid "+e.ownerPid.toString()+`) ---
180
180
  $ `+i+`
181
- `)}catch{}let b={};Object.entries(process.env).forEach(z=>{b[z[0]]=z[1]}),b.ELECTRON_RUN_AS_NODE="1";let y;try{let z=D0.spawn(g.command,g.args,{cwd:e.definition.cwd,detached:!0,stdio:["ignore",Number(f),Number(f)],env:b});z.unref(),y={TAG:"Ok",_0:Qn(z.pid)}}catch(z){let Z=Q(z);y={TAG:"Error",_0:"spawn failed: "+Ye(Z).message}}try{on.closeSync(f)}catch{}if(y.TAG!=="Ok")return{TAG:"Error",_0:y._0};let v=y._0;if(v===void 0)return{TAG:"Error",_0:"spawn failed: no pid"};let S=[];e.definition.ports.forEach(z=>{if(!S.includes(z)){S.push(z);return}});let A=e.definition.cwd,C=S.toSorted((z,Z)=>z-Z),V=e.definition.restartOnBranchChange,re=v,fe=e.ownerPid,K={name:n,command:i,cwd:A,ports:C,restartOnBranchChange:V,desiredState:"DesiredRunning",pid:re,ownerPid:fe,startedAtMs:l,updatedAtMs:l,lastBranch:void 0,logPath:d};Z0(e.scopeDir,K,r);let ae={};return ae.name=n,ae.pid=v,ae.owner_pid=e.ownerPid,ae.cwd=e.definition.cwd,ae.ports=C.map(z=>z),r("dev_services.started",ae),{TAG:"Ok",_0:K}}async function xp(e,t,r){let n=r!==void 0?r:hp,i=bp(e,t);if(i===void 0)return{TAG:"Error",_0:"unknown service: "+t};vp(e,i)&&await W0(i.pid,n,i.name);let o=i.name,s=i.command,a=i.cwd,l=i.ports,d=i.restartOnBranchChange,u=i.startedAtMs,c=Date.now(),f=i.lastBranch,p=i.logPath,m={name:o,command:s,cwd:a,ports:l,restartOnBranchChange:d,desiredState:"DesiredStopped",pid:void 0,ownerPid:void 0,startedAtMs:u,updatedAtMs:c,lastBranch:f,logPath:p};Z0(e,m,n);let h={};return h.name=i.name,n("dev_services.stopped",h),{TAG:"Ok",_0:m}}async function K0(e,t){let r=await xp(e,t,hp);if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=r._0;return Yn(gp(e,n.name)),Yn(yp(e,n.name)),{TAG:"Ok",_0:n}}function B0(e,t,r){let n=ec(t);if(n===void 0)return;let i=U0(e,n),o;try{o=on.openSync(i,"r")}catch{return}let s;try{let a=on.fstatSync(o).size,l=Math.min(a,r),d=Buffer.alloc(l|0);on.readSync(o,d,0,l|0,a-l),s=d.toString("utf8")}catch{s=void 0}try{on.closeSync(o)}catch{}return s}function J0(e){let t=W(e.LINZUMI_DEV_SERVICES_SCOPE,i=>i.trim()),r=e.LINZUMI_DEV_SERVICES_OWNER_PID,n=Number.parseInt(r!==void 0?r:"",10);if(t!==void 0&&t!==""&&Number.isInteger(n)&&n>0)return{scopeDir:D1(t),ownerPid:n}}var X0=`<linzumi_markdown_media_guidance>
181
+ `)}catch{}let b={};Object.entries(process.env).forEach(z=>{b[z[0]]=z[1]}),b.ELECTRON_RUN_AS_NODE="1";let y;try{let z=D0.spawn(g.command,g.args,{cwd:e.definition.cwd,detached:!0,stdio:["ignore",Number(f),Number(f)],env:b});z.unref(),y={TAG:"Ok",_0:Qn(z.pid)}}catch(z){let L=Q(z);y={TAG:"Error",_0:"spawn failed: "+Ye(L).message}}try{on.closeSync(f)}catch{}if(y.TAG!=="Ok")return{TAG:"Error",_0:y._0};let v=y._0;if(v===void 0)return{TAG:"Error",_0:"spawn failed: no pid"};let S=[];e.definition.ports.forEach(z=>{if(!S.includes(z)){S.push(z);return}});let A=e.definition.cwd,C=S.toSorted((z,L)=>z-L),V=e.definition.restartOnBranchChange,re=v,fe=e.ownerPid,K={name:n,command:i,cwd:A,ports:C,restartOnBranchChange:V,desiredState:"DesiredRunning",pid:re,ownerPid:fe,startedAtMs:l,updatedAtMs:l,lastBranch:void 0,logPath:d};Z0(e.scopeDir,K,r);let ae={};return ae.name=n,ae.pid=v,ae.owner_pid=e.ownerPid,ae.cwd=e.definition.cwd,ae.ports=C.map(z=>z),r("dev_services.started",ae),{TAG:"Ok",_0:K}}async function xp(e,t,r){let n=r!==void 0?r:hp,i=bp(e,t);if(i===void 0)return{TAG:"Error",_0:"unknown service: "+t};vp(e,i)&&await W0(i.pid,n,i.name);let o=i.name,s=i.command,a=i.cwd,l=i.ports,d=i.restartOnBranchChange,u=i.startedAtMs,c=Date.now(),f=i.lastBranch,p=i.logPath,m={name:o,command:s,cwd:a,ports:l,restartOnBranchChange:d,desiredState:"DesiredStopped",pid:void 0,ownerPid:void 0,startedAtMs:u,updatedAtMs:c,lastBranch:f,logPath:p};Z0(e,m,n);let h={};return h.name=i.name,n("dev_services.stopped",h),{TAG:"Ok",_0:m}}async function K0(e,t){let r=await xp(e,t,hp);if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=r._0;return Yn(gp(e,n.name)),Yn(yp(e,n.name)),{TAG:"Ok",_0:n}}function B0(e,t,r){let n=ec(t);if(n===void 0)return;let i=U0(e,n),o;try{o=on.openSync(i,"r")}catch{return}let s;try{let a=on.fstatSync(o).size,l=Math.min(a,r),d=Buffer.alloc(l|0);on.readSync(o,d,0,l|0,a-l),s=d.toString("utf8")}catch{s=void 0}try{on.closeSync(o)}catch{}return s}function J0(e){let t=W(e.LINZUMI_DEV_SERVICES_SCOPE,i=>i.trim()),r=e.LINZUMI_DEV_SERVICES_OWNER_PID,n=Number.parseInt(r!==void 0?r:"",10);if(t!==void 0&&t!==""&&Number.isInteger(n)&&n>0)return{scopeDir:D1(t),ownerPid:n}}var X0=`<linzumi_markdown_media_guidance>
182
182
  Some Linzumi users have opted into rich Markdown media rendering. When you are
183
183
  writing a visible Linzumi message, channel message, or thread reply, you may use
184
184
  these Markdown-compatible media directives:
@@ -320,9 +320,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
320
320
  ]`;continue}i+=n[l],n[l]==="\\"?o=!0:s&&n[l]==="]"?s=!1:!s&&n[l]==="["&&(s=!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 Wc(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===D.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,i)=>({...n,[i]:Te(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",i]})??Bt(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let r={type:"object",additionalProperties:Te(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return r;if(e.keyType?._def.typeName===D.ZodString&&e.keyType._def.checks?.length){let{type:n,...i}=Vc(e.keyType._def,t);return{...r,propertyNames:i}}else{if(e.keyType?._def.typeName===D.ZodEnum)return{...r,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===D.ZodBranded&&e.keyType._def.type._def.typeName===D.ZodString&&e.keyType._def.type._def.checks?.length){let{type:n,...i}=Zc(e.keyType._def,t);return{...r,propertyNames:i}}}return r}function Ok(e,t){if(t.mapStrategy==="record")return Wc(e,t);let r=Te(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||Bt(t),n=Te(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||Bt(t);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function Ak(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 Ck(e){return e.target==="openAi"?void 0:{not:Bt({...e,currentPath:[...e.currentPath,"not"]})}}function Ek(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var ed={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function $k(e,t){if(t.target==="openApi3")return Pk(e,t);let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in ed&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((i,o)=>{let s=ed[o._def.typeName];return s&&!i.includes(s)?[...i,s]: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 s=typeof o._def.value;switch(s){case"string":case"number":case"boolean":return[...i,s];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,s,a)=>a.indexOf(o)===s);return{type:i.length>1?i:i[0],enum:r.reduce((o,s)=>o.includes(s._def.value)?o:[...o,s._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 Pk(e,t)}var Pk=(e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,i)=>Te(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 Rk(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:ed[e.innerType._def.typeName],nullable:!0}:{type:[ed[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let n=Te(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=Te(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function Ik(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",B_(r,"type",n.message,t);break;case"min":t.target==="jsonSchema7"?n.inclusive?at(r,"minimum",n.value,n.message,t):at(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),at(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?at(r,"maximum",n.value,n.message,t):at(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),at(r,"maximum",n.value,n.message,t));break;case"multipleOf":at(r,"multipleOf",n.value,n.message,t);break}return r}function Mk(e,t){let r=t.target==="openAi",n={type:"object",properties:{}},i=[],o=e.shape();for(let a in o){let l=o[a];if(l===void 0||l._def===void 0)continue;let d=HN(l);d&&r&&(l._def.typeName==="ZodOptional"&&(l=l._def.innerType),l.isNullable()||(l=l.nullable()),d=!1);let u=Te(l._def,{...t,currentPath:[...t.currentPath,"properties",a],propertyPath:[...t.currentPath,"properties",a]});u!==void 0&&(n.properties[a]=u,d||i.push(a))}i.length&&(n.required=i);let s=WN(e,t);return s!==void 0&&(n.additionalProperties=s),n}function WN(e,t){if(e.catchall._def.typeName!=="ZodNever")return Te(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 HN(e){try{return e.isOptional()}catch{return!0}}var zk=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return Te(e.innerType._def,t);let r=Te(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:Bt(t)},r]}:Bt(t)};var jk=(e,t)=>{if(t.pipeStrategy==="input")return Te(e.in._def,t);if(t.pipeStrategy==="output")return Te(e.out._def,t);let r=Te(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=Te(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(i=>i!==void 0)}};function Nk(e,t){return Te(e.type._def,t)}function Fk(e,t){let n={type:"array",uniqueItems:!0,items:Te(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&at(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&at(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function Gk(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>Te(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:Te(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>Te(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function qk(e){return{not:Bt(e)}}function Dk(e){return Bt(e)}var Lk=(e,t)=>Te(e.innerType._def,t);var Uk=(e,t,r)=>{switch(t){case D.ZodString:return Vc(e,r);case D.ZodNumber:return Ik(e,r);case D.ZodObject:return Mk(e,r);case D.ZodBigInt:return gk(e,r);case D.ZodBoolean:return yk();case D.ZodDate:return J_(e,r);case D.ZodUndefined:return qk(r);case D.ZodNull:return Ek(r);case D.ZodArray:return _k(e,r);case D.ZodUnion:case D.ZodDiscriminatedUnion:return $k(e,r);case D.ZodIntersection:return xk(e,r);case D.ZodTuple:return Gk(e,r);case D.ZodRecord:return Wc(e,r);case D.ZodLiteral:return kk(e,r);case D.ZodEnum:return wk(e);case D.ZodNativeEnum:return Ak(e);case D.ZodNullable:return Rk(e,r);case D.ZodOptional:return zk(e,r);case D.ZodMap:return Ok(e,r);case D.ZodSet:return Fk(e,r);case D.ZodLazy:return()=>e.getter()._def;case D.ZodPromise:return Nk(e,r);case D.ZodNaN:case D.ZodNever:return Ck(r);case D.ZodEffects:return Sk(e,r);case D.ZodAny:return Bt(r);case D.ZodUnknown:return Dk(r);case D.ZodDefault:return vk(e,r);case D.ZodBranded:return Zc(e,r);case D.ZodReadonly:return Lk(e,r);case D.ZodCatch:return bk(e,r);case D.ZodPipeline:return jk(e,r);case D.ZodFunction:case D.ZodVoid:case D.ZodSymbol:return;default:return(n=>{})(t)}};function Te(e,t,r=!1){let n=t.seen.get(e);if(t.override){let a=t.override?.(e,t,n,r);if(a!==mk)return a}if(n&&!r){let a=KN(n,t);if(a!==void 0)return a}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let o=Uk(e,e.typeName,t),s=typeof o=="function"?Te(o(),t):o;if(s&&BN(e,t,s),t.postProcess){let a=t.postProcess(s,e,t);return i.jsonSchema=s,a}return i.jsonSchema=s,s}var KN=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:Uc(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`),Bt(t)):t.$refStrategy==="seen"?Bt(t):void 0}},BN=(e,t,r)=>(e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r);var Y_=(e,t)=>{let r=hk(t),n=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((l,[d,u])=>({...l,[d]:Te(u._def,{...r,currentPath:[...r.basePath,r.definitionPath,d]},!0)??Bt(r)}),{}):void 0,i=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,o=Te(e._def,i===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,i]},!1)??Bt(r),s=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;s!==void 0&&(o.title=s),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 a=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"?a.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in a||"oneOf"in a||"allOf"in a||"type"in a&&Array.isArray(a.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),a};function JN(e){return!e||e==="jsonSchema7"||e==="draft-7"?"draft-7":e==="jsonSchema2019-09"||e==="draft-2020-12"?"draft-2020-12":"draft-7"}function eg(e,t){return Cn(e)?w_(e,{target:JN(t?.target),io:t?.pipeStrategy??"input"}):Y_(e,{strictUnions:t?.strictUnions??!0,pipeStrategy:t?.pipeStrategy??"input"})}function tg(e){let r=fo(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Lc(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function rg(e,t){let r=co(e,t);if(!r.success)throw r.error;return r.data}var QN=6e4,Hc=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(Tc,r=>{this._oncancel(r)}),this.setNotificationHandler(Ac,r=>{this._onprogress(r)}),this.setRequestHandler(Oc,r=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Cc,async(r,n)=>{let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new ce(ve.InvalidParams,"Failed to retrieve task: Task not found");return{...i}}),this.setRequestHandler(Pc,async(r,n)=>{let i=async()=>{let o=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(o,n.sessionId);){if(a.type==="response"||a.type==="error"){let l=a.message,d=l.id,u=this._requestResolvers.get(d);if(u)if(this._requestResolvers.delete(d),a.type==="response")u(l);else{let c=l,f=new ce(c.error.code,c.error.message,c.error.data);u(f)}else{let c=a.type==="response"?"Response":"Error";this._onerror(new Error(`${c} handler missing for request ${d}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let s=await this._taskStore.getTask(o,n.sessionId);if(!s)throw new ce(ve.InvalidParams,`Task not found: ${o}`);if(!mo(s.status))return await this._waitForTaskUpdate(o,n.signal),await i();if(mo(s.status)){let a=await this._taskStore.getTaskResult(o,n.sessionId);return this._clearTaskQueue(o),{...a,_meta:{...a._meta,[uo]:{taskId:o}}}}return await i()};return await i()}),this.setRequestHandler($c,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 ce(ve.InvalidParams,`Failed to list tasks: ${i instanceof Error?i.message:String(i)}`)}}),this.setRequestHandler(Ic,async(r,n)=>{try{let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new ce(ve.InvalidParams,`Task not found: ${r.params.taskId}`);if(mo(i.status))throw new ce(ve.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 ce(ve.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...o}}catch(i){throw i instanceof ce?i:new ce(ve.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),ce.fromError(ve.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,s)=>{i?.(o,s),Vl(o)||Yx(o)?this._onresponse(o):M_(o)?this._onrequest(o,s):Xx(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=ce.fromError(ve.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?.[uo]?.taskId;if(n===void 0){let u={jsonrpc:"2.0",id:t.id,error:{code:ve.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 s=new AbortController;this._requestHandlerAbortControllers.set(t.id,s);let a=Bx(t.params)?t.params.task:void 0,l=this._taskStore?this.requestTaskStore(t,i?.sessionId):void 0,d={signal:s.signal,sessionId:i?.sessionId,_meta:t.params?._meta,sendNotification:async u=>{if(s.signal.aborted)return;let c={relatedRequestId:t.id};o&&(c.relatedTask={taskId:o}),await this.notification(u,c)},sendRequest:async(u,c,f)=>{if(s.signal.aborted)throw new ce(ve.ConnectionClosed,"Request was cancelled");let p={...f,relatedRequestId:t.id};o&&!p.relatedTask&&(p.relatedTask={taskId:o});let m=p.relatedTask?.taskId??o;return m&&l&&await l.updateTaskStatus(m,"input_required"),await this.request(u,c,p)},authInfo:r?.authInfo,requestId:t.id,requestInfo:r?.requestInfo,taskId:o,taskStore:l,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(t.method)}).then(()=>n(t,d)).then(async u=>{if(s.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(s.signal.aborted)return;let c={jsonrpc:"2.0",id:t.id,error:{code:Number.isSafeInteger(u.code)?u.code:ve.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)===s&&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 s=this._responseHandlers.get(i),a=this._timeoutInfo.get(i);if(a&&s&&a.resetTimeoutOnProgress)try{this._resetTimeout(i)}catch(l){this._responseHandlers.delete(i),this._progressHandlers.delete(i),this._cleanupTimeout(i),s(l);return}o(n)}_onresponse(t){let r=Number(t.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Vl(t))n(t);else{let s=new ce(t.error.code,t.error.message,t.error.data);n(s)}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(Vl(t)&&t.result&&typeof t.result=="object"){let s=t.result;if(s.task&&typeof s.task=="object"){let a=s.task;typeof a.taskId=="string"&&(o=!0,this._taskProgressTokens.set(a.taskId,r))}}if(o||this._progressHandlers.delete(r),Vl(t))i(t);else{let s=ce.fromError(t.error.code,t.error.message,t.error.data);i(s)}}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(s){yield{type:"error",error:s instanceof ce?s:new ce(ve.InternalError,String(s))}}return}let o;try{let s=await this.request(t,fa,n);if(s.task)o=s.task.taskId,yield{type:"taskCreated",task:s.task};else throw new ce(ve.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:o},n);if(yield{type:"taskStatus",task:a},mo(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:o},r,n)}:a.status==="failed"?yield{type:"error",error:new ce(ve.InternalError,`Task ${o} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new ce(ve.InternalError,`Task ${o} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:o},r,n)};return}let l=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(d=>setTimeout(d,l)),n?.signal?.throwIfAborted()}}catch(s){yield{type:"error",error:s instanceof ce?s:new ce(ve.InternalError,String(s))}}}request(t,r,n){let{relatedRequestId:i,resumptionToken:o,onresumptiontoken:s,task:a,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),a&&this.assertTaskCapability(t.method)}catch(b){c(b);return}n?.signal?.throwIfAborted();let f=this._requestMessageId++,p={...t,jsonrpc:"2.0",id:f};n?.onprogress&&(this._progressHandlers.set(f,n.onprogress),p.params={...t.params,_meta:{...t.params?._meta||{},progressToken:f}}),a&&(p.params={...p.params,task:a}),l&&(p.params={...p.params,_meta:{...p.params?._meta||{},[uo]: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:s}).catch(v=>this._onerror(new Error(`Failed to send cancellation: ${v}`)));let y=b instanceof ce?b:new ce(ve.RequestTimeout,String(b));u(y)};this._responseHandlers.set(f,b=>{if(!n?.signal?.aborted){if(b instanceof Error)return u(b);try{let y=co(r,b.result);y.success?d(y.data):u(y.error)}catch(y){u(y)}}}),n?.signal?.addEventListener("abort",()=>{m(n?.signal?.reason)});let h=n?.timeout??QN,_=()=>m(ce.fromError(ve.RequestTimeout,"Request timed out",{timeout:h}));this._setupTimeout(f,h,n?.maxTotalTimeout,_,n?.resetTimeoutOnProgress??!1);let g=l?.taskId;if(g){let b=y=>{let v=this._responseHandlers.get(f);v?v(y):this._onerror(new Error(`Response handler missing for side-channeled request ${f}`))};this._requestResolvers.set(f,b),this._enqueueTaskMessage(g,{type:"request",message:p,timestamp:Date.now()}).catch(y=>{this._cleanupTimeout(f),u(y)})}else this._transport.send(p,{relatedRequestId:i,resumptionToken:o,onresumptiontoken:s}).catch(b=>{this._cleanupTimeout(f),u(b)})})}async getTask(t,r){return this.request({method:"tasks/get",params:t},Ec,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},Rc,r)}async cancelTask(t,r){return this.request({method:"tasks/cancel",params:t},rk,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 a={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[uo]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,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 a={...t,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[uo]:r.relatedTask}}}),this._transport?.send(a,r).catch(l=>this._onerror(l))});return}let s={...t,jsonrpc:"2.0"};r?.relatedTask&&(s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[uo]:r.relatedTask}}}),await this._transport.send(s,r)}setRequestHandler(t,r){let n=tg(t);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(i,o)=>{let s=rg(t,i);return Promise.resolve(r(s,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=tg(t);this._notificationHandlers.set(n,i=>{let o=rg(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"&&M_(i.message)){let o=i.message.id,s=this._requestResolvers.get(o);s?(s(new ce(ve.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 ce(ve.InvalidRequest,"Request cancelled"));return}let s=setTimeout(i,n);r.addEventListener("abort",()=>{clearTimeout(s),o(new ce(ve.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 ce(ve.InvalidParams,"Failed to retrieve task: Task not found");return o},storeTaskResult:async(i,o,s)=>{await n.storeTaskResult(i,o,s,r);let a=await n.getTask(i,r);if(a){let l=Jl.parse({method:"notifications/tasks/status",params:a});await this.notification(l),mo(a.status)&&this._cleanupTaskProgressHandler(i)}},getTaskResult:i=>n.getTaskResult(i,r),updateTaskStatus:async(i,o,s)=>{let a=await n.getTask(i,r);if(!a)throw new ce(ve.InvalidParams,`Task "${i}" not found - it may have been cleaned up`);if(mo(a.status))throw new ce(ve.InvalidParams,`Cannot update task "${i}" from terminal status "${a.status}" to "${o}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(i,o,s,r);let l=await n.getTask(i,r);if(l){let d=Jl.parse({method:"notifications/tasks/status",params:l});await this.notification(d),mo(l.status)&&this._cleanupTaskProgressHandler(i)}},listTasks:i=>n.listTasks(i,r)}}};function Zk(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Vk(e,t){let r={...e};for(let n in t){let i=n,o=t[i];if(o===void 0)continue;let s=r[i];Zk(s)&&Zk(o)?r[i]={...s,...o}:r[i]=o}return r}var $A=vv(Dy(),1),RA=vv(PA(),1);function DU(){let e=new $A.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,RA.default)(e),e}var $f=class{constructor(t){this._ajv=t??DU()}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 Rf=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],s=o.some(u=>u.type==="tool_result"),a=t.messages.length>1?t.messages[t.messages.length-2]:void 0,l=a?Array.isArray(a.content)?a.content:[a.content]:[],d=l.some(u=>u.type==="tool_use");if(s){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},Yl,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},ga,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 IA(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 MA(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 If=class extends Hc{constructor(t,r){super(r),this._serverInfo=t,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Xl.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 $f,this.setRequestHandler(N_,n=>this._oninitialize(n)),this.setNotificationHandler(F_,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(V_,async(n,i)=>{let o=i.sessionId||i.requestInfo?.headers["mcp-session-id"]||void 0,{level:s}=n.params,a=Xl.safeParse(s);return a.success&&this._loggingLevels.set(o,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new Rf(this)}),this._experimental}registerCapabilities(t){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Vk(this._capabilities,t)}setRequestHandler(t,r){let i=fo(t)?.method;if(!i)throw new Error("Schema is missing a method literal");let o;if(Cn(i)){let a=i;o=a._zod?.def?.value??a.value}else{let a=i;o=a._def?.value??a.value}if(typeof o!="string")throw new Error("Schema method literal must be a string");if(o==="tools/call"){let a=async(l,d)=>{let u=co(_a,l);if(!u.success){let m=u.error instanceof Error?u.error.message:String(u.error);throw new ce(ve.InvalidParams,`Invalid tools/call request: ${m}`)}let{params:c}=u.data,f=await Promise.resolve(r(l,d));if(c.task){let m=co(fa,f);if(!m.success){let h=m.error instanceof Error?m.error.message:String(m.error);throw new ce(ve.InvalidParams,`Invalid task creation result: ${h}`)}return m.data}let p=co(Fc,f);if(!p.success){let m=p.error instanceof Error?p.error.message:String(p.error);throw new ce(ve.InvalidParams,`Invalid tools/call result: ${m}`)}return p.data};return super.setRequestHandler(t,a)}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){MA(this._clientCapabilities?.tasks?.requests,t,"Client")}assertTaskHandlerCapability(t){this._capabilities&&IA(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:Wx.includes(r)?r:R_,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"},kc)}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"),s=t.messages.length>1?t.messages[t.messages.length-2]:void 0,a=s?Array.isArray(s.content)?s.content:[s.content]:[],l=a.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(a.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},W_,r):this.request({method:"sampling/createMessage",params:t},Yl,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},ga,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},ga,r);if(o.action==="accept"&&o.content&&i.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(i.requestedSchema)(o.content);if(!a.valid)throw new ce(ve.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(s){throw s instanceof ce?s:new ce(ve.InternalError,`Error validating elicitation response: ${s instanceof Error?s.message:String(s)}`)}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},H_,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 jA=Symbol.for("mcp.completable");function By(e){return!!e&&typeof e=="object"&&jA in e}function NA(e){return e[jA]?.complete}var zA;(function(e){e.Completable="McpCompletable"})(zA||(zA={}));var LU=/^[A-Za-z0-9._-]{1,128}$/;function UU(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"),!LU.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 ZU(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 Jy(e){let t=UU(e);return ZU(e,t.warnings),t.isValid}var Mf=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 zf=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 If(t,r)}get experimental(){return this._experimental||(this._experimental={tasks:new Mf(this)}),this._experimental}async connect(t){return await this.server.connect(t)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(wo(Nc)),this.server.assertCanSetRequestHandler(wo(_a)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(Nc,()=>({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=ya(r.inputSchema);return i?eg(i,{strictUnions:!0,pipeStrategy:"input"}):VU})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let i=ya(r.outputSchema);i&&(n.outputSchema=eg(i,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(_a,async(t,r)=>{try{let n=this._registeredTools[t.params.name];if(!n)throw new ce(ve.InvalidParams,`Tool ${t.params.name} not found`);if(!n.enabled)throw new ce(ve.InvalidParams,`Tool ${t.params.name} disabled`);let i=!!t.params.task,o=n.execution?.taskSupport,s="createTask"in n.handler;if((o==="required"||o==="optional")&&!s)throw new ce(ve.InternalError,`Tool ${t.params.name} has taskSupport '${o}' but was not registered with registerToolTask`);if(o==="required"&&!i)throw new ce(ve.MethodNotFound,`Tool ${t.params.name} requires task augmentation (taskSupport: 'required')`);if(o==="optional"&&!i&&s)return await this.handleAutomaticTaskPolling(n,t,r);let a=await this.validateToolInput(n,t.params.arguments,t.params.name),l=await this.executeToolHandler(n,a,r);return i||await this.validateToolOutput(n,l,t.params.name),l}catch(n){if(n instanceof ce&&n.code===ve.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=ya(t.inputSchema)??t.inputSchema,s=await qc(o,r);if(!s.success){let a="error"in s?s.error:"Unknown error",l=Dc(a);throw new ce(ve.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${l}`)}return s.data}async validateToolOutput(t,r,n){if(!t.outputSchema||!("content"in r)||r.isError)return;if(!r.structuredContent)throw new ce(ve.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let i=ya(t.outputSchema),o=await qc(i,r.structuredContent);if(!o.success){let s="error"in o?o.error:"Unknown error",a=Dc(s);throw new ce(ve.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${a}`)}}async executeToolHandler(t,r,n){let i=t.handler;if("createTask"in i){if(!n.taskStore)throw new Error("No task store provided.");let s={...n,taskStore:n.taskStore};if(t.inputSchema){let a=i;return await Promise.resolve(a.createTask(r,s))}else{let a=i;return await Promise.resolve(a.createTask(s))}}if(t.inputSchema){let s=i;return await Promise.resolve(s(r,n))}else{let s=i;return await Promise.resolve(s(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,s={...n,taskStore:n.taskStore},a=i?await Promise.resolve(o.createTask(i,s)):await Promise.resolve(o.createTask(s)),l=a.task.taskId,d=a.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 ce(ve.InternalError,`Task ${l} not found during polling`);d=c}return await n.taskStore.getTaskResult(l)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(wo(Gc)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(Gc,async t=>{switch(t.params.ref.type){case"ref/prompt":return lk(t),this.handlePromptCompletion(t,t.params.ref);case"ref/resource":return dk(t),this.handleResourceCompletion(t,t.params.ref);default:throw new ce(ve.InvalidParams,`Invalid completion reference: ${t.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(t,r){let n=this._registeredPrompts[r.name];if(!n)throw new ce(ve.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new ce(ve.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return Pd;let o=fo(n.argsSchema)?.[t.params.argument.name];if(!By(o))return Pd;let s=NA(o);if(!s)return Pd;let a=await s(t.params.argument.value,t.params.context);return GA(a)}async handleResourceCompletion(t,r){let n=Object.values(this._registeredResourceTemplates).find(s=>s.resourceTemplate.uriTemplate.toString()===r.uri);if(!n){if(this._registeredResources[r.uri])return Pd;throw new ce(ve.InvalidParams,`Resource template ${t.params.ref.uri} not found`)}let i=n.resourceTemplate.completeCallback(t.params.argument.name);if(!i)return Pd;let o=await i(t.params.argument.value,t.params.context);return GA(o)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(wo(pa)),this.server.assertCanSetRequestHandler(wo(ha)),this.server.assertCanSetRequestHandler(wo(Mc)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(pa,async(t,r)=>{let n=Object.entries(this._registeredResources).filter(([o,s])=>s.enabled).map(([o,s])=>({uri:o,name:s.name,...s.metadata})),i=[];for(let o of Object.values(this._registeredResourceTemplates)){if(!o.resourceTemplate.listCallback)continue;let s=await o.resourceTemplate.listCallback(r);for(let a of s.resources)i.push({...o.metadata,...a})}return{resources:[...n,...i]}}),this.server.setRequestHandler(ha,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(Mc,async(t,r)=>{let n=new URL(t.params.uri),i=this._registeredResources[n.toString()];if(i){if(!i.enabled)throw new ce(ve.InvalidParams,`Resource ${n} disabled`);return i.readCallback(n,r)}for(let o of Object.values(this._registeredResourceTemplates)){let s=o.resourceTemplate.uriTemplate.match(n.toString());if(s)return o.readCallback(n,s,r)}throw new ce(ve.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(wo(zc)),this.server.assertCanSetRequestHandler(wo(jc)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(zc,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,t])=>t.enabled).map(([t,r])=>({name:t,title:r.title,description:r.description,arguments:r.argsSchema?WU(r.argsSchema):void 0}))})),this.server.setRequestHandler(jc,async(t,r)=>{let n=this._registeredPrompts[t.params.name];if(!n)throw new ce(ve.InvalidParams,`Prompt ${t.params.name} not found`);if(!n.enabled)throw new ce(ve.InvalidParams,`Prompt ${t.params.name} disabled`);if(n.argsSchema){let i=ya(n.argsSchema),o=await qc(i,t.params.arguments);if(!o.success){let l="error"in o?o.error:"Unknown error",d=Dc(l);throw new ce(ve.InvalidParams,`Invalid arguments for prompt ${t.params.name}: ${d}`)}let s=o.data,a=n.callback;return await Promise.resolve(a(s,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 s=this._createRegisteredResource(t,void 0,r,i,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}else{if(this._registeredResourceTemplates[t])throw new Error(`Resource template ${t} is already registered`);let s=this._createRegisteredResourceTemplate(t,void 0,r,i,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}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 s={name:t,title:r,metadata:i,readCallback:o,enabled:!0,disable:()=>s.update({enabled:!1}),enable:()=>s.update({enabled:!0}),remove:()=>s.update({uri:null}),update:a=>{typeof a.uri<"u"&&a.uri!==n&&(delete this._registeredResources[n],a.uri&&(this._registeredResources[a.uri]=s)),typeof a.name<"u"&&(s.name=a.name),typeof a.title<"u"&&(s.title=a.title),typeof a.metadata<"u"&&(s.metadata=a.metadata),typeof a.callback<"u"&&(s.readCallback=a.callback),typeof a.enabled<"u"&&(s.enabled=a.enabled),this.sendResourceListChanged()}};return this._registeredResources[n]=s,s}_createRegisteredResourceTemplate(t,r,n,i,o){let s={resourceTemplate:n,title:r,metadata:i,readCallback:o,enabled:!0,disable:()=>s.update({enabled:!1}),enable:()=>s.update({enabled:!0}),remove:()=>s.update({name:null}),update:d=>{typeof d.name<"u"&&d.name!==t&&(delete this._registeredResourceTemplates[t],d.name&&(this._registeredResourceTemplates[d.name]=s)),typeof d.title<"u"&&(s.title=d.title),typeof d.template<"u"&&(s.resourceTemplate=d.template),typeof d.metadata<"u"&&(s.metadata=d.metadata),typeof d.callback<"u"&&(s.readCallback=d.callback),typeof d.enabled<"u"&&(s.enabled=d.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[t]=s;let a=n.uriTemplate.variableNames;return Array.isArray(a)&&a.some(d=>!!n.completeCallback(d))&&this.setCompletionRequestHandler(),s}_createRegisteredPrompt(t,r,n,i,o){let s={title:r,description:n,argsSchema:i===void 0?void 0:fs(i),callback:o,enabled:!0,disable:()=>s.update({enabled:!1}),enable:()=>s.update({enabled:!0}),remove:()=>s.update({name:null}),update:a=>{typeof a.name<"u"&&a.name!==t&&(delete this._registeredPrompts[t],a.name&&(this._registeredPrompts[a.name]=s)),typeof a.title<"u"&&(s.title=a.title),typeof a.description<"u"&&(s.description=a.description),typeof a.argsSchema<"u"&&(s.argsSchema=fs(a.argsSchema)),typeof a.callback<"u"&&(s.callback=a.callback),typeof a.enabled<"u"&&(s.enabled=a.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[t]=s,i&&Object.values(i).some(l=>{let d=l instanceof en?l._def?.innerType:l;return By(d)})&&this.setCompletionRequestHandler(),s}_createRegisteredTool(t,r,n,i,o,s,a,l,d){Jy(t);let u={title:r,description:n,inputSchema:FA(i),outputSchema:FA(o),annotations:s,execution:a,_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"&&Jy(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=fs(c.paramsSchema)),typeof c.outputSchema<"u"&&(u.outputSchema=fs(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,s;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let l=r[0];if(Qy(l))i=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!Qy(r[0])&&(s=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`);s=r.shift()}}let a=r[0];return this._createRegisteredTool(t,void 0,n,i,o,s,{taskSupport:"forbidden"},void 0,a)}registerTool(t,r,n){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let{title:i,description:o,inputSchema:s,outputSchema:a,annotations:l,_meta:d}=r;return this._createRegisteredTool(t,i,o,s,a,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],s=this._createRegisteredPrompt(t,void 0,n,i,o);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),s}registerPrompt(t,r,n){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let{title:i,description:o,argsSchema:s}=r,a=this._createRegisteredPrompt(t,i,o,s,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}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 VU={type:"object",properties:{}};function qA(e){return e!==null&&typeof e=="object"&&"parse"in e&&typeof e.parse=="function"&&"safeParse"in e&&typeof e.safeParse=="function"}function DA(e){return"_def"in e||"_zod"in e||qA(e)}function Qy(e){return typeof e!="object"||e===null||DA(e)?!1:Object.keys(e).length===0?!0:Object.values(e).some(qA)}function FA(e){if(e){if(Qy(e))return fs(e);if(!DA(e))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return e}}function WU(e){let t=fo(e);return t?Object.entries(t).map(([r,n])=>{let i=uk(n),o=ck(n);return{name:r,description:i,required:!o}}):[]}function wo(e){let r=fo(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Lc(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function GA(e){return{completion:{values:e.slice(0,100),total:e.length,hasMore:e.length>100}}}var Pd={completion:{values:[],hasMore:!1}};import UA from"node:process";var jf=class{append(t){this._buffer=this._buffer?Buffer.concat([this._buffer,t]):t}readMessage(){if(!this._buffer)return null;let t=this._buffer.indexOf(`
321
321
  `);if(t===-1)return null;let r=this._buffer.toString("utf8",0,t).replace(/\r$/,"");return this._buffer=this._buffer.subarray(t+1),KU(r)}clear(){this._buffer=void 0}};function KU(e){return ek.parse(JSON.parse(e))}function LA(e){return JSON.stringify(e)+`
322
322
  `}var Nf=class{constructor(t=UA.stdin,r=UA.stdout){this._stdin=t,this._stdout=r,this._readBuffer=new jf,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=LA(t);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};function JU(e){let t={};t.listChanged=!1;let r={};r.resources=t,e.server.registerCapabilities(r),e.server.setRequestHandler(pa,()=>{let n={};return n.resources=[],n}),e.server.setRequestHandler(ha,()=>{let n={};return n.resourceTemplates=[],n})}function QU(e){return{registerTool:(t,r,n,i)=>{e.tool(t,r,n,i)}}}async function Xy(e){let t=e.delegationAuthFilePath;if(t!==void 0){let n=e.explicitToken,i=e.authFilePath;if(n!==void 0)return{TAG:"Error",_0:"--delegation-auth-file cannot be combined with --token or --auth-file"};if(i!==void 0)return{TAG:"Error",_0:"--delegation-auth-file cannot be combined with --token or --auth-file"};let o=DS(t,Date.now());return o.TAG==="Ok"?{TAG:"Ok",_0:{accessToken:o._0.accessToken,mode:"PersonalAgentDelegation"}}:{TAG:"Error",_0:o._0.summary}}let r=await f0(e.serviceUrl,e.explicitToken,e.authFilePath,e.workspaceSlug,e.channelSlug,void 0);return r.TAG==="Ok"?{TAG:"Ok",_0:{accessToken:r._0,mode:"LocalRunner"}}:{TAG:"Error",_0:r._0.summary}}function Yy(e,t){let r=or(e,"token");return{serviceUrl:t,explicitToken:r!==void 0?r:process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:or(e,"auth-file"),delegationAuthFilePath:or(e,"delegation-auth-file"),workspaceSlug:or(e,"workspace"),channelSlug:or(e,"channel")}}async function XU(e){let t=pu(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0;if(hu(r,"help"))return Mo(yu()),{TAG:"Ok",_0:void 0};let n=_u(r,"api-url");if(n.TAG!=="Ok")return{TAG:"Error",_0:n._0};let i=n._0,o=await Xy(Yy(r,i));if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let s=o._0,a=gu(or(r,"mode")),l=km(or(r,"tool-scope"));if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};let d=a._0;if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0};let u=or(r,"owner-username"),c=u!==void 0?u:process.env.LINZUMI_MCP_OWNER_USERNAME,f=or(r,"cwd"),p=f!==void 0?f:process.cwd(),m=or(r,"thread-id"),h=m!==void 0?m:process.env[C0],_=Op({serviceUrl:i,accessToken:s.accessToken,authMode:s.mode,operatingMode:d});if(_.TAG!=="Ok")return{TAG:"Error",_0:_._0};let g=new zf({name:"linzumi",version:"0.1.0"});return JU(g),nw(QU(g),{client:_._0,toolScope:l._0,operatingMode:d,cwd:p,serviceUrl:i,defaultThreadId:h,ownerUsername:c,agentSession:hu(r,"agent-session"),devServices:J0(process.env)}),await g.connect(new Nf),{TAG:"Ok",_0:void 0}}async function YU(e){let t=pu(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0,n=_u(r,"api-url");if(n.TAG!=="Ok")return{TAG:"Error",_0:n._0};let i=n._0,o=or(r,"format"),s=o!==void 0?o:"codex",a=gu(or(r,"mode"));if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};let l;if(hu(r,"include-token")){let f=await Xy(Yy(r,i));l=f.TAG==="Ok"?{TAG:"Ok",_0:f._0.accessToken}:{TAG:"Error",_0:f._0}}else l={TAG:"Ok",_0:void 0};if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0};let d=km(or(r,"tool-scope"));if(d.TAG!=="Ok")return{TAG:"Error",_0:d._0};let u=or(r,"owner-username"),c=iw({command:or(r,"command"),serviceUrl:i,accessToken:l._0,delegationAuthFilePath:or(r,"delegation-auth-file"),ownerUsername:u!==void 0?u:process.env.LINZUMI_MCP_OWNER_USERNAME,operatingMode:a._0,toolScope:d._0});switch(s){case"claude-code":return Mo(ow(c)),{TAG:"Ok",_0:void 0};case"codex":return Mo(sw(c)),{TAG:"Ok",_0:void 0};default:return{TAG:"Error",_0:"--format must be codex or claude-code"}}}async function e2(e){let t=pu(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0,n=_u(r,"api-url");if(n.TAG!=="Ok")return{TAG:"Error",_0:n._0};let i=n._0,o=await Xy(Yy(r,i));if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let s=o._0,a=s.mode,l;if(a==="LocalRunner"){let d=await Xs(i,s.accessToken,or(r,"workspace"),or(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=gu(or(r,"mode"));if(d.TAG==="Ok"){let u=Op({serviceUrl:i,accessToken:s.accessToken,authMode:s.mode,operatingMode:d._0});if(u.TAG==="Ok")try{await u._0.validateAuth(),l={TAG:"Ok",_0:void 0}}catch(c){let f=Q(c);l={TAG:"Error",_0:js(f)}}else l={TAG:"Error",_0:u._0}}else l={TAG:"Error",_0:d._0}}return l.TAG!=="Ok"?{TAG:"Error",_0:l._0}:(Mo(`Linzumi MCP auth OK
323
- `),{TAG:"Ok",_0:void 0})}async function ZA(e){let t=e.slice(1),r=e[0];if(r!==void 0)switch(r){case"--help":case"-h":return Mo(yu()),{TAG:"Ok",_0:void 0};case"config":return await YU(t);case"doctor":return await e2(t);case"server":return await XU(t);default:return{TAG:"Error",_0:"unknown linzumi mcp command: "+r}}else return Mo(yu()),{TAG:"Ok",_0:void 0}}function VA(e){if(typeof e=="number"&&e%1===0)return e}function r2(e){if(typeof e=="string")return e}function n2(e){let t=e.replaceAll("-","+").replaceAll("_","/");switch(t.length&3){case 2:return t+"==";case 3:return t+"=";default:return t}}function WA(e){let t=e.split(".")[1];if(t===void 0)return;let r=Buffer.from(n2(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 HA(e){let t=WA(e);if(t===void 0)return{actorUserId:void 0,actorUsername:void 0};let r=VA(t.actor_id);return{actorUserId:r!==void 0?r:VA(t.sub),actorUsername:r2(t.actor_username)}}function KA(e){let t=x(WA(e),n=>n.workspace_scope),r=t!==void 0?Array.isArray(t)?Ne(t,n=>{if(typeof n=="string"&&n.trim()!=="")return n}):[]:[];if(r.length===1)return r[0]}function $d(){return k("1.0.135","0.0.0-unbundled")}function eb(){return"linzumi "+k("1.0.135","0.0.0-unbundled")}import*as $o from"node:os";import*as gm from"node:path";import*as pv from"node:crypto";function Ff(e){let t=parseFloat(e);if(!Number.isNaN(t))return t}function XA(e){return"local_runner:"+e}var i2="kandan-local-codex-runner",o2="rescript";function YA(e){let t={};t.clientName=i2,t.clientId=e.clientId;let r=e.machineFingerprint;t.machineFingerprint=r!==void 0?r:null,Object.entries(a0(e.machineFingerprintV2)).forEach(s=>{t[s[0]]=s[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 s={};s.epoch=o,s.overlap=!0,t.generation=s}return t.commander_impl=o2,t}function eC(e,t,r){let n={};return n.last_seq=r,t!==void 0&&(n.runner_id=e,n.thread_id=t),n}function yn(e,t){return e.catch(r=>t(Q(r)))}function rC(){let e=[],t=[],r={contents:!1},n=()=>{let s=e.shift();return s!==void 0?Promise.resolve({done:!1,value:s}):r.contents?Promise.resolve({done:!0}):new Promise((a,l)=>{t.push(a)})},i=()=>(r.contents=!0,Promise.resolve({done:!0})),o={};return o[Symbol.asyncIterator]=()=>({next:n,return:i}),{iterable:o,push:s=>{if(r.contents)return!1;let a=t.shift();return a!==void 0?(a({done:!1,value:s}),!0):(e.push(s),!0)},close:()=>{r.contents=!0,(()=>{for(;;){let a=t.shift();if(a===void 0)return;a({done:!0})}})()}}}function nC(e){return import(e)}var a2="@anthropic-ai/claude-agent-sdk";function iC(e){return rC()}function l2(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 oC(){let e=await nC(a2);return{query:t=>l2(e.query(t)),getSessionInfo:(t,r)=>e.getSessionInfo(t,r),listSessions:t=>e.listSessions(t),getSessionMessages:(t,r)=>e.getSessionMessages(t,r)}}var tb=["codex","claude-code","pi","opencode"];function xs(e){return e}function aC(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"}}function dr(e,t){delete e[t]}function d2(e){switch(e){case"SocketOpen":return"open";case"SocketMessage":return"message";case"SocketClose":return"close";case"SocketError":return"error"}}function u2(e){let t=e.data,r;r=t==null||typeof t!="string"?void 0:t;let n=e.code,i;i=n==null||typeof n!="number"||(n|0)!==n?void 0:n|0;let o=e.reason,s;return s=o==null||typeof o!="string"?void 0:o,{data:r,code:i,reason:s}}function c2(e){return{readyState:()=>e.readyState,send:t=>{e.send(t)},close:()=>{e.close()},on:(t,r)=>{e.addEventListener(d2(t),n=>r(u2(n)),{})}}}function Gf(e,t){return c2(new WebSocket(e,t))}var lC=0,ks=1;var f2="file",m2=["mcp_oauth_credentials_store","cli_auth_credentials_store"],V8=m2.flatMap(e=>["-c",e+'="'+f2+'"']);var p2="kandan-local-codex-runner",h2="0.0.1";function uC(){return Object.fromEntries([["clientInfo",Object.fromEntries([["name",p2],["version",h2]])],["capabilities",Object.fromEntries([["experimentalApi",!0]])]])}var _2=new RegExp("\\bsession\\b.+\\bis archived\\b","i");function cC(e){return _2.test(e)}var g2=new RegExp("^thread not found(?:\\s*:|\\b)","i");function fC(e){return g2.test(e.trim())}function y2(e){try{e.unref();return}catch{return}}var pC="codex app-server websocket closed",b2="codex app-server websocket is not open";function v2(e){let t=e.method;if(typeof t=="string")return t}function S2(e){let t=e.error;if(t===void 0)return{TAG:"ResultReply",_0:k(e.result,null)};if(typeof t!="object"||t===null||Array.isArray(t))return{TAG:"ErrorReply",code:0,message:JSON.stringify(t)};let r=t.code,n=r!==void 0&&typeof r=="number"?r:0,i=t.message;return{TAG:"ErrorReply",code:n,message:typeof i=="string"?i:""}}function qf(e,t,r,n){let i=JSON.stringify(n);t(r,i);try{return e.socket.send(i),{TAG:"Ok",_0:void 0}}catch(o){let s=Q(o);return{TAG:"Error",_0:Ye(s).message}}}function yC(e,t,r){try{return t(r)}catch(n){let i=Q(n);return e("codex.notification_callback_failed",Object.fromEntries([["purpose","codex.app_server"],["method",r.method],["message",Ye(i).message]]))}}function hC(e,t,r){try{return t(r)}catch(n){let i=Q(n);return e("codex.close_callback_failed",Object.fromEntries([["purpose","codex.app_server"],["message",Ye(i).message]]))}}function w2(e,t){let r;if(t.TAG==="Ok")r=[["jsonrpc","2.0"],["id",e],["result",t._0]];else{let n=t._0;r=[["jsonrpc","2.0"],["id",e],["error",Object.fromEntries([["code",n[0]],["message",n[1]]])]]}return Object.fromEntries(r)}async function x2(e,t,r,n){let i={TAG:"Error",_0:[-32601,"unhandled Codex app-server request: "+n.method]},o=e.requestCallbacks.slice(),s,a=0;for(;uu(s)&&a<o.length;){let d=o[a];if(d!==void 0){let u=0,c;try{c=await d(n),u=1}catch(f){let p=Q(f);s={TAG:"Error",_0:[-32e3,Ye(p).message]}}u===1&&c!==void 0&&(s={TAG:"Ok",_0:c})}a=a+1|0}let l=k(s,i);qf(t,r,"outgoing",w2(n.id,l))}function k2(e,t,r,n,i){let o;try{o=JSON.parse(i)}catch(p){let m=Q(p);r("codex.app_server_frame_malformed",Object.fromEntries([["purpose","codex.app_server"],["message",Ye(m).message],["payload",i.slice(0,512)],["payloadChars",i.length]])),o=void 0}let s;if(o!==void 0){let p=0;typeof o=="object"&&o!==null&&!Array.isArray(o)?s=o:p=1,p===1&&(r("codex.app_server_frame_malformed",Object.fromEntries([["purpose","codex.app_server"],["message","codex app-server sent non-object JSON-RPC message"],["payload",i.slice(0,512)],["payloadChars",i.length]])),s=void 0)}else s=void 0;if(s===void 0)return;let a=Or(s.id),l=a&&(Or(s.result)||Or(s.error)),d=v2(s);if(l){let p=k(s.id,null),m=JSON.stringify(p),h=e.pending[m];return h!==void 0?(dr(e.pending,m),h.resolvePending({TAG:"Ok",_0:S2(s)})):void 0}if(a)if(d!==void 0){yn(x2(e,t,n,{id:k(s.id,null),method:d,params:s.params}),p=>Promise.resolve());return}else return;if(d===void 0)return;let u=s.params,c={method:d,params:u};e.notificationCallbacks.length!==0?e.notificationCallbacks.forEach(p=>yC(r,p,c)):e.pendingNotifications.push(c)}function T2(e,t,r){return Object.fromEntries(r!==void 0?[["jsonrpc","2.0"],["id",e],["method",t],["params",r]]:[["jsonrpc","2.0"],["id",e],["method",t]])}function _C(e,t){return Object.fromEntries(t!==void 0?[["jsonrpc","2.0"],["method",e],["params",t]]:[["jsonrpc","2.0"],["method",e]])}function gC(e,t,r,n,i,o){return t.socket.readyState()===ks?new Promise((s,a)=>{e.pending[JSON.stringify(n)]={resolvePending:s};let l=qf(t,r,"request",T2(n,i,o));l.TAG!=="Ok"&&(dr(e.pending,JSON.stringify(n)),s({TAG:"Error",_0:l._0}))}):Promise.resolve({TAG:"Error",_0:b2})}async function bC(e,t,r,n){let i=t!==void 0?t:u=>({socket:Gf(u,[]),ping:void 0}),o=r!==void 0?r:2e3,s=n!==void 0?n:()=>Date.now(),a=s()+o,l,d="websocket open failed";for(;uu(l);){let u;try{u={TAG:"Ok",_0:i(e)}}catch(c){let f=Q(c);u={TAG:"Error",_0:Ye(f).message}}if(u.TAG==="Ok"){let c=u._0;if(await new Promise((f,p)=>{c.socket.on("SocketOpen",m=>f(!0)),c.socket.on("SocketError",m=>f(!1))}))l={TAG:"Ok",_0:c};else{try{c.socket.close()}catch{}s()>a&&(l={TAG:"Error",_0:d})}}else d=u._0,s()>a&&(l={TAG:"Error",_0:d})}return k(l,{TAG:"Error",_0:d})}async function vC(e,t){let r={pending:{},notificationCallbacks:[],requestCallbacks:[],pendingNotifications:[],closeCallbacks:[],nextId:1,closeError:void 0},n=t.audit,i=t.onWire,o=setInterval(()=>{let d=e.ping;if(d!==void 0&&e.socket.readyState()===ks)try{return d()}catch{return}},t.keepaliveIntervalMs);y2(o);let s=d=>{clearInterval(o);let u=Object.entries(r.pending);if(Object.entries(r.pending).forEach(p=>dr(r.pending,p[0])),u.forEach(p=>p[1].resolvePending({TAG:"Error",_0:d})),r.closeError!==void 0)return;r.closeError=d;let f=r.closeCallbacks.slice();r.closeCallbacks.splice(0,r.closeCallbacks.length),f.forEach(p=>hC(n,p,d))};e.socket.on("SocketClose",d=>s(pC)),e.socket.on("SocketError",d=>s(pC)),e.socket.on("SocketMessage",d=>{let u=d.data;if(u!==void 0)return i("incoming",u),k2(r,e,n,i,u)});let a=await gC(r,e,i,"initialize","initialize",uC());if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};let l=a._0;return l.TAG!=="ResultReply"?{TAG:"Error",_0:"codex initialize failed: "+l.message}:(qf(e,i,"outgoing",_C("initialized",void 0)),{TAG:"Ok",_0:{request:(d,u)=>{let c=r.nextId;return r.nextId=r.nextId+1|0,gC(r,e,i,c,d,u)},notify:(d,u)=>{qf(e,i,"outgoing",_C(d,u))},onNotification:d=>{r.notificationCallbacks.push(d);let u=r.pendingNotifications.slice();r.pendingNotifications.splice(0,r.pendingNotifications.length),u.forEach(c=>yC(n,d,c))},onRequest:d=>{r.requestCallbacks.push(d)},onClose:d=>{let u=r.closeError;if(u!==void 0)return hC(n,d,u);r.closeCallbacks.push(d)},isClosed:()=>Or(r.closeError),close:()=>{clearInterval(o);try{return e.socket.close()}catch{return}}}})}import*as SC from"node:os";import*as ko from"node:path";function rb(e){let t=zs(e,"LINZUMI_CONTROL_CURSOR_DIR");return t!==void 0&&t.trim()!==""?t.trim():ko.join(SC.homedir(),".linzumi","control-cursors")}var A2=new RegExp("[^A-Za-z0-9._-]+","g"),C2=new RegExp("^[-.]+|[-.]+$","g");function nb(e){let t=e.replace(A2,"-").replace(C2,"").slice(0,80),r=vn(e).slice(0,8);return(t===""?"runner":t)+"."+r}function wC(e,t){return ko.join(rb(t),nb(e)+".json")}function xC(e,t){return ko.join(rb(t),nb(e)+".start-turn.json")}function kC(e,t){return ko.join(rb(t),nb(e)+".source-seq.json")}function TC(e,t){return e+" "+t}function OC(e,t,r){return e+" "+t+" "+r}var AC="__control_epoch";function E2(e){let t;try{t=JSON.parse(e)}catch{t=void 0}if(t===void 0)return{TAG:"Error",_0:void 0};if(typeof t!="object"||t===null||Array.isArray(t))return{TAG:"Error",_0:void 0};let r={},n={contents:void 0};return Object.entries(t).forEach(i=>{let o=i[1],s=i[0];if(s===AC)if(typeof o=="string"&&o!==""){n.contents=o;return}else return;else if(typeof o=="number"&&er(o)&&o>=0){r[s]=o;return}else return}),{TAG:"Ok",_0:{cursors:r,epoch:n.contents}}}function P2(e,t){let r=Sr(e);if(r.TAG==="Ok"){let i=E2(r._0);return i.TAG==="Ok"?i._0:(t("control_cursor_store.corrupt_ignored",Object.fromEntries([["path",e]])),{cursors:{},epoch:void 0})}let n=r._0;return Vi(n,"ENOENT")||t("control_cursor_store.read_failed",Object.fromEntries([["path",e],["message",n.message]])),{cursors:{},epoch:void 0}}function $2(e,t){let r={};return t!==void 0&&(r[AC]=t),Object.entries(e).forEach(n=>{r[n[0]]=n[1]}),JSON.stringify(r)+`
324
- `}function Df(e,t,r,n){let i=r!==void 0?r:!1,o=n!==void 0?n:!1,s=P2(e,t),a=s.cursors,l={contents:s.epoch},d={contents:!1},u={contents:void 0},c=()=>{if(!d.contents)return;d.contents=!1;let m=$2(a,l.contents),h=e+".tmp",_=Ce(mr(ko.dirname(e)),()=>o?Ev(h,e,ko.dirname(e),m):Ce(Wi(h,m),()=>Hi(h,e)));if(_.TAG!=="Ok")return t("control_cursor_store.write_failed",Object.fromEntries([["path",e],["message",_._0.message]]))},f=()=>{if(d.contents=!0,u.contents!==void 0)return;let h=setTimeout(()=>{u.contents=void 0,c()},250);h.unref(),u.contents=mt(h)},p=()=>{let m=u.contents;m!==void 0&&(clearTimeout(se(m)),u.contents=void 0),c()};return{initial:m=>a[m],onAdvance:(m,h)=>{let _=a[m];_!==void 0&&h<=_||(a[m]=h,f())},reset:(m,h)=>{if(!de(a[m],h))return a[m]=h,f()},flush:p,epoch:()=>l.contents,adoptEpoch:m=>{if(de(l.contents,m))return!1;let h=l.contents!==void 0,_=!h&&i&&Object.entries(a).length!==0;return l.contents=m,(h||_)&&(_&&t("control_cursor_store.pre_epoch_seqs_discarded",Object.fromEntries([["path",e],["epoch",m],["discardedSeqs",Object.entries(a).length]])),Object.entries(a).forEach(g=>dr(a,g[0]))),f(),(h||_)&&p(),h}}}function CC(e,t,r,n,i){return{current:()=>e.epoch(),adopt:(o,s)=>{let a=e.epoch(),l=e.adoptEpoch(s),d=t.adoptEpoch(s),u=l||d;return u&&r("kandan.control_epoch_changed",Object.fromEntries([["runnerId",n],["kandanUrl",i],["topic",o],["previousEpoch",a!==void 0?a:null],["epoch",s],["controlCursorCleared",l],["startTurnWatermarksCleared",d]])),u}}}var W8=1800*1e3;var H8=new RegExp("[^A-Za-z0-9._-]+","g"),K8=new RegExp("^[-.]+|[-.]+$","g");function EC(e){return{initial:t=>e.initial(t),onAdvance:(t,r)=>e.onAdvance(t,r),flush:()=>e.flush()}}function ib(e,t){return e!==void 0?t>e:!0}function ob(e,t,r,n){if(n!==void 0){let i=e.initial(t);i!==void 0&&r<=i&&n("commander.invariant_violation",Object.fromEntries([["invariant","watermark_regression"],["thread_id",null],["harness",null],["detail","watermark_key="+t+" committed_source_seq="+r.toString()+" durable_floor="+i.toString()]]))}e.onAdvance(t,r),e.flush()}function PC(e){return e!==void 0?Array.isArray(e)?Ne(e,t=>{if(typeof t!="object"||t===null||Array.isArray(t))return;let r=t.threadId;if(r===void 0||typeof r!="string")return;let n=t.channelId,i;if(n!==void 0)switch(typeof n){case"string":i=n;break;case"number":i=n.toString();break;default:i=""}else i="";let o=t.highestProcessedSourceSeq,s=o!==void 0&&typeof o=="number"&&er(o)?o:void 0,a=t.leaseEpoch,l=a!==void 0&&typeof a=="number"&&er(a)?a:void 0;return{channelId:i,threadId:r,highestProcessedSourceSeq:s,leaseEpoch:l}}):[]:[]}function RC(){let e=new Map;return{current:t=>e.get(t),adopt:(t,r)=>{if(!er(r))return!1;let n=e.get(t);return n!==void 0&&(r<n||r===n)?!1:(e.set(t,r),!0)},release:t=>{e.delete(t)},snapshot:()=>e.entries().toArray().map(t=>({threadId:t[0],leaseEpoch:t[1]}))}}function Lf(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function j2(e,t){let r=e[t];if(typeof r=="string")return r}function To(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&isFinite(r)&&Math.round(r)===r)return r}function sb(e){return W(Lf(e,"usage"),t=>({inputTokens:To(t,"input_tokens"),outputTokens:To(t,"output_tokens"),cacheCreationInputTokens:To(t,"cache_creation_input_tokens"),cacheReadInputTokens:To(t,"cache_read_input_tokens")}))}function zC(){return{completed:{inputTokens:0,outputTokens:0,cacheCreationInputTokens:0,cacheReadInputTokens:0},current:void 0,lastEmittedKey:void 0}}function IC(e,t){let r=n=>t!==void 0?n(t):0;return{inputTokens:k(To(e,"input_tokens"),r(n=>n.inputTokens)),outputTokens:k(To(e,"output_tokens"),r(n=>n.outputTokens)),cacheCreationInputTokens:k(To(e,"cache_creation_input_tokens"),r(n=>n.cacheCreationInputTokens)),cacheReadInputTokens:k(To(e,"cache_read_input_tokens"),r(n=>n.cacheReadInputTokens))}}function MC(e){let t=(a,l)=>{let d=e.current;return a+(d!==void 0?l(d):0)},r=t(e.completed.inputTokens,a=>a.inputTokens),n=t(e.completed.outputTokens,a=>a.outputTokens),i=t(e.completed.cacheCreationInputTokens,a=>a.cacheCreationInputTokens),o=t(e.completed.cacheReadInputTokens,a=>a.cacheReadInputTokens),s=r.toString()+":"+n.toString()+":"+(i.toString()+":"+o.toString());if(!de(e.lastEmittedKey,s))return e.lastEmittedKey=s,{inputTokens:r,outputTokens:n,cacheCreationInputTokens:i,cacheReadInputTokens:o}}function jC(e,t){let r=x(t,n=>j2(n,"type"));if(r!==void 0)switch(r){case"message_delta":let n=x(t,s=>Lf(s,"usage"));return n!==void 0?(e.current=IC(n,e.current),MC(e)):void 0;case"message_start":let i=x(x(t,s=>Lf(s,"message")),s=>Lf(s,"usage"));if(i===void 0)return;let o=e.current;return o!==void 0&&(e.completed.inputTokens=e.completed.inputTokens+o.inputTokens,e.completed.outputTokens=e.completed.outputTokens+o.outputTokens,e.completed.cacheCreationInputTokens=e.completed.cacheCreationInputTokens+o.cacheCreationInputTokens,e.completed.cacheReadInputTokens=e.completed.cacheReadInputTokens+o.cacheReadInputTokens),e.current=IC(i,void 0),MC(e);default:return}}function Id(e){if(e<425){if(e===402||e===408)return"transient_upstream"}else{if(e===425)return"transient_upstream";if(e===429)return"rate_limited"}return e>=500&&e<=599?"transient_upstream":"deterministic"}function lb(e){return e==="Text"?"text":"thinking"}function GC(){return{activeMessageId:void 0,syntheticMessageCounter:0,completedMessageIds:[],consumedAssistantMessageIds:new Set,blocksByMessageId:{}}}function ab(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function Oo(e,t){let r=e[t];if(typeof r=="string")return r}function FC(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&isFinite(r)&&Math.round(r)===r)return r|0}function db(e,t){return e.syntheticMessageCounter=e.syntheticMessageCounter+1|0,"synthetic-claude-message:"+t+":"+e.syntheticMessageCounter.toString()}function F2(e,t){let r=e.activeMessageId;if(r!==void 0)return r;let n=db(e,t);return e.activeMessageId=n,n}function ub(e,t){return"claude-message:"+e+":content-block:"+t.toString()}function Uf(e,t,r,n){if(r===void 0)return;let i=F2(e,"orphan-stream-event"),o=e.blocksByMessageId[i],s;if(o!==void 0)s=o;else{let l=[];e.blocksByMessageId[i]=l,s=l}let a=s.find(l=>l.index===r);a!==void 0?a.content=a.content+k(n,""):s.push({kind:t,index:r,content:k(n,"")})}function qC(e,t){let r=x(t,n=>Oo(n,"type"));if(r!==void 0)switch(r){case"content_block_delta":let n=x(t,c=>ab(c,"delta")),i=x(t,c=>FC(c,"index")),o=x(n,c=>Oo(c,"type"));if(o!==void 0)switch(o){case"text_delta":Uf(e,"Text",i,x(n,c=>Oo(c,"text")));break;case"thinking_delta":Uf(e,"Thinking",i,x(n,c=>Oo(c,"thinking")));break}return e.activeMessageId;case"content_block_start":let s=x(t,c=>ab(c,"content_block")),a=x(t,c=>FC(c,"index")),l=x(s,c=>Oo(c,"type"));if(l!==void 0)switch(l){case"text":Uf(e,"Text",a,x(s,c=>Oo(c,"text")));break;case"thinking":Uf(e,"Thinking",a,x(s,c=>Oo(c,"thinking")));break}return e.activeMessageId;case"message_start":let d=x(x(t,c=>ab(c,"message")),c=>Oo(c,"id"));e.activeMessageId=d!==void 0?d:db(e,"missing-message-start-id");return;case"message_stop":let u=e.activeMessageId;u!==void 0&&!e.consumedAssistantMessageIds.has(u)&&e.completedMessageIds.push(u),e.activeMessageId=void 0;return;default:return}}function DC(e,t){if(t!==void 0){e.consumedAssistantMessageIds.add(t);let n=Ro(e.completedMessageIds,t);return n!==void 0&&e.completedMessageIds.splice(n,1),t}let r=e.completedMessageIds.shift();return r!==void 0?(e.consumedAssistantMessageIds.add(r),r):db(e,"missing-assistant-frame-id")}function LC(e,t){let r=e.blocksByMessageId[t];return r!==void 0?(dr(e.blocksByMessageId,t),r.toSorted((n,i)=>ou(n.index,i.index))):[]}function UC(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function cb(e,t){let r=e[t];if(typeof r=="string")return r}function fb(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&isFinite(r))return r}function q2(e){if(e===void 0||e<0)return;let t=e<=1?e*100:e;return Math.min(100,Math.round(t))}function D2(e){if(e!==void 0&&e>0)return e>1e12?Math.round(e):Math.round(e*1e3)}function mb(e){let t=cb(e,"status"),r=cb(e,"rateLimitType"),n=r!==void 0?r:cb(e,"rate_limit_type"),i=q2(fb(e,"utilization")),o=fb(e,"resetsAt"),s=D2(o!==void 0?o:fb(e,"resets_at"));if(!(t===void 0&&i===void 0&&s===void 0))return{status:t,windowLabel:n,utilizationPercent:i,resetsAtMs:s}}function ZC(e){let t=UC(e,"rate_limit_info");if(t!==void 0)return mb(t);let r=UC(e,"rate_limit");return mb(r!==void 0?r:e)}var U2="edge_blocked";function Z2(e){let t=e.toLowerCase(),r=t.includes("<html")||t.includes("<!doctype html"),n=t.includes("cloudflare");return t.includes("sorry, you have been blocked")||t.includes("attention required")&&n||t.includes("cf_chl_")||t.includes("challenge-platform")||t.includes("just a moment")&&(n||t.includes("cf-"))?!0:r?t.includes("cloudflare ray id")||t.includes("cf-ray")?!0:n?t.includes("blocked"):!1:!1}function WC(e,t){let r=e.exec(t);if(r==null)return;let n=r.slice(1)[0];if(n===void 0)return;let i=se(n);if(i!==void 0)return i}var V2=[new RegExp("\\bAPI Error:?\\s*([1-5]\\d{2})\\b","i"),new RegExp("\\b(?:HTTP|status(?:\\s+code)?)[\\s:]+([1-5]\\d{2})\\b","i")],W2=[new RegExp('"request[_-]id"\\s*:\\s*"([^"]{1,128})"',"i"),new RegExp('\\brequest[_ -]id[:=]\\s*"?([A-Za-z0-9_-]{6,128})',"i"),new RegExp("\\b(req_[A-Za-z0-9]{6,})\\b")],H2=new RegExp('"error"\\s*:\\s*\\{[^{}]*?"message"\\s*:\\s*"((?:[^"\\\\]|\\\\.){1,500})"');function VC(e,t){return We(e,void 0,(r,n)=>r!==void 0?r:WC(n,t))}function K2(e){let t;try{t=JSON.parse('"'+e+'"')}catch{return e}return typeof t=="string"?t:e}function B2(e){let t=WC(H2,e),n=(t!==void 0?K2(t):e).trim();return n.length<=200?n:n.slice(0,199)+"\u2026"}function HC(e){return{status:x(VC(V2,e),t=>kl(t,void 0)),requestId:VC(W2,e),edgeBlocked:Z2(e),message:B2(e)}}function pb(e){return Or(e.status)||Or(e.requestId)?!0:e.edgeBlocked}function KC(e,t){let r=[],n=t.status;n!==void 0&&r.push("HTTP "+n.toString());let i=t.requestId;return i!==void 0&&r.push("request "+i),t.edgeBlocked&&r.push("blocked at the network edge by Cloudflare before reaching Linzumi - our infrastructure, not your usage; retrying usually succeeds "+("[failure_class="+U2+"]")),r.length!==0?e+" ("+r.join(", ")+")":e}function BC(e){let t={},r=e.status;t.status=r!==void 0?r:null;let n=e.requestId;return t.request_id=n!==void 0?n:null,t.edge_blocked=e.edgeBlocked,t.message=e.message,t}function XC(e,t,r){return{emitEvent:r,announcedSessionId:e,onSessionStarted:t,sessionAnnounced:!1,pendingTurnIds:[],startedTurns:new Set,terminalTurns:new Set,startedItems:new Set,activeTurnId:void 0,mintedTurnCount:0,usage:zC(),identity:GC()}}function ja(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function kt(e,t){let r=e[t];if(typeof r=="string")return r}function JC(e,t){let r=e[t];if(typeof r=="boolean")return r}function hb(e,t){let r=e[t];if(Array.isArray(r))return r}function Ao(e){if(e===void 0)return;let t=e.trim();if(t!=="")return t}function Q2(e){let t=kt(e,"session_id"),r=t!==void 0?t:kt(e,"sessionId");if(r!==void 0)return r;let n=ja(e,"message");if(n===void 0)return;let i=kt(n,"session_id");return i!==void 0?i:kt(n,"sessionId")}function X2(e,t){if(e.sessionAnnounced)return!1;let r=Q2(t);if(r===void 0)return!1;let n=e.announcedSessionId,i=n!==void 0?n:r;return e.sessionAnnounced=!0,e.emitEvent({TAG:"SessionStarted",harnessSessionId:i}),e.onSessionStarted(i),!0}function Md(e,t){return e.startedTurns.has(t)?!e.terminalTurns.has(t):!1}var YC=Md;function eE(e){let t=e.activeTurnId;return t!==void 0?Md(e,t):!1}function tE(e,t){e.mintedTurnCount=e.mintedTurnCount+1|0;let r="claude:"+t+":turn:"+e.mintedTurnCount.toString();return e.pendingTurnIds.push(r),r}function Na(e){let t=e.activeTurnId;if(t!==void 0&&Md(e,t))return t;let r=e.pendingTurnIds.shift(),n=r!==void 0?r:(e.mintedTurnCount=e.mintedTurnCount+1|0,"claude-adapter-turn-"+e.mintedTurnCount.toString());return e.startedTurns.add(n),e.activeTurnId=n,e.emitEvent({TAG:"TurnStarted",turnId:n}),n}function _b(e,t){if(e.terminalTurns.add(t),de(e.activeTurnId,t)){e.activeTurnId=void 0;return}}function QC(e){return e.turnId+"/"+e.itemId+"/"+e.streamKind}function gb(e,t){if(!e.startedItems.has(QC(t)))return e.startedItems.add(QC(t)),e.emitEvent({TAG:"ItemStarted",item:t})}function yb(e,t,r){gb(e,t),e.emitEvent({TAG:"ItemCompleted",item:t,content:r})}function Y2(e,t,r){gb(e,t),e.emitEvent({TAG:"ItemDelta",item:t,delta:r})}function Ts(e,t){let r=e.activeTurnId;if(k(W(r,n=>Md(e,n)),!0))return e.emitEvent({TAG:"ActivityPulse",turnId:r,signalKind:t})}function eZ(e,t){let r=Ne(k(hb(e,"errors"),[]),s=>{if(typeof s=="string")return Ao(s)}).join("; "),n=Ao(r);if(n!==void 0)return n;let i=Ao(kt(e,"result"));if(i!==void 0)return i;let o=Ao(kt(e,"error"));return o!==void 0?o:k(t,"error")}function tZ(e){let t=kt(e,"subtype"),r=k(JC(e,"is_error"),!1),n=de(t,"interrupt")||de(t,"error_interrupted")||k(JC(e,"is_interrupt"),!1),i=r||de(t,"error_max_turns")||de(t,"error_during_execution");return n?"Interrupted":i?{TAG:"Errored",reason:eZ(e,t)}:"Success"}function rZ(e,t){let r=HC(t),n=r.status;return{fate:e!==void 0?e==="error_max_turns"?"deterministic":n!==void 0?Id(n):"transient_upstream":n!==void 0?Id(n):"transient_upstream",reason:pb(r)?KC("Claude Code failed: "+t,r):"Claude Code failed: "+t,providerDetail:pb(r)?BC(r):void 0}}function nZ(e,t){let r=kt(e,"id");if(r!==void 0)return r;let n=kt(e,"tool_use_id");return n!==void 0?n:"content-block-"+t.toString()}function iZ(e){return e==="Text"?"assistant":"reasoning"}function oZ(e){let t={};t.type=lb(e.kind);let r=e.kind,n;return n=r==="Text"?"text":"thinking",t[n]=e.content,t}function sZ(e,t){let r=Na(e),n=ja(t,"message"),i=k(x(n,y=>hb(y,"content")),[]),o=DC(e.identity,x(n,y=>kt(y,"id"))),a=LC(e.identity,o).filter(y=>y.content.trim()!==""),l={};a.forEach(y=>{let v=lb(y.kind),S=l[v];S!==void 0?S.push(y.index):l[v]=[y.index]});let d={};i.forEach((y,v)=>{let S;if(S=typeof y=="object"&&y!==null&&!Array.isArray(y)?kt(y,"type"):void 0,S===void 0)return;switch(S){case"text":case"thinking":break;default:return}let A=k(S,""),C=d[A];C!==void 0?C.push(v):d[A]=[v]});let u=new Set;a.forEach(y=>{u.add(y.index)});let c=(y,v)=>{let S=k(d[y],[]),A=Ro(S,v);A!==void 0&&S.splice(A,1);let C=k(l[y],[]),V=C[0];if(V!==void 0&&v<V)return C.shift(),!0;let re=Ro(C,v);if(re!==void 0)return C.splice(re,1),!0;let fe=au(C,J=>!S.includes(J));return fe!==void 0?(C.splice(fe,1),!0):!1},f=y=>{if(u.has(y)){let v=y+1|0;for(;u.has(v);)v=v+1|0;return u.add(v),v}return u.add(y),y},p=(y,v)=>({turnId:r,itemId:ub(o,y),streamKind:v}),m=[];a.forEach(y=>{m.push({index:y.index,events:[[p(y.index,iZ(y.kind)),oZ(y)]]})}),i.forEach((y,v)=>{if(typeof y!="object"||y===null||Array.isArray(y))return;let S=kt(y,"type");if(S!==void 0)switch(S){case"text":if(c("text",v))return;if(Ao(kt(y,"text"))!==void 0){m.push({index:v,events:[[p(f(v),"assistant"),y]]});return}else return;case"thinking":if(c("thinking",v))return;if(Ao(kt(y,"thinking"))!==void 0){m.push({index:v,events:[[p(f(v),"reasoning"),y]]});return}else return;case"tool_use":m.push({index:v,events:[[{turnId:r,itemId:nZ(y,v),streamKind:"command_output"},y]]});return;default:return}});let h=i.some(y=>typeof y=="object"&&y!==null&&!Array.isArray(y)?de(kt(y,"type"),"text"):!1),_=a.some(y=>y.kind==="Text"),g=h||_,b=Ao(kt(t,"text"));return g||b===void 0||m.push({index:i.length,events:[[p(f(i.length),"assistant"),b]]}),m.toSorted((y,v)=>ou(y.index,v.index)).flatMap(y=>y.events)}function aZ(e){if(e!==void 0&&e!=="")return e}function lZ(e,t){let r=ja(t,"event"),n=jC(e.usage,r),i=qC(e.identity,r),o={contents:!1};if(n!==void 0){let d=Na(e);e.emitEvent({TAG:"UsageUpdated",turnId:d,usage:n}),o.contents=!0}let s=(d,u)=>W(i,c=>({turnId:Na(e),itemId:ub(c,d),streamKind:u})),a=d=>{let u=d.index;if(u!==void 0&&typeof u=="number"&&isFinite(u)&&Math.round(u)===u)return u|0},l=x(r,d=>kt(d,"type"));if(l!==void 0)switch(l){case"content_block_delta":let d=x(r,b=>ja(b,"delta")),u=x(r,a),c=(b,y)=>{let v=aZ(y);if(u===void 0||v===void 0)return;let S=s(u,b);if(S!==void 0){Y2(e,S,v),o.contents=!0;return}},f=x(d,b=>kt(b,"type")),p=0;f==="thinking_delta"?c("reasoning",x(d,b=>kt(b,"thinking"))):p=1,p===1&&c("assistant",x(d,b=>kt(b,"text")));break;case"content_block_start":let m=x(r,b=>ja(b,"content_block")),h=x(r,a),_=(b,y,v)=>{let S=Ao(y);if(h===void 0||S===void 0)return;let A=s(h,b);if(A!==void 0){yb(e,A,v),o.contents=!0;return}},g=x(m,b=>kt(b,"type"));if(g!==void 0)switch(g){case"text":_("assistant",x(m,b=>kt(b,"text")),k(W(m,b=>b),null));break;case"thinking":_("reasoning",x(m,b=>kt(b,"thinking")),k(W(m,b=>b),null));break}break}if(!o.contents)return Ts(e,"stream_event")}function dZ(e,t){let r=ja(t,"message"),n=k(x(r,o=>hb(o,"content")),[]),i={contents:!1};if(n.forEach((o,s)=>{if(typeof o!="object"||o===null||Array.isArray(o)||!de(kt(o,"type"),"tool_result"))return;let a=Na(e),l=kt(o,"tool_use_id"),d;if(l!==void 0)d=l;else{let u=kt(o,"id");d=u!==void 0?u:"content-block-"+s.toString()}yb(e,{turnId:a,itemId:d,streamKind:"command_output"},o),i.contents=!0}),!i.contents)return Ts(e,"user")}function uZ(e,t){_b(e,t),e.emitEvent({TAG:"TurnCompleted",turnId:t})}function cZ(e,t,r){_b(e,t),e.emitEvent({TAG:"TurnInterrupted",turnId:t,reason:r})}function fZ(e,t,r){_b(e,t),e.emitEvent({TAG:"TurnFailed",turnId:t,failure:r})}function mZ(e,t){let r=tZ(t);if(typeof r!="object"){if(r==="Success"){let i=Na(e),o=sb(t);return o!==void 0&&e.emitEvent({TAG:"UsageUpdated",turnId:i,usage:o}),uZ(e,i)}let n=e.activeTurnId;return n!==void 0&&Md(e,n)?cZ(e,n,void 0):void 0}else{let n=Na(e),i=sb(t);return i!==void 0&&e.emitEvent({TAG:"UsageUpdated",turnId:n,usage:i}),fZ(e,n,rZ(kt(t,"subtype"),r.reason))}}function rE(e,t){if(typeof t!="object"||t===null||Array.isArray(t))return;let r=X2(e,t),n=kt(t,"type");if(n!==void 0)switch(n){case"assistant":sZ(e,t).forEach(s=>{let a=s[0];return a.streamKind==="command_output"?gb(e,a):yb(e,a,s[1])});return;case"rate_limit_event":let i=ZC(t);return i!==void 0?e.emitEvent({TAG:"RateLimitUpdated",rateLimit:i}):Ts(e,"rate_limit_event");case"result":return mZ(e,t);case"stream_event":return lZ(e,t);case"system":let o=kt(t,"subtype");return o!==void 0?o==="init"?r?void 0:Ts(e,"system:init"):Ts(e,"system:"+o):Ts(e,"system");case"user":return dZ(e,t);default:return Ts(e,n)}}var hZ=["liveModelSwitch","liveEffortSwitch","sessionHistoryListing","slashCommandCatalog"];function Fa(e){let t=nr(e);return t!==void 0?k(fr(se(t)),"unknown error"):"unknown error"}function nE(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{TAG:"Error",_0:"unsupported Claude Code approval policy: "+e}}}function sE(e){let t=W(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 _Z(e){let t=e.attachments.length,r;if(t!==0){let o={};o.type="text",o.text=e.text,r=[o].concat(e.attachments)}else r=e.text;let n={};n.role="user",n.content=r;let i={};return i.type="user",i.message=n,i.parent_tool_use_id=null,i}function gZ(e,t,r){let n={};return n.tool_name=e,n.input=t,r!==void 0&&(n.suggestions=r),n}function yZ(e,t){let r={};return r.behavior="allow",r.toolUseID=e,r.updatedInput=t,r}function aE(e,t){let r={};return r.behavior="deny",r.message=k(t,"denied by the approval bridge"),r.toolUseID=e,r}function iE(e){return{harnessSessionId:e.harnessSessionId,dispatchTurn:async t=>{if(e.stopped)return{TAG:"Error",_0:{fate:"transient_local",reason:"the session is stopped; no turn can be dispatched",providerDetail:void 0}};let r;if(t.model===e.currentModel)r={TAG:"Ok",_0:void 0};else try{await e.connection.setModel(t.model),e.currentModel=t.model,r={TAG:"Ok",_0:void 0}}catch(a){let l=Q(a);r={TAG:"Error",_0:{fate:"transient_local",reason:"setModel failed: "+Fa(l),providerDetail:void 0}}}if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=sE(t.reasoningEffort),i;if(typeof n!="object")if(n==="ClearEffort"&&Or(e.currentEffort))try{let a={};a.effortLevel=null,await e.connection.applyFlagSettings(a),e.currentEffort=void 0,i={TAG:"Ok",_0:void 0}}catch(a){let l=Q(a);i={TAG:"Error",_0:{fate:"transient_local",reason:"applyFlagSettings failed: "+Fa(l),providerDetail:void 0}}}else i={TAG:"Ok",_0:void 0};else{let a=n._0;if(Zi(a,e.currentEffort))try{let l={};l.effortLevel=a,await e.connection.applyFlagSettings(l),e.currentEffort=a,i={TAG:"Ok",_0:void 0}}catch(l){let d=Q(l);i={TAG:"Error",_0:{fate:"transient_local",reason:"applyFlagSettings failed: "+Fa(d),providerDetail:void 0}}}else i={TAG:"Ok",_0:void 0}}if(i.TAG!=="Ok")return{TAG:"Error",_0:i._0};let o=tE(e.projector,e.harnessSessionId);if(e.input.push(_Z(t.input)))return{TAG:"Ok",_0:{turnId:o}};let s=Ro(e.projector.pendingTurnIds,o);return s!==void 0&&e.projector.pendingTurnIds.splice(s,1),{TAG:"Error",_0:{fate:"transient_local",reason:"the streaming input is closed; no turn can be dispatched",providerDetail:void 0}}},steerTurn:(t,r)=>Promise.resolve({TAG:"Error",_0:{TAG:"NotSupported",capability:"midTurnSteer"}}),interruptTurn:async t=>{if(!YC(e.projector,t))return{TAG:"Ok",_0:void 0};try{return await e.connection.interrupt(),{TAG:"Ok",_0:void 0}}catch(r){let n=Q(r);return{TAG:"Error",_0:{fate:"transient_local",reason:"interrupt failed: "+Fa(n),providerDetail:void 0}}}},respondToApproval:(t,r)=>{let n=au(e.pendingApprovals,s=>s.requestId===t),i=x(n,s=>e.pendingApprovals[s]);if(i===void 0)return Promise.resolve({TAG:"Error",_0:{fate:"deterministic",reason:"no unresolved approval request with id "+t,providerDetail:void 0}});n!==void 0&&e.pendingApprovals.splice(n,1);let o;if(r.TAG==="Approve"){let s=r.updatedInput;o=yZ(t,s!==void 0?s:i.toolInput)}else o=aE(t,r.message);return i.resolveDecision(o),Promise.resolve({TAG:"Ok",_0:void 0})},injectContext:t=>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:()=>(e.stopped||(e.stopped=!0,e.input.close(),e.connection.close()),Promise.resolve())}}function oE(e,t,r,n,i){let o=iC(),s={contents:void 0},a=J=>{let K=s.contents;if(!(K!==void 0&&K.stopped))return i(J)},l={contents:void 0},d=new Promise((J,K)=>{l.contents=J}),u=J=>{let K=l.contents;if(K!==void 0)return l.contents=void 0,K(J)},c=XC(n,J=>u({TAG:"Ok",_0:J}),a),f=(J,K,ae)=>new Promise((z,Z)=>{let $=ae.toolUseID,I=s.contents;return I!==void 0?(I.pendingApprovals.push({requestId:$,toolInput:K,resolveDecision:z}),a({TAG:"ApprovalRequested",request:{requestId:$,turnId:c.activeTurnId,kind:"canUseTool",summary:J,payload:gZ(J,K,Qn(ae.suggestions))}})):z(aE($,"approval bridge not ready"))}),p=sE(t.reasoningEffort),m;m=typeof p!="object"?void 0:p._0;let h=e.env,_=Object.entries(t.environment).length,g,b=0;if(h!==void 0||_!==0?b=1:g=void 0,b===1){let J={};h!==void 0?Object.entries(h).forEach(K=>{J[K[0]]=K[1]}):Object.entries(process.env).forEach(K=>{J[K[0]]=K[1]}),Object.entries(t.environment).forEach(K=>{J[K[0]]=K[1]}),g=J}let y={};y.type="preset",y.preset="claude_code";let v={};v.type="preset",v.preset="claude_code";let S=t.developerInstructions;S!==void 0&&(v.append=S);let A;A=r==="bypassPermissions"?!0:void 0;let C=e.sdk.query({prompt:o.iterable,options:{cwd:t.cwd,model:t.model,persistSession:!0,includePartialMessages:!0,tools:y,settingSources:["user","project","local"],systemPrompt:v,resume:n,permissionMode:r,allowDangerouslySkipPermissions:A,effort:m,env:g,canUseTool:f}}),V={harnessSessionId:k(n,""),currentModel:t.model,currentEffort:m,input:o,connection:C,projector:c,pendingApprovals:[],stopped:!1,diedReported:!1};s.contents=V;let re=J=>{if(!(V.stopped||V.diedReported))return V.diedReported=!0,e.audit("claude.sdk_stream_died",Object.fromEntries([["reason",J]])),a({TAG:"HarnessDied",failure:{fate:"transient_local",reason:J,providerDetail:void 0}})};return(async()=>{let J=!0;for(;J;){let K;try{K=await V.connection.next()}catch(ae){let z=Q(ae);J=!1;let Z="Claude Code SDK stream threw: "+Fa(z);u({TAG:"Error",_0:{fate:"transient_local",reason:Z,providerDetail:void 0}}),re(Z),K=void 0}if(K!==void 0)if(K.done){J=!1;let ae=eE(V.projector)?"Claude Code stopped mid-turn: the SDK stream ended before the turn produced a final response. The turn was failed instead of being reported complete - retry the message to continue.":"Claude Code SDK stream ended while the session was idle";u({TAG:"Error",_0:{fate:"transient_local",reason:"Claude Code SDK stream ended before the session started",providerDetail:void 0}}),re(ae)}else rE(V.projector,K.value)}})(),{state:V,started:d}}function lE(e){let t=[];return{harness:"claude-code",capabilities:hZ,startSession:async(i,o)=>{let s=nE(i.approvalPolicy);if(s.TAG!=="Ok")return{TAG:"Error",_0:{fate:"deterministic",reason:s._0,providerDetail:void 0}};let a=oE(e,i,s._0,void 0,o),l=await a.started;return l.TAG==="Ok"?(a.state.harnessSessionId=l._0,t.push(a.state),{TAG:"Ok",_0:iE(a.state)}):(a.state.input.close(),a.state.connection.close(),{TAG:"Error",_0:l._0})},attachSession:async(i,o,s)=>{let a=nE(o.approvalPolicy);if(a.TAG!=="Ok")return{TAG:"Error",_0:{fate:"deterministic",reason:a._0,providerDetail:void 0}};let l={};l.dir=o.cwd;let d;try{let f=await e.sdk.getSessionInfo(i,l);d={TAG:"Ok",_0:Or(f==null?void 0:mt(f))}}catch(f){let p=Q(f);d={TAG:"Error",_0:{fate:"transient_local",reason:"getSessionInfo failed: "+Fa(p),providerDetail:void 0}}}if(d.TAG!=="Ok")return{TAG:"Error",_0:d._0};if(!d._0)return{TAG:"Error",_0:{fate:"deterministic",reason:"Claude Code session "+i+" was not found for "+o.cwd,providerDetail:void 0}};let u=oE(e,o,a._0,i,s),c=await u.started;return c.TAG==="Ok"?(u.state.harnessSessionId=c._0,t.push(u.state),{TAG:"Ok",_0:iE(u.state)}):(u.state.input.close(),u.state.connection.close(),{TAG:"Error",_0:c._0})},reap:()=>(t.forEach(i=>{if(!i.stopped)return i.stopped=!0,i.input.close(),i.connection.close()}),t.splice(0,t.length),Promise.resolve())}}import*as Zf from"node:path";function bb(e){switch(e){case"rescript":return"Rescript";case"ts":return"Ts";default:return}}function Ga(e){return e==="Ts"?"ts":"rescript"}function vb(e){return Zf.join(e,".linzumi","commanderImpl")}function dE(e){let t=Sr(e);if(t.TAG==="Ok")return bb(t._0.trim())}function uE(e,t){let r=e+".tmp."+process.pid.toString()+"."+mu(6);return Ce(mr(Zf.dirname(e)),()=>{let n=Ce(Wi(r,Ga(t)+`
325
- `),()=>Hi(r,e));return n.TAG==="Ok"?{TAG:"Ok",_0:void 0}:(Yn(r),{TAG:"Error",_0:n._0})})}function fE(e,t){return e!==void 0?t<=e:!1}function mE(e,t,r){e.onAdvance(t,r),e.flush()}function cE(e){let t=nr(e);if(t===void 0)return String(e);let r=se(t),n=fr(r);return n!==void 0?n:String(r)}function pE(e,t,r,n,i){let o;try{o={TAG:"Ok",_0:t()}}catch(s){o={TAG:"Error",_0:Q(s)}}if(o.TAG==="Ok"){let s=o._0;if(s.TAG==="Returned")return r();yn(s._0.then(a=>r()),a=>{let l=W(i,u=>u(a)),d=0;return l!==void 0&&l!=="Withhold"?r():d=1,d===1&&n("kandan.control_ack_withheld_on_failure",Object.fromEntries([["controlType",e],["message",cE(a)]])),Promise.resolve()});return}n("kandan.control_handler_threw",Object.fromEntries([["controlType",e],["message",cE(o._0)]])),r()}function hE(e,t){return x(e[t],hr)}function _E(e,t){return x(e[t],Lo)}function gE(e,t){return x(e[t],De)}function wZ(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 xZ(e){let t=De(e);if(t===void 0)return;let r=k(gE(t,"payload"),{}),n=hE(t,"body"),i;if(n!==void 0)i=n;else{let a=x(r.body,hr);i=a!==void 0?a:x(r.text,hr)}let o=_E(t,"seq");if(o===void 0||i===void 0)return;let s=k(gE(t,"actor"),{});return{seq:o,messageType:k(hE(t,"type"),"thread.message"),actorKind:k(x(s.kind,hr),"unknown"),actorSlug:x(s.slug,hr),actorUserId:_E(t,"actor_user_id"),body:i,payload:r}}function kZ(e){return e!==void 0?Array.isArray(e)?Ne(e,xZ):[]:[]}async function yE(e,t,r,n){let i=r.workspace,o=r.channel,s=r.threadId;if(i===void 0)return[];if(o===void 0)return[];if(s===void 0)return[];let a=Object.fromEntries([["workspace",i],["channel",o],["thread_id",s]]),l=await e(t,"session:thread_context",a);if(l.TAG==="Ok"){let d=l._0,u=wZ(d);return u!==void 0?kZ(u.messages):(n("kandan.reconnect_thread_context_fetch_failed",Object.fromEntries([["thread_id",s],["reply",JSON.stringify(d).slice(0,300)]])),[])}return n("kandan.reconnect_thread_context_fetch_failed",Object.fromEntries([["thread_id",s],["message",l._0]])),[]}function TZ(e,t){return"Codex "+e+" did not reply within "+t.toString()+"ms (start request timed out)"}function OZ(e,t,r,n){return t<=0?n:new Promise((i,o)=>{let s=e.setTimer(()=>i({TAG:"Error",_0:TZ(r,t)}),t);n.then(a=>(e.clearTimer(s),i(a),Promise.resolve()))})}function Sb(e){return e==="ResumeArchived"?"resume_archived":"forced_inject_not_found"}var AZ="the server marked the durable engine session dead after an acknowledged-but-unexecuted turn";async function bE(e,t,r,n,i,o){let s={};s.threadId=n,Object.entries(i).forEach(m=>{s[m[0]]=m[1]});let a=s,l=(m,h)=>OZ(t,r,m,e(m,h)),d=async(m,h)=>{o.log("kandan.reconnect_thread_unarchive_started",Object.fromEntries([["codex_thread_id",n],["discovered_by",Sb(m)],["message",h]]));let g=await(async()=>{let v=await l("thread/unarchive",Object.fromEntries([["threadId",n]]));if(v.TAG!=="Ok")return{TAG:"Error",_0:v._0};let S=v._0;if(S.TAG!=="ResultReply")return{TAG:"Error",_0:"thread/unarchive failed: "+S.message};let A=await l("thread/resume",a);if(A.TAG!=="Ok")return{TAG:"Error",_0:A._0};let C=A._0;return C.TAG==="ResultReply"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:"thread/resume after unarchive failed: "+C.message}})();if(g.TAG==="Ok")return o.log("kandan.reconnect_thread_unarchive_resumed",Object.fromEntries([["codex_thread_id",n],["discovered_by",Sb(m)]])),{TAG:"Ok",_0:"Resumed"};let b=g._0;o.log("kandan.reconnect_thread_unarchive_failed",Object.fromEntries([["codex_thread_id",n],["discovered_by",Sb(m)],["archive_error",h],["message",b]]));let y;return y=m==="ResumeArchived"?b:"thread/inject_items failed: "+h+"; 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 h=await(async()=>{let g=o.buildRehydrationItems,b;if(g!==void 0){let re=await g(m);re.TAG==="Ok"?b=re._0:(o.log("kandan.reconnect_thread_rehydration_items_failed",Object.fromEntries([["codex_thread_id",n],["message",re._0]])),b=void 0)}else b=void 0;let y,v=0;if(b!==void 0&&b.length!==0?y={TAG:"Ok",_0:b.slice()}:v=1,v===1){let re=await o.buildRehydrationText(m);y=re.TAG==="Ok"?{TAG:"Ok",_0:[Object.fromEntries([["type","agentMessage"],["text",re._0]])]}:{TAG:"Error",_0:re._0}}if(y.TAG!=="Ok")return{TAG:"Error",_0:y._0};let S=await l("thread/inject_items",Object.fromEntries([["threadId",n],["items",y._0]]));if(S.TAG!=="Ok")return{TAG:"Error",_0:S._0};let A=S._0;if(A.TAG==="ResultReply"){let re=await l("thread/resume",a);if(re.TAG!=="Ok")return{TAG:"Error",_0:re._0};let fe=re._0;return fe.TAG==="ResultReply"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:"rehydrated thread/resume failed: "+fe.message}}let C=A.message;if(!(o.forceRehydrate&&fC(C)))return{TAG:"Error",_0:"thread/inject_items failed: "+C};let V=await d("ForcedInjectNotFound",C);return V.TAG==="Ok"?{TAG:"Ok",_0:V._0}:{TAG:"Error",_0:V._0.message}})();if(h.TAG==="Ok"){let g=h._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 _=h._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(AZ);let c=await l("thread/resume",a);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 p=f.message;return cC(p)?await d("ResumeArchived",p):await u(p)}function qa(e,t){let r=e.indexOf(t);if(r!==-1)return r}var SE=[["codexThreadId","harness_session_id"],["codex_thread_id","harness_session_id"],["kandanThreadId","thread_id"],["kandan_preview_ticket","linzumi_preview_ticket"],["kandan_thread_id","thread_id"],["linzumiThreadId","thread_id"],["linzumi_thread_id","thread_id"],["local_codex_runner","commander"],["runnerId","commander_id"],["runner_config","commander_config"],["runner_id","commander_id"]],Vf=[["commander","local_codex_runner"],["commander_config","runner_config"],["commander_id","runner_id"],["harness_session_id","codex_thread_id"],["linzumi_preview_ticket","kandan_preview_ticket"],["thread_id","kandan_thread_id"]],wb=[["engine_boot_reconnect","harness_boot_reconnect"],["engine_for_runner_event_type","harness_for_commander_event_type"],["engine_rejected_steer","harness_rejected_steer"],["engine_unavailable","harness_unavailable"],["join_engine","join_harness"],["kandan-local-codex-runner","linzumi-commander"],["local_codex_runner","commander"],["original_engine","original_harness"],["resume_engine","resume_harness"]];function EZ(){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 xb(e){let t={};return e.forEach(r=>{t[r[0]]=r[1]}),t}function PZ(e){let t={};return e.forEach(r=>{t[r[1]]=r[0]}),t}var xE=xb(SE),kE=xb(Vf),$Z=xb(wb),RZ=PZ(wb);function IZ(e){return e.endsWith("_canonical")?!0:e.endsWith("_legacy")}function TE(e,t){return t>=32?e:Array.isArray(e)?e.map(r=>TE(r,t+1|0)):e===null?e:typeof e==="object"?OE(e,t):e}function OE(e,t){let r=Object.keys(e),n={};return r.forEach(i=>{let o=e[i];if(o!==void 0){n[i]=TE(o,t+1|0);return}}),r.forEach(i=>{if(IZ(i))return;let o=n[i];if(o===void 0)return;let s=xE[i];if(s!==void 0)n[s]=o;else{let c=kE[i];c!==void 0&&(n[c]!==void 0||(n[c]=o))}let a=n[i];if(a===void 0||typeof a!="string")return;let l=$Z[a];if(l!==void 0){if(n[i+"_canonical"]!==void 0)return;n[i+"_canonical"]=l;return}let d=RZ[a];if(!(d===void 0||n[i+"_legacy"]!==void 0)){n[i+"_legacy"]=d;return}}),n}function AE(e){return EZ()?OE(e,0):e}function CE(e){let t=e.slice();return e.forEach(r=>{let n=xE[r];n!==void 0&&!t.includes(n)&&t.push(n);let i=kE[r];if(i!==void 0&&!t.includes(i)){t.push(i);return}}),t}var Da="<SENSITIVE_DATA>",MZ=CE(["access_token","authorization","code","cookie","kandan_preview_ticket","refresh_token","token"]),zZ=["--access-token","--api-key","--authorization","--cookie","--oauth-code","--password","--refresh-token","--secret","--token"],jZ=new RegExp("^(authorization|cookie|set-cookie|password)$","i"),NZ=new RegExp("(^|[_-])(access[_-]?token|api[_-]?key|auth[_-]?token|oauth[_-]?code|refresh[_-]?token|secret|token)$","i"),FZ=new RegExp("\\beyJ[A-Za-z0-9_-]*\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\b","g");function GZ(e){return e!==void 0?jZ.test(e)?!0:NZ.test(e):!1}function PE(e){let t={contents:!1};return Iv(e).forEach(r=>{if(MZ.includes(r.toLowerCase())){e.set(r,Da),t.contents=!0;return}}),t.contents}function qZ(e){let t=qa(e,"?"),r=qa(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):"",s=new URLSearchParams(i);return PE(s)?n+"?"+s.toString()+o:e}function DZ(e){let t=zn(e);if(t===void 0)return qZ(e);let r=se(t);return PE(r.searchParams),r.toString()}function $E(e){return DZ(e).replace(FZ,Da)}function LZ(e){let t=qa(e,"=");return t!==void 0?[e.slice(0,t),e.slice(t+1|0)]:[e,void 0]}function kb(e,t){if(GZ(t))return Da;if(Array.isArray(e))return t==="args"?UZ(e):e.map(r=>kb(r,void 0));if(e===null)return e;switch(typeof e){case"string":return $E(e);case"object":return RE(e);default:return e}}function UZ(e){let t={contents:!1};return e.map(r=>{if(typeof r=="string"){if(t.contents)return t.contents=!1,Da;let n=LZ(r),i=n[0];return zZ.includes(i)?n[1]!==void 0?i+"="+Da:(t.contents=!0,r):$E(r)}return t.contents=!1,kb(r,void 0)})}function RE(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 s=o[0];if(s!=="runner_console"){i[s]=n&&s==="value"?Da:kb(o[1],s);return}}),i}var IE=RE;var WZ=IS(e=>({joinRef:e.item(0,Jm(bt)),ref:e.item(1,Jm(bt)),topic:e.item(2,bt),event:e.item(3,bt),payload:e.item(4,ES)}));function ME(e){return Qs(e,WZ)}function Hf(e){let t=nr(e);return t!==void 0?k(fr(se(t)),"unknown error"):"unknown error"}function KZ(e){let t=x(nr(e),r=>Sv(r));return t!==void 0?t:null}function _i(e){return e.TAG==="Transport"?e._0.message:e.message}function BZ(e,t){return{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"TimeoutReason",message:"phoenix push timed out after "+e.toString()+"ms waiting for connection: "+t}}}function JZ(e,t){return{TAG:"Transport",_0:{phase:"Reply",reason:"TimeoutReason",message:"phoenix push timed out after "+e.toString()+"ms: "+t}}}function NE(e){return e.TAG==="Transport"?e._0.phase==="WaitForConnection":!1}function FE(e){return{initial:t=>e.initial(t),onAdvance:(t,r)=>e.onAdvance(t,r),reset:(t,r)=>e.reset(t,r)}}function GE(e){return{current:t=>e.current(),adopt:(t,r)=>e.adopt(t,r)}}var QZ="base64url.bearer.phx.";function XZ(e){let t;t=typeof e=="object"&&e!==null&&!Array.isArray(e)?IE(e):e;let r=JSON.stringify(t);return r.length<=400?r:r.slice(0,400)+"\u2026"}var YZ=new RegExp("/$");function eV(e){let t=zn(e);if(t===void 0)return{TAG:"Error",_0:"Invalid URL"};let r=se(t);switch(r.protocol){case"http:":r.protocol="ws:";break;case"https:":r.protocol="wss:";break}return r.pathname=r.pathname.replace(YZ,"")+"/socket/websocket",r.searchParams.set("vsn","2.0.0"),{TAG:"Ok",_0:r.toString()}}function tV(e){return[QZ+Mv(e),"phoenix"]}function zE(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 rV(e){let t;try{t={TAG:"Ok",_0:JSON.parse(e)}}catch(n){let i=Q(n);t={TAG:"Error",_0:Hf(i)}}if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=ME(t._0);return r.TAG==="Ok"?{TAG:"Ok",_0:r._0}:{TAG:"Error",_0:"invalid Phoenix frame"}}function qE(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function Bf(e,t){return x(e,r=>{let n=r[t];if(typeof n=="object"&&n!==null&&!Array.isArray(n))return n})}function La(e,t){return x(e,r=>{let n=r[t];if(typeof n=="string")return n})}function Wf(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 nV(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?Zi(e.status,"ok"):!1}function iV(e){return typeof e!="object"||e===null||Array.isArray(e)?!1:typeof e.type=="string"}function Kf(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&er(r))return r}function jE(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return Kf(e,"control_seq")}function oV(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"&&er(n)?{event:t,payload:r,controlSeq:n}:void 0:{event:t,payload:r,controlSeq:void 0}}var sV="npm install -g @linzumi/cli@latest",aV=new RegExp("^npm install -g @linzumi\\/cli(@[0-9A-Za-z^~.-]{1,32})?$"),lV=new RegExp("^\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]{1,32})?$");function dV(e){return e!==void 0&&typeof e=="string"&&e.length<=100&&aV.test(e)?e:sV}function uV(e){return e!==void 0&&typeof e=="string"&&e.length<=64&&lV.test(e)?"@linzumi/cli "+e+" or newer":"a newer @linzumi/cli"}function Tb(e){let t=qE(e),r=Bf(t,"response"),n=La(r,"error");if(n!==void 0)return n;let i=La(r,"reason");if(i!==void 0)return i;let o=La(r,"message");if(o!==void 0)return o;let s=La(t,"error");return t!==void 0?s!==void 0?s:"unknown":"invalid reply"}function cV(e){let t=Bf(qE(e),"response");if(t===void 0||!de(t.error,"commander_version_too_old"))return Tb(e);let r=uV(t.min_version),n=dV(t.upgrade_command);return"commander_version_too_old: this Linzumi server requires "+r+". Update with: "+n}function fV(e){let t=e;if(La(t,"agent_provider")==="claude-code")return"claude-code-sdk";let n=Bf(t,"metadata"),i=Bf(n,"local_codex_runner");return La(i,"agent_provider")==="claude-code"?"claude-code-sdk":"codex-app-server"}function mV(e,t){let r;try{r=e.initial(t)}catch{r=void 0}if(r!==void 0&&er(r)&&r>=0)return r}function pV(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 DE(e,t,r,n){let i=n!==void 0?n:{},o=r!==void 0?r:Gf,s;s=t.TAG==="Token"?t._0:void 0;let a={contents:s},l=()=>{if(t.TAG==="Token")return{TAG:"Ok",_0:t._0};let T;try{T=t._0()}catch{T=void 0}if(T!==void 0&&T.trim()!=="")return a.contents=T,{TAG:"Ok",_0:T};let N=a.contents;return N!==void 0?{TAG:"Ok",_0:N}:{TAG:"Error",_0:{TAG:"Failed",message:"phoenix token provider returned no usable token"}}},d=i.onOperatorNotice,u=d!==void 0?d:T=>{console.error(T)},c=i.auditEvent,f=c!==void 0?c:(T,N)=>{},p=i.onPushRecorded,m=p!==void 0?p:T=>{},h=k(i.pushTimeoutMs,3e4),_=i.controlCursorStore,g=i.controlEpochStore,b={},y={},v={},S={},A={},C={},V={},re={},fe=new Set,J={contents:1},K=[],ae=[],z=[],Z=[],$={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},I=T=>{let N=Object.entries(b);N.forEach(G=>dr(b,G[0])),N.forEach(G=>{let ee=G[1];clearTimeout(ee.timer),ee.settle({TAG:"Error",_0:T})})},F=()=>{if($.settleReady!==void 0)return;let N={contents:void 0};$.ready=new Promise((G,ee)=>{N.contents=G}),$.settleReady=N.contents},B=()=>{let T=$.settleReady;T!==void 0&&T({TAG:"Ok",_0:void 0}),$.settleReady=void 0},X=T=>{let N=$.settleReady;N!==void 0&&N({TAG:"Error",_0:T}),$.settleReady=void 0},Se=()=>{let T=$.heartbeatTimer;if(T!==void 0){clearInterval(se(T)),$.heartbeatTimer=void 0;return}},Ee=()=>{let T=$.backoffResetTimer;if(T!==void 0){clearTimeout(se(T)),$.backoffResetTimer=void 0;return}},Ze=T=>{$.closed=!0;let N=$.reconnectTimer;N!==void 0&&(clearTimeout(se(N)),$.reconnectTimer=void 0),Se(),Ee();let G=$.websocket;G!==void 0&&G.close(),X(T),I({TAG:"Transport",_0:{phase:"Reply",reason:"ClientClosed",message:"phoenix client closed"}})},ot=T=>k(re[T],0),Pe=T=>{dr(S,T),dr(A,T),dr(C,T),dr(V,T),re[T]=ot(T)+1|0},dt=(T,N)=>{let G=S[T];if(G!==void 0){if(N===G+1){let H=G+1,he=A[T];if(he!==void 0)for(;he.has(H+1);)H=H+1,he.delete(H);S[T]=H;return}let ee=A[T],te;if(ee!==void 0)te=ee;else{let H=new Set;A[T]=H,te=H}te.add(N);return}S[T]=N},Ge=(T,N)=>{let G=jE(N);if(G===void 0)return!0;let ee=S[T],te=ee!==void 0?G<=ee:!1,H=A[T],he=H!==void 0?H.has(G):!1;return te||he?!1:(dt(T,G),!0)},Xe=(T,N)=>{if(_!==void 0)try{return _.onAdvance(T,N)}catch{return}},Et=(T,N)=>{if(!T.startsWith("local_runner:"))return;let G=Kf(N,"control_high_water");if(G===void 0)return;let ee=S[T];if(ee!==void 0&&G<ee){Pe(T);let te=0;if(_===void 0)return;let H=_.reset;if(H===void 0)return;try{return H(T,te)}catch{return}}},tr=(T,N)=>{let G=T.startsWith("local_runner:");if(g===void 0||!G)return!1;let ee=N.control_epoch;if(ee===void 0||typeof ee!="string"||ee==="")return!1;let te;try{te=g.adopt(T,ee)}catch{te=!1}return te&&Pe(T),te},Tt=T=>{let N=S[T];if(N!==void 0)return N;if(_===void 0)return;let G=mV(_,T);return G!==void 0?(S[T]=G,G):0},je=new Set,R=(T,N,G,ee)=>{try{let te=!1;if(T.startsWith("local_runner:")&&N==="control"&&iV(ee)){let H;if(Ge(T,ee)){let he=jE(ee);if(he!==void 0){let Zt=C[T],rr;if(Zt!==void 0)rr=Zt;else{let cr=new Set;C[T]=cr,rr=cr}rr.add(he)}let gt=ot(T),Ot=he!==void 0?()=>{if(gt!==ot(T))return;let Zt=C[T];Zt!==void 0&&Zt.delete(he);let rr=V[T];rr!==void 0&&he<=rr||(V[T]=he);let cr=x(Zt,Ur=>We(Ur.values().toArray(),void 0,(Tr,Zr)=>Tr!==void 0&&Tr<=Zr?Tr:Zr)),kr=cr!==void 0?cr-1:V[T];if(kr===void 0)return;let vt=S[T],jt=vt!==void 0&&vt<kr?vt:kr;Xe(T,jt)}:()=>{};K.forEach(Zt=>Zt(ee,Ot)),H=!1}else H=!0;te=H}if(!te&&G===void 0&&N!=="phx_reply"&&N!=="phx_error"){ae.forEach(H=>H(T,N,ee));return}else return}catch(te){let H=Q(te),he=Hf(H);try{f("phoenix.pushed_frame_dispatch_failed",Object.fromEntries([["topic",T],["frame",N],["message",he],["stack",KZ(H)],["payloadSnippet",XZ(ee)],["dropped",!0]]))}catch{}if(je.has(N))return;je.add(N);try{return u('linzumi: dropped a pushed "'+N+'" frame on '+T+" whose dispatch failed ("+he+"); see the CLI audit log for the payload snippet.")}catch{return}}},ge=(T,N)=>{let G=S[T],ee={contents:G!==void 0&&G>=N?G:N},te=A[T];if(te!==void 0)for(te.values().toArray().forEach(H=>{if(H<=ee.contents){te.delete(H);return}});te.has(ee.contents+1);)ee.contents=ee.contents+1,te.delete(ee.contents);S[T]=ee.contents},ye=T=>{let N=S[T];if(N===void 0)return;let G=C[T],ee=G!==void 0&&G.size>0?W(We(G.values().toArray(),void 0,(te,H)=>te!==void 0&&te<=H?te:H),te=>te-1):void 0;Xe(T,ee!==void 0&&ee<N?ee:N)},le=(T,N)=>{if(T.startsWith("chat:")){let G=N.events;return G===void 0?{TAG:"Ok",_0:void 0}:G===null?{TAG:"Ok",_0:void 0}:Array.isArray(G)?(G.forEach(ee=>{ae.forEach(te=>te(T,"event",ee))}),{TAG:"Ok",_0:void 0}):{TAG:"Error",_0:"phoenix rejoin returned invalid events for "+T}}else{if(!T.startsWith("local_runner:"))return{TAG:"Ok",_0:void 0};let G=N.controls;if(G===void 0)return{TAG:"Ok",_0:void 0};if(G===null)return{TAG:"Ok",_0:void 0};if(!Array.isArray(G))return{TAG:"Error",_0:"phoenix rejoin returned invalid controls for "+T};G.forEach(te=>{let H=oV(te);if(H===void 0)return;let he={};Object.entries(H.payload).forEach(Ot=>{he[Ot[0]]=Ot[1]}),he.replayed=!0;let gt=H.controlSeq;gt!==void 0&&(he.control_seq=gt),R(T,H.event,void 0,he)});let ee=Kf(N,"controls_advance_to");if(ee!==void 0){let te=N.control_high_water;typeof te=="number"&&ee>te||ge(T,ee)}return ye(T),{TAG:"Ok",_0:void 0}}},Ke=(T,N,G,ee,te)=>{let H=$.websocket;if(H===void 0)return Promise.resolve({TAG:"Error",_0:{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"SocketNotOpen",message:"phoenix websocket is not open"}}});if(H.readyState()!==ks)return Promise.resolve({TAG:"Error",_0:{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"SocketNotOpen",message:"phoenix websocket is not open"}}});let he=$.nextRef.toString();$.nextRef=$.nextRef+1|0,N==="phx_join"&&(v[T]=he);let gt=N==="phx_join"?he:v[T],Ot=AE(G),kr=zE({joinRef:gt,ref:he,topic:T,event:N,payload:Ot}),vt=Math.max(0,Math.ceil(ee))|0;return new Promise((jt,Ur)=>{let Tr=setTimeout(()=>{if(b[he]!==void 0)return dr(b,he),jt({TAG:"Error",_0:JZ(vt,N)})},vt);b[he]={event:N,timer:Tr,settle:jt};try{m({provider:fV(Ot),rawFrameText:kr,topic:T,event:N,payload:Ot})}catch{}let Zr;try{Zr={TAG:"Ok",_0:H.send(kr)}}catch(Di){let bi=Q(Di);Zr={TAG:"Error",_0:Hf(bi)}}return Zr.TAG==="Ok"?te!==void 0?te():void 0:jt({TAG:"Error",_0:{TAG:"Failed",message:Zr._0}})})},L=(T,N)=>{let G={};if(N.forEach(ee=>{Object.entries(ee).forEach(te=>{let H=te[1],he=te[0],gt=he==="last_seq",Ot=G[he];if(gt&&typeof Ot=="number"&&typeof H=="number"){G[he]=H<Ot?H:Ot;return}if(Ot===void 0){G[he]=H;return}})}),T.startsWith("local_runner:")){let ee=Tt(T);ee!==void 0&&(G.last_control_seq=ee);let te=pV(g,T);te!==void 0&&(G.last_control_epoch=te)}return G},ke=T=>Object.entries(T).map(N=>N[1].payload()),be=async T=>{let N=0,G=0,ee=!0;for(;ee;){let te=y[T];if(te!==void 0){let H=Tt(T),he=await Ke(T,"phx_join",L(T,ke(te)),h,void 0);if(N=N+1|0,he.TAG==="Ok"){let gt=Wf(he._0);if(gt!==void 0){let Ot=gt.controls,Zt=Array.isArray(Ot)?Ot.length:0;G=G+Zt|0;let rr=de(gt.controls_truncated,!0),cr=Tt(T),kr;if(rr){let vt=Kf(gt,"control_high_water");kr=vt!==void 0&&cr!==void 0?vt-cr>0?vt-cr:0:void 0}else kr=0;if(f("phoenix.control_backlog_fetch_progress",Object.fromEntries([["topic",T],["fetches",N],["fetched",G],["remaining_estimate",kr!==void 0?kr:null],["truncated",rr]])),rr)if(de(cr,H)){let vt=cr!==void 0?cr.toString():"undefined";u("phoenix.control_backlog_fetch_stalled topic="+T+" fetches="+N.toString()+" fetched="+G.toString()+" cursor="+vt+"; a truncated reply made no cursor progress - stopping this fetch loop (a server paging bug; the next reconnect resumes from the watermark)"),ee=!1}else{if(N%20===0){let jt=kr!==void 0?kr.toString():"unknown";u("phoenix.control_backlog_cap_exceeded topic="+T+" fetches="+N.toString()+" fetched="+G.toString()+" remaining_estimate="+jt+"; continuing the paginated backlog fetch (a healthy connection never reconnects, so nothing is deferred)")}await new Promise((jt,Ur)=>{setImmediate(()=>jt())})}else ee=!1}else ee=!1}else ee=!1}else ee=!1}},Me=T=>{if(!fe.has(T)){fe.add(T),yn(be(T).then(()=>{fe.delete(T)}),N=>(fe.delete(T),Promise.resolve()));return}},wt={},ft=async()=>{Object.entries(wt).forEach(te=>dr(wt,te[0]));let T=Object.entries(y),N,G=0;for(;N===void 0&&G<T.length;){let te=T[G];if(te!==void 0){let H=te[0],he=await Ke(H,"phx_join",L(H,ke(te[1])),h,void 0);if(he.TAG==="Ok"){let gt=Wf(he._0);gt!==void 0?wt[H]=gt:N={TAG:"Failed",message:"phoenix rejoin failed for "+H}}else N=he._0}G=G+1|0}let ee=N;return ee!==void 0?{TAG:"Error",_0:ee}:{TAG:"Ok",_0:void 0}},Lt={contents:()=>Promise.resolve()},Ut=()=>{let T=$.closed,N=$.reconnectTimer;if(T||N!==void 0)return;F();let G=Math.min(1e4,250*2**$.reconnectAttempts);$.reconnectAttempts=$.reconnectAttempts+1|0,$.reconnectTimer=mt(setTimeout(()=>{$.reconnectTimer=void 0,Lt.contents()},Math.random()*G|0))},xt=(T,N,G)=>{let ee=$.connected,te=$.connectedAt;$.connectedAt=void 0,$.connected=!1;let H=$.websocket;if($.websocket=void 0,Se(),Ee(),H!==void 0&&(H.readyState()===lC||H.readyState()===ks))try{H.close()}catch{}if(I(T),Ut(),!ee)return;let he;he=G!==void 0&&G!==""?G:void 0;let gt=W(te,rr=>Math.max(0,Date.now()-rr)),Ot=$.reconnectAttempts,Zt={closeCode:N,closeReason:he,previousSessionDurationMs:gt,reconnectCount:Ot};Z.forEach(rr=>{try{return rr(Zt)}catch{return}})},M=()=>{Se(),$.heartbeatTimer=mt(setInterval(()=>{let T=$.websocket;if(T===void 0||T.readyState()!==ks)return;let N=$.nextRef.toString();$.nextRef=$.nextRef+1|0;let te={joinRef:void 0,ref:N,topic:"phoenix",event:"heartbeat",payload:{}};try{return T.send(zE(te))}catch{return}},3e4))},j=()=>{Ee();let T=setTimeout(()=>{if($.backoffResetTimer=void 0,$.connected){$.reconnectAttempts=0;return}},3e4);T.unref(),$.backoffResetTimer=mt(T)},U=(T,N)=>new Promise((G,ee)=>{let te={contents:void 0},H=he=>{let gt=te.contents;gt!==void 0&&(clearTimeout(se(gt)),te.contents=void 0),G(he)};T.on("SocketOpen",he=>H({TAG:"Ok",_0:void 0})),T.on("SocketError",he=>H({TAG:"Error",_0:"websocket open failed"})),T.on("SocketClose",he=>H({TAG:"Error",_0:"websocket closed before open"})),te.contents=mt(setTimeout(()=>{te.contents=void 0,H({TAG:"Error",_0:"websocket open timed out after "+N.toString()+"ms"})},N))}),Oe=async()=>{if($.closed)return;let T=l(),N=eV(e),G;if(T.TAG==="Ok")if(N.TAG==="Ok"){let H;try{H={TAG:"Ok",_0:o(N._0,tV(T._0))}}catch(he){let gt=Q(he);H={TAG:"Error",_0:{TAG:"Failed",message:Hf(gt)}}}G=H.TAG==="Ok"?{TAG:"Ok",_0:H._0}:{TAG:"Error",_0:H._0}}else G={TAG:"Error",_0:{TAG:"Failed",message:N._0}};else G={TAG:"Error",_0:T._0};if(G.TAG==="Ok"){let H=G._0;$.websocket=H,H.on("SocketMessage",vt=>{let jt=$.websocket;if(jt!==void 0&&jt===H){let Ur=rV(k(vt.data,"undefined"));if(Ur.TAG==="Ok"){let Tr=Ur._0,Zr=Tr.payload,Di=Tr.event,bi=Tr.topic,nu=Tr.ref;if(nu!==void 0&&(Di==="phx_reply"||Di==="phx_error")){let Li=b[nu];if(Li!==void 0){dr(b,nu),clearTimeout(Li.timer);let O$=Di==="phx_error",A$=nV(Zr)&&Li.event!=="phx_join";if(O$)Li.settle({TAG:"Error",_0:{TAG:"Failed",message:"phoenix push failed"}});else if(A$)Li.settle({TAG:"Error",_0:{TAG:"Failed",message:"phoenix push failed: "+Tb(Zr)}});else{let C$=y[bi],tl=Wf(Zr),iu;if(C$!==void 0&&tl!==void 0&&Li.event==="phx_join"){let yv=tr(bi,tl);Et(bi,tl);let bv=yv?{TAG:"Ok",_0:void 0}:le(bi,tl);bv.TAG==="Ok"?(bi.startsWith("local_runner:")&&(de(tl.controls_truncated,!0)||yv)&&Me(bi),iu=!1):(Li.settle({TAG:"Error",_0:{TAG:"Failed",message:bv._0}}),iu=!0)}else iu=!1;iu||Li.settle({TAG:"Ok",_0:Zr})}}}return R(bi,Di,nu,Zr)}else return f("phoenix.frame_decode_failed",Object.fromEntries([["message",Ur._0],["dropped",!0]]))}}),H.on("SocketClose",vt=>{let jt=$.websocket;if(jt!==void 0&&jt===H)return xt({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},vt.code,vt.reason)}),H.on("SocketError",vt=>{let jt=$.websocket;if(jt!==void 0&&jt===H)return xt({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},void 0,void 0)});let he=await U(H,h),gt=()=>{if($.closed)return!0;let vt=$.websocket;return vt!==void 0?vt!==H:!1},Ot;if(he.TAG==="Ok")if(gt())Ot={TAG:"Ok",_0:!1};else{$.connectionGeneration=$.connectionGeneration+1|0;let vt=await ft();Ot=vt.TAG==="Ok"?gt()?{TAG:"Ok",_0:!1}:{TAG:"Ok",_0:!0}:{TAG:"Error",_0:vt._0}}else Ot={TAG:"Error",_0:{TAG:"Failed",message:he._0}};if(Ot.TAG==="Ok"){if(!Ot._0||($.connected=!0,$.connectedAt=Date.now(),$.hasEverConnected=!0,j(),M(),B(),$.connectionGeneration<=1))return;let vt={};Object.entries(wt).forEach(Ur=>{vt[Ur[0]]=Ur[1]});let jt={contents:!1};return z.forEach(Ur=>{if(jt.contents)return;let Tr;try{Tr={TAG:"Ok",_0:Ur(vt)}}catch{Tr={TAG:"Error",_0:void 0}}if(Tr.TAG!=="Ok"){jt.contents=!0;return}yn(Tr._0,Zr=>Promise.resolve())}),jt.contents&&!$.closed?xt({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket reconnect failed"}},void 0,void 0):void 0}let Zt=$.websocket,rr=Zt!==void 0?Zt!==H:!1,cr=$.closed||rr,kr=$.hasEverConnected;return cr?void 0:kr?xt({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket reconnect failed"}},void 0,void 0):Ze(Ot._0)}let ee=$.closed,te=$.hasEverConnected;if(!ee)return te?xt({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket reconnect failed"}},void 0,void 0):Ze(G._0)};Lt.contents=Oe;let qe=(T,N)=>{let G=$.ready;return new Promise((ee,te)=>{let H=setTimeout(()=>ee({TAG:"Error",_0:BZ(h,T)}),Math.max(0,N-Date.now())|0);G.then(he=>{clearTimeout(H),ee(he)})})},Ie=async(T,N,G,ee)=>{let te=Date.now()+h,H=await qe(N,te);return H.TAG==="Ok"?await Ke(T,N,G,te-Date.now(),ee):{TAG:"Error",_0:H._0}},Be=async(T,N,G)=>{let ee=G.registrationId,te;if(ee!==void 0)te=ee;else{let Tr="join-registration-"+J.contents.toString();J.contents=J.contents+1|0,te=Tr}let H=y[T],he=H!==void 0?ke(H):[],gt=await Ie(T,"phx_join",L(T,he.concat([N])),void 0);if(gt.TAG!=="Ok")return{TAG:"Error",_0:gt._0};let Ot=gt._0,Zt=Wf(Ot);if(Zt===void 0)return{TAG:"Error",_0:{TAG:"Failed",message:"phoenix join failed: "+cV(Ot)}};let rr=y[T],cr=rr!==void 0?rr:{},kr=Object.entries(cr).length===0,vt=G.rejoinPayload;if(cr[te]={payload:vt!==void 0?vt:()=>N},y[T]=cr,!(kr&&T.startsWith("local_runner:")))return{TAG:"Ok",_0:Zt};let jt=tr(T,Zt);Et(T,Zt);let Ur=jt?{TAG:"Ok",_0:void 0}:le(T,Zt);return Ur.TAG!=="Ok"?{TAG:"Error",_0:{TAG:"Failed",message:Ur._0}}:((de(Zt.controls_truncated,!0)||jt)&&Me(T),{TAG:"Ok",_0:Zt})},el={join:(T,N,G)=>Be(T,N,k(G,{rejoinPayload:void 0,registrationId:void 0})),unregisterJoin:(T,N)=>{let G=y[T];if(!(G===void 0||(dr(G,N),Object.entries(G).length!==0)))return dr(y,T),dr(v,T)},push:Ie,pushIfConnected:(T,N,G)=>$.connected?Ke(T,N,G,h,void 0):Promise.resolve({TAG:"Error",_0:{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"NotConnected",message:"phoenix client is not connected"}}}),onControl:T=>{K.push(T)},onEvent:T=>{ae.push(T)},onReconnect:T=>{z.push(T)},onDisconnect:T=>{Z.push(T)},forceReconnect:T=>$.closed||!$.connected?!1:(xt({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},void 0,k(T,"forced_stale_reconnect")),!0),hardReset:T=>{if($.closed)return!1;xt({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},void 0,k(T,"hard_reset"));let N=$.reconnectTimer;return N!==void 0&&(clearTimeout(se(N)),$.reconnectTimer=void 0),Oe(),!0},close:()=>Ze({TAG:"Transport",_0:{phase:"WaitForConnection",reason:"ClientClosed",message:"phoenix client closed"}})};F(),Oe();let gv=await $.ready;return gv.TAG==="Ok"?{TAG:"Ok",_0:el}:{TAG:"Error",_0:gv._0}}var e7=10*6e4;function hV(e,t){let r=setTimeout(e,t);return r.unref(),r}function _V(e){clearTimeout(e)}var Ab={setTimer:hV,clearTimer:_V};var yV=["deterministic","transient_upstream","transient_local","rate_limited","needs_approval","needs_decision"],LE=ju(yV);function Jf(e){switch(e){case"deterministic":return"deterministic";case"needs_approval":return"needs_approval";case"needs_decision":return"needs_decision";case"rate_limited":return"rate_limited";case"transient_local":return"transient_local";case"transient_upstream":return"transient_upstream";default:return}}function bV(e){if(typeof e=="object")return"recover";switch(e){case"HoldUntilResetPolicy":return"hold_until_reset";case"RedImmediatelyPolicy":return"red_immediately";case"NeverLaddersPolicy":return"never_ladders"}}function Eb(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="+k(e.model,"unspecified")+n}function $b(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 UE(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"}}var vV=15*6e4,SV=30*6e4;function Cb(e,t){let r=W(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 zd(e){return{maxRecoveryRungs:Cb(e.LINZUMI_FATE_LADDER_MAX_RECOVERY_RUNGS,4),maxLadderMs:Cb(e.LINZUMI_FATE_LADDER_BUDGET_MS,vV),maxRateLimitHoldMs:Cb(e.LINZUMI_FATE_LADDER_MAX_HOLD_MS,SV)}}function wV(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 Rb(e,t){return{fate:e,startedAtMs:t,rungCursor:0,cursorAttempts:0,recoveryRungsAttempted:0,holdCommitted:!1,holdDispatched:!1,userSwitchInvoked:!1,entries:[],historyTruncated:!1}}function Lr(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 xV(e){switch(e){case"budget_rungs_exhausted":case"budget_wall_clock_exhausted":case"rungs_exhausted":case"grant_unavailable":return!0;default:return!1}}function ZE(e,t,r){if(e!=="transient_local"||r===void 0||!(r.backendDead&&xV(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 kV(e,t){switch(t){case"in_place_resume":return e.inPlaceResume;case"redispatch":return e.redispatch;case"worker_rebuild":return e.workerRebuild}}function VE(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 s=UE(o),a=e.run,l=a!==void 0?a:Rb(o,i);if(typeof s!="object")switch(s){case"HoldUntilResetPolicy":if(l.holdCommitted)return{TAG:"Red",cause:"hold_already_committed",run:Lr(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 p=Math.round((d-i)/1e3).toString(),m=Math.round(n.maxRateLimitHoldMs/1e3).toString();return{TAG:"Red",cause:"hold_unavailable_reset_beyond_bound",run:Lr(l,{rung:"HoldStep",outcome:"hold_unavailable_reset_beyond_bound",atMs:i,detail:"reset is "+p+"s away, beyond the "+m+"s hold budget",resetAtMs:d})}}let c=r(o,i),f=0;if(typeof c!="object")f=2;else{let p=c.reason;return{TAG:"BreakerHold",reason:p,run:Lr(l,{rung:"HoldStep",outcome:"breaker_held",atMs:i,detail:p,resetAtMs:void 0})}}if(f===2)return{TAG:"HoldUntilReset",resetAtMs:d,run:Lr({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:Lr(l,{rung:"HoldStep",outcome:"hold_unavailable_no_reset",atMs:i,detail:"no known rate-limit reset timestamp",resetAtMs:void 0})};let c=r(o,i),f=0;if(typeof c!="object")f=2;else{let p=c.reason;return{TAG:"BreakerHold",reason:p,run:Lr(l,{rung:{TAG:"RungStep",_0:"in_place_resume"},outcome:"breaker_held",atMs:i,detail:p,resetAtMs:void 0})}}if(f===2){if(l.recoveryRungsAttempted<n.maxRecoveryRungs)return{TAG:"ExecuteRung",rung:"in_place_resume",run:Lr({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 p=l.recoveryRungsAttempted.toString(),m=n.maxRecoveryRungs.toString();return{TAG:"Red",cause:"budget_rungs_exhausted",run:Lr(l,{rung:"ClassificationStep",outcome:"budget_rungs_exhausted",atMs:i,detail:p+" recovery rungs attempted (budget "+m+")",resetAtMs:void 0})}}}break;case"RedImmediatelyPolicy":return{TAG:"Red",cause:"deterministic_by_design",run:Lr(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=s.rungs;if(l.recoveryRungsAttempted>=n.maxRecoveryRungs){let _=l.recoveryRungsAttempted.toString(),g=n.maxRecoveryRungs.toString();return{TAG:"Red",cause:"budget_rungs_exhausted",run:Lr(l,{rung:"ClassificationStep",outcome:"budget_rungs_exhausted",atMs:i,detail:_+" recovery rungs attempted (budget "+g+")",resetAtMs:void 0})}}if(i-l.startedAtMs>n.maxLadderMs){let _=Math.round((i-l.startedAtMs)/1e3).toString(),g=Math.round(n.maxLadderMs/1e3).toString();return{TAG:"Red",cause:"budget_wall_clock_exhausted",run:Lr(l,{rung:"ClassificationStep",outcome:"budget_wall_clock_exhausted",atMs:i,detail:"ladder open "+_+"s (budget "+g+"s)",resetAtMs:void 0})}}let u=l.rungCursor,c=l.cursorAttempts,f=!1,p=d[u];for(;(()=>{let _=p;return _!==void 0?c>=_.maxAttempts:!1})();)u=u+1|0,c=0,p=d[u];for(;(()=>{let _=p;return _!==void 0?!kV(t,_.rung):!1})();)f=!0,u=u+1|0,c=0,p=d[u];let m=p;if(m===void 0)return{TAG:"Red",cause:f?"grant_unavailable":"rungs_exhausted",run:Lr(l,{rung:"ClassificationStep",outcome:f?"grant_unavailable":"rungs_exhausted",atMs:i,detail:f?"no executable recovery rung in this session context":"every recovery rung for this fate was already attempted",resetAtMs:void 0})};let h=r(o,i);if(typeof h=="object"){let _=h.reason;return{TAG:"BreakerHold",reason:_,run:Lr(l,{rung:{TAG:"RungStep",_0:m.rung},outcome:"breaker_held",atMs:i,detail:_,resetAtMs:void 0})}}return{TAG:"ExecuteRung",rung:m.rung,run:Lr({fate:l.fate,startedAtMs:l.startedAtMs,rungCursor:u,cursorAttempts:c+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:m.rung},outcome:"attempted",atMs:i,detail:void 0,resetAtMs:void 0})}}}function WE(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:Lr({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:Eb(r),resetAtMs:void 0,userSwitch:r})}}function Ib(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 Lr(e,{rung:"UserSwitchStep",outcome:o,atMs:r,detail:i!==void 0?Eb(n)+" - "+i:Eb(n),resetAtMs:void 0,userSwitch:n})}function Qf(e,t,r,n){let i=n!==void 0?se(n):void 0,o=UE(t),s=c=>{let f={};f.rung=wV(c.rung),f.outcome=c.outcome,f.at_ms=c.atMs;let p=c.detail;p!==void 0&&(f.detail=p.slice(0,200));let m=c.resetAtMs;m!==void 0&&(f.reset_at_ms=m);let h=c.userSwitch;if(h!==void 0){f.source_harness=h.sourceHarness,f.target_harness=h.targetHarness;let _=h.model;_!==void 0&&(f.model=_);let g=h.transpiledItemCount;g!==void 0&&(f.transpiled_item_count=g);let b=h.redactedReasoningCount;b!==void 0&&(f.redacted_reasoning_count=b)}return f},a=e!==void 0?e.entries.slice(0,16).map(s):[],l={};l.fate=t,l.policy=bV(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=$b(i));let u;if(u=t==="deterministic"?a.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=a;return l}var HE="switching this job to another harness at the user's request";function OV(e,t,r){let n=r.sandboxedNeverDefault&&de(t,"workspace-write");if(e===void 0)return{TAG:"Ok",_0:n?"never":"on-request"};switch(e){case"default":return{TAG:"Ok",_0:n?"never":"on-request"};case"never":return{TAG:"Ok",_0:de(t,"danger-full-access")||n?"never":"on-request"};case"on-failure":return{TAG:"Ok",_0:"on-failure"};case"on-request":return{TAG:"Ok",_0:"on-request"};default:return{TAG:"Error",_0:"unsupported Codex approval policy: "+e}}}function KE(e,t,r){return sr(OV(e,t,r),n=>n==="on-failure"?"on-request":n)}function BE(e,t){switch(e){case"danger-full-access":return{TAG:"Ok",_0:Object.fromEntries([["type","dangerFullAccess"]])};case"read-only":return{TAG:"Ok",_0:Object.fromEntries([["type","readOnly"],["access",Object.fromEntries([["type","fullAccess"]])],["networkAccess",!1]])};case"workspace-write":return{TAG:"Ok",_0:Object.fromEntries([["type","workspaceWrite"],["writableRoots",[t]],["readOnlyAccess",Object.fromEntries([["type","fullAccess"]])],["networkAccess",!1],["excludeTmpdirEnvVar",!1],["excludeSlashTmp",!1]])};default:return{TAG:"Error",_0:"unsupported Codex sandbox mode: "+e}}}function CV(e){let t=e.item,n=(typeof t=="object"&&t!==null&&!Array.isArray(t)?t:e).type,i=n!==void 0?hr(n):void 0;if(i!==void 0)switch(i){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 Mb(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":CV(t)}}var PV=fn(e=>({decision:e.f("decision",bt),label:e.f("label",bt),description:e.f("description",Qt(bt))})),$V=fn(e=>({requestId:e.f("requestId",bt),kind:e.f("kind",bt),summary:e.f("summary",bt),reason:e.f("reason",Qt(bt)),port:e.f("port",Qt(Js)),pid:e.f("pid",Qt(Js)),command:e.f("command",Qt(bt)),cwd:e.f("cwd",Qt(bt)),processName:e.f("processName",Qt(bt)),processIconKey:e.f("processIconKey",Qt(bt)),processIconPath:e.f("processIconPath",Qt(bt)),choices:e.f("choices",Qt(zu(PV))),allowedActorSlug:e.f("allowedActorSlug",Qt(bt)),allowedActorUserId:e.f("allowedActorUserId",Qt(Js))})),RV=ju(["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","awaiting approval"]),t7=$S([fn(e=>(e.tag("status","queued"),{TAG:"Queued",reason:e.f("reason",Qt(bt))})),fn(e=>(e.tag("status","processed"),{TAG:"Processed",reason:e.f("reason",Qt(bt))})),fn(e=>(e.tag("status","processing"),{TAG:"Processing",reason:e.f("reason",RV),approval:e.f("approval",Qt($V))})),fn(e=>(e.tag("status","ignored"),{TAG:"Ignored",reason:e.f("reason",bt)})),fn(e=>(e.tag("status","failed"),{TAG:"Failed",reason:e.f("reason",bt),retryable:e.f("retryable",Qt(CS)),fate:e.f("fate",Qt(LE))})),fn(e=>(e.tag("status","interrupted"),{TAG:"Interrupted",reason:e.f("reason",bt)}))]);function MV(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(`
323
+ `),{TAG:"Ok",_0:void 0})}async function ZA(e){let t=e.slice(1),r=e[0];if(r!==void 0)switch(r){case"--help":case"-h":return Mo(yu()),{TAG:"Ok",_0:void 0};case"config":return await YU(t);case"doctor":return await e2(t);case"server":return await XU(t);default:return{TAG:"Error",_0:"unknown linzumi mcp command: "+r}}else return Mo(yu()),{TAG:"Ok",_0:void 0}}function VA(e){if(typeof e=="number"&&e%1===0)return e}function r2(e){if(typeof e=="string")return e}function n2(e){let t=e.replaceAll("-","+").replaceAll("_","/");switch(t.length&3){case 2:return t+"==";case 3:return t+"=";default:return t}}function WA(e){let t=e.split(".")[1];if(t===void 0)return;let r=Buffer.from(n2(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 HA(e){let t=WA(e);if(t===void 0)return{actorUserId:void 0,actorUsername:void 0};let r=VA(t.actor_id);return{actorUserId:r!==void 0?r:VA(t.sub),actorUsername:r2(t.actor_username)}}function KA(e){let t=x(WA(e),n=>n.workspace_scope),r=t!==void 0?Array.isArray(t)?Ne(t,n=>{if(typeof n=="string"&&n.trim()!=="")return n}):[]:[];if(r.length===1)return r[0]}function $d(){return k("1.0.136","0.0.0-unbundled")}function eb(){return"linzumi "+k("1.0.136","0.0.0-unbundled")}import*as $o from"node:os";import*as gm from"node:path";import*as pv from"node:crypto";function Ff(e){let t=parseFloat(e);if(!Number.isNaN(t))return t}function XA(e){return"local_runner:"+e}var i2="kandan-local-codex-runner",o2="rescript";function YA(e){let t={};t.clientName=i2,t.clientId=e.clientId;let r=e.machineFingerprint;t.machineFingerprint=r!==void 0?r:null,Object.entries(a0(e.machineFingerprintV2)).forEach(s=>{t[s[0]]=s[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 s={};s.epoch=o,s.overlap=!0,t.generation=s}return t.commander_impl=o2,t}function eC(e,t,r){let n={};return n.last_seq=r,t!==void 0&&(n.runner_id=e,n.thread_id=t),n}function yn(e,t){return e.catch(r=>t(Q(r)))}function rC(){let e=[],t=[],r={contents:!1},n=()=>{let s=e.shift();return s!==void 0?Promise.resolve({done:!1,value:s}):r.contents?Promise.resolve({done:!0}):new Promise((a,l)=>{t.push(a)})},i=()=>(r.contents=!0,Promise.resolve({done:!0})),o={};return o[Symbol.asyncIterator]=()=>({next:n,return:i}),{iterable:o,push:s=>{if(r.contents)return!1;let a=t.shift();return a!==void 0?(a({done:!1,value:s}),!0):(e.push(s),!0)},close:()=>{r.contents=!0,(()=>{for(;;){let a=t.shift();if(a===void 0)return;a({done:!0})}})()}}}function nC(e){return import(e)}var a2="@anthropic-ai/claude-agent-sdk";function iC(e){return rC()}function l2(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 oC(){let e=await nC(a2);return{query:t=>l2(e.query(t)),getSessionInfo:(t,r)=>e.getSessionInfo(t,r),listSessions:t=>e.listSessions(t),getSessionMessages:(t,r)=>e.getSessionMessages(t,r)}}var tb=["codex","claude-code","pi","opencode"];function xs(e){return e}function aC(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"}}function dr(e,t){delete e[t]}function d2(e){switch(e){case"SocketOpen":return"open";case"SocketMessage":return"message";case"SocketClose":return"close";case"SocketError":return"error"}}function u2(e){let t=e.data,r;r=t==null||typeof t!="string"?void 0:t;let n=e.code,i;i=n==null||typeof n!="number"||(n|0)!==n?void 0:n|0;let o=e.reason,s;return s=o==null||typeof o!="string"?void 0:o,{data:r,code:i,reason:s}}function c2(e){return{readyState:()=>e.readyState,send:t=>{e.send(t)},close:()=>{e.close()},on:(t,r)=>{e.addEventListener(d2(t),n=>r(u2(n)),{})}}}function Gf(e,t){return c2(new WebSocket(e,t))}var lC=0,ks=1;var f2="file",m2=["mcp_oauth_credentials_store","cli_auth_credentials_store"],V8=m2.flatMap(e=>["-c",e+'="'+f2+'"']);var p2="kandan-local-codex-runner",h2="0.0.1";function uC(){return Object.fromEntries([["clientInfo",Object.fromEntries([["name",p2],["version",h2]])],["capabilities",Object.fromEntries([["experimentalApi",!0]])]])}var _2=new RegExp("\\bsession\\b.+\\bis archived\\b","i");function cC(e){return _2.test(e)}var g2=new RegExp("^thread not found(?:\\s*:|\\b)","i");function fC(e){return g2.test(e.trim())}function y2(e){try{e.unref();return}catch{return}}var pC="codex app-server websocket closed",b2="codex app-server websocket is not open";function v2(e){let t=e.method;if(typeof t=="string")return t}function S2(e){let t=e.error;if(t===void 0)return{TAG:"ResultReply",_0:k(e.result,null)};if(typeof t!="object"||t===null||Array.isArray(t))return{TAG:"ErrorReply",code:0,message:JSON.stringify(t)};let r=t.code,n=r!==void 0&&typeof r=="number"?r:0,i=t.message;return{TAG:"ErrorReply",code:n,message:typeof i=="string"?i:""}}function qf(e,t,r,n){let i=JSON.stringify(n);t(r,i);try{return e.socket.send(i),{TAG:"Ok",_0:void 0}}catch(o){let s=Q(o);return{TAG:"Error",_0:Ye(s).message}}}function yC(e,t,r){try{return t(r)}catch(n){let i=Q(n);return e("codex.notification_callback_failed",Object.fromEntries([["purpose","codex.app_server"],["method",r.method],["message",Ye(i).message]]))}}function hC(e,t,r){try{return t(r)}catch(n){let i=Q(n);return e("codex.close_callback_failed",Object.fromEntries([["purpose","codex.app_server"],["message",Ye(i).message]]))}}function w2(e,t){let r;if(t.TAG==="Ok")r=[["jsonrpc","2.0"],["id",e],["result",t._0]];else{let n=t._0;r=[["jsonrpc","2.0"],["id",e],["error",Object.fromEntries([["code",n[0]],["message",n[1]]])]]}return Object.fromEntries(r)}async function x2(e,t,r,n){let i={TAG:"Error",_0:[-32601,"unhandled Codex app-server request: "+n.method]},o=e.requestCallbacks.slice(),s,a=0;for(;uu(s)&&a<o.length;){let d=o[a];if(d!==void 0){let u=0,c;try{c=await d(n),u=1}catch(f){let p=Q(f);s={TAG:"Error",_0:[-32e3,Ye(p).message]}}u===1&&c!==void 0&&(s={TAG:"Ok",_0:c})}a=a+1|0}let l=k(s,i);qf(t,r,"outgoing",w2(n.id,l))}function k2(e,t,r,n,i){let o;try{o=JSON.parse(i)}catch(p){let m=Q(p);r("codex.app_server_frame_malformed",Object.fromEntries([["purpose","codex.app_server"],["message",Ye(m).message],["payload",i.slice(0,512)],["payloadChars",i.length]])),o=void 0}let s;if(o!==void 0){let p=0;typeof o=="object"&&o!==null&&!Array.isArray(o)?s=o:p=1,p===1&&(r("codex.app_server_frame_malformed",Object.fromEntries([["purpose","codex.app_server"],["message","codex app-server sent non-object JSON-RPC message"],["payload",i.slice(0,512)],["payloadChars",i.length]])),s=void 0)}else s=void 0;if(s===void 0)return;let a=Or(s.id),l=a&&(Or(s.result)||Or(s.error)),d=v2(s);if(l){let p=k(s.id,null),m=JSON.stringify(p),h=e.pending[m];return h!==void 0?(dr(e.pending,m),h.resolvePending({TAG:"Ok",_0:S2(s)})):void 0}if(a)if(d!==void 0){yn(x2(e,t,n,{id:k(s.id,null),method:d,params:s.params}),p=>Promise.resolve());return}else return;if(d===void 0)return;let u=s.params,c={method:d,params:u};e.notificationCallbacks.length!==0?e.notificationCallbacks.forEach(p=>yC(r,p,c)):e.pendingNotifications.push(c)}function T2(e,t,r){return Object.fromEntries(r!==void 0?[["jsonrpc","2.0"],["id",e],["method",t],["params",r]]:[["jsonrpc","2.0"],["id",e],["method",t]])}function _C(e,t){return Object.fromEntries(t!==void 0?[["jsonrpc","2.0"],["method",e],["params",t]]:[["jsonrpc","2.0"],["method",e]])}function gC(e,t,r,n,i,o){return t.socket.readyState()===ks?new Promise((s,a)=>{e.pending[JSON.stringify(n)]={resolvePending:s};let l=qf(t,r,"request",T2(n,i,o));l.TAG!=="Ok"&&(dr(e.pending,JSON.stringify(n)),s({TAG:"Error",_0:l._0}))}):Promise.resolve({TAG:"Error",_0:b2})}async function bC(e,t,r,n){let i=t!==void 0?t:u=>({socket:Gf(u,[]),ping:void 0}),o=r!==void 0?r:2e3,s=n!==void 0?n:()=>Date.now(),a=s()+o,l,d="websocket open failed";for(;uu(l);){let u;try{u={TAG:"Ok",_0:i(e)}}catch(c){let f=Q(c);u={TAG:"Error",_0:Ye(f).message}}if(u.TAG==="Ok"){let c=u._0;if(await new Promise((f,p)=>{c.socket.on("SocketOpen",m=>f(!0)),c.socket.on("SocketError",m=>f(!1))}))l={TAG:"Ok",_0:c};else{try{c.socket.close()}catch{}s()>a&&(l={TAG:"Error",_0:d})}}else d=u._0,s()>a&&(l={TAG:"Error",_0:d})}return k(l,{TAG:"Error",_0:d})}async function vC(e,t){let r={pending:{},notificationCallbacks:[],requestCallbacks:[],pendingNotifications:[],closeCallbacks:[],nextId:1,closeError:void 0},n=t.audit,i=t.onWire,o=setInterval(()=>{let d=e.ping;if(d!==void 0&&e.socket.readyState()===ks)try{return d()}catch{return}},t.keepaliveIntervalMs);y2(o);let s=d=>{clearInterval(o);let u=Object.entries(r.pending);if(Object.entries(r.pending).forEach(p=>dr(r.pending,p[0])),u.forEach(p=>p[1].resolvePending({TAG:"Error",_0:d})),r.closeError!==void 0)return;r.closeError=d;let f=r.closeCallbacks.slice();r.closeCallbacks.splice(0,r.closeCallbacks.length),f.forEach(p=>hC(n,p,d))};e.socket.on("SocketClose",d=>s(pC)),e.socket.on("SocketError",d=>s(pC)),e.socket.on("SocketMessage",d=>{let u=d.data;if(u!==void 0)return i("incoming",u),k2(r,e,n,i,u)});let a=await gC(r,e,i,"initialize","initialize",uC());if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};let l=a._0;return l.TAG!=="ResultReply"?{TAG:"Error",_0:"codex initialize failed: "+l.message}:(qf(e,i,"outgoing",_C("initialized",void 0)),{TAG:"Ok",_0:{request:(d,u)=>{let c=r.nextId;return r.nextId=r.nextId+1|0,gC(r,e,i,c,d,u)},notify:(d,u)=>{qf(e,i,"outgoing",_C(d,u))},onNotification:d=>{r.notificationCallbacks.push(d);let u=r.pendingNotifications.slice();r.pendingNotifications.splice(0,r.pendingNotifications.length),u.forEach(c=>yC(n,d,c))},onRequest:d=>{r.requestCallbacks.push(d)},onClose:d=>{let u=r.closeError;if(u!==void 0)return hC(n,d,u);r.closeCallbacks.push(d)},isClosed:()=>Or(r.closeError),close:()=>{clearInterval(o);try{return e.socket.close()}catch{return}}}})}import*as SC from"node:os";import*as ko from"node:path";function rb(e){let t=zs(e,"LINZUMI_CONTROL_CURSOR_DIR");return t!==void 0&&t.trim()!==""?t.trim():ko.join(SC.homedir(),".linzumi","control-cursors")}var A2=new RegExp("[^A-Za-z0-9._-]+","g"),C2=new RegExp("^[-.]+|[-.]+$","g");function nb(e){let t=e.replace(A2,"-").replace(C2,"").slice(0,80),r=vn(e).slice(0,8);return(t===""?"runner":t)+"."+r}function wC(e,t){return ko.join(rb(t),nb(e)+".json")}function xC(e,t){return ko.join(rb(t),nb(e)+".start-turn.json")}function kC(e,t){return ko.join(rb(t),nb(e)+".source-seq.json")}function TC(e,t){return e+" "+t}function OC(e,t,r){return e+" "+t+" "+r}var AC="__control_epoch";function E2(e){let t;try{t=JSON.parse(e)}catch{t=void 0}if(t===void 0)return{TAG:"Error",_0:void 0};if(typeof t!="object"||t===null||Array.isArray(t))return{TAG:"Error",_0:void 0};let r={},n={contents:void 0};return Object.entries(t).forEach(i=>{let o=i[1],s=i[0];if(s===AC)if(typeof o=="string"&&o!==""){n.contents=o;return}else return;else if(typeof o=="number"&&er(o)&&o>=0){r[s]=o;return}else return}),{TAG:"Ok",_0:{cursors:r,epoch:n.contents}}}function P2(e,t){let r=Sr(e);if(r.TAG==="Ok"){let i=E2(r._0);return i.TAG==="Ok"?i._0:(t("control_cursor_store.corrupt_ignored",Object.fromEntries([["path",e]])),{cursors:{},epoch:void 0})}let n=r._0;return Vi(n,"ENOENT")||t("control_cursor_store.read_failed",Object.fromEntries([["path",e],["message",n.message]])),{cursors:{},epoch:void 0}}function $2(e,t){let r={};return t!==void 0&&(r[AC]=t),Object.entries(e).forEach(n=>{r[n[0]]=n[1]}),JSON.stringify(r)+`
324
+ `}function Df(e,t,r,n){let i=r!==void 0?r:!1,o=n!==void 0?n:!1,s=P2(e,t),a=s.cursors,l={contents:s.epoch},d={contents:!1},u={contents:void 0},c=()=>{if(!d.contents)return;d.contents=!1;let m=$2(a,l.contents),h=e+".tmp",_=Ce(mr(ko.dirname(e)),()=>o?Ev(h,e,ko.dirname(e),m):Ce(Wi(h,m),()=>Hi(h,e)));if(_.TAG!=="Ok")return t("control_cursor_store.write_failed",Object.fromEntries([["path",e],["message",_._0.message]]))},f=()=>{if(d.contents=!0,u.contents!==void 0)return;let h=setTimeout(()=>{u.contents=void 0,c()},250);h.unref(),u.contents=mt(h)},p=()=>{let m=u.contents;m!==void 0&&(clearTimeout(se(m)),u.contents=void 0),c()};return{initial:m=>a[m],onAdvance:(m,h)=>{let _=a[m];_!==void 0&&h<=_||(a[m]=h,f())},reset:(m,h)=>{if(!de(a[m],h))return a[m]=h,f()},flush:p,epoch:()=>l.contents,adoptEpoch:m=>{if(de(l.contents,m))return!1;let h=l.contents!==void 0,_=!h&&i&&Object.entries(a).length!==0;return l.contents=m,(h||_)&&(_&&t("control_cursor_store.pre_epoch_seqs_discarded",Object.fromEntries([["path",e],["epoch",m],["discardedSeqs",Object.entries(a).length]])),Object.entries(a).forEach(g=>dr(a,g[0]))),f(),(h||_)&&p(),h}}}function CC(e,t,r,n,i){return{current:()=>e.epoch(),adopt:(o,s)=>{let a=e.epoch(),l=e.adoptEpoch(s),d=t.adoptEpoch(s),u=l||d;return u&&r("kandan.control_epoch_changed",Object.fromEntries([["runnerId",n],["kandanUrl",i],["topic",o],["previousEpoch",a!==void 0?a:null],["epoch",s],["controlCursorCleared",l],["startTurnWatermarksCleared",d]])),u}}}var W8=1800*1e3;var H8=new RegExp("[^A-Za-z0-9._-]+","g"),K8=new RegExp("^[-.]+|[-.]+$","g");function EC(e){return{initial:t=>e.initial(t),onAdvance:(t,r)=>e.onAdvance(t,r),flush:()=>e.flush()}}function ib(e,t){return e!==void 0?t>e:!0}function ob(e,t,r,n){if(n!==void 0){let i=e.initial(t);i!==void 0&&r<=i&&n("commander.invariant_violation",Object.fromEntries([["invariant","watermark_regression"],["thread_id",null],["harness",null],["detail","watermark_key="+t+" committed_source_seq="+r.toString()+" durable_floor="+i.toString()]]))}e.onAdvance(t,r),e.flush()}function PC(e){return e!==void 0?Array.isArray(e)?Ne(e,t=>{if(typeof t!="object"||t===null||Array.isArray(t))return;let r=t.threadId;if(r===void 0||typeof r!="string")return;let n=t.channelId,i;if(n!==void 0)switch(typeof n){case"string":i=n;break;case"number":i=n.toString();break;default:i=""}else i="";let o=t.highestProcessedSourceSeq,s=o!==void 0&&typeof o=="number"&&er(o)?o:void 0,a=t.leaseEpoch,l=a!==void 0&&typeof a=="number"&&er(a)?a:void 0;return{channelId:i,threadId:r,highestProcessedSourceSeq:s,leaseEpoch:l}}):[]:[]}function RC(){let e=new Map;return{current:t=>e.get(t),adopt:(t,r)=>{if(!er(r))return!1;let n=e.get(t);return n!==void 0&&(r<n||r===n)?!1:(e.set(t,r),!0)},release:t=>{e.delete(t)},snapshot:()=>e.entries().toArray().map(t=>({threadId:t[0],leaseEpoch:t[1]}))}}function Lf(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function j2(e,t){let r=e[t];if(typeof r=="string")return r}function To(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&isFinite(r)&&Math.round(r)===r)return r}function sb(e){return W(Lf(e,"usage"),t=>({inputTokens:To(t,"input_tokens"),outputTokens:To(t,"output_tokens"),cacheCreationInputTokens:To(t,"cache_creation_input_tokens"),cacheReadInputTokens:To(t,"cache_read_input_tokens")}))}function zC(){return{completed:{inputTokens:0,outputTokens:0,cacheCreationInputTokens:0,cacheReadInputTokens:0},current:void 0,lastEmittedKey:void 0}}function IC(e,t){let r=n=>t!==void 0?n(t):0;return{inputTokens:k(To(e,"input_tokens"),r(n=>n.inputTokens)),outputTokens:k(To(e,"output_tokens"),r(n=>n.outputTokens)),cacheCreationInputTokens:k(To(e,"cache_creation_input_tokens"),r(n=>n.cacheCreationInputTokens)),cacheReadInputTokens:k(To(e,"cache_read_input_tokens"),r(n=>n.cacheReadInputTokens))}}function MC(e){let t=(a,l)=>{let d=e.current;return a+(d!==void 0?l(d):0)},r=t(e.completed.inputTokens,a=>a.inputTokens),n=t(e.completed.outputTokens,a=>a.outputTokens),i=t(e.completed.cacheCreationInputTokens,a=>a.cacheCreationInputTokens),o=t(e.completed.cacheReadInputTokens,a=>a.cacheReadInputTokens),s=r.toString()+":"+n.toString()+":"+(i.toString()+":"+o.toString());if(!de(e.lastEmittedKey,s))return e.lastEmittedKey=s,{inputTokens:r,outputTokens:n,cacheCreationInputTokens:i,cacheReadInputTokens:o}}function jC(e,t){let r=x(t,n=>j2(n,"type"));if(r!==void 0)switch(r){case"message_delta":let n=x(t,s=>Lf(s,"usage"));return n!==void 0?(e.current=IC(n,e.current),MC(e)):void 0;case"message_start":let i=x(x(t,s=>Lf(s,"message")),s=>Lf(s,"usage"));if(i===void 0)return;let o=e.current;return o!==void 0&&(e.completed.inputTokens=e.completed.inputTokens+o.inputTokens,e.completed.outputTokens=e.completed.outputTokens+o.outputTokens,e.completed.cacheCreationInputTokens=e.completed.cacheCreationInputTokens+o.cacheCreationInputTokens,e.completed.cacheReadInputTokens=e.completed.cacheReadInputTokens+o.cacheReadInputTokens),e.current=IC(i,void 0),MC(e);default:return}}function Id(e){if(e<425){if(e===402||e===408)return"transient_upstream"}else{if(e===425)return"transient_upstream";if(e===429)return"rate_limited"}return e>=500&&e<=599?"transient_upstream":"deterministic"}function lb(e){return e==="Text"?"text":"thinking"}function GC(){return{activeMessageId:void 0,syntheticMessageCounter:0,completedMessageIds:[],consumedAssistantMessageIds:new Set,blocksByMessageId:{}}}function ab(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function Oo(e,t){let r=e[t];if(typeof r=="string")return r}function FC(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&isFinite(r)&&Math.round(r)===r)return r|0}function db(e,t){return e.syntheticMessageCounter=e.syntheticMessageCounter+1|0,"synthetic-claude-message:"+t+":"+e.syntheticMessageCounter.toString()}function F2(e,t){let r=e.activeMessageId;if(r!==void 0)return r;let n=db(e,t);return e.activeMessageId=n,n}function ub(e,t){return"claude-message:"+e+":content-block:"+t.toString()}function Uf(e,t,r,n){if(r===void 0)return;let i=F2(e,"orphan-stream-event"),o=e.blocksByMessageId[i],s;if(o!==void 0)s=o;else{let l=[];e.blocksByMessageId[i]=l,s=l}let a=s.find(l=>l.index===r);a!==void 0?a.content=a.content+k(n,""):s.push({kind:t,index:r,content:k(n,"")})}function qC(e,t){let r=x(t,n=>Oo(n,"type"));if(r!==void 0)switch(r){case"content_block_delta":let n=x(t,c=>ab(c,"delta")),i=x(t,c=>FC(c,"index")),o=x(n,c=>Oo(c,"type"));if(o!==void 0)switch(o){case"text_delta":Uf(e,"Text",i,x(n,c=>Oo(c,"text")));break;case"thinking_delta":Uf(e,"Thinking",i,x(n,c=>Oo(c,"thinking")));break}return e.activeMessageId;case"content_block_start":let s=x(t,c=>ab(c,"content_block")),a=x(t,c=>FC(c,"index")),l=x(s,c=>Oo(c,"type"));if(l!==void 0)switch(l){case"text":Uf(e,"Text",a,x(s,c=>Oo(c,"text")));break;case"thinking":Uf(e,"Thinking",a,x(s,c=>Oo(c,"thinking")));break}return e.activeMessageId;case"message_start":let d=x(x(t,c=>ab(c,"message")),c=>Oo(c,"id"));e.activeMessageId=d!==void 0?d:db(e,"missing-message-start-id");return;case"message_stop":let u=e.activeMessageId;u!==void 0&&!e.consumedAssistantMessageIds.has(u)&&e.completedMessageIds.push(u),e.activeMessageId=void 0;return;default:return}}function DC(e,t){if(t!==void 0){e.consumedAssistantMessageIds.add(t);let n=Ro(e.completedMessageIds,t);return n!==void 0&&e.completedMessageIds.splice(n,1),t}let r=e.completedMessageIds.shift();return r!==void 0?(e.consumedAssistantMessageIds.add(r),r):db(e,"missing-assistant-frame-id")}function LC(e,t){let r=e.blocksByMessageId[t];return r!==void 0?(dr(e.blocksByMessageId,t),r.toSorted((n,i)=>ou(n.index,i.index))):[]}function UC(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function cb(e,t){let r=e[t];if(typeof r=="string")return r}function fb(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&isFinite(r))return r}function q2(e){if(e===void 0||e<0)return;let t=e<=1?e*100:e;return Math.min(100,Math.round(t))}function D2(e){if(e!==void 0&&e>0)return e>1e12?Math.round(e):Math.round(e*1e3)}function mb(e){let t=cb(e,"status"),r=cb(e,"rateLimitType"),n=r!==void 0?r:cb(e,"rate_limit_type"),i=q2(fb(e,"utilization")),o=fb(e,"resetsAt"),s=D2(o!==void 0?o:fb(e,"resets_at"));if(!(t===void 0&&i===void 0&&s===void 0))return{status:t,windowLabel:n,utilizationPercent:i,resetsAtMs:s}}function ZC(e){let t=UC(e,"rate_limit_info");if(t!==void 0)return mb(t);let r=UC(e,"rate_limit");return mb(r!==void 0?r:e)}var U2="edge_blocked";function Z2(e){let t=e.toLowerCase(),r=t.includes("<html")||t.includes("<!doctype html"),n=t.includes("cloudflare");return t.includes("sorry, you have been blocked")||t.includes("attention required")&&n||t.includes("cf_chl_")||t.includes("challenge-platform")||t.includes("just a moment")&&(n||t.includes("cf-"))?!0:r?t.includes("cloudflare ray id")||t.includes("cf-ray")?!0:n?t.includes("blocked"):!1:!1}function WC(e,t){let r=e.exec(t);if(r==null)return;let n=r.slice(1)[0];if(n===void 0)return;let i=se(n);if(i!==void 0)return i}var V2=[new RegExp("\\bAPI Error:?\\s*([1-5]\\d{2})\\b","i"),new RegExp("\\b(?:HTTP|status(?:\\s+code)?)[\\s:]+([1-5]\\d{2})\\b","i")],W2=[new RegExp('"request[_-]id"\\s*:\\s*"([^"]{1,128})"',"i"),new RegExp('\\brequest[_ -]id[:=]\\s*"?([A-Za-z0-9_-]{6,128})',"i"),new RegExp("\\b(req_[A-Za-z0-9]{6,})\\b")],H2=new RegExp('"error"\\s*:\\s*\\{[^{}]*?"message"\\s*:\\s*"((?:[^"\\\\]|\\\\.){1,500})"');function VC(e,t){return We(e,void 0,(r,n)=>r!==void 0?r:WC(n,t))}function K2(e){let t;try{t=JSON.parse('"'+e+'"')}catch{return e}return typeof t=="string"?t:e}function B2(e){let t=WC(H2,e),n=(t!==void 0?K2(t):e).trim();return n.length<=200?n:n.slice(0,199)+"\u2026"}function HC(e){return{status:x(VC(V2,e),t=>kl(t,void 0)),requestId:VC(W2,e),edgeBlocked:Z2(e),message:B2(e)}}function pb(e){return Or(e.status)||Or(e.requestId)?!0:e.edgeBlocked}function KC(e,t){let r=[],n=t.status;n!==void 0&&r.push("HTTP "+n.toString());let i=t.requestId;return i!==void 0&&r.push("request "+i),t.edgeBlocked&&r.push("blocked at the network edge by Cloudflare before reaching Linzumi - our infrastructure, not your usage; retrying usually succeeds "+("[failure_class="+U2+"]")),r.length!==0?e+" ("+r.join(", ")+")":e}function BC(e){let t={},r=e.status;t.status=r!==void 0?r:null;let n=e.requestId;return t.request_id=n!==void 0?n:null,t.edge_blocked=e.edgeBlocked,t.message=e.message,t}function XC(e,t,r){return{emitEvent:r,announcedSessionId:e,onSessionStarted:t,sessionAnnounced:!1,pendingTurnIds:[],startedTurns:new Set,terminalTurns:new Set,startedItems:new Set,activeTurnId:void 0,mintedTurnCount:0,usage:zC(),identity:GC()}}function ja(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function kt(e,t){let r=e[t];if(typeof r=="string")return r}function JC(e,t){let r=e[t];if(typeof r=="boolean")return r}function hb(e,t){let r=e[t];if(Array.isArray(r))return r}function Ao(e){if(e===void 0)return;let t=e.trim();if(t!=="")return t}function Q2(e){let t=kt(e,"session_id"),r=t!==void 0?t:kt(e,"sessionId");if(r!==void 0)return r;let n=ja(e,"message");if(n===void 0)return;let i=kt(n,"session_id");return i!==void 0?i:kt(n,"sessionId")}function X2(e,t){if(e.sessionAnnounced)return!1;let r=Q2(t);if(r===void 0)return!1;let n=e.announcedSessionId,i=n!==void 0?n:r;return e.sessionAnnounced=!0,e.emitEvent({TAG:"SessionStarted",harnessSessionId:i}),e.onSessionStarted(i),!0}function Md(e,t){return e.startedTurns.has(t)?!e.terminalTurns.has(t):!1}var YC=Md;function eE(e){let t=e.activeTurnId;return t!==void 0?Md(e,t):!1}function tE(e,t){e.mintedTurnCount=e.mintedTurnCount+1|0;let r="claude:"+t+":turn:"+e.mintedTurnCount.toString();return e.pendingTurnIds.push(r),r}function Na(e){let t=e.activeTurnId;if(t!==void 0&&Md(e,t))return t;let r=e.pendingTurnIds.shift(),n=r!==void 0?r:(e.mintedTurnCount=e.mintedTurnCount+1|0,"claude-adapter-turn-"+e.mintedTurnCount.toString());return e.startedTurns.add(n),e.activeTurnId=n,e.emitEvent({TAG:"TurnStarted",turnId:n}),n}function _b(e,t){if(e.terminalTurns.add(t),de(e.activeTurnId,t)){e.activeTurnId=void 0;return}}function QC(e){return e.turnId+"/"+e.itemId+"/"+e.streamKind}function gb(e,t){if(!e.startedItems.has(QC(t)))return e.startedItems.add(QC(t)),e.emitEvent({TAG:"ItemStarted",item:t})}function yb(e,t,r){gb(e,t),e.emitEvent({TAG:"ItemCompleted",item:t,content:r})}function Y2(e,t,r){gb(e,t),e.emitEvent({TAG:"ItemDelta",item:t,delta:r})}function Ts(e,t){let r=e.activeTurnId;if(k(W(r,n=>Md(e,n)),!0))return e.emitEvent({TAG:"ActivityPulse",turnId:r,signalKind:t})}function eZ(e,t){let r=Ne(k(hb(e,"errors"),[]),s=>{if(typeof s=="string")return Ao(s)}).join("; "),n=Ao(r);if(n!==void 0)return n;let i=Ao(kt(e,"result"));if(i!==void 0)return i;let o=Ao(kt(e,"error"));return o!==void 0?o:k(t,"error")}function tZ(e){let t=kt(e,"subtype"),r=k(JC(e,"is_error"),!1),n=de(t,"interrupt")||de(t,"error_interrupted")||k(JC(e,"is_interrupt"),!1),i=r||de(t,"error_max_turns")||de(t,"error_during_execution");return n?"Interrupted":i?{TAG:"Errored",reason:eZ(e,t)}:"Success"}function rZ(e,t){let r=HC(t),n=r.status;return{fate:e!==void 0?e==="error_max_turns"?"deterministic":n!==void 0?Id(n):"transient_upstream":n!==void 0?Id(n):"transient_upstream",reason:pb(r)?KC("Claude Code failed: "+t,r):"Claude Code failed: "+t,providerDetail:pb(r)?BC(r):void 0}}function nZ(e,t){let r=kt(e,"id");if(r!==void 0)return r;let n=kt(e,"tool_use_id");return n!==void 0?n:"content-block-"+t.toString()}function iZ(e){return e==="Text"?"assistant":"reasoning"}function oZ(e){let t={};t.type=lb(e.kind);let r=e.kind,n;return n=r==="Text"?"text":"thinking",t[n]=e.content,t}function sZ(e,t){let r=Na(e),n=ja(t,"message"),i=k(x(n,y=>hb(y,"content")),[]),o=DC(e.identity,x(n,y=>kt(y,"id"))),a=LC(e.identity,o).filter(y=>y.content.trim()!==""),l={};a.forEach(y=>{let v=lb(y.kind),S=l[v];S!==void 0?S.push(y.index):l[v]=[y.index]});let d={};i.forEach((y,v)=>{let S;if(S=typeof y=="object"&&y!==null&&!Array.isArray(y)?kt(y,"type"):void 0,S===void 0)return;switch(S){case"text":case"thinking":break;default:return}let A=k(S,""),C=d[A];C!==void 0?C.push(v):d[A]=[v]});let u=new Set;a.forEach(y=>{u.add(y.index)});let c=(y,v)=>{let S=k(d[y],[]),A=Ro(S,v);A!==void 0&&S.splice(A,1);let C=k(l[y],[]),V=C[0];if(V!==void 0&&v<V)return C.shift(),!0;let re=Ro(C,v);if(re!==void 0)return C.splice(re,1),!0;let fe=au(C,J=>!S.includes(J));return fe!==void 0?(C.splice(fe,1),!0):!1},f=y=>{if(u.has(y)){let v=y+1|0;for(;u.has(v);)v=v+1|0;return u.add(v),v}return u.add(y),y},p=(y,v)=>({turnId:r,itemId:ub(o,y),streamKind:v}),m=[];a.forEach(y=>{m.push({index:y.index,events:[[p(y.index,iZ(y.kind)),oZ(y)]]})}),i.forEach((y,v)=>{if(typeof y!="object"||y===null||Array.isArray(y))return;let S=kt(y,"type");if(S!==void 0)switch(S){case"text":if(c("text",v))return;if(Ao(kt(y,"text"))!==void 0){m.push({index:v,events:[[p(f(v),"assistant"),y]]});return}else return;case"thinking":if(c("thinking",v))return;if(Ao(kt(y,"thinking"))!==void 0){m.push({index:v,events:[[p(f(v),"reasoning"),y]]});return}else return;case"tool_use":m.push({index:v,events:[[{turnId:r,itemId:nZ(y,v),streamKind:"command_output"},y]]});return;default:return}});let h=i.some(y=>typeof y=="object"&&y!==null&&!Array.isArray(y)?de(kt(y,"type"),"text"):!1),_=a.some(y=>y.kind==="Text"),g=h||_,b=Ao(kt(t,"text"));return g||b===void 0||m.push({index:i.length,events:[[p(f(i.length),"assistant"),b]]}),m.toSorted((y,v)=>ou(y.index,v.index)).flatMap(y=>y.events)}function aZ(e){if(e!==void 0&&e!=="")return e}function lZ(e,t){let r=ja(t,"event"),n=jC(e.usage,r),i=qC(e.identity,r),o={contents:!1};if(n!==void 0){let d=Na(e);e.emitEvent({TAG:"UsageUpdated",turnId:d,usage:n}),o.contents=!0}let s=(d,u)=>W(i,c=>({turnId:Na(e),itemId:ub(c,d),streamKind:u})),a=d=>{let u=d.index;if(u!==void 0&&typeof u=="number"&&isFinite(u)&&Math.round(u)===u)return u|0},l=x(r,d=>kt(d,"type"));if(l!==void 0)switch(l){case"content_block_delta":let d=x(r,b=>ja(b,"delta")),u=x(r,a),c=(b,y)=>{let v=aZ(y);if(u===void 0||v===void 0)return;let S=s(u,b);if(S!==void 0){Y2(e,S,v),o.contents=!0;return}},f=x(d,b=>kt(b,"type")),p=0;f==="thinking_delta"?c("reasoning",x(d,b=>kt(b,"thinking"))):p=1,p===1&&c("assistant",x(d,b=>kt(b,"text")));break;case"content_block_start":let m=x(r,b=>ja(b,"content_block")),h=x(r,a),_=(b,y,v)=>{let S=Ao(y);if(h===void 0||S===void 0)return;let A=s(h,b);if(A!==void 0){yb(e,A,v),o.contents=!0;return}},g=x(m,b=>kt(b,"type"));if(g!==void 0)switch(g){case"text":_("assistant",x(m,b=>kt(b,"text")),k(W(m,b=>b),null));break;case"thinking":_("reasoning",x(m,b=>kt(b,"thinking")),k(W(m,b=>b),null));break}break}if(!o.contents)return Ts(e,"stream_event")}function dZ(e,t){let r=ja(t,"message"),n=k(x(r,o=>hb(o,"content")),[]),i={contents:!1};if(n.forEach((o,s)=>{if(typeof o!="object"||o===null||Array.isArray(o)||!de(kt(o,"type"),"tool_result"))return;let a=Na(e),l=kt(o,"tool_use_id"),d;if(l!==void 0)d=l;else{let u=kt(o,"id");d=u!==void 0?u:"content-block-"+s.toString()}yb(e,{turnId:a,itemId:d,streamKind:"command_output"},o),i.contents=!0}),!i.contents)return Ts(e,"user")}function uZ(e,t){_b(e,t),e.emitEvent({TAG:"TurnCompleted",turnId:t})}function cZ(e,t,r){_b(e,t),e.emitEvent({TAG:"TurnInterrupted",turnId:t,reason:r})}function fZ(e,t,r){_b(e,t),e.emitEvent({TAG:"TurnFailed",turnId:t,failure:r})}function mZ(e,t){let r=tZ(t);if(typeof r!="object"){if(r==="Success"){let i=Na(e),o=sb(t);return o!==void 0&&e.emitEvent({TAG:"UsageUpdated",turnId:i,usage:o}),uZ(e,i)}let n=e.activeTurnId;return n!==void 0&&Md(e,n)?cZ(e,n,void 0):void 0}else{let n=Na(e),i=sb(t);return i!==void 0&&e.emitEvent({TAG:"UsageUpdated",turnId:n,usage:i}),fZ(e,n,rZ(kt(t,"subtype"),r.reason))}}function rE(e,t){if(typeof t!="object"||t===null||Array.isArray(t))return;let r=X2(e,t),n=kt(t,"type");if(n!==void 0)switch(n){case"assistant":sZ(e,t).forEach(s=>{let a=s[0];return a.streamKind==="command_output"?gb(e,a):yb(e,a,s[1])});return;case"rate_limit_event":let i=ZC(t);return i!==void 0?e.emitEvent({TAG:"RateLimitUpdated",rateLimit:i}):Ts(e,"rate_limit_event");case"result":return mZ(e,t);case"stream_event":return lZ(e,t);case"system":let o=kt(t,"subtype");return o!==void 0?o==="init"?r?void 0:Ts(e,"system:init"):Ts(e,"system:"+o):Ts(e,"system");case"user":return dZ(e,t);default:return Ts(e,n)}}var hZ=["liveModelSwitch","liveEffortSwitch","sessionHistoryListing","slashCommandCatalog"];function Fa(e){let t=nr(e);return t!==void 0?k(fr(se(t)),"unknown error"):"unknown error"}function nE(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{TAG:"Error",_0:"unsupported Claude Code approval policy: "+e}}}function sE(e){let t=W(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 _Z(e){let t=e.attachments.length,r;if(t!==0){let o={};o.type="text",o.text=e.text,r=[o].concat(e.attachments)}else r=e.text;let n={};n.role="user",n.content=r;let i={};return i.type="user",i.message=n,i.parent_tool_use_id=null,i}function gZ(e,t,r){let n={};return n.tool_name=e,n.input=t,r!==void 0&&(n.suggestions=r),n}function yZ(e,t){let r={};return r.behavior="allow",r.toolUseID=e,r.updatedInput=t,r}function aE(e,t){let r={};return r.behavior="deny",r.message=k(t,"denied by the approval bridge"),r.toolUseID=e,r}function iE(e){return{harnessSessionId:e.harnessSessionId,dispatchTurn:async t=>{if(e.stopped)return{TAG:"Error",_0:{fate:"transient_local",reason:"the session is stopped; no turn can be dispatched",providerDetail:void 0}};let r;if(t.model===e.currentModel)r={TAG:"Ok",_0:void 0};else try{await e.connection.setModel(t.model),e.currentModel=t.model,r={TAG:"Ok",_0:void 0}}catch(a){let l=Q(a);r={TAG:"Error",_0:{fate:"transient_local",reason:"setModel failed: "+Fa(l),providerDetail:void 0}}}if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=sE(t.reasoningEffort),i;if(typeof n!="object")if(n==="ClearEffort"&&Or(e.currentEffort))try{let a={};a.effortLevel=null,await e.connection.applyFlagSettings(a),e.currentEffort=void 0,i={TAG:"Ok",_0:void 0}}catch(a){let l=Q(a);i={TAG:"Error",_0:{fate:"transient_local",reason:"applyFlagSettings failed: "+Fa(l),providerDetail:void 0}}}else i={TAG:"Ok",_0:void 0};else{let a=n._0;if(Zi(a,e.currentEffort))try{let l={};l.effortLevel=a,await e.connection.applyFlagSettings(l),e.currentEffort=a,i={TAG:"Ok",_0:void 0}}catch(l){let d=Q(l);i={TAG:"Error",_0:{fate:"transient_local",reason:"applyFlagSettings failed: "+Fa(d),providerDetail:void 0}}}else i={TAG:"Ok",_0:void 0}}if(i.TAG!=="Ok")return{TAG:"Error",_0:i._0};let o=tE(e.projector,e.harnessSessionId);if(e.input.push(_Z(t.input)))return{TAG:"Ok",_0:{turnId:o}};let s=Ro(e.projector.pendingTurnIds,o);return s!==void 0&&e.projector.pendingTurnIds.splice(s,1),{TAG:"Error",_0:{fate:"transient_local",reason:"the streaming input is closed; no turn can be dispatched",providerDetail:void 0}}},steerTurn:(t,r)=>Promise.resolve({TAG:"Error",_0:{TAG:"NotSupported",capability:"midTurnSteer"}}),interruptTurn:async t=>{if(!YC(e.projector,t))return{TAG:"Ok",_0:void 0};try{return await e.connection.interrupt(),{TAG:"Ok",_0:void 0}}catch(r){let n=Q(r);return{TAG:"Error",_0:{fate:"transient_local",reason:"interrupt failed: "+Fa(n),providerDetail:void 0}}}},respondToApproval:(t,r)=>{let n=au(e.pendingApprovals,s=>s.requestId===t),i=x(n,s=>e.pendingApprovals[s]);if(i===void 0)return Promise.resolve({TAG:"Error",_0:{fate:"deterministic",reason:"no unresolved approval request with id "+t,providerDetail:void 0}});n!==void 0&&e.pendingApprovals.splice(n,1);let o;if(r.TAG==="Approve"){let s=r.updatedInput;o=yZ(t,s!==void 0?s:i.toolInput)}else o=aE(t,r.message);return i.resolveDecision(o),Promise.resolve({TAG:"Ok",_0:void 0})},injectContext:t=>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:()=>(e.stopped||(e.stopped=!0,e.input.close(),e.connection.close()),Promise.resolve())}}function oE(e,t,r,n,i){let o=iC(),s={contents:void 0},a=J=>{let K=s.contents;if(!(K!==void 0&&K.stopped))return i(J)},l={contents:void 0},d=new Promise((J,K)=>{l.contents=J}),u=J=>{let K=l.contents;if(K!==void 0)return l.contents=void 0,K(J)},c=XC(n,J=>u({TAG:"Ok",_0:J}),a),f=(J,K,ae)=>new Promise((z,L)=>{let $=ae.toolUseID,I=s.contents;return I!==void 0?(I.pendingApprovals.push({requestId:$,toolInput:K,resolveDecision:z}),a({TAG:"ApprovalRequested",request:{requestId:$,turnId:c.activeTurnId,kind:"canUseTool",summary:J,payload:gZ(J,K,Qn(ae.suggestions))}})):z(aE($,"approval bridge not ready"))}),p=sE(t.reasoningEffort),m;m=typeof p!="object"?void 0:p._0;let h=e.env,_=Object.entries(t.environment).length,g,b=0;if(h!==void 0||_!==0?b=1:g=void 0,b===1){let J={};h!==void 0?Object.entries(h).forEach(K=>{J[K[0]]=K[1]}):Object.entries(process.env).forEach(K=>{J[K[0]]=K[1]}),Object.entries(t.environment).forEach(K=>{J[K[0]]=K[1]}),g=J}let y={};y.type="preset",y.preset="claude_code";let v={};v.type="preset",v.preset="claude_code";let S=t.developerInstructions;S!==void 0&&(v.append=S);let A;A=r==="bypassPermissions"?!0:void 0;let C=e.sdk.query({prompt:o.iterable,options:{cwd:t.cwd,model:t.model,persistSession:!0,includePartialMessages:!0,tools:y,settingSources:["user","project","local"],systemPrompt:v,resume:n,permissionMode:r,allowDangerouslySkipPermissions:A,effort:m,env:g,canUseTool:f}}),V={harnessSessionId:k(n,""),currentModel:t.model,currentEffort:m,input:o,connection:C,projector:c,pendingApprovals:[],stopped:!1,diedReported:!1};s.contents=V;let re=J=>{if(!(V.stopped||V.diedReported))return V.diedReported=!0,e.audit("claude.sdk_stream_died",Object.fromEntries([["reason",J]])),a({TAG:"HarnessDied",failure:{fate:"transient_local",reason:J,providerDetail:void 0}})};return(async()=>{let J=!0;for(;J;){let K;try{K=await V.connection.next()}catch(ae){let z=Q(ae);J=!1;let L="Claude Code SDK stream threw: "+Fa(z);u({TAG:"Error",_0:{fate:"transient_local",reason:L,providerDetail:void 0}}),re(L),K=void 0}if(K!==void 0)if(K.done){J=!1;let ae=eE(V.projector)?"Claude Code stopped mid-turn: the SDK stream ended before the turn produced a final response. The turn was failed instead of being reported complete - retry the message to continue.":"Claude Code SDK stream ended while the session was idle";u({TAG:"Error",_0:{fate:"transient_local",reason:"Claude Code SDK stream ended before the session started",providerDetail:void 0}}),re(ae)}else rE(V.projector,K.value)}})(),{state:V,started:d}}function lE(e){let t=[];return{harness:"claude-code",capabilities:hZ,startSession:async(i,o)=>{let s=nE(i.approvalPolicy);if(s.TAG!=="Ok")return{TAG:"Error",_0:{fate:"deterministic",reason:s._0,providerDetail:void 0}};let a=oE(e,i,s._0,void 0,o),l=await a.started;return l.TAG==="Ok"?(a.state.harnessSessionId=l._0,t.push(a.state),{TAG:"Ok",_0:iE(a.state)}):(a.state.input.close(),a.state.connection.close(),{TAG:"Error",_0:l._0})},attachSession:async(i,o,s)=>{let a=nE(o.approvalPolicy);if(a.TAG!=="Ok")return{TAG:"Error",_0:{fate:"deterministic",reason:a._0,providerDetail:void 0}};let l={};l.dir=o.cwd;let d;try{let f=await e.sdk.getSessionInfo(i,l);d={TAG:"Ok",_0:Or(f==null?void 0:mt(f))}}catch(f){let p=Q(f);d={TAG:"Error",_0:{fate:"transient_local",reason:"getSessionInfo failed: "+Fa(p),providerDetail:void 0}}}if(d.TAG!=="Ok")return{TAG:"Error",_0:d._0};if(!d._0)return{TAG:"Error",_0:{fate:"deterministic",reason:"Claude Code session "+i+" was not found for "+o.cwd,providerDetail:void 0}};let u=oE(e,o,a._0,i,s),c=await u.started;return c.TAG==="Ok"?(u.state.harnessSessionId=c._0,t.push(u.state),{TAG:"Ok",_0:iE(u.state)}):(u.state.input.close(),u.state.connection.close(),{TAG:"Error",_0:c._0})},reap:()=>(t.forEach(i=>{if(!i.stopped)return i.stopped=!0,i.input.close(),i.connection.close()}),t.splice(0,t.length),Promise.resolve())}}import*as Zf from"node:path";function bb(e){switch(e){case"rescript":return"Rescript";case"ts":return"Ts";default:return}}function Ga(e){return e==="Ts"?"ts":"rescript"}function vb(e){return Zf.join(e,".linzumi","commanderImpl")}function dE(e){let t=Sr(e);if(t.TAG==="Ok")return bb(t._0.trim())}function uE(e,t){let r=e+".tmp."+process.pid.toString()+"."+mu(6);return Ce(mr(Zf.dirname(e)),()=>{let n=Ce(Wi(r,Ga(t)+`
325
+ `),()=>Hi(r,e));return n.TAG==="Ok"?{TAG:"Ok",_0:void 0}:(Yn(r),{TAG:"Error",_0:n._0})})}function fE(e,t){return e!==void 0?t<=e:!1}function mE(e,t,r){e.onAdvance(t,r),e.flush()}function cE(e){let t=nr(e);if(t===void 0)return String(e);let r=se(t),n=fr(r);return n!==void 0?n:String(r)}function pE(e,t,r,n,i){let o;try{o={TAG:"Ok",_0:t()}}catch(s){o={TAG:"Error",_0:Q(s)}}if(o.TAG==="Ok"){let s=o._0;if(s.TAG==="Returned")return r();yn(s._0.then(a=>r()),a=>{let l=W(i,u=>u(a)),d=0;return l!==void 0&&l!=="Withhold"?r():d=1,d===1&&n("kandan.control_ack_withheld_on_failure",Object.fromEntries([["controlType",e],["message",cE(a)]])),Promise.resolve()});return}n("kandan.control_handler_threw",Object.fromEntries([["controlType",e],["message",cE(o._0)]])),r()}function hE(e,t){return x(e[t],hr)}function _E(e,t){return x(e[t],Lo)}function gE(e,t){return x(e[t],De)}function wZ(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 xZ(e){let t=De(e);if(t===void 0)return;let r=k(gE(t,"payload"),{}),n=hE(t,"body"),i;if(n!==void 0)i=n;else{let a=x(r.body,hr);i=a!==void 0?a:x(r.text,hr)}let o=_E(t,"seq");if(o===void 0||i===void 0)return;let s=k(gE(t,"actor"),{});return{seq:o,messageType:k(hE(t,"type"),"thread.message"),actorKind:k(x(s.kind,hr),"unknown"),actorSlug:x(s.slug,hr),actorUserId:_E(t,"actor_user_id"),body:i,payload:r}}function kZ(e){return e!==void 0?Array.isArray(e)?Ne(e,xZ):[]:[]}async function yE(e,t,r,n){let i=r.workspace,o=r.channel,s=r.threadId;if(i===void 0)return[];if(o===void 0)return[];if(s===void 0)return[];let a=Object.fromEntries([["workspace",i],["channel",o],["thread_id",s]]),l=await e(t,"session:thread_context",a);if(l.TAG==="Ok"){let d=l._0,u=wZ(d);return u!==void 0?kZ(u.messages):(n("kandan.reconnect_thread_context_fetch_failed",Object.fromEntries([["thread_id",s],["reply",JSON.stringify(d).slice(0,300)]])),[])}return n("kandan.reconnect_thread_context_fetch_failed",Object.fromEntries([["thread_id",s],["message",l._0]])),[]}function TZ(e,t){return"Codex "+e+" did not reply within "+t.toString()+"ms (start request timed out)"}function OZ(e,t,r,n){return t<=0?n:new Promise((i,o)=>{let s=e.setTimer(()=>i({TAG:"Error",_0:TZ(r,t)}),t);n.then(a=>(e.clearTimer(s),i(a),Promise.resolve()))})}function Sb(e){return e==="ResumeArchived"?"resume_archived":"forced_inject_not_found"}var AZ="the server marked the durable engine session dead after an acknowledged-but-unexecuted turn";async function bE(e,t,r,n,i,o){let s={};s.threadId=n,Object.entries(i).forEach(m=>{s[m[0]]=m[1]});let a=s,l=(m,h)=>OZ(t,r,m,e(m,h)),d=async(m,h)=>{o.log("kandan.reconnect_thread_unarchive_started",Object.fromEntries([["codex_thread_id",n],["discovered_by",Sb(m)],["message",h]]));let g=await(async()=>{let v=await l("thread/unarchive",Object.fromEntries([["threadId",n]]));if(v.TAG!=="Ok")return{TAG:"Error",_0:v._0};let S=v._0;if(S.TAG!=="ResultReply")return{TAG:"Error",_0:"thread/unarchive failed: "+S.message};let A=await l("thread/resume",a);if(A.TAG!=="Ok")return{TAG:"Error",_0:A._0};let C=A._0;return C.TAG==="ResultReply"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:"thread/resume after unarchive failed: "+C.message}})();if(g.TAG==="Ok")return o.log("kandan.reconnect_thread_unarchive_resumed",Object.fromEntries([["codex_thread_id",n],["discovered_by",Sb(m)]])),{TAG:"Ok",_0:"Resumed"};let b=g._0;o.log("kandan.reconnect_thread_unarchive_failed",Object.fromEntries([["codex_thread_id",n],["discovered_by",Sb(m)],["archive_error",h],["message",b]]));let y;return y=m==="ResumeArchived"?b:"thread/inject_items failed: "+h+"; 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 h=await(async()=>{let g=o.buildRehydrationItems,b;if(g!==void 0){let re=await g(m);re.TAG==="Ok"?b=re._0:(o.log("kandan.reconnect_thread_rehydration_items_failed",Object.fromEntries([["codex_thread_id",n],["message",re._0]])),b=void 0)}else b=void 0;let y,v=0;if(b!==void 0&&b.length!==0?y={TAG:"Ok",_0:b.slice()}:v=1,v===1){let re=await o.buildRehydrationText(m);y=re.TAG==="Ok"?{TAG:"Ok",_0:[Object.fromEntries([["type","agentMessage"],["text",re._0]])]}:{TAG:"Error",_0:re._0}}if(y.TAG!=="Ok")return{TAG:"Error",_0:y._0};let S=await l("thread/inject_items",Object.fromEntries([["threadId",n],["items",y._0]]));if(S.TAG!=="Ok")return{TAG:"Error",_0:S._0};let A=S._0;if(A.TAG==="ResultReply"){let re=await l("thread/resume",a);if(re.TAG!=="Ok")return{TAG:"Error",_0:re._0};let fe=re._0;return fe.TAG==="ResultReply"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:"rehydrated thread/resume failed: "+fe.message}}let C=A.message;if(!(o.forceRehydrate&&fC(C)))return{TAG:"Error",_0:"thread/inject_items failed: "+C};let V=await d("ForcedInjectNotFound",C);return V.TAG==="Ok"?{TAG:"Ok",_0:V._0}:{TAG:"Error",_0:V._0.message}})();if(h.TAG==="Ok"){let g=h._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 _=h._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(AZ);let c=await l("thread/resume",a);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 p=f.message;return cC(p)?await d("ResumeArchived",p):await u(p)}function qa(e,t){let r=e.indexOf(t);if(r!==-1)return r}var SE=[["codexThreadId","harness_session_id"],["codex_thread_id","harness_session_id"],["kandanThreadId","thread_id"],["kandan_preview_ticket","linzumi_preview_ticket"],["kandan_thread_id","thread_id"],["linzumiThreadId","thread_id"],["linzumi_thread_id","thread_id"],["local_codex_runner","commander"],["runnerId","commander_id"],["runner_config","commander_config"],["runner_id","commander_id"]],Vf=[["commander","local_codex_runner"],["commander_config","runner_config"],["commander_id","runner_id"],["harness_session_id","codex_thread_id"],["linzumi_preview_ticket","kandan_preview_ticket"],["thread_id","kandan_thread_id"]],wb=[["engine_boot_reconnect","harness_boot_reconnect"],["engine_for_runner_event_type","harness_for_commander_event_type"],["engine_rejected_steer","harness_rejected_steer"],["engine_unavailable","harness_unavailable"],["join_engine","join_harness"],["kandan-local-codex-runner","linzumi-commander"],["local_codex_runner","commander"],["original_engine","original_harness"],["resume_engine","resume_harness"]];function EZ(){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 xb(e){let t={};return e.forEach(r=>{t[r[0]]=r[1]}),t}function PZ(e){let t={};return e.forEach(r=>{t[r[1]]=r[0]}),t}var xE=xb(SE),kE=xb(Vf),$Z=xb(wb),RZ=PZ(wb);function IZ(e){return e.endsWith("_canonical")?!0:e.endsWith("_legacy")}function TE(e,t){return t>=32?e:Array.isArray(e)?e.map(r=>TE(r,t+1|0)):e===null?e:typeof e==="object"?OE(e,t):e}function OE(e,t){let r=Object.keys(e),n={};return r.forEach(i=>{let o=e[i];if(o!==void 0){n[i]=TE(o,t+1|0);return}}),r.forEach(i=>{if(IZ(i))return;let o=n[i];if(o===void 0)return;let s=xE[i];if(s!==void 0)n[s]=o;else{let c=kE[i];c!==void 0&&(n[c]!==void 0||(n[c]=o))}let a=n[i];if(a===void 0||typeof a!="string")return;let l=$Z[a];if(l!==void 0){if(n[i+"_canonical"]!==void 0)return;n[i+"_canonical"]=l;return}let d=RZ[a];if(!(d===void 0||n[i+"_legacy"]!==void 0)){n[i+"_legacy"]=d;return}}),n}function AE(e){return EZ()?OE(e,0):e}function CE(e){let t=e.slice();return e.forEach(r=>{let n=xE[r];n!==void 0&&!t.includes(n)&&t.push(n);let i=kE[r];if(i!==void 0&&!t.includes(i)){t.push(i);return}}),t}var Da="<SENSITIVE_DATA>",MZ=CE(["access_token","authorization","code","cookie","kandan_preview_ticket","refresh_token","token"]),zZ=["--access-token","--api-key","--authorization","--cookie","--oauth-code","--password","--refresh-token","--secret","--token"],jZ=new RegExp("^(authorization|cookie|set-cookie|password)$","i"),NZ=new RegExp("(^|[_-])(access[_-]?token|api[_-]?key|auth[_-]?token|oauth[_-]?code|refresh[_-]?token|secret|token)$","i"),FZ=new RegExp("\\beyJ[A-Za-z0-9_-]*\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\b","g");function GZ(e){return e!==void 0?jZ.test(e)?!0:NZ.test(e):!1}function PE(e){let t={contents:!1};return Iv(e).forEach(r=>{if(MZ.includes(r.toLowerCase())){e.set(r,Da),t.contents=!0;return}}),t.contents}function qZ(e){let t=qa(e,"?"),r=qa(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):"",s=new URLSearchParams(i);return PE(s)?n+"?"+s.toString()+o:e}function DZ(e){let t=zn(e);if(t===void 0)return qZ(e);let r=se(t);return PE(r.searchParams),r.toString()}function $E(e){return DZ(e).replace(FZ,Da)}function LZ(e){let t=qa(e,"=");return t!==void 0?[e.slice(0,t),e.slice(t+1|0)]:[e,void 0]}function kb(e,t){if(GZ(t))return Da;if(Array.isArray(e))return t==="args"?UZ(e):e.map(r=>kb(r,void 0));if(e===null)return e;switch(typeof e){case"string":return $E(e);case"object":return RE(e);default:return e}}function UZ(e){let t={contents:!1};return e.map(r=>{if(typeof r=="string"){if(t.contents)return t.contents=!1,Da;let n=LZ(r),i=n[0];return zZ.includes(i)?n[1]!==void 0?i+"="+Da:(t.contents=!0,r):$E(r)}return t.contents=!1,kb(r,void 0)})}function RE(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 s=o[0];if(s!=="runner_console"){i[s]=n&&s==="value"?Da:kb(o[1],s);return}}),i}var IE=RE;var WZ=IS(e=>({joinRef:e.item(0,Jm(bt)),ref:e.item(1,Jm(bt)),topic:e.item(2,bt),event:e.item(3,bt),payload:e.item(4,ES)}));function ME(e){return Qs(e,WZ)}function Hf(e){let t=nr(e);return t!==void 0?k(fr(se(t)),"unknown error"):"unknown error"}function KZ(e){let t=x(nr(e),r=>Sv(r));return t!==void 0?t:null}function _i(e){return e.TAG==="Transport"?e._0.message:e.message}function BZ(e,t){return{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"TimeoutReason",message:"phoenix push timed out after "+e.toString()+"ms waiting for connection: "+t}}}function JZ(e,t){return{TAG:"Transport",_0:{phase:"Reply",reason:"TimeoutReason",message:"phoenix push timed out after "+e.toString()+"ms: "+t}}}function NE(e){return e.TAG==="Transport"?e._0.phase==="WaitForConnection":!1}function FE(e){return{initial:t=>e.initial(t),onAdvance:(t,r)=>e.onAdvance(t,r),reset:(t,r)=>e.reset(t,r)}}function GE(e){return{current:t=>e.current(),adopt:(t,r)=>e.adopt(t,r)}}var QZ="base64url.bearer.phx.";function XZ(e){let t;t=typeof e=="object"&&e!==null&&!Array.isArray(e)?IE(e):e;let r=JSON.stringify(t);return r.length<=400?r:r.slice(0,400)+"\u2026"}var YZ=new RegExp("/$");function eV(e){let t=zn(e);if(t===void 0)return{TAG:"Error",_0:"Invalid URL"};let r=se(t);switch(r.protocol){case"http:":r.protocol="ws:";break;case"https:":r.protocol="wss:";break}return r.pathname=r.pathname.replace(YZ,"")+"/socket/websocket",r.searchParams.set("vsn","2.0.0"),{TAG:"Ok",_0:r.toString()}}function tV(e){return[QZ+Mv(e),"phoenix"]}function zE(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 rV(e){let t;try{t={TAG:"Ok",_0:JSON.parse(e)}}catch(n){let i=Q(n);t={TAG:"Error",_0:Hf(i)}}if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=ME(t._0);return r.TAG==="Ok"?{TAG:"Ok",_0:r._0}:{TAG:"Error",_0:"invalid Phoenix frame"}}function qE(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function Bf(e,t){return x(e,r=>{let n=r[t];if(typeof n=="object"&&n!==null&&!Array.isArray(n))return n})}function La(e,t){return x(e,r=>{let n=r[t];if(typeof n=="string")return n})}function Wf(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 nV(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?Zi(e.status,"ok"):!1}function iV(e){return typeof e!="object"||e===null||Array.isArray(e)?!1:typeof e.type=="string"}function Kf(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&er(r))return r}function jE(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return Kf(e,"control_seq")}function oV(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"&&er(n)?{event:t,payload:r,controlSeq:n}:void 0:{event:t,payload:r,controlSeq:void 0}}var sV="npm install -g @linzumi/cli@latest",aV=new RegExp("^npm install -g @linzumi\\/cli(@[0-9A-Za-z^~.-]{1,32})?$"),lV=new RegExp("^\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]{1,32})?$");function dV(e){return e!==void 0&&typeof e=="string"&&e.length<=100&&aV.test(e)?e:sV}function uV(e){return e!==void 0&&typeof e=="string"&&e.length<=64&&lV.test(e)?"@linzumi/cli "+e+" or newer":"a newer @linzumi/cli"}function Tb(e){let t=qE(e),r=Bf(t,"response"),n=La(r,"error");if(n!==void 0)return n;let i=La(r,"reason");if(i!==void 0)return i;let o=La(r,"message");if(o!==void 0)return o;let s=La(t,"error");return t!==void 0?s!==void 0?s:"unknown":"invalid reply"}function cV(e){let t=Bf(qE(e),"response");if(t===void 0||!de(t.error,"commander_version_too_old"))return Tb(e);let r=uV(t.min_version),n=dV(t.upgrade_command);return"commander_version_too_old: this Linzumi server requires "+r+". Update with: "+n}function fV(e){let t=e;if(La(t,"agent_provider")==="claude-code")return"claude-code-sdk";let n=Bf(t,"metadata"),i=Bf(n,"local_codex_runner");return La(i,"agent_provider")==="claude-code"?"claude-code-sdk":"codex-app-server"}function mV(e,t){let r;try{r=e.initial(t)}catch{r=void 0}if(r!==void 0&&er(r)&&r>=0)return r}function pV(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 DE(e,t,r,n){let i=n!==void 0?n:{},o=r!==void 0?r:Gf,s;s=t.TAG==="Token"?t._0:void 0;let a={contents:s},l=()=>{if(t.TAG==="Token")return{TAG:"Ok",_0:t._0};let T;try{T=t._0()}catch{T=void 0}if(T!==void 0&&T.trim()!=="")return a.contents=T,{TAG:"Ok",_0:T};let N=a.contents;return N!==void 0?{TAG:"Ok",_0:N}:{TAG:"Error",_0:{TAG:"Failed",message:"phoenix token provider returned no usable token"}}},d=i.onOperatorNotice,u=d!==void 0?d:T=>{console.error(T)},c=i.auditEvent,f=c!==void 0?c:(T,N)=>{},p=i.onPushRecorded,m=p!==void 0?p:T=>{},h=k(i.pushTimeoutMs,3e4),_=i.controlCursorStore,g=i.controlEpochStore,b={},y={},v={},S={},A={},C={},V={},re={},fe=new Set,J={contents:1},K=[],ae=[],z=[],L=[],$={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},I=T=>{let N=Object.entries(b);N.forEach(G=>dr(b,G[0])),N.forEach(G=>{let ee=G[1];clearTimeout(ee.timer),ee.settle({TAG:"Error",_0:T})})},F=()=>{if($.settleReady!==void 0)return;let N={contents:void 0};$.ready=new Promise((G,ee)=>{N.contents=G}),$.settleReady=N.contents},B=()=>{let T=$.settleReady;T!==void 0&&T({TAG:"Ok",_0:void 0}),$.settleReady=void 0},X=T=>{let N=$.settleReady;N!==void 0&&N({TAG:"Error",_0:T}),$.settleReady=void 0},Se=()=>{let T=$.heartbeatTimer;if(T!==void 0){clearInterval(se(T)),$.heartbeatTimer=void 0;return}},Ee=()=>{let T=$.backoffResetTimer;if(T!==void 0){clearTimeout(se(T)),$.backoffResetTimer=void 0;return}},Ze=T=>{$.closed=!0;let N=$.reconnectTimer;N!==void 0&&(clearTimeout(se(N)),$.reconnectTimer=void 0),Se(),Ee();let G=$.websocket;G!==void 0&&G.close(),X(T),I({TAG:"Transport",_0:{phase:"Reply",reason:"ClientClosed",message:"phoenix client closed"}})},ot=T=>k(re[T],0),Pe=T=>{dr(S,T),dr(A,T),dr(C,T),dr(V,T),re[T]=ot(T)+1|0},dt=(T,N)=>{let G=S[T];if(G!==void 0){if(N===G+1){let H=G+1,he=A[T];if(he!==void 0)for(;he.has(H+1);)H=H+1,he.delete(H);S[T]=H;return}let ee=A[T],te;if(ee!==void 0)te=ee;else{let H=new Set;A[T]=H,te=H}te.add(N);return}S[T]=N},Ge=(T,N)=>{let G=jE(N);if(G===void 0)return!0;let ee=S[T],te=ee!==void 0?G<=ee:!1,H=A[T],he=H!==void 0?H.has(G):!1;return te||he?!1:(dt(T,G),!0)},Xe=(T,N)=>{if(_!==void 0)try{return _.onAdvance(T,N)}catch{return}},Et=(T,N)=>{if(!T.startsWith("local_runner:"))return;let G=Kf(N,"control_high_water");if(G===void 0)return;let ee=S[T];if(ee!==void 0&&G<ee){Pe(T);let te=0;if(_===void 0)return;let H=_.reset;if(H===void 0)return;try{return H(T,te)}catch{return}}},tr=(T,N)=>{let G=T.startsWith("local_runner:");if(g===void 0||!G)return!1;let ee=N.control_epoch;if(ee===void 0||typeof ee!="string"||ee==="")return!1;let te;try{te=g.adopt(T,ee)}catch{te=!1}return te&&Pe(T),te},Tt=T=>{let N=S[T];if(N!==void 0)return N;if(_===void 0)return;let G=mV(_,T);return G!==void 0?(S[T]=G,G):0},je=new Set,R=(T,N,G,ee)=>{try{let te=!1;if(T.startsWith("local_runner:")&&N==="control"&&iV(ee)){let H;if(Ge(T,ee)){let he=jE(ee);if(he!==void 0){let Zt=C[T],rr;if(Zt!==void 0)rr=Zt;else{let cr=new Set;C[T]=cr,rr=cr}rr.add(he)}let gt=ot(T),Ot=he!==void 0?()=>{if(gt!==ot(T))return;let Zt=C[T];Zt!==void 0&&Zt.delete(he);let rr=V[T];rr!==void 0&&he<=rr||(V[T]=he);let cr=x(Zt,Ur=>We(Ur.values().toArray(),void 0,(Tr,Zr)=>Tr!==void 0&&Tr<=Zr?Tr:Zr)),kr=cr!==void 0?cr-1:V[T];if(kr===void 0)return;let vt=S[T],jt=vt!==void 0&&vt<kr?vt:kr;Xe(T,jt)}:()=>{};K.forEach(Zt=>Zt(ee,Ot)),H=!1}else H=!0;te=H}if(!te&&G===void 0&&N!=="phx_reply"&&N!=="phx_error"){ae.forEach(H=>H(T,N,ee));return}else return}catch(te){let H=Q(te),he=Hf(H);try{f("phoenix.pushed_frame_dispatch_failed",Object.fromEntries([["topic",T],["frame",N],["message",he],["stack",KZ(H)],["payloadSnippet",XZ(ee)],["dropped",!0]]))}catch{}if(je.has(N))return;je.add(N);try{return u('linzumi: dropped a pushed "'+N+'" frame on '+T+" whose dispatch failed ("+he+"); see the CLI audit log for the payload snippet.")}catch{return}}},ge=(T,N)=>{let G=S[T],ee={contents:G!==void 0&&G>=N?G:N},te=A[T];if(te!==void 0)for(te.values().toArray().forEach(H=>{if(H<=ee.contents){te.delete(H);return}});te.has(ee.contents+1);)ee.contents=ee.contents+1,te.delete(ee.contents);S[T]=ee.contents},ye=T=>{let N=S[T];if(N===void 0)return;let G=C[T],ee=G!==void 0&&G.size>0?W(We(G.values().toArray(),void 0,(te,H)=>te!==void 0&&te<=H?te:H),te=>te-1):void 0;Xe(T,ee!==void 0&&ee<N?ee:N)},le=(T,N)=>{if(T.startsWith("chat:")){let G=N.events;return G===void 0?{TAG:"Ok",_0:void 0}:G===null?{TAG:"Ok",_0:void 0}:Array.isArray(G)?(G.forEach(ee=>{ae.forEach(te=>te(T,"event",ee))}),{TAG:"Ok",_0:void 0}):{TAG:"Error",_0:"phoenix rejoin returned invalid events for "+T}}else{if(!T.startsWith("local_runner:"))return{TAG:"Ok",_0:void 0};let G=N.controls;if(G===void 0)return{TAG:"Ok",_0:void 0};if(G===null)return{TAG:"Ok",_0:void 0};if(!Array.isArray(G))return{TAG:"Error",_0:"phoenix rejoin returned invalid controls for "+T};G.forEach(te=>{let H=oV(te);if(H===void 0)return;let he={};Object.entries(H.payload).forEach(Ot=>{he[Ot[0]]=Ot[1]}),he.replayed=!0;let gt=H.controlSeq;gt!==void 0&&(he.control_seq=gt),R(T,H.event,void 0,he)});let ee=Kf(N,"controls_advance_to");if(ee!==void 0){let te=N.control_high_water;typeof te=="number"&&ee>te||ge(T,ee)}return ye(T),{TAG:"Ok",_0:void 0}}},Ke=(T,N,G,ee,te)=>{let H=$.websocket;if(H===void 0)return Promise.resolve({TAG:"Error",_0:{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"SocketNotOpen",message:"phoenix websocket is not open"}}});if(H.readyState()!==ks)return Promise.resolve({TAG:"Error",_0:{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"SocketNotOpen",message:"phoenix websocket is not open"}}});let he=$.nextRef.toString();$.nextRef=$.nextRef+1|0,N==="phx_join"&&(v[T]=he);let gt=N==="phx_join"?he:v[T],Ot=AE(G),kr=zE({joinRef:gt,ref:he,topic:T,event:N,payload:Ot}),vt=Math.max(0,Math.ceil(ee))|0;return new Promise((jt,Ur)=>{let Tr=setTimeout(()=>{if(b[he]!==void 0)return dr(b,he),jt({TAG:"Error",_0:JZ(vt,N)})},vt);b[he]={event:N,timer:Tr,settle:jt};try{m({provider:fV(Ot),rawFrameText:kr,topic:T,event:N,payload:Ot})}catch{}let Zr;try{Zr={TAG:"Ok",_0:H.send(kr)}}catch(Di){let bi=Q(Di);Zr={TAG:"Error",_0:Hf(bi)}}return Zr.TAG==="Ok"?te!==void 0?te():void 0:jt({TAG:"Error",_0:{TAG:"Failed",message:Zr._0}})})},U=(T,N)=>{let G={};if(N.forEach(ee=>{Object.entries(ee).forEach(te=>{let H=te[1],he=te[0],gt=he==="last_seq",Ot=G[he];if(gt&&typeof Ot=="number"&&typeof H=="number"){G[he]=H<Ot?H:Ot;return}if(Ot===void 0){G[he]=H;return}})}),T.startsWith("local_runner:")){let ee=Tt(T);ee!==void 0&&(G.last_control_seq=ee);let te=pV(g,T);te!==void 0&&(G.last_control_epoch=te)}return G},ke=T=>Object.entries(T).map(N=>N[1].payload()),be=async T=>{let N=0,G=0,ee=!0;for(;ee;){let te=y[T];if(te!==void 0){let H=Tt(T),he=await Ke(T,"phx_join",U(T,ke(te)),h,void 0);if(N=N+1|0,he.TAG==="Ok"){let gt=Wf(he._0);if(gt!==void 0){let Ot=gt.controls,Zt=Array.isArray(Ot)?Ot.length:0;G=G+Zt|0;let rr=de(gt.controls_truncated,!0),cr=Tt(T),kr;if(rr){let vt=Kf(gt,"control_high_water");kr=vt!==void 0&&cr!==void 0?vt-cr>0?vt-cr:0:void 0}else kr=0;if(f("phoenix.control_backlog_fetch_progress",Object.fromEntries([["topic",T],["fetches",N],["fetched",G],["remaining_estimate",kr!==void 0?kr:null],["truncated",rr]])),rr)if(de(cr,H)){let vt=cr!==void 0?cr.toString():"undefined";u("phoenix.control_backlog_fetch_stalled topic="+T+" fetches="+N.toString()+" fetched="+G.toString()+" cursor="+vt+"; a truncated reply made no cursor progress - stopping this fetch loop (a server paging bug; the next reconnect resumes from the watermark)"),ee=!1}else{if(N%20===0){let jt=kr!==void 0?kr.toString():"unknown";u("phoenix.control_backlog_cap_exceeded topic="+T+" fetches="+N.toString()+" fetched="+G.toString()+" remaining_estimate="+jt+"; continuing the paginated backlog fetch (a healthy connection never reconnects, so nothing is deferred)")}await new Promise((jt,Ur)=>{setImmediate(()=>jt())})}else ee=!1}else ee=!1}else ee=!1}else ee=!1}},Me=T=>{if(!fe.has(T)){fe.add(T),yn(be(T).then(()=>{fe.delete(T)}),N=>(fe.delete(T),Promise.resolve()));return}},wt={},ft=async()=>{Object.entries(wt).forEach(te=>dr(wt,te[0]));let T=Object.entries(y),N,G=0;for(;N===void 0&&G<T.length;){let te=T[G];if(te!==void 0){let H=te[0],he=await Ke(H,"phx_join",U(H,ke(te[1])),h,void 0);if(he.TAG==="Ok"){let gt=Wf(he._0);gt!==void 0?wt[H]=gt:N={TAG:"Failed",message:"phoenix rejoin failed for "+H}}else N=he._0}G=G+1|0}let ee=N;return ee!==void 0?{TAG:"Error",_0:ee}:{TAG:"Ok",_0:void 0}},Lt={contents:()=>Promise.resolve()},Ut=()=>{let T=$.closed,N=$.reconnectTimer;if(T||N!==void 0)return;F();let G=Math.min(1e4,250*2**$.reconnectAttempts);$.reconnectAttempts=$.reconnectAttempts+1|0,$.reconnectTimer=mt(setTimeout(()=>{$.reconnectTimer=void 0,Lt.contents()},Math.random()*G|0))},xt=(T,N,G)=>{let ee=$.connected,te=$.connectedAt;$.connectedAt=void 0,$.connected=!1;let H=$.websocket;if($.websocket=void 0,Se(),Ee(),H!==void 0&&(H.readyState()===lC||H.readyState()===ks))try{H.close()}catch{}if(I(T),Ut(),!ee)return;let he;he=G!==void 0&&G!==""?G:void 0;let gt=W(te,rr=>Math.max(0,Date.now()-rr)),Ot=$.reconnectAttempts,Zt={closeCode:N,closeReason:he,previousSessionDurationMs:gt,reconnectCount:Ot};L.forEach(rr=>{try{return rr(Zt)}catch{return}})},M=()=>{Se(),$.heartbeatTimer=mt(setInterval(()=>{let T=$.websocket;if(T===void 0||T.readyState()!==ks)return;let N=$.nextRef.toString();$.nextRef=$.nextRef+1|0;let te={joinRef:void 0,ref:N,topic:"phoenix",event:"heartbeat",payload:{}};try{return T.send(zE(te))}catch{return}},3e4))},j=()=>{Ee();let T=setTimeout(()=>{if($.backoffResetTimer=void 0,$.connected){$.reconnectAttempts=0;return}},3e4);T.unref(),$.backoffResetTimer=mt(T)},Z=(T,N)=>new Promise((G,ee)=>{let te={contents:void 0},H=he=>{let gt=te.contents;gt!==void 0&&(clearTimeout(se(gt)),te.contents=void 0),G(he)};T.on("SocketOpen",he=>H({TAG:"Ok",_0:void 0})),T.on("SocketError",he=>H({TAG:"Error",_0:"websocket open failed"})),T.on("SocketClose",he=>H({TAG:"Error",_0:"websocket closed before open"})),te.contents=mt(setTimeout(()=>{te.contents=void 0,H({TAG:"Error",_0:"websocket open timed out after "+N.toString()+"ms"})},N))}),Oe=async()=>{if($.closed)return;let T=l(),N=eV(e),G;if(T.TAG==="Ok")if(N.TAG==="Ok"){let H;try{H={TAG:"Ok",_0:o(N._0,tV(T._0))}}catch(he){let gt=Q(he);H={TAG:"Error",_0:{TAG:"Failed",message:Hf(gt)}}}G=H.TAG==="Ok"?{TAG:"Ok",_0:H._0}:{TAG:"Error",_0:H._0}}else G={TAG:"Error",_0:{TAG:"Failed",message:N._0}};else G={TAG:"Error",_0:T._0};if(G.TAG==="Ok"){let H=G._0;$.websocket=H,H.on("SocketMessage",vt=>{let jt=$.websocket;if(jt!==void 0&&jt===H){let Ur=rV(k(vt.data,"undefined"));if(Ur.TAG==="Ok"){let Tr=Ur._0,Zr=Tr.payload,Di=Tr.event,bi=Tr.topic,nu=Tr.ref;if(nu!==void 0&&(Di==="phx_reply"||Di==="phx_error")){let Li=b[nu];if(Li!==void 0){dr(b,nu),clearTimeout(Li.timer);let O$=Di==="phx_error",A$=nV(Zr)&&Li.event!=="phx_join";if(O$)Li.settle({TAG:"Error",_0:{TAG:"Failed",message:"phoenix push failed"}});else if(A$)Li.settle({TAG:"Error",_0:{TAG:"Failed",message:"phoenix push failed: "+Tb(Zr)}});else{let C$=y[bi],tl=Wf(Zr),iu;if(C$!==void 0&&tl!==void 0&&Li.event==="phx_join"){let yv=tr(bi,tl);Et(bi,tl);let bv=yv?{TAG:"Ok",_0:void 0}:le(bi,tl);bv.TAG==="Ok"?(bi.startsWith("local_runner:")&&(de(tl.controls_truncated,!0)||yv)&&Me(bi),iu=!1):(Li.settle({TAG:"Error",_0:{TAG:"Failed",message:bv._0}}),iu=!0)}else iu=!1;iu||Li.settle({TAG:"Ok",_0:Zr})}}}return R(bi,Di,nu,Zr)}else return f("phoenix.frame_decode_failed",Object.fromEntries([["message",Ur._0],["dropped",!0]]))}}),H.on("SocketClose",vt=>{let jt=$.websocket;if(jt!==void 0&&jt===H)return xt({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},vt.code,vt.reason)}),H.on("SocketError",vt=>{let jt=$.websocket;if(jt!==void 0&&jt===H)return xt({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},void 0,void 0)});let he=await Z(H,h),gt=()=>{if($.closed)return!0;let vt=$.websocket;return vt!==void 0?vt!==H:!1},Ot;if(he.TAG==="Ok")if(gt())Ot={TAG:"Ok",_0:!1};else{$.connectionGeneration=$.connectionGeneration+1|0;let vt=await ft();Ot=vt.TAG==="Ok"?gt()?{TAG:"Ok",_0:!1}:{TAG:"Ok",_0:!0}:{TAG:"Error",_0:vt._0}}else Ot={TAG:"Error",_0:{TAG:"Failed",message:he._0}};if(Ot.TAG==="Ok"){if(!Ot._0||($.connected=!0,$.connectedAt=Date.now(),$.hasEverConnected=!0,j(),M(),B(),$.connectionGeneration<=1))return;let vt={};Object.entries(wt).forEach(Ur=>{vt[Ur[0]]=Ur[1]});let jt={contents:!1};return z.forEach(Ur=>{if(jt.contents)return;let Tr;try{Tr={TAG:"Ok",_0:Ur(vt)}}catch{Tr={TAG:"Error",_0:void 0}}if(Tr.TAG!=="Ok"){jt.contents=!0;return}yn(Tr._0,Zr=>Promise.resolve())}),jt.contents&&!$.closed?xt({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket reconnect failed"}},void 0,void 0):void 0}let Zt=$.websocket,rr=Zt!==void 0?Zt!==H:!1,cr=$.closed||rr,kr=$.hasEverConnected;return cr?void 0:kr?xt({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket reconnect failed"}},void 0,void 0):Ze(Ot._0)}let ee=$.closed,te=$.hasEverConnected;if(!ee)return te?xt({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket reconnect failed"}},void 0,void 0):Ze(G._0)};Lt.contents=Oe;let qe=(T,N)=>{let G=$.ready;return new Promise((ee,te)=>{let H=setTimeout(()=>ee({TAG:"Error",_0:BZ(h,T)}),Math.max(0,N-Date.now())|0);G.then(he=>{clearTimeout(H),ee(he)})})},Ie=async(T,N,G,ee)=>{let te=Date.now()+h,H=await qe(N,te);return H.TAG==="Ok"?await Ke(T,N,G,te-Date.now(),ee):{TAG:"Error",_0:H._0}},Be=async(T,N,G)=>{let ee=G.registrationId,te;if(ee!==void 0)te=ee;else{let Tr="join-registration-"+J.contents.toString();J.contents=J.contents+1|0,te=Tr}let H=y[T],he=H!==void 0?ke(H):[],gt=await Ie(T,"phx_join",U(T,he.concat([N])),void 0);if(gt.TAG!=="Ok")return{TAG:"Error",_0:gt._0};let Ot=gt._0,Zt=Wf(Ot);if(Zt===void 0)return{TAG:"Error",_0:{TAG:"Failed",message:"phoenix join failed: "+cV(Ot)}};let rr=y[T],cr=rr!==void 0?rr:{},kr=Object.entries(cr).length===0,vt=G.rejoinPayload;if(cr[te]={payload:vt!==void 0?vt:()=>N},y[T]=cr,!(kr&&T.startsWith("local_runner:")))return{TAG:"Ok",_0:Zt};let jt=tr(T,Zt);Et(T,Zt);let Ur=jt?{TAG:"Ok",_0:void 0}:le(T,Zt);return Ur.TAG!=="Ok"?{TAG:"Error",_0:{TAG:"Failed",message:Ur._0}}:((de(Zt.controls_truncated,!0)||jt)&&Me(T),{TAG:"Ok",_0:Zt})},el={join:(T,N,G)=>Be(T,N,k(G,{rejoinPayload:void 0,registrationId:void 0})),unregisterJoin:(T,N)=>{let G=y[T];if(!(G===void 0||(dr(G,N),Object.entries(G).length!==0)))return dr(y,T),dr(v,T)},push:Ie,pushIfConnected:(T,N,G)=>$.connected?Ke(T,N,G,h,void 0):Promise.resolve({TAG:"Error",_0:{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"NotConnected",message:"phoenix client is not connected"}}}),onControl:T=>{K.push(T)},onEvent:T=>{ae.push(T)},onReconnect:T=>{z.push(T)},onDisconnect:T=>{L.push(T)},forceReconnect:T=>$.closed||!$.connected?!1:(xt({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},void 0,k(T,"forced_stale_reconnect")),!0),hardReset:T=>{if($.closed)return!1;xt({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},void 0,k(T,"hard_reset"));let N=$.reconnectTimer;return N!==void 0&&(clearTimeout(se(N)),$.reconnectTimer=void 0),Oe(),!0},close:()=>Ze({TAG:"Transport",_0:{phase:"WaitForConnection",reason:"ClientClosed",message:"phoenix client closed"}})};F(),Oe();let gv=await $.ready;return gv.TAG==="Ok"?{TAG:"Ok",_0:el}:{TAG:"Error",_0:gv._0}}var e7=10*6e4;function hV(e,t){let r=setTimeout(e,t);return r.unref(),r}function _V(e){clearTimeout(e)}var Ab={setTimer:hV,clearTimer:_V};var yV=["deterministic","transient_upstream","transient_local","rate_limited","needs_approval","needs_decision"],LE=ju(yV);function Jf(e){switch(e){case"deterministic":return"deterministic";case"needs_approval":return"needs_approval";case"needs_decision":return"needs_decision";case"rate_limited":return"rate_limited";case"transient_local":return"transient_local";case"transient_upstream":return"transient_upstream";default:return}}function bV(e){if(typeof e=="object")return"recover";switch(e){case"HoldUntilResetPolicy":return"hold_until_reset";case"RedImmediatelyPolicy":return"red_immediately";case"NeverLaddersPolicy":return"never_ladders"}}function Eb(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="+k(e.model,"unspecified")+n}function $b(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 UE(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"}}var vV=15*6e4,SV=30*6e4;function Cb(e,t){let r=W(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 zd(e){return{maxRecoveryRungs:Cb(e.LINZUMI_FATE_LADDER_MAX_RECOVERY_RUNGS,4),maxLadderMs:Cb(e.LINZUMI_FATE_LADDER_BUDGET_MS,vV),maxRateLimitHoldMs:Cb(e.LINZUMI_FATE_LADDER_MAX_HOLD_MS,SV)}}function wV(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 Rb(e,t){return{fate:e,startedAtMs:t,rungCursor:0,cursorAttempts:0,recoveryRungsAttempted:0,holdCommitted:!1,holdDispatched:!1,userSwitchInvoked:!1,entries:[],historyTruncated:!1}}function Lr(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 xV(e){switch(e){case"budget_rungs_exhausted":case"budget_wall_clock_exhausted":case"rungs_exhausted":case"grant_unavailable":return!0;default:return!1}}function ZE(e,t,r){if(e!=="transient_local"||r===void 0||!(r.backendDead&&xV(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 kV(e,t){switch(t){case"in_place_resume":return e.inPlaceResume;case"redispatch":return e.redispatch;case"worker_rebuild":return e.workerRebuild}}function VE(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 s=UE(o),a=e.run,l=a!==void 0?a:Rb(o,i);if(typeof s!="object")switch(s){case"HoldUntilResetPolicy":if(l.holdCommitted)return{TAG:"Red",cause:"hold_already_committed",run:Lr(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 p=Math.round((d-i)/1e3).toString(),m=Math.round(n.maxRateLimitHoldMs/1e3).toString();return{TAG:"Red",cause:"hold_unavailable_reset_beyond_bound",run:Lr(l,{rung:"HoldStep",outcome:"hold_unavailable_reset_beyond_bound",atMs:i,detail:"reset is "+p+"s away, beyond the "+m+"s hold budget",resetAtMs:d})}}let c=r(o,i),f=0;if(typeof c!="object")f=2;else{let p=c.reason;return{TAG:"BreakerHold",reason:p,run:Lr(l,{rung:"HoldStep",outcome:"breaker_held",atMs:i,detail:p,resetAtMs:void 0})}}if(f===2)return{TAG:"HoldUntilReset",resetAtMs:d,run:Lr({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:Lr(l,{rung:"HoldStep",outcome:"hold_unavailable_no_reset",atMs:i,detail:"no known rate-limit reset timestamp",resetAtMs:void 0})};let c=r(o,i),f=0;if(typeof c!="object")f=2;else{let p=c.reason;return{TAG:"BreakerHold",reason:p,run:Lr(l,{rung:{TAG:"RungStep",_0:"in_place_resume"},outcome:"breaker_held",atMs:i,detail:p,resetAtMs:void 0})}}if(f===2){if(l.recoveryRungsAttempted<n.maxRecoveryRungs)return{TAG:"ExecuteRung",rung:"in_place_resume",run:Lr({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 p=l.recoveryRungsAttempted.toString(),m=n.maxRecoveryRungs.toString();return{TAG:"Red",cause:"budget_rungs_exhausted",run:Lr(l,{rung:"ClassificationStep",outcome:"budget_rungs_exhausted",atMs:i,detail:p+" recovery rungs attempted (budget "+m+")",resetAtMs:void 0})}}}break;case"RedImmediatelyPolicy":return{TAG:"Red",cause:"deterministic_by_design",run:Lr(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=s.rungs;if(l.recoveryRungsAttempted>=n.maxRecoveryRungs){let _=l.recoveryRungsAttempted.toString(),g=n.maxRecoveryRungs.toString();return{TAG:"Red",cause:"budget_rungs_exhausted",run:Lr(l,{rung:"ClassificationStep",outcome:"budget_rungs_exhausted",atMs:i,detail:_+" recovery rungs attempted (budget "+g+")",resetAtMs:void 0})}}if(i-l.startedAtMs>n.maxLadderMs){let _=Math.round((i-l.startedAtMs)/1e3).toString(),g=Math.round(n.maxLadderMs/1e3).toString();return{TAG:"Red",cause:"budget_wall_clock_exhausted",run:Lr(l,{rung:"ClassificationStep",outcome:"budget_wall_clock_exhausted",atMs:i,detail:"ladder open "+_+"s (budget "+g+"s)",resetAtMs:void 0})}}let u=l.rungCursor,c=l.cursorAttempts,f=!1,p=d[u];for(;(()=>{let _=p;return _!==void 0?c>=_.maxAttempts:!1})();)u=u+1|0,c=0,p=d[u];for(;(()=>{let _=p;return _!==void 0?!kV(t,_.rung):!1})();)f=!0,u=u+1|0,c=0,p=d[u];let m=p;if(m===void 0)return{TAG:"Red",cause:f?"grant_unavailable":"rungs_exhausted",run:Lr(l,{rung:"ClassificationStep",outcome:f?"grant_unavailable":"rungs_exhausted",atMs:i,detail:f?"no executable recovery rung in this session context":"every recovery rung for this fate was already attempted",resetAtMs:void 0})};let h=r(o,i);if(typeof h=="object"){let _=h.reason;return{TAG:"BreakerHold",reason:_,run:Lr(l,{rung:{TAG:"RungStep",_0:m.rung},outcome:"breaker_held",atMs:i,detail:_,resetAtMs:void 0})}}return{TAG:"ExecuteRung",rung:m.rung,run:Lr({fate:l.fate,startedAtMs:l.startedAtMs,rungCursor:u,cursorAttempts:c+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:m.rung},outcome:"attempted",atMs:i,detail:void 0,resetAtMs:void 0})}}}function WE(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:Lr({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:Eb(r),resetAtMs:void 0,userSwitch:r})}}function Ib(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 Lr(e,{rung:"UserSwitchStep",outcome:o,atMs:r,detail:i!==void 0?Eb(n)+" - "+i:Eb(n),resetAtMs:void 0,userSwitch:n})}function Qf(e,t,r,n){let i=n!==void 0?se(n):void 0,o=UE(t),s=c=>{let f={};f.rung=wV(c.rung),f.outcome=c.outcome,f.at_ms=c.atMs;let p=c.detail;p!==void 0&&(f.detail=p.slice(0,200));let m=c.resetAtMs;m!==void 0&&(f.reset_at_ms=m);let h=c.userSwitch;if(h!==void 0){f.source_harness=h.sourceHarness,f.target_harness=h.targetHarness;let _=h.model;_!==void 0&&(f.model=_);let g=h.transpiledItemCount;g!==void 0&&(f.transpiled_item_count=g);let b=h.redactedReasoningCount;b!==void 0&&(f.redacted_reasoning_count=b)}return f},a=e!==void 0?e.entries.slice(0,16).map(s):[],l={};l.fate=t,l.policy=bV(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=$b(i));let u;if(u=t==="deterministic"?a.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=a;return l}var HE="switching this job to another harness at the user's request";function OV(e,t,r){let n=r.sandboxedNeverDefault&&de(t,"workspace-write");if(e===void 0)return{TAG:"Ok",_0:n?"never":"on-request"};switch(e){case"default":return{TAG:"Ok",_0:n?"never":"on-request"};case"never":return{TAG:"Ok",_0:de(t,"danger-full-access")||n?"never":"on-request"};case"on-failure":return{TAG:"Ok",_0:"on-failure"};case"on-request":return{TAG:"Ok",_0:"on-request"};default:return{TAG:"Error",_0:"unsupported Codex approval policy: "+e}}}function KE(e,t,r){return sr(OV(e,t,r),n=>n==="on-failure"?"on-request":n)}function BE(e,t){switch(e){case"danger-full-access":return{TAG:"Ok",_0:Object.fromEntries([["type","dangerFullAccess"]])};case"read-only":return{TAG:"Ok",_0:Object.fromEntries([["type","readOnly"],["access",Object.fromEntries([["type","fullAccess"]])],["networkAccess",!1]])};case"workspace-write":return{TAG:"Ok",_0:Object.fromEntries([["type","workspaceWrite"],["writableRoots",[t]],["readOnlyAccess",Object.fromEntries([["type","fullAccess"]])],["networkAccess",!1],["excludeTmpdirEnvVar",!1],["excludeSlashTmp",!1]])};default:return{TAG:"Error",_0:"unsupported Codex sandbox mode: "+e}}}function CV(e){let t=e.item,n=(typeof t=="object"&&t!==null&&!Array.isArray(t)?t:e).type,i=n!==void 0?hr(n):void 0;if(i!==void 0)switch(i){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 Mb(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":CV(t)}}var PV=fn(e=>({decision:e.f("decision",bt),label:e.f("label",bt),description:e.f("description",Qt(bt))})),$V=fn(e=>({requestId:e.f("requestId",bt),kind:e.f("kind",bt),summary:e.f("summary",bt),reason:e.f("reason",Qt(bt)),port:e.f("port",Qt(Js)),pid:e.f("pid",Qt(Js)),command:e.f("command",Qt(bt)),cwd:e.f("cwd",Qt(bt)),processName:e.f("processName",Qt(bt)),processIconKey:e.f("processIconKey",Qt(bt)),processIconPath:e.f("processIconPath",Qt(bt)),choices:e.f("choices",Qt(zu(PV))),allowedActorSlug:e.f("allowedActorSlug",Qt(bt)),allowedActorUserId:e.f("allowedActorUserId",Qt(Js))})),RV=ju(["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","awaiting approval"]),t7=$S([fn(e=>(e.tag("status","queued"),{TAG:"Queued",reason:e.f("reason",Qt(bt))})),fn(e=>(e.tag("status","processed"),{TAG:"Processed",reason:e.f("reason",Qt(bt))})),fn(e=>(e.tag("status","processing"),{TAG:"Processing",reason:e.f("reason",RV),approval:e.f("approval",Qt($V))})),fn(e=>(e.tag("status","ignored"),{TAG:"Ignored",reason:e.f("reason",bt)})),fn(e=>(e.tag("status","failed"),{TAG:"Failed",reason:e.f("reason",bt),retryable:e.f("retryable",Qt(CS)),fate:e.f("fate",Qt(LE))})),fn(e=>(e.tag("status","interrupted"),{TAG:"Interrupted",reason:e.f("reason",bt)}))]);function MV(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(`
326
326
  `)}function JE(e){let t=e.body.trimStart();return t.startsWith("!")?t:MV(e)}function zb(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function In(e,t){let r=e[t];if(typeof r=="string")return r}function Os(e,t){let r=e[t];if(Array.isArray(r))return r}function jd(e){return Ne(e,t=>{if(typeof t!="object"||t===null||Array.isArray(t))return;if(In(t,"type")==="text")return In(t,"text")}).join(`
327
327
  `)}function jb(e,t,r,n){return e+":"+t+":"+r+":"+n}function Nd(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 s=r.slice(3,r.length).join(":");if(s!=="")return{keySessionId:i,keyTurnId:o,keyItemId:s}}function Nb(e,t){return{threadId:e,threadTitle:void 0,nodes:t,hasMore:!1,cursor:void 0,budget:void 0,session:void 0}}var XE="codex";function NV(e,t,r){return jb(XE,e,t,r)}function FV(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 QE(e){return Ne(e,t=>{if(typeof t=="string")return t})}function GV(e){let t=In(e,"type");if(t===void 0)return"";switch(t){case"collabAgentToolCall":return k(In(e,"prompt"),"");case"commandExecution":return k(In(e,"aggregatedOutput"),"");case"dynamicToolCall":return Ui(Os(e,"contentItems"),"",jd);case"fileChange":return Ui(Os(e,"changes"),[],i=>Ne(i,o=>{if(typeof o=="object"&&o!==null&&!Array.isArray(o))return In(o,"path")})).join(`
328
328
  `);case"mcpToolCall":return Ui(x(zb(e,"result"),i=>Os(i,"content")),"",jd);case"reasoning":let r=Ui(Os(e,"summary"),[],QE),n=Ui(Os(e,"content"),[],QE);return r.concat(n).filter(i=>i!=="").join(`
@@ -362,11 +362,11 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
362
362
  `);return e.trim()===""?n:[e,"",n].join(`
363
363
  `)}function yP(e,t){let r=h4(e),n=v4(e);return[{body:S4(r,n),structured:Ud("codex_assistant_message",t,[["content",r],["phase",k(O(e,"phase"),"final_answer")]])}]}function om(e,t){let r=k(O(e,"id"),"item-"+t.toString()),n=O(e,"type");if(n===void 0)return[];switch(n){case"agentMessage":return yP(e,r);case"agentStatus":let i=k(it(e,"title"),"Agent status"),o=Vd(it(e,"body")),s=Zb(e.severity),a=it(e,"provider"),l=Es(e,"occurredAtMs"),d=_P(e),u={title:i,body:o,severity:s,provider:a,occurredAtMs:l,rawProviderMetadata:d};return[{body:Zd(i,o),structured:Qb(r,u,"completed")}];case"agentTaskUpdate":let c=k(it(e,"title"),"Agent task"),f=Vd(it(e,"body")),p=it(e,"progressLabel"),m=Vb(e.state),h=it(e,"provider"),_=Es(e,"occurredAtMs"),g=_P(e),b={title:c,body:f,state:m,progressLabel:p,provider:h,occurredAtMs:_,rawProviderMetadata:g};return[{body:Zd(c,f!==void 0?f:p),structured:Xb(r,b,"completed")}];case"commandExecution":let y=k(O(e,"command"),"command"),v=k(it(e,"aggregatedOutput"),""),S=Hb(y,v),A=O(e,"toolName"),C=Es(e,"durationMs"),V=Es(e,"exitCode");return[{body:S.body,structured:Ud("codex_command_execution",r,[["command",S.command],["tool_name",A!==void 0?A:null],["cwd",k(O(e,"cwd"),"")],["status",k(O(e,"status"),"")],["process_id",k(O(e,"processId"),"")],["duration_ms",C!==void 0?C:null],["exit_code",V!==void 0?V:null],["output",S.output]].concat(SP(S)))}];case"fileChange":let re=$P(k(nm(e,"changes"),[])),fe=it(e,"patchText"),J=fe!==void 0?fe:k(it(e,"patch"),"");return[{body:J.trim()!==""?J:re.map(B=>k(O(B,"path"),"")).join(`
364
364
  `),structured:Ud("codex_file_change",r,[["status",k(O(e,"status"),"")],["patch_text",J],["changes",re.map(B=>B)]])}];case"message":let ae=O(e,"role");return ae!==void 0?ae==="assistant"?yP(e,r):[]:[];case"reasoning":let z=em(e,"content").join(`
365
- `),Z=em(e,"summary");return[{body:z.trim()!==""?z:Z.join(`
366
- `),structured:Ud("codex_reasoning",r,[["content",z],["summary_parts",Z.map(i4)]])}];case"terminalInput":let I=it(e,"inputText"),F;if(I!==void 0)F=I;else{let B=it(e,"input");F=B!==void 0?B:k(it(e,"text"),"")}return[{body:F,structured:Ud("codex_terminal_input",r,[["process_id",k(O(e,"processId"),"")],["input_text",F]])}];default:return[]}}var IP=mP;var Ha={cwd:void 0,status:void 0,processId:void 0,durationMs:void 0,exitCode:void 0,stream:void 0};function Ps(e){let t=e!==void 0?e:"";return t===""?{parts:[],cached:"",joinedCount:0}:{parts:[t],cached:t,joinedCount:1}}function ev(e,t){t!==""&&e.parts.push(t)}function tv(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 w4(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 Ka(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 MP(e){return e.itemId}function am(e){let t=O(e,"itemId");if(t!==void 0)return t;let r=O(e,"item_id");return r!==void 0?r:x(Ae(e,"item"),n=>O(n,"id"))}function zP(e,t){let r=am(t);switch(e){case"item/agentMessage/delta":return W(im(t),n=>({TAG:"AssistantDelta",itemId:r,text:n}));case"command/exec/outputDelta":case"item/commandExecution/outputDelta":break;case"item/commandExecution/terminalInteraction":return W(EP(t),n=>({TAG:"TerminalInputDelta",itemId:r,processId:n.terminalProcessId,inputText:n.inputText}));case"item/fileChange/outputDelta":return W(PP(t),n=>({TAG:"FileChangeDelta",itemId:r,patchText:n}));case"item/reasoning/textDelta":return W(im(t),n=>({TAG:"ReasoningDelta",itemId:r,text:n}));case"item/started":return W(Yb(t),n=>({TAG:"WebSearchDelta",itemId:r,queries:n.queries}));default:return}return W(CP(t),n=>({TAG:"CommandOutputDelta",itemId:r,processId:n.commandProcessId,command:n.command,stream:n.stream,text:n.commandDelta}))}function jP(e){switch(e){case"assistant":return{TAG:"AssistantContent",text:Ps(void 0)};case"reasoning":return{TAG:"ReasoningContent",text:Ps(void 0)};case"commandOutput":return{TAG:"CommandOutputContent",command:"",processId:void 0,chunks:[]};case"fileChange":return{TAG:"FileChangeContent",patchText:Ps(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",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 x4(e,t){return We(t,e.slice(),(r,n)=>r.includes(n)?r:r.concat([n]))}function NP(e,t){if(w4(e)!==Ka(t))return e;switch(e.TAG){case"AssistantContent":return t.TAG!=="AssistantDelta"||ev(e.text,t.text),e;case"ReasoningContent":return t.TAG!=="ReasoningDelta"||ev(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,processId:n!==void 0?n:e.processId,chunks:e.chunks.concat([{stream:t.stream,text:t.text}])};case"FileChangeContent":return t.TAG!=="FileChangeDelta"||ev(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:x4(e.queries,t.queries)}:e;case"AgentStatusContent":case"AgentTaskUpdateContent":return e}}function k4(e){return e.map(t=>t.text).join("")}function FP(e){let t=O(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 O(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 GP(e){let t=Yb(e);if(t!==void 0)return{completedStreamKind:"webSearch",completedItemId:am(e),completedContent:{TAG:"WebSearchContent",queries:t.queries}};let r=k(Ae(e,"item"),e),n=RP(e);if(n!==void 0){let a=O(r,"call_id");return{completedStreamKind:"fileChange",completedItemId:a!==void 0?a:O(r,"id"),completedContent:{TAG:"FileChangeContent",patchText:Ps(n),status:"completed"}}}let i=FP(r);if(i===void 0)return;let o=om(r,0)[0];if(o===void 0)return;let s=O(r,"id");switch(i){case"assistant":return{completedStreamKind:i,completedItemId:s,completedContent:{TAG:"AssistantContent",text:Ps(k(O(o.structured,"content"),o.body))}};case"reasoning":return{completedStreamKind:i,completedItemId:s,completedContent:{TAG:"ReasoningContent",text:Ps(k(O(o.structured,"content"),o.body))}};case"commandOutput":let a=ur(o.structured,"output"),l;return l=typeof a=="string"?a:"",{completedStreamKind:i,completedItemId:s,completedContent:{TAG:"CommandOutputContent",command:k(O(o.structured,"command"),""),processId:O(o.structured,"process_id"),chunks:[{stream:"",text:l}]}};case"fileChange":return{completedStreamKind:i,completedItemId:s,completedContent:{TAG:"FileChangeContent",patchText:Ps(k(O(o.structured,"patch_text"),o.body)),status:"completed"}};case"terminalInput":return{completedStreamKind:i,completedItemId:s,completedContent:{TAG:"TerminalInputContent",processId:O(o.structured,"process_id"),inputText:k(O(o.structured,"input_text"),o.body)}};case"webSearch":return;case"agentStatus":return{completedStreamKind:i,completedItemId:s,completedContent:{TAG:"AgentStatusContent",_0:{title:k(O(o.structured,"title"),o.body),body:O(o.structured,"body"),severity:Zb(ur(o.structured,"severity")),provider:O(o.structured,"agent_provider"),occurredAtMs:Es(o.structured,"occurred_at_ms"),rawProviderMetadata:Ae(o.structured,"raw_provider_metadata")}}};case"agentTaskUpdate":return{completedStreamKind:i,completedItemId:s,completedContent:{TAG:"AgentTaskUpdateContent",_0:{title:k(O(o.structured,"title"),o.body),body:O(o.structured,"body"),state:Vb(ur(o.structured,"state")),progressLabel:O(o.structured,"progress_label"),provider:O(o.structured,"agent_provider"),occurredAtMs:Es(o.structured,"occurred_at_ms"),rawProviderMetadata:Ae(o.structured,"raw_provider_metadata")}}}}}function Ba(e,t,r){switch(t.TAG){case"AssistantContent":let n=tv(t.text);return{renderedBody:n,renderedStructured:wP(e,n,r)};case"ReasoningContent":let i=tv(t.text);return{renderedBody:i,renderedStructured:xP(e,i,r)};case"CommandOutputContent":let o=t.chunks,s=o[o.length-1|0],a=Kb(e,t.command,k4(o),{cwd:Ha.cwd,status:Ha.status,processId:t.processId,durationMs:Ha.durationMs,exitCode:Ha.exitCode,stream:k(W(s,y=>y.stream),"")},r),l=k(O(a,"command"),""),d=ur(a,"output");return{renderedBody:Wb(l,typeof d=="string"?d:""),renderedStructured:a};case"FileChangeContent":let c=tv(t.patchText),f;return f=r==="completed"||t.status!=="started"?"completed":"started",{renderedBody:c,renderedStructured:Bb(e,c,r,f)};case"TerminalInputContent":let p=t.inputText;return{renderedBody:p,renderedStructured:Object.fromEntries([["kind","codex_terminal_input"],["item_id",e],["transcript_unit_id","codex_terminal_input:"+e],["stream_state",IP(r)],["process_id",k(t.processId,"")],["input_text",p]])};case"WebSearchContent":let m=t.queries;return{renderedBody:Jb(m),renderedStructured:OP(e,m,r)};case"AgentStatusContent":let h=t._0,_=Vd(h.body);return{renderedBody:Zd(h.title,_),renderedStructured:Qb(e,{title:h.title,body:_,severity:h.severity,provider:h.provider,occurredAtMs:h.occurredAtMs,rawProviderMetadata:h.rawProviderMetadata},r)};case"AgentTaskUpdateContent":let g=t._0,b=Vd(g.body);return{renderedBody:Zd(g.title,b!==void 0?b:g.progressLabel),renderedStructured:Xb(e,{title:g.title,body:b,state:g.state,progressLabel:g.progressLabel,provider:g.provider,occurredAtMs:g.occurredAtMs,rawProviderMetadata:g.rawProviderMetadata},r)}}}function qP(e){return e.flatMap((t,r)=>{let n=De(t);if(n===void 0)return[];let i=FP(n);return i!==void 0?i==="webSearch"?[]:om(n,r).filter(o=>o.body.trim()!=="").map(o=>({snapshotIndex:r,projItemId:O(n,"id"),projStreamKind:i,projBody:o.body,projStructured:o.structured})):[]})}function rv(e,t){let r=k(O(e,"kind"),"codex_output"),n=Object.assign({},e);return n.item_id=t,n.transcript_unit_id=r+":"+t,n}function nv(e,t,r,n){if(r==="webSearch")return"local-codex-search-"+vn(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-"+vn(e+":"+t+":"+i+n).slice(0,32)}function Wd(e){let t=Ae(e,"turn"),r=Ae(e,"item"),n=x(r,d=>Ae(d,"turn")),i=x(t,d=>O(d,"id"));if(i!==void 0)return i;let o=O(e,"turnId");if(o!==void 0)return o;let s=O(e,"turn_id");if(s!==void 0)return s;let a=x(r,d=>O(d,"turnId"));if(a!==void 0)return a;let l=x(r,d=>O(d,"turn_id"));return l!==void 0?l:x(n,d=>O(d,"id"))}function Bn(e){return e!==void 0?e:null}var Kd="pipeline/turnMappingReady",Qa="pipeline/turnMappingFailed",LP="Codex completed without producing a response.",T4="linzumi_agent_reply",O4="The agent ended its turn after narrating an intent without posting a reply or taking any action.",A4="agent narrated intent but posted no reply and took no action",C4="Stopped after repeated empty responses in a row";function E4(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 HP="Codex emitted unsupported tool call";function P4(e){return e!==void 0?e.startsWith(HP):!1}function UP(e){switch(e){case"assistant":case"reasoning":case"webSearch":return!1;default:return!0}}function $4(e){if(e===void 0)return;let t=O(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(!de(O(e,"status"),"completed"))return;let n=ur(e,"error"),i=0;if(n!==void 0){if(n!==null)return;i=2}else i=2;if(i===2){let o=ur(e,"success"),s=0;if(typeof o=="boolean"){if(!o)return;s=3}else s=3;if(s===3){let a=k(O(e,"tool"),""),l=a.split("__");return k(l[l.length-1|0],a)===T4?"ReplyEvidence":"ActionEvidence"}}}}}function KP(e,t){let r=$4(t);if(r!==void 0){r==="ReplyEvidence"?e.agentReplyToolCallSeen=!0:e.agentActionToolCallSeen=!0;return}}function R4(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 BP(e){if(e===void 0)return;let t=O(e,"codex_protocol_failure_reason"),r=t!==void 0?t:O(e,"protocolFailureReason");if(r!==void 0)return r;let n=O(e,"type");if(n===void 0)return;switch(n){case"custom_tool_call_output":case"function_call_output":break;default:return}let i=O(e,"output"),o;if(i!==void 0)o=i;else{let s=O(e,"result");if(s!==void 0)o=s;else{let a=O(e,"text");o=a!==void 0?a:O(e,"content")}}return W(R4(o),s=>HP+": "+s)}function I4(e){return We(e,void 0,(t,r)=>t!==void 0?t:BP(De(r)))}function JP(){return{phase:"running",turns:new Map,terminalTurnIds:new Set,bufferedTurns:new Map,consecutiveEmptyTurns:0,lastUpstreamErrorSummary:void 0,consecutiveIsolatedRejections:0,costCap402Seen:!1}}function M4(e){switch(e){case"turn/aborted":case"turn/canceled":case"turn/cancelled":return"interrupted";case"turn/failed":return"failed";default:return}}function z4(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"response_item":case"turn/aborted":case"turn/canceled":case"turn/cancelled":case"turn/completed":case"turn/failed":case"turn/started":return!0;default:return!1}}function j4(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}}var N4=new RegExp("<[^>]*>","g"),F4=new RegExp(`data:[^"' )]+`,"g"),G4=new RegExp("\\s+","g");function Eo(e){if(e===void 0)return;let t=e.replace(N4," ").replace(F4,"").replace(G4," ").trim().slice(0,180);if(t!=="")return t}function Co(e){if(e!==void 0&&typeof e=="number"&&isFinite(e))return e}function fm(e){let t=x(Ae(e,"diagnostic_payload"),o=>Ae(o,"error")),r=x(t,o=>Ae(o,"codexErrorInfo")),n=x(r,o=>Ae(o,"responseStreamDisconnected")),i=[Co(x(n,o=>ur(o,"httpStatusCode"))),Co(x(r,o=>ur(o,"httpStatusCode"))),Co(x(r,o=>ur(o,"statusCode"))),Co(x(r,o=>ur(o,"status"))),Co(x(t,o=>ur(o,"httpStatusCode"))),Co(x(t,o=>ur(o,"statusCode"))),Co(x(t,o=>ur(o,"status")))];return We(i,void 0,(o,s)=>o!==void 0?o:s)}function q4(e){let t=O(e,"diagnostic_summary"),r=t!==void 0?t:x(x(Ae(e,"diagnostic_payload"),o=>Ae(o,"error")),o=>O(o,"message")),n=x(r,o=>Eo(o));if(n===void 0)return;let i=fm(e);return i!==void 0?"Model gateway error (HTTP "+i.toString()+"): "+n:"Model gateway error: "+n}var D4=new RegExp("(?:<!doctype\\s+html|<html(?:\\s|>))","i"),L4=new RegExp("cloudflare|cf-ray|\\bblocked\\b|access denied|\\bchallenge\\b|attention required","i"),U4=new RegExp("cloudflare|cf-ray","i"),Z4=new RegExp("\\bblocked\\b|access denied","i"),V4=new RegExp("attention required","i");function W4(e){let t=fm(e);if(t===void 0||t!==401&&t!==403)return;let r=x(Ae(e,"diagnostic_payload"),i=>Ae(i,"error")),n=We([O(e,"diagnostic_summary"),x(r,i=>O(i,"message")),O(e,"message")],void 0,(i,o)=>i!==void 0?i:o!==void 0&&D4.test(o)&&L4.test(o)?o:void 0);return W(n,i=>{let o=U4.test(i),s=Z4.test(i),a=V4.test(i);return{edgeStatus:t,edgeSignature:o?"cloudflare":s?"blocked":a?"attention_required":"challenge"}})}function H4(e){return e!==void 0?e===402||e===408||e===425||e===429?!0:e>=500?e<=599:!1:!1}function K4(e){return e!==void 0&&e>=400&&e<=499&&e!==402&&e!==408&&e!==425?e!==429:!1}function B4(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=k(W(t,o=>o.trim()),"");return i===""?n:n+" Upstream said: "+i}function J4(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 Q4(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=k(W(e,n=>n.trim()),"");return r===""?"Tool execution failed: "+t:"Tool execution failed ("+r+"): "+t}function Bd(e){let t=x(Ae(e,"diagnostic_payload"),i=>Ae(i,"error")),r=O(e,"message"),n;if(r!==void 0)n=r;else{let i=O(e,"reason");if(i!==void 0)n=i;else{let o=x(Ae(e,"error"),s=>O(s,"message"));if(o!==void 0)n=o;else{let s=O(e,"error");if(s!==void 0)n=s;else{let a=O(e,"diagnostic");if(a!==void 0)n=a;else{let l=x(t,d=>O(d,"message"));n=l!==void 0?l:x(x(t,d=>Ae(d,"error")),d=>O(d,"message"))}}}}}return Eo(n)}var X4=new RegExp("^(?:model_request_rejected|invalid_request_error|invalid_request|request_rejected|content_policy_violation|content_filter|input_validation_error)$","i"),Y4=new RegExp("\\bmodel request was rejected\\b|\\bmodel_request_rejected\\b","i");function eW(e){let t=x(Ae(e,"diagnostic_payload"),o=>Ae(o,"error")),r=x(t,o=>Ae(o,"error")),n=Ae(e,"error"),i=[[x(t,o=>O(o,"code")),x(t,o=>O(o,"message"))],[x(t,o=>O(o,"type")),x(t,o=>O(o,"message"))],[x(r,o=>O(o,"code")),x(r,o=>O(o,"message"))],[x(r,o=>O(o,"type")),x(r,o=>O(o,"message"))],[x(n,o=>O(o,"code")),x(n,o=>O(o,"message"))],[x(n,o=>O(o,"type")),x(n,o=>O(o,"message"))],[O(e,"code"),O(e,"message")],[O(e,"type"),O(e,"message")]];return We(i,void 0,(o,s)=>{if(o!==void 0)return o;let a=W(s[0],l=>l.trim());if(a!==void 0&&a!==""&&X4.test(a))return{colocatedMessage:s[1]}})}function tW(e){let t=eW(e),r=Bd(e),n=r!==void 0?Y4.test(r):!1;if(t===void 0&&!n)return;let i=Eo(x(t,o=>o.colocatedMessage));return i!==void 0?i:r!==void 0?r:""}function rW(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=k(W(e,n=>n.trim()),"");return r===""?"The model request was rejected: "+t:"The model request was rejected ("+r+"): "+t}var nW=new RegExp("^provider_outage$","i"),iW=new RegExp("rejecting requests|experiencing an outage|provider outage","i");function oW(e){let t=x(Ae(e,"diagnostic_payload"),d=>Ae(d,"error")),r=x(t,d=>Ae(d,"error")),n=Ae(e,"error");if(![x(t,d=>O(d,"code")),x(t,d=>O(d,"type")),x(r,d=>O(d,"code")),x(r,d=>O(d,"type")),x(n,d=>O(d,"code")),x(n,d=>O(d,"type")),O(e,"code"),O(e,"type")].some(d=>{let u=W(d,c=>c.trim());return u!==void 0&&u!==""?nW.test(u):!1}))return;let s=[x(t,d=>O(d,"message")),x(r,d=>O(d,"message")),x(n,d=>O(d,"message")),O(e,"message"),O(e,"reason")],a=We(s,void 0,(d,u)=>{if(d!==void 0)return d;let c=Eo(u);if(c!==void 0&&iW.test(c))return c});if(a!==void 0)return a;let l=Bd(e);return l!==void 0?l:""}function sW(e){let t=k(W(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 aW(e){let t="the model provider rejected this request and produced no response (a one-off retry did not help).",r=k(W(e,n=>n.trim()),"");return r===""?"The model request was rejected: "+t:"The model request was rejected ("+r+"): "+t}function lW(e,t,r,n){return e?{dispositionKind:"storm",dispositionRetryable:!1,dispositionReason:sW(r)}:t<1?{dispositionKind:"isolated_retry",dispositionRetryable:!0,dispositionReason:rW(n)}:{dispositionKind:"isolated_terminal",dispositionRetryable:!1,dispositionReason:aW(n)}}var dW=new RegExp("\\bapply_patch\\b[^]*\\bincompatible\\b|\\bin-flight tool future\\b[^]*\\bfail","i"),uW=new RegExp("\\btools::router\\b[^]*\\bfatal\\b|\\bresponse\\.failed\\b","i"),cW=new RegExp("(tool.*fatal|fatal.*tool|response[._]failed|tool_failure)","i");function fW(e){return dW.test(e)?!0:uW.test(e)}function mW(e){let t=O(e,"kind"),r;if(t!==void 0)r=t;else{let s=O(e,"type");if(s!==void 0)r=s;else{let a=x(Ae(e,"error"),l=>O(l,"kind"));r=a!==void 0?a:x(Ae(e,"error"),l=>O(l,"type"))}}let n=r!==void 0?cW.test(r):!1,i=Bd(e),o=i!==void 0?fW(i):!1;if(n||o)return i!==void 0?i:""}function ZP(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 pW(e){if(e===void 0)return;let t=qa(e,"{");if(t===void 0)return;let r=Uo(e.slice(t)),n=r!==void 0?r:Uo(e.slice(t,e.lastIndexOf("}")+1|0));if(n===void 0||!de(O(n,"type"),"error"))return;let i=Ae(n,"error");if(i===void 0)return;let o=O(i,"type");return{envelopeStatus:Co(ur(n,"status")),envelopeErrorType:o!==void 0?o:O(i,"code"),envelopeMessage:O(i,"message")}}function hW(e){let t=Ae(e,"error"),r=x(Ae(e,"diagnostic_payload"),h=>Ae(h,"error")),n=x(r,h=>Ae(h,"error")),i=fm(e),o=x(t,h=>O(h,"type")),s;if(o!==void 0)s=o;else{let h=x(t,_=>O(_,"code"));if(h!==void 0)s=h;else{let _=x(r,g=>O(g,"type"));if(_!==void 0)s=_;else{let g=x(r,b=>O(b,"code"));if(g!==void 0)s=g;else{let b=x(n,y=>O(y,"type"));if(b!==void 0)s=b;else{let y=x(n,v=>O(v,"code"));if(y!==void 0)s=y;else{let v=ZP(x(t,S=>ur(S,"codexErrorInfo")));s=v!==void 0?v:ZP(x(r,S=>ur(S,"codexErrorInfo")))}}}}}}let a=Eo(x(t,h=>O(h,"message"))),l;if(a!==void 0)l=a;else{let h=Eo(x(n,_=>O(_,"message")));if(h!==void 0)l=h;else{let _=Eo(x(r,g=>O(g,"message")));l=_!==void 0?_:Bd(e)}}if(i===void 0&&s===void 0){let h=We([x(t,_=>O(_,"message")),x(n,_=>O(_,"message")),x(r,_=>O(_,"message")),O(e,"message"),O(e,"reason"),O(e,"error"),O(e,"diagnostic"),O(e,"diagnostic_summary")],void 0,(_,g)=>_!==void 0?_:pW(g));if(h!==void 0){i=h.envelopeStatus,s=h.envelopeErrorType;let _=Eo(h.envelopeMessage);l=_!==void 0?_:l}}let c=W(s,h=>h.trim()),f;f=c!==void 0&&c!==""?c:void 0;let p=Ne([W(i,h=>h.toString()),f],h=>h).join(" "),m;if(p==="")m=l;else{let h=l;m=h!==void 0?p+": "+h:p}if(m!==void 0&&m!=="")return m.slice(0,300)}function VP(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 QP(e){return e===429||e>=500&&e<=599?"TransientRetryClass":"DeterministicRetryClass"}var _W=new RegExp("upstream model stream stalled","i"),gW=new RegExp("\\(HTTP (\\d{3})\\)");function XP(e){let t=gW.exec(e);if(t!=null)return x(x(t.slice(1)[0],r=>r),Ff)}function yW(e){let t=XP(e);return t!==void 0?QP(t):_W.test(e)?"TransientRetryClass":"DeterministicRetryClass"}function iv(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,QP(i)==="TransientRetryClass"?t.contents=!0:r.contents=!0),[e.swLastUpstreamErrorReason,e.swLastErrorDiagnosticText].forEach(a=>{if(a===void 0)return;n.contents=n.contents+1|0,yW(a)==="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,s=t.contents;return o?"deterministic":s?"transient":"none"}function WP(e){return e.swLastUpstreamErrorHttpStatus===429?!0:[e.swLastUpstreamErrorReason,e.swLastErrorDiagnosticText].some(r=>r!==void 0?de(XP(r),429):!1)}var bW=" (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 vW(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 SW(e){return" (An automatic resume was attempted at "+new Date(e).toISOString()+" after the stream stalled; it did not complete.)"}var YP=" (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 e$(e){return e>0?" ("+e.toString()+" automatic "+(e===1?"retry":"retries")+" did not help.)":""}var ov={autoRetryPreFirstByteStall:!1,messageStateRetryable:!1,costCapAutoRetrySuppressed:!1,messageStateFate:void 0,autoResumeMidStreamStall:!1,midStreamResumeRateLimitSuppressed:!1,midStreamResumeAttemptBurnedAtMs:void 0};function lm(e,t){return ur(e,t)===!0}function wW(e){let t=ur(e,"fate");if(typeof t=="string")return Jf(t)}function xW(e,t,r,n){let i=e==="turn/failed"&&de(x(Ae(t,"error"),y=>O(y,"code")),"idle_stream_timeout"),o=e==="turn/failed"&&lm(t,"retryable"),s=e==="turn/failed"?wW(t):void 0;if(!i)return{autoRetryPreFirstByteStall:!1,messageStateRetryable:o,costCapAutoRetrySuppressed:!1,messageStateFate:s,autoResumeMidStreamStall:!1,midStreamResumeRateLimitSuppressed:!1,midStreamResumeAttemptBurnedAtMs:void 0};let a=n.sessionMidStreamResumeAttemptAtMs,l=a!==void 0,d=iv(r)!=="deterministic",u=lm(t,"preFirstByteStall")&&d,c=lm(t,"midStreamResumableStall"),f=c&&WP(r),p=iv({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",m=c&&!l&&!f&&p,h=(u&&!l||m)&&n.sessionCostCap402Seen,_=u&&!l&&!h,g=m&&!h,b=c&&!l&&f;return{autoRetryPreFirstByteStall:_,messageStateRetryable:u||o,costCapAutoRetrySuppressed:h,messageStateFate:s!==void 0?s:WP(r)?"rate_limited":"transient_upstream",autoResumeMidStreamStall:g,midStreamResumeRateLimitSuppressed:b,midStreamResumeAttemptBurnedAtMs:l?a:void 0}}function kW(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 mm(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 pm(e){let t=e.turns.values().toArray().filter(n=>n.phase==="ActiveTurnPhase");return t.length!==1?void 0:t[0].turnId}function um(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 Hd(e){let t=e.nextStreamSnapshotIndex;return e.nextStreamSnapshotIndex=e.nextStreamSnapshotIndex+1|0,t}function Ja(e){let t=O(e,"reason");if(t!==void 0)return t;let r=O(e,"message");if(r!==void 0)return r;let n=x(Ae(e,"error"),i=>O(i,"message"));return n!==void 0?n:k(O(e,"error"),"codex_turn_aborted")}function TW(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,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 OW(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 cm(e,t,r,n,i,o,s,a){let l;if(a.autoRetryPreFirstByteStall||a.costCapAutoRetrySuppressed){let _=o.autoRetryAttemptsForSeq;l=n+e$(_!==void 0?_(t.sourceSeq):0)+(a.costCapAutoRetrySuppressed?YP:"")}else l=n;if(a.midStreamResumeRateLimitSuppressed&&(l=l+bW),r==="failed"){let _=a.midStreamResumeAttemptBurnedAtMs;if(_!==void 0)l=l+vW(_);else{let g=x(o.midStreamResumeAttemptAtMsForSeq,b=>b(t.sourceSeq));g!==void 0&&(l=l+SW(g))}}t.items.forEach(_=>{if(!_.posted||Db(_.emittedStreamState))return;let g=Ba(_.wireItemKey,_.content,s),b=Object.fromEntries(um(o,t,_,g).concat([["stream_snapshot_index",Hd(_)],["terminal_outcome",r],["reason",n]])),y={TAG:"Enqueue",kind:Cs,data:b,coalesceKey:void 0,resolution:"MustAck"};i.push(y),_.emittedStreamState=s,_.lastEmittedBody=g.renderedBody});let d=a.messageStateFate,u=a.messageStateFate,c;if(u!==void 0){let _=x(o.ladderHistoryForSeq,g=>g(t.sourceSeq,u));c=_!==void 0?[["ladder",_]]:[]}else c=[];let f=t.lastUpstreamErrorSummary,p;if(f!==void 0)p=[["upstream_error",f]];else{let _=e.lastUpstreamErrorSummary;p=_!==void 0?[["upstream_error",_]]:[]}let m=Object.fromEntries([["thread_key",o.threadKey],["turn_id",t.turnId],["seq",t.sourceSeq],["status","failed"],["reason",l]].concat((a.messageStateRetryable?[["retryable",!0]]:[]).concat(d!==void 0?[["fate",d]]:[])).concat(c.concat(p))),h={TAG:"Enqueue",kind:Wa,data:m,coalesceKey:void 0,resolution:"MustAck"};i.push(h),i.push({TAG:"TurnTerminal",turnId:t.turnId,outcome:r,reason:l,retryableEmptyTurn:a.autoRetryPreFirstByteStall,autoResumeMidStreamStall:a.autoResumeMidStreamStall,fate:a.messageStateFate}),e.turns.delete(t.turnId),mm(e,t.turnId)}function t$(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=fP(c),p=k(l,f),m={identity:c,itemKey:f,wireItemKey:p,clientMessageId:nv(n.instanceId,e.turnId,t,p),content:jP(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 s=r!==void 0?e.items.find(l=>l.identity.streamKind===t?de(l.identity.itemId,r):!1):void 0;if(s!==void 0)return s;let a=e.items.find(l=>l.identity.streamKind===t&&l.identity.itemId===void 0?!l.completed:!1);return r!==void 0?a!==void 0&&i?a:o(r):a!==void 0?a:o(r)}function r$(e,t,r,n,i,o){let s=Ba(t.wireItemKey,t.content,n);if(t.posted){let u=Object.fromEntries(um(i,e,t,s).concat([["delta_index",r],["stream_snapshot_index",Hd(t)]])),c=t.itemKey,f={TAG:"Enqueue",kind:qd,data:u,coalesceKey:c,resolution:"MustAck"};o.push(f),t.emittedStreamState=n,t.lastEmittedBody=s.renderedBody;return}if(s.renderedBody.trim()==="")return;let l=Object.fromEntries(um(i,e,t,s).concat([["delta_index",r],["stream_snapshot_index",Hd(t)]])),d={TAG:"Enqueue",kind:Gd,data:l,coalesceKey:void 0,resolution:"MustAck"};if(o.push(d),t.posted=!0,t.emittedStreamState=n,t.lastEmittedBody=s.renderedBody,n==="completed"){t.completed=!0;return}}function dm(e,t,r,n){if(e.phase==="ActiveTurnPhase"){let l=t$(e,Ka(t),MP(t),r,!1);if(l.completed){let p={TAG:"Log",event:"pipeline.loop.delta_for_completed_item",fields:Object.fromEntries([["turn_id",e.turnId],["item_key",l.itemKey]])};n.push(p);return}l.content=NP(l.content,t);let d=l.nextDeltaIndex;l.nextDeltaIndex=l.nextDeltaIndex+1|0;let u=Ka(t),c;return c=u==="terminalInput"?"completed":"streaming",r$(e,l,d,c,r,n)}let o=[["turn_id",e.turnId],["stream_kind",Ka(t)]],a={TAG:"Log",event:"pipeline.loop.delta_for_completing_turn",fields:Object.fromEntries(o)};n.push(a)}function AW(e,t,r,n){t.errorNotificationCount=t.errorNotificationCount+1|0;let i=mW(r);if(i!==void 0){t.toolFatalSeen=!0,t.toolFatalDetail===void 0&&i!==""&&(t.toolFatalDetail=i);let h={TAG:"Log",event:"codex.tool_fatal_captured",fields:Object.fromEntries([["turn_id",t.turnId],["detail",i===""?null:i]])};n.push(h)}let o=tW(r);if(o!==void 0){t.upstreamRejectedSeen=!0,t.upstreamRejectedDetail===void 0&&o!==""&&(t.upstreamRejectedDetail=o);let h={TAG:"Log",event:"codex.upstream_rejection_captured",fields:Object.fromEntries([["turn_id",t.turnId],["detail",o===""?null:o]])};n.push(h)}let s=oW(r);if(s!==void 0){t.providerOutageFlaggedSeen=!0,t.providerOutageDetail===void 0&&s!==""&&(t.providerOutageDetail=s);let h={TAG:"Log",event:"codex.provider_outage_flagged_captured",fields:Object.fromEntries([["turn_id",t.turnId],["detail",s===""?null:s]])};n.push(h)}let a=fm(r),l=W4(r);if(l!==void 0&&(t.edgeBlockEvidence=l),a!==void 0){let m=t.lastUpstreamErrorHttpStatus;m!==void 0&&a<=m||(t.lastUpstreamErrorHttpStatus=a)}if(de(a,402)&&!e.costCap402Seen){e.costCap402Seen=!0;let h={TAG:"Log",event:"codex.cost_cap_402_seen",fields:Object.fromEntries([["turn_id",t.turnId]])};n.push(h)}let d=q4(r),u=!1;if(d!==void 0){t.lastUpstreamErrorReason=d;let h={TAG:"Log",event:"codex.upstream_error_captured",fields:Object.fromEntries([["turn_id",t.turnId],["reason",d]])};n.push(h)}else{let m=Bd(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&&s===void 0&&a===void 0&&d===void 0&&!u&&(t.unattributedErrorNotificationCount=t.unattributedErrorNotificationCount+1|0);let c=hW(r);if(c===void 0)return;t.lastUpstreamErrorSummary=c,e.lastUpstreamErrorSummary=c;let p={TAG:"Log",event:"codex.upstream_turn_error_captured",fields:Object.fromEntries([["turn_id",t.turnId],["upstream_error",c]])};n.push(p)}function CW(e,t,r,n){let i=e.bufferedTurns.get(t);if(i!==void 0){i.push(r);return}e.bufferedTurns.set(t,[r]);let s={TAG:"Log",event:"pipeline.loop.turn_events_buffered",fields:Object.fromEntries([["turn_id",t]])};n.push(s)}function EW(e,t,r,n){let i=Ae(t,"item");i!==void 0&&e.protocolFailureReason===void 0&&(e.protocolFailureReason=BP(i)),KP(e,i!==void 0?i:t);let o=GP(t);if(o===void 0)return;if(o.completedStreamKind==="webSearch"){let c=o.completedContent,f;return f=c.TAG==="WebSearchContent"?c.queries:[],dm(e,{TAG:"WebSearchDelta",itemId:o.completedItemId,queries:f},r,n)}if(e.phase==="ActiveTurnPhase"){let c=t$(e,o.completedStreamKind,o.completedItemId,r,!0),f=!1;if(c.identity.streamKind===o.completedStreamKind){let m=o.completedStreamKind,h;switch(m){case"agentStatus":case"agentTaskUpdate":h=!0;break;default:h=!1}f=h}if(c.completed&&!f)return;c.content=o.completedContent,c.completed=!0;let p=Ba(c.wireItemKey,c.content,"streaming");return c.posted&&de(p.renderedBody,c.lastEmittedBody)?void 0:r$(e,c,Math.max(c.nextDeltaIndex-1|0,0),"streaming",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 PW(e,t,r,n){let i=O(t,"turnId"),o=k(O(t,"reason"),"turn source-seq mapping failed");if(i===void 0||e.terminalTurnIds.has(i))return;let s=e.turns.get(i);if(s!==void 0)return cm(e,s,"failed",o,n,r,"failed",ov);let a=e.bufferedTurns.get(i);e.bufferedTurns.delete(i);let l=[["level","warn"],["turn_id",i],["buffered_event_count",k(W(a,c=>c.length),0)],["reason",o]],u={TAG:"Log",event:"pipeline.loop.buffered_turn_failed",fields:Object.fromEntries(l)};n.push(u),n.push({TAG:"TurnTerminal",turnId:i,outcome:"failed",reason:o,retryableEmptyTurn:!1,autoResumeMidStreamStall:!1,fate:void 0}),mm(e,i)}function $W(e,t,r,n,i){let o=ur(r,"items"),s=o!==void 0?Array.isArray(o)?o:[]:[];t.protocolFailureReason===void 0&&(t.protocolFailureReason=I4(s)),s.forEach(R=>KP(t,De(R)));let a=qP(s),l=new Set,d=new Map;a.forEach((R,ge)=>{let ye=R.projItemId;if(ye===void 0)return;let le=t.items.find(Ke=>Ke.posted&&!l.has(Ke.itemKey)&&Ke.identity.streamKind===R.projStreamKind?de(Ke.identity.itemId,ye):!1);if(le!==void 0){l.add(le.itemKey),d.set(ge,le);return}});let u=new Map;t.items.forEach(R=>{if(!(R.posted&&!l.has(R.itemKey)&&R.identity.itemId===void 0))return;let ge=R.identity.streamKind;u.set(ge,k(u.get(ge),0)+1|0)});let c=new Map;a.forEach((R,ge)=>{if(d.has(ge))return;let ye=R.projStreamKind;c.set(ye,k(c.get(ye),0)+1|0)});let f=(R,ge)=>{let ye=Ba(R.wireItemKey,R.content,"completed").renderedBody.trim(),le=ge.projBody.trim();return le.startsWith(ye)?!0:ye.startsWith(le)};a.forEach((R,ge)=>{if(d.has(ge))return;let ye=R.projStreamKind,le=de(c.get(ye),u.get(ye));if(R.projItemId!==void 0&&!le)return;let Ke=t.items.find(L=>L.posted&&!l.has(L.itemKey)&&L.identity.streamKind===R.projStreamKind?L.identity.itemId===void 0:!1);if(Ke!==void 0&&(R.projItemId===void 0||f(Ke,R))){l.add(Ke.itemKey),d.set(ge,Ke);return}});let p=d.entries().toArray();t.items.forEach(R=>{let ge=p.find(L=>L[1].itemKey===R.itemKey);if(ge!==void 0){let L=a[ge[0]];if(L===void 0)return;let ke=Object.fromEntries([["thread_key",n.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",L.projBody],["structured",rv(L.projStructured,R.wireItemKey)],["stream_snapshot_index",Hd(R)],["terminal_outcome","completed"]]),be={TAG:"Enqueue",kind:Cs,data:ke,coalesceKey:void 0,resolution:"MustAck"};i.push(be),R.emittedStreamState="completed",R.lastEmittedBody=L.projBody;return}if(!R.posted||Db(R.emittedStreamState))return;let ye=Ba(R.wireItemKey,R.content,"completed"),le=Object.fromEntries(um(n,t,R,ye).concat([["stream_snapshot_index",Hd(R)],["terminal_outcome","completed"]])),Ke={TAG:"Enqueue",kind:Cs,data:le,coalesceKey:void 0,resolution:"MustAck"};i.push(Ke),R.emittedStreamState="completed",R.lastEmittedBody=ye.renderedBody}),a.forEach((R,ge)=>{if(d.has(ge))return;let ye=R.projItemId,le=ye!==void 0?ye:t.turnId+":"+R.projStreamKind+":snapshot:"+R.snapshotIndex.toString(),Ke=R.projItemId,L=Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["item_key",t.turnId+":"+R.projStreamKind+":"+(Ke!==void 0?Ke:"snapshot:"+R.snapshotIndex.toString())],["item_id",le],["stream_kind",R.projStreamKind],["snapshot_index",R.snapshotIndex],["source_seq",t.sourceSeq],["client_message_id",nv(n.instanceId,t.turnId,R.projStreamKind,le)],["body",R.projBody],["structured",rv(R.projStructured,le)],["stream_snapshot_index",1]]),ke={TAG:"Enqueue",kind:Dd,data:L,coalesceKey:void 0,resolution:"MustAck"};i.push(ke)});let m=t.items.some(R=>R.identity.streamKind==="assistant"?R.posted:!1)||a.some(R=>R.projStreamKind==="assistant"),h=t.agentActionToolCallSeen||t.items.some(R=>R.posted?UP(R.identity.streamKind):!1)||a.some(R=>UP(R.projStreamKind)),_=n.linzumiAgentSession&&m&&!t.agentReplyToolCallSeen&&!h,g=m&&!_,b=t.protocolFailureReason,y=P4(b)&&g,v=y?void 0:b,S;if(!g&&b===void 0&&t.lastUpstreamErrorReason===void 0){let R;if(_)R={cause:A4};else{let ge=t.lastUpstreamErrorSummary;R=kW(t,a.length,ge!==void 0?ge:e.lastUpstreamErrorSummary)}S=R}else S=void 0;let A=!g&&v===void 0&&t.upstreamRejectedSeen,C=!g&&v===void 0&&t.providerOutageFlaggedSeen,V=K4(t.lastUpstreamErrorHttpStatus),re=!g&&v===void 0&&t.edgeBlockEvidence!==void 0,fe=A&&!C&&!V,J=C||fe?lW(C,e.consecutiveIsolatedRejections,t.providerOutageDetail,t.upstreamRejectedDetail):void 0,K;if(J!==void 0)switch(J.dispositionKind){case"isolated_retry":K=!0;break;case"storm":case"isolated_terminal":K=!1;break}else K=!1;fe?e.consecutiveIsolatedRejections=e.consecutiveIsolatedRejections+1|0:e.consecutiveIsolatedRejections=0;let ae=!g&&v===void 0&&t.lastUpstreamErrorReason===void 0&&t.lastErrorDiagnosticText===void 0&&!A&&H4(t.lastUpstreamErrorHttpStatus),z=!g&&v===void 0&&t.lastUpstreamErrorReason===void 0&&V,Z=!g&&v===void 0&&t.lastUpstreamErrorReason===void 0&&!A&&!ae&&!z&&t.toolFatalSeen,$;if(J!==void 0)$=J.dispositionReason;else if(z){let R=t.upstreamRejectedDetail;$=B4(t.lastUpstreamErrorHttpStatus,R!==void 0?R:t.lastErrorDiagnosticText)}else if(ae)$=J4(t.lastUpstreamErrorHttpStatus);else if(Z)$=Q4(t.toolFatalDetail);else{let R=t.lastUpstreamErrorReason;$=R!==void 0?R:_?O4:S!==void 0?LP+" ["+S.cause+"]":LP}let I=S!==void 0&&v===void 0&&t.modelInteractionSeen&&t.lastErrorDiagnosticText===void 0&&!A&&!ae&&!z&&!Z;I?e.consecutiveEmptyTurns=e.consecutiveEmptyTurns+1|0:e.consecutiveEmptyTurns=0;let F=I&&e.consecutiveEmptyTurns>3,B=I&&!F||K,X=n.autoRetryAttemptsForSeq,Se=X!==void 0?X(t.sourceSeq):0,Ee=B&&e.costCap402Seen&&Se<2,Ze=B&&!Ee;if(re){let R=t.edgeBlockEvidence,ge=t.edgeBlockEvidence,le={TAG:"Log",event:"codex.edge_blocked_captured",fields:Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["http_status",R!==void 0?R.edgeStatus:null],["signature",ge!==void 0?ge.edgeSignature:null]])};i.push(le)}let ot=F?C4+" ("+e.consecutiveEmptyTurns.toString()+" in a row"+(S!==void 0?": "+S.cause:"")+").":void 0,Pe=v!==void 0?v:g?void 0:ot!==void 0?ot:$,dt=I&&!F?Se:0,Ge=W(Pe,R=>R+e$(dt)+(Ee?YP:"")),Xe=S!==void 0&&!F&&!A&&!ae&&!z&&!Z||K||re,Et;if(Xe||C)Et="transient_upstream";else if(ae){let R=t.lastUpstreamErrorHttpStatus;Et=R!==void 0?Id(R):"transient_upstream"}else Et="deterministic";if(Ee){let R=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["reason",Bn(Pe)],["isolated_rejection_retry_suppressed",K]],ye={TAG:"Log",event:"codex.empty_turn_auto_retry_suppressed_cost_cap",fields:Object.fromEntries(R)};i.push(ye)}if(F){let R=t.lastUpstreamErrorSummary,ge=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["consecutive_empty_turns",e.consecutiveEmptyTurns],["max_consecutive_empty_turns",3],["cause",Bn(W(S,Ke=>Ke.cause))],["last_upstream_error",Bn(R!==void 0?R:e.lastUpstreamErrorSummary)]],le={TAG:"Log",event:"codex.empty_turn_loop_guard_tripped",fields:Object.fromEntries(ge)};i.push(le)}if(y){let R=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["reason",Bn(b)]],ye={TAG:"Log",event:"codex.turn_completed_with_unsupported_tool_call_ignored",fields:Object.fromEntries(R)};i.push(ye)}else if(b!==void 0){let R=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["reason",Bn(b)]],ye={TAG:"Log",event:"codex.turn_completed_with_protocol_failure",fields:Object.fromEntries(R)};i.push(ye)}if(_){let ge={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",a.length],["agent_reply_tool_call_seen",t.agentReplyToolCallSeen],["agent_action_tool_call_seen",t.agentActionToolCallSeen],["retryable_empty_turn",Xe],["empty_turn_loop_guard_tripped",F]])};i.push(ge)}if(!m){let R=t.lastUpstreamErrorHttpStatus,ge=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["streamed_item_count",t.items.length],["snapshot_item_count",a.length],["notification_count",t.notificationCount],["error_notification_count",t.errorNotificationCount],["model_interaction_seen",t.modelInteractionSeen],["last_error_diagnostic_text",Bn(t.lastErrorDiagnosticText)],["last_upstream_error_reason",Bn(t.lastUpstreamErrorReason)],["last_upstream_error_summary",Bn(t.lastUpstreamErrorSummary)],["empty_turn_cause",Bn(W(S,Ke=>Ke.cause))],["tool_fatal_seen",Z],["tool_fatal_detail",Bn(t.toolFatalDetail)],["upstream_rejected_seen",A],["upstream_rejected_detail",Bn(t.upstreamRejectedDetail)],["upstream_terminal_4xx",z],["last_upstream_error_http_status",R!==void 0?R:null],["provider_outage_flagged",C],["isolated_rejection_retry_granted",K],["rejection_disposition",J!==void 0?J.dispositionKind:null],["consecutive_isolated_rejections",e.consecutiveIsolatedRejections],["retryable_empty_turn",Xe],["empty_turn_loop_guard_tripped",F],["cost_cap_auto_retry_suppressed",Ee]],le={TAG:"Log",event:"codex.turn_completed_without_assistant_output",fields:Object.fromEntries(ge)};i.push(le)}let tr;if(Ge!==void 0){let R=x(n.ladderHistoryForSeq,le=>le(t.sourceSeq,Et)),ge=t.lastUpstreamErrorSummary,ye;if(ge!==void 0)ye=[["upstream_error",ge]];else{let le=e.lastUpstreamErrorSummary;ye=le!==void 0?[["upstream_error",le]]:[]}tr=[["status","failed"],["reason",Ge]].concat((Xe?[["retryable",!0]]:[]).concat([["fate",Et]])).concat((R!==void 0?[["ladder",R]]:[]).concat(re?[["failure_class","edge_blocked"]]:[]).concat(ye))}else tr=[["status","processed"]];let Tt=Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["seq",t.sourceSeq]].concat(tr)),je={TAG:"Enqueue",kind:Wa,data:Tt,coalesceKey:void 0,resolution:"MustAck"};i.push(je),Ge===void 0&&(e.lastUpstreamErrorSummary=void 0),i.push(Ge!==void 0?{TAG:"TurnTerminal",turnId:t.turnId,outcome:"failed",reason:Ge,retryableEmptyTurn:Ze,autoResumeMidStreamStall:!1,fate:Et}:{TAG:"TurnTerminal",turnId:t.turnId,outcome:"completed",reason:void 0,retryableEmptyTurn:!1,autoResumeMidStreamStall:!1,fate:void 0}),e.turns.delete(t.turnId),mm(e,t.turnId)}function RW(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 $W(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 a={TAG:"Log",event:"pipeline.loop.snapshot_for_unknown_turn",fields:Object.fromEntries([["turn_id",t]])};i.push(a)}function IW(e,t,r,n){let i=t.method,o=k(t.params,{});if(i===Kd)return;if(i===Qa)return PW(e,o,r,n);if(!z4(i))return;let s=Wd(o),a=s!==void 0?s:pm(e);if(a!==void 0){if(e.terminalTurnIds.has(a)){let y={TAG:"Log",event:"pipeline.loop.notification_for_terminal_turn",fields:Object.fromEntries([["method",i],["turn_id",a]])};n.push(y);return}let u=e.turns.get(a),c;if(u!==void 0)c=u;else{let b=r.sourceSeqForTurn(a);c=b!==void 0?TW(e,a,b):void 0}if(c===void 0)return CW(e,a,{TAG:"HarnessNotification",_0:t},n);if(c.notificationCount=c.notificationCount+1|0,j4(i)&&(c.modelInteractionSeen=!0),i==="turn/started")return;if(i==="turn/completed")return OW(c,n);let f=M4(i);if(f!==void 0){let b=xW(i,o,VP(c),{sessionCostCap402Seen:e.costCap402Seen,sessionMidStreamResumeAttemptAtMs:x(r.midStreamResumeAttemptAtMsForSeq,v=>v(c.sourceSeq))});if(b.autoResumeMidStreamStall){let v=[["thread_key",r.threadKey],["turn_id",c.turnId],["source_seq",c.sourceSeq],["reason",Ja(o)]],A={TAG:"Log",event:"codex.mid_stream_stall_auto_resume_flagged",fields:Object.fromEntries(v)};n.push(A)}else if(b.midStreamResumeRateLimitSuppressed){let v=[["thread_key",r.threadKey],["turn_id",c.turnId],["source_seq",c.sourceSeq],["reason",Ja(o)]],A={TAG:"Log",event:"codex.mid_stream_stall_resume_suppressed_rate_limit",fields:Object.fromEntries(v)};n.push(A)}else{let v=b.midStreamResumeAttemptBurnedAtMs;if(v!==void 0){let S=[["thread_key",r.threadKey],["turn_id",c.turnId],["source_seq",c.sourceSeq],["resume_attempt_at_ms",v],["reason",Ja(o)]],C={TAG:"Log",event:"codex.mid_stream_stall_second_stall_after_resume",fields:Object.fromEntries(S)};n.push(C)}}if(b.autoRetryPreFirstByteStall){let v=[["thread_key",r.threadKey],["turn_id",c.turnId],["source_seq",c.sourceSeq],["reason",Ja(o)],["evidence_class",iv(VP(c))]],A={TAG:"Log",event:"codex.pre_first_byte_stall_auto_retry_flagged",fields:Object.fromEntries(v)};n.push(A)}else if(b.costCapAutoRetrySuppressed){let v=[["thread_key",r.threadKey],["turn_id",c.turnId],["source_seq",c.sourceSeq],["reason",Ja(o)],["flavor",lm(o,"midStreamResumableStall")?"mid_stream_resume":"pre_first_byte_retry"]],A={TAG:"Log",event:"codex.pre_first_byte_stall_retry_suppressed_cost_cap",fields:Object.fromEntries(v)};n.push(A)}let y;switch(f){case"failed":y="failed";break;case"completed":case"interrupted":y="interrupted";break}return cm(e,c,f,Ja(o),n,r,y,b)}if(i==="error")return AW(e,c,o,n);if(i==="item/completed"||i==="response_item")return EW(c,o,r,n);let p=zP(i,o);if(p===void 0)return;if(c.phase!=="ActiveTurnPhase")return dm(c,p,r,n);if(Ka(p)!=="reasoning")return c.reasoningStepsWithoutProgress=0,dm(c,p,r,n);if(c.reasoningStepsWithoutProgress=c.reasoningStepsWithoutProgress+1|0,c.reasoningStepsWithoutProgress<=64)return dm(c,p,r,n);let h=E4(c.reasoningStepsWithoutProgress),g={TAG:"Log",event:"codex.reasoning_loop_breaker_tripped",fields:Object.fromEntries([["thread_key",r.threadKey],["turn_id",c.turnId],["source_seq",c.sourceSeq],["reasoning_steps_without_progress",c.reasoningStepsWithoutProgress],["max_reasoning_steps_without_progress",64]])};return n.push(g),cm(e,c,"failed",h,n,r,"interrupted",ov)}let d={TAG:"Log",event:"pipeline.loop.notification_without_turn",fields:Object.fromEntries([["method",i]])};n.push(d)}function MW(e,t,r,n,i){switch(t){case"codexDied":let s=e.phase,a=0;switch(s){case"running":case"closing":a=2;break;case"dead":return}if(a===2){e.turns.values().toArray().forEach(u=>cm(e,u,"failed",r,i,n,"interrupted",ov)),e.bufferedTurns.entries().toArray().forEach(u=>{let c=u[0],p={TAG:"Log",event:"pipeline.loop.buffered_turn_dropped",fields:Object.fromEntries([["turn_id",c],["buffered_event_count",u[1].length],["reason",r]])};i.push(p),i.push({TAG:"TurnTerminal",turnId:c,outcome:"failed",reason:r,retryableEmptyTurn:!1,autoResumeMidStreamStall:!1,fate:void 0}),mm(e,c)}),e.bufferedTurns.clear(),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 s=[["kind",t],["reason",r]],l={TAG:"Log",event:"pipeline.loop.closing",fields:Object.fromEntries(s)};i.push(l);return;case"closing":case"dead":return}}function n$(e,t,r,n){switch(t.TAG){case"HarnessNotification":case"CompletionSnapshot":break;case"Lifecycle":return MW(e,t.kind,t.reason,r,n)}switch(e.phase){case"running":switch(t.TAG){case"HarnessNotification":return IW(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 RW(e,c,t.snapshot,r,n);case"Lifecycle":return}case"closing":let o=[["source",Va(t)]],a={TAG:"Log",event:"pipeline.loop.event_after_close",fields:Object.fromEntries(o)};n.push(a);return;case"dead":let l=[["source",Va(t)]],u={TAG:"Log",event:"pipeline.loop.event_after_death",fields:Object.fromEntries(l)};n.push(u);return}}function zW(e,t,r){e.bufferedTurns.keys().toArray().forEach(n=>{if(t.sourceSeqForTurn(n)===void 0)return;let o=k(e.bufferedTurns.get(n),[]);e.bufferedTurns.delete(n);let a={TAG:"Log",event:"pipeline.loop.buffered_turn_drained",fields:Object.fromEntries([["turn_id",n],["buffered_event_count",o.length]])};r.push(a),o.forEach(l=>n$(e,l,t,r))})}function i$(e,t,r){let n=[];return e.phase==="running"&&zW(e,r,n),n$(e,t,r,n),n}var sv=2;var jW=[500,1e3,2500,5e3,1e4,3e4],NW=1440*60*1e3;function hm(e,t){return e+"\0"+t}function o$(e,t){let r=Math.max(1,Math.ceil(t*e.length)|0);return k(e[r-1|0],0)}function FW(e){if(e.length===0)return;let t=e.toSorted((r,n)=>r-n);return{p50Ms:o$(t,.5),p95Ms:o$(t,.95),maxMs:k(t[t.length-1|0],0),ackedInWindow:t.length}}function GW(e){return new Promise((t,r)=>{setTimeout(()=>t(),e)})}function s$(e){let t=e.log,r=e.onPermanentFailure,n=e.builders,i={contents:e.threadKey},o=k(e.now,()=>Date.now()),s=k(e.retryDelaysMs,jW.slice()),a={contents:[]},l={contents:0},d=new Map,u={contents:new Map},c=[],f={contents:1},p={contents:0},m={contents:0},h={contents:0},_={contents:0},g={contents:0},b={contents:0},y=[],v={contents:0},S={contents:!1},A={contents:!0},C={contents:!1},V={contents:void 0},re={contents:void 0},fe=Math.max(1,k(e.maxInFlightPushes,1)),J={contents:0},K={contents:[]},ae={contents:Promise.resolve()},z=()=>a.contents[l.contents],Z=()=>({totalEnqueued:p.contents,totalAcked:m.contents,totalDroppedBestEffort:_.contents,totalPermanentFailures:g.contents,totalExpiredOnRecovery:b.contents,lastEntrySeq:f.contents-1}),$=e.persistDir;if($!==void 0){let M=qb($,i.contents),j=dP(M,t),U=k(e.journalRecoveryMaxAgeMs,NW),Oe=o(),qe=[];j.pendingEntries.forEach(Be=>{if(Oe-Be.enqueuedAtMs>U){qe.push(Be);return}let ut={entry:Be,state:"EntryQueued",outcome:void 0,retryTimer:void 0};a.contents.push(ut);let tt=Be.coalesceKey;if(tt!==void 0){d.set(hm(Be.kind,tt),ut);return}}),u.contents=j.kv,p.contents=j.counters.totalEnqueued,m.contents=j.counters.totalAcked,_.contents=j.counters.totalDroppedBestEffort,g.contents=j.counters.totalPermanentFailures,b.contents=j.counters.totalExpiredOnRecovery+qe.length|0,f.contents=j.counters.lastEntrySeq+1;let Ie=uP(M,()=>({pendingEntries:a.contents.slice(l.contents).map(Be=>Be.entry),kv:u.contents,counters:Z()}),t,e.journalCompactionThreshold,void 0);if(re.contents=Ie,qe.length!==0){qe.forEach(tt=>Ie.appendExpired(tt.entrySeq));let Be=qe.map(tt=>Math.max(0,Oe-tt.enqueuedAtMs)),ut=new Set(qe.map(tt=>tt.kind));t("outbox_recovery_expired",Object.fromEntries([["level","warn"],["threadKey",i.contents],["expiredEntries",qe.length],["survivingEntries",a.contents.length-l.contents|0],["maxAgeMs",U],["oldestAgeMs",We(Be,0,(tt,Ve)=>Math.max(tt,Ve))],["newestAgeMs",We(Be,Number.POSITIVE_INFINITY,(tt,Ve)=>Math.min(tt,Ve))],["kinds",ut.values().toArray().map(tt=>tt)]]))}(a.contents.length-l.contents|0)>0&&t("outbox_recovered",Object.fromEntries([["threadKey",i.contents],["pendingEntries",a.contents.length-l.contents|0],["nextEntrySeq",f.contents]]))}let B={remember:(M,j)=>{u.contents.set(M,j);let U=re.contents;if(U!==void 0)return U.appendKv(M,j)},recall:M=>u.contents.get(M)},X=()=>{if(l.contents=l.contents+1|0,l.contents>=64&&l.contents<<1>=a.contents.length){a.contents=a.contents.slice(l.contents),l.contents=0;return}},Se=()=>{let M=z(),j=c.length-1|0;for(;j>=0;){let U=c[j];if(U!==void 0&&(M!==void 0?M.entry.entrySeq>U.upToSeq:!0)){c.splice(j,1);let qe=U.timer;qe!==void 0&&clearTimeout(se(qe)),U.resolve({TAG:"Ok",_0:void 0})}j=j-1|0}},Ee=M=>{let j=M.entry.coalesceKey;if(j===void 0)return;let U=hm(M.entry.kind,j),Oe=d.get(U);if(Oe!==void 0&&Oe===M){d.delete(U);return}},Ze=(M,j)=>{let U=M.entry;switch(j.TAG){case"OutcomeAck":let Oe=n[U.kind];if(Oe!==void 0){let tt=Oe.onReply;if(tt!==void 0){let Ve;try{tt(U.data,j._0,B),Ve={TAG:"Ok",_0:void 0}}catch(Rs){let qi=Q(Rs);Ve={TAG:"Error",_0:Ye(qi)}}Ve.TAG!=="Ok"&&t("outbox_on_reply_failed",Object.fromEntries([["threadKey",i.contents],["entrySeq",U.entrySeq],["kind",U.kind],["error",Ve._0.message]]))}}let qe=re.contents;qe!==void 0&&qe.appendAck(U.entrySeq);break;case"OutcomeSkip":let Ie=j._0;t("outbox_entry_skipped",Object.fromEntries([["threadKey",i.contents],["entrySeq",U.entrySeq],["kind",U.kind],["reason",Ie]]));let Be=re.contents;Be!==void 0&&Be.appendSkip(U.entrySeq,Ie);break;case"OutcomeFail":if(U.resolution==="MustAck"){let tt=re.contents;tt!==void 0&&tt.appendFail(U.entrySeq);let Ve;try{r(U,j._0),Ve={TAG:"Ok",_0:void 0}}catch(Rs){let qi=Q(Rs);Ve={TAG:"Error",_0:Ye(qi)}}Ve.TAG!=="Ok"&&t("outbox_permanent_failure_callback_failed",Object.fromEntries([["threadKey",i.contents],["entrySeq",U.entrySeq],["error",Ve._0.message]]))}else{let tt=re.contents;tt!==void 0&&tt.appendDrop(U.entrySeq)}break}Ee(M),X(),Se()},ot=()=>{let M=!0;for(;M;){let j=z();if(j!==void 0){let U=j.outcome;U!==void 0?Ze(j,U):M=!1}else M=!1}},Pe=(M,j)=>{let U=M.entry;switch(j.TAG){case"OutcomeAck":case"OutcomeSkip":break;case"OutcomeFail":let Oe=j._0;U.resolution==="MustAck"?(g.contents=g.contents+1|0,t("outbox_permanent_failure",Object.fromEntries([["threadKey",i.contents],["entrySeq",U.entrySeq],["kind",U.kind],["attempts",U.attempts],["error",Oe]]))):(_.contents=_.contents+1|0,t("outbox_dropped_best_effort",Object.fromEntries([["threadKey",i.contents],["entrySeq",U.entrySeq],["kind",U.kind],["attempts",U.attempts],["error",Oe]])));break}M.outcome=j,M.state="EntryQueued"},dt=M=>{y.length<256?y.push(M):y[v.contents]=M;let j=v.contents+1|0;v.contents=j>=256?0:j},Ge=M=>{let j=M.retryTimer;if(j!==void 0){clearTimeout(se(j)),M.retryTimer=void 0;return}},Xe=()=>{if(J.contents>0)return;let M=K.contents;K.contents=[],M.forEach(j=>j())},Et=()=>{let M=z();return M===void 0||M.state!=="EntryQueued"||M.outcome!==void 0?!1:M.retryTimer!==void 0},tr={contents:()=>{}},Tt=(M,j)=>{Ge(M);let U=setTimeout(()=>{if(M.retryTimer=void 0,!(C.contents||S.contents||M.outcome!==void 0))return tr.contents()},j|0);U.unref(),M.retryTimer=mt(U)},je=async(M,j,U)=>{let Oe=M.entry,qe=o(),Ie;try{Ie=await e.push(j[0],j[1],j[2],U)}catch(tt){let Ve=Q(tt);Ie={TAG:"PushFailed",message:Ye(Ve).message,budgetExempt:!1}}if(Ie.TAG==="Acked")return U(),dt(Math.max(0,o()-qe)),m.contents=m.contents+1|0,Pe(M,{TAG:"OutcomeAck",_0:Ie._0});let Be=Ie.message;if(U(),M.state="EntryQueued",Ie.budgetExempt)return Oe.attempts=Oe.attempts-1|0,h.contents=h.contents+1|0,t("outbox_push_connection_wait",Object.fromEntries([["threadKey",i.contents],["entrySeq",Oe.entrySeq],["kind",Oe.kind],["error",Be]])),!C.contents&&!S.contents?Tt(M,1e3):void 0;let ut=s[Oe.attempts-1|0];return ut!==void 0?(h.contents=h.contents+1|0,t("outbox_push_retry",Object.fromEntries([["threadKey",i.contents],["entrySeq",Oe.entrySeq],["kind",Oe.kind],["attempt",Oe.attempts],["delayMs",ut],["error",Be]])),!C.contents&&!S.contents?Tt(M,ut):void 0):Pe(M,{TAG:"OutcomeFail",_0:Be})},R=async M=>{let j=M.entry,U=ae.contents,Oe={contents:()=>{}};ae.contents=new Promise((ut,tt)=>{Oe.contents=ut});let qe={contents:!1},Ie=()=>{if(!qe.contents)return qe.contents=!0,Oe.contents()};if(M.state="EntryPushing",J.contents=J.contents+1|0,await U,C.contents||S.contents||M.outcome!==void 0){M.state="EntryQueued",Ie(),J.contents=J.contents-1|0;return}let Be=n[j.kind];if(Be!==void 0){let ut;try{ut=Be.build(j.data,B)}catch(tt){let Ve=Q(tt);ut={TAG:"BuildFailed",_0:Ye(Ve).message}}switch(ut.TAG){case"BuildPush":j.attempts=j.attempts+1|0,await je(M,[ut.event,ut.payload,ut.timeoutMs],Ie),J.contents=J.contents-1|0;return;case"BuildSkip":Ie(),Pe(M,{TAG:"OutcomeSkip",_0:ut._0}),J.contents=J.contents-1|0;return;case"BuildFailed":Ie(),Pe(M,{TAG:"OutcomeFail",_0:ut._0}),J.contents=J.contents-1|0;return}}else{Ie(),Pe(M,{TAG:"OutcomeFail",_0:"no outbox builder registered for kind "+j.kind}),J.contents=J.contents-1|0;return}},ge=()=>{if(ot(),C.contents||S.contents||Et())return Xe();let M=l.contents;for(;M<a.contents.length&&J.contents<fe;){let j=a.contents[M];j!==void 0&&j.state==="EntryQueued"&&j.outcome===void 0&&(j.retryTimer!==void 0||yn(R(j).then(()=>ge()),Ie=>(t("outbox_drain_loop_error",Object.fromEntries([["threadKey",i.contents]])),ge(),Promise.resolve()))),M=M+1|0}Xe()};tr.contents=ge;let ye=()=>{if(S.contents||C.contents)return;if(z()!==void 0){Promise.resolve().then(()=>{if(!C.contents&&!S.contents)return ge()});return}},le=M=>{let j=f.contents-1,U=z();return(U!==void 0?U.entry.entrySeq>j:!0)?Promise.resolve({TAG:"Ok",_0:void 0}):new Promise((qe,Ie)=>{let Be={upToSeq:j,resolve:qe,timer:void 0};M!==void 0&&(Be.timer=mt(setTimeout(()=>{let ut=c.indexOf(Be);ut===-1||c.splice(ut,1),qe({TAG:"Error",_0:"outbox flush for "+i.contents+" timed out after "+M.toString()+"ms with "+(a.contents.length-l.contents|0).toString()+" entries pending"})},M|0))),c.push(Be)})},Ke=async M=>{A.contents=!1;let j=await le(M);j.TAG!=="Ok"&&t("outbox_close_flush_timeout",Object.fromEntries([["threadKey",i.contents],["depth",a.contents.length-l.contents|0],["error",j._0]])),C.contents=!0;let U=l.contents;for(;U<a.contents.length;){let Ie=a.contents[U];Ie!==void 0&&Ge(Ie),U=U+1|0}J.contents>0&&await Promise.race([new Promise((Ie,Be)=>{K.contents.push(()=>Ie())}),GW(1e3)]);let Oe=c.slice();c.splice(0,c.length),Oe.forEach(Ie=>{let Be=Ie.timer;Be!==void 0&&clearTimeout(se(Be)),Ie.resolve({TAG:"Error",_0:"outbox for "+i.contents+" closed"})});let qe=re.contents;if(qe!==void 0)return await qe.close()},L=(M,j,U)=>{if(M===void 0)return U;let Oe=M.coalesce;if(Oe===void 0)return U;let qe;try{qe={TAG:"Ok",_0:Oe(j.data,U)}}catch(Ie){let Be=Q(Ie);qe={TAG:"Error",_0:Ye(Be)}}return qe.TAG==="Ok"?qe._0:(t("outbox_coalesce_failed",Object.fromEntries([["threadKey",i.contents],["entrySeq",j.entrySeq],["kind",j.kind],["error",qe._0.message]])),U)},xt={enqueue:M=>{if(!A.contents)return{TAG:"Error",_0:"outbox for "+i.contents+" is closed"};p.contents=p.contents+1|0;let j=M.coalesceKey,U;if(j!==void 0){let tt=hm(M.kind,j),Ve=d.get(tt);if(Ve!==void 0)if(Ve.state==="EntryQueued")if(Ve.outcome!==void 0)U=void 0;else{Ve.entry.data=L(n[M.kind],Ve.entry,M.data);let Jn=re.contents;Jn!==void 0&&Jn.appendCoalesce(Ve.entry.entrySeq,Ve.entry.data),U=Ve.entry.entrySeq}else U=void 0;else U=void 0}else U=void 0;if(U!==void 0)return{TAG:"Ok",_0:U};let Oe=f.contents;f.contents=f.contents+1;let qe={entrySeq:Oe,kind:M.kind,data:M.data,coalesceKey:M.coalesceKey,resolution:M.resolution,attempts:0,enqueuedAtMs:o()},Ie={entry:qe,state:"EntryQueued",outcome:void 0,retryTimer:void 0};a.contents.push(Ie);let Be=M.coalesceKey;Be!==void 0&&d.set(hm(M.kind,Be),Ie);let ut=re.contents;return ut!==void 0&&ut.appendEnqueue(qe),ye(),{TAG:"Ok",_0:Oe}},flush:le,pause:()=>{S.contents=!0},resume:()=>{if(!S.contents)return;S.contents=!1;let M=l.contents;for(;M<a.contents.length;){let j=a.contents[M];j!==void 0&&(j.entry.attempts=0,Ge(j)),M=M+1|0}ye()},metrics:()=>{let M=z(),j=W(re.contents,U=>U.status());return{depth:a.contents.length-l.contents|0,oldestEntryAgeMs:W(M,U=>Math.max(0,o()-U.entry.enqueuedAtMs)),totalEnqueued:p.contents,totalAcked:m.contents,totalRetried:h.contents,totalDroppedBestEffort:_.contents,totalPermanentFailures:g.contents,totalExpiredOnRecovery:b.contents,totalJournalWriteFailures:k(W(j,U=>U.totalWriteFailures),0),journalDegraded:k(W(j,U=>U.degraded),!1),paused:S.contents,pushLatency:FW(y)}},close:M=>{let j=V.contents;if(j!==void 0)return j;let U=Ke(k(M,3e4));return V.contents=U,U},journalSettled:()=>{let M=re.contents;return M!==void 0?M.settled():Promise.resolve()},rekeyJournal:M=>{if(M===i.contents)return;i.contents=M;let j=e.persistDir,U=re.contents;if(j!==void 0&&U!==void 0)return U.rekey(qb(j,M))}};return ye(),xt}var DW=10*6e4;function LW(e){switch(e){case"collabAgentToolCall":case"commandExecution":case"dynamicToolCall":case"mcpToolCall":case"terminalInput":return!0;default:return!1}}function $s(e){let t=nr(e);return t!==void 0?k(fr(se(t)),"unknown error"):"unknown error"}function a$(e){let t=JP(),r=e.threadKey,n=e.instanceId,i=e.sourceSeqForTurn,o=e.autoRetryAttemptsForSeq,s=e.midStreamResumeAttemptAtMsForSeq,a=e.ladderHistoryForSeq,l=e.linzumiAgentSession,d={threadKey:r,instanceId:n,sourceSeqForTurn:i,autoRetryAttemptsForSeq:o,midStreamResumeAttemptAtMsForSeq:s,ladderHistoryForSeq:a,linzumiAgentSession:l},u=[],c=k(e.now,()=>Date.now()),f=new Map,p=new Map,m=new Map,h=new Map,_=new Set,g=k(e.bufferedTurnMaxAgeMs,DW),b=k(e.bufferedTurnMaxEvents,1e4),y=k(e.bufferedTurnSweepIntervalMs,3e4),v={contents:!1},S={contents:!0},A={contents:void 0},C=(I,F)=>{try{return e.log(I,Object.fromEntries(F))}catch{return}},V=I=>t.turns.has(I)?!0:t.bufferedTurns.has(I),re=()=>{t.turns.keys().toArray().forEach(I=>{if(!f.has(I)){f.set(I,c());return}}),f.keys().toArray().forEach(I=>{if(!t.turns.has(I)){f.delete(I);return}}),t.bufferedTurns.keys().toArray().forEach(I=>{if(!p.has(I)){p.set(I,c());return}}),p.keys().toArray().forEach(I=>{if(!t.bufferedTurns.has(I)){p.delete(I),_.delete(I);return}}),m.keys().toArray().forEach(I=>{if(!V(I)){m.delete(I);return}}),h.keys().toArray().forEach(I=>{if(!V(I)){h.delete(I);return}})},fe=(I,F)=>{if(V(I)){m.set(I,{atMs:c(),activityKind:F});return}},J=I=>{switch(I.TAG){case"HarnessNotification":let F=I._0,B=F.method;if(B===Kd||B===Qa)return;let X=Wd(k(F.params,{})),Se=X!==void 0?X:pm(t);return Se!==void 0?fe(Se,B):void 0;case"CompletionSnapshot":case"Lifecycle":return}},K=I=>{switch(I.TAG){case"HarnessNotification":let F=I._0,B=F.method;if(B!=="item/started"&&B!=="item/completed"&&B!=="response_item")return;let X=k(F.params,{}),Se=Wd(X),Ee=Se!==void 0?Se:pm(t);if(Ee===void 0||!V(Ee))return;let Ze=am(X);if(Ze===void 0||Ze==="")return;if(B==="item/started"){let Pe=x(Ae(X,"item"),Xe=>O(Xe,"type"));if(Pe===void 0||!LW(Pe))return;let dt=h.get(Ee),Ge;if(dt!==void 0)Ge=dt;else{let Xe=new Map;h.set(Ee,Xe),Ge=Xe}Ge.set(Ze,{kind:Pe,startedAtMs:c()});return}let ot=h.get(Ee);if(ot!==void 0){ot.delete(Ze);return}else return;case"CompletionSnapshot":case"Lifecycle":return}},ae=()=>{if(!S.contents||t.phase!=="running")return!1;let I=c(),F={contents:!1};return t.bufferedTurns.entries().toArray().forEach(B=>{let X=B[0];if(_.has(X))return;let Se=B[1],Ee=I-k(p.get(X),I),Ze=Ee>g,ot=Se.length>b;if(Ze||ot){_.add(X),C("pipeline.loop.buffered_turn_overdue",[["level","warn"],["thread_key",e.threadKey],["turn_id",X],["buffered_event_count",Se.length],["age_ms",Ee],["max_age_ms",g],["max_events",b]]),u.push({TAG:"HarnessNotification",_0:{method:Qa,params:Object.fromEntries([["turnId",X],["reason",ot?"turn source mapping never arrived ("+Se.length.toString()+" buffered events exceeded the "+b.toString()+" cap)":"turn source mapping never arrived within "+g.toString()+"ms"]])}}),F.contents=!0;return}}),F.contents},z=()=>{if(v.contents)return;v.contents=!0;let I=!0;for(;I;){let F=u.shift();if(F!==void 0){let B;try{B=i$(t,F,d)}catch(X){let Se=Q(X);C("pipeline.loop.event_processing_failed",[["thread_key",e.threadKey],["source",Va(F)],["message",$s(Se)]]),B=void 0}B!==void 0&&(re(),J(F),K(F),B.forEach(X=>{try{switch(X.TAG){case"Enqueue":return e.outboxEnqueue({kind:X.kind,data:X.data,coalesceKey:X.coalesceKey,resolution:X.resolution});case"RequestSnapshot":return e.requestSnapshot(X.turnId);case"TurnTerminal":return e.onTurnTerminal(X.turnId,X.outcome,X.reason,X.retryableEmptyTurn,X.autoResumeMidStreamStall,X.fate);case"Log":try{return e.log(X.event,X.fields)}catch{return}}}catch(Se){let Ee=Q(Se),Ze;switch(X.TAG){case"Enqueue":Ze="enqueue";break;case"RequestSnapshot":Ze="requestSnapshot";break;case"TurnTerminal":Ze="turnTerminal";break;case"Log":Ze="log";break}return C("pipeline.loop.effect_failed",[["thread_key",e.threadKey],["effect",Ze],["message",$s(Ee)]])}}),ae())}else I=!1}v.contents=!1},Z;if(y>0){let I=setInterval(()=>{if(ae())return z()},y);I.unref(),Z=mt(I)}else Z=void 0;let $=I=>{let F=h.get(I);return F!==void 0?F.values().toArray().map(B=>({kind:B.kind,startedAtMs:B.startedAtMs})):[]};return{submit:I=>{try{return S.contents?(u.push(I),z()):C("pipeline.loop.event_after_drain",[["thread_key",e.threadKey],["source",Va(I)]])}catch(F){let B=Q(F);return C("pipeline.loop.submit_failed",[["thread_key",e.threadKey],["message",$s(B)]])}},metrics:()=>({queueDepth:u.length,phase:t.phase,activeTurns:t.turns.values().toArray().map(I=>({turnId:I.turnId,sourceSeq:I.sourceSeq,startedAtMs:k(f.get(I.turnId),c()),lastActivityAtMs:W(m.get(I.turnId),F=>F.atMs),lastActivityKind:W(m.get(I.turnId),F=>F.activityKind),openItems:$(I.turnId)})),bufferedTurns:t.bufferedTurns.entries().toArray().map(I=>{let F=I[0];return{turnId:F,bufferedEventCount:I[1].length,firstBufferedAtMs:k(p.get(F),c()),lastActivityAtMs:W(m.get(F),B=>B.atMs),lastActivityKind:W(m.get(F),B=>B.activityKind),openItems:$(F)}})}),noteTurnActivity:(I,F)=>{try{return fe(I,F)}catch(B){let X=Q(B);return C("pipeline.loop.note_activity_failed",[["thread_key",e.threadKey],["message",$s(X)]])}},drainAndClose:I=>{let F=A.contents;if(F!==void 0)return F;let B=(async()=>{S.contents=!1,Z!==void 0&&clearInterval(se(Z)),await Promise.resolve(),z();let X;try{X=await e.outboxFlush(I)}catch(Se){let Ee=Q(Se);return C("pipeline.loop.drain_flush_failed",[["thread_key",e.threadKey],["message",$s(Ee)]])}if(X.TAG!=="Ok")return C("pipeline.loop.drain_flush_failed",[["thread_key",e.threadKey],["message",X._0]])})();return A.contents=B,B}}}var UW=10*6e4,ZW={emittedTotalEnqueued:0,emittedTotalAcked:0,emittedTotalRetried:0,emittedTotalDroppedBestEffort:0,emittedTotalPermanentFailures:0,emittedTotalExpiredOnRecovery:0,emittedTotalJournalWriteFailures:0,emittedJournalDegraded:!1};function VW(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 WW(e){return We(e,void 0,(t,r)=>t!==void 0&&t<=r.startedAtMs?t:r.startedAtMs)}function HW(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 KW(e){return We(e,void 0,(t,r)=>t!==void 0&&t.startedAtMs<=r.startedAtMs?t:r)}function lv(e){return e}function dv(e){return new Set(e).values().toArray().toSorted(rl)}function d$(e){let t=k(e.now,()=>Date.now()),r=k(e.intervalMs,3e4),n=k(e.turnStalledThresholdMs,UW),i={contents:ZW},o=new Set,s=new Set,a={contents:!1},l=(c,f,p,m)=>{let h=new Set(c.map(_=>_.candidateTurnId));o.values().toArray().forEach(_=>{if(!h.has(_)){o.delete(_);return}}),s.values().toArray().forEach(_=>{if(!h.has(_)){s.delete(_);return}}),c.forEach(_=>{let g=Math.max(0,m-_.sinceMs),b=Math.max(_.sinceMs,k(_.candidateLastActivityAtMs,_.sinceMs)),y=Math.max(0,m-b),v=dv(p.filter(V=>V.waitTurnId===_.candidateTurnId).map(V=>V.waitKind));if(v.length===0){s.delete(_.candidateTurnId);let V=_.candidateOpenItems.length!==0?n*2:n;if(!(y>=V&&!o.has(_.candidateTurnId)))return;let re=WW(_.candidateOpenItems);o.add(_.candidateTurnId);let fe=_.candidateSourceSeq,J=_.candidateLastActivityKind,K=_.candidateLastActivityAtMs,ae=f.oldestEntryAgeMs;return e.log("pipeline.turn_stalled",Object.fromEntries([["level","warn"],["thread_key",e.threadKey],["turn_id",_.candidateTurnId],["source_seq",fe!==void 0?fe:null],["buffered",_.buffered],["turn_age_ms",g],["quiet_ms",y],["last_activity_kind",J!==void 0?J:null],["last_activity_age_ms",K!==void 0?Math.max(0,m-K):null],["threshold_ms",n],["effective_threshold_ms",V],["open_item_count",_.candidateOpenItems.length],["open_item_kinds",dv(_.candidateOpenItems.map(z=>z.kind)).map(lv)],["open_item_oldest_age_ms",re!==void 0?Math.max(0,m-re):null],["outbox_depth",f.depth],["oldest_entry_age_ms",ae!==void 0?ae:null],["paused",f.paused]]))}if(!(y>=n&&!s.has(_.candidateTurnId)))return;s.add(_.candidateTurnId);let S=_.candidateSourceSeq,A=_.candidateLastActivityKind,C=_.candidateLastActivityAtMs;e.log("pipeline.turn_waiting_on_user",Object.fromEntries([["thread_key",e.threadKey],["turn_id",_.candidateTurnId],["source_seq",S!==void 0?S:null],["buffered",_.buffered],["turn_age_ms",g],["quiet_ms",y],["last_activity_kind",A!==void 0?A:null],["last_activity_age_ms",C!==void 0?Math.max(0,m-C):null],["threshold_ms",n],["wait_kinds",v.map(lv)],["open_item_count",_.candidateOpenItems.length],["open_item_kinds",dv(_.candidateOpenItems.map(V=>V.kind)).map(lv)]]))})},d=()=>{if(a.contents)return;let c;try{let v=e.turnWaitStates;c=[e.outboxMetrics(),e.loopMetrics(),v!==void 0?v():[]]}catch(v){let S=Q(v);e.log("pipeline.stats_sample_failed",Object.fromEntries([["thread_key",e.threadKey],["message",$s(S)]])),c=void 0}if(c===void 0)return;let f=c[1],p=c[0],m=t();if(l(VW(f),p,c[2],m),!HW(p,f,i.contents))return;let h=KW(f.activeTurns),_=p.oldestEntryAgeMs,g=p.pushLatency,b=p.pushLatency,y=p.pushLatency;e.log("pipeline.stats",Object.fromEntries([["thread_key",e.threadKey],["outbox_depth",p.depth],["oldest_entry_age_ms",_!==void 0?_:null],["total_enqueued",p.totalEnqueued],["total_acked",p.totalAcked],["total_retried",p.totalRetried],["total_dropped_best_effort",p.totalDroppedBestEffort],["total_permanent_failures",p.totalPermanentFailures],["total_expired_on_recovery",p.totalExpiredOnRecovery],["total_journal_write_failures",p.totalJournalWriteFailures],["journal_degraded",p.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",k(W(p.pushLatency,v=>v.ackedInWindow),0)],["paused",p.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",h!==void 0?h.turnId:null],["active_turn_source_seq",h!==void 0?h.sourceSeq:null],["active_turn_age_ms",h!==void 0?Math.max(0,m-h.startedAtMs):null]])),i.contents={emittedTotalEnqueued:p.totalEnqueued,emittedTotalAcked:p.totalAcked,emittedTotalRetried:p.totalRetried,emittedTotalDroppedBestEffort:p.totalDroppedBestEffort,emittedTotalPermanentFailures:p.totalPermanentFailures,emittedTotalExpiredOnRecovery:p.totalExpiredOnRecovery,emittedTotalJournalWriteFailures:p.totalJournalWriteFailures,emittedJournalDegraded:p.journalDegraded}},u;if(r>0){let c=setInterval(d,r);c.unref(),u=mt(c)}else u=void 0;return{sample:d,stop:()=>{if(a.contents=!0,u!==void 0){clearInterval(se(u));return}}}}var JW=[1e3,5e3];function Mn(e,t){return x(e[t],hr)}function Qd(e,t){return x(e[t],Lo)}function Xa(e,t){return x(e[t],De)}function uv(e,t){Object.entries(t).forEach(r=>{e[r[0]]=r[1]})}function Jd(e){let t={};return uv(t,e),t}function QW(e){let t=e.body;return typeof t=="string"?t:""}function XW(e){return k(Xa(e,"structured"),{})}function YW(e){return e===Gd||e===qd||e===Cs?!0:e===Dd}function e3(e,t){let r=Mn(t,"turn_id");r!==void 0&&(e.turn_id=r);let n=Mn(t,"item_key");n!==void 0&&(e.item_key=n);let i=Qd(t,"delta_index");i!==void 0&&(e.delta_index=i);let o=Qd(t,"stream_snapshot_index");if(o!==void 0){e.stream_snapshot_index=o;return}}function f$(e,t,r){let n=t.traceparentForThread(r);if(n!==void 0){e.traceparent=n;return}}function t3(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 s=Mn(t,"client_message_id");if(s===void 0)return{TAG:"BuildSkip",_0:"missing_client_message_id"};let a=Mn(t,"turn_id"),l=Qd(t,"source_seq"),d={};a!==void 0&&(d.turn_id=a),d.stream_key=s;let u=Jd(d),c=Xa(t,"local_runner_runtime_metadata");c!==void 0&&uv(u,c);let f=Jd(e.rowEnvelope("codex_output",o,l,u)),p=n.rootSeq;p!==void 0&&(f.reply_to_seq=p),l!==void 0&&(f.source_message_seq=l),uv(f,d);let m=Jd(XW(t));m.stream_key=s,f.structured=m;let h={};h.workspace=n.workspaceSlug,h.channel=n.channelSlug,h.thread_id=i,h.stream_key=s;let _=n.leaseEpoch;return _!==void 0&&(h.lease_epoch=_),h.body=QW(t),h.payload=f,h.client_message_id=s,e3(h,t),f$(h,e,i),{TAG:"BuildPush",event:"session:stream_thread_message",payload:h,timeoutMs:void 0}},onReply:void 0,coalesce:void 0}}function r3(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=Qd(t,"seq"),s=Mn(t,"status");if(o===void 0)return{TAG:"BuildSkip",_0:"malformed_message_state_entry"};if(s===void 0)return{TAG:"BuildSkip",_0:"malformed_message_state_entry"};let a=de(t.suppress_terminal_for_recovered_turn,!0),l=Mn(t,"turn_id"),d=e.isRecoveredTurn,u=l!==void 0&&d!==void 0?d(l)===!0:!1;if(a||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),c.seq=o,c.status=s;let p=Mn(t,"reason");p!==void 0&&(c.reason=p);let m=t.retryable;typeof m=="boolean"&&m&&(c.retryable=!0);let h=t.fate;typeof h=="string"&&Or(Jf(h))&&(c.fate=h);let _=Xa(t,"ladder");_!==void 0&&(c.ladder=_),t.failure_class==="edge_blocked"&&(c.failure_class="edge_blocked");let b=Mn(t,"upstream_error");b!==void 0&&(c.upstream_error=b);let y=Mn(t,"turn_id");y!==void 0&&(c.turn_id=y);let v=n.leaseEpoch;return v!==void 0&&(c.lease_epoch=v),f$(c,e,i),{TAG:"BuildPush",event:"message_state",payload:c,timeoutMs:void 0}},onReply:void 0,coalesce:void 0}}function n3(e){let t=t3(e);return Object.fromEntries([[Gd,t],[qd,t],[Cs,t],[Dd,t],[Wa,r3(e)]])}function m$(e,t){if(e.error!==void 0)return[];let n=x(Xa(e,"result"),s=>Xa(s,"thread")),i=k(x(x(n,s=>s.turns),to),[]),o=Ne(i,De).find(s=>{let a=s.id;return typeof a=="string"?a===t:!1});return Ne(k(x(x(o,s=>s.items),to),[]),De)}var m7=new RegExp("^item-\\d+$");var p$=NE;function i3(e){return new Promise((t,r)=>{setTimeout(()=>t(),e|0)})}function u$(e){let t=nr(e);return t!==void 0?k(fr(se(t)),"unknown error"):"unknown error"}function c$(e){return e!==void 0?e:null}function h$(e){let t=n3({instanceId:e.instanceId,wire:e.wire,rowEnvelope:e.rowEnvelope,isRecoveredTurn:e.isRecoveredTurn,traceparentForThread:e.traceparentForThread}),r=s$({threadKey:e.threadKey,push:e.push,builders:t,persistDir:e.persistDir,retryDelaysMs:W(e.outboxRetryDelaysMs,f=>f.slice()),onPermanentFailure:(f,p)=>e.log("pipeline.outbox_entry_failed",Object.fromEntries([["thread_key",e.threadKey],["entry_seq",f.entrySeq],["kind",f.kind],["attempts",f.attempts],["item_key",c$(Mn(f.data,"item_key"))],["turn_id",c$(Mn(f.data,"turn_id"))],["message",p]])),log:e.log,now:void 0,maxInFlightPushes:k(e.outboxMaxInFlightPushes,16),journalCompactionThreshold:void 0,journalRecoveryMaxAgeMs:e.journalRecoveryMaxAgeMs}),n=f=>{let p=!1;if(f.kind===Wa){let b=Mn(f.data,"turn_id"),y=e.isRecoveredTurn;p=b!==void 0&&y!==void 0?y(b)===!0:!1}if(p){let b=Jd(f.data);return b.suppress_terminal_for_recovered_turn=!0,{kind:f.kind,data:b,coalesceKey:f.coalesceKey,resolution:f.resolution}}if(!YW(f.kind))return f;let m=Qd(f.data,"source_seq"),h=Xa(f.data,"local_runner_runtime_metadata"),_=h!==void 0?h:x(e.runtimeMetadataForSourceSeq,b=>b(m));if(_===void 0)return f;let g=Jd(f.data);return g.local_runner_runtime_metadata=_,{kind:f.kind,data:g,coalesceKey:f.coalesceKey,resolution:f.resolution}},i=f=>{let p=r.enqueue(n(f));if(p.TAG!=="Ok")try{return e.log("pipeline.loop.effect_failed",Object.fromEntries([["thread_key",e.threadKey],["effect","enqueue"],["message",p._0]]))}catch{return}},o={contents:void 0},s=f=>{let p=o.contents;if(p!==void 0)return p.submit(f)},a=k(e.sleep,i3),l=async f=>{let p=k(e.snapshotRetryDelaysMs,JW),m=0,h=!1;for(;!h;){let _;try{_=await e.resolveSnapshot(f)}catch(g){let b=Q(g);_={TAG:"Error",_0:u$(b)}}if(_.TAG==="Ok")s({TAG:"CompletionSnapshot",turnId:f,snapshot:Object.fromEntries([["items",_._0.slice()]])}),h=!0;else{let g=_._0,b=p[m];e.log("pipeline.snapshot_resolution_failed",Object.fromEntries([["thread_key",e.threadKey],["turn_id",f],["attempt",m+1|0],["retry_in_ms",b!==void 0?b:null],["message",g]])),b!==void 0?(await a(b),m=m+1|0):(s({TAG:"HarnessNotification",_0:{method:"turn/failed",params:Object.fromEntries([["turnId",f],["reason","completion snapshot resolution failed: "+g]])}}),h=!0)}}},d=a$({threadKey:e.threadKey,instanceId:e.instanceId,outboxEnqueue:i,outboxFlush:f=>r.flush(f),sourceSeqForTurn:e.sourceSeqForTurn,autoRetryAttemptsForSeq:e.autoRetryAttemptsForSeq,midStreamResumeAttemptAtMsForSeq:e.midStreamResumeAttemptAtMsForSeq,ladderHistoryForSeq:e.ladderHistoryForSeq,onTurnTerminal:e.onTurnTerminal,requestSnapshot:f=>{yn(l(f),p=>(e.log("pipeline.snapshot_request_failed",Object.fromEntries([["thread_key",e.threadKey],["turn_id",f],["message",u$(p)]])),Promise.resolve()))},log:e.log,linzumiAgentSession:e.linzumiAgentSession===!0,now:void 0,bufferedTurnMaxAgeMs:void 0,bufferedTurnMaxEvents:void 0,bufferedTurnSweepIntervalMs:void 0});o.contents=d;let u=d$({threadKey:e.threadKey,outboxMetrics:()=>r.metrics(),loopMetrics:()=>d.metrics(),log:e.log,intervalMs:e.statsIntervalMs,turnStalledThresholdMs:e.turnStalledThresholdMs,turnWaitStates:e.turnWaitStates,now:void 0}),c={contents:void 0};return{submitNotification:(f,p)=>d.submit({TAG:"HarnessNotification",_0:{method:f,params:p}}),notifyTurnMappingReady:f=>d.submit({TAG:"HarnessNotification",_0:{method:Kd,params:Object.fromEntries([["turnId",f]])}}),notifyTurnMappingFailed:(f,p)=>d.submit({TAG:"HarnessNotification",_0:{method:Qa,params:Object.fromEntries([["turnId",f],["reason",p]])}}),noteTurnActivity:(f,p)=>d.noteTurnActivity(f,p),submitLifecycle:(f,p)=>d.submit({TAG:"Lifecycle",kind:f,reason:p}),pause:()=>r.pause(),resume:()=>r.resume(),rebindThreadKey:f=>r.rekeyJournal(f),flushOutbox:f=>r.flush(f),metrics:()=>r.metrics(),close:f=>{let p=c.contents;if(p!==void 0)return p;let m=(async()=>(u.stop(),d.submit({TAG:"Lifecycle",kind:"shutdown",reason:"session closed"}),await d.drainAndClose(f),await r.close(f)))();return c.contents=m,m}}}function _m(e){return e.split("_").map((t,r)=>r!==0?t.slice(0,1).toUpperCase()+t.slice(1,t.length):t).join("")}function Yd(e){return k(W(Vf.find(t=>t[0]===e),t=>t[1]),e)}var Ni=Yd("harness_session_id"),eu=_m(Ni);function gi(e,t){let r=e[t];if(typeof r=="string")return r}function cv(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 s3(e,t){let r=x(t.error,De),n=x(t.item,De),i=d=>We(d,void 0,(u,c)=>u!==void 0?u:c),o=i([cv(t,"code"),x(r,d=>cv(d,"code")),cv(t,"status")]),s=i([gi(t,"message"),gi(t,"detail"),gi(t,"reason"),x(r,d=>gi(d,"message")),x(r,d=>gi(d,"detail")),x(r,d=>gi(d,"reason"))]),a=o!==void 0?e+" "+o:e,l=s!==void 0?s:W(x(n,d=>gi(d,"type")),d=>"item.type="+d);return W(l,d=>a+": "+d)}function a3(e,t){switch(e){case"error":case"warning":break;default:return t}let r=s3(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(rl).map(i=>i),n}var l3=["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."];function _$(e){let t=JE(e);return t.trimStart().startsWith("!")?t:[t,""].concat(l3).join(`
367
- `)}var d3={sandboxedNeverDefault:!1};function g$(e){let t=KE(e.approvalPolicy,e.sandbox,d3);return t.TAG==="Ok"?t._0:"on-request"}function y$(e){let t={};t.approvalPolicy=g$(e);let r=e.sandbox;return r!==void 0&&(t.sandbox=r),t}function u3(e,t,r,n){let i={};i.threadId=e,i.input=[Object.fromEntries([["type","text"],["text",t]])],i.cwd=r,i.approvalPolicy=g$(n);let o=n.sandbox;if(o!==void 0){let s=BE(o,r);s.TAG==="Ok"&&(i.sandboxPolicy=s._0)}return i}async function Xd(e,t,r,n){let i=e.deps,o={};o.workspace=i.workspaceSlug,o.channel=i.channelSlug,o.thread_id=i.threadId,o.instance_id=i.instanceId,o[Ni]=i.harnessSessionId,o.seq=t,o.status=r,n!==void 0&&(o.reason=n);let s=i.actorSlug;s!==void 0&&(o.actor_slug=s);let a=i.actorUserId;a!==void 0&&(o.actor_user_id=a);let l=await i.transport.push(i.commanderTopic,"message_state",o,void 0);if(l.TAG!=="Ok")return i.log("kandan.message_state_push_failed",Object.fromEntries([["seq",t],["status",r],["message",_i(l._0)]]))}async function Po(e,t,r){return e.processingReason=r,await Xd(e,t,"processing",r)}function c3(e,t,r){switch(t){case"item/completed":let n=x(r.item,De);if(n===void 0||!Or(gi(n,"id")))return;let i=e.activityJournalTurns[e.activityJournalTurns.length-1|0];if(i===void 0)return;let o=r.completedAtMs,s=typeof o=="number"?o:void 0;for(i.items.push({item:n,completedAtMs:s}),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 a=x(x(r.turn,De),l=>gi(l,"id"));if(a!==void 0){e.activityJournalTurns.push({turnId:a,items:[]});return}else return;default:return}}function f3(e){if(e.TAG==="ResultReply")return x(x(x(De(e._0),t=>t.turn),De),t=>gi(t,"id"))}async function b$(e,t){let r=e.deps;r.log("codex.turn_starting",Object.fromEntries([["queued_seq",t.seq],["thread_id",r.threadId],[Ni,r.harnessSessionId]])),await Po(e,t.seq,"starting turn"),await Po(e,t.seq,"starting turn"),e.dispatchingTurnStart=!0,e.pendingStartingPaints=[];let n,i=0,o;try{o=await r.harness.request("turn/start",u3(r.harnessSessionId,_$(t),r.cwd,r.defaults)),i=1}catch(s){let a=Q(s);e.pendingStartingPaints=[],n={TAG:"Error",_0:"turn/start failed: "+Ye(a).message}}if(i===1)if(o.TAG==="Ok"){let s=o._0;if(s.TAG==="ResultReply"){let a=f3(s);if(a!==void 0){e.turnSeqs.set(a,t.seq),e.active={turnId:a,sourceSeq:t.seq};let l=e.pendingStartingPaints;e.pendingStartingPaints=[],l.forEach(u=>{if(u.paintTurnId===a&&Zi(e.processingReason,u.reason)){Po(e,t.seq,u.reason);return}}),r.log("codex.turn_started",Object.fromEntries([["turn_id",a]]));let d=e.pipeline;d!==void 0&&d.notifyTurnMappingReady(a),n={TAG:"Ok",_0:void 0}}else n={TAG:"Error",_0:"turn/start reply carried no turn id"}}else n={TAG:"Error",_0:"turn/start failed: "+s.message}}else n={TAG:"Error",_0:"turn/start failed: "+o._0};return e.dispatchingTurnStart=!1,n}function m3(e,t){let r=e.deps,n=e.retryCandidates.get(t);if(n===void 0)return;let i=k(e.autoRetryAttempts.get(t),0)+1|0;e.autoRetryAttempts.set(t,i),r.log("codex.empty_turn_auto_retry",Object.fromEntries([["queued_seq",t],["attempt",i],["max_attempts",sv]])),r.timers.setTimer(()=>{(async()=>{await Po(e,t,"retrying empty turn");let o=await b$(e,n);if(o.TAG!=="Ok")return r.log("codex.empty_turn_auto_retry_failed",Object.fromEntries([["queued_seq",t],["message",o._0]]))})()},1500)}function p3(e,t,r,n,i,o){let s=e.deps,a=e.turnSeqs.get(t),l=e.active;switch(l!==void 0&&l.turnId===t&&(e.active=void 0),e.processingReason=void 0,r){case"completed":if(a!==void 0){s.commitAppliedSourceSeq(a),e.autoRetryAttempts.delete(a),e.retryCandidates.delete(a),e.fateLadderRuns.delete(a);return}else return;case"failed":if(a===void 0||o===void 0)return;let u=k(e.autoRetryAttempts.get(a),0)<sv,c=i&&u,f=u&&!s.harness.isClosed(),p={inPlaceResume:c,redispatch:f,workerRebuild:!1},m=VE({fate:o,run:e.fateLadderRuns.get(a),nowMs:Date.now(),budgets:zd(s.env),breaker:(C,V)=>"Proceed",grants:p,rateLimitResetAtMs:void 0});if(m.TAG==="Stand")return;let h;switch(m.TAG){case"Stand":h=["stand",void 0];break;case"ExecuteRung":h=["execute_rung",m.rung];break;case"HoldUntilReset":h=["hold_until_reset",void 0];break;case"BreakerHold":h=["breaker_hold",void 0];break;case"Red":h=["red",void 0];break}let _=h[1],g;if(g=m.TAG==="Stand"?void 0:m.run,g!==void 0){e.fateLadderRuns.set(a,g);let C={};C.turn_id=t,C.queued_seq=a,C.fate=o,C.decision=h[0],_!==void 0&&(C.rung=_),C.recovery_rungs_attempted=g.recoveryRungsAttempted,s.log("codex.fate_ladder_step",C)}if(m.TAG==="ExecuteRung")switch(m.rung){case"in_place_resume":m3(e,a);break;case"redispatch":case"worker_rebuild":break}let b=s.switchProbe;if(m.TAG!=="Red"||b===void 0)return;let y=ZE(o,m.cause,{sourceHarness:"codex",targetHarness:b.targetHarness,model:b.model,backendDead:s.harness.isClosed(),exportable:e.activityJournalItemCount>0,targetAdapterAvailable:b.targetAdapterAvailable()});if(y===void 0)return;e.failoverOffers.set(a,y),s.log("codex.fate_ladder_failover_offer",Object.fromEntries([["queued_seq",a],["offer",$b(y)]]));let v={};v.workspace=s.workspaceSlug,v.channel=s.channelSlug,v.thread_id=s.threadId,v.instance_id=s.instanceId,v[Ni]=s.harnessSessionId,v.seq=a,v.status="failed",n!==void 0&&(v.reason=n),v.fate=o,v.ladder=Qf(e.fateLadderRuns.get(a),o,zd(s.env),mt(y));let S=s.actorSlug;S!==void 0&&(v.actor_slug=S);let A=s.actorUserId;A!==void 0&&(v.actor_user_id=A),s.transport.push(s.commanderTopic,"message_state",v,void 0).then(C=>{});return;case"interrupted":return}}async function v$(e){let t="chat:"+e.workspaceSlug+":"+e.channelSlug,r=await e.transport.join(t,eC(e.commanderId,e.threadId,0),{rejoinPayload:void 0,registrationId:void 0});if(r.TAG!=="Ok")return{TAG:"Error",_0:"chat join failed: "+_i(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);let i={};i.workspace=e.workspaceSlug,i.channel=e.channelSlug,i.thread_id=e.threadId,i[Ni]=e.harnessSessionId;let o=await e.transport.push(e.commanderTopic,"session:bind",i,void 0);o.TAG!=="Ok"&&e.log("kandan.session_bind_push_failed",Object.fromEntries([["thread_id",e.threadId],["message",_i(o._0)]]));let s={deps:e,turnSeqs:new Map,pipeline:void 0,active:void 0,processingReason:void 0,dispatchingTurnStart:!1,pendingStartingPaints:[],autoRetryAttempts:new Map,retryCandidates:new Map,fateLadderRuns:new Map,activityJournalTurns:[],activityJournalItemCount:0,failoverOffers:new Map,switchedTargetSession:void 0},a=e.workspaceSlug+":"+e.channelSlug+":"+e.threadId,l=h$({instanceId:e.instanceId,threadKey:a,persistDir:void 0,push:async(f,p,m,h)=>{let _=await e.transport.push(e.commanderTopic,f,p,h);if(_.TAG==="Ok")return{TAG:"Acked",_0:_._0};let g=_._0;return{TAG:"PushFailed",message:_i(g),budgetExempt:p$(g)}},wire:()=>({workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,threadId:e.threadId,harnessSessionId:e.harnessSessionId,rootSeq:e.rootSeq,leaseEpoch:e.leaseEpochFor(e.threadId)}),rowEnvelope:(f,p,m,h)=>{let _={};return _.event_type=f,_[Ni]=p,m!==void 0&&(_.source_message_seq=m),h!==void 0&&(_.metadata=h),_},runtimeMetadataForSourceSeq:void 0,sourceSeqForTurn:f=>s.turnSeqs.get(f),autoRetryAttemptsForSeq:f=>k(s.autoRetryAttempts.get(f),0),midStreamResumeAttemptAtMsForSeq:void 0,ladderHistoryForSeq:(f,p)=>De(Qf(s.fateLadderRuns.get(f),p,zd(e.env),mt(s.failoverOffers.get(f)))),isRecoveredTurn:void 0,resolveSnapshot:async f=>{let p=await e.harness.request("thread/read",Object.fromEntries([["threadId",e.harnessSessionId],["includeTurns",!0]]));if(p.TAG!=="Ok")return{TAG:"Error",_0:p._0};let m=p._0;if(m.TAG!=="ResultReply")return{TAG:"Error",_0:m.message};let h={};return h.result=m._0,{TAG:"Ok",_0:m$(h,f).map(_=>_)}},onTurnTerminal:(f,p,m,h,_,g)=>p3(s,f,p,m,h,g),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:f=>{},sleep:void 0});return s.pipeline=l,{TAG:"Ok",_0:{routeNotification:(f,p)=>{c3(s,f,p);let m=s.active;if(m!==void 0){let h=x(p.turnId,hr);if(h!==void 0?h===m.turnId:!0){let g=Mb(f,p);if(g!==void 0){let b=g;Zi(s.processingReason,b)&&Po(s,m.sourceSeq,b)}}}else{let h=s.dispatchingTurnStart,_=x(p.turnId,hr),g=Mb(f,p);if(h&&_!==void 0&&g!==void 0){let b=g,y=s.pendingStartingPaints.at(-1);y!==void 0&&y.paintTurnId===_&&y.reason===b||s.pendingStartingPaints.push({paintTurnId:_,reason:b})}}l.submitNotification(f,a3(f,p))},runClaimedTurn:async(f,p)=>{let m=e.actorSlug,h=e.actorUserId,_=[],g=Date.now(),b={seq:f,actorSlug:m,actorUserId:h,body:p,attachments:_,receivedAtMs:g,fusedSeqs:void 0,parkReason:void 0};return s.retryCandidates.set(f,b),e.log("kandan.message_queued",Object.fromEntries([["seq",f],["thread_id",e.threadId],[Ni,e.harnessSessionId]])),await Xd(s,f,"queued",void 0),await b$(s,b)},publishRebuilt:async f=>await Po(s,f,"rebuilt the coding session from durable thread history after an unresumable engine session"),failOnHarnessDeath:f=>{let p=s.active;if(p!==void 0){let m={};m.turnId=p.turnId,m.retryable=!0,m.fate="transient_local",m.error=Object.fromEntries([["message",f]]),l.submitNotification("turn/failed",m)}l.submitLifecycle("codexDied",f)},invokeCrossHarnessSwitch:async(f,p,m,h,_)=>{let g=f!==void 0?s.failoverOffers.has(f)?f:void 0:We(s.failoverOffers.keys().toArray(),void 0,(je,R)=>R),b=x(g,je=>W(s.failoverOffers.get(je),R=>[je,R]));if(b===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 y=b[1],v=b[0],S=s.fateLadderRuns.get(v),A=S!==void 0?S:Rb("transient_local",Date.now()),C=y.sourceHarness,V=y.targetHarness,fe={sourceHarness:C,targetHarness:V,model:p},J=WE(A,Date.now(),fe);if(J.TAG!=="Ok")return{TAG:"Error",_0:J._0};let K=J._0;s.fateLadderRuns.set(v,K),e.log("codex.user_cross_harness_switch_invoked",Object.fromEntries([["queued_seq",v],["source_harness",C],["target_harness",V],["model",p]])),await Po(s,v,HE);let ae=e.harnessSessionId,z=s.activityJournalTurns,Z={harnessSessionId:ae,turns:z},$=e.cwd,I=e.defaults.approvalPolicy,B={cwd:$,model:p,reasoningEffort:void 0,developerInstructions:void 0,approvalPolicy:I,sandboxPolicy:void 0,environment:{}},X=s.retryCandidates.get(v),Ee={text:X!==void 0?_$(X):"Continue where the previous harness session left off.",attachments:[]},Ze={model:p,reasoningEffort:void 0,input:Ee},ot=await sP(Z,e.threadId,m,e.cwd,_,Date.now(),h,B,Ze,je=>{switch(e.log("kandan.switch_target_event",Object.fromEntries([["queued_seq",v],["kind",aC(je)]])),je.TAG){case"TurnCompleted":Xd(s,v,"processed",void 0);return;case"TurnFailed":Xd(s,v,"failed",je.failure.reason);return;default:return}}),Pe=zd(e.env),dt=je=>Qf(je,"transient_local",Pe,mt(y));if(ot.TAG==="Ok"){let je=ot._0;s.switchedTargetSession=je.session;let R={...fe},ge=Ib(K,"switch_dispatched",Date.now(),(R.redactedReasoningCount=je.redactedReasoningCount,R.transpiledItemCount=je.transpiledItemCount,R),void 0);s.fateLadderRuns.set(v,ge),e.log("codex.user_cross_harness_switch_dispatched",Object.fromEntries([["queued_seq",v],["source_harness",C],["target_harness",V],["model",p],["target_session_id",je.targetSessionId],["transpiled_item_count",je.transpiledItemCount],["redacted_reasoning_count",je.redactedReasoningCount]])),await Po(s,v,"continuing this job on the "+y.targetHarness+" harness after a user-invoked switch");let ye={};ye.ok=!0,ye.target_session_id=je.targetSessionId,ye.turn_id=je.turnId;let le=je.sessionFile;return le!==void 0&&(ye.session_file=le),ye.transpiled_item_count=je.transpiledItemCount,ye.redacted_reasoning_count=je.redactedReasoningCount,ye.ladder=dt(ge),{TAG:"Ok",_0:ye}}let Ge=ot._0,Xe=nP(Ge),Et=iP(Ge),tr=Ib(K,oP(Ge)?"switch_refused":"switch_failed",Date.now(),fe,Xe+": "+Et);s.fateLadderRuns.set(v,tr),e.log("codex.user_cross_harness_switch_not_dispatched",Object.fromEntries([["queued_seq",v],["refusal",Xe],["reason",Et]])),await Xd(s,v,"failed","cross-harness switch "+Xe+": "+Et);let Tt={};return Tt.ok=!1,Tt.refusal=Xe,Tt.reason=Et,Tt.ladder=dt(tr),{TAG:"Ok",_0:Tt}},close:async()=>{let f=s.switchedTargetSession;f!==void 0&&(s.switchedTargetSession=void 0,await f.stopSession());let p=s.pipeline;if(p!==void 0)return await p.close(5e3)}}}}var fv="rescript";function _3(){return new Promise((e,t)=>{setTimeout(()=>e(),0)})}function Fi(e){return e!==void 0?e:null}function mv(e,t){return x(e[t],De)}function Jr(e,t){let r=e[t];if(typeof r=="string")return r}function Ya(e,t){let r=e[t];if(typeof r=="number")return r}function yi(e,t){let r=W(Jr(e,t),n=>n.trim());if(r!==void 0&&r!=="")return r}function S$(e){let t=Ms(e);return t.TAG==="Ok"?t._0:e}function w$(e,t){let r=W(e,o=>o.trim());if(r===void 0)return{TAG:"RefusedCwd",reason:"missing_cwd"};if(r==="")return{TAG:"RefusedCwd",reason:"missing_cwd"};let n=S$(r),i=t.find(o=>{let s=S$(o);return n===s?!0:n.startsWith(s+gm.sep)});return i!==void 0?{TAG:"AllowedCwd",cwd:n,matchedRoot:i}:{TAG:"RefusedCwd",reason:"cwd_not_allowed"}}function g3(e){return gm.join(e,".linzumi","commanderImplFallback.json")}function x$(e){let t=$o.homedir(),r=uE(vb(t),e),n;return n=r.TAG==="Ok",n&&e==="Ts"&&Yn(g3(t)),n}function y3(e){let t=W(e.LINZUMI_CODEX_START_REQUEST_TIMEOUT_MS,n=>n.trim());if(t===void 0)return 12e4;let r=Ff(t);return r!==void 0&&r>0?r:12e4}async function k$(e,t){let r=process.env,n=XA(e.commanderId),i="codex-"+pv.randomUUID(),o=HA(e.token),s=y3(r),a={contents:!1},l=Df(wC(e.commanderId,r),t,void 0,void 0),d=Df(xC(e.commanderId,r),t,!0,void 0),u=EC(Df(kC(e.commanderId,r),t,void 0,!0)),c=CC(l,d,t,e.commanderId,e.serviceUrl),f={contents:e.allowedCwds},p=[],m={contents:(v,S)=>{p.push([v,S])}},h=await DE(e.serviceUrl,{TAG:"Token",_0:e.token},void 0,{controlCursorStore:FE(l),controlEpochStore:GE(c),onOperatorNotice:v=>{},auditEvent:(v,S)=>t(v,S)});if(h.TAG!=="Ok")return{TAG:"Error",_0:_i(h._0)};let _=h._0;_.onControl((v,S)=>m.contents(v,S));let g=()=>{let v={};return v.codexAppServer=!0,v.commander_pipeline="pipeline",v.startInstance=f.contents.length!==0,v.allowedCwds=f.contents.map(S=>S),v},b=()=>YA({clientId:e.commanderId,machineFingerprint:void 0,machineFingerprintV2:void 0,runnerPid:process.pid,version:$d(),hostname:$o.hostname(),cwd:e.cwd,workspace:e.workspaceSlug,channel:void 0,capabilities:g(),generationOverlapEpoch:void 0}),y=await _.join(n,b(),{rejoinPayload:b,registrationId:void 0});if(y.TAG==="Ok"){let v=k(De(y._0),{}),S=mv(v,"runner_config");if(S!==void 0){let K=S.allowedCwds;Array.isArray(K)&&(f.contents=qu(K),t("runner.config_updated",Object.fromEntries([["source","join"],["configVersion",k(S.configVersion,null)],["allowedCwdCount",f.contents.length]])));let ae=Jr(S,"commander_impl");if(ae!==void 0){let Z=ae.trim()==="rescript"?"Rescript":"Ts",$=vb($o.homedir()),I=dE($);if(!de(I,Z)){let F=x$(Z);t("runner.commander_impl_assigned",Object.fromEntries([["impl",Ga(Z)],["previousCache",Fi(W(I,Ga))],["persisted",F],["runningImpl",fv]]))}}}let A=mv(v,"compute_node");if(A!==void 0){let K=Ya(A,"reset_generation");t("runner.compute_node",Object.fromEntries([["id",Fi(Jr(A,"id"))],["name",Fi(Jr(A,"name"))],["identityQuality",Fi(Jr(A,"identity_quality"))],["resetGeneration",K!==void 0?K:null]]))}let C=mv(v,"roster");if(C!==void 0){let K=Ne(k(x(C.threads,to),[]),De),ae=_m(Yd("thread_id"));t("kandan.roster_seeded",Object.fromEntries([["source","join"],["thread_count",K.length],["truncated",k(C.truncated,!1)],["skipped_entries",0],["threads",K.map(z=>{let Z={};return Z[Yd("thread_id")]=k(z[ae],null),Z.provider_session_key=k(z.provider_session_key,null),Z.channel_id=k(z.channel_id,null),Z})]]))}let V=RC();PC(v.resume_reconcile).forEach(K=>{let ae=K.leaseEpoch;if(ae!==void 0&&V.adopt(K.threadId,ae))return t("runner.resume_reconcile_lease_adopted",Object.fromEntries([[_m(Yd("thread_id")),K.threadId],["leaseEpoch",ae]]))});let fe=globalThis.__linzumiCommanderChooserMarkJoined;if(fe!==void 0){let K;try{K=Qn(fe())}catch{K=void 0}K!==void 0&&t("commander.chooser.fallback_reported",k(De(K),{}))}let J=e.harnessUrl;if(J!==void 0){let K=await bC(J,void 0,void 0,void 0);if(K.TAG==="Ok"){let ae=await vC(K._0,{audit:(z,Z)=>t(z,Z),onWire:(z,Z)=>{},keepaliveIntervalMs:3e4});if(ae.TAG==="Ok"){let z=ae._0,Z=new Map,$={contents:0},I={contents:0},F=L=>(I.contents=I.contents+1|0,yn(L.then(()=>{I.contents=I.contents-1|0}),ke=>(I.contents=I.contents-1|0,Promise.resolve()))),B=(L,ke)=>F((async()=>{let be=await _.push(n,L,ke,void 0);if(be.TAG!=="Ok")return t("kandan.event_push_failed",Object.fromEntries([["event",L],["message",_i(be._0)]]))})());z.onNotification(L=>{$.contents=$.contents+1;let ke=k(x(L.params,De),{}),be={};be.instanceId=i,be.seq=$.contents,be.method=L.method,be.params=ke,be.receivedAt=new Date().toISOString(),B("codex_notification",be),t("codex.notification",Object.fromEntries([["method",L.method]])),Z.values().toArray().forEach(Me=>Me.routeNotification(L.method,ke))}),z.onRequest(async L=>{if(de(e.approvalPolicy,"never")&&de(e.sandbox,"danger-full-access")&&(L.method==="item/commandExecution/requestApproval"||L.method==="item/fileChange/requestApproval"))return t("codex.server_request_auto_accepted",Object.fromEntries([["method",L.method],["turn_id",Fi(x(x(L.params,De),be=>Jr(be,"turnId")))]])),Object.fromEntries([["decision","accept"]])}),z.onClose(L=>{if(!a.contents){t("codex.app_server_connection_lost",Object.fromEntries([["cause",L]])),Z.values().toArray().forEach(ke=>ke.failOnHarnessDeath(L));return}});let X=()=>{let L={};return L.instanceId=i,L.clientId=e.commanderId,L.codexUrl=J,L.cwd=e.cwd,L.hostname=$o.hostname(),L.workspace=e.workspaceSlug,L.channel=null,L},Se=X();Se.codexThreads=[],Se.tuiLaunched=!1,await B("instance_started",Se),t("runner.instance_started",Object.fromEntries([["runnerId",e.commanderId],["hostname",$o.hostname()],["workspace",e.workspaceSlug],["version",$d()],["instanceId",i],["codexUrl",J]])),await B("heartbeat",X());let Ee=setInterval(()=>{B("heartbeat",X())},15e3);Ee.unref(),_.onReconnect(async L=>await B("heartbeat",X()));let Ze={contents:void 0};(async()=>{try{let L=await oC();Ze.contents=lE({sdk:L,audit:(ke,be)=>t(ke,be),env:r});return}catch{return t("kandan.cross_harness_switch_target_unavailable",Object.fromEntries([["target_harness","claude-code"],["reason","claude-agent-sdk module not resolvable"]]))}})();let dt={targetHarness:"claude-code",model:void 0,targetAdapterAvailable:()=>Or(Ze.contents)},Ge=async L=>await B("codex_response",L),Xe=async L=>{let ke={};return ke.instanceId=i,ke.message=L,await B("codex_error",ke)},Et=(L,ke)=>OC(e.workspaceSlug,L,ke),tr=async L=>{let ke=w$(Jr(L,"cwd"),f.contents);if(ke.TAG==="AllowedCwd"){let Me=ke.matchedRoot,wt=ke.cwd,ft=yi(L,eu);if(ft!==void 0){let Ut=yi(L,"threadId"),xt=yi(L,"channel"),M=yi(L,"workspace"),j=yi(L,"workDescription"),U=Ya(L,"sourceSeq"),Oe=U!==void 0?U:Ya(L,"rootSeq"),qe=Z.get(ft),Ie;if(qe!==void 0)Ie={TAG:"Ok",_0:qe};else if(M!==void 0&&xt!==void 0&&Ut!==void 0){let tt=await v$({transport:_,commanderTopic:n,commanderId:e.commanderId,instanceId:i,harness:z,log:t,timers:Ab,env:r,workspaceSlug:M,channelSlug:xt,threadId:Ut,harnessSessionId:ft,cwd:wt,rootSeq:Ya(L,"rootSeq"),defaults:{approvalPolicy:e.approvalPolicy,sandbox:e.sandbox},actorSlug:o.actorUsername,actorUserId:o.actorUserId,leaseEpochFor:Ve=>V.current(Ve),commitAppliedSourceSeq:Ve=>{ob(u,Et(xt,Ut),Ve,void 0),t("runner.live_worker_source_seq_committed",Object.fromEntries([["thread_id",Ut],["channel",xt],["sourceSeq",Ve]]))},switchProbe:dt});if(tt.TAG==="Ok"){let Ve=tt._0;Z.set(ft,Ve),Ie={TAG:"Ok",_0:Ve}}else Ie={TAG:"Error",_0:tt._0}}else Ie={TAG:"Error",_0:"cannot reconnect a Kandan thread without a session"};if(Ie.TAG!=="Ok")return{TAG:"Error",_0:Ie._0};let Be=Ie._0;if(j!==void 0){if(Oe===void 0)return{TAG:"Error",_0:"cannot reconnect a Kandan thread without a session"};if(xt!==void 0&&Ut!==void 0?!ib(u.initial(Et(xt,Ut)),Oe):!1){t("kandan.reconnect_thread_seq_already_applied",Object.fromEntries([["source_seq",Oe],[Ni,ft]]));let bn={};return bn.instanceId=i,bn.controlType="reconnect_thread",bn.cwd=wt,bn.matchedRoot=Me,bn[eu]=ft,bn.duplicate=!0,{TAG:"Ok",_0:bn}}let Ve=await bE((bn,tu)=>z.request(bn,tu),Ab,s,ft,y$({approvalPolicy:e.approvalPolicy,sandbox:e.sandbox}),{forceRehydrate:de(L.sessionRehydrate,!0),buildRehydrationText:async bn=>{let tu=await yE((ru,hv,_v)=>(async()=>{let el=await _.push(ru,hv,k(De(_v),{}),void 0);return el.TAG==="Ok"?{TAG:"Ok",_0:el._0}:{TAG:"Error",_0:_i(el._0)}})(),n,{workspace:M,channel:xt,threadId:Ut},t);return{TAG:"Ok",_0:["Resuming this conversation after an unresumable engine session ("+bn+")."].concat(tu.map(ru=>ru.body)).join(`
365
+ `),L=em(e,"summary");return[{body:z.trim()!==""?z:L.join(`
366
+ `),structured:Ud("codex_reasoning",r,[["content",z],["summary_parts",L.map(i4)]])}];case"terminalInput":let I=it(e,"inputText"),F;if(I!==void 0)F=I;else{let B=it(e,"input");F=B!==void 0?B:k(it(e,"text"),"")}return[{body:F,structured:Ud("codex_terminal_input",r,[["process_id",k(O(e,"processId"),"")],["input_text",F]])}];default:return[]}}var IP=mP;var Ha={cwd:void 0,status:void 0,processId:void 0,durationMs:void 0,exitCode:void 0,stream:void 0};function Ps(e){let t=e!==void 0?e:"";return t===""?{parts:[],cached:"",joinedCount:0}:{parts:[t],cached:t,joinedCount:1}}function ev(e,t){t!==""&&e.parts.push(t)}function tv(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 w4(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 Ka(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 MP(e){return e.itemId}function am(e){let t=O(e,"itemId");if(t!==void 0)return t;let r=O(e,"item_id");return r!==void 0?r:x(Ae(e,"item"),n=>O(n,"id"))}function zP(e,t){let r=am(t);switch(e){case"item/agentMessage/delta":return W(im(t),n=>({TAG:"AssistantDelta",itemId:r,text:n}));case"command/exec/outputDelta":case"item/commandExecution/outputDelta":break;case"item/commandExecution/terminalInteraction":return W(EP(t),n=>({TAG:"TerminalInputDelta",itemId:r,processId:n.terminalProcessId,inputText:n.inputText}));case"item/fileChange/outputDelta":return W(PP(t),n=>({TAG:"FileChangeDelta",itemId:r,patchText:n}));case"item/reasoning/textDelta":return W(im(t),n=>({TAG:"ReasoningDelta",itemId:r,text:n}));case"item/started":return W(Yb(t),n=>({TAG:"WebSearchDelta",itemId:r,queries:n.queries}));default:return}return W(CP(t),n=>({TAG:"CommandOutputDelta",itemId:r,processId:n.commandProcessId,command:n.command,stream:n.stream,text:n.commandDelta}))}function jP(e){switch(e){case"assistant":return{TAG:"AssistantContent",text:Ps(void 0)};case"reasoning":return{TAG:"ReasoningContent",text:Ps(void 0)};case"commandOutput":return{TAG:"CommandOutputContent",command:"",processId:void 0,chunks:[]};case"fileChange":return{TAG:"FileChangeContent",patchText:Ps(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",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 x4(e,t){return We(t,e.slice(),(r,n)=>r.includes(n)?r:r.concat([n]))}function NP(e,t){if(w4(e)!==Ka(t))return e;switch(e.TAG){case"AssistantContent":return t.TAG!=="AssistantDelta"||ev(e.text,t.text),e;case"ReasoningContent":return t.TAG!=="ReasoningDelta"||ev(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,processId:n!==void 0?n:e.processId,chunks:e.chunks.concat([{stream:t.stream,text:t.text}])};case"FileChangeContent":return t.TAG!=="FileChangeDelta"||ev(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:x4(e.queries,t.queries)}:e;case"AgentStatusContent":case"AgentTaskUpdateContent":return e}}function k4(e){return e.map(t=>t.text).join("")}function FP(e){let t=O(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 O(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 GP(e){let t=Yb(e);if(t!==void 0)return{completedStreamKind:"webSearch",completedItemId:am(e),completedContent:{TAG:"WebSearchContent",queries:t.queries}};let r=k(Ae(e,"item"),e),n=RP(e);if(n!==void 0){let a=O(r,"call_id");return{completedStreamKind:"fileChange",completedItemId:a!==void 0?a:O(r,"id"),completedContent:{TAG:"FileChangeContent",patchText:Ps(n),status:"completed"}}}let i=FP(r);if(i===void 0)return;let o=om(r,0)[0];if(o===void 0)return;let s=O(r,"id");switch(i){case"assistant":return{completedStreamKind:i,completedItemId:s,completedContent:{TAG:"AssistantContent",text:Ps(k(O(o.structured,"content"),o.body))}};case"reasoning":return{completedStreamKind:i,completedItemId:s,completedContent:{TAG:"ReasoningContent",text:Ps(k(O(o.structured,"content"),o.body))}};case"commandOutput":let a=ur(o.structured,"output"),l;return l=typeof a=="string"?a:"",{completedStreamKind:i,completedItemId:s,completedContent:{TAG:"CommandOutputContent",command:k(O(o.structured,"command"),""),processId:O(o.structured,"process_id"),chunks:[{stream:"",text:l}]}};case"fileChange":return{completedStreamKind:i,completedItemId:s,completedContent:{TAG:"FileChangeContent",patchText:Ps(k(O(o.structured,"patch_text"),o.body)),status:"completed"}};case"terminalInput":return{completedStreamKind:i,completedItemId:s,completedContent:{TAG:"TerminalInputContent",processId:O(o.structured,"process_id"),inputText:k(O(o.structured,"input_text"),o.body)}};case"webSearch":return;case"agentStatus":return{completedStreamKind:i,completedItemId:s,completedContent:{TAG:"AgentStatusContent",_0:{title:k(O(o.structured,"title"),o.body),body:O(o.structured,"body"),severity:Zb(ur(o.structured,"severity")),provider:O(o.structured,"agent_provider"),occurredAtMs:Es(o.structured,"occurred_at_ms"),rawProviderMetadata:Ae(o.structured,"raw_provider_metadata")}}};case"agentTaskUpdate":return{completedStreamKind:i,completedItemId:s,completedContent:{TAG:"AgentTaskUpdateContent",_0:{title:k(O(o.structured,"title"),o.body),body:O(o.structured,"body"),state:Vb(ur(o.structured,"state")),progressLabel:O(o.structured,"progress_label"),provider:O(o.structured,"agent_provider"),occurredAtMs:Es(o.structured,"occurred_at_ms"),rawProviderMetadata:Ae(o.structured,"raw_provider_metadata")}}}}}function Ba(e,t,r){switch(t.TAG){case"AssistantContent":let n=tv(t.text);return{renderedBody:n,renderedStructured:wP(e,n,r)};case"ReasoningContent":let i=tv(t.text);return{renderedBody:i,renderedStructured:xP(e,i,r)};case"CommandOutputContent":let o=t.chunks,s=o[o.length-1|0],a=Kb(e,t.command,k4(o),{cwd:Ha.cwd,status:Ha.status,processId:t.processId,durationMs:Ha.durationMs,exitCode:Ha.exitCode,stream:k(W(s,y=>y.stream),"")},r),l=k(O(a,"command"),""),d=ur(a,"output");return{renderedBody:Wb(l,typeof d=="string"?d:""),renderedStructured:a};case"FileChangeContent":let c=tv(t.patchText),f;return f=r==="completed"||t.status!=="started"?"completed":"started",{renderedBody:c,renderedStructured:Bb(e,c,r,f)};case"TerminalInputContent":let p=t.inputText;return{renderedBody:p,renderedStructured:Object.fromEntries([["kind","codex_terminal_input"],["item_id",e],["transcript_unit_id","codex_terminal_input:"+e],["stream_state",IP(r)],["process_id",k(t.processId,"")],["input_text",p]])};case"WebSearchContent":let m=t.queries;return{renderedBody:Jb(m),renderedStructured:OP(e,m,r)};case"AgentStatusContent":let h=t._0,_=Vd(h.body);return{renderedBody:Zd(h.title,_),renderedStructured:Qb(e,{title:h.title,body:_,severity:h.severity,provider:h.provider,occurredAtMs:h.occurredAtMs,rawProviderMetadata:h.rawProviderMetadata},r)};case"AgentTaskUpdateContent":let g=t._0,b=Vd(g.body);return{renderedBody:Zd(g.title,b!==void 0?b:g.progressLabel),renderedStructured:Xb(e,{title:g.title,body:b,state:g.state,progressLabel:g.progressLabel,provider:g.provider,occurredAtMs:g.occurredAtMs,rawProviderMetadata:g.rawProviderMetadata},r)}}}function qP(e){return e.flatMap((t,r)=>{let n=De(t);if(n===void 0)return[];let i=FP(n);return i!==void 0?i==="webSearch"?[]:om(n,r).filter(o=>o.body.trim()!=="").map(o=>({snapshotIndex:r,projItemId:O(n,"id"),projStreamKind:i,projBody:o.body,projStructured:o.structured})):[]})}function rv(e,t){let r=k(O(e,"kind"),"codex_output"),n=Object.assign({},e);return n.item_id=t,n.transcript_unit_id=r+":"+t,n}function nv(e,t,r,n){if(r==="webSearch")return"local-codex-search-"+vn(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-"+vn(e+":"+t+":"+i+n).slice(0,32)}function Wd(e){let t=Ae(e,"turn"),r=Ae(e,"item"),n=x(r,d=>Ae(d,"turn")),i=x(t,d=>O(d,"id"));if(i!==void 0)return i;let o=O(e,"turnId");if(o!==void 0)return o;let s=O(e,"turn_id");if(s!==void 0)return s;let a=x(r,d=>O(d,"turnId"));if(a!==void 0)return a;let l=x(r,d=>O(d,"turn_id"));return l!==void 0?l:x(n,d=>O(d,"id"))}function Bn(e){return e!==void 0?e:null}var Kd="pipeline/turnMappingReady",Qa="pipeline/turnMappingFailed",LP="Codex completed without producing a response.",T4="linzumi_agent_reply",O4="The agent ended its turn after narrating an intent without posting a reply or taking any action.",A4="agent narrated intent but posted no reply and took no action",C4="Stopped after repeated empty responses in a row";function E4(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 HP="Codex emitted unsupported tool call";function P4(e){return e!==void 0?e.startsWith(HP):!1}function UP(e){switch(e){case"assistant":case"reasoning":case"webSearch":return!1;default:return!0}}function $4(e){if(e===void 0)return;let t=O(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(!de(O(e,"status"),"completed"))return;let n=ur(e,"error"),i=0;if(n!==void 0){if(n!==null)return;i=2}else i=2;if(i===2){let o=ur(e,"success"),s=0;if(typeof o=="boolean"){if(!o)return;s=3}else s=3;if(s===3){let a=k(O(e,"tool"),""),l=a.split("__");return k(l[l.length-1|0],a)===T4?"ReplyEvidence":"ActionEvidence"}}}}}function KP(e,t){let r=$4(t);if(r!==void 0){r==="ReplyEvidence"?e.agentReplyToolCallSeen=!0:e.agentActionToolCallSeen=!0;return}}function R4(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 BP(e){if(e===void 0)return;let t=O(e,"codex_protocol_failure_reason"),r=t!==void 0?t:O(e,"protocolFailureReason");if(r!==void 0)return r;let n=O(e,"type");if(n===void 0)return;switch(n){case"custom_tool_call_output":case"function_call_output":break;default:return}let i=O(e,"output"),o;if(i!==void 0)o=i;else{let s=O(e,"result");if(s!==void 0)o=s;else{let a=O(e,"text");o=a!==void 0?a:O(e,"content")}}return W(R4(o),s=>HP+": "+s)}function I4(e){return We(e,void 0,(t,r)=>t!==void 0?t:BP(De(r)))}function JP(){return{phase:"running",turns:new Map,terminalTurnIds:new Set,bufferedTurns:new Map,consecutiveEmptyTurns:0,lastUpstreamErrorSummary:void 0,consecutiveIsolatedRejections:0,costCap402Seen:!1}}function M4(e){switch(e){case"turn/aborted":case"turn/canceled":case"turn/cancelled":return"interrupted";case"turn/failed":return"failed";default:return}}function z4(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"response_item":case"turn/aborted":case"turn/canceled":case"turn/cancelled":case"turn/completed":case"turn/failed":case"turn/started":return!0;default:return!1}}function j4(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}}var N4=new RegExp("<[^>]*>","g"),F4=new RegExp(`data:[^"' )]+`,"g"),G4=new RegExp("\\s+","g");function Eo(e){if(e===void 0)return;let t=e.replace(N4," ").replace(F4,"").replace(G4," ").trim().slice(0,180);if(t!=="")return t}function Co(e){if(e!==void 0&&typeof e=="number"&&isFinite(e))return e}function fm(e){let t=x(Ae(e,"diagnostic_payload"),o=>Ae(o,"error")),r=x(t,o=>Ae(o,"codexErrorInfo")),n=x(r,o=>Ae(o,"responseStreamDisconnected")),i=[Co(x(n,o=>ur(o,"httpStatusCode"))),Co(x(r,o=>ur(o,"httpStatusCode"))),Co(x(r,o=>ur(o,"statusCode"))),Co(x(r,o=>ur(o,"status"))),Co(x(t,o=>ur(o,"httpStatusCode"))),Co(x(t,o=>ur(o,"statusCode"))),Co(x(t,o=>ur(o,"status")))];return We(i,void 0,(o,s)=>o!==void 0?o:s)}function q4(e){let t=O(e,"diagnostic_summary"),r=t!==void 0?t:x(x(Ae(e,"diagnostic_payload"),o=>Ae(o,"error")),o=>O(o,"message")),n=x(r,o=>Eo(o));if(n===void 0)return;let i=fm(e);return i!==void 0?"Model gateway error (HTTP "+i.toString()+"): "+n:"Model gateway error: "+n}var D4=new RegExp("(?:<!doctype\\s+html|<html(?:\\s|>))","i"),L4=new RegExp("cloudflare|cf-ray|\\bblocked\\b|access denied|\\bchallenge\\b|attention required","i"),U4=new RegExp("cloudflare|cf-ray","i"),Z4=new RegExp("\\bblocked\\b|access denied","i"),V4=new RegExp("attention required","i");function W4(e){let t=fm(e);if(t===void 0||t!==401&&t!==403)return;let r=x(Ae(e,"diagnostic_payload"),i=>Ae(i,"error")),n=We([O(e,"diagnostic_summary"),x(r,i=>O(i,"message")),O(e,"message")],void 0,(i,o)=>i!==void 0?i:o!==void 0&&D4.test(o)&&L4.test(o)?o:void 0);return W(n,i=>{let o=U4.test(i),s=Z4.test(i),a=V4.test(i);return{edgeStatus:t,edgeSignature:o?"cloudflare":s?"blocked":a?"attention_required":"challenge"}})}function H4(e){return e!==void 0?e===402||e===408||e===425||e===429?!0:e>=500?e<=599:!1:!1}function K4(e){return e!==void 0&&e>=400&&e<=499&&e!==402&&e!==408&&e!==425?e!==429:!1}function B4(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=k(W(t,o=>o.trim()),"");return i===""?n:n+" Upstream said: "+i}function J4(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 Q4(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=k(W(e,n=>n.trim()),"");return r===""?"Tool execution failed: "+t:"Tool execution failed ("+r+"): "+t}function Bd(e){let t=x(Ae(e,"diagnostic_payload"),i=>Ae(i,"error")),r=O(e,"message"),n;if(r!==void 0)n=r;else{let i=O(e,"reason");if(i!==void 0)n=i;else{let o=x(Ae(e,"error"),s=>O(s,"message"));if(o!==void 0)n=o;else{let s=O(e,"error");if(s!==void 0)n=s;else{let a=O(e,"diagnostic");if(a!==void 0)n=a;else{let l=x(t,d=>O(d,"message"));n=l!==void 0?l:x(x(t,d=>Ae(d,"error")),d=>O(d,"message"))}}}}}return Eo(n)}var X4=new RegExp("^(?:model_request_rejected|invalid_request_error|invalid_request|request_rejected|content_policy_violation|content_filter|input_validation_error)$","i"),Y4=new RegExp("\\bmodel request was rejected\\b|\\bmodel_request_rejected\\b","i");function eW(e){let t=x(Ae(e,"diagnostic_payload"),o=>Ae(o,"error")),r=x(t,o=>Ae(o,"error")),n=Ae(e,"error"),i=[[x(t,o=>O(o,"code")),x(t,o=>O(o,"message"))],[x(t,o=>O(o,"type")),x(t,o=>O(o,"message"))],[x(r,o=>O(o,"code")),x(r,o=>O(o,"message"))],[x(r,o=>O(o,"type")),x(r,o=>O(o,"message"))],[x(n,o=>O(o,"code")),x(n,o=>O(o,"message"))],[x(n,o=>O(o,"type")),x(n,o=>O(o,"message"))],[O(e,"code"),O(e,"message")],[O(e,"type"),O(e,"message")]];return We(i,void 0,(o,s)=>{if(o!==void 0)return o;let a=W(s[0],l=>l.trim());if(a!==void 0&&a!==""&&X4.test(a))return{colocatedMessage:s[1]}})}function tW(e){let t=eW(e),r=Bd(e),n=r!==void 0?Y4.test(r):!1;if(t===void 0&&!n)return;let i=Eo(x(t,o=>o.colocatedMessage));return i!==void 0?i:r!==void 0?r:""}function rW(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=k(W(e,n=>n.trim()),"");return r===""?"The model request was rejected: "+t:"The model request was rejected ("+r+"): "+t}var nW=new RegExp("^provider_outage$","i"),iW=new RegExp("rejecting requests|experiencing an outage|provider outage","i");function oW(e){let t=x(Ae(e,"diagnostic_payload"),d=>Ae(d,"error")),r=x(t,d=>Ae(d,"error")),n=Ae(e,"error");if(![x(t,d=>O(d,"code")),x(t,d=>O(d,"type")),x(r,d=>O(d,"code")),x(r,d=>O(d,"type")),x(n,d=>O(d,"code")),x(n,d=>O(d,"type")),O(e,"code"),O(e,"type")].some(d=>{let u=W(d,c=>c.trim());return u!==void 0&&u!==""?nW.test(u):!1}))return;let s=[x(t,d=>O(d,"message")),x(r,d=>O(d,"message")),x(n,d=>O(d,"message")),O(e,"message"),O(e,"reason")],a=We(s,void 0,(d,u)=>{if(d!==void 0)return d;let c=Eo(u);if(c!==void 0&&iW.test(c))return c});if(a!==void 0)return a;let l=Bd(e);return l!==void 0?l:""}function sW(e){let t=k(W(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 aW(e){let t="the model provider rejected this request and produced no response (a one-off retry did not help).",r=k(W(e,n=>n.trim()),"");return r===""?"The model request was rejected: "+t:"The model request was rejected ("+r+"): "+t}function lW(e,t,r,n){return e?{dispositionKind:"storm",dispositionRetryable:!1,dispositionReason:sW(r)}:t<1?{dispositionKind:"isolated_retry",dispositionRetryable:!0,dispositionReason:rW(n)}:{dispositionKind:"isolated_terminal",dispositionRetryable:!1,dispositionReason:aW(n)}}var dW=new RegExp("\\bapply_patch\\b[^]*\\bincompatible\\b|\\bin-flight tool future\\b[^]*\\bfail","i"),uW=new RegExp("\\btools::router\\b[^]*\\bfatal\\b|\\bresponse\\.failed\\b","i"),cW=new RegExp("(tool.*fatal|fatal.*tool|response[._]failed|tool_failure)","i");function fW(e){return dW.test(e)?!0:uW.test(e)}function mW(e){let t=O(e,"kind"),r;if(t!==void 0)r=t;else{let s=O(e,"type");if(s!==void 0)r=s;else{let a=x(Ae(e,"error"),l=>O(l,"kind"));r=a!==void 0?a:x(Ae(e,"error"),l=>O(l,"type"))}}let n=r!==void 0?cW.test(r):!1,i=Bd(e),o=i!==void 0?fW(i):!1;if(n||o)return i!==void 0?i:""}function ZP(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 pW(e){if(e===void 0)return;let t=qa(e,"{");if(t===void 0)return;let r=Uo(e.slice(t)),n=r!==void 0?r:Uo(e.slice(t,e.lastIndexOf("}")+1|0));if(n===void 0||!de(O(n,"type"),"error"))return;let i=Ae(n,"error");if(i===void 0)return;let o=O(i,"type");return{envelopeStatus:Co(ur(n,"status")),envelopeErrorType:o!==void 0?o:O(i,"code"),envelopeMessage:O(i,"message")}}function hW(e){let t=Ae(e,"error"),r=x(Ae(e,"diagnostic_payload"),h=>Ae(h,"error")),n=x(r,h=>Ae(h,"error")),i=fm(e),o=x(t,h=>O(h,"type")),s;if(o!==void 0)s=o;else{let h=x(t,_=>O(_,"code"));if(h!==void 0)s=h;else{let _=x(r,g=>O(g,"type"));if(_!==void 0)s=_;else{let g=x(r,b=>O(b,"code"));if(g!==void 0)s=g;else{let b=x(n,y=>O(y,"type"));if(b!==void 0)s=b;else{let y=x(n,v=>O(v,"code"));if(y!==void 0)s=y;else{let v=ZP(x(t,S=>ur(S,"codexErrorInfo")));s=v!==void 0?v:ZP(x(r,S=>ur(S,"codexErrorInfo")))}}}}}}let a=Eo(x(t,h=>O(h,"message"))),l;if(a!==void 0)l=a;else{let h=Eo(x(n,_=>O(_,"message")));if(h!==void 0)l=h;else{let _=Eo(x(r,g=>O(g,"message")));l=_!==void 0?_:Bd(e)}}if(i===void 0&&s===void 0){let h=We([x(t,_=>O(_,"message")),x(n,_=>O(_,"message")),x(r,_=>O(_,"message")),O(e,"message"),O(e,"reason"),O(e,"error"),O(e,"diagnostic"),O(e,"diagnostic_summary")],void 0,(_,g)=>_!==void 0?_:pW(g));if(h!==void 0){i=h.envelopeStatus,s=h.envelopeErrorType;let _=Eo(h.envelopeMessage);l=_!==void 0?_:l}}let c=W(s,h=>h.trim()),f;f=c!==void 0&&c!==""?c:void 0;let p=Ne([W(i,h=>h.toString()),f],h=>h).join(" "),m;if(p==="")m=l;else{let h=l;m=h!==void 0?p+": "+h:p}if(m!==void 0&&m!=="")return m.slice(0,300)}function VP(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 QP(e){return e===429||e>=500&&e<=599?"TransientRetryClass":"DeterministicRetryClass"}var _W=new RegExp("upstream model stream stalled","i"),gW=new RegExp("\\(HTTP (\\d{3})\\)");function XP(e){let t=gW.exec(e);if(t!=null)return x(x(t.slice(1)[0],r=>r),Ff)}function yW(e){let t=XP(e);return t!==void 0?QP(t):_W.test(e)?"TransientRetryClass":"DeterministicRetryClass"}function iv(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,QP(i)==="TransientRetryClass"?t.contents=!0:r.contents=!0),[e.swLastUpstreamErrorReason,e.swLastErrorDiagnosticText].forEach(a=>{if(a===void 0)return;n.contents=n.contents+1|0,yW(a)==="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,s=t.contents;return o?"deterministic":s?"transient":"none"}function WP(e){return e.swLastUpstreamErrorHttpStatus===429?!0:[e.swLastUpstreamErrorReason,e.swLastErrorDiagnosticText].some(r=>r!==void 0?de(XP(r),429):!1)}var bW=" (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 vW(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 SW(e){return" (An automatic resume was attempted at "+new Date(e).toISOString()+" after the stream stalled; it did not complete.)"}var YP=" (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 e$(e){return e>0?" ("+e.toString()+" automatic "+(e===1?"retry":"retries")+" did not help.)":""}var ov={autoRetryPreFirstByteStall:!1,messageStateRetryable:!1,costCapAutoRetrySuppressed:!1,messageStateFate:void 0,autoResumeMidStreamStall:!1,midStreamResumeRateLimitSuppressed:!1,midStreamResumeAttemptBurnedAtMs:void 0};function lm(e,t){return ur(e,t)===!0}function wW(e){let t=ur(e,"fate");if(typeof t=="string")return Jf(t)}function xW(e,t,r,n){let i=e==="turn/failed"&&de(x(Ae(t,"error"),y=>O(y,"code")),"idle_stream_timeout"),o=e==="turn/failed"&&lm(t,"retryable"),s=e==="turn/failed"?wW(t):void 0;if(!i)return{autoRetryPreFirstByteStall:!1,messageStateRetryable:o,costCapAutoRetrySuppressed:!1,messageStateFate:s,autoResumeMidStreamStall:!1,midStreamResumeRateLimitSuppressed:!1,midStreamResumeAttemptBurnedAtMs:void 0};let a=n.sessionMidStreamResumeAttemptAtMs,l=a!==void 0,d=iv(r)!=="deterministic",u=lm(t,"preFirstByteStall")&&d,c=lm(t,"midStreamResumableStall"),f=c&&WP(r),p=iv({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",m=c&&!l&&!f&&p,h=(u&&!l||m)&&n.sessionCostCap402Seen,_=u&&!l&&!h,g=m&&!h,b=c&&!l&&f;return{autoRetryPreFirstByteStall:_,messageStateRetryable:u||o,costCapAutoRetrySuppressed:h,messageStateFate:s!==void 0?s:WP(r)?"rate_limited":"transient_upstream",autoResumeMidStreamStall:g,midStreamResumeRateLimitSuppressed:b,midStreamResumeAttemptBurnedAtMs:l?a:void 0}}function kW(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 mm(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 pm(e){let t=e.turns.values().toArray().filter(n=>n.phase==="ActiveTurnPhase");return t.length!==1?void 0:t[0].turnId}function um(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 Hd(e){let t=e.nextStreamSnapshotIndex;return e.nextStreamSnapshotIndex=e.nextStreamSnapshotIndex+1|0,t}function Ja(e){let t=O(e,"reason");if(t!==void 0)return t;let r=O(e,"message");if(r!==void 0)return r;let n=x(Ae(e,"error"),i=>O(i,"message"));return n!==void 0?n:k(O(e,"error"),"codex_turn_aborted")}function TW(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,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 OW(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 cm(e,t,r,n,i,o,s,a){let l;if(a.autoRetryPreFirstByteStall||a.costCapAutoRetrySuppressed){let _=o.autoRetryAttemptsForSeq;l=n+e$(_!==void 0?_(t.sourceSeq):0)+(a.costCapAutoRetrySuppressed?YP:"")}else l=n;if(a.midStreamResumeRateLimitSuppressed&&(l=l+bW),r==="failed"){let _=a.midStreamResumeAttemptBurnedAtMs;if(_!==void 0)l=l+vW(_);else{let g=x(o.midStreamResumeAttemptAtMsForSeq,b=>b(t.sourceSeq));g!==void 0&&(l=l+SW(g))}}t.items.forEach(_=>{if(!_.posted||Db(_.emittedStreamState))return;let g=Ba(_.wireItemKey,_.content,s),b=Object.fromEntries(um(o,t,_,g).concat([["stream_snapshot_index",Hd(_)],["terminal_outcome",r],["reason",n]])),y={TAG:"Enqueue",kind:Cs,data:b,coalesceKey:void 0,resolution:"MustAck"};i.push(y),_.emittedStreamState=s,_.lastEmittedBody=g.renderedBody});let d=a.messageStateFate,u=a.messageStateFate,c;if(u!==void 0){let _=x(o.ladderHistoryForSeq,g=>g(t.sourceSeq,u));c=_!==void 0?[["ladder",_]]:[]}else c=[];let f=t.lastUpstreamErrorSummary,p;if(f!==void 0)p=[["upstream_error",f]];else{let _=e.lastUpstreamErrorSummary;p=_!==void 0?[["upstream_error",_]]:[]}let m=Object.fromEntries([["thread_key",o.threadKey],["turn_id",t.turnId],["seq",t.sourceSeq],["status","failed"],["reason",l]].concat((a.messageStateRetryable?[["retryable",!0]]:[]).concat(d!==void 0?[["fate",d]]:[])).concat(c.concat(p))),h={TAG:"Enqueue",kind:Wa,data:m,coalesceKey:void 0,resolution:"MustAck"};i.push(h),i.push({TAG:"TurnTerminal",turnId:t.turnId,outcome:r,reason:l,retryableEmptyTurn:a.autoRetryPreFirstByteStall,autoResumeMidStreamStall:a.autoResumeMidStreamStall,fate:a.messageStateFate}),e.turns.delete(t.turnId),mm(e,t.turnId)}function t$(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=fP(c),p=k(l,f),m={identity:c,itemKey:f,wireItemKey:p,clientMessageId:nv(n.instanceId,e.turnId,t,p),content:jP(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 s=r!==void 0?e.items.find(l=>l.identity.streamKind===t?de(l.identity.itemId,r):!1):void 0;if(s!==void 0)return s;let a=e.items.find(l=>l.identity.streamKind===t&&l.identity.itemId===void 0?!l.completed:!1);return r!==void 0?a!==void 0&&i?a:o(r):a!==void 0?a:o(r)}function r$(e,t,r,n,i,o){let s=Ba(t.wireItemKey,t.content,n);if(t.posted){let u=Object.fromEntries(um(i,e,t,s).concat([["delta_index",r],["stream_snapshot_index",Hd(t)]])),c=t.itemKey,f={TAG:"Enqueue",kind:qd,data:u,coalesceKey:c,resolution:"MustAck"};o.push(f),t.emittedStreamState=n,t.lastEmittedBody=s.renderedBody;return}if(s.renderedBody.trim()==="")return;let l=Object.fromEntries(um(i,e,t,s).concat([["delta_index",r],["stream_snapshot_index",Hd(t)]])),d={TAG:"Enqueue",kind:Gd,data:l,coalesceKey:void 0,resolution:"MustAck"};if(o.push(d),t.posted=!0,t.emittedStreamState=n,t.lastEmittedBody=s.renderedBody,n==="completed"){t.completed=!0;return}}function dm(e,t,r,n){if(e.phase==="ActiveTurnPhase"){let l=t$(e,Ka(t),MP(t),r,!1);if(l.completed){let p={TAG:"Log",event:"pipeline.loop.delta_for_completed_item",fields:Object.fromEntries([["turn_id",e.turnId],["item_key",l.itemKey]])};n.push(p);return}l.content=NP(l.content,t);let d=l.nextDeltaIndex;l.nextDeltaIndex=l.nextDeltaIndex+1|0;let u=Ka(t),c;return c=u==="terminalInput"?"completed":"streaming",r$(e,l,d,c,r,n)}let o=[["turn_id",e.turnId],["stream_kind",Ka(t)]],a={TAG:"Log",event:"pipeline.loop.delta_for_completing_turn",fields:Object.fromEntries(o)};n.push(a)}function AW(e,t,r,n){t.errorNotificationCount=t.errorNotificationCount+1|0;let i=mW(r);if(i!==void 0){t.toolFatalSeen=!0,t.toolFatalDetail===void 0&&i!==""&&(t.toolFatalDetail=i);let h={TAG:"Log",event:"codex.tool_fatal_captured",fields:Object.fromEntries([["turn_id",t.turnId],["detail",i===""?null:i]])};n.push(h)}let o=tW(r);if(o!==void 0){t.upstreamRejectedSeen=!0,t.upstreamRejectedDetail===void 0&&o!==""&&(t.upstreamRejectedDetail=o);let h={TAG:"Log",event:"codex.upstream_rejection_captured",fields:Object.fromEntries([["turn_id",t.turnId],["detail",o===""?null:o]])};n.push(h)}let s=oW(r);if(s!==void 0){t.providerOutageFlaggedSeen=!0,t.providerOutageDetail===void 0&&s!==""&&(t.providerOutageDetail=s);let h={TAG:"Log",event:"codex.provider_outage_flagged_captured",fields:Object.fromEntries([["turn_id",t.turnId],["detail",s===""?null:s]])};n.push(h)}let a=fm(r),l=W4(r);if(l!==void 0&&(t.edgeBlockEvidence=l),a!==void 0){let m=t.lastUpstreamErrorHttpStatus;m!==void 0&&a<=m||(t.lastUpstreamErrorHttpStatus=a)}if(de(a,402)&&!e.costCap402Seen){e.costCap402Seen=!0;let h={TAG:"Log",event:"codex.cost_cap_402_seen",fields:Object.fromEntries([["turn_id",t.turnId]])};n.push(h)}let d=q4(r),u=!1;if(d!==void 0){t.lastUpstreamErrorReason=d;let h={TAG:"Log",event:"codex.upstream_error_captured",fields:Object.fromEntries([["turn_id",t.turnId],["reason",d]])};n.push(h)}else{let m=Bd(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&&s===void 0&&a===void 0&&d===void 0&&!u&&(t.unattributedErrorNotificationCount=t.unattributedErrorNotificationCount+1|0);let c=hW(r);if(c===void 0)return;t.lastUpstreamErrorSummary=c,e.lastUpstreamErrorSummary=c;let p={TAG:"Log",event:"codex.upstream_turn_error_captured",fields:Object.fromEntries([["turn_id",t.turnId],["upstream_error",c]])};n.push(p)}function CW(e,t,r,n){let i=e.bufferedTurns.get(t);if(i!==void 0){i.push(r);return}e.bufferedTurns.set(t,[r]);let s={TAG:"Log",event:"pipeline.loop.turn_events_buffered",fields:Object.fromEntries([["turn_id",t]])};n.push(s)}function EW(e,t,r,n){let i=Ae(t,"item");i!==void 0&&e.protocolFailureReason===void 0&&(e.protocolFailureReason=BP(i)),KP(e,i!==void 0?i:t);let o=GP(t);if(o===void 0)return;if(o.completedStreamKind==="webSearch"){let c=o.completedContent,f;return f=c.TAG==="WebSearchContent"?c.queries:[],dm(e,{TAG:"WebSearchDelta",itemId:o.completedItemId,queries:f},r,n)}if(e.phase==="ActiveTurnPhase"){let c=t$(e,o.completedStreamKind,o.completedItemId,r,!0),f=!1;if(c.identity.streamKind===o.completedStreamKind){let m=o.completedStreamKind,h;switch(m){case"agentStatus":case"agentTaskUpdate":h=!0;break;default:h=!1}f=h}if(c.completed&&!f)return;c.content=o.completedContent,c.completed=!0;let p=Ba(c.wireItemKey,c.content,"streaming");return c.posted&&de(p.renderedBody,c.lastEmittedBody)?void 0:r$(e,c,Math.max(c.nextDeltaIndex-1|0,0),"streaming",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 PW(e,t,r,n){let i=O(t,"turnId"),o=k(O(t,"reason"),"turn source-seq mapping failed");if(i===void 0||e.terminalTurnIds.has(i))return;let s=e.turns.get(i);if(s!==void 0)return cm(e,s,"failed",o,n,r,"failed",ov);let a=e.bufferedTurns.get(i);e.bufferedTurns.delete(i);let l=[["level","warn"],["turn_id",i],["buffered_event_count",k(W(a,c=>c.length),0)],["reason",o]],u={TAG:"Log",event:"pipeline.loop.buffered_turn_failed",fields:Object.fromEntries(l)};n.push(u),n.push({TAG:"TurnTerminal",turnId:i,outcome:"failed",reason:o,retryableEmptyTurn:!1,autoResumeMidStreamStall:!1,fate:void 0}),mm(e,i)}function $W(e,t,r,n,i){let o=ur(r,"items"),s=o!==void 0?Array.isArray(o)?o:[]:[];t.protocolFailureReason===void 0&&(t.protocolFailureReason=I4(s)),s.forEach(R=>KP(t,De(R)));let a=qP(s),l=new Set,d=new Map;a.forEach((R,ge)=>{let ye=R.projItemId;if(ye===void 0)return;let le=t.items.find(Ke=>Ke.posted&&!l.has(Ke.itemKey)&&Ke.identity.streamKind===R.projStreamKind?de(Ke.identity.itemId,ye):!1);if(le!==void 0){l.add(le.itemKey),d.set(ge,le);return}});let u=new Map;t.items.forEach(R=>{if(!(R.posted&&!l.has(R.itemKey)&&R.identity.itemId===void 0))return;let ge=R.identity.streamKind;u.set(ge,k(u.get(ge),0)+1|0)});let c=new Map;a.forEach((R,ge)=>{if(d.has(ge))return;let ye=R.projStreamKind;c.set(ye,k(c.get(ye),0)+1|0)});let f=(R,ge)=>{let ye=Ba(R.wireItemKey,R.content,"completed").renderedBody.trim(),le=ge.projBody.trim();return le.startsWith(ye)?!0:ye.startsWith(le)};a.forEach((R,ge)=>{if(d.has(ge))return;let ye=R.projStreamKind,le=de(c.get(ye),u.get(ye));if(R.projItemId!==void 0&&!le)return;let Ke=t.items.find(U=>U.posted&&!l.has(U.itemKey)&&U.identity.streamKind===R.projStreamKind?U.identity.itemId===void 0:!1);if(Ke!==void 0&&(R.projItemId===void 0||f(Ke,R))){l.add(Ke.itemKey),d.set(ge,Ke);return}});let p=d.entries().toArray();t.items.forEach(R=>{let ge=p.find(U=>U[1].itemKey===R.itemKey);if(ge!==void 0){let U=a[ge[0]];if(U===void 0)return;let ke=Object.fromEntries([["thread_key",n.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",U.projBody],["structured",rv(U.projStructured,R.wireItemKey)],["stream_snapshot_index",Hd(R)],["terminal_outcome","completed"]]),be={TAG:"Enqueue",kind:Cs,data:ke,coalesceKey:void 0,resolution:"MustAck"};i.push(be),R.emittedStreamState="completed",R.lastEmittedBody=U.projBody;return}if(!R.posted||Db(R.emittedStreamState))return;let ye=Ba(R.wireItemKey,R.content,"completed"),le=Object.fromEntries(um(n,t,R,ye).concat([["stream_snapshot_index",Hd(R)],["terminal_outcome","completed"]])),Ke={TAG:"Enqueue",kind:Cs,data:le,coalesceKey:void 0,resolution:"MustAck"};i.push(Ke),R.emittedStreamState="completed",R.lastEmittedBody=ye.renderedBody}),a.forEach((R,ge)=>{if(d.has(ge))return;let ye=R.projItemId,le=ye!==void 0?ye:t.turnId+":"+R.projStreamKind+":snapshot:"+R.snapshotIndex.toString(),Ke=R.projItemId,U=Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["item_key",t.turnId+":"+R.projStreamKind+":"+(Ke!==void 0?Ke:"snapshot:"+R.snapshotIndex.toString())],["item_id",le],["stream_kind",R.projStreamKind],["snapshot_index",R.snapshotIndex],["source_seq",t.sourceSeq],["client_message_id",nv(n.instanceId,t.turnId,R.projStreamKind,le)],["body",R.projBody],["structured",rv(R.projStructured,le)],["stream_snapshot_index",1]]),ke={TAG:"Enqueue",kind:Dd,data:U,coalesceKey:void 0,resolution:"MustAck"};i.push(ke)});let m=t.items.some(R=>R.identity.streamKind==="assistant"?R.posted:!1)||a.some(R=>R.projStreamKind==="assistant"),h=t.agentActionToolCallSeen||t.items.some(R=>R.posted?UP(R.identity.streamKind):!1)||a.some(R=>UP(R.projStreamKind)),_=n.linzumiAgentSession&&m&&!t.agentReplyToolCallSeen&&!h,g=m&&!_,b=t.protocolFailureReason,y=P4(b)&&g,v=y?void 0:b,S;if(!g&&b===void 0&&t.lastUpstreamErrorReason===void 0){let R;if(_)R={cause:A4};else{let ge=t.lastUpstreamErrorSummary;R=kW(t,a.length,ge!==void 0?ge:e.lastUpstreamErrorSummary)}S=R}else S=void 0;let A=!g&&v===void 0&&t.upstreamRejectedSeen,C=!g&&v===void 0&&t.providerOutageFlaggedSeen,V=K4(t.lastUpstreamErrorHttpStatus),re=!g&&v===void 0&&t.edgeBlockEvidence!==void 0,fe=A&&!C&&!V,J=C||fe?lW(C,e.consecutiveIsolatedRejections,t.providerOutageDetail,t.upstreamRejectedDetail):void 0,K;if(J!==void 0)switch(J.dispositionKind){case"isolated_retry":K=!0;break;case"storm":case"isolated_terminal":K=!1;break}else K=!1;fe?e.consecutiveIsolatedRejections=e.consecutiveIsolatedRejections+1|0:e.consecutiveIsolatedRejections=0;let ae=!g&&v===void 0&&t.lastUpstreamErrorReason===void 0&&t.lastErrorDiagnosticText===void 0&&!A&&H4(t.lastUpstreamErrorHttpStatus),z=!g&&v===void 0&&t.lastUpstreamErrorReason===void 0&&V,L=!g&&v===void 0&&t.lastUpstreamErrorReason===void 0&&!A&&!ae&&!z&&t.toolFatalSeen,$;if(J!==void 0)$=J.dispositionReason;else if(z){let R=t.upstreamRejectedDetail;$=B4(t.lastUpstreamErrorHttpStatus,R!==void 0?R:t.lastErrorDiagnosticText)}else if(ae)$=J4(t.lastUpstreamErrorHttpStatus);else if(L)$=Q4(t.toolFatalDetail);else{let R=t.lastUpstreamErrorReason;$=R!==void 0?R:_?O4:S!==void 0?LP+" ["+S.cause+"]":LP}let I=S!==void 0&&v===void 0&&t.modelInteractionSeen&&t.lastErrorDiagnosticText===void 0&&!A&&!ae&&!z&&!L;I?e.consecutiveEmptyTurns=e.consecutiveEmptyTurns+1|0:e.consecutiveEmptyTurns=0;let F=I&&e.consecutiveEmptyTurns>3,B=I&&!F||K,X=n.autoRetryAttemptsForSeq,Se=X!==void 0?X(t.sourceSeq):0,Ee=B&&e.costCap402Seen&&Se<2,Ze=B&&!Ee;if(re){let R=t.edgeBlockEvidence,ge=t.edgeBlockEvidence,le={TAG:"Log",event:"codex.edge_blocked_captured",fields:Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["http_status",R!==void 0?R.edgeStatus:null],["signature",ge!==void 0?ge.edgeSignature:null]])};i.push(le)}let ot=F?C4+" ("+e.consecutiveEmptyTurns.toString()+" in a row"+(S!==void 0?": "+S.cause:"")+").":void 0,Pe=v!==void 0?v:g?void 0:ot!==void 0?ot:$,dt=I&&!F?Se:0,Ge=W(Pe,R=>R+e$(dt)+(Ee?YP:"")),Xe=S!==void 0&&!F&&!A&&!ae&&!z&&!L||K||re,Et;if(Xe||C)Et="transient_upstream";else if(ae){let R=t.lastUpstreamErrorHttpStatus;Et=R!==void 0?Id(R):"transient_upstream"}else Et="deterministic";if(Ee){let R=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["reason",Bn(Pe)],["isolated_rejection_retry_suppressed",K]],ye={TAG:"Log",event:"codex.empty_turn_auto_retry_suppressed_cost_cap",fields:Object.fromEntries(R)};i.push(ye)}if(F){let R=t.lastUpstreamErrorSummary,ge=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["consecutive_empty_turns",e.consecutiveEmptyTurns],["max_consecutive_empty_turns",3],["cause",Bn(W(S,Ke=>Ke.cause))],["last_upstream_error",Bn(R!==void 0?R:e.lastUpstreamErrorSummary)]],le={TAG:"Log",event:"codex.empty_turn_loop_guard_tripped",fields:Object.fromEntries(ge)};i.push(le)}if(y){let R=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["reason",Bn(b)]],ye={TAG:"Log",event:"codex.turn_completed_with_unsupported_tool_call_ignored",fields:Object.fromEntries(R)};i.push(ye)}else if(b!==void 0){let R=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["reason",Bn(b)]],ye={TAG:"Log",event:"codex.turn_completed_with_protocol_failure",fields:Object.fromEntries(R)};i.push(ye)}if(_){let ge={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",a.length],["agent_reply_tool_call_seen",t.agentReplyToolCallSeen],["agent_action_tool_call_seen",t.agentActionToolCallSeen],["retryable_empty_turn",Xe],["empty_turn_loop_guard_tripped",F]])};i.push(ge)}if(!m){let R=t.lastUpstreamErrorHttpStatus,ge=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["streamed_item_count",t.items.length],["snapshot_item_count",a.length],["notification_count",t.notificationCount],["error_notification_count",t.errorNotificationCount],["model_interaction_seen",t.modelInteractionSeen],["last_error_diagnostic_text",Bn(t.lastErrorDiagnosticText)],["last_upstream_error_reason",Bn(t.lastUpstreamErrorReason)],["last_upstream_error_summary",Bn(t.lastUpstreamErrorSummary)],["empty_turn_cause",Bn(W(S,Ke=>Ke.cause))],["tool_fatal_seen",L],["tool_fatal_detail",Bn(t.toolFatalDetail)],["upstream_rejected_seen",A],["upstream_rejected_detail",Bn(t.upstreamRejectedDetail)],["upstream_terminal_4xx",z],["last_upstream_error_http_status",R!==void 0?R:null],["provider_outage_flagged",C],["isolated_rejection_retry_granted",K],["rejection_disposition",J!==void 0?J.dispositionKind:null],["consecutive_isolated_rejections",e.consecutiveIsolatedRejections],["retryable_empty_turn",Xe],["empty_turn_loop_guard_tripped",F],["cost_cap_auto_retry_suppressed",Ee]],le={TAG:"Log",event:"codex.turn_completed_without_assistant_output",fields:Object.fromEntries(ge)};i.push(le)}let tr;if(Ge!==void 0){let R=x(n.ladderHistoryForSeq,le=>le(t.sourceSeq,Et)),ge=t.lastUpstreamErrorSummary,ye;if(ge!==void 0)ye=[["upstream_error",ge]];else{let le=e.lastUpstreamErrorSummary;ye=le!==void 0?[["upstream_error",le]]:[]}tr=[["status","failed"],["reason",Ge]].concat((Xe?[["retryable",!0]]:[]).concat([["fate",Et]])).concat((R!==void 0?[["ladder",R]]:[]).concat(re?[["failure_class","edge_blocked"]]:[]).concat(ye))}else tr=[["status","processed"]];let Tt=Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["seq",t.sourceSeq]].concat(tr)),je={TAG:"Enqueue",kind:Wa,data:Tt,coalesceKey:void 0,resolution:"MustAck"};i.push(je),Ge===void 0&&(e.lastUpstreamErrorSummary=void 0),i.push(Ge!==void 0?{TAG:"TurnTerminal",turnId:t.turnId,outcome:"failed",reason:Ge,retryableEmptyTurn:Ze,autoResumeMidStreamStall:!1,fate:Et}:{TAG:"TurnTerminal",turnId:t.turnId,outcome:"completed",reason:void 0,retryableEmptyTurn:!1,autoResumeMidStreamStall:!1,fate:void 0}),e.turns.delete(t.turnId),mm(e,t.turnId)}function RW(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 $W(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 a={TAG:"Log",event:"pipeline.loop.snapshot_for_unknown_turn",fields:Object.fromEntries([["turn_id",t]])};i.push(a)}function IW(e,t,r,n){let i=t.method,o=k(t.params,{});if(i===Kd)return;if(i===Qa)return PW(e,o,r,n);if(!z4(i))return;let s=Wd(o),a=s!==void 0?s:pm(e);if(a!==void 0){if(e.terminalTurnIds.has(a)){let y={TAG:"Log",event:"pipeline.loop.notification_for_terminal_turn",fields:Object.fromEntries([["method",i],["turn_id",a]])};n.push(y);return}let u=e.turns.get(a),c;if(u!==void 0)c=u;else{let b=r.sourceSeqForTurn(a);c=b!==void 0?TW(e,a,b):void 0}if(c===void 0)return CW(e,a,{TAG:"HarnessNotification",_0:t},n);if(c.notificationCount=c.notificationCount+1|0,j4(i)&&(c.modelInteractionSeen=!0),i==="turn/started")return;if(i==="turn/completed")return OW(c,n);let f=M4(i);if(f!==void 0){let b=xW(i,o,VP(c),{sessionCostCap402Seen:e.costCap402Seen,sessionMidStreamResumeAttemptAtMs:x(r.midStreamResumeAttemptAtMsForSeq,v=>v(c.sourceSeq))});if(b.autoResumeMidStreamStall){let v=[["thread_key",r.threadKey],["turn_id",c.turnId],["source_seq",c.sourceSeq],["reason",Ja(o)]],A={TAG:"Log",event:"codex.mid_stream_stall_auto_resume_flagged",fields:Object.fromEntries(v)};n.push(A)}else if(b.midStreamResumeRateLimitSuppressed){let v=[["thread_key",r.threadKey],["turn_id",c.turnId],["source_seq",c.sourceSeq],["reason",Ja(o)]],A={TAG:"Log",event:"codex.mid_stream_stall_resume_suppressed_rate_limit",fields:Object.fromEntries(v)};n.push(A)}else{let v=b.midStreamResumeAttemptBurnedAtMs;if(v!==void 0){let S=[["thread_key",r.threadKey],["turn_id",c.turnId],["source_seq",c.sourceSeq],["resume_attempt_at_ms",v],["reason",Ja(o)]],C={TAG:"Log",event:"codex.mid_stream_stall_second_stall_after_resume",fields:Object.fromEntries(S)};n.push(C)}}if(b.autoRetryPreFirstByteStall){let v=[["thread_key",r.threadKey],["turn_id",c.turnId],["source_seq",c.sourceSeq],["reason",Ja(o)],["evidence_class",iv(VP(c))]],A={TAG:"Log",event:"codex.pre_first_byte_stall_auto_retry_flagged",fields:Object.fromEntries(v)};n.push(A)}else if(b.costCapAutoRetrySuppressed){let v=[["thread_key",r.threadKey],["turn_id",c.turnId],["source_seq",c.sourceSeq],["reason",Ja(o)],["flavor",lm(o,"midStreamResumableStall")?"mid_stream_resume":"pre_first_byte_retry"]],A={TAG:"Log",event:"codex.pre_first_byte_stall_retry_suppressed_cost_cap",fields:Object.fromEntries(v)};n.push(A)}let y;switch(f){case"failed":y="failed";break;case"completed":case"interrupted":y="interrupted";break}return cm(e,c,f,Ja(o),n,r,y,b)}if(i==="error")return AW(e,c,o,n);if(i==="item/completed"||i==="response_item")return EW(c,o,r,n);let p=zP(i,o);if(p===void 0)return;if(c.phase!=="ActiveTurnPhase")return dm(c,p,r,n);if(Ka(p)!=="reasoning")return c.reasoningStepsWithoutProgress=0,dm(c,p,r,n);if(c.reasoningStepsWithoutProgress=c.reasoningStepsWithoutProgress+1|0,c.reasoningStepsWithoutProgress<=64)return dm(c,p,r,n);let h=E4(c.reasoningStepsWithoutProgress),g={TAG:"Log",event:"codex.reasoning_loop_breaker_tripped",fields:Object.fromEntries([["thread_key",r.threadKey],["turn_id",c.turnId],["source_seq",c.sourceSeq],["reasoning_steps_without_progress",c.reasoningStepsWithoutProgress],["max_reasoning_steps_without_progress",64]])};return n.push(g),cm(e,c,"failed",h,n,r,"interrupted",ov)}let d={TAG:"Log",event:"pipeline.loop.notification_without_turn",fields:Object.fromEntries([["method",i]])};n.push(d)}function MW(e,t,r,n,i){switch(t){case"codexDied":let s=e.phase,a=0;switch(s){case"running":case"closing":a=2;break;case"dead":return}if(a===2){e.turns.values().toArray().forEach(u=>cm(e,u,"failed",r,i,n,"interrupted",ov)),e.bufferedTurns.entries().toArray().forEach(u=>{let c=u[0],p={TAG:"Log",event:"pipeline.loop.buffered_turn_dropped",fields:Object.fromEntries([["turn_id",c],["buffered_event_count",u[1].length],["reason",r]])};i.push(p),i.push({TAG:"TurnTerminal",turnId:c,outcome:"failed",reason:r,retryableEmptyTurn:!1,autoResumeMidStreamStall:!1,fate:void 0}),mm(e,c)}),e.bufferedTurns.clear(),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 s=[["kind",t],["reason",r]],l={TAG:"Log",event:"pipeline.loop.closing",fields:Object.fromEntries(s)};i.push(l);return;case"closing":case"dead":return}}function n$(e,t,r,n){switch(t.TAG){case"HarnessNotification":case"CompletionSnapshot":break;case"Lifecycle":return MW(e,t.kind,t.reason,r,n)}switch(e.phase){case"running":switch(t.TAG){case"HarnessNotification":return IW(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 RW(e,c,t.snapshot,r,n);case"Lifecycle":return}case"closing":let o=[["source",Va(t)]],a={TAG:"Log",event:"pipeline.loop.event_after_close",fields:Object.fromEntries(o)};n.push(a);return;case"dead":let l=[["source",Va(t)]],u={TAG:"Log",event:"pipeline.loop.event_after_death",fields:Object.fromEntries(l)};n.push(u);return}}function zW(e,t,r){e.bufferedTurns.keys().toArray().forEach(n=>{if(t.sourceSeqForTurn(n)===void 0)return;let o=k(e.bufferedTurns.get(n),[]);e.bufferedTurns.delete(n);let a={TAG:"Log",event:"pipeline.loop.buffered_turn_drained",fields:Object.fromEntries([["turn_id",n],["buffered_event_count",o.length]])};r.push(a),o.forEach(l=>n$(e,l,t,r))})}function i$(e,t,r){let n=[];return e.phase==="running"&&zW(e,r,n),n$(e,t,r,n),n}var sv=2;var jW=[500,1e3,2500,5e3,1e4,3e4],NW=1440*60*1e3;function hm(e,t){return e+"\0"+t}function o$(e,t){let r=Math.max(1,Math.ceil(t*e.length)|0);return k(e[r-1|0],0)}function FW(e){if(e.length===0)return;let t=e.toSorted((r,n)=>r-n);return{p50Ms:o$(t,.5),p95Ms:o$(t,.95),maxMs:k(t[t.length-1|0],0),ackedInWindow:t.length}}function GW(e){return new Promise((t,r)=>{setTimeout(()=>t(),e)})}function s$(e){let t=e.log,r=e.onPermanentFailure,n=e.builders,i={contents:e.threadKey},o=k(e.now,()=>Date.now()),s=k(e.retryDelaysMs,jW.slice()),a={contents:[]},l={contents:0},d=new Map,u={contents:new Map},c=[],f={contents:1},p={contents:0},m={contents:0},h={contents:0},_={contents:0},g={contents:0},b={contents:0},y=[],v={contents:0},S={contents:!1},A={contents:!0},C={contents:!1},V={contents:void 0},re={contents:void 0},fe=Math.max(1,k(e.maxInFlightPushes,1)),J={contents:0},K={contents:[]},ae={contents:Promise.resolve()},z=()=>a.contents[l.contents],L=()=>({totalEnqueued:p.contents,totalAcked:m.contents,totalDroppedBestEffort:_.contents,totalPermanentFailures:g.contents,totalExpiredOnRecovery:b.contents,lastEntrySeq:f.contents-1}),$=e.persistDir;if($!==void 0){let M=qb($,i.contents),j=dP(M,t),Z=k(e.journalRecoveryMaxAgeMs,NW),Oe=o(),qe=[];j.pendingEntries.forEach(Be=>{if(Oe-Be.enqueuedAtMs>Z){qe.push(Be);return}let ut={entry:Be,state:"EntryQueued",outcome:void 0,retryTimer:void 0};a.contents.push(ut);let tt=Be.coalesceKey;if(tt!==void 0){d.set(hm(Be.kind,tt),ut);return}}),u.contents=j.kv,p.contents=j.counters.totalEnqueued,m.contents=j.counters.totalAcked,_.contents=j.counters.totalDroppedBestEffort,g.contents=j.counters.totalPermanentFailures,b.contents=j.counters.totalExpiredOnRecovery+qe.length|0,f.contents=j.counters.lastEntrySeq+1;let Ie=uP(M,()=>({pendingEntries:a.contents.slice(l.contents).map(Be=>Be.entry),kv:u.contents,counters:L()}),t,e.journalCompactionThreshold,void 0);if(re.contents=Ie,qe.length!==0){qe.forEach(tt=>Ie.appendExpired(tt.entrySeq));let Be=qe.map(tt=>Math.max(0,Oe-tt.enqueuedAtMs)),ut=new Set(qe.map(tt=>tt.kind));t("outbox_recovery_expired",Object.fromEntries([["level","warn"],["threadKey",i.contents],["expiredEntries",qe.length],["survivingEntries",a.contents.length-l.contents|0],["maxAgeMs",Z],["oldestAgeMs",We(Be,0,(tt,Ve)=>Math.max(tt,Ve))],["newestAgeMs",We(Be,Number.POSITIVE_INFINITY,(tt,Ve)=>Math.min(tt,Ve))],["kinds",ut.values().toArray().map(tt=>tt)]]))}(a.contents.length-l.contents|0)>0&&t("outbox_recovered",Object.fromEntries([["threadKey",i.contents],["pendingEntries",a.contents.length-l.contents|0],["nextEntrySeq",f.contents]]))}let B={remember:(M,j)=>{u.contents.set(M,j);let Z=re.contents;if(Z!==void 0)return Z.appendKv(M,j)},recall:M=>u.contents.get(M)},X=()=>{if(l.contents=l.contents+1|0,l.contents>=64&&l.contents<<1>=a.contents.length){a.contents=a.contents.slice(l.contents),l.contents=0;return}},Se=()=>{let M=z(),j=c.length-1|0;for(;j>=0;){let Z=c[j];if(Z!==void 0&&(M!==void 0?M.entry.entrySeq>Z.upToSeq:!0)){c.splice(j,1);let qe=Z.timer;qe!==void 0&&clearTimeout(se(qe)),Z.resolve({TAG:"Ok",_0:void 0})}j=j-1|0}},Ee=M=>{let j=M.entry.coalesceKey;if(j===void 0)return;let Z=hm(M.entry.kind,j),Oe=d.get(Z);if(Oe!==void 0&&Oe===M){d.delete(Z);return}},Ze=(M,j)=>{let Z=M.entry;switch(j.TAG){case"OutcomeAck":let Oe=n[Z.kind];if(Oe!==void 0){let tt=Oe.onReply;if(tt!==void 0){let Ve;try{tt(Z.data,j._0,B),Ve={TAG:"Ok",_0:void 0}}catch(Rs){let qi=Q(Rs);Ve={TAG:"Error",_0:Ye(qi)}}Ve.TAG!=="Ok"&&t("outbox_on_reply_failed",Object.fromEntries([["threadKey",i.contents],["entrySeq",Z.entrySeq],["kind",Z.kind],["error",Ve._0.message]]))}}let qe=re.contents;qe!==void 0&&qe.appendAck(Z.entrySeq);break;case"OutcomeSkip":let Ie=j._0;t("outbox_entry_skipped",Object.fromEntries([["threadKey",i.contents],["entrySeq",Z.entrySeq],["kind",Z.kind],["reason",Ie]]));let Be=re.contents;Be!==void 0&&Be.appendSkip(Z.entrySeq,Ie);break;case"OutcomeFail":if(Z.resolution==="MustAck"){let tt=re.contents;tt!==void 0&&tt.appendFail(Z.entrySeq);let Ve;try{r(Z,j._0),Ve={TAG:"Ok",_0:void 0}}catch(Rs){let qi=Q(Rs);Ve={TAG:"Error",_0:Ye(qi)}}Ve.TAG!=="Ok"&&t("outbox_permanent_failure_callback_failed",Object.fromEntries([["threadKey",i.contents],["entrySeq",Z.entrySeq],["error",Ve._0.message]]))}else{let tt=re.contents;tt!==void 0&&tt.appendDrop(Z.entrySeq)}break}Ee(M),X(),Se()},ot=()=>{let M=!0;for(;M;){let j=z();if(j!==void 0){let Z=j.outcome;Z!==void 0?Ze(j,Z):M=!1}else M=!1}},Pe=(M,j)=>{let Z=M.entry;switch(j.TAG){case"OutcomeAck":case"OutcomeSkip":break;case"OutcomeFail":let Oe=j._0;Z.resolution==="MustAck"?(g.contents=g.contents+1|0,t("outbox_permanent_failure",Object.fromEntries([["threadKey",i.contents],["entrySeq",Z.entrySeq],["kind",Z.kind],["attempts",Z.attempts],["error",Oe]]))):(_.contents=_.contents+1|0,t("outbox_dropped_best_effort",Object.fromEntries([["threadKey",i.contents],["entrySeq",Z.entrySeq],["kind",Z.kind],["attempts",Z.attempts],["error",Oe]])));break}M.outcome=j,M.state="EntryQueued"},dt=M=>{y.length<256?y.push(M):y[v.contents]=M;let j=v.contents+1|0;v.contents=j>=256?0:j},Ge=M=>{let j=M.retryTimer;if(j!==void 0){clearTimeout(se(j)),M.retryTimer=void 0;return}},Xe=()=>{if(J.contents>0)return;let M=K.contents;K.contents=[],M.forEach(j=>j())},Et=()=>{let M=z();return M===void 0||M.state!=="EntryQueued"||M.outcome!==void 0?!1:M.retryTimer!==void 0},tr={contents:()=>{}},Tt=(M,j)=>{Ge(M);let Z=setTimeout(()=>{if(M.retryTimer=void 0,!(C.contents||S.contents||M.outcome!==void 0))return tr.contents()},j|0);Z.unref(),M.retryTimer=mt(Z)},je=async(M,j,Z)=>{let Oe=M.entry,qe=o(),Ie;try{Ie=await e.push(j[0],j[1],j[2],Z)}catch(tt){let Ve=Q(tt);Ie={TAG:"PushFailed",message:Ye(Ve).message,budgetExempt:!1}}if(Ie.TAG==="Acked")return Z(),dt(Math.max(0,o()-qe)),m.contents=m.contents+1|0,Pe(M,{TAG:"OutcomeAck",_0:Ie._0});let Be=Ie.message;if(Z(),M.state="EntryQueued",Ie.budgetExempt)return Oe.attempts=Oe.attempts-1|0,h.contents=h.contents+1|0,t("outbox_push_connection_wait",Object.fromEntries([["threadKey",i.contents],["entrySeq",Oe.entrySeq],["kind",Oe.kind],["error",Be]])),!C.contents&&!S.contents?Tt(M,1e3):void 0;let ut=s[Oe.attempts-1|0];return ut!==void 0?(h.contents=h.contents+1|0,t("outbox_push_retry",Object.fromEntries([["threadKey",i.contents],["entrySeq",Oe.entrySeq],["kind",Oe.kind],["attempt",Oe.attempts],["delayMs",ut],["error",Be]])),!C.contents&&!S.contents?Tt(M,ut):void 0):Pe(M,{TAG:"OutcomeFail",_0:Be})},R=async M=>{let j=M.entry,Z=ae.contents,Oe={contents:()=>{}};ae.contents=new Promise((ut,tt)=>{Oe.contents=ut});let qe={contents:!1},Ie=()=>{if(!qe.contents)return qe.contents=!0,Oe.contents()};if(M.state="EntryPushing",J.contents=J.contents+1|0,await Z,C.contents||S.contents||M.outcome!==void 0){M.state="EntryQueued",Ie(),J.contents=J.contents-1|0;return}let Be=n[j.kind];if(Be!==void 0){let ut;try{ut=Be.build(j.data,B)}catch(tt){let Ve=Q(tt);ut={TAG:"BuildFailed",_0:Ye(Ve).message}}switch(ut.TAG){case"BuildPush":j.attempts=j.attempts+1|0,await je(M,[ut.event,ut.payload,ut.timeoutMs],Ie),J.contents=J.contents-1|0;return;case"BuildSkip":Ie(),Pe(M,{TAG:"OutcomeSkip",_0:ut._0}),J.contents=J.contents-1|0;return;case"BuildFailed":Ie(),Pe(M,{TAG:"OutcomeFail",_0:ut._0}),J.contents=J.contents-1|0;return}}else{Ie(),Pe(M,{TAG:"OutcomeFail",_0:"no outbox builder registered for kind "+j.kind}),J.contents=J.contents-1|0;return}},ge=()=>{if(ot(),C.contents||S.contents||Et())return Xe();let M=l.contents;for(;M<a.contents.length&&J.contents<fe;){let j=a.contents[M];j!==void 0&&j.state==="EntryQueued"&&j.outcome===void 0&&(j.retryTimer!==void 0||yn(R(j).then(()=>ge()),Ie=>(t("outbox_drain_loop_error",Object.fromEntries([["threadKey",i.contents]])),ge(),Promise.resolve()))),M=M+1|0}Xe()};tr.contents=ge;let ye=()=>{if(S.contents||C.contents)return;if(z()!==void 0){Promise.resolve().then(()=>{if(!C.contents&&!S.contents)return ge()});return}},le=M=>{let j=f.contents-1,Z=z();return(Z!==void 0?Z.entry.entrySeq>j:!0)?Promise.resolve({TAG:"Ok",_0:void 0}):new Promise((qe,Ie)=>{let Be={upToSeq:j,resolve:qe,timer:void 0};M!==void 0&&(Be.timer=mt(setTimeout(()=>{let ut=c.indexOf(Be);ut===-1||c.splice(ut,1),qe({TAG:"Error",_0:"outbox flush for "+i.contents+" timed out after "+M.toString()+"ms with "+(a.contents.length-l.contents|0).toString()+" entries pending"})},M|0))),c.push(Be)})},Ke=async M=>{A.contents=!1;let j=await le(M);j.TAG!=="Ok"&&t("outbox_close_flush_timeout",Object.fromEntries([["threadKey",i.contents],["depth",a.contents.length-l.contents|0],["error",j._0]])),C.contents=!0;let Z=l.contents;for(;Z<a.contents.length;){let Ie=a.contents[Z];Ie!==void 0&&Ge(Ie),Z=Z+1|0}J.contents>0&&await Promise.race([new Promise((Ie,Be)=>{K.contents.push(()=>Ie())}),GW(1e3)]);let Oe=c.slice();c.splice(0,c.length),Oe.forEach(Ie=>{let Be=Ie.timer;Be!==void 0&&clearTimeout(se(Be)),Ie.resolve({TAG:"Error",_0:"outbox for "+i.contents+" closed"})});let qe=re.contents;if(qe!==void 0)return await qe.close()},U=(M,j,Z)=>{if(M===void 0)return Z;let Oe=M.coalesce;if(Oe===void 0)return Z;let qe;try{qe={TAG:"Ok",_0:Oe(j.data,Z)}}catch(Ie){let Be=Q(Ie);qe={TAG:"Error",_0:Ye(Be)}}return qe.TAG==="Ok"?qe._0:(t("outbox_coalesce_failed",Object.fromEntries([["threadKey",i.contents],["entrySeq",j.entrySeq],["kind",j.kind],["error",qe._0.message]])),Z)},xt={enqueue:M=>{if(!A.contents)return{TAG:"Error",_0:"outbox for "+i.contents+" is closed"};p.contents=p.contents+1|0;let j=M.coalesceKey,Z;if(j!==void 0){let tt=hm(M.kind,j),Ve=d.get(tt);if(Ve!==void 0)if(Ve.state==="EntryQueued")if(Ve.outcome!==void 0)Z=void 0;else{Ve.entry.data=U(n[M.kind],Ve.entry,M.data);let Jn=re.contents;Jn!==void 0&&Jn.appendCoalesce(Ve.entry.entrySeq,Ve.entry.data),Z=Ve.entry.entrySeq}else Z=void 0;else Z=void 0}else Z=void 0;if(Z!==void 0)return{TAG:"Ok",_0:Z};let Oe=f.contents;f.contents=f.contents+1;let qe={entrySeq:Oe,kind:M.kind,data:M.data,coalesceKey:M.coalesceKey,resolution:M.resolution,attempts:0,enqueuedAtMs:o()},Ie={entry:qe,state:"EntryQueued",outcome:void 0,retryTimer:void 0};a.contents.push(Ie);let Be=M.coalesceKey;Be!==void 0&&d.set(hm(M.kind,Be),Ie);let ut=re.contents;return ut!==void 0&&ut.appendEnqueue(qe),ye(),{TAG:"Ok",_0:Oe}},flush:le,pause:()=>{S.contents=!0},resume:()=>{if(!S.contents)return;S.contents=!1;let M=l.contents;for(;M<a.contents.length;){let j=a.contents[M];j!==void 0&&(j.entry.attempts=0,Ge(j)),M=M+1|0}ye()},metrics:()=>{let M=z(),j=W(re.contents,Z=>Z.status());return{depth:a.contents.length-l.contents|0,oldestEntryAgeMs:W(M,Z=>Math.max(0,o()-Z.entry.enqueuedAtMs)),totalEnqueued:p.contents,totalAcked:m.contents,totalRetried:h.contents,totalDroppedBestEffort:_.contents,totalPermanentFailures:g.contents,totalExpiredOnRecovery:b.contents,totalJournalWriteFailures:k(W(j,Z=>Z.totalWriteFailures),0),journalDegraded:k(W(j,Z=>Z.degraded),!1),paused:S.contents,pushLatency:FW(y)}},close:M=>{let j=V.contents;if(j!==void 0)return j;let Z=Ke(k(M,3e4));return V.contents=Z,Z},journalSettled:()=>{let M=re.contents;return M!==void 0?M.settled():Promise.resolve()},rekeyJournal:M=>{if(M===i.contents)return;i.contents=M;let j=e.persistDir,Z=re.contents;if(j!==void 0&&Z!==void 0)return Z.rekey(qb(j,M))}};return ye(),xt}var DW=10*6e4;function LW(e){switch(e){case"collabAgentToolCall":case"commandExecution":case"dynamicToolCall":case"mcpToolCall":case"terminalInput":return!0;default:return!1}}function $s(e){let t=nr(e);return t!==void 0?k(fr(se(t)),"unknown error"):"unknown error"}function a$(e){let t=JP(),r=e.threadKey,n=e.instanceId,i=e.sourceSeqForTurn,o=e.autoRetryAttemptsForSeq,s=e.midStreamResumeAttemptAtMsForSeq,a=e.ladderHistoryForSeq,l=e.linzumiAgentSession,d={threadKey:r,instanceId:n,sourceSeqForTurn:i,autoRetryAttemptsForSeq:o,midStreamResumeAttemptAtMsForSeq:s,ladderHistoryForSeq:a,linzumiAgentSession:l},u=[],c=k(e.now,()=>Date.now()),f=new Map,p=new Map,m=new Map,h=new Map,_=new Set,g=k(e.bufferedTurnMaxAgeMs,DW),b=k(e.bufferedTurnMaxEvents,1e4),y=k(e.bufferedTurnSweepIntervalMs,3e4),v={contents:!1},S={contents:!0},A={contents:void 0},C=(I,F)=>{try{return e.log(I,Object.fromEntries(F))}catch{return}},V=I=>t.turns.has(I)?!0:t.bufferedTurns.has(I),re=()=>{t.turns.keys().toArray().forEach(I=>{if(!f.has(I)){f.set(I,c());return}}),f.keys().toArray().forEach(I=>{if(!t.turns.has(I)){f.delete(I);return}}),t.bufferedTurns.keys().toArray().forEach(I=>{if(!p.has(I)){p.set(I,c());return}}),p.keys().toArray().forEach(I=>{if(!t.bufferedTurns.has(I)){p.delete(I),_.delete(I);return}}),m.keys().toArray().forEach(I=>{if(!V(I)){m.delete(I);return}}),h.keys().toArray().forEach(I=>{if(!V(I)){h.delete(I);return}})},fe=(I,F)=>{if(V(I)){m.set(I,{atMs:c(),activityKind:F});return}},J=I=>{switch(I.TAG){case"HarnessNotification":let F=I._0,B=F.method;if(B===Kd||B===Qa)return;let X=Wd(k(F.params,{})),Se=X!==void 0?X:pm(t);return Se!==void 0?fe(Se,B):void 0;case"CompletionSnapshot":case"Lifecycle":return}},K=I=>{switch(I.TAG){case"HarnessNotification":let F=I._0,B=F.method;if(B!=="item/started"&&B!=="item/completed"&&B!=="response_item")return;let X=k(F.params,{}),Se=Wd(X),Ee=Se!==void 0?Se:pm(t);if(Ee===void 0||!V(Ee))return;let Ze=am(X);if(Ze===void 0||Ze==="")return;if(B==="item/started"){let Pe=x(Ae(X,"item"),Xe=>O(Xe,"type"));if(Pe===void 0||!LW(Pe))return;let dt=h.get(Ee),Ge;if(dt!==void 0)Ge=dt;else{let Xe=new Map;h.set(Ee,Xe),Ge=Xe}Ge.set(Ze,{kind:Pe,startedAtMs:c()});return}let ot=h.get(Ee);if(ot!==void 0){ot.delete(Ze);return}else return;case"CompletionSnapshot":case"Lifecycle":return}},ae=()=>{if(!S.contents||t.phase!=="running")return!1;let I=c(),F={contents:!1};return t.bufferedTurns.entries().toArray().forEach(B=>{let X=B[0];if(_.has(X))return;let Se=B[1],Ee=I-k(p.get(X),I),Ze=Ee>g,ot=Se.length>b;if(Ze||ot){_.add(X),C("pipeline.loop.buffered_turn_overdue",[["level","warn"],["thread_key",e.threadKey],["turn_id",X],["buffered_event_count",Se.length],["age_ms",Ee],["max_age_ms",g],["max_events",b]]),u.push({TAG:"HarnessNotification",_0:{method:Qa,params:Object.fromEntries([["turnId",X],["reason",ot?"turn source mapping never arrived ("+Se.length.toString()+" buffered events exceeded the "+b.toString()+" cap)":"turn source mapping never arrived within "+g.toString()+"ms"]])}}),F.contents=!0;return}}),F.contents},z=()=>{if(v.contents)return;v.contents=!0;let I=!0;for(;I;){let F=u.shift();if(F!==void 0){let B;try{B=i$(t,F,d)}catch(X){let Se=Q(X);C("pipeline.loop.event_processing_failed",[["thread_key",e.threadKey],["source",Va(F)],["message",$s(Se)]]),B=void 0}B!==void 0&&(re(),J(F),K(F),B.forEach(X=>{try{switch(X.TAG){case"Enqueue":return e.outboxEnqueue({kind:X.kind,data:X.data,coalesceKey:X.coalesceKey,resolution:X.resolution});case"RequestSnapshot":return e.requestSnapshot(X.turnId);case"TurnTerminal":return e.onTurnTerminal(X.turnId,X.outcome,X.reason,X.retryableEmptyTurn,X.autoResumeMidStreamStall,X.fate);case"Log":try{return e.log(X.event,X.fields)}catch{return}}}catch(Se){let Ee=Q(Se),Ze;switch(X.TAG){case"Enqueue":Ze="enqueue";break;case"RequestSnapshot":Ze="requestSnapshot";break;case"TurnTerminal":Ze="turnTerminal";break;case"Log":Ze="log";break}return C("pipeline.loop.effect_failed",[["thread_key",e.threadKey],["effect",Ze],["message",$s(Ee)]])}}),ae())}else I=!1}v.contents=!1},L;if(y>0){let I=setInterval(()=>{if(ae())return z()},y);I.unref(),L=mt(I)}else L=void 0;let $=I=>{let F=h.get(I);return F!==void 0?F.values().toArray().map(B=>({kind:B.kind,startedAtMs:B.startedAtMs})):[]};return{submit:I=>{try{return S.contents?(u.push(I),z()):C("pipeline.loop.event_after_drain",[["thread_key",e.threadKey],["source",Va(I)]])}catch(F){let B=Q(F);return C("pipeline.loop.submit_failed",[["thread_key",e.threadKey],["message",$s(B)]])}},metrics:()=>({queueDepth:u.length,phase:t.phase,activeTurns:t.turns.values().toArray().map(I=>({turnId:I.turnId,sourceSeq:I.sourceSeq,startedAtMs:k(f.get(I.turnId),c()),lastActivityAtMs:W(m.get(I.turnId),F=>F.atMs),lastActivityKind:W(m.get(I.turnId),F=>F.activityKind),openItems:$(I.turnId)})),bufferedTurns:t.bufferedTurns.entries().toArray().map(I=>{let F=I[0];return{turnId:F,bufferedEventCount:I[1].length,firstBufferedAtMs:k(p.get(F),c()),lastActivityAtMs:W(m.get(F),B=>B.atMs),lastActivityKind:W(m.get(F),B=>B.activityKind),openItems:$(F)}})}),noteTurnActivity:(I,F)=>{try{return fe(I,F)}catch(B){let X=Q(B);return C("pipeline.loop.note_activity_failed",[["thread_key",e.threadKey],["message",$s(X)]])}},drainAndClose:I=>{let F=A.contents;if(F!==void 0)return F;let B=(async()=>{S.contents=!1,L!==void 0&&clearInterval(se(L)),await Promise.resolve(),z();let X;try{X=await e.outboxFlush(I)}catch(Se){let Ee=Q(Se);return C("pipeline.loop.drain_flush_failed",[["thread_key",e.threadKey],["message",$s(Ee)]])}if(X.TAG!=="Ok")return C("pipeline.loop.drain_flush_failed",[["thread_key",e.threadKey],["message",X._0]])})();return A.contents=B,B}}}var UW=10*6e4,ZW={emittedTotalEnqueued:0,emittedTotalAcked:0,emittedTotalRetried:0,emittedTotalDroppedBestEffort:0,emittedTotalPermanentFailures:0,emittedTotalExpiredOnRecovery:0,emittedTotalJournalWriteFailures:0,emittedJournalDegraded:!1};function VW(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 WW(e){return We(e,void 0,(t,r)=>t!==void 0&&t<=r.startedAtMs?t:r.startedAtMs)}function HW(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 KW(e){return We(e,void 0,(t,r)=>t!==void 0&&t.startedAtMs<=r.startedAtMs?t:r)}function lv(e){return e}function dv(e){return new Set(e).values().toArray().toSorted(rl)}function d$(e){let t=k(e.now,()=>Date.now()),r=k(e.intervalMs,3e4),n=k(e.turnStalledThresholdMs,UW),i={contents:ZW},o=new Set,s=new Set,a={contents:!1},l=(c,f,p,m)=>{let h=new Set(c.map(_=>_.candidateTurnId));o.values().toArray().forEach(_=>{if(!h.has(_)){o.delete(_);return}}),s.values().toArray().forEach(_=>{if(!h.has(_)){s.delete(_);return}}),c.forEach(_=>{let g=Math.max(0,m-_.sinceMs),b=Math.max(_.sinceMs,k(_.candidateLastActivityAtMs,_.sinceMs)),y=Math.max(0,m-b),v=dv(p.filter(V=>V.waitTurnId===_.candidateTurnId).map(V=>V.waitKind));if(v.length===0){s.delete(_.candidateTurnId);let V=_.candidateOpenItems.length!==0?n*2:n;if(!(y>=V&&!o.has(_.candidateTurnId)))return;let re=WW(_.candidateOpenItems);o.add(_.candidateTurnId);let fe=_.candidateSourceSeq,J=_.candidateLastActivityKind,K=_.candidateLastActivityAtMs,ae=f.oldestEntryAgeMs;return e.log("pipeline.turn_stalled",Object.fromEntries([["level","warn"],["thread_key",e.threadKey],["turn_id",_.candidateTurnId],["source_seq",fe!==void 0?fe:null],["buffered",_.buffered],["turn_age_ms",g],["quiet_ms",y],["last_activity_kind",J!==void 0?J:null],["last_activity_age_ms",K!==void 0?Math.max(0,m-K):null],["threshold_ms",n],["effective_threshold_ms",V],["open_item_count",_.candidateOpenItems.length],["open_item_kinds",dv(_.candidateOpenItems.map(z=>z.kind)).map(lv)],["open_item_oldest_age_ms",re!==void 0?Math.max(0,m-re):null],["outbox_depth",f.depth],["oldest_entry_age_ms",ae!==void 0?ae:null],["paused",f.paused]]))}if(!(y>=n&&!s.has(_.candidateTurnId)))return;s.add(_.candidateTurnId);let S=_.candidateSourceSeq,A=_.candidateLastActivityKind,C=_.candidateLastActivityAtMs;e.log("pipeline.turn_waiting_on_user",Object.fromEntries([["thread_key",e.threadKey],["turn_id",_.candidateTurnId],["source_seq",S!==void 0?S:null],["buffered",_.buffered],["turn_age_ms",g],["quiet_ms",y],["last_activity_kind",A!==void 0?A:null],["last_activity_age_ms",C!==void 0?Math.max(0,m-C):null],["threshold_ms",n],["wait_kinds",v.map(lv)],["open_item_count",_.candidateOpenItems.length],["open_item_kinds",dv(_.candidateOpenItems.map(V=>V.kind)).map(lv)]]))})},d=()=>{if(a.contents)return;let c;try{let v=e.turnWaitStates;c=[e.outboxMetrics(),e.loopMetrics(),v!==void 0?v():[]]}catch(v){let S=Q(v);e.log("pipeline.stats_sample_failed",Object.fromEntries([["thread_key",e.threadKey],["message",$s(S)]])),c=void 0}if(c===void 0)return;let f=c[1],p=c[0],m=t();if(l(VW(f),p,c[2],m),!HW(p,f,i.contents))return;let h=KW(f.activeTurns),_=p.oldestEntryAgeMs,g=p.pushLatency,b=p.pushLatency,y=p.pushLatency;e.log("pipeline.stats",Object.fromEntries([["thread_key",e.threadKey],["outbox_depth",p.depth],["oldest_entry_age_ms",_!==void 0?_:null],["total_enqueued",p.totalEnqueued],["total_acked",p.totalAcked],["total_retried",p.totalRetried],["total_dropped_best_effort",p.totalDroppedBestEffort],["total_permanent_failures",p.totalPermanentFailures],["total_expired_on_recovery",p.totalExpiredOnRecovery],["total_journal_write_failures",p.totalJournalWriteFailures],["journal_degraded",p.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",k(W(p.pushLatency,v=>v.ackedInWindow),0)],["paused",p.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",h!==void 0?h.turnId:null],["active_turn_source_seq",h!==void 0?h.sourceSeq:null],["active_turn_age_ms",h!==void 0?Math.max(0,m-h.startedAtMs):null]])),i.contents={emittedTotalEnqueued:p.totalEnqueued,emittedTotalAcked:p.totalAcked,emittedTotalRetried:p.totalRetried,emittedTotalDroppedBestEffort:p.totalDroppedBestEffort,emittedTotalPermanentFailures:p.totalPermanentFailures,emittedTotalExpiredOnRecovery:p.totalExpiredOnRecovery,emittedTotalJournalWriteFailures:p.totalJournalWriteFailures,emittedJournalDegraded:p.journalDegraded}},u;if(r>0){let c=setInterval(d,r);c.unref(),u=mt(c)}else u=void 0;return{sample:d,stop:()=>{if(a.contents=!0,u!==void 0){clearInterval(se(u));return}}}}var JW=[1e3,5e3];function Mn(e,t){return x(e[t],hr)}function Qd(e,t){return x(e[t],Lo)}function Xa(e,t){return x(e[t],De)}function uv(e,t){Object.entries(t).forEach(r=>{e[r[0]]=r[1]})}function Jd(e){let t={};return uv(t,e),t}function QW(e){let t=e.body;return typeof t=="string"?t:""}function XW(e){return k(Xa(e,"structured"),{})}function YW(e){return e===Gd||e===qd||e===Cs?!0:e===Dd}function e3(e,t){let r=Mn(t,"turn_id");r!==void 0&&(e.turn_id=r);let n=Mn(t,"item_key");n!==void 0&&(e.item_key=n);let i=Qd(t,"delta_index");i!==void 0&&(e.delta_index=i);let o=Qd(t,"stream_snapshot_index");if(o!==void 0){e.stream_snapshot_index=o;return}}function f$(e,t,r){let n=t.traceparentForThread(r);if(n!==void 0){e.traceparent=n;return}}function t3(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 s=Mn(t,"client_message_id");if(s===void 0)return{TAG:"BuildSkip",_0:"missing_client_message_id"};let a=Mn(t,"turn_id"),l=Qd(t,"source_seq"),d={};a!==void 0&&(d.turn_id=a),d.stream_key=s;let u=Jd(d),c=Xa(t,"local_runner_runtime_metadata");c!==void 0&&uv(u,c);let f=Jd(e.rowEnvelope("codex_output",o,l,u)),p=n.rootSeq;p!==void 0&&(f.reply_to_seq=p),l!==void 0&&(f.source_message_seq=l),uv(f,d);let m=Jd(XW(t));m.stream_key=s,f.structured=m;let h={};h.workspace=n.workspaceSlug,h.channel=n.channelSlug,h.thread_id=i,h.stream_key=s;let _=n.leaseEpoch;return _!==void 0&&(h.lease_epoch=_),h.body=QW(t),h.payload=f,h.client_message_id=s,e3(h,t),f$(h,e,i),{TAG:"BuildPush",event:"session:stream_thread_message",payload:h,timeoutMs:void 0}},onReply:void 0,coalesce:void 0}}function r3(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=Qd(t,"seq"),s=Mn(t,"status");if(o===void 0)return{TAG:"BuildSkip",_0:"malformed_message_state_entry"};if(s===void 0)return{TAG:"BuildSkip",_0:"malformed_message_state_entry"};let a=de(t.suppress_terminal_for_recovered_turn,!0),l=Mn(t,"turn_id"),d=e.isRecoveredTurn,u=l!==void 0&&d!==void 0?d(l)===!0:!1;if(a||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),c.seq=o,c.status=s;let p=Mn(t,"reason");p!==void 0&&(c.reason=p);let m=t.retryable;typeof m=="boolean"&&m&&(c.retryable=!0);let h=t.fate;typeof h=="string"&&Or(Jf(h))&&(c.fate=h);let _=Xa(t,"ladder");_!==void 0&&(c.ladder=_),t.failure_class==="edge_blocked"&&(c.failure_class="edge_blocked");let b=Mn(t,"upstream_error");b!==void 0&&(c.upstream_error=b);let y=Mn(t,"turn_id");y!==void 0&&(c.turn_id=y);let v=n.leaseEpoch;return v!==void 0&&(c.lease_epoch=v),f$(c,e,i),{TAG:"BuildPush",event:"message_state",payload:c,timeoutMs:void 0}},onReply:void 0,coalesce:void 0}}function n3(e){let t=t3(e);return Object.fromEntries([[Gd,t],[qd,t],[Cs,t],[Dd,t],[Wa,r3(e)]])}function m$(e,t){if(e.error!==void 0)return[];let n=x(Xa(e,"result"),s=>Xa(s,"thread")),i=k(x(x(n,s=>s.turns),to),[]),o=Ne(i,De).find(s=>{let a=s.id;return typeof a=="string"?a===t:!1});return Ne(k(x(x(o,s=>s.items),to),[]),De)}var m7=new RegExp("^item-\\d+$");var p$=NE;function i3(e){return new Promise((t,r)=>{setTimeout(()=>t(),e|0)})}function u$(e){let t=nr(e);return t!==void 0?k(fr(se(t)),"unknown error"):"unknown error"}function c$(e){return e!==void 0?e:null}function h$(e){let t=n3({instanceId:e.instanceId,wire:e.wire,rowEnvelope:e.rowEnvelope,isRecoveredTurn:e.isRecoveredTurn,traceparentForThread:e.traceparentForThread}),r=s$({threadKey:e.threadKey,push:e.push,builders:t,persistDir:e.persistDir,retryDelaysMs:W(e.outboxRetryDelaysMs,f=>f.slice()),onPermanentFailure:(f,p)=>e.log("pipeline.outbox_entry_failed",Object.fromEntries([["thread_key",e.threadKey],["entry_seq",f.entrySeq],["kind",f.kind],["attempts",f.attempts],["item_key",c$(Mn(f.data,"item_key"))],["turn_id",c$(Mn(f.data,"turn_id"))],["message",p]])),log:e.log,now:void 0,maxInFlightPushes:k(e.outboxMaxInFlightPushes,16),journalCompactionThreshold:void 0,journalRecoveryMaxAgeMs:e.journalRecoveryMaxAgeMs}),n=f=>{let p=!1;if(f.kind===Wa){let b=Mn(f.data,"turn_id"),y=e.isRecoveredTurn;p=b!==void 0&&y!==void 0?y(b)===!0:!1}if(p){let b=Jd(f.data);return b.suppress_terminal_for_recovered_turn=!0,{kind:f.kind,data:b,coalesceKey:f.coalesceKey,resolution:f.resolution}}if(!YW(f.kind))return f;let m=Qd(f.data,"source_seq"),h=Xa(f.data,"local_runner_runtime_metadata"),_=h!==void 0?h:x(e.runtimeMetadataForSourceSeq,b=>b(m));if(_===void 0)return f;let g=Jd(f.data);return g.local_runner_runtime_metadata=_,{kind:f.kind,data:g,coalesceKey:f.coalesceKey,resolution:f.resolution}},i=f=>{let p=r.enqueue(n(f));if(p.TAG!=="Ok")try{return e.log("pipeline.loop.effect_failed",Object.fromEntries([["thread_key",e.threadKey],["effect","enqueue"],["message",p._0]]))}catch{return}},o={contents:void 0},s=f=>{let p=o.contents;if(p!==void 0)return p.submit(f)},a=k(e.sleep,i3),l=async f=>{let p=k(e.snapshotRetryDelaysMs,JW),m=0,h=!1;for(;!h;){let _;try{_=await e.resolveSnapshot(f)}catch(g){let b=Q(g);_={TAG:"Error",_0:u$(b)}}if(_.TAG==="Ok")s({TAG:"CompletionSnapshot",turnId:f,snapshot:Object.fromEntries([["items",_._0.slice()]])}),h=!0;else{let g=_._0,b=p[m];e.log("pipeline.snapshot_resolution_failed",Object.fromEntries([["thread_key",e.threadKey],["turn_id",f],["attempt",m+1|0],["retry_in_ms",b!==void 0?b:null],["message",g]])),b!==void 0?(await a(b),m=m+1|0):(s({TAG:"HarnessNotification",_0:{method:"turn/failed",params:Object.fromEntries([["turnId",f],["reason","completion snapshot resolution failed: "+g]])}}),h=!0)}}},d=a$({threadKey:e.threadKey,instanceId:e.instanceId,outboxEnqueue:i,outboxFlush:f=>r.flush(f),sourceSeqForTurn:e.sourceSeqForTurn,autoRetryAttemptsForSeq:e.autoRetryAttemptsForSeq,midStreamResumeAttemptAtMsForSeq:e.midStreamResumeAttemptAtMsForSeq,ladderHistoryForSeq:e.ladderHistoryForSeq,onTurnTerminal:e.onTurnTerminal,requestSnapshot:f=>{yn(l(f),p=>(e.log("pipeline.snapshot_request_failed",Object.fromEntries([["thread_key",e.threadKey],["turn_id",f],["message",u$(p)]])),Promise.resolve()))},log:e.log,linzumiAgentSession:e.linzumiAgentSession===!0,now:void 0,bufferedTurnMaxAgeMs:void 0,bufferedTurnMaxEvents:void 0,bufferedTurnSweepIntervalMs:void 0});o.contents=d;let u=d$({threadKey:e.threadKey,outboxMetrics:()=>r.metrics(),loopMetrics:()=>d.metrics(),log:e.log,intervalMs:e.statsIntervalMs,turnStalledThresholdMs:e.turnStalledThresholdMs,turnWaitStates:e.turnWaitStates,now:void 0}),c={contents:void 0};return{submitNotification:(f,p)=>d.submit({TAG:"HarnessNotification",_0:{method:f,params:p}}),notifyTurnMappingReady:f=>d.submit({TAG:"HarnessNotification",_0:{method:Kd,params:Object.fromEntries([["turnId",f]])}}),notifyTurnMappingFailed:(f,p)=>d.submit({TAG:"HarnessNotification",_0:{method:Qa,params:Object.fromEntries([["turnId",f],["reason",p]])}}),noteTurnActivity:(f,p)=>d.noteTurnActivity(f,p),submitLifecycle:(f,p)=>d.submit({TAG:"Lifecycle",kind:f,reason:p}),pause:()=>r.pause(),resume:()=>r.resume(),rebindThreadKey:f=>r.rekeyJournal(f),flushOutbox:f=>r.flush(f),metrics:()=>r.metrics(),close:f=>{let p=c.contents;if(p!==void 0)return p;let m=(async()=>(u.stop(),d.submit({TAG:"Lifecycle",kind:"shutdown",reason:"session closed"}),await d.drainAndClose(f),await r.close(f)))();return c.contents=m,m}}}function _m(e){return e.split("_").map((t,r)=>r!==0?t.slice(0,1).toUpperCase()+t.slice(1,t.length):t).join("")}function Yd(e){return k(W(Vf.find(t=>t[0]===e),t=>t[1]),e)}var Ni=Yd("harness_session_id"),eu=_m(Ni);function gi(e,t){let r=e[t];if(typeof r=="string")return r}function cv(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 s3(e,t){let r=x(t.error,De),n=x(t.item,De),i=d=>We(d,void 0,(u,c)=>u!==void 0?u:c),o=i([cv(t,"code"),x(r,d=>cv(d,"code")),cv(t,"status")]),s=i([gi(t,"message"),gi(t,"detail"),gi(t,"reason"),x(r,d=>gi(d,"message")),x(r,d=>gi(d,"detail")),x(r,d=>gi(d,"reason"))]),a=o!==void 0?e+" "+o:e,l=s!==void 0?s:W(x(n,d=>gi(d,"type")),d=>"item.type="+d);return W(l,d=>a+": "+d)}function a3(e,t){switch(e){case"error":case"warning":break;default:return t}let r=s3(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(rl).map(i=>i),n}var l3=["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."];function _$(e){let t=JE(e);return t.trimStart().startsWith("!")?t:[t,""].concat(l3).join(`
367
+ `)}var d3={sandboxedNeverDefault:!1};function g$(e){let t=KE(e.approvalPolicy,e.sandbox,d3);return t.TAG==="Ok"?t._0:"on-request"}function y$(e){let t={};t.approvalPolicy=g$(e);let r=e.sandbox;return r!==void 0&&(t.sandbox=r),t}function u3(e,t,r,n){let i={};i.threadId=e,i.input=[Object.fromEntries([["type","text"],["text",t]])],i.cwd=r,i.approvalPolicy=g$(n);let o=n.sandbox;if(o!==void 0){let s=BE(o,r);s.TAG==="Ok"&&(i.sandboxPolicy=s._0)}return i}async function Xd(e,t,r,n){let i=e.deps,o={};o.workspace=i.workspaceSlug,o.channel=i.channelSlug,o.thread_id=i.threadId,o.instance_id=i.instanceId,o[Ni]=i.harnessSessionId,o.seq=t,o.status=r,n!==void 0&&(o.reason=n);let s=i.actorSlug;s!==void 0&&(o.actor_slug=s);let a=i.actorUserId;a!==void 0&&(o.actor_user_id=a);let l=await i.transport.push(i.commanderTopic,"message_state",o,void 0);if(l.TAG!=="Ok")return i.log("kandan.message_state_push_failed",Object.fromEntries([["seq",t],["status",r],["message",_i(l._0)]]))}async function Po(e,t,r){return e.processingReason=r,await Xd(e,t,"processing",r)}function c3(e,t,r){switch(t){case"item/completed":let n=x(r.item,De);if(n===void 0||!Or(gi(n,"id")))return;let i=e.activityJournalTurns[e.activityJournalTurns.length-1|0];if(i===void 0)return;let o=r.completedAtMs,s=typeof o=="number"?o:void 0;for(i.items.push({item:n,completedAtMs:s}),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 a=x(x(r.turn,De),l=>gi(l,"id"));if(a!==void 0){e.activityJournalTurns.push({turnId:a,items:[]});return}else return;default:return}}function f3(e){if(e.TAG==="ResultReply")return x(x(x(De(e._0),t=>t.turn),De),t=>gi(t,"id"))}async function b$(e,t){let r=e.deps;r.log("codex.turn_starting",Object.fromEntries([["queued_seq",t.seq],["thread_id",r.threadId],[Ni,r.harnessSessionId]])),await Po(e,t.seq,"starting turn"),await Po(e,t.seq,"starting turn"),e.dispatchingTurnStart=!0,e.pendingStartingPaints=[];let n,i=0,o;try{o=await r.harness.request("turn/start",u3(r.harnessSessionId,_$(t),r.cwd,r.defaults)),i=1}catch(s){let a=Q(s);e.pendingStartingPaints=[],n={TAG:"Error",_0:"turn/start failed: "+Ye(a).message}}if(i===1)if(o.TAG==="Ok"){let s=o._0;if(s.TAG==="ResultReply"){let a=f3(s);if(a!==void 0){e.turnSeqs.set(a,t.seq),e.active={turnId:a,sourceSeq:t.seq};let l=e.pendingStartingPaints;e.pendingStartingPaints=[],l.forEach(u=>{if(u.paintTurnId===a&&Zi(e.processingReason,u.reason)){Po(e,t.seq,u.reason);return}}),r.log("codex.turn_started",Object.fromEntries([["turn_id",a]]));let d=e.pipeline;d!==void 0&&d.notifyTurnMappingReady(a),n={TAG:"Ok",_0:void 0}}else n={TAG:"Error",_0:"turn/start reply carried no turn id"}}else n={TAG:"Error",_0:"turn/start failed: "+s.message}}else n={TAG:"Error",_0:"turn/start failed: "+o._0};return e.dispatchingTurnStart=!1,n}function m3(e,t){let r=e.deps,n=e.retryCandidates.get(t);if(n===void 0)return;let i=k(e.autoRetryAttempts.get(t),0)+1|0;e.autoRetryAttempts.set(t,i),r.log("codex.empty_turn_auto_retry",Object.fromEntries([["queued_seq",t],["attempt",i],["max_attempts",sv]])),r.timers.setTimer(()=>{(async()=>{await Po(e,t,"retrying empty turn");let o=await b$(e,n);if(o.TAG!=="Ok")return r.log("codex.empty_turn_auto_retry_failed",Object.fromEntries([["queued_seq",t],["message",o._0]]))})()},1500)}function p3(e,t,r,n,i,o){let s=e.deps,a=e.turnSeqs.get(t),l=e.active;switch(l!==void 0&&l.turnId===t&&(e.active=void 0),e.processingReason=void 0,r){case"completed":if(a!==void 0){s.commitAppliedSourceSeq(a),e.autoRetryAttempts.delete(a),e.retryCandidates.delete(a),e.fateLadderRuns.delete(a);return}else return;case"failed":if(a===void 0||o===void 0)return;let u=k(e.autoRetryAttempts.get(a),0)<sv,c=i&&u,f=u&&!s.harness.isClosed(),p={inPlaceResume:c,redispatch:f,workerRebuild:!1},m=VE({fate:o,run:e.fateLadderRuns.get(a),nowMs:Date.now(),budgets:zd(s.env),breaker:(C,V)=>"Proceed",grants:p,rateLimitResetAtMs:void 0});if(m.TAG==="Stand")return;let h;switch(m.TAG){case"Stand":h=["stand",void 0];break;case"ExecuteRung":h=["execute_rung",m.rung];break;case"HoldUntilReset":h=["hold_until_reset",void 0];break;case"BreakerHold":h=["breaker_hold",void 0];break;case"Red":h=["red",void 0];break}let _=h[1],g;if(g=m.TAG==="Stand"?void 0:m.run,g!==void 0){e.fateLadderRuns.set(a,g);let C={};C.turn_id=t,C.queued_seq=a,C.fate=o,C.decision=h[0],_!==void 0&&(C.rung=_),C.recovery_rungs_attempted=g.recoveryRungsAttempted,s.log("codex.fate_ladder_step",C)}if(m.TAG==="ExecuteRung")switch(m.rung){case"in_place_resume":m3(e,a);break;case"redispatch":case"worker_rebuild":break}let b=s.switchProbe;if(m.TAG!=="Red"||b===void 0)return;let y=ZE(o,m.cause,{sourceHarness:"codex",targetHarness:b.targetHarness,model:b.model,backendDead:s.harness.isClosed(),exportable:e.activityJournalItemCount>0,targetAdapterAvailable:b.targetAdapterAvailable()});if(y===void 0)return;e.failoverOffers.set(a,y),s.log("codex.fate_ladder_failover_offer",Object.fromEntries([["queued_seq",a],["offer",$b(y)]]));let v={};v.workspace=s.workspaceSlug,v.channel=s.channelSlug,v.thread_id=s.threadId,v.instance_id=s.instanceId,v[Ni]=s.harnessSessionId,v.seq=a,v.status="failed",n!==void 0&&(v.reason=n),v.fate=o,v.ladder=Qf(e.fateLadderRuns.get(a),o,zd(s.env),mt(y));let S=s.actorSlug;S!==void 0&&(v.actor_slug=S);let A=s.actorUserId;A!==void 0&&(v.actor_user_id=A),s.transport.push(s.commanderTopic,"message_state",v,void 0).then(C=>{});return;case"interrupted":return}}async function v$(e){let t="chat:"+e.workspaceSlug+":"+e.channelSlug,r=await e.transport.join(t,eC(e.commanderId,e.threadId,0),{rejoinPayload:void 0,registrationId:void 0});if(r.TAG!=="Ok")return{TAG:"Error",_0:"chat join failed: "+_i(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);let i={};i.workspace=e.workspaceSlug,i.channel=e.channelSlug,i.thread_id=e.threadId,i[Ni]=e.harnessSessionId;let o=await e.transport.push(e.commanderTopic,"session:bind",i,void 0);o.TAG!=="Ok"&&e.log("kandan.session_bind_push_failed",Object.fromEntries([["thread_id",e.threadId],["message",_i(o._0)]]));let s={deps:e,turnSeqs:new Map,pipeline:void 0,active:void 0,processingReason:void 0,dispatchingTurnStart:!1,pendingStartingPaints:[],autoRetryAttempts:new Map,retryCandidates:new Map,fateLadderRuns:new Map,activityJournalTurns:[],activityJournalItemCount:0,failoverOffers:new Map,switchedTargetSession:void 0},a=e.workspaceSlug+":"+e.channelSlug+":"+e.threadId,l=h$({instanceId:e.instanceId,threadKey:a,persistDir:void 0,push:async(f,p,m,h)=>{let _=await e.transport.push(e.commanderTopic,f,p,h);if(_.TAG==="Ok")return{TAG:"Acked",_0:_._0};let g=_._0;return{TAG:"PushFailed",message:_i(g),budgetExempt:p$(g)}},wire:()=>({workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,threadId:e.threadId,harnessSessionId:e.harnessSessionId,rootSeq:e.rootSeq,leaseEpoch:e.leaseEpochFor(e.threadId)}),rowEnvelope:(f,p,m,h)=>{let _={};return _.event_type=f,_[Ni]=p,m!==void 0&&(_.source_message_seq=m),h!==void 0&&(_.metadata=h),_},runtimeMetadataForSourceSeq:void 0,sourceSeqForTurn:f=>s.turnSeqs.get(f),autoRetryAttemptsForSeq:f=>k(s.autoRetryAttempts.get(f),0),midStreamResumeAttemptAtMsForSeq:void 0,ladderHistoryForSeq:(f,p)=>De(Qf(s.fateLadderRuns.get(f),p,zd(e.env),mt(s.failoverOffers.get(f)))),isRecoveredTurn:void 0,resolveSnapshot:async f=>{let p=await e.harness.request("thread/read",Object.fromEntries([["threadId",e.harnessSessionId],["includeTurns",!0]]));if(p.TAG!=="Ok")return{TAG:"Error",_0:p._0};let m=p._0;if(m.TAG!=="ResultReply")return{TAG:"Error",_0:m.message};let h={};return h.result=m._0,{TAG:"Ok",_0:m$(h,f).map(_=>_)}},onTurnTerminal:(f,p,m,h,_,g)=>p3(s,f,p,m,h,g),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:f=>{},sleep:void 0});return s.pipeline=l,{TAG:"Ok",_0:{routeNotification:(f,p)=>{c3(s,f,p);let m=s.active;if(m!==void 0){let h=x(p.turnId,hr);if(h!==void 0?h===m.turnId:!0){let g=Mb(f,p);if(g!==void 0){let b=g;Zi(s.processingReason,b)&&Po(s,m.sourceSeq,b)}}}else{let h=s.dispatchingTurnStart,_=x(p.turnId,hr),g=Mb(f,p);if(h&&_!==void 0&&g!==void 0){let b=g,y=s.pendingStartingPaints.at(-1);y!==void 0&&y.paintTurnId===_&&y.reason===b||s.pendingStartingPaints.push({paintTurnId:_,reason:b})}}l.submitNotification(f,a3(f,p))},runClaimedTurn:async(f,p)=>{let m=e.actorSlug,h=e.actorUserId,_=[],g=Date.now(),b={seq:f,actorSlug:m,actorUserId:h,body:p,attachments:_,receivedAtMs:g,fusedSeqs:void 0,parkReason:void 0};return s.retryCandidates.set(f,b),e.log("kandan.message_queued",Object.fromEntries([["seq",f],["thread_id",e.threadId],[Ni,e.harnessSessionId]])),await Xd(s,f,"queued",void 0),await b$(s,b)},publishRebuilt:async f=>await Po(s,f,"rebuilt the coding session from durable thread history after an unresumable engine session"),failOnHarnessDeath:f=>{let p=s.active;if(p!==void 0){let m={};m.turnId=p.turnId,m.retryable=!0,m.fate="transient_local",m.error=Object.fromEntries([["message",f]]),l.submitNotification("turn/failed",m)}l.submitLifecycle("codexDied",f)},invokeCrossHarnessSwitch:async(f,p,m,h,_)=>{let g=f!==void 0?s.failoverOffers.has(f)?f:void 0:We(s.failoverOffers.keys().toArray(),void 0,(je,R)=>R),b=x(g,je=>W(s.failoverOffers.get(je),R=>[je,R]));if(b===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 y=b[1],v=b[0],S=s.fateLadderRuns.get(v),A=S!==void 0?S:Rb("transient_local",Date.now()),C=y.sourceHarness,V=y.targetHarness,fe={sourceHarness:C,targetHarness:V,model:p},J=WE(A,Date.now(),fe);if(J.TAG!=="Ok")return{TAG:"Error",_0:J._0};let K=J._0;s.fateLadderRuns.set(v,K),e.log("codex.user_cross_harness_switch_invoked",Object.fromEntries([["queued_seq",v],["source_harness",C],["target_harness",V],["model",p]])),await Po(s,v,HE);let ae=e.harnessSessionId,z=s.activityJournalTurns,L={harnessSessionId:ae,turns:z},$=e.cwd,I=e.defaults.approvalPolicy,B={cwd:$,model:p,reasoningEffort:void 0,developerInstructions:void 0,approvalPolicy:I,sandboxPolicy:void 0,environment:{}},X=s.retryCandidates.get(v),Ee={text:X!==void 0?_$(X):"Continue where the previous harness session left off.",attachments:[]},Ze={model:p,reasoningEffort:void 0,input:Ee},ot=await sP(L,e.threadId,m,e.cwd,_,Date.now(),h,B,Ze,je=>{switch(e.log("kandan.switch_target_event",Object.fromEntries([["queued_seq",v],["kind",aC(je)]])),je.TAG){case"TurnCompleted":Xd(s,v,"processed",void 0);return;case"TurnFailed":Xd(s,v,"failed",je.failure.reason);return;default:return}}),Pe=zd(e.env),dt=je=>Qf(je,"transient_local",Pe,mt(y));if(ot.TAG==="Ok"){let je=ot._0;s.switchedTargetSession=je.session;let R={...fe},ge=Ib(K,"switch_dispatched",Date.now(),(R.redactedReasoningCount=je.redactedReasoningCount,R.transpiledItemCount=je.transpiledItemCount,R),void 0);s.fateLadderRuns.set(v,ge),e.log("codex.user_cross_harness_switch_dispatched",Object.fromEntries([["queued_seq",v],["source_harness",C],["target_harness",V],["model",p],["target_session_id",je.targetSessionId],["transpiled_item_count",je.transpiledItemCount],["redacted_reasoning_count",je.redactedReasoningCount]])),await Po(s,v,"continuing this job on the "+y.targetHarness+" harness after a user-invoked switch");let ye={};ye.ok=!0,ye.target_session_id=je.targetSessionId,ye.turn_id=je.turnId;let le=je.sessionFile;return le!==void 0&&(ye.session_file=le),ye.transpiled_item_count=je.transpiledItemCount,ye.redacted_reasoning_count=je.redactedReasoningCount,ye.ladder=dt(ge),{TAG:"Ok",_0:ye}}let Ge=ot._0,Xe=nP(Ge),Et=iP(Ge),tr=Ib(K,oP(Ge)?"switch_refused":"switch_failed",Date.now(),fe,Xe+": "+Et);s.fateLadderRuns.set(v,tr),e.log("codex.user_cross_harness_switch_not_dispatched",Object.fromEntries([["queued_seq",v],["refusal",Xe],["reason",Et]])),await Xd(s,v,"failed","cross-harness switch "+Xe+": "+Et);let Tt={};return Tt.ok=!1,Tt.refusal=Xe,Tt.reason=Et,Tt.ladder=dt(tr),{TAG:"Ok",_0:Tt}},close:async()=>{let f=s.switchedTargetSession;f!==void 0&&(s.switchedTargetSession=void 0,await f.stopSession());let p=s.pipeline;if(p!==void 0)return await p.close(5e3)}}}}var fv="rescript";function _3(){return new Promise((e,t)=>{setTimeout(()=>e(),0)})}function Fi(e){return e!==void 0?e:null}function mv(e,t){return x(e[t],De)}function Jr(e,t){let r=e[t];if(typeof r=="string")return r}function Ya(e,t){let r=e[t];if(typeof r=="number")return r}function yi(e,t){let r=W(Jr(e,t),n=>n.trim());if(r!==void 0&&r!=="")return r}function S$(e){let t=Ms(e);return t.TAG==="Ok"?t._0:e}function w$(e,t){let r=W(e,o=>o.trim());if(r===void 0)return{TAG:"RefusedCwd",reason:"missing_cwd"};if(r==="")return{TAG:"RefusedCwd",reason:"missing_cwd"};let n=S$(r),i=t.find(o=>{let s=S$(o);return n===s?!0:n.startsWith(s+gm.sep)});return i!==void 0?{TAG:"AllowedCwd",cwd:n,matchedRoot:i}:{TAG:"RefusedCwd",reason:"cwd_not_allowed"}}function g3(e){return gm.join(e,".linzumi","commanderImplFallback.json")}function x$(e){let t=$o.homedir(),r=uE(vb(t),e),n;return n=r.TAG==="Ok",n&&e==="Ts"&&Yn(g3(t)),n}function y3(e){let t=W(e.LINZUMI_CODEX_START_REQUEST_TIMEOUT_MS,n=>n.trim());if(t===void 0)return 12e4;let r=Ff(t);return r!==void 0&&r>0?r:12e4}async function k$(e,t){let r=process.env,n=XA(e.commanderId),i="codex-"+pv.randomUUID(),o=HA(e.token),s=y3(r),a={contents:!1},l=Df(wC(e.commanderId,r),t,void 0,void 0),d=Df(xC(e.commanderId,r),t,!0,void 0),u=EC(Df(kC(e.commanderId,r),t,void 0,!0)),c=CC(l,d,t,e.commanderId,e.serviceUrl),f={contents:e.allowedCwds},p=[],m={contents:(v,S)=>{p.push([v,S])}},h=await DE(e.serviceUrl,{TAG:"Token",_0:e.token},void 0,{controlCursorStore:FE(l),controlEpochStore:GE(c),onOperatorNotice:v=>{},auditEvent:(v,S)=>t(v,S)});if(h.TAG!=="Ok")return{TAG:"Error",_0:_i(h._0)};let _=h._0;_.onControl((v,S)=>m.contents(v,S));let g=()=>{let v={};return v.codexAppServer=!0,v.commander_pipeline="pipeline",v.startInstance=f.contents.length!==0,v.allowedCwds=f.contents.map(S=>S),v},b=()=>YA({clientId:e.commanderId,machineFingerprint:void 0,machineFingerprintV2:void 0,runnerPid:process.pid,version:$d(),hostname:$o.hostname(),cwd:e.cwd,workspace:e.workspaceSlug,channel:void 0,capabilities:g(),generationOverlapEpoch:void 0}),y=await _.join(n,b(),{rejoinPayload:b,registrationId:void 0});if(y.TAG==="Ok"){let v=k(De(y._0),{}),S=mv(v,"runner_config");if(S!==void 0){let K=S.allowedCwds;Array.isArray(K)&&(f.contents=qu(K),t("runner.config_updated",Object.fromEntries([["source","join"],["configVersion",k(S.configVersion,null)],["allowedCwdCount",f.contents.length]])));let ae=Jr(S,"commander_impl");if(ae!==void 0){let L=ae.trim()==="rescript"?"Rescript":"Ts",$=vb($o.homedir()),I=dE($);if(!de(I,L)){let F=x$(L);t("runner.commander_impl_assigned",Object.fromEntries([["impl",Ga(L)],["previousCache",Fi(W(I,Ga))],["persisted",F],["runningImpl",fv]]))}}}let A=mv(v,"compute_node");if(A!==void 0){let K=Ya(A,"reset_generation");t("runner.compute_node",Object.fromEntries([["id",Fi(Jr(A,"id"))],["name",Fi(Jr(A,"name"))],["identityQuality",Fi(Jr(A,"identity_quality"))],["resetGeneration",K!==void 0?K:null]]))}let C=mv(v,"roster");if(C!==void 0){let K=Ne(k(x(C.threads,to),[]),De),ae=_m(Yd("thread_id"));t("kandan.roster_seeded",Object.fromEntries([["source","join"],["thread_count",K.length],["truncated",k(C.truncated,!1)],["skipped_entries",0],["threads",K.map(z=>{let L={};return L[Yd("thread_id")]=k(z[ae],null),L.provider_session_key=k(z.provider_session_key,null),L.channel_id=k(z.channel_id,null),L.title=k(z.title,null),L.channel_slug=k(z.channel_slug,null),L.cwd=k(z.cwd,null),L})]]))}let V=RC();PC(v.resume_reconcile).forEach(K=>{let ae=K.leaseEpoch;if(ae!==void 0&&V.adopt(K.threadId,ae))return t("runner.resume_reconcile_lease_adopted",Object.fromEntries([[_m(Yd("thread_id")),K.threadId],["leaseEpoch",ae]]))});let fe=globalThis.__linzumiCommanderChooserMarkJoined;if(fe!==void 0){let K;try{K=Qn(fe())}catch{K=void 0}K!==void 0&&t("commander.chooser.fallback_reported",k(De(K),{}))}let J=e.harnessUrl;if(J!==void 0){let K=await bC(J,void 0,void 0,void 0);if(K.TAG==="Ok"){let ae=await vC(K._0,{audit:(z,L)=>t(z,L),onWire:(z,L)=>{},keepaliveIntervalMs:3e4});if(ae.TAG==="Ok"){let z=ae._0,L=new Map,$={contents:0},I={contents:0},F=U=>(I.contents=I.contents+1|0,yn(U.then(()=>{I.contents=I.contents-1|0}),ke=>(I.contents=I.contents-1|0,Promise.resolve()))),B=(U,ke)=>F((async()=>{let be=await _.push(n,U,ke,void 0);if(be.TAG!=="Ok")return t("kandan.event_push_failed",Object.fromEntries([["event",U],["message",_i(be._0)]]))})());z.onNotification(U=>{$.contents=$.contents+1;let ke=k(x(U.params,De),{}),be={};be.instanceId=i,be.seq=$.contents,be.method=U.method,be.params=ke,be.receivedAt=new Date().toISOString(),B("codex_notification",be),t("codex.notification",Object.fromEntries([["method",U.method]])),L.values().toArray().forEach(Me=>Me.routeNotification(U.method,ke))}),z.onRequest(async U=>{if(de(e.approvalPolicy,"never")&&de(e.sandbox,"danger-full-access")&&(U.method==="item/commandExecution/requestApproval"||U.method==="item/fileChange/requestApproval"))return t("codex.server_request_auto_accepted",Object.fromEntries([["method",U.method],["turn_id",Fi(x(x(U.params,De),be=>Jr(be,"turnId")))]])),Object.fromEntries([["decision","accept"]])}),z.onClose(U=>{if(!a.contents){t("codex.app_server_connection_lost",Object.fromEntries([["cause",U]])),L.values().toArray().forEach(ke=>ke.failOnHarnessDeath(U));return}});let X=()=>{let U={};return U.instanceId=i,U.clientId=e.commanderId,U.codexUrl=J,U.cwd=e.cwd,U.hostname=$o.hostname(),U.workspace=e.workspaceSlug,U.channel=null,U},Se=X();Se.codexThreads=[],Se.tuiLaunched=!1,await B("instance_started",Se),t("runner.instance_started",Object.fromEntries([["runnerId",e.commanderId],["hostname",$o.hostname()],["workspace",e.workspaceSlug],["version",$d()],["instanceId",i],["codexUrl",J]])),await B("heartbeat",X());let Ee=setInterval(()=>{B("heartbeat",X())},15e3);Ee.unref(),_.onReconnect(async U=>await B("heartbeat",X()));let Ze={contents:void 0};(async()=>{try{let U=await oC();Ze.contents=lE({sdk:U,audit:(ke,be)=>t(ke,be),env:r});return}catch{return t("kandan.cross_harness_switch_target_unavailable",Object.fromEntries([["target_harness","claude-code"],["reason","claude-agent-sdk module not resolvable"]]))}})();let dt={targetHarness:"claude-code",model:void 0,targetAdapterAvailable:()=>Or(Ze.contents)},Ge=async U=>await B("codex_response",U),Xe=async U=>{let ke={};return ke.instanceId=i,ke.message=U,await B("codex_error",ke)},Et=(U,ke)=>OC(e.workspaceSlug,U,ke),tr=async U=>{let ke=w$(Jr(U,"cwd"),f.contents);if(ke.TAG==="AllowedCwd"){let Me=ke.matchedRoot,wt=ke.cwd,ft=yi(U,eu);if(ft!==void 0){let Ut=yi(U,"threadId"),xt=yi(U,"channel"),M=yi(U,"workspace"),j=yi(U,"workDescription"),Z=Ya(U,"sourceSeq"),Oe=Z!==void 0?Z:Ya(U,"rootSeq"),qe=L.get(ft),Ie;if(qe!==void 0)Ie={TAG:"Ok",_0:qe};else if(M!==void 0&&xt!==void 0&&Ut!==void 0){let tt=await v$({transport:_,commanderTopic:n,commanderId:e.commanderId,instanceId:i,harness:z,log:t,timers:Ab,env:r,workspaceSlug:M,channelSlug:xt,threadId:Ut,harnessSessionId:ft,cwd:wt,rootSeq:Ya(U,"rootSeq"),defaults:{approvalPolicy:e.approvalPolicy,sandbox:e.sandbox},actorSlug:o.actorUsername,actorUserId:o.actorUserId,leaseEpochFor:Ve=>V.current(Ve),commitAppliedSourceSeq:Ve=>{ob(u,Et(xt,Ut),Ve,void 0),t("runner.live_worker_source_seq_committed",Object.fromEntries([["thread_id",Ut],["channel",xt],["sourceSeq",Ve]]))},switchProbe:dt});if(tt.TAG==="Ok"){let Ve=tt._0;L.set(ft,Ve),Ie={TAG:"Ok",_0:Ve}}else Ie={TAG:"Error",_0:tt._0}}else Ie={TAG:"Error",_0:"cannot reconnect a Kandan thread without a session"};if(Ie.TAG!=="Ok")return{TAG:"Error",_0:Ie._0};let Be=Ie._0;if(j!==void 0){if(Oe===void 0)return{TAG:"Error",_0:"cannot reconnect a Kandan thread without a session"};if(xt!==void 0&&Ut!==void 0?!ib(u.initial(Et(xt,Ut)),Oe):!1){t("kandan.reconnect_thread_seq_already_applied",Object.fromEntries([["source_seq",Oe],[Ni,ft]]));let bn={};return bn.instanceId=i,bn.controlType="reconnect_thread",bn.cwd=wt,bn.matchedRoot=Me,bn[eu]=ft,bn.duplicate=!0,{TAG:"Ok",_0:bn}}let Ve=await bE((bn,tu)=>z.request(bn,tu),Ab,s,ft,y$({approvalPolicy:e.approvalPolicy,sandbox:e.sandbox}),{forceRehydrate:de(U.sessionRehydrate,!0),buildRehydrationText:async bn=>{let tu=await yE((ru,hv,_v)=>(async()=>{let el=await _.push(ru,hv,k(De(_v),{}),void 0);return el.TAG==="Ok"?{TAG:"Ok",_0:el._0}:{TAG:"Error",_0:_i(el._0)}})(),n,{workspace:M,channel:xt,threadId:Ut},t);return{TAG:"Ok",_0:["Resuming this conversation after an unresumable engine session ("+bn+")."].concat(tu.map(ru=>ru.body)).join(`
368
368
 
369
- `)}},buildRehydrationItems:void 0,log:t});if(Ve.TAG!=="Ok")return{TAG:"Error",_0:Ve._0.message};typeof Ve._0=="object"&&await Be.publishRebuilt(Oe);let qi=await Be.runClaimedTurn(Oe,j);if(qi.TAG!=="Ok")return{TAG:"Error",_0:qi._0};let Jn={};return Jn.instanceId=i,Jn.controlType="reconnect_thread",Jn.cwd=wt,Jn.matchedRoot=Me,Jn[eu]=ft,{TAG:"Ok",_0:Jn}}let ut={};return ut.instanceId=i,ut.controlType="reconnect_thread",ut.cwd=wt,ut.matchedRoot=Me,ut[eu]=ft,{TAG:"Ok",_0:ut}}let Lt={};return Lt.instanceId=i,Lt.controlType="reconnect_thread",Lt.ok=!1,Lt.error="missing_codex_thread_id",{TAG:"Ok",_0:Lt}}let be={};return be.instanceId=i,be.controlType="reconnect_thread",be.requestId=Fi(Jr(L,"requestId")),be.ok=!1,be.error=ke.reason,be.allowedCwds=f.contents.map(Me=>Me),{TAG:"Ok",_0:be}},Tt={contents:void 0},je=()=>{let L=Tt.contents;if(L!==void 0)return L;let ke=(async()=>{a.contents=!0,clearInterval(Ee);let be=0,Me=0;for(;be<3&&Me<2e3;)Me=Me+1|0,be=I.contents===0?be+1|0:0,await _3();let wt=Z.values().toArray();for(let ft=0,Lt=wt.length;ft<Lt;++ft){let Ut=wt[ft];Ut!==void 0&&await Ut.close()}return z.close(),_.close(),l.flush(),d.flush()})();return Tt.contents=ke,ke},R=async L=>{let ke=yi(L,"harnessSessionId");if(ke===void 0)return{TAG:"Error",_0:"invoke_cross_harness_switch requires the source harness session id"};let be=Z.get(ke);if(be===void 0)return{TAG:"Error",_0:"no attached session for the requested cross-harness switch"};let Me=yi(L,"targetHarness");if(Me!==void 0&&Me!=="claude-code")return{TAG:"Error",_0:"unsupported switch target for this session's harness: "+Me};let wt=yi(L,"model");if(wt===void 0)return{TAG:"Error",_0:"invoke_cross_harness_switch requires an explicit model (D39)"};let ft=yi(L,"targetSessionId"),Lt=ft!==void 0?ft:pv.randomUUID(),Ut=await be.invokeCrossHarnessSwitch(Ya(L,"sourceSeq"),wt,Lt,Ze.contents,$o.homedir());if(Ut.TAG!=="Ok")return{TAG:"Error",_0:Ut._0};let xt={};return xt.instanceId=i,xt.controlType="invoke_cross_harness_switch",xt.harnessSessionId=ke,Object.entries(Ut._0).forEach(M=>{xt[M[0]]=M[1]}),{TAG:"Ok",_0:xt}},ge=async L=>{let ke={},be=Jr(L,"threadId");be!==void 0&&(ke.threadId=be);let Me=L.input;Me!==void 0&&(ke.input=Me);let wt=await z.request("turn/start",ke);if(wt.TAG!=="Ok")return{TAG:"Error",_0:wt._0};let ft=wt._0;if(ft.TAG!=="ResultReply")return{TAG:"Error",_0:ft.message};let Lt={};return Lt.instanceId=i,Lt.controlType="start_turn",Lt.response=ft._0,{TAG:"Ok",_0:Lt}},ye=async L=>{let ke=w$(Jr(L,"cwd"),f.contents);if(ke.TAG==="AllowedCwd")return{TAG:"Error",_0:"start_instance with a resolved cwd is not implemented in the rescript commander driver"};let be=ke.reason;t("kandan.start_instance_cwd_rejected",Object.fromEntries([["thread_id",Fi(yi(L,"threadId"))],["reason",be],["allowedCwdCount",f.contents.length]]));let Me={};return Me.instanceId=i,Me.controlType="start_instance",Me.requestId=Fi(Jr(L,"requestId")),Me.ok=!1,Me.error=be,Me.allowedCwds=f.contents.map(wt=>wt),{TAG:"Ok",_0:Me}},le=(L,ke)=>pE(k(x(De(L),be=>Jr(be,"type")),"unknown"),()=>{let be=k(De(L),{});t("kandan.control",Object.fromEntries([["control",L]]));let Me=Jr(be,"type");if(Me===void 0)return{TAG:"Returned",_0:void 0};switch(Me){case"replace_runner":return t("runner.replaced",Object.fromEntries([["runnerId",e.commanderId],["reason",k(be.reason,null)],["replacementRunnerId",k(be.replacementRunnerId,null)],["replacementVersion",k(be.replacementVersion,null)]])),je(),{TAG:"Returned",_0:void 0};case"set_commander_impl":let wt=Jr(be,"impl"),ft=x(wt,bb);if(ft!==void 0){let j=x$(ft),U=Ga(ft)!==fv,Oe=de(r.LINZUMI_SUPERVISED,"1")&&process.platform!=="win32";return t("runner.commander_impl_persisted",Object.fromEntries([["impl",Ga(ft)],["persisted",j],["runningImpl",fv],["restart",U?Oe?"graceful_drain":"deferred_to_next_launch":"not_needed"]])),U&&Oe&&il(process.pid,"SIGUSR2"),{TAG:"Returned",_0:void 0}}return t("runner.commander_impl_control_ignored",Object.fromEntries([["impl",Fi(wt)],["reason","unknown_impl_value"]])),{TAG:"Returned",_0:void 0};default:let Lt=Ya(be,"control_seq"),Ut;if(Me==="start_turn"&&Lt!==void 0){let j=TC(n,k(Jr(be,"threadId"),"undefined"));Ut=fE(d.initial(j),Lt)?"SkipReplayedStartTurn":{TAG:"Dispatch",commit:()=>mE({onAdvance:d.onAdvance,flush:d.flush},j,Lt)}}else Ut={TAG:"Dispatch",commit:void 0};if(typeof Ut!="object")return t("kandan.start_turn_replay_skipped",Object.fromEntries([["controlType",Me],["controlSeq",k(be.control_seq,null)]])),{TAG:"Returned",_0:void 0};let xt=Ut.commit,M=(async()=>{let j;switch(Me){case"invoke_cross_harness_switch":j=await R(be);break;case"reconnect_thread":j=await tr(be);break;case"start_instance":j=await ye(be);break;case"start_turn":j=await ge(be);break;default:j={TAG:"Error",_0:"unsupported control type for this commander: "+Me}}return j.TAG==="Ok"?(xt!==void 0&&xt(),await Ge(j._0)):await Xe(j._0),null})();return F(M.then(j=>{})),{TAG:"Pending",_0:M}}},ke,t,void 0);m.contents=le;let Ke=p.slice();return p.splice(0,p.length),Ke.forEach(L=>le(L[0],L[1])),{TAG:"Ok",_0:{close:()=>je()}}}return _.close(),{TAG:"Error",_0:"codex app-server handshake failed: "+ae._0}}return _.close(),{TAG:"Error",_0:"codex app-server connect failed: "+K._0}}return _.close(),{TAG:"Error",_0:"the differential commander requires codexUrl (no spawned harness binary)"}}return _.close(),{TAG:"Error",_0:_i(y._0)}}function Gi(e){Io("linzumi (rescript commander): "+e+`
369
+ `)}},buildRehydrationItems:void 0,log:t});if(Ve.TAG!=="Ok")return{TAG:"Error",_0:Ve._0.message};typeof Ve._0=="object"&&await Be.publishRebuilt(Oe);let qi=await Be.runClaimedTurn(Oe,j);if(qi.TAG!=="Ok")return{TAG:"Error",_0:qi._0};let Jn={};return Jn.instanceId=i,Jn.controlType="reconnect_thread",Jn.cwd=wt,Jn.matchedRoot=Me,Jn[eu]=ft,{TAG:"Ok",_0:Jn}}let ut={};return ut.instanceId=i,ut.controlType="reconnect_thread",ut.cwd=wt,ut.matchedRoot=Me,ut[eu]=ft,{TAG:"Ok",_0:ut}}let Lt={};return Lt.instanceId=i,Lt.controlType="reconnect_thread",Lt.ok=!1,Lt.error="missing_codex_thread_id",{TAG:"Ok",_0:Lt}}let be={};return be.instanceId=i,be.controlType="reconnect_thread",be.requestId=Fi(Jr(U,"requestId")),be.ok=!1,be.error=ke.reason,be.allowedCwds=f.contents.map(Me=>Me),{TAG:"Ok",_0:be}},Tt={contents:void 0},je=()=>{let U=Tt.contents;if(U!==void 0)return U;let ke=(async()=>{a.contents=!0,clearInterval(Ee);let be=0,Me=0;for(;be<3&&Me<2e3;)Me=Me+1|0,be=I.contents===0?be+1|0:0,await _3();let wt=L.values().toArray();for(let ft=0,Lt=wt.length;ft<Lt;++ft){let Ut=wt[ft];Ut!==void 0&&await Ut.close()}return z.close(),_.close(),l.flush(),d.flush()})();return Tt.contents=ke,ke},R=async U=>{let ke=yi(U,"harnessSessionId");if(ke===void 0)return{TAG:"Error",_0:"invoke_cross_harness_switch requires the source harness session id"};let be=L.get(ke);if(be===void 0)return{TAG:"Error",_0:"no attached session for the requested cross-harness switch"};let Me=yi(U,"targetHarness");if(Me!==void 0&&Me!=="claude-code")return{TAG:"Error",_0:"unsupported switch target for this session's harness: "+Me};let wt=yi(U,"model");if(wt===void 0)return{TAG:"Error",_0:"invoke_cross_harness_switch requires an explicit model (D39)"};let ft=yi(U,"targetSessionId"),Lt=ft!==void 0?ft:pv.randomUUID(),Ut=await be.invokeCrossHarnessSwitch(Ya(U,"sourceSeq"),wt,Lt,Ze.contents,$o.homedir());if(Ut.TAG!=="Ok")return{TAG:"Error",_0:Ut._0};let xt={};return xt.instanceId=i,xt.controlType="invoke_cross_harness_switch",xt.harnessSessionId=ke,Object.entries(Ut._0).forEach(M=>{xt[M[0]]=M[1]}),{TAG:"Ok",_0:xt}},ge=async U=>{let ke={},be=Jr(U,"threadId");be!==void 0&&(ke.threadId=be);let Me=U.input;Me!==void 0&&(ke.input=Me);let wt=await z.request("turn/start",ke);if(wt.TAG!=="Ok")return{TAG:"Error",_0:wt._0};let ft=wt._0;if(ft.TAG!=="ResultReply")return{TAG:"Error",_0:ft.message};let Lt={};return Lt.instanceId=i,Lt.controlType="start_turn",Lt.response=ft._0,{TAG:"Ok",_0:Lt}},ye=async U=>{let ke=w$(Jr(U,"cwd"),f.contents);if(ke.TAG==="AllowedCwd")return{TAG:"Error",_0:"start_instance with a resolved cwd is not implemented in the rescript commander driver"};let be=ke.reason;t("kandan.start_instance_cwd_rejected",Object.fromEntries([["thread_id",Fi(yi(U,"threadId"))],["reason",be],["allowedCwdCount",f.contents.length]]));let Me={};return Me.instanceId=i,Me.controlType="start_instance",Me.requestId=Fi(Jr(U,"requestId")),Me.ok=!1,Me.error=be,Me.allowedCwds=f.contents.map(wt=>wt),{TAG:"Ok",_0:Me}},le=(U,ke)=>pE(k(x(De(U),be=>Jr(be,"type")),"unknown"),()=>{let be=k(De(U),{});t("kandan.control",Object.fromEntries([["control",U]]));let Me=Jr(be,"type");if(Me===void 0)return{TAG:"Returned",_0:void 0};switch(Me){case"replace_runner":return t("runner.replaced",Object.fromEntries([["runnerId",e.commanderId],["reason",k(be.reason,null)],["replacementRunnerId",k(be.replacementRunnerId,null)],["replacementVersion",k(be.replacementVersion,null)]])),je(),{TAG:"Returned",_0:void 0};case"set_commander_impl":let wt=Jr(be,"impl"),ft=x(wt,bb);if(ft!==void 0){let j=x$(ft),Z=Ga(ft)!==fv,Oe=de(r.LINZUMI_SUPERVISED,"1")&&process.platform!=="win32";return t("runner.commander_impl_persisted",Object.fromEntries([["impl",Ga(ft)],["persisted",j],["runningImpl",fv],["restart",Z?Oe?"graceful_drain":"deferred_to_next_launch":"not_needed"]])),Z&&Oe&&il(process.pid,"SIGUSR2"),{TAG:"Returned",_0:void 0}}return t("runner.commander_impl_control_ignored",Object.fromEntries([["impl",Fi(wt)],["reason","unknown_impl_value"]])),{TAG:"Returned",_0:void 0};default:let Lt=Ya(be,"control_seq"),Ut;if(Me==="start_turn"&&Lt!==void 0){let j=TC(n,k(Jr(be,"threadId"),"undefined"));Ut=fE(d.initial(j),Lt)?"SkipReplayedStartTurn":{TAG:"Dispatch",commit:()=>mE({onAdvance:d.onAdvance,flush:d.flush},j,Lt)}}else Ut={TAG:"Dispatch",commit:void 0};if(typeof Ut!="object")return t("kandan.start_turn_replay_skipped",Object.fromEntries([["controlType",Me],["controlSeq",k(be.control_seq,null)]])),{TAG:"Returned",_0:void 0};let xt=Ut.commit,M=(async()=>{let j;switch(Me){case"invoke_cross_harness_switch":j=await R(be);break;case"reconnect_thread":j=await tr(be);break;case"start_instance":j=await ye(be);break;case"start_turn":j=await ge(be);break;default:j={TAG:"Error",_0:"unsupported control type for this commander: "+Me}}return j.TAG==="Ok"?(xt!==void 0&&xt(),await Ge(j._0)):await Xe(j._0),null})();return F(M.then(j=>{})),{TAG:"Pending",_0:M}}},ke,t,void 0);m.contents=le;let Ke=p.slice();return p.splice(0,p.length),Ke.forEach(U=>le(U[0],U[1])),{TAG:"Ok",_0:{close:()=>je()}}}return _.close(),{TAG:"Error",_0:"codex app-server handshake failed: "+ae._0}}return _.close(),{TAG:"Error",_0:"codex app-server connect failed: "+K._0}}return _.close(),{TAG:"Error",_0:"the differential commander requires codexUrl (no spawned harness binary)"}}return _.close(),{TAG:"Error",_0:_i(y._0)}}function Gi(e){Io("linzumi (rescript commander): "+e+`
370
370
  `),Su(1)}var v3=["workspace","channel","api-url","linzumi-url","token","auth-file","cwd","allowed-cwd","codex-url","codex-bin","approval-policy","sandbox"],S3=["version","help","launch-tui","fast"];function w3(e){let t={},r={},n=[],i=0;for(;i<e.length;){let o=k(e[i],"");if(o.startsWith("--")){let s=o.slice(2,o.length),a=S3.includes(s),l=v3.includes(s);if(a)r[s]=!0,i=i+1|0;else if(l){let d=e[i+1|0];d!==void 0?t[s]=d:n.push(o+" (missing value)"),i=i+2|0}else n.push(o),i=i+1|0}else i=i+1|0}return{values:t,switches:r,unknown:n}}function _7(e){return e.summary}async function T$(e){let t=w3(e),r=t.switches.version,n=0;if(r!==void 0){if(r){process.stdout.write(eb()+`
371
371
  `);return}n=1}else n=1;if(n===1){let i=t.switches.help,o=0;if(i!==void 0){if(i)return Gi("connect --help is not yet implemented in the rescript commander; run the ts impl (LINZUMI_COMMANDER_IMPL=ts) for the full guide");o=2}else o=2;if(o===2){if(t.unknown.length!==0)return Gi("these connect flags are not yet implemented in the rescript commander: "+t.unknown.join(", "));let s=process.env,a=k(du(t.values["api-url"],t.values["linzumi-url"]),Nu),l=t.values.workspace,d=Zu(s),u=Vu(d,a,void 0);if(u.TAG!=="Ok")return Gi("could not resolve the commander id: "+u._0.summary);let c=u._0,f=await Hu({serviceUrl:a,explicitToken:t.values.token,workspaceSlug:l,channelSlug:t.values.channel,requiredScopes:[],onboarding:void 0,authFilePath:t.values["auth-file"],callbackHost:void 0,authMode:void 0,reportRejectedCachedToken:S=>{Io(u0(S)+`
372
372
  `)}},void 0);if(f.TAG!=="Ok")return Gi("authentication failed: "+f._0.summary);let p=f._0,m=t.values.cwd,h=m!==void 0?wl(s,m):process.cwd(),_=t.values["allowed-cwd"],g;if(_!==void 0)g=_.split(",").map(S=>S.trim()).filter(S=>S!=="").map(S=>wl(s,S));else{let S=QS(d,a);g=S.TAG==="Ok"?S._0.allowedCwds:[]}let b=We([h].concat(g),[],(S,A)=>S.includes(A)?S:S.concat([A])),y=l!==void 0?l:KA(p);if(y===void 0)return Gi("connect requires a workspace (pass --workspace or use a workspace-scoped token)");let v=await k$({serviceUrl:a,token:p,commanderId:c,workspaceSlug:y,cwd:h,harnessUrl:t.values["codex-url"],allowedCwds:b,approvalPolicy:t.values["approval-policy"],sandbox:t.values.sandbox},(S,A)=>{process.stdout.write(S+" "+JSON.stringify(A)+`