@linzumi/cli 1.0.144 → 1.0.146

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.
@@ -1,13 +1,13 @@
1
1
  import { createRequire } from 'node:module';
2
2
  const require = createRequire(import.meta.url);
3
- var Oj=Object.create;var zp=Object.defineProperty;var Cj=Object.getOwnPropertyDescriptor;var Ej=Object.getOwnPropertyNames;var Pj=Object.getPrototypeOf,Rj=Object.prototype.hasOwnProperty;var ce=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Np=(e,t)=>{for(var r in t)zp(e,r,{get:t[r],enumerable:!0})},Ij=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ej(t))!Rj.call(e,i)&&i!==r&&zp(e,i,{get:()=>t[i],enumerable:!(n=Cj(t,i))||n.enumerable});return e};var xw=(e,t,r)=>(r=e!=null?Oj(Pj(e)):{},Ij(t||!e||!e.__esModule?zp(r,"default",{value:e,enumerable:!0}):r,e));var Bd=ce(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.regexpCode=xt.getEsmExportName=xt.getProperty=xt.safeStringify=xt.stringify=xt.strConcat=xt.addCodeArg=xt.str=xt._=xt.nil=xt._Code=xt.Name=xt.IDENTIFIER=xt._CodeOrName=void 0;var Vd=class{};xt._CodeOrName=Vd;xt.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var qa=class extends Vd{constructor(t){if(super(),!xt.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};xt.Name=qa;var Yn=class extends Vd{constructor(t){super(),this._items=typeof t=="string"?[t]:t}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let t=this._items[0];return t===""||t==='""'}get str(){var t;return(t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var t;return(t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,n)=>(n instanceof qa&&(r[n.str]=(r[n.str]||0)+1),r),{})}};xt._Code=Yn;xt.nil=new Yn("");function YA(e,...t){let r=[e[0]],n=0;for(;n<t.length;)Ty(r,t[n]),r.push(e[++n]);return new Yn(r)}xt._=YA;var xy=new Yn("+");function XA(e,...t){let r=[Hd(e[0])],n=0;for(;n<t.length;)r.push(xy),Ty(r,t[n]),r.push(xy,Hd(e[++n]));return Jq(r),new Yn(r)}xt.str=XA;function Ty(e,t){t instanceof Yn?e.push(...t._items):t instanceof qa?e.push(t):e.push(Qq(t))}xt.addCodeArg=Ty;function Jq(e){let t=1;for(;t<e.length-1;){if(e[t]===xy){let r=Yq(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function Yq(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof qa||e[e.length-1]!=='"'?void 0:typeof t!="string"?`${e.slice(0,-1)}${t}"`:t[0]==='"'?e.slice(0,-1)+t.slice(1):void 0;if(typeof t=="string"&&t[0]==='"'&&!(e instanceof qa))return`"${e}${t.slice(1)}`}function Xq(e,t){return t.emptyStr()?e:e.emptyStr()?t:XA`${e}${t}`}xt.strConcat=Xq;function Qq(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:Hd(Array.isArray(e)?e.join(","):e)}function eL(e){return new Yn(Hd(e))}xt.stringify=eL;function Hd(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}xt.safeStringify=Hd;function tL(e){return typeof e=="string"&&xt.IDENTIFIER.test(e)?new Yn(`.${e}`):YA`[${e}]`}xt.getProperty=tL;function rL(e){if(typeof e=="string"&&xt.IDENTIFIER.test(e))return new Yn(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}xt.getEsmExportName=rL;function nL(e){return new Yn(e.toString())}xt.regexpCode=nL});var Cy=ce(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.ValueScope=Tn.ValueScopeName=Tn.Scope=Tn.varKinds=Tn.UsedValueState=void 0;var xn=Bd(),Ay=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},Lf;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(Lf||(Tn.UsedValueState=Lf={}));Tn.varKinds={const:new xn.Name("const"),let:new xn.Name("let"),var:new xn.Name("var")};var Uf=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof xn.Name?t:this.name(t)}name(t){return new xn.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return`${t}${r.index++}`}_nameGroup(t){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};Tn.Scope=Uf;var Zf=class extends xn.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0,xn._)`.${new xn.Name(r)}[${n}]`}};Tn.ValueScopeName=Zf;var iL=(0,xn._)`\n`,Oy=class extends Uf{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?iL:xn.nil}}get(){return this._scope}name(t){return new Zf(t,this._newName(t))}value(t,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let i=this.toName(t),{prefix:o}=i,a=(n=r.key)!==null&&n!==void 0?n:r.ref,s=this._values[o];if(s){let u=s.get(a);if(u)return u}else s=this._values[o]=new Map;s.set(a,i);let l=this._scope[o]||(this._scope[o]=[]),d=l.length;return l[d]=r.ref,i.setValue(r,{property:o,itemIndex:d}),i}getValue(t,r){let n=this._values[t];if(n)return n.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,xn._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,i=>{if(i.value===void 0)throw new Error(`CodeGen: name "${i}" has no value`);return i.value.code},r,n)}_reduceValues(t,r,n={},i){let o=xn.nil;for(let a in t){let s=t[a];if(!s)continue;let l=n[a]=n[a]||new Map;s.forEach(d=>{if(l.has(d))return;l.set(d,Lf.Started);let u=r(d);if(u){let c=this.opts.es5?Tn.varKinds.var:Tn.varKinds.const;o=(0,xn._)`${o}${c} ${d} = ${u};${this.opts._n}`}else if(u=i?.(d))o=(0,xn._)`${o}${u}${this.opts._n}`;else throw new Ay(d);l.set(d,Lf.Completed)})}return o}};Tn.ValueScope=Oy});var it=ce(ot=>{"use strict";Object.defineProperty(ot,"__esModule",{value:!0});ot.or=ot.and=ot.not=ot.CodeGen=ot.operators=ot.varKinds=ot.ValueScopeName=ot.ValueScope=ot.Scope=ot.Name=ot.regexpCode=ot.stringify=ot.getProperty=ot.nil=ot.strConcat=ot.str=ot._=void 0;var bt=Bd(),gi=Cy(),zo=Bd();Object.defineProperty(ot,"_",{enumerable:!0,get:function(){return zo._}});Object.defineProperty(ot,"str",{enumerable:!0,get:function(){return zo.str}});Object.defineProperty(ot,"strConcat",{enumerable:!0,get:function(){return zo.strConcat}});Object.defineProperty(ot,"nil",{enumerable:!0,get:function(){return zo.nil}});Object.defineProperty(ot,"getProperty",{enumerable:!0,get:function(){return zo.getProperty}});Object.defineProperty(ot,"stringify",{enumerable:!0,get:function(){return zo.stringify}});Object.defineProperty(ot,"regexpCode",{enumerable:!0,get:function(){return zo.regexpCode}});Object.defineProperty(ot,"Name",{enumerable:!0,get:function(){return zo.Name}});var Bf=Cy();Object.defineProperty(ot,"Scope",{enumerable:!0,get:function(){return Bf.Scope}});Object.defineProperty(ot,"ValueScope",{enumerable:!0,get:function(){return Bf.ValueScope}});Object.defineProperty(ot,"ValueScopeName",{enumerable:!0,get:function(){return Bf.ValueScopeName}});Object.defineProperty(ot,"varKinds",{enumerable:!0,get:function(){return Bf.varKinds}});ot.operators={GT:new bt._Code(">"),GTE:new bt._Code(">="),LT:new bt._Code("<"),LTE:new bt._Code("<="),EQ:new bt._Code("==="),NEQ:new bt._Code("!=="),NOT:new bt._Code("!"),OR:new bt._Code("||"),AND:new bt._Code("&&"),ADD:new bt._Code("+")};var so=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},Ey=class extends so{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n}render({es5:t,_n:r}){let n=t?gi.varKinds.var:this.varKind,i=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${i};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=il(this.rhs,t,r)),this}get names(){return this.rhs instanceof bt._CodeOrName?this.rhs.names:{}}},Wf=class extends so{constructor(t,r,n){super(),this.lhs=t,this.rhs=r,this.sideEffects=n}render({_n:t}){return`${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof bt.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=il(this.rhs,t,r),this}get names(){let t=this.lhs instanceof bt.Name?{}:{...this.lhs.names};return Hf(t,this.rhs)}},Py=class extends Wf{constructor(t,r,n,i){super(t,n,i),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},Ry=class extends so{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},Iy=class extends so{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},$y=class extends so{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},My=class extends so{constructor(t){super(),this.code=t}render({_n:t}){return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(t,r){return this.code=il(this.code,t,r),this}get names(){return this.code instanceof bt._CodeOrName?this.code.names:{}}},Kd=class extends so{constructor(t=[]){super(),this.nodes=t}render(t){return this.nodes.reduce((r,n)=>r+n.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let n=t[r].optimizeNodes();Array.isArray(n)?t.splice(r,1,...n):n?t[r]=n:t.splice(r,1)}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:n}=this,i=n.length;for(;i--;){let o=n[i];o.optimizeNames(t,r)||(oL(t,o.names),n.splice(i,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>Za(t,r.names),{})}},lo=class extends Kd{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},jy=class extends Kd{},nl=class extends lo{};nl.kind="else";var La=class e extends lo{constructor(t,r){super(r),this.condition=t}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new nl(n):n}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(QA(t),r instanceof e?[r]:r.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=il(this.condition,t,r),this}get names(){let t=super.names;return Hf(t,this.condition),this.else&&Za(t,this.else.names),t}};La.kind="if";var Ua=class extends lo{};Ua.kind="for";var zy=class extends Ua{constructor(t){super(),this.iteration=t}render(t){return`for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=il(this.iteration,t,r),this}get names(){return Za(super.names,this.iteration.names)}},Ny=class extends Ua{constructor(t,r,n,i){super(),this.varKind=t,this.name=r,this.from=n,this.to=i}render(t){let r=t.es5?gi.varKinds.var:this.varKind,{name:n,from:i,to:o}=this;return`for(${r} ${n}=${i}; ${n}<${o}; ${n}++)`+super.render(t)}get names(){let t=Hf(super.names,this.from);return Hf(t,this.to)}},Vf=class extends Ua{constructor(t,r,n,i){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=i}render(t){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=il(this.iterable,t,r),this}get names(){return Za(super.names,this.iterable.names)}},Jd=class extends lo{constructor(t,r,n){super(),this.name=t,this.args=r,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};Jd.kind="func";var Yd=class extends Kd{render(t){return"return "+super.render(t)}};Yd.kind="return";var Gy=class extends lo{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var n,i;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(i=this.finally)===null||i===void 0||i.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&Za(t,this.catch.names),this.finally&&Za(t,this.finally.names),t}},Xd=class extends lo{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};Xd.kind="catch";var Qd=class extends lo{render(t){return"finally"+super.render(t)}};Qd.kind="finally";var Fy=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
4
- `:""},this._extScope=t,this._scope=new gi.Scope({parent:t}),this._nodes=[new jy]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let n=this._extScope.value(t,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(t,r){return this._extScope.getValue(t,r)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,r,n,i){let o=this._scope.toName(r);return n!==void 0&&i&&(this._constants[o.str]=n),this._leafNode(new Ey(t,o,n)),o}const(t,r,n){return this._def(gi.varKinds.const,t,r,n)}let(t,r,n){return this._def(gi.varKinds.let,t,r,n)}var(t,r,n){return this._def(gi.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new Wf(t,r,n))}add(t,r){return this._leafNode(new Py(t,ot.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==bt.nil&&this._leafNode(new My(t)),this}object(...t){let r=["{"];for(let[n,i]of t)r.length>1&&r.push(","),r.push(n),(n!==i||this.opts.es5)&&(r.push(":"),(0,bt.addCodeArg)(r,i));return r.push("}"),new bt._Code(r)}if(t,r,n){if(this._blockNode(new La(t)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(t){return this._elseNode(new La(t))}else(){return this._elseNode(new nl)}endIf(){return this._endBlockNode(La,nl)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new zy(t),r)}forRange(t,r,n,i,o=this.opts.es5?gi.varKinds.var:gi.varKinds.let){let a=this._scope.toName(t);return this._for(new Ny(o,a,r,n),()=>i(a))}forOf(t,r,n,i=gi.varKinds.const){let o=this._scope.toName(t);if(this.opts.es5){let a=r instanceof bt.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,bt._)`${a}.length`,s=>{this.var(o,(0,bt._)`${a}[${s}]`),n(o)})}return this._for(new Vf("of",i,o,r),()=>n(o))}forIn(t,r,n,i=this.opts.es5?gi.varKinds.var:gi.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,bt._)`Object.keys(${r})`,n);let o=this._scope.toName(t);return this._for(new Vf("in",i,o,r),()=>n(o))}endFor(){return this._endBlockNode(Ua)}label(t){return this._leafNode(new Ry(t))}break(t){return this._leafNode(new Iy(t))}return(t){let r=new Yd;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Yd)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let i=new Gy;if(this._blockNode(i),this.code(t),r){let o=this.name("e");this._currNode=i.catch=new Xd(o),r(o)}return n&&(this._currNode=i.finally=new Qd,this.code(n)),this._endBlockNode(Xd,Qd)}throw(t){return this._leafNode(new $y(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||t!==void 0&&n!==t)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=bt.nil,n,i){return this._blockNode(new Jd(t,r,n)),i&&this.code(i).endFunc(),this}endFunc(){return this._endBlockNode(Jd)}optimize(t=1){for(;t-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(t){return this._currNode.nodes.push(t),this}_blockNode(t){this._currNode.nodes.push(t),this._nodes.push(t)}_endBlockNode(t,r){let n=this._currNode;if(n instanceof t||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${t.kind}/${r.kind}`:t.kind}"`)}_elseNode(t){let r=this._currNode;if(!(r instanceof La))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let r=this._nodes;r[r.length-1]=t}};ot.CodeGen=Fy;function Za(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function Hf(e,t){return t instanceof bt._CodeOrName?Za(e,t.names):e}function il(e,t,r){if(e instanceof bt.Name)return n(e);if(!i(e))return e;return new bt._Code(e._items.reduce((o,a)=>(a instanceof bt.Name&&(a=n(a)),a instanceof bt._Code?o.push(...a._items):o.push(a),o),[]));function n(o){let a=r[o.str];return a===void 0||t[o.str]!==1?o:(delete t[o.str],a)}function i(o){return o instanceof bt._Code&&o._items.some(a=>a instanceof bt.Name&&t[a.str]===1&&r[a.str]!==void 0)}}function oL(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function QA(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,bt._)`!${Dy(e)}`}ot.not=QA;var aL=eO(ot.operators.AND);function sL(...e){return e.reduce(aL)}ot.and=sL;var lL=eO(ot.operators.OR);function dL(...e){return e.reduce(lL)}ot.or=dL;function eO(e){return(t,r)=>t===bt.nil?r:r===bt.nil?t:(0,bt._)`${Dy(t)} ${e} ${Dy(r)}`}function Dy(e){return e instanceof bt.Name?e:(0,bt._)`(${e})`}});var Tt=ce(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.checkStrictMode=lt.getErrorPath=lt.Type=lt.useFunc=lt.setEvaluated=lt.evaluatedPropsToName=lt.mergeEvaluated=lt.eachItem=lt.unescapeJsonPointer=lt.escapeJsonPointer=lt.escapeFragment=lt.unescapeFragment=lt.schemaRefOrVal=lt.schemaHasRulesButRef=lt.schemaHasRules=lt.checkUnknownRules=lt.alwaysValidSchema=lt.toHash=void 0;var Lt=it(),uL=Bd();function cL(e){let t={};for(let r of e)t[r]=!0;return t}lt.toHash=cL;function fL(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(nO(e,t),!iO(t,e.self.RULES.all))}lt.alwaysValidSchema=fL;function nO(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let i=n.RULES.keywords;for(let o in t)i[o]||sO(e,`unknown keyword: "${o}"`)}lt.checkUnknownRules=nO;function iO(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}lt.schemaHasRules=iO;function mL(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}lt.schemaHasRulesButRef=mL;function pL({topSchemaRef:e,schemaPath:t},r,n,i){if(!i){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,Lt._)`${r}`}return(0,Lt._)`${e}${t}${(0,Lt.getProperty)(n)}`}lt.schemaRefOrVal=pL;function hL(e){return oO(decodeURIComponent(e))}lt.unescapeFragment=hL;function _L(e){return encodeURIComponent(Ly(e))}lt.escapeFragment=_L;function Ly(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}lt.escapeJsonPointer=Ly;function oO(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}lt.unescapeJsonPointer=oO;function gL(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}lt.eachItem=gL;function tO({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(i,o,a,s)=>{let l=a===void 0?o:a instanceof Lt.Name?(o instanceof Lt.Name?e(i,o,a):t(i,o,a),a):o instanceof Lt.Name?(t(i,a,o),o):r(o,a);return s===Lt.Name&&!(l instanceof Lt.Name)?n(i,l):l}}lt.mergeEvaluated={props:tO({mergeNames:(e,t,r)=>e.if((0,Lt._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,Lt._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,Lt._)`${r} || {}`).code((0,Lt._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,Lt._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,Lt._)`${r} || {}`),Uy(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:aO}),items:tO({mergeNames:(e,t,r)=>e.if((0,Lt._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,Lt._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,Lt._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,Lt._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function aO(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,Lt._)`{}`);return t!==void 0&&Uy(e,r,t),r}lt.evaluatedPropsToName=aO;function Uy(e,t,r){Object.keys(r).forEach(n=>e.assign((0,Lt._)`${t}${(0,Lt.getProperty)(n)}`,!0))}lt.setEvaluated=Uy;var rO={};function yL(e,t){return e.scopeValue("func",{ref:t,code:rO[t.code]||(rO[t.code]=new uL._Code(t.code))})}lt.useFunc=yL;var qy;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(qy||(lt.Type=qy={}));function bL(e,t,r){if(e instanceof Lt.Name){let n=t===qy.Num;return r?n?(0,Lt._)`"[" + ${e} + "]"`:(0,Lt._)`"['" + ${e} + "']"`:n?(0,Lt._)`"/" + ${e}`:(0,Lt._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,Lt.getProperty)(e).toString():"/"+Ly(e)}lt.getErrorPath=bL;function sO(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}lt.checkStrictMode=sO});var uo=ce(Zy=>{"use strict";Object.defineProperty(Zy,"__esModule",{value:!0});var Yr=it(),vL={data:new Yr.Name("data"),valCxt:new Yr.Name("valCxt"),instancePath:new Yr.Name("instancePath"),parentData:new Yr.Name("parentData"),parentDataProperty:new Yr.Name("parentDataProperty"),rootData:new Yr.Name("rootData"),dynamicAnchors:new Yr.Name("dynamicAnchors"),vErrors:new Yr.Name("vErrors"),errors:new Yr.Name("errors"),this:new Yr.Name("this"),self:new Yr.Name("self"),scope:new Yr.Name("scope"),json:new Yr.Name("json"),jsonPos:new Yr.Name("jsonPos"),jsonLen:new Yr.Name("jsonLen"),jsonPart:new Yr.Name("jsonPart")};Zy.default=vL});var eu=ce(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.extendErrors=Xr.resetErrorsCount=Xr.reportExtraError=Xr.reportError=Xr.keyword$DataError=Xr.keywordError=void 0;var St=it(),Kf=Tt(),ln=uo();Xr.keywordError={message:({keyword:e})=>(0,St.str)`must pass "${e}" keyword validation`};Xr.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,St.str)`"${e}" keyword must be ${t} ($data)`:(0,St.str)`"${e}" keyword is invalid ($data)`};function SL(e,t=Xr.keywordError,r,n){let{it:i}=e,{gen:o,compositeRule:a,allErrors:s}=i,l=uO(e,t,r);n??(a||s)?lO(o,l):dO(i,(0,St._)`[${l}]`)}Xr.reportError=SL;function wL(e,t=Xr.keywordError,r){let{it:n}=e,{gen:i,compositeRule:o,allErrors:a}=n,s=uO(e,t,r);lO(i,s),o||a||dO(n,ln.default.vErrors)}Xr.reportExtraError=wL;function kL(e,t){e.assign(ln.default.errors,t),e.if((0,St._)`${ln.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,St._)`${ln.default.vErrors}.length`,t),()=>e.assign(ln.default.vErrors,null)))}Xr.resetErrorsCount=kL;function xL({gen:e,keyword:t,schemaValue:r,data:n,errsCount:i,it:o}){if(i===void 0)throw new Error("ajv implementation error");let a=e.name("err");e.forRange("i",i,ln.default.errors,s=>{e.const(a,(0,St._)`${ln.default.vErrors}[${s}]`),e.if((0,St._)`${a}.instancePath === undefined`,()=>e.assign((0,St._)`${a}.instancePath`,(0,St.strConcat)(ln.default.instancePath,o.errorPath))),e.assign((0,St._)`${a}.schemaPath`,(0,St.str)`${o.errSchemaPath}/${t}`),o.opts.verbose&&(e.assign((0,St._)`${a}.schema`,r),e.assign((0,St._)`${a}.data`,n))})}Xr.extendErrors=xL;function lO(e,t){let r=e.const("err",t);e.if((0,St._)`${ln.default.vErrors} === null`,()=>e.assign(ln.default.vErrors,(0,St._)`[${r}]`),(0,St._)`${ln.default.vErrors}.push(${r})`),e.code((0,St._)`${ln.default.errors}++`)}function dO(e,t){let{gen:r,validateName:n,schemaEnv:i}=e;i.$async?r.throw((0,St._)`new ${e.ValidationError}(${t})`):(r.assign((0,St._)`${n}.errors`,t),r.return(!1))}var Wa={keyword:new St.Name("keyword"),schemaPath:new St.Name("schemaPath"),params:new St.Name("params"),propertyName:new St.Name("propertyName"),message:new St.Name("message"),schema:new St.Name("schema"),parentSchema:new St.Name("parentSchema")};function uO(e,t,r){let{createErrors:n}=e.it;return n===!1?(0,St._)`{}`:TL(e,t,r)}function TL(e,t,r={}){let{gen:n,it:i}=e,o=[AL(i,r),OL(e,r)];return CL(e,t,o),n.object(...o)}function AL({errorPath:e},{instancePath:t}){let r=t?(0,St.str)`${e}${(0,Kf.getErrorPath)(t,Kf.Type.Str)}`:e;return[ln.default.instancePath,(0,St.strConcat)(ln.default.instancePath,r)]}function OL({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let i=n?t:(0,St.str)`${t}/${e}`;return r&&(i=(0,St.str)`${i}${(0,Kf.getErrorPath)(r,Kf.Type.Str)}`),[Wa.schemaPath,i]}function CL(e,{params:t,message:r},n){let{keyword:i,data:o,schemaValue:a,it:s}=e,{opts:l,propertyName:d,topSchemaRef:u,schemaPath:c}=s;n.push([Wa.keyword,i],[Wa.params,typeof t=="function"?t(e):t||(0,St._)`{}`]),l.messages&&n.push([Wa.message,typeof r=="function"?r(e):r]),l.verbose&&n.push([Wa.schema,a],[Wa.parentSchema,(0,St._)`${u}${c}`],[ln.default.data,o]),d&&n.push([Wa.propertyName,d])}});var fO=ce(ol=>{"use strict";Object.defineProperty(ol,"__esModule",{value:!0});ol.boolOrEmptySchema=ol.topBoolOrEmptySchema=void 0;var EL=eu(),PL=it(),RL=uo(),IL={message:"boolean schema is false"};function $L(e){let{gen:t,schema:r,validateName:n}=e;r===!1?cO(e,!1):typeof r=="object"&&r.$async===!0?t.return(RL.default.data):(t.assign((0,PL._)`${n}.errors`,null),t.return(!0))}ol.topBoolOrEmptySchema=$L;function ML(e,t){let{gen:r,schema:n}=e;n===!1?(r.var(t,!1),cO(e)):r.var(t,!0)}ol.boolOrEmptySchema=ML;function cO(e,t){let{gen:r,data:n}=e,i={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,EL.reportError)(i,IL,void 0,t)}});var Wy=ce(al=>{"use strict";Object.defineProperty(al,"__esModule",{value:!0});al.getRules=al.isJSONType=void 0;var jL=["string","number","integer","boolean","null","object","array"],zL=new Set(jL);function NL(e){return typeof e=="string"&&zL.has(e)}al.isJSONType=NL;function GL(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}al.getRules=GL});var Vy=ce(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.shouldUseRule=No.shouldUseGroup=No.schemaHasRulesForType=void 0;function FL({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&mO(e,n)}No.schemaHasRulesForType=FL;function mO(e,t){return t.rules.some(r=>pO(e,r))}No.shouldUseGroup=mO;function pO(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}No.shouldUseRule=pO});var tu=ce(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.reportTypeError=Qr.checkDataTypes=Qr.checkDataType=Qr.coerceAndCheckDataType=Qr.getJSONTypes=Qr.getSchemaTypes=Qr.DataType=void 0;var DL=Wy(),qL=Vy(),LL=eu(),et=it(),hO=Tt(),sl;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(sl||(Qr.DataType=sl={}));function UL(e){let t=_O(e.type);if(t.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&t.push("null")}return t}Qr.getSchemaTypes=UL;function _O(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(DL.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}Qr.getJSONTypes=_O;function ZL(e,t){let{gen:r,data:n,opts:i}=e,o=WL(t,i.coerceTypes),a=t.length>0&&!(o.length===0&&t.length===1&&(0,qL.schemaHasRulesForType)(e,t[0]));if(a){let s=By(t,n,i.strictNumbers,sl.Wrong);r.if(s,()=>{o.length?VL(e,t,o):Ky(e)})}return a}Qr.coerceAndCheckDataType=ZL;var gO=new Set(["string","number","integer","boolean","null"]);function WL(e,t){return t?e.filter(r=>gO.has(r)||t==="array"&&r==="array"):[]}function VL(e,t,r){let{gen:n,data:i,opts:o}=e,a=n.let("dataType",(0,et._)`typeof ${i}`),s=n.let("coerced",(0,et._)`undefined`);o.coerceTypes==="array"&&n.if((0,et._)`${a} == 'object' && Array.isArray(${i}) && ${i}.length == 1`,()=>n.assign(i,(0,et._)`${i}[0]`).assign(a,(0,et._)`typeof ${i}`).if(By(t,i,o.strictNumbers),()=>n.assign(s,i))),n.if((0,et._)`${s} !== undefined`);for(let d of r)(gO.has(d)||d==="array"&&o.coerceTypes==="array")&&l(d);n.else(),Ky(e),n.endIf(),n.if((0,et._)`${s} !== undefined`,()=>{n.assign(i,s),HL(e,s)});function l(d){switch(d){case"string":n.elseIf((0,et._)`${a} == "number" || ${a} == "boolean"`).assign(s,(0,et._)`"" + ${i}`).elseIf((0,et._)`${i} === null`).assign(s,(0,et._)`""`);return;case"number":n.elseIf((0,et._)`${a} == "boolean" || ${i} === null
3
+ var $j=Object.create;var Np=Object.defineProperty;var Mj=Object.getOwnPropertyDescriptor;var jj=Object.getOwnPropertyNames;var zj=Object.getPrototypeOf,Nj=Object.prototype.hasOwnProperty;var ce=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Gp=(e,t)=>{for(var r in t)Np(e,r,{get:t[r],enumerable:!0})},Gj=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of jj(t))!Nj.call(e,i)&&i!==r&&Np(e,i,{get:()=>t[i],enumerable:!(n=Mj(t,i))||n.enumerable});return e};var Tw=(e,t,r)=>(r=e!=null?$j(zj(e)):{},Gj(t||!e||!e.__esModule?Np(r,"default",{value:e,enumerable:!0}):r,e));var Bd=ce(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.regexpCode=xt.getEsmExportName=xt.getProperty=xt.safeStringify=xt.stringify=xt.strConcat=xt.addCodeArg=xt.str=xt._=xt.nil=xt._Code=xt.Name=xt.IDENTIFIER=xt._CodeOrName=void 0;var Vd=class{};xt._CodeOrName=Vd;xt.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var qa=class extends Vd{constructor(t){if(super(),!xt.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};xt.Name=qa;var Yn=class extends Vd{constructor(t){super(),this._items=typeof t=="string"?[t]:t}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let t=this._items[0];return t===""||t==='""'}get str(){var t;return(t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var t;return(t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,n)=>(n instanceof qa&&(r[n.str]=(r[n.str]||0)+1),r),{})}};xt._Code=Yn;xt.nil=new Yn("");function XA(e,...t){let r=[e[0]],n=0;for(;n<t.length;)Ay(r,t[n]),r.push(e[++n]);return new Yn(r)}xt._=XA;var Ty=new Yn("+");function QA(e,...t){let r=[Hd(e[0])],n=0;for(;n<t.length;)r.push(Ty),Ay(r,t[n]),r.push(Ty,Hd(e[++n]));return rL(r),new Yn(r)}xt.str=QA;function Ay(e,t){t instanceof Yn?e.push(...t._items):t instanceof qa?e.push(t):e.push(oL(t))}xt.addCodeArg=Ay;function rL(e){let t=1;for(;t<e.length-1;){if(e[t]===Ty){let r=nL(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function nL(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof qa||e[e.length-1]!=='"'?void 0:typeof t!="string"?`${e.slice(0,-1)}${t}"`:t[0]==='"'?e.slice(0,-1)+t.slice(1):void 0;if(typeof t=="string"&&t[0]==='"'&&!(e instanceof qa))return`"${e}${t.slice(1)}`}function iL(e,t){return t.emptyStr()?e:e.emptyStr()?t:QA`${e}${t}`}xt.strConcat=iL;function oL(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:Hd(Array.isArray(e)?e.join(","):e)}function aL(e){return new Yn(Hd(e))}xt.stringify=aL;function Hd(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}xt.safeStringify=Hd;function sL(e){return typeof e=="string"&&xt.IDENTIFIER.test(e)?new Yn(`.${e}`):XA`[${e}]`}xt.getProperty=sL;function lL(e){if(typeof e=="string"&&xt.IDENTIFIER.test(e))return new Yn(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}xt.getEsmExportName=lL;function dL(e){return new Yn(e.toString())}xt.regexpCode=dL});var Ey=ce(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.ValueScope=Tn.ValueScopeName=Tn.Scope=Tn.varKinds=Tn.UsedValueState=void 0;var xn=Bd(),Oy=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},Lf;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(Lf||(Tn.UsedValueState=Lf={}));Tn.varKinds={const:new xn.Name("const"),let:new xn.Name("let"),var:new xn.Name("var")};var Uf=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof xn.Name?t:this.name(t)}name(t){return new xn.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return`${t}${r.index++}`}_nameGroup(t){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};Tn.Scope=Uf;var Wf=class extends xn.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0,xn._)`.${new xn.Name(r)}[${n}]`}};Tn.ValueScopeName=Wf;var uL=(0,xn._)`\n`,Cy=class extends Uf{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?uL:xn.nil}}get(){return this._scope}name(t){return new Wf(t,this._newName(t))}value(t,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let i=this.toName(t),{prefix:o}=i,a=(n=r.key)!==null&&n!==void 0?n:r.ref,s=this._values[o];if(s){let u=s.get(a);if(u)return u}else s=this._values[o]=new Map;s.set(a,i);let l=this._scope[o]||(this._scope[o]=[]),d=l.length;return l[d]=r.ref,i.setValue(r,{property:o,itemIndex:d}),i}getValue(t,r){let n=this._values[t];if(n)return n.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,xn._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,i=>{if(i.value===void 0)throw new Error(`CodeGen: name "${i}" has no value`);return i.value.code},r,n)}_reduceValues(t,r,n={},i){let o=xn.nil;for(let a in t){let s=t[a];if(!s)continue;let l=n[a]=n[a]||new Map;s.forEach(d=>{if(l.has(d))return;l.set(d,Lf.Started);let u=r(d);if(u){let c=this.opts.es5?Tn.varKinds.var:Tn.varKinds.const;o=(0,xn._)`${o}${c} ${d} = ${u};${this.opts._n}`}else if(u=i?.(d))o=(0,xn._)`${o}${u}${this.opts._n}`;else throw new Oy(d);l.set(d,Lf.Completed)})}return o}};Tn.ValueScope=Cy});var it=ce(ot=>{"use strict";Object.defineProperty(ot,"__esModule",{value:!0});ot.or=ot.and=ot.not=ot.CodeGen=ot.operators=ot.varKinds=ot.ValueScopeName=ot.ValueScope=ot.Scope=ot.Name=ot.regexpCode=ot.stringify=ot.getProperty=ot.nil=ot.strConcat=ot.str=ot._=void 0;var bt=Bd(),gi=Ey(),zo=Bd();Object.defineProperty(ot,"_",{enumerable:!0,get:function(){return zo._}});Object.defineProperty(ot,"str",{enumerable:!0,get:function(){return zo.str}});Object.defineProperty(ot,"strConcat",{enumerable:!0,get:function(){return zo.strConcat}});Object.defineProperty(ot,"nil",{enumerable:!0,get:function(){return zo.nil}});Object.defineProperty(ot,"getProperty",{enumerable:!0,get:function(){return zo.getProperty}});Object.defineProperty(ot,"stringify",{enumerable:!0,get:function(){return zo.stringify}});Object.defineProperty(ot,"regexpCode",{enumerable:!0,get:function(){return zo.regexpCode}});Object.defineProperty(ot,"Name",{enumerable:!0,get:function(){return zo.Name}});var Bf=Ey();Object.defineProperty(ot,"Scope",{enumerable:!0,get:function(){return Bf.Scope}});Object.defineProperty(ot,"ValueScope",{enumerable:!0,get:function(){return Bf.ValueScope}});Object.defineProperty(ot,"ValueScopeName",{enumerable:!0,get:function(){return Bf.ValueScopeName}});Object.defineProperty(ot,"varKinds",{enumerable:!0,get:function(){return Bf.varKinds}});ot.operators={GT:new bt._Code(">"),GTE:new bt._Code(">="),LT:new bt._Code("<"),LTE:new bt._Code("<="),EQ:new bt._Code("==="),NEQ:new bt._Code("!=="),NOT:new bt._Code("!"),OR:new bt._Code("||"),AND:new bt._Code("&&"),ADD:new bt._Code("+")};var so=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},Py=class extends so{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n}render({es5:t,_n:r}){let n=t?gi.varKinds.var:this.varKind,i=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${i};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=il(this.rhs,t,r)),this}get names(){return this.rhs instanceof bt._CodeOrName?this.rhs.names:{}}},Zf=class extends so{constructor(t,r,n){super(),this.lhs=t,this.rhs=r,this.sideEffects=n}render({_n:t}){return`${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof bt.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=il(this.rhs,t,r),this}get names(){let t=this.lhs instanceof bt.Name?{}:{...this.lhs.names};return Hf(t,this.rhs)}},Ry=class extends Zf{constructor(t,r,n,i){super(t,n,i),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},Iy=class extends so{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},$y=class extends so{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},My=class extends so{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},jy=class extends so{constructor(t){super(),this.code=t}render({_n:t}){return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(t,r){return this.code=il(this.code,t,r),this}get names(){return this.code instanceof bt._CodeOrName?this.code.names:{}}},Kd=class extends so{constructor(t=[]){super(),this.nodes=t}render(t){return this.nodes.reduce((r,n)=>r+n.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let n=t[r].optimizeNodes();Array.isArray(n)?t.splice(r,1,...n):n?t[r]=n:t.splice(r,1)}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:n}=this,i=n.length;for(;i--;){let o=n[i];o.optimizeNames(t,r)||(cL(t,o.names),n.splice(i,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>Wa(t,r.names),{})}},lo=class extends Kd{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},zy=class extends Kd{},nl=class extends lo{};nl.kind="else";var La=class e extends lo{constructor(t,r){super(r),this.condition=t}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new nl(n):n}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(eO(t),r instanceof e?[r]:r.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=il(this.condition,t,r),this}get names(){let t=super.names;return Hf(t,this.condition),this.else&&Wa(t,this.else.names),t}};La.kind="if";var Ua=class extends lo{};Ua.kind="for";var Ny=class extends Ua{constructor(t){super(),this.iteration=t}render(t){return`for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=il(this.iteration,t,r),this}get names(){return Wa(super.names,this.iteration.names)}},Gy=class extends Ua{constructor(t,r,n,i){super(),this.varKind=t,this.name=r,this.from=n,this.to=i}render(t){let r=t.es5?gi.varKinds.var:this.varKind,{name:n,from:i,to:o}=this;return`for(${r} ${n}=${i}; ${n}<${o}; ${n}++)`+super.render(t)}get names(){let t=Hf(super.names,this.from);return Hf(t,this.to)}},Vf=class extends Ua{constructor(t,r,n,i){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=i}render(t){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=il(this.iterable,t,r),this}get names(){return Wa(super.names,this.iterable.names)}},Jd=class extends lo{constructor(t,r,n){super(),this.name=t,this.args=r,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};Jd.kind="func";var Yd=class extends Kd{render(t){return"return "+super.render(t)}};Yd.kind="return";var Fy=class extends lo{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var n,i;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(i=this.finally)===null||i===void 0||i.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&Wa(t,this.catch.names),this.finally&&Wa(t,this.finally.names),t}},Xd=class extends lo{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};Xd.kind="catch";var Qd=class extends lo{render(t){return"finally"+super.render(t)}};Qd.kind="finally";var Dy=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
4
+ `:""},this._extScope=t,this._scope=new gi.Scope({parent:t}),this._nodes=[new zy]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let n=this._extScope.value(t,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(t,r){return this._extScope.getValue(t,r)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,r,n,i){let o=this._scope.toName(r);return n!==void 0&&i&&(this._constants[o.str]=n),this._leafNode(new Py(t,o,n)),o}const(t,r,n){return this._def(gi.varKinds.const,t,r,n)}let(t,r,n){return this._def(gi.varKinds.let,t,r,n)}var(t,r,n){return this._def(gi.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new Zf(t,r,n))}add(t,r){return this._leafNode(new Ry(t,ot.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==bt.nil&&this._leafNode(new jy(t)),this}object(...t){let r=["{"];for(let[n,i]of t)r.length>1&&r.push(","),r.push(n),(n!==i||this.opts.es5)&&(r.push(":"),(0,bt.addCodeArg)(r,i));return r.push("}"),new bt._Code(r)}if(t,r,n){if(this._blockNode(new La(t)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(t){return this._elseNode(new La(t))}else(){return this._elseNode(new nl)}endIf(){return this._endBlockNode(La,nl)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new Ny(t),r)}forRange(t,r,n,i,o=this.opts.es5?gi.varKinds.var:gi.varKinds.let){let a=this._scope.toName(t);return this._for(new Gy(o,a,r,n),()=>i(a))}forOf(t,r,n,i=gi.varKinds.const){let o=this._scope.toName(t);if(this.opts.es5){let a=r instanceof bt.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,bt._)`${a}.length`,s=>{this.var(o,(0,bt._)`${a}[${s}]`),n(o)})}return this._for(new Vf("of",i,o,r),()=>n(o))}forIn(t,r,n,i=this.opts.es5?gi.varKinds.var:gi.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,bt._)`Object.keys(${r})`,n);let o=this._scope.toName(t);return this._for(new Vf("in",i,o,r),()=>n(o))}endFor(){return this._endBlockNode(Ua)}label(t){return this._leafNode(new Iy(t))}break(t){return this._leafNode(new $y(t))}return(t){let r=new Yd;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Yd)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let i=new Fy;if(this._blockNode(i),this.code(t),r){let o=this.name("e");this._currNode=i.catch=new Xd(o),r(o)}return n&&(this._currNode=i.finally=new Qd,this.code(n)),this._endBlockNode(Xd,Qd)}throw(t){return this._leafNode(new My(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||t!==void 0&&n!==t)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=bt.nil,n,i){return this._blockNode(new Jd(t,r,n)),i&&this.code(i).endFunc(),this}endFunc(){return this._endBlockNode(Jd)}optimize(t=1){for(;t-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(t){return this._currNode.nodes.push(t),this}_blockNode(t){this._currNode.nodes.push(t),this._nodes.push(t)}_endBlockNode(t,r){let n=this._currNode;if(n instanceof t||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${t.kind}/${r.kind}`:t.kind}"`)}_elseNode(t){let r=this._currNode;if(!(r instanceof La))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let r=this._nodes;r[r.length-1]=t}};ot.CodeGen=Dy;function Wa(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function Hf(e,t){return t instanceof bt._CodeOrName?Wa(e,t.names):e}function il(e,t,r){if(e instanceof bt.Name)return n(e);if(!i(e))return e;return new bt._Code(e._items.reduce((o,a)=>(a instanceof bt.Name&&(a=n(a)),a instanceof bt._Code?o.push(...a._items):o.push(a),o),[]));function n(o){let a=r[o.str];return a===void 0||t[o.str]!==1?o:(delete t[o.str],a)}function i(o){return o instanceof bt._Code&&o._items.some(a=>a instanceof bt.Name&&t[a.str]===1&&r[a.str]!==void 0)}}function cL(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function eO(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,bt._)`!${qy(e)}`}ot.not=eO;var fL=tO(ot.operators.AND);function mL(...e){return e.reduce(fL)}ot.and=mL;var pL=tO(ot.operators.OR);function hL(...e){return e.reduce(pL)}ot.or=hL;function tO(e){return(t,r)=>t===bt.nil?r:r===bt.nil?t:(0,bt._)`${qy(t)} ${e} ${qy(r)}`}function qy(e){return e instanceof bt.Name?e:(0,bt._)`(${e})`}});var Tt=ce(dt=>{"use strict";Object.defineProperty(dt,"__esModule",{value:!0});dt.checkStrictMode=dt.getErrorPath=dt.Type=dt.useFunc=dt.setEvaluated=dt.evaluatedPropsToName=dt.mergeEvaluated=dt.eachItem=dt.unescapeJsonPointer=dt.escapeJsonPointer=dt.escapeFragment=dt.unescapeFragment=dt.schemaRefOrVal=dt.schemaHasRulesButRef=dt.schemaHasRules=dt.checkUnknownRules=dt.alwaysValidSchema=dt.toHash=void 0;var Lt=it(),_L=Bd();function gL(e){let t={};for(let r of e)t[r]=!0;return t}dt.toHash=gL;function yL(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(iO(e,t),!oO(t,e.self.RULES.all))}dt.alwaysValidSchema=yL;function iO(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let i=n.RULES.keywords;for(let o in t)i[o]||lO(e,`unknown keyword: "${o}"`)}dt.checkUnknownRules=iO;function oO(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}dt.schemaHasRules=oO;function bL(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}dt.schemaHasRulesButRef=bL;function vL({topSchemaRef:e,schemaPath:t},r,n,i){if(!i){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,Lt._)`${r}`}return(0,Lt._)`${e}${t}${(0,Lt.getProperty)(n)}`}dt.schemaRefOrVal=vL;function SL(e){return aO(decodeURIComponent(e))}dt.unescapeFragment=SL;function wL(e){return encodeURIComponent(Uy(e))}dt.escapeFragment=wL;function Uy(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}dt.escapeJsonPointer=Uy;function aO(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}dt.unescapeJsonPointer=aO;function kL(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}dt.eachItem=kL;function rO({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(i,o,a,s)=>{let l=a===void 0?o:a instanceof Lt.Name?(o instanceof Lt.Name?e(i,o,a):t(i,o,a),a):o instanceof Lt.Name?(t(i,a,o),o):r(o,a);return s===Lt.Name&&!(l instanceof Lt.Name)?n(i,l):l}}dt.mergeEvaluated={props:rO({mergeNames:(e,t,r)=>e.if((0,Lt._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,Lt._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,Lt._)`${r} || {}`).code((0,Lt._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,Lt._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,Lt._)`${r} || {}`),Wy(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:sO}),items:rO({mergeNames:(e,t,r)=>e.if((0,Lt._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,Lt._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,Lt._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,Lt._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function sO(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,Lt._)`{}`);return t!==void 0&&Wy(e,r,t),r}dt.evaluatedPropsToName=sO;function Wy(e,t,r){Object.keys(r).forEach(n=>e.assign((0,Lt._)`${t}${(0,Lt.getProperty)(n)}`,!0))}dt.setEvaluated=Wy;var nO={};function xL(e,t){return e.scopeValue("func",{ref:t,code:nO[t.code]||(nO[t.code]=new _L._Code(t.code))})}dt.useFunc=xL;var Ly;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(Ly||(dt.Type=Ly={}));function TL(e,t,r){if(e instanceof Lt.Name){let n=t===Ly.Num;return r?n?(0,Lt._)`"[" + ${e} + "]"`:(0,Lt._)`"['" + ${e} + "']"`:n?(0,Lt._)`"/" + ${e}`:(0,Lt._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,Lt.getProperty)(e).toString():"/"+Uy(e)}dt.getErrorPath=TL;function lO(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}dt.checkStrictMode=lO});var uo=ce(Zy=>{"use strict";Object.defineProperty(Zy,"__esModule",{value:!0});var Yr=it(),AL={data:new Yr.Name("data"),valCxt:new Yr.Name("valCxt"),instancePath:new Yr.Name("instancePath"),parentData:new Yr.Name("parentData"),parentDataProperty:new Yr.Name("parentDataProperty"),rootData:new Yr.Name("rootData"),dynamicAnchors:new Yr.Name("dynamicAnchors"),vErrors:new Yr.Name("vErrors"),errors:new Yr.Name("errors"),this:new Yr.Name("this"),self:new Yr.Name("self"),scope:new Yr.Name("scope"),json:new Yr.Name("json"),jsonPos:new Yr.Name("jsonPos"),jsonLen:new Yr.Name("jsonLen"),jsonPart:new Yr.Name("jsonPart")};Zy.default=AL});var eu=ce(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.extendErrors=Xr.resetErrorsCount=Xr.reportExtraError=Xr.reportError=Xr.keyword$DataError=Xr.keywordError=void 0;var St=it(),Kf=Tt(),ln=uo();Xr.keywordError={message:({keyword:e})=>(0,St.str)`must pass "${e}" keyword validation`};Xr.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,St.str)`"${e}" keyword must be ${t} ($data)`:(0,St.str)`"${e}" keyword is invalid ($data)`};function OL(e,t=Xr.keywordError,r,n){let{it:i}=e,{gen:o,compositeRule:a,allErrors:s}=i,l=cO(e,t,r);n??(a||s)?dO(o,l):uO(i,(0,St._)`[${l}]`)}Xr.reportError=OL;function CL(e,t=Xr.keywordError,r){let{it:n}=e,{gen:i,compositeRule:o,allErrors:a}=n,s=cO(e,t,r);dO(i,s),o||a||uO(n,ln.default.vErrors)}Xr.reportExtraError=CL;function EL(e,t){e.assign(ln.default.errors,t),e.if((0,St._)`${ln.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,St._)`${ln.default.vErrors}.length`,t),()=>e.assign(ln.default.vErrors,null)))}Xr.resetErrorsCount=EL;function PL({gen:e,keyword:t,schemaValue:r,data:n,errsCount:i,it:o}){if(i===void 0)throw new Error("ajv implementation error");let a=e.name("err");e.forRange("i",i,ln.default.errors,s=>{e.const(a,(0,St._)`${ln.default.vErrors}[${s}]`),e.if((0,St._)`${a}.instancePath === undefined`,()=>e.assign((0,St._)`${a}.instancePath`,(0,St.strConcat)(ln.default.instancePath,o.errorPath))),e.assign((0,St._)`${a}.schemaPath`,(0,St.str)`${o.errSchemaPath}/${t}`),o.opts.verbose&&(e.assign((0,St._)`${a}.schema`,r),e.assign((0,St._)`${a}.data`,n))})}Xr.extendErrors=PL;function dO(e,t){let r=e.const("err",t);e.if((0,St._)`${ln.default.vErrors} === null`,()=>e.assign(ln.default.vErrors,(0,St._)`[${r}]`),(0,St._)`${ln.default.vErrors}.push(${r})`),e.code((0,St._)`${ln.default.errors}++`)}function uO(e,t){let{gen:r,validateName:n,schemaEnv:i}=e;i.$async?r.throw((0,St._)`new ${e.ValidationError}(${t})`):(r.assign((0,St._)`${n}.errors`,t),r.return(!1))}var Za={keyword:new St.Name("keyword"),schemaPath:new St.Name("schemaPath"),params:new St.Name("params"),propertyName:new St.Name("propertyName"),message:new St.Name("message"),schema:new St.Name("schema"),parentSchema:new St.Name("parentSchema")};function cO(e,t,r){let{createErrors:n}=e.it;return n===!1?(0,St._)`{}`:RL(e,t,r)}function RL(e,t,r={}){let{gen:n,it:i}=e,o=[IL(i,r),$L(e,r)];return ML(e,t,o),n.object(...o)}function IL({errorPath:e},{instancePath:t}){let r=t?(0,St.str)`${e}${(0,Kf.getErrorPath)(t,Kf.Type.Str)}`:e;return[ln.default.instancePath,(0,St.strConcat)(ln.default.instancePath,r)]}function $L({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let i=n?t:(0,St.str)`${t}/${e}`;return r&&(i=(0,St.str)`${i}${(0,Kf.getErrorPath)(r,Kf.Type.Str)}`),[Za.schemaPath,i]}function ML(e,{params:t,message:r},n){let{keyword:i,data:o,schemaValue:a,it:s}=e,{opts:l,propertyName:d,topSchemaRef:u,schemaPath:c}=s;n.push([Za.keyword,i],[Za.params,typeof t=="function"?t(e):t||(0,St._)`{}`]),l.messages&&n.push([Za.message,typeof r=="function"?r(e):r]),l.verbose&&n.push([Za.schema,a],[Za.parentSchema,(0,St._)`${u}${c}`],[ln.default.data,o]),d&&n.push([Za.propertyName,d])}});var mO=ce(ol=>{"use strict";Object.defineProperty(ol,"__esModule",{value:!0});ol.boolOrEmptySchema=ol.topBoolOrEmptySchema=void 0;var jL=eu(),zL=it(),NL=uo(),GL={message:"boolean schema is false"};function FL(e){let{gen:t,schema:r,validateName:n}=e;r===!1?fO(e,!1):typeof r=="object"&&r.$async===!0?t.return(NL.default.data):(t.assign((0,zL._)`${n}.errors`,null),t.return(!0))}ol.topBoolOrEmptySchema=FL;function DL(e,t){let{gen:r,schema:n}=e;n===!1?(r.var(t,!1),fO(e)):r.var(t,!0)}ol.boolOrEmptySchema=DL;function fO(e,t){let{gen:r,data:n}=e,i={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,jL.reportError)(i,GL,void 0,t)}});var Vy=ce(al=>{"use strict";Object.defineProperty(al,"__esModule",{value:!0});al.getRules=al.isJSONType=void 0;var qL=["string","number","integer","boolean","null","object","array"],LL=new Set(qL);function UL(e){return typeof e=="string"&&LL.has(e)}al.isJSONType=UL;function WL(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}al.getRules=WL});var Hy=ce(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.shouldUseRule=No.shouldUseGroup=No.schemaHasRulesForType=void 0;function ZL({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&pO(e,n)}No.schemaHasRulesForType=ZL;function pO(e,t){return t.rules.some(r=>hO(e,r))}No.shouldUseGroup=pO;function hO(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}No.shouldUseRule=hO});var tu=ce(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.reportTypeError=Qr.checkDataTypes=Qr.checkDataType=Qr.coerceAndCheckDataType=Qr.getJSONTypes=Qr.getSchemaTypes=Qr.DataType=void 0;var VL=Vy(),HL=Hy(),BL=eu(),et=it(),_O=Tt(),sl;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(sl||(Qr.DataType=sl={}));function KL(e){let t=gO(e.type);if(t.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&t.push("null")}return t}Qr.getSchemaTypes=KL;function gO(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(VL.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}Qr.getJSONTypes=gO;function JL(e,t){let{gen:r,data:n,opts:i}=e,o=YL(t,i.coerceTypes),a=t.length>0&&!(o.length===0&&t.length===1&&(0,HL.schemaHasRulesForType)(e,t[0]));if(a){let s=Ky(t,n,i.strictNumbers,sl.Wrong);r.if(s,()=>{o.length?XL(e,t,o):Jy(e)})}return a}Qr.coerceAndCheckDataType=JL;var yO=new Set(["string","number","integer","boolean","null"]);function YL(e,t){return t?e.filter(r=>yO.has(r)||t==="array"&&r==="array"):[]}function XL(e,t,r){let{gen:n,data:i,opts:o}=e,a=n.let("dataType",(0,et._)`typeof ${i}`),s=n.let("coerced",(0,et._)`undefined`);o.coerceTypes==="array"&&n.if((0,et._)`${a} == 'object' && Array.isArray(${i}) && ${i}.length == 1`,()=>n.assign(i,(0,et._)`${i}[0]`).assign(a,(0,et._)`typeof ${i}`).if(Ky(t,i,o.strictNumbers),()=>n.assign(s,i))),n.if((0,et._)`${s} !== undefined`);for(let d of r)(yO.has(d)||d==="array"&&o.coerceTypes==="array")&&l(d);n.else(),Jy(e),n.endIf(),n.if((0,et._)`${s} !== undefined`,()=>{n.assign(i,s),QL(e,s)});function l(d){switch(d){case"string":n.elseIf((0,et._)`${a} == "number" || ${a} == "boolean"`).assign(s,(0,et._)`"" + ${i}`).elseIf((0,et._)`${i} === null`).assign(s,(0,et._)`""`);return;case"number":n.elseIf((0,et._)`${a} == "boolean" || ${i} === null
5
5
  || (${a} == "string" && ${i} && ${i} == +${i})`).assign(s,(0,et._)`+${i}`);return;case"integer":n.elseIf((0,et._)`${a} === "boolean" || ${i} === null
6
6
  || (${a} === "string" && ${i} && ${i} == +${i} && !(${i} % 1))`).assign(s,(0,et._)`+${i}`);return;case"boolean":n.elseIf((0,et._)`${i} === "false" || ${i} === 0 || ${i} === null`).assign(s,!1).elseIf((0,et._)`${i} === "true" || ${i} === 1`).assign(s,!0);return;case"null":n.elseIf((0,et._)`${i} === "" || ${i} === 0 || ${i} === false`),n.assign(s,null);return;case"array":n.elseIf((0,et._)`${a} === "string" || ${a} === "number"
7
- || ${a} === "boolean" || ${i} === null`).assign(s,(0,et._)`[${i}]`)}}}function HL({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,et._)`${t} !== undefined`,()=>e.assign((0,et._)`${t}[${r}]`,n))}function Hy(e,t,r,n=sl.Correct){let i=n===sl.Correct?et.operators.EQ:et.operators.NEQ,o;switch(e){case"null":return(0,et._)`${t} ${i} null`;case"array":o=(0,et._)`Array.isArray(${t})`;break;case"object":o=(0,et._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":o=a((0,et._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":o=a();break;default:return(0,et._)`typeof ${t} ${i} ${e}`}return n===sl.Correct?o:(0,et.not)(o);function a(s=et.nil){return(0,et.and)((0,et._)`typeof ${t} == "number"`,s,r?(0,et._)`isFinite(${t})`:et.nil)}}Qr.checkDataType=Hy;function By(e,t,r,n){if(e.length===1)return Hy(e[0],t,r,n);let i,o=(0,hO.toHash)(e);if(o.array&&o.object){let a=(0,et._)`typeof ${t} != "object"`;i=o.null?a:(0,et._)`!${t} || ${a}`,delete o.null,delete o.array,delete o.object}else i=et.nil;o.number&&delete o.integer;for(let a in o)i=(0,et.and)(i,Hy(a,t,r,n));return i}Qr.checkDataTypes=By;var BL={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,et._)`{type: ${e}}`:(0,et._)`{type: ${t}}`};function Ky(e){let t=KL(e);(0,LL.reportError)(t,BL)}Qr.reportTypeError=Ky;function KL(e){let{gen:t,data:r,schema:n}=e,i=(0,hO.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:i,schemaValue:i,parentSchema:n,params:{},it:e}}});var bO=ce(Jf=>{"use strict";Object.defineProperty(Jf,"__esModule",{value:!0});Jf.assignDefaults=void 0;var ll=it(),JL=Tt();function YL(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let i in r)yO(e,i,r[i].default);else t==="array"&&Array.isArray(n)&&n.forEach((i,o)=>yO(e,o,i.default))}Jf.assignDefaults=YL;function yO(e,t,r){let{gen:n,compositeRule:i,data:o,opts:a}=e;if(r===void 0)return;let s=(0,ll._)`${o}${(0,ll.getProperty)(t)}`;if(i){(0,JL.checkStrictMode)(e,`default is ignored for: ${s}`);return}let l=(0,ll._)`${s} === undefined`;a.useDefaults==="empty"&&(l=(0,ll._)`${l} || ${s} === null || ${s} === ""`),n.if(l,(0,ll._)`${s} = ${(0,ll.stringify)(r)}`)}});var Xn=ce(jt=>{"use strict";Object.defineProperty(jt,"__esModule",{value:!0});jt.validateUnion=jt.validateArray=jt.usePattern=jt.callValidateCode=jt.schemaProperties=jt.allSchemaProperties=jt.noPropertyInData=jt.propertyInData=jt.isOwnProperty=jt.hasPropFunc=jt.reportMissingProp=jt.checkMissingProp=jt.checkReportMissingProp=void 0;var rr=it(),Jy=Tt(),Go=uo(),XL=Tt();function QL(e,t){let{gen:r,data:n,it:i}=e;r.if(Xy(r,n,t,i.opts.ownProperties),()=>{e.setParams({missingProperty:(0,rr._)`${t}`},!0),e.error()})}jt.checkReportMissingProp=QL;function eU({gen:e,data:t,it:{opts:r}},n,i){return(0,rr.or)(...n.map(o=>(0,rr.and)(Xy(e,t,o,r.ownProperties),(0,rr._)`${i} = ${o}`)))}jt.checkMissingProp=eU;function tU(e,t){e.setParams({missingProperty:t},!0),e.error()}jt.reportMissingProp=tU;function vO(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,rr._)`Object.prototype.hasOwnProperty`})}jt.hasPropFunc=vO;function Yy(e,t,r){return(0,rr._)`${vO(e)}.call(${t}, ${r})`}jt.isOwnProperty=Yy;function rU(e,t,r,n){let i=(0,rr._)`${t}${(0,rr.getProperty)(r)} !== undefined`;return n?(0,rr._)`${i} && ${Yy(e,t,r)}`:i}jt.propertyInData=rU;function Xy(e,t,r,n){let i=(0,rr._)`${t}${(0,rr.getProperty)(r)} === undefined`;return n?(0,rr.or)(i,(0,rr.not)(Yy(e,t,r))):i}jt.noPropertyInData=Xy;function SO(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}jt.allSchemaProperties=SO;function nU(e,t){return SO(t).filter(r=>!(0,Jy.alwaysValidSchema)(e,t[r]))}jt.schemaProperties=nU;function iU({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:i,errorPath:o},it:a},s,l,d){let u=d?(0,rr._)`${e}, ${t}, ${n}${i}`:t,c=[[Go.default.instancePath,(0,rr.strConcat)(Go.default.instancePath,o)],[Go.default.parentData,a.parentData],[Go.default.parentDataProperty,a.parentDataProperty],[Go.default.rootData,Go.default.rootData]];a.opts.dynamicRef&&c.push([Go.default.dynamicAnchors,Go.default.dynamicAnchors]);let f=(0,rr._)`${u}, ${r.object(...c)}`;return l!==rr.nil?(0,rr._)`${s}.call(${l}, ${f})`:(0,rr._)`${s}(${f})`}jt.callValidateCode=iU;var oU=(0,rr._)`new RegExp`;function aU({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:i}=t.code,o=i(r,n);return e.scopeValue("pattern",{key:o.toString(),ref:o,code:(0,rr._)`${i.code==="new RegExp"?oU:(0,XL.useFunc)(e,i)}(${r}, ${n})`})}jt.usePattern=aU;function sU(e){let{gen:t,data:r,keyword:n,it:i}=e,o=t.name("valid");if(i.allErrors){let s=t.let("valid",!0);return a(()=>t.assign(s,!1)),s}return t.var(o,!0),a(()=>t.break()),o;function a(s){let l=t.const("len",(0,rr._)`${r}.length`);t.forRange("i",0,l,d=>{e.subschema({keyword:n,dataProp:d,dataPropType:Jy.Type.Num},o),t.if((0,rr.not)(o),s)})}}jt.validateArray=sU;function lU(e){let{gen:t,schema:r,keyword:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(l=>(0,Jy.alwaysValidSchema)(i,l))&&!i.opts.unevaluated)return;let a=t.let("valid",!1),s=t.name("_valid");t.block(()=>r.forEach((l,d)=>{let u=e.subschema({keyword:n,schemaProp:d,compositeRule:!0},s);t.assign(a,(0,rr._)`${a} || ${s}`),e.mergeValidEvaluated(u,s)||t.if((0,rr.not)(a))})),e.result(a,()=>e.reset(),()=>e.error(!0))}jt.validateUnion=lU});var xO=ce(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.validateKeywordUsage=zi.validSchemaType=zi.funcKeywordCode=zi.macroKeywordCode=void 0;var dn=it(),Va=uo(),dU=Xn(),uU=eu();function cU(e,t){let{gen:r,keyword:n,schema:i,parentSchema:o,it:a}=e,s=t.macro.call(a.self,i,o,a),l=kO(r,n,s);a.opts.validateSchema!==!1&&a.self.validateSchema(s,!0);let d=r.name("valid");e.subschema({schema:s,schemaPath:dn.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:l,compositeRule:!0},d),e.pass(d,()=>e.error(!0))}zi.macroKeywordCode=cU;function fU(e,t){var r;let{gen:n,keyword:i,schema:o,parentSchema:a,$data:s,it:l}=e;pU(l,t);let d=!s&&t.compile?t.compile.call(l.self,o,a,l):t.validate,u=kO(n,i,d),c=n.let("valid");e.block$data(c,f),e.ok((r=t.valid)!==null&&r!==void 0?r:c);function f(){if(t.errors===!1)h(),t.modifying&&wO(e),_(()=>e.error());else{let g=t.async?p():m();t.modifying&&wO(e),_(()=>mU(e,g))}}function p(){let g=n.let("ruleErrs",null);return n.try(()=>h((0,dn._)`await `),b=>n.assign(c,!1).if((0,dn._)`${b} instanceof ${l.ValidationError}`,()=>n.assign(g,(0,dn._)`${b}.errors`),()=>n.throw(b))),g}function m(){let g=(0,dn._)`${u}.errors`;return n.assign(g,null),h(dn.nil),g}function h(g=t.async?(0,dn._)`await `:dn.nil){let b=l.opts.passContext?Va.default.this:Va.default.self,y=!("compile"in t&&!s||t.schema===!1);n.assign(c,(0,dn._)`${g}${(0,dU.callValidateCode)(e,u,b,y)}`,t.modifying)}function _(g){var b;n.if((0,dn.not)((b=t.valid)!==null&&b!==void 0?b:c),g)}}zi.funcKeywordCode=fU;function wO(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,dn._)`${n.parentData}[${n.parentDataProperty}]`))}function mU(e,t){let{gen:r}=e;r.if((0,dn._)`Array.isArray(${t})`,()=>{r.assign(Va.default.vErrors,(0,dn._)`${Va.default.vErrors} === null ? ${t} : ${Va.default.vErrors}.concat(${t})`).assign(Va.default.errors,(0,dn._)`${Va.default.vErrors}.length`),(0,uU.extendErrors)(e)},()=>e.error())}function pU({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function kO(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,dn.stringify)(r)})}function hU(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}zi.validSchemaType=hU;function _U({schema:e,opts:t,self:r,errSchemaPath:n},i,o){if(Array.isArray(i.keyword)?!i.keyword.includes(o):i.keyword!==o)throw new Error("ajv implementation error");let a=i.dependencies;if(a?.some(s=>!Object.prototype.hasOwnProperty.call(e,s)))throw new Error(`parent schema must have dependencies of ${o}: ${a.join(",")}`);if(i.validateSchema&&!i.validateSchema(e[o])){let l=`keyword "${o}" value is invalid at path "${n}": `+r.errorsText(i.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(l);else throw new Error(l)}}zi.validateKeywordUsage=_U});var AO=ce(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.extendSubschemaMode=Fo.extendSubschemaData=Fo.getSubschema=void 0;var Ni=it(),TO=Tt();function gU(e,{keyword:t,schemaProp:r,schema:n,schemaPath:i,errSchemaPath:o,topSchemaRef:a}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let s=e.schema[t];return r===void 0?{schema:s,schemaPath:(0,Ni._)`${e.schemaPath}${(0,Ni.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:s[r],schemaPath:(0,Ni._)`${e.schemaPath}${(0,Ni.getProperty)(t)}${(0,Ni.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,TO.escapeFragment)(r)}`}}if(n!==void 0){if(i===void 0||o===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:i,topSchemaRef:a,errSchemaPath:o}}throw new Error('either "keyword" or "schema" must be passed')}Fo.getSubschema=gU;function yU(e,t,{dataProp:r,dataPropType:n,data:i,dataTypes:o,propertyName:a}){if(i!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:s}=t;if(r!==void 0){let{errorPath:d,dataPathArr:u,opts:c}=t,f=s.let("data",(0,Ni._)`${t.data}${(0,Ni.getProperty)(r)}`,!0);l(f),e.errorPath=(0,Ni.str)`${d}${(0,TO.getErrorPath)(r,n,c.jsPropertySyntax)}`,e.parentDataProperty=(0,Ni._)`${r}`,e.dataPathArr=[...u,e.parentDataProperty]}if(i!==void 0){let d=i instanceof Ni.Name?i:s.let("data",i,!0);l(d),a!==void 0&&(e.propertyName=a)}o&&(e.dataTypes=o);function l(d){e.data=d,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,d]}}Fo.extendSubschemaData=yU;function bU(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:i,allErrors:o}){n!==void 0&&(e.compositeRule=n),i!==void 0&&(e.createErrors=i),o!==void 0&&(e.allErrors=o),e.jtdDiscriminator=t,e.jtdMetadata=r}Fo.extendSubschemaMode=bU});var Qy=ce((zee,OO)=>{"use strict";OO.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,i,o;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(i=n;i--!==0;)if(!e(t[i],r[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(o=Object.keys(t),n=o.length,n!==Object.keys(r).length)return!1;for(i=n;i--!==0;)if(!Object.prototype.hasOwnProperty.call(r,o[i]))return!1;for(i=n;i--!==0;){var a=o[i];if(!e(t[a],r[a]))return!1}return!0}return t!==t&&r!==r}});var EO=ce((Nee,CO)=>{"use strict";var Do=CO.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},i=r.post||function(){};Yf(t,n,i,e,"",e)};Do.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Do.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Do.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Do.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Yf(e,t,r,n,i,o,a,s,l,d){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,i,o,a,s,l,d);for(var u in n){var c=n[u];if(Array.isArray(c)){if(u in Do.arrayKeywords)for(var f=0;f<c.length;f++)Yf(e,t,r,c[f],i+"/"+u+"/"+f,o,i,u,n,f)}else if(u in Do.propsKeywords){if(c&&typeof c=="object")for(var p in c)Yf(e,t,r,c[p],i+"/"+u+"/"+vU(p),o,i,u,n,p)}else(u in Do.keywords||e.allKeys&&!(u in Do.skipKeywords))&&Yf(e,t,r,c,i+"/"+u,o,i,u,n)}r(n,i,o,a,s,l,d)}}function vU(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var ru=ce(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.getSchemaRefs=An.resolveUrl=An.normalizeId=An._getFullPath=An.getFullPath=An.inlineRef=void 0;var SU=Tt(),wU=Qy(),kU=EO(),xU=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function TU(e,t=!0){return typeof e=="boolean"?!0:t===!0?!eb(e):t?PO(e)<=t:!1}An.inlineRef=TU;var AU=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function eb(e){for(let t in e){if(AU.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(eb)||typeof r=="object"&&eb(r))return!0}return!1}function PO(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!xU.has(r)&&(typeof e[r]=="object"&&(0,SU.eachItem)(e[r],n=>t+=PO(n)),t===1/0))return 1/0}return t}function RO(e,t="",r){r!==!1&&(t=dl(t));let n=e.parse(t);return IO(e,n)}An.getFullPath=RO;function IO(e,t){return e.serialize(t).split("#")[0]+"#"}An._getFullPath=IO;var OU=/#\/?$/;function dl(e){return e?e.replace(OU,""):""}An.normalizeId=dl;function CU(e,t,r){return r=dl(r),e.resolve(t,r)}An.resolveUrl=CU;var EU=/^[a-z_][-a-z0-9._]*$/i;function PU(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,i=dl(e[r]||t),o={"":i},a=RO(n,i,!1),s={},l=new Set;return kU(e,{allKeys:!0},(c,f,p,m)=>{if(m===void 0)return;let h=a+f,_=o[m];typeof c[r]=="string"&&(_=g.call(this,c[r])),b.call(this,c.$anchor),b.call(this,c.$dynamicAnchor),o[f]=_;function g(y){let v=this.opts.uriResolver.resolve;if(y=dl(_?v(_,y):y),l.has(y))throw u(y);l.add(y);let S=this.refs[y];return typeof S=="string"&&(S=this.refs[S]),typeof S=="object"?d(c,S.schema,y):y!==dl(h)&&(y[0]==="#"?(d(c,s[y],y),s[y]=c):this.refs[y]=h),y}function b(y){if(typeof y=="string"){if(!EU.test(y))throw new Error(`invalid anchor "${y}"`);g.call(this,`#${y}`)}}}),s;function d(c,f,p){if(f!==void 0&&!wU(c,f))throw u(p)}function u(c){return new Error(`reference "${c}" resolves to more than one schema`)}}An.getSchemaRefs=PU});var ou=ce(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.getData=qo.KeywordCxt=qo.validateFunctionCode=void 0;var NO=fO(),$O=tu(),rb=Vy(),Xf=tu(),RU=bO(),iu=xO(),tb=AO(),Te=it(),Ze=uo(),IU=ru(),co=Tt(),nu=eu();function $U(e){if(DO(e)&&(qO(e),FO(e))){zU(e);return}GO(e,()=>(0,NO.topBoolOrEmptySchema)(e))}qo.validateFunctionCode=$U;function GO({gen:e,validateName:t,schema:r,schemaEnv:n,opts:i},o){i.code.es5?e.func(t,(0,Te._)`${Ze.default.data}, ${Ze.default.valCxt}`,n.$async,()=>{e.code((0,Te._)`"use strict"; ${MO(r,i)}`),jU(e,i),e.code(o)}):e.func(t,(0,Te._)`${Ze.default.data}, ${MU(i)}`,n.$async,()=>e.code(MO(r,i)).code(o))}function MU(e){return(0,Te._)`{${Ze.default.instancePath}="", ${Ze.default.parentData}, ${Ze.default.parentDataProperty}, ${Ze.default.rootData}=${Ze.default.data}${e.dynamicRef?(0,Te._)`, ${Ze.default.dynamicAnchors}={}`:Te.nil}}={}`}function jU(e,t){e.if(Ze.default.valCxt,()=>{e.var(Ze.default.instancePath,(0,Te._)`${Ze.default.valCxt}.${Ze.default.instancePath}`),e.var(Ze.default.parentData,(0,Te._)`${Ze.default.valCxt}.${Ze.default.parentData}`),e.var(Ze.default.parentDataProperty,(0,Te._)`${Ze.default.valCxt}.${Ze.default.parentDataProperty}`),e.var(Ze.default.rootData,(0,Te._)`${Ze.default.valCxt}.${Ze.default.rootData}`),t.dynamicRef&&e.var(Ze.default.dynamicAnchors,(0,Te._)`${Ze.default.valCxt}.${Ze.default.dynamicAnchors}`)},()=>{e.var(Ze.default.instancePath,(0,Te._)`""`),e.var(Ze.default.parentData,(0,Te._)`undefined`),e.var(Ze.default.parentDataProperty,(0,Te._)`undefined`),e.var(Ze.default.rootData,Ze.default.data),t.dynamicRef&&e.var(Ze.default.dynamicAnchors,(0,Te._)`{}`)})}function zU(e){let{schema:t,opts:r,gen:n}=e;GO(e,()=>{r.$comment&&t.$comment&&UO(e),qU(e),n.let(Ze.default.vErrors,null),n.let(Ze.default.errors,0),r.unevaluated&&NU(e),LO(e),ZU(e)})}function NU(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,Te._)`${r}.evaluated`),t.if((0,Te._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,Te._)`${e.evaluated}.props`,(0,Te._)`undefined`)),t.if((0,Te._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,Te._)`${e.evaluated}.items`,(0,Te._)`undefined`))}function MO(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,Te._)`/*# sourceURL=${r} */`:Te.nil}function GU(e,t){if(DO(e)&&(qO(e),FO(e))){FU(e,t);return}(0,NO.boolOrEmptySchema)(e,t)}function FO({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function DO(e){return typeof e.schema!="boolean"}function FU(e,t){let{schema:r,gen:n,opts:i}=e;i.$comment&&r.$comment&&UO(e),LU(e),UU(e);let o=n.const("_errs",Ze.default.errors);LO(e,o),n.var(t,(0,Te._)`${o} === ${Ze.default.errors}`)}function qO(e){(0,co.checkUnknownRules)(e),DU(e)}function LO(e,t){if(e.opts.jtd)return jO(e,[],!1,t);let r=(0,$O.getSchemaTypes)(e.schema),n=(0,$O.coerceAndCheckDataType)(e,r);jO(e,r,!n,t)}function DU(e){let{schema:t,errSchemaPath:r,opts:n,self:i}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,co.schemaHasRulesButRef)(t,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function qU(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,co.checkStrictMode)(e,"default is ignored in the schema root")}function LU(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,IU.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function UU(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function UO({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:i}){let o=r.$comment;if(i.$comment===!0)e.code((0,Te._)`${Ze.default.self}.logger.log(${o})`);else if(typeof i.$comment=="function"){let a=(0,Te.str)`${n}/$comment`,s=e.scopeValue("root",{ref:t.root});e.code((0,Te._)`${Ze.default.self}.opts.$comment(${o}, ${a}, ${s}.schema)`)}}function ZU(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:i,opts:o}=e;r.$async?t.if((0,Te._)`${Ze.default.errors} === 0`,()=>t.return(Ze.default.data),()=>t.throw((0,Te._)`new ${i}(${Ze.default.vErrors})`)):(t.assign((0,Te._)`${n}.errors`,Ze.default.vErrors),o.unevaluated&&WU(e),t.return((0,Te._)`${Ze.default.errors} === 0`))}function WU({gen:e,evaluated:t,props:r,items:n}){r instanceof Te.Name&&e.assign((0,Te._)`${t}.props`,r),n instanceof Te.Name&&e.assign((0,Te._)`${t}.items`,n)}function jO(e,t,r,n){let{gen:i,schema:o,data:a,allErrors:s,opts:l,self:d}=e,{RULES:u}=d;if(o.$ref&&(l.ignoreKeywordsWithRef||!(0,co.schemaHasRulesButRef)(o,u))){i.block(()=>WO(e,"$ref",u.all.$ref.definition));return}l.jtd||VU(e,t),i.block(()=>{for(let f of u.rules)c(f);c(u.post)});function c(f){(0,rb.shouldUseGroup)(o,f)&&(f.type?(i.if((0,Xf.checkDataType)(f.type,a,l.strictNumbers)),zO(e,f),t.length===1&&t[0]===f.type&&r&&(i.else(),(0,Xf.reportTypeError)(e)),i.endIf()):zO(e,f),s||i.if((0,Te._)`${Ze.default.errors} === ${n||0}`))}}function zO(e,t){let{gen:r,schema:n,opts:{useDefaults:i}}=e;i&&(0,RU.assignDefaults)(e,t.type),r.block(()=>{for(let o of t.rules)(0,rb.shouldUseRule)(n,o)&&WO(e,o.keyword,o.definition,t.type)})}function VU(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(HU(e,t),e.opts.allowUnionTypes||BU(e,t),KU(e,e.dataTypes))}function HU(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{ZO(e.dataTypes,r)||nb(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),YU(e,t)}}function BU(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&nb(e,"use allowUnionTypes to allow union type keyword")}function KU(e,t){let r=e.self.RULES.all;for(let n in r){let i=r[n];if(typeof i=="object"&&(0,rb.shouldUseRule)(e.schema,i)){let{type:o}=i.definition;o.length&&!o.some(a=>JU(t,a))&&nb(e,`missing type "${o.join(",")}" for keyword "${n}"`)}}}function JU(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function ZO(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function YU(e,t){let r=[];for(let n of e.dataTypes)ZO(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function nb(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,co.checkStrictMode)(e,t,e.opts.strictTypes)}var Qf=class{constructor(t,r,n){if((0,iu.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,co.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",VO(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,iu.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",Ze.default.errors))}result(t,r,n){this.failResult((0,Te.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,Te.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0,Te._)`${r} !== undefined && (${(0,Te.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?nu.reportExtraError:nu.reportError)(this,this.def.error,r)}$dataError(){(0,nu.reportError)(this,this.def.$dataError||nu.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,nu.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=Te.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=Te.nil,r=Te.nil){if(!this.$data)return;let{gen:n,schemaCode:i,schemaType:o,def:a}=this;n.if((0,Te.or)((0,Te._)`${i} === undefined`,r)),t!==Te.nil&&n.assign(t,!0),(o.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==Te.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:i,it:o}=this;return(0,Te.or)(a(),s());function a(){if(n.length){if(!(r instanceof Te.Name))throw new Error("ajv implementation error");let l=Array.isArray(n)?n:[n];return(0,Te._)`${(0,Xf.checkDataTypes)(l,r,o.opts.strictNumbers,Xf.DataType.Wrong)}`}return Te.nil}function s(){if(i.validateSchema){let l=t.scopeValue("validate$data",{ref:i.validateSchema});return(0,Te._)`!${l}(${r})`}return Te.nil}}subschema(t,r){let n=(0,tb.getSubschema)(this.it,t);(0,tb.extendSubschemaData)(n,this.it,t),(0,tb.extendSubschemaMode)(n,t);let i={...this.it,...n,items:void 0,props:void 0};return GU(i,r),i}mergeEvaluated(t,r){let{it:n,gen:i}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=co.mergeEvaluated.props(i,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=co.mergeEvaluated.items(i,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:i}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return i.if(r,()=>this.mergeEvaluated(t,Te.Name)),!0}};qo.KeywordCxt=Qf;function WO(e,t,r,n){let i=new Qf(e,r,t);"code"in r?r.code(i,n):i.$data&&r.validate?(0,iu.funcKeywordCode)(i,r):"macro"in r?(0,iu.macroKeywordCode)(i,r):(r.compile||r.validate)&&(0,iu.funcKeywordCode)(i,r)}var XU=/^\/(?:[^~]|~0|~1)*$/,QU=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function VO(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let i,o;if(e==="")return Ze.default.rootData;if(e[0]==="/"){if(!XU.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);i=e,o=Ze.default.rootData}else{let d=QU.exec(e);if(!d)throw new Error(`Invalid JSON-pointer: ${e}`);let u=+d[1];if(i=d[2],i==="#"){if(u>=t)throw new Error(l("property/index",u));return n[t-u]}if(u>t)throw new Error(l("data",u));if(o=r[t-u],!i)return o}let a=o,s=i.split("/");for(let d of s)d&&(o=(0,Te._)`${o}${(0,Te.getProperty)((0,co.unescapeJsonPointer)(d))}`,a=(0,Te._)`${a} && ${o}`);return a;function l(d,u){return`Cannot access ${d} ${u} levels up, current level is ${t}`}}qo.getData=VO});var em=ce(ob=>{"use strict";Object.defineProperty(ob,"__esModule",{value:!0});var ib=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};ob.default=ib});var au=ce(lb=>{"use strict";Object.defineProperty(lb,"__esModule",{value:!0});var ab=ru(),sb=class extends Error{constructor(t,r,n,i){super(i||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,ab.resolveUrl)(t,r,n),this.missingSchema=(0,ab.normalizeId)((0,ab.getFullPath)(t,this.missingRef))}};lb.default=sb});var rm=ce(Qn=>{"use strict";Object.defineProperty(Qn,"__esModule",{value:!0});Qn.resolveSchema=Qn.getCompilingSchema=Qn.resolveRef=Qn.compileSchema=Qn.SchemaEnv=void 0;var yi=it(),e2=em(),Ha=uo(),bi=ru(),HO=Tt(),t2=ou(),ul=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,bi.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={}}};Qn.SchemaEnv=ul;function ub(e){let t=BO.call(this,e);if(t)return t;let r=(0,bi.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:i}=this.opts.code,{ownProperties:o}=this.opts,a=new yi.CodeGen(this.scope,{es5:n,lines:i,ownProperties:o}),s;e.$async&&(s=a.scopeValue("Error",{ref:e2.default,code:(0,yi._)`require("ajv/dist/runtime/validation_error").default`}));let l=a.scopeName("validate");e.validateName=l;let d={gen:a,allErrors:this.opts.allErrors,data:Ha.default.data,parentData:Ha.default.parentData,parentDataProperty:Ha.default.parentDataProperty,dataNames:[Ha.default.data],dataPathArr:[yi.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,yi.stringify)(e.schema)}:{ref:e.schema}),validateName:l,ValidationError:s,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:yi.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,yi._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(e),(0,t2.validateFunctionCode)(d),a.optimize(this.opts.code.optimize);let c=a.toString();u=`${a.scopeRefs(Ha.default.scope)}return ${c}`,this.opts.code.process&&(u=this.opts.code.process(u,e));let p=new Function(`${Ha.default.self}`,`${Ha.default.scope}`,u)(this,this.scope.get());if(this.scope.value(l,{ref:p}),p.errors=null,p.schema=e.schema,p.schemaEnv=e,e.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:l,validateCode:c,scopeValues:a._values}),this.opts.unevaluated){let{props:m,items:h}=d;p.evaluated={props:m instanceof yi.Name?void 0:m,items:h instanceof yi.Name?void 0:h,dynamicProps:m instanceof yi.Name,dynamicItems:h instanceof yi.Name},p.source&&(p.source.evaluated=(0,yi.stringify)(p.evaluated))}return e.validate=p,e}catch(c){throw delete e.validate,delete e.validateName,u&&this.logger.error("Error compiling schema, function code:",u),c}finally{this._compilations.delete(e)}}Qn.compileSchema=ub;function r2(e,t,r){var n;r=(0,bi.resolveUrl)(this.opts.uriResolver,t,r);let i=e.refs[r];if(i)return i;let o=o2.call(this,e,r);if(o===void 0){let a=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:s}=this.opts;a&&(o=new ul({schema:a,schemaId:s,root:e,baseId:t}))}if(o!==void 0)return e.refs[r]=n2.call(this,o)}Qn.resolveRef=r2;function n2(e){return(0,bi.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:ub.call(this,e)}function BO(e){for(let t of this._compilations)if(i2(t,e))return t}Qn.getCompilingSchema=BO;function i2(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function o2(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||tm.call(this,e,t)}function tm(e,t){let r=this.opts.uriResolver.parse(t),n=(0,bi._getFullPath)(this.opts.uriResolver,r),i=(0,bi.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===i)return db.call(this,r,e);let o=(0,bi.normalizeId)(n),a=this.refs[o]||this.schemas[o];if(typeof a=="string"){let s=tm.call(this,e,a);return typeof s?.schema!="object"?void 0:db.call(this,r,s)}if(typeof a?.schema=="object"){if(a.validate||ub.call(this,a),o===(0,bi.normalizeId)(t)){let{schema:s}=a,{schemaId:l}=this.opts,d=s[l];return d&&(i=(0,bi.resolveUrl)(this.opts.uriResolver,i,d)),new ul({schema:s,schemaId:l,root:e,baseId:i})}return db.call(this,r,a)}}Qn.resolveSchema=tm;var a2=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function db(e,{baseId:t,schema:r,root:n}){var i;if(((i=e.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(let s of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let l=r[(0,HO.unescapeFragment)(s)];if(l===void 0)return;r=l;let d=typeof r=="object"&&r[this.opts.schemaId];!a2.has(s)&&d&&(t=(0,bi.resolveUrl)(this.opts.uriResolver,t,d))}let o;if(typeof r!="boolean"&&r.$ref&&!(0,HO.schemaHasRulesButRef)(r,this.RULES)){let s=(0,bi.resolveUrl)(this.opts.uriResolver,t,r.$ref);o=tm.call(this,n,s)}let{schemaId:a}=this.opts;if(o=o||new ul({schema:r,schemaId:a,root:n,baseId:t}),o.schema!==o.root.schema)return o}});var KO=ce((Uee,s2)=>{s2.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var fb=ce((Zee,QO)=>{"use strict";var l2=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),YO=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function cb(e){let t="",r=0,n=0;for(n=0;n<e.length;n++)if(r=e[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n];break}for(n+=1;n<e.length;n++){if(r=e[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n]}return t}var d2=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function JO(e){return e.length=0,!0}function u2(e,t,r){if(e.length){let n=cb(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function c2(e){let t=0,r={error:!1,address:"",zone:""},n=[],i=[],o=!1,a=!1,s=u2;for(let l=0;l<e.length;l++){let d=e[l];if(!(d==="["||d==="]"))if(d===":"){if(o===!0&&(a=!0),!s(i,n,r))break;if(++t>7){r.error=!0;break}l>0&&e[l-1]===":"&&(o=!0),n.push(":");continue}else if(d==="%"){if(!s(i,n,r))break;s=JO}else{i.push(d);continue}}return i.length&&(s===JO?r.zone=i.join(""):a?n.push(i.join("")):n.push(cb(i))),r.address=n.join(""),r}function XO(e){if(f2(e,":")<2)return{host:e,isIPV6:!1};let t=c2(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:n}}}function f2(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function m2(e){let t=e,r=[],n=-1,i=0;for(;i=t.length;){if(i===1){if(t===".")break;if(t==="/"){r.push("/");break}else{r.push(t);break}}else if(i===2){if(t[0]==="."){if(t[1]===".")break;if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&(t[1]==="."||t[1]==="/")){r.push("/");break}}else if(i===3&&t==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(t[0]==="."){if(t[1]==="."){if(t[2]==="/"){t=t.slice(3);continue}}else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&t[1]==="."){if(t[2]==="/"){t=t.slice(2);continue}else if(t[2]==="."&&t[3]==="/"){t=t.slice(3),r.length!==0&&r.pop();continue}}if((n=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,n)),t=t.slice(n)}return r.join("")}function p2(e,t){let r=t!==!0?escape:unescape;return e.scheme!==void 0&&(e.scheme=r(e.scheme)),e.userinfo!==void 0&&(e.userinfo=r(e.userinfo)),e.host!==void 0&&(e.host=r(e.host)),e.path!==void 0&&(e.path=r(e.path)),e.query!==void 0&&(e.query=r(e.query)),e.fragment!==void 0&&(e.fragment=r(e.fragment)),e}function h2(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!YO(r)){let n=XO(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=e.host}t.push(r)}return(typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}QO.exports={nonSimpleDomain:d2,recomposeAuthority:h2,normalizeComponentEncoding:p2,removeDotSegments:m2,isIPv4:YO,isUUID:l2,normalizeIPv6:XO,stringArrayToHexStripped:cb}});var iC=ce((Wee,nC)=>{"use strict";var{isUUID:_2}=fb(),g2=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,y2=["http","https","ws","wss","urn","urn:uuid"];function b2(e){return y2.indexOf(e)!==-1}function mb(e){return e.secure===!0?!0:e.secure===!1?!1:e.scheme?e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S"):!1}function eC(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function tC(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function v2(e){return e.secure=mb(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function S2(e){if((e.port===(mb(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function w2(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(g2);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let i=`${n}:${t.nid||e.nid}`,o=pb(i);e.path=void 0,o&&(e=o.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function k2(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),i=`${r}:${t.nid||n}`,o=pb(i);o&&(e=o.serialize(e,t));let a=e,s=e.nss;return a.path=`${n||t.nid}:${s}`,t.skipEscape=!0,a}function x2(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!_2(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function T2(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var rC={scheme:"http",domainHost:!0,parse:eC,serialize:tC},A2={scheme:"https",domainHost:rC.domainHost,parse:eC,serialize:tC},nm={scheme:"ws",domainHost:!0,parse:v2,serialize:S2},O2={scheme:"wss",domainHost:nm.domainHost,parse:nm.parse,serialize:nm.serialize},C2={scheme:"urn",parse:w2,serialize:k2,skipNormalize:!0},E2={scheme:"urn:uuid",parse:x2,serialize:T2,skipNormalize:!0},im={http:rC,https:A2,ws:nm,wss:O2,urn:C2,"urn:uuid":E2};Object.setPrototypeOf(im,null);function pb(e){return e&&(im[e]||im[e.toLowerCase()])||void 0}nC.exports={wsIsSecure:mb,SCHEMES:im,isValidSchemeName:b2,getSchemeHandler:pb}});var sC=ce((Vee,am)=>{"use strict";var{normalizeIPv6:P2,removeDotSegments:su,recomposeAuthority:R2,normalizeComponentEncoding:om,isIPv4:I2,nonSimpleDomain:$2}=fb(),{SCHEMES:M2,getSchemeHandler:oC}=iC();function j2(e,t){return typeof e=="string"?e=Gi(fo(e,t),t):typeof e=="object"&&(e=fo(Gi(e,t),t)),e}function z2(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},i=aC(fo(e,n),fo(t,n),n,!0);return n.skipEscape=!0,Gi(i,n)}function aC(e,t,r,n){let i={};return n||(e=fo(Gi(e,r),r),t=fo(Gi(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(i.scheme=t.scheme,i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=su(t.path||""),i.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=su(t.path||""),i.query=t.query):(t.path?(t.path[0]==="/"?i.path=su(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?i.path="/"+t.path:e.path?i.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:i.path=t.path,i.path=su(i.path)),i.query=t.query):(i.path=e.path,t.query!==void 0?i.query=t.query:i.query=e.query),i.userinfo=e.userinfo,i.host=e.host,i.port=e.port),i.scheme=e.scheme),i.fragment=t.fragment,i}function N2(e,t,r){return typeof e=="string"?(e=unescape(e),e=Gi(om(fo(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Gi(om(e,!0),{...r,skipEscape:!0})),typeof t=="string"?(t=unescape(t),t=Gi(om(fo(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Gi(om(t,!0),{...r,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function Gi(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),i=[],o=oC(n.scheme||r.scheme);o&&o.serialize&&o.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&i.push(r.scheme,":");let a=R2(r);if(a!==void 0&&(n.reference!=="suffix"&&i.push("//"),i.push(a),r.path&&r.path[0]!=="/"&&i.push("/")),r.path!==void 0){let s=r.path;!n.absolutePath&&(!o||!o.absolutePath)&&(s=su(s)),a===void 0&&s[0]==="/"&&s[1]==="/"&&(s="/%2F"+s.slice(2)),i.push(s)}return r.query!==void 0&&i.push("?",r.query),r.fragment!==void 0&&i.push("#",r.fragment),i.join("")}var G2=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function fo(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},i=!1;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let o=e.match(G2);if(o){if(n.scheme=o[1],n.userinfo=o[3],n.host=o[4],n.port=parseInt(o[5],10),n.path=o[6]||"",n.query=o[7],n.fragment=o[8],isNaN(n.port)&&(n.port=o[5]),n.host)if(I2(n.host)===!1){let l=P2(n.host);n.host=l.host.toLowerCase(),i=l.isIPV6}else i=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=oC(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&i===!1&&$2(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(s){n.error=n.error||"Host's domain name can not be converted to ASCII: "+s}(!a||a&&!a.skipNormalize)&&(e.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var hb={SCHEMES:M2,normalize:j2,resolve:z2,resolveComponent:aC,equal:N2,serialize:Gi,parse:fo};am.exports=hb;am.exports.default=hb;am.exports.fastUri=hb});var dC=ce(_b=>{"use strict";Object.defineProperty(_b,"__esModule",{value:!0});var lC=sC();lC.code='require("ajv/dist/runtime/uri").default';_b.default=lC});var gC=ce(Zr=>{"use strict";Object.defineProperty(Zr,"__esModule",{value:!0});Zr.CodeGen=Zr.Name=Zr.nil=Zr.stringify=Zr.str=Zr._=Zr.KeywordCxt=void 0;var F2=ou();Object.defineProperty(Zr,"KeywordCxt",{enumerable:!0,get:function(){return F2.KeywordCxt}});var cl=it();Object.defineProperty(Zr,"_",{enumerable:!0,get:function(){return cl._}});Object.defineProperty(Zr,"str",{enumerable:!0,get:function(){return cl.str}});Object.defineProperty(Zr,"stringify",{enumerable:!0,get:function(){return cl.stringify}});Object.defineProperty(Zr,"nil",{enumerable:!0,get:function(){return cl.nil}});Object.defineProperty(Zr,"Name",{enumerable:!0,get:function(){return cl.Name}});Object.defineProperty(Zr,"CodeGen",{enumerable:!0,get:function(){return cl.CodeGen}});var D2=em(),pC=au(),q2=Wy(),lu=rm(),L2=it(),du=ru(),sm=tu(),yb=Tt(),uC=KO(),U2=dC(),hC=(e,t)=>new RegExp(e,t);hC.code="new RegExp";var Z2=["removeAdditional","useDefaults","coerceTypes"],W2=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),V2={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},H2={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},cC=200;function B2(e){var t,r,n,i,o,a,s,l,d,u,c,f,p,m,h,_,g,b,y,v,S,A,R,Z,L;let ae=e.strict,U=(t=e.code)===null||t===void 0?void 0:t.optimize,B=U===!0||U===void 0?1:U||0,oe=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:hC,W=(i=e.uriResolver)!==null&&i!==void 0?i:U2.default;return{strictSchema:(a=(o=e.strictSchema)!==null&&o!==void 0?o:ae)!==null&&a!==void 0?a:!0,strictNumbers:(l=(s=e.strictNumbers)!==null&&s!==void 0?s:ae)!==null&&l!==void 0?l:!0,strictTypes:(u=(d=e.strictTypes)!==null&&d!==void 0?d:ae)!==null&&u!==void 0?u:"log",strictTuples:(f=(c=e.strictTuples)!==null&&c!==void 0?c:ae)!==null&&f!==void 0?f:"log",strictRequired:(m=(p=e.strictRequired)!==null&&p!==void 0?p:ae)!==null&&m!==void 0?m:!1,code:e.code?{...e.code,optimize:B,regExp:oe}:{optimize:B,regExp:oe},loopRequired:(h=e.loopRequired)!==null&&h!==void 0?h:cC,loopEnum:(_=e.loopEnum)!==null&&_!==void 0?_:cC,meta:(g=e.meta)!==null&&g!==void 0?g:!0,messages:(b=e.messages)!==null&&b!==void 0?b:!0,inlineRefs:(y=e.inlineRefs)!==null&&y!==void 0?y:!0,schemaId:(v=e.schemaId)!==null&&v!==void 0?v:"$id",addUsedSchema:(S=e.addUsedSchema)!==null&&S!==void 0?S:!0,validateSchema:(A=e.validateSchema)!==null&&A!==void 0?A:!0,validateFormats:(R=e.validateFormats)!==null&&R!==void 0?R:!0,unicodeRegExp:(Z=e.unicodeRegExp)!==null&&Z!==void 0?Z:!0,int32range:(L=e.int32range)!==null&&L!==void 0?L:!0,uriResolver:W}}var uu=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...B2(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new L2.ValueScope({scope:{},prefixes:W2,es5:r,lines:n}),this.logger=eZ(t.logger);let i=t.validateFormats;t.validateFormats=!1,this.RULES=(0,q2.getRules)(),fC.call(this,V2,t,"NOT SUPPORTED"),fC.call(this,H2,t,"DEPRECATED","warn"),this._metaOpts=X2.call(this),t.formats&&J2.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&Y2.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),K2.call(this),t.validateFormats=i}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,i=uC;n==="id"&&(i={...uC},i.id=i.$id,delete i.$id),r&&t&&this.addMetaSchema(i,i[n],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let i=n(r);return"$async"in n||(this.errors=n.errors),i}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return i.call(this,t,r);async function i(u,c){await o.call(this,u.$schema);let f=this._addSchema(u,c);return f.validate||a.call(this,f)}async function o(u){u&&!this.getSchema(u)&&await i.call(this,{$ref:u},!0)}async function a(u){try{return this._compileSchemaEnv(u)}catch(c){if(!(c instanceof pC.default))throw c;return s.call(this,c),await l.call(this,c.missingSchema),a.call(this,u)}}function s({missingSchema:u,missingRef:c}){if(this.refs[u])throw new Error(`AnySchema ${u} is loaded but ${c} cannot be resolved`)}async function l(u){let c=await d.call(this,u);this.refs[u]||await o.call(this,c.$schema),this.refs[u]||this.addSchema(c,u,r)}async function d(u){let c=this._loading[u];if(c)return c;try{return await(this._loading[u]=n(u))}finally{delete this._loading[u]}}}addSchema(t,r,n,i=this.opts.validateSchema){if(Array.isArray(t)){for(let a of t)this.addSchema(a,void 0,n,i);return this}let o;if(typeof t=="object"){let{schemaId:a}=this.opts;if(o=t[a],o!==void 0&&typeof o!="string")throw new Error(`schema ${a} must be string`)}return r=(0,du.normalizeId)(r||o),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,i,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let n;if(n=t.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let i=this.validate(n,t);if(!i&&r){let o="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(o);else throw new Error(o)}return i}getSchema(t){let r;for(;typeof(r=mC.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,i=new lu.SchemaEnv({schema:{},schemaId:n});if(r=lu.resolveSchema.call(this,i,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=mC.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0,du.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(rZ.call(this,n,r),!r)return(0,yb.eachItem)(n,o=>gb.call(this,o)),this;iZ.call(this,r);let i={...r,type:(0,sm.getJSONTypes)(r.type),schemaType:(0,sm.getJSONTypes)(r.schemaType)};return(0,yb.eachItem)(n,i.type.length===0?o=>gb.call(this,o,i):o=>i.type.forEach(a=>gb.call(this,o,i,a))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let i=n.rules.findIndex(o=>o.keyword===t);i>=0&&n.rules.splice(i,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!t||t.length===0?"No errors":t.map(i=>`${n}${i.instancePath} ${i.message}`).reduce((i,o)=>i+r+o)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let i of r){let o=i.split("/").slice(1),a=t;for(let s of o)a=a[s];for(let s in n){let l=n[s];if(typeof l!="object")continue;let{$data:d}=l.definition,u=a[s];d&&u&&(a[s]=_C(u))}}return t}_removeAllSchemas(t,r){for(let n in t){let i=t[n];(!r||r.test(n))&&(typeof i=="string"?delete t[n]:i&&!i.meta&&(this._cache.delete(i.schema),delete t[n]))}}_addSchema(t,r,n,i=this.opts.validateSchema,o=this.opts.addUsedSchema){let a,{schemaId:s}=this.opts;if(typeof t=="object")a=t[s];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let l=this._cache.get(t);if(l!==void 0)return l;n=(0,du.normalizeId)(a||n);let d=du.getSchemaRefs.call(this,t,n);return l=new lu.SchemaEnv({schema:t,schemaId:s,meta:r,baseId:n,localRefs:d}),this._cache.set(l.schema,l),o&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=l),i&&this.validateSchema(t,!0),l}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):lu.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{lu.compileSchema.call(this,t)}finally{this.opts=r}}};uu.ValidationError=D2.default;uu.MissingRefError=pC.default;Zr.default=uu;function fC(e,t,r,n="error"){for(let i in e){let o=i;o in t&&this.logger[n](`${r}: option ${i}. ${e[o]}`)}}function mC(e){return e=(0,du.normalizeId)(e),this.schemas[e]||this.refs[e]}function K2(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function J2(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function Y2(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function X2(){let e={...this.opts};for(let t of Z2)delete e[t];return e}var Q2={log(){},warn(){},error(){}};function eZ(e){if(e===!1)return Q2;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var tZ=/^[a-z_$][a-z0-9_$:-]*$/i;function rZ(e,t){let{RULES:r}=this;if((0,yb.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!tZ.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function gb(e,t,r){var n;let i=t?.post;if(r&&i)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:o}=this,a=i?o.post:o.rules.find(({type:l})=>l===r);if(a||(a={type:r,rules:[]},o.rules.push(a)),o.keywords[e]=!0,!t)return;let s={keyword:e,definition:{...t,type:(0,sm.getJSONTypes)(t.type),schemaType:(0,sm.getJSONTypes)(t.schemaType)}};t.before?nZ.call(this,a,s,t.before):a.rules.push(s),o.all[e]=s,(n=t.implements)===null||n===void 0||n.forEach(l=>this.addKeyword(l))}function nZ(e,t,r){let n=e.rules.findIndex(i=>i.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function iZ(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=_C(t)),e.validateSchema=this.compile(t,!0))}var oZ={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function _C(e){return{anyOf:[e,oZ]}}});var yC=ce(bb=>{"use strict";Object.defineProperty(bb,"__esModule",{value:!0});var aZ={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};bb.default=aZ});var wC=ce(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.callRef=Ba.getValidate=void 0;var sZ=au(),bC=Xn(),On=it(),fl=uo(),vC=rm(),lm=Tt(),lZ={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:i,schemaEnv:o,validateName:a,opts:s,self:l}=n,{root:d}=o;if((r==="#"||r==="#/")&&i===d.baseId)return c();let u=vC.resolveRef.call(l,d,i,r);if(u===void 0)throw new sZ.default(n.opts.uriResolver,i,r);if(u instanceof vC.SchemaEnv)return f(u);return p(u);function c(){if(o===d)return dm(e,a,o,o.$async);let m=t.scopeValue("root",{ref:d});return dm(e,(0,On._)`${m}.validate`,d,d.$async)}function f(m){let h=SC(e,m);dm(e,h,m,m.$async)}function p(m){let h=t.scopeValue("schema",s.code.source===!0?{ref:m,code:(0,On.stringify)(m)}:{ref:m}),_=t.name("valid"),g=e.subschema({schema:m,dataTypes:[],schemaPath:On.nil,topSchemaRef:h,errSchemaPath:r},_);e.mergeEvaluated(g),e.ok(_)}}};function SC(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,On._)`${r.scopeValue("wrapper",{ref:t})}.validate`}Ba.getValidate=SC;function dm(e,t,r,n){let{gen:i,it:o}=e,{allErrors:a,schemaEnv:s,opts:l}=o,d=l.passContext?fl.default.this:On.nil;n?u():c();function u(){if(!s.$async)throw new Error("async schema referenced by sync schema");let m=i.let("valid");i.try(()=>{i.code((0,On._)`await ${(0,bC.callValidateCode)(e,t,d)}`),p(t),a||i.assign(m,!0)},h=>{i.if((0,On._)`!(${h} instanceof ${o.ValidationError})`,()=>i.throw(h)),f(h),a||i.assign(m,!1)}),e.ok(m)}function c(){e.result((0,bC.callValidateCode)(e,t,d),()=>p(t),()=>f(t))}function f(m){let h=(0,On._)`${m}.errors`;i.assign(fl.default.vErrors,(0,On._)`${fl.default.vErrors} === null ? ${h} : ${fl.default.vErrors}.concat(${h})`),i.assign(fl.default.errors,(0,On._)`${fl.default.vErrors}.length`)}function p(m){var h;if(!o.opts.unevaluated)return;let _=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(o.props!==!0)if(_&&!_.dynamicProps)_.props!==void 0&&(o.props=lm.mergeEvaluated.props(i,_.props,o.props));else{let g=i.var("props",(0,On._)`${m}.evaluated.props`);o.props=lm.mergeEvaluated.props(i,g,o.props,On.Name)}if(o.items!==!0)if(_&&!_.dynamicItems)_.items!==void 0&&(o.items=lm.mergeEvaluated.items(i,_.items,o.items));else{let g=i.var("items",(0,On._)`${m}.evaluated.items`);o.items=lm.mergeEvaluated.items(i,g,o.items,On.Name)}}}Ba.callRef=dm;Ba.default=lZ});var kC=ce(vb=>{"use strict";Object.defineProperty(vb,"__esModule",{value:!0});var dZ=yC(),uZ=wC(),cZ=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",dZ.default,uZ.default];vb.default=cZ});var xC=ce(Sb=>{"use strict";Object.defineProperty(Sb,"__esModule",{value:!0});var um=it(),Lo=um.operators,cm={maximum:{okStr:"<=",ok:Lo.LTE,fail:Lo.GT},minimum:{okStr:">=",ok:Lo.GTE,fail:Lo.LT},exclusiveMaximum:{okStr:"<",ok:Lo.LT,fail:Lo.GTE},exclusiveMinimum:{okStr:">",ok:Lo.GT,fail:Lo.LTE}},fZ={message:({keyword:e,schemaCode:t})=>(0,um.str)`must be ${cm[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,um._)`{comparison: ${cm[e].okStr}, limit: ${t}}`},mZ={keyword:Object.keys(cm),type:"number",schemaType:"number",$data:!0,error:fZ,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,um._)`${r} ${cm[t].fail} ${n} || isNaN(${r})`)}};Sb.default=mZ});var TC=ce(wb=>{"use strict";Object.defineProperty(wb,"__esModule",{value:!0});var cu=it(),pZ={message:({schemaCode:e})=>(0,cu.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,cu._)`{multipleOf: ${e}}`},hZ={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:pZ,code(e){let{gen:t,data:r,schemaCode:n,it:i}=e,o=i.opts.multipleOfPrecision,a=t.let("res"),s=o?(0,cu._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:(0,cu._)`${a} !== parseInt(${a})`;e.fail$data((0,cu._)`(${n} === 0 || (${a} = ${r}/${n}, ${s}))`)}};wb.default=hZ});var OC=ce(kb=>{"use strict";Object.defineProperty(kb,"__esModule",{value:!0});function AC(e){let t=e.length,r=0,n=0,i;for(;n<t;)r++,i=e.charCodeAt(n++),i>=55296&&i<=56319&&n<t&&(i=e.charCodeAt(n),(i&64512)===56320&&n++);return r}kb.default=AC;AC.code='require("ajv/dist/runtime/ucs2length").default'});var CC=ce(xb=>{"use strict";Object.defineProperty(xb,"__esModule",{value:!0});var Ka=it(),_Z=Tt(),gZ=OC(),yZ={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,Ka.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,Ka._)`{limit: ${e}}`},bZ={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:yZ,code(e){let{keyword:t,data:r,schemaCode:n,it:i}=e,o=t==="maxLength"?Ka.operators.GT:Ka.operators.LT,a=i.opts.unicode===!1?(0,Ka._)`${r}.length`:(0,Ka._)`${(0,_Z.useFunc)(e.gen,gZ.default)}(${r})`;e.fail$data((0,Ka._)`${a} ${o} ${n}`)}};xb.default=bZ});var EC=ce(Tb=>{"use strict";Object.defineProperty(Tb,"__esModule",{value:!0});var vZ=Xn(),fm=it(),SZ={message:({schemaCode:e})=>(0,fm.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,fm._)`{pattern: ${e}}`},wZ={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:SZ,code(e){let{data:t,$data:r,schema:n,schemaCode:i,it:o}=e,a=o.opts.unicodeRegExp?"u":"",s=r?(0,fm._)`(new RegExp(${i}, ${a}))`:(0,vZ.usePattern)(e,n);e.fail$data((0,fm._)`!${s}.test(${t})`)}};Tb.default=wZ});var PC=ce(Ab=>{"use strict";Object.defineProperty(Ab,"__esModule",{value:!0});var fu=it(),kZ={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,fu.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,fu._)`{limit: ${e}}`},xZ={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:kZ,code(e){let{keyword:t,data:r,schemaCode:n}=e,i=t==="maxProperties"?fu.operators.GT:fu.operators.LT;e.fail$data((0,fu._)`Object.keys(${r}).length ${i} ${n}`)}};Ab.default=xZ});var RC=ce(Ob=>{"use strict";Object.defineProperty(Ob,"__esModule",{value:!0});var mu=Xn(),pu=it(),TZ=Tt(),AZ={message:({params:{missingProperty:e}})=>(0,pu.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,pu._)`{missingProperty: ${e}}`},OZ={keyword:"required",type:"object",schemaType:"array",$data:!0,error:AZ,code(e){let{gen:t,schema:r,schemaCode:n,data:i,$data:o,it:a}=e,{opts:s}=a;if(!o&&r.length===0)return;let l=r.length>=s.loopRequired;if(a.allErrors?d():u(),s.strictRequired){let p=e.parentSchema.properties,{definedProperties:m}=e.it;for(let h of r)if(p?.[h]===void 0&&!m.has(h)){let _=a.schemaEnv.baseId+a.errSchemaPath,g=`required property "${h}" is not defined at "${_}" (strictRequired)`;(0,TZ.checkStrictMode)(a,g,a.opts.strictRequired)}}function d(){if(l||o)e.block$data(pu.nil,c);else for(let p of r)(0,mu.checkReportMissingProp)(e,p)}function u(){let p=t.let("missing");if(l||o){let m=t.let("valid",!0);e.block$data(m,()=>f(p,m)),e.ok(m)}else t.if((0,mu.checkMissingProp)(e,r,p)),(0,mu.reportMissingProp)(e,p),t.else()}function c(){t.forOf("prop",n,p=>{e.setParams({missingProperty:p}),t.if((0,mu.noPropertyInData)(t,i,p,s.ownProperties),()=>e.error())})}function f(p,m){e.setParams({missingProperty:p}),t.forOf(p,n,()=>{t.assign(m,(0,mu.propertyInData)(t,i,p,s.ownProperties)),t.if((0,pu.not)(m),()=>{e.error(),t.break()})},pu.nil)}}};Ob.default=OZ});var IC=ce(Cb=>{"use strict";Object.defineProperty(Cb,"__esModule",{value:!0});var hu=it(),CZ={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,hu.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,hu._)`{limit: ${e}}`},EZ={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:CZ,code(e){let{keyword:t,data:r,schemaCode:n}=e,i=t==="maxItems"?hu.operators.GT:hu.operators.LT;e.fail$data((0,hu._)`${r}.length ${i} ${n}`)}};Cb.default=EZ});var mm=ce(Eb=>{"use strict";Object.defineProperty(Eb,"__esModule",{value:!0});var $C=Qy();$C.code='require("ajv/dist/runtime/equal").default';Eb.default=$C});var MC=ce(Rb=>{"use strict";Object.defineProperty(Rb,"__esModule",{value:!0});var Pb=tu(),Wr=it(),PZ=Tt(),RZ=mm(),IZ={message:({params:{i:e,j:t}})=>(0,Wr.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,Wr._)`{i: ${e}, j: ${t}}`},$Z={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:IZ,code(e){let{gen:t,data:r,$data:n,schema:i,parentSchema:o,schemaCode:a,it:s}=e;if(!n&&!i)return;let l=t.let("valid"),d=o.items?(0,Pb.getSchemaTypes)(o.items):[];e.block$data(l,u,(0,Wr._)`${a} === false`),e.ok(l);function u(){let m=t.let("i",(0,Wr._)`${r}.length`),h=t.let("j");e.setParams({i:m,j:h}),t.assign(l,!0),t.if((0,Wr._)`${m} > 1`,()=>(c()?f:p)(m,h))}function c(){return d.length>0&&!d.some(m=>m==="object"||m==="array")}function f(m,h){let _=t.name("item"),g=(0,Pb.checkDataTypes)(d,_,s.opts.strictNumbers,Pb.DataType.Wrong),b=t.const("indices",(0,Wr._)`{}`);t.for((0,Wr._)`;${m}--;`,()=>{t.let(_,(0,Wr._)`${r}[${m}]`),t.if(g,(0,Wr._)`continue`),d.length>1&&t.if((0,Wr._)`typeof ${_} == "string"`,(0,Wr._)`${_} += "_"`),t.if((0,Wr._)`typeof ${b}[${_}] == "number"`,()=>{t.assign(h,(0,Wr._)`${b}[${_}]`),e.error(),t.assign(l,!1).break()}).code((0,Wr._)`${b}[${_}] = ${m}`)})}function p(m,h){let _=(0,PZ.useFunc)(t,RZ.default),g=t.name("outer");t.label(g).for((0,Wr._)`;${m}--;`,()=>t.for((0,Wr._)`${h} = ${m}; ${h}--;`,()=>t.if((0,Wr._)`${_}(${r}[${m}], ${r}[${h}])`,()=>{e.error(),t.assign(l,!1).break(g)})))}}};Rb.default=$Z});var jC=ce($b=>{"use strict";Object.defineProperty($b,"__esModule",{value:!0});var Ib=it(),MZ=Tt(),jZ=mm(),zZ={message:"must be equal to constant",params:({schemaCode:e})=>(0,Ib._)`{allowedValue: ${e}}`},NZ={keyword:"const",$data:!0,error:zZ,code(e){let{gen:t,data:r,$data:n,schemaCode:i,schema:o}=e;n||o&&typeof o=="object"?e.fail$data((0,Ib._)`!${(0,MZ.useFunc)(t,jZ.default)}(${r}, ${i})`):e.fail((0,Ib._)`${o} !== ${r}`)}};$b.default=NZ});var zC=ce(Mb=>{"use strict";Object.defineProperty(Mb,"__esModule",{value:!0});var _u=it(),GZ=Tt(),FZ=mm(),DZ={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,_u._)`{allowedValues: ${e}}`},qZ={keyword:"enum",schemaType:"array",$data:!0,error:DZ,code(e){let{gen:t,data:r,$data:n,schema:i,schemaCode:o,it:a}=e;if(!n&&i.length===0)throw new Error("enum must have non-empty array");let s=i.length>=a.opts.loopEnum,l,d=()=>l??(l=(0,GZ.useFunc)(t,FZ.default)),u;if(s||n)u=t.let("valid"),e.block$data(u,c);else{if(!Array.isArray(i))throw new Error("ajv implementation error");let p=t.const("vSchema",o);u=(0,_u.or)(...i.map((m,h)=>f(p,h)))}e.pass(u);function c(){t.assign(u,!1),t.forOf("v",o,p=>t.if((0,_u._)`${d()}(${r}, ${p})`,()=>t.assign(u,!0).break()))}function f(p,m){let h=i[m];return typeof h=="object"&&h!==null?(0,_u._)`${d()}(${r}, ${p}[${m}])`:(0,_u._)`${r} === ${h}`}}};Mb.default=qZ});var NC=ce(jb=>{"use strict";Object.defineProperty(jb,"__esModule",{value:!0});var LZ=xC(),UZ=TC(),ZZ=CC(),WZ=EC(),VZ=PC(),HZ=RC(),BZ=IC(),KZ=MC(),JZ=jC(),YZ=zC(),XZ=[LZ.default,UZ.default,ZZ.default,WZ.default,VZ.default,HZ.default,BZ.default,KZ.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},JZ.default,YZ.default];jb.default=XZ});var Nb=ce(gu=>{"use strict";Object.defineProperty(gu,"__esModule",{value:!0});gu.validateAdditionalItems=void 0;var Ja=it(),zb=Tt(),QZ={message:({params:{len:e}})=>(0,Ja.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Ja._)`{limit: ${e}}`},eW={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:QZ,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,zb.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}GC(e,n)}};function GC(e,t){let{gen:r,schema:n,data:i,keyword:o,it:a}=e;a.items=!0;let s=r.const("len",(0,Ja._)`${i}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,Ja._)`${s} <= ${t.length}`);else if(typeof n=="object"&&!(0,zb.alwaysValidSchema)(a,n)){let d=r.var("valid",(0,Ja._)`${s} <= ${t.length}`);r.if((0,Ja.not)(d),()=>l(d)),e.ok(d)}function l(d){r.forRange("i",t.length,s,u=>{e.subschema({keyword:o,dataProp:u,dataPropType:zb.Type.Num},d),a.allErrors||r.if((0,Ja.not)(d),()=>r.break())})}}gu.validateAdditionalItems=GC;gu.default=eW});var Gb=ce(yu=>{"use strict";Object.defineProperty(yu,"__esModule",{value:!0});yu.validateTuple=void 0;var FC=it(),pm=Tt(),tW=Xn(),rW={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return DC(e,"additionalItems",t);r.items=!0,!(0,pm.alwaysValidSchema)(r,t)&&e.ok((0,tW.validateArray)(e))}};function DC(e,t,r=e.schema){let{gen:n,parentSchema:i,data:o,keyword:a,it:s}=e;u(i),s.opts.unevaluated&&r.length&&s.items!==!0&&(s.items=pm.mergeEvaluated.items(n,r.length,s.items));let l=n.name("valid"),d=n.const("len",(0,FC._)`${o}.length`);r.forEach((c,f)=>{(0,pm.alwaysValidSchema)(s,c)||(n.if((0,FC._)`${d} > ${f}`,()=>e.subschema({keyword:a,schemaProp:f,dataProp:f},l)),e.ok(l))});function u(c){let{opts:f,errSchemaPath:p}=s,m=r.length,h=m===c.minItems&&(m===c.maxItems||c[t]===!1);if(f.strictTuples&&!h){let _=`"${a}" is ${m}-tuple, but minItems or maxItems/${t} are not specified or different at path "${p}"`;(0,pm.checkStrictMode)(s,_,f.strictTuples)}}}yu.validateTuple=DC;yu.default=rW});var qC=ce(Fb=>{"use strict";Object.defineProperty(Fb,"__esModule",{value:!0});var nW=Gb(),iW={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,nW.validateTuple)(e,"items")};Fb.default=iW});var UC=ce(Db=>{"use strict";Object.defineProperty(Db,"__esModule",{value:!0});var LC=it(),oW=Tt(),aW=Xn(),sW=Nb(),lW={message:({params:{len:e}})=>(0,LC.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,LC._)`{limit: ${e}}`},dW={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:lW,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:i}=r;n.items=!0,!(0,oW.alwaysValidSchema)(n,t)&&(i?(0,sW.validateAdditionalItems)(e,i):e.ok((0,aW.validateArray)(e)))}};Db.default=dW});var ZC=ce(qb=>{"use strict";Object.defineProperty(qb,"__esModule",{value:!0});var ei=it(),hm=Tt(),uW={message:({params:{min:e,max:t}})=>t===void 0?(0,ei.str)`must contain at least ${e} valid item(s)`:(0,ei.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,ei._)`{minContains: ${e}}`:(0,ei._)`{minContains: ${e}, maxContains: ${t}}`},cW={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:uW,code(e){let{gen:t,schema:r,parentSchema:n,data:i,it:o}=e,a,s,{minContains:l,maxContains:d}=n;o.opts.next?(a=l===void 0?1:l,s=d):a=1;let u=t.const("len",(0,ei._)`${i}.length`);if(e.setParams({min:a,max:s}),s===void 0&&a===0){(0,hm.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(s!==void 0&&a>s){(0,hm.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,hm.alwaysValidSchema)(o,r)){let h=(0,ei._)`${u} >= ${a}`;s!==void 0&&(h=(0,ei._)`${h} && ${u} <= ${s}`),e.pass(h);return}o.items=!0;let c=t.name("valid");s===void 0&&a===1?p(c,()=>t.if(c,()=>t.break())):a===0?(t.let(c,!0),s!==void 0&&t.if((0,ei._)`${i}.length > 0`,f)):(t.let(c,!1),f()),e.result(c,()=>e.reset());function f(){let h=t.name("_valid"),_=t.let("count",0);p(h,()=>t.if(h,()=>m(_)))}function p(h,_){t.forRange("i",0,u,g=>{e.subschema({keyword:"contains",dataProp:g,dataPropType:hm.Type.Num,compositeRule:!0},h),_()})}function m(h){t.code((0,ei._)`${h}++`),s===void 0?t.if((0,ei._)`${h} >= ${a}`,()=>t.assign(c,!0).break()):(t.if((0,ei._)`${h} > ${s}`,()=>t.assign(c,!1).break()),a===1?t.assign(c,!0):t.if((0,ei._)`${h} >= ${a}`,()=>t.assign(c,!0)))}}};qb.default=cW});var HC=ce(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});Fi.validateSchemaDeps=Fi.validatePropertyDeps=Fi.error=void 0;var Lb=it(),fW=Tt(),bu=Xn();Fi.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,Lb.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,Lb._)`{property: ${e},
7
+ || ${a} === "boolean" || ${i} === null`).assign(s,(0,et._)`[${i}]`)}}}function QL({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,et._)`${t} !== undefined`,()=>e.assign((0,et._)`${t}[${r}]`,n))}function By(e,t,r,n=sl.Correct){let i=n===sl.Correct?et.operators.EQ:et.operators.NEQ,o;switch(e){case"null":return(0,et._)`${t} ${i} null`;case"array":o=(0,et._)`Array.isArray(${t})`;break;case"object":o=(0,et._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":o=a((0,et._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":o=a();break;default:return(0,et._)`typeof ${t} ${i} ${e}`}return n===sl.Correct?o:(0,et.not)(o);function a(s=et.nil){return(0,et.and)((0,et._)`typeof ${t} == "number"`,s,r?(0,et._)`isFinite(${t})`:et.nil)}}Qr.checkDataType=By;function Ky(e,t,r,n){if(e.length===1)return By(e[0],t,r,n);let i,o=(0,_O.toHash)(e);if(o.array&&o.object){let a=(0,et._)`typeof ${t} != "object"`;i=o.null?a:(0,et._)`!${t} || ${a}`,delete o.null,delete o.array,delete o.object}else i=et.nil;o.number&&delete o.integer;for(let a in o)i=(0,et.and)(i,By(a,t,r,n));return i}Qr.checkDataTypes=Ky;var eU={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,et._)`{type: ${e}}`:(0,et._)`{type: ${t}}`};function Jy(e){let t=tU(e);(0,BL.reportError)(t,eU)}Qr.reportTypeError=Jy;function tU(e){let{gen:t,data:r,schema:n}=e,i=(0,_O.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:i,schemaValue:i,parentSchema:n,params:{},it:e}}});var vO=ce(Jf=>{"use strict";Object.defineProperty(Jf,"__esModule",{value:!0});Jf.assignDefaults=void 0;var ll=it(),rU=Tt();function nU(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let i in r)bO(e,i,r[i].default);else t==="array"&&Array.isArray(n)&&n.forEach((i,o)=>bO(e,o,i.default))}Jf.assignDefaults=nU;function bO(e,t,r){let{gen:n,compositeRule:i,data:o,opts:a}=e;if(r===void 0)return;let s=(0,ll._)`${o}${(0,ll.getProperty)(t)}`;if(i){(0,rU.checkStrictMode)(e,`default is ignored for: ${s}`);return}let l=(0,ll._)`${s} === undefined`;a.useDefaults==="empty"&&(l=(0,ll._)`${l} || ${s} === null || ${s} === ""`),n.if(l,(0,ll._)`${s} = ${(0,ll.stringify)(r)}`)}});var Xn=ce(jt=>{"use strict";Object.defineProperty(jt,"__esModule",{value:!0});jt.validateUnion=jt.validateArray=jt.usePattern=jt.callValidateCode=jt.schemaProperties=jt.allSchemaProperties=jt.noPropertyInData=jt.propertyInData=jt.isOwnProperty=jt.hasPropFunc=jt.reportMissingProp=jt.checkMissingProp=jt.checkReportMissingProp=void 0;var nr=it(),Yy=Tt(),Go=uo(),iU=Tt();function oU(e,t){let{gen:r,data:n,it:i}=e;r.if(Qy(r,n,t,i.opts.ownProperties),()=>{e.setParams({missingProperty:(0,nr._)`${t}`},!0),e.error()})}jt.checkReportMissingProp=oU;function aU({gen:e,data:t,it:{opts:r}},n,i){return(0,nr.or)(...n.map(o=>(0,nr.and)(Qy(e,t,o,r.ownProperties),(0,nr._)`${i} = ${o}`)))}jt.checkMissingProp=aU;function sU(e,t){e.setParams({missingProperty:t},!0),e.error()}jt.reportMissingProp=sU;function SO(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,nr._)`Object.prototype.hasOwnProperty`})}jt.hasPropFunc=SO;function Xy(e,t,r){return(0,nr._)`${SO(e)}.call(${t}, ${r})`}jt.isOwnProperty=Xy;function lU(e,t,r,n){let i=(0,nr._)`${t}${(0,nr.getProperty)(r)} !== undefined`;return n?(0,nr._)`${i} && ${Xy(e,t,r)}`:i}jt.propertyInData=lU;function Qy(e,t,r,n){let i=(0,nr._)`${t}${(0,nr.getProperty)(r)} === undefined`;return n?(0,nr.or)(i,(0,nr.not)(Xy(e,t,r))):i}jt.noPropertyInData=Qy;function wO(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}jt.allSchemaProperties=wO;function dU(e,t){return wO(t).filter(r=>!(0,Yy.alwaysValidSchema)(e,t[r]))}jt.schemaProperties=dU;function uU({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:i,errorPath:o},it:a},s,l,d){let u=d?(0,nr._)`${e}, ${t}, ${n}${i}`:t,c=[[Go.default.instancePath,(0,nr.strConcat)(Go.default.instancePath,o)],[Go.default.parentData,a.parentData],[Go.default.parentDataProperty,a.parentDataProperty],[Go.default.rootData,Go.default.rootData]];a.opts.dynamicRef&&c.push([Go.default.dynamicAnchors,Go.default.dynamicAnchors]);let f=(0,nr._)`${u}, ${r.object(...c)}`;return l!==nr.nil?(0,nr._)`${s}.call(${l}, ${f})`:(0,nr._)`${s}(${f})`}jt.callValidateCode=uU;var cU=(0,nr._)`new RegExp`;function fU({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:i}=t.code,o=i(r,n);return e.scopeValue("pattern",{key:o.toString(),ref:o,code:(0,nr._)`${i.code==="new RegExp"?cU:(0,iU.useFunc)(e,i)}(${r}, ${n})`})}jt.usePattern=fU;function mU(e){let{gen:t,data:r,keyword:n,it:i}=e,o=t.name("valid");if(i.allErrors){let s=t.let("valid",!0);return a(()=>t.assign(s,!1)),s}return t.var(o,!0),a(()=>t.break()),o;function a(s){let l=t.const("len",(0,nr._)`${r}.length`);t.forRange("i",0,l,d=>{e.subschema({keyword:n,dataProp:d,dataPropType:Yy.Type.Num},o),t.if((0,nr.not)(o),s)})}}jt.validateArray=mU;function pU(e){let{gen:t,schema:r,keyword:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(l=>(0,Yy.alwaysValidSchema)(i,l))&&!i.opts.unevaluated)return;let a=t.let("valid",!1),s=t.name("_valid");t.block(()=>r.forEach((l,d)=>{let u=e.subschema({keyword:n,schemaProp:d,compositeRule:!0},s);t.assign(a,(0,nr._)`${a} || ${s}`),e.mergeValidEvaluated(u,s)||t.if((0,nr.not)(a))})),e.result(a,()=>e.reset(),()=>e.error(!0))}jt.validateUnion=pU});var TO=ce(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.validateKeywordUsage=zi.validSchemaType=zi.funcKeywordCode=zi.macroKeywordCode=void 0;var dn=it(),Va=uo(),hU=Xn(),_U=eu();function gU(e,t){let{gen:r,keyword:n,schema:i,parentSchema:o,it:a}=e,s=t.macro.call(a.self,i,o,a),l=xO(r,n,s);a.opts.validateSchema!==!1&&a.self.validateSchema(s,!0);let d=r.name("valid");e.subschema({schema:s,schemaPath:dn.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:l,compositeRule:!0},d),e.pass(d,()=>e.error(!0))}zi.macroKeywordCode=gU;function yU(e,t){var r;let{gen:n,keyword:i,schema:o,parentSchema:a,$data:s,it:l}=e;vU(l,t);let d=!s&&t.compile?t.compile.call(l.self,o,a,l):t.validate,u=xO(n,i,d),c=n.let("valid");e.block$data(c,f),e.ok((r=t.valid)!==null&&r!==void 0?r:c);function f(){if(t.errors===!1)h(),t.modifying&&kO(e),_(()=>e.error());else{let g=t.async?p():m();t.modifying&&kO(e),_(()=>bU(e,g))}}function p(){let g=n.let("ruleErrs",null);return n.try(()=>h((0,dn._)`await `),b=>n.assign(c,!1).if((0,dn._)`${b} instanceof ${l.ValidationError}`,()=>n.assign(g,(0,dn._)`${b}.errors`),()=>n.throw(b))),g}function m(){let g=(0,dn._)`${u}.errors`;return n.assign(g,null),h(dn.nil),g}function h(g=t.async?(0,dn._)`await `:dn.nil){let b=l.opts.passContext?Va.default.this:Va.default.self,y=!("compile"in t&&!s||t.schema===!1);n.assign(c,(0,dn._)`${g}${(0,hU.callValidateCode)(e,u,b,y)}`,t.modifying)}function _(g){var b;n.if((0,dn.not)((b=t.valid)!==null&&b!==void 0?b:c),g)}}zi.funcKeywordCode=yU;function kO(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,dn._)`${n.parentData}[${n.parentDataProperty}]`))}function bU(e,t){let{gen:r}=e;r.if((0,dn._)`Array.isArray(${t})`,()=>{r.assign(Va.default.vErrors,(0,dn._)`${Va.default.vErrors} === null ? ${t} : ${Va.default.vErrors}.concat(${t})`).assign(Va.default.errors,(0,dn._)`${Va.default.vErrors}.length`),(0,_U.extendErrors)(e)},()=>e.error())}function vU({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function xO(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,dn.stringify)(r)})}function SU(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}zi.validSchemaType=SU;function wU({schema:e,opts:t,self:r,errSchemaPath:n},i,o){if(Array.isArray(i.keyword)?!i.keyword.includes(o):i.keyword!==o)throw new Error("ajv implementation error");let a=i.dependencies;if(a?.some(s=>!Object.prototype.hasOwnProperty.call(e,s)))throw new Error(`parent schema must have dependencies of ${o}: ${a.join(",")}`);if(i.validateSchema&&!i.validateSchema(e[o])){let l=`keyword "${o}" value is invalid at path "${n}": `+r.errorsText(i.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(l);else throw new Error(l)}}zi.validateKeywordUsage=wU});var OO=ce(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.extendSubschemaMode=Fo.extendSubschemaData=Fo.getSubschema=void 0;var Ni=it(),AO=Tt();function kU(e,{keyword:t,schemaProp:r,schema:n,schemaPath:i,errSchemaPath:o,topSchemaRef:a}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let s=e.schema[t];return r===void 0?{schema:s,schemaPath:(0,Ni._)`${e.schemaPath}${(0,Ni.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:s[r],schemaPath:(0,Ni._)`${e.schemaPath}${(0,Ni.getProperty)(t)}${(0,Ni.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,AO.escapeFragment)(r)}`}}if(n!==void 0){if(i===void 0||o===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:i,topSchemaRef:a,errSchemaPath:o}}throw new Error('either "keyword" or "schema" must be passed')}Fo.getSubschema=kU;function xU(e,t,{dataProp:r,dataPropType:n,data:i,dataTypes:o,propertyName:a}){if(i!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:s}=t;if(r!==void 0){let{errorPath:d,dataPathArr:u,opts:c}=t,f=s.let("data",(0,Ni._)`${t.data}${(0,Ni.getProperty)(r)}`,!0);l(f),e.errorPath=(0,Ni.str)`${d}${(0,AO.getErrorPath)(r,n,c.jsPropertySyntax)}`,e.parentDataProperty=(0,Ni._)`${r}`,e.dataPathArr=[...u,e.parentDataProperty]}if(i!==void 0){let d=i instanceof Ni.Name?i:s.let("data",i,!0);l(d),a!==void 0&&(e.propertyName=a)}o&&(e.dataTypes=o);function l(d){e.data=d,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,d]}}Fo.extendSubschemaData=xU;function TU(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:i,allErrors:o}){n!==void 0&&(e.compositeRule=n),i!==void 0&&(e.createErrors=i),o!==void 0&&(e.allErrors=o),e.jtdDiscriminator=t,e.jtdMetadata=r}Fo.extendSubschemaMode=TU});var eb=ce((Bee,CO)=>{"use strict";CO.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,i,o;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(i=n;i--!==0;)if(!e(t[i],r[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(o=Object.keys(t),n=o.length,n!==Object.keys(r).length)return!1;for(i=n;i--!==0;)if(!Object.prototype.hasOwnProperty.call(r,o[i]))return!1;for(i=n;i--!==0;){var a=o[i];if(!e(t[a],r[a]))return!1}return!0}return t!==t&&r!==r}});var PO=ce((Kee,EO)=>{"use strict";var Do=EO.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},i=r.post||function(){};Yf(t,n,i,e,"",e)};Do.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Do.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Do.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Do.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Yf(e,t,r,n,i,o,a,s,l,d){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,i,o,a,s,l,d);for(var u in n){var c=n[u];if(Array.isArray(c)){if(u in Do.arrayKeywords)for(var f=0;f<c.length;f++)Yf(e,t,r,c[f],i+"/"+u+"/"+f,o,i,u,n,f)}else if(u in Do.propsKeywords){if(c&&typeof c=="object")for(var p in c)Yf(e,t,r,c[p],i+"/"+u+"/"+AU(p),o,i,u,n,p)}else(u in Do.keywords||e.allKeys&&!(u in Do.skipKeywords))&&Yf(e,t,r,c,i+"/"+u,o,i,u,n)}r(n,i,o,a,s,l,d)}}function AU(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var ru=ce(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.getSchemaRefs=An.resolveUrl=An.normalizeId=An._getFullPath=An.getFullPath=An.inlineRef=void 0;var OU=Tt(),CU=eb(),EU=PO(),PU=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function RU(e,t=!0){return typeof e=="boolean"?!0:t===!0?!tb(e):t?RO(e)<=t:!1}An.inlineRef=RU;var IU=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function tb(e){for(let t in e){if(IU.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(tb)||typeof r=="object"&&tb(r))return!0}return!1}function RO(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!PU.has(r)&&(typeof e[r]=="object"&&(0,OU.eachItem)(e[r],n=>t+=RO(n)),t===1/0))return 1/0}return t}function IO(e,t="",r){r!==!1&&(t=dl(t));let n=e.parse(t);return $O(e,n)}An.getFullPath=IO;function $O(e,t){return e.serialize(t).split("#")[0]+"#"}An._getFullPath=$O;var $U=/#\/?$/;function dl(e){return e?e.replace($U,""):""}An.normalizeId=dl;function MU(e,t,r){return r=dl(r),e.resolve(t,r)}An.resolveUrl=MU;var jU=/^[a-z_][-a-z0-9._]*$/i;function zU(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,i=dl(e[r]||t),o={"":i},a=IO(n,i,!1),s={},l=new Set;return EU(e,{allKeys:!0},(c,f,p,m)=>{if(m===void 0)return;let h=a+f,_=o[m];typeof c[r]=="string"&&(_=g.call(this,c[r])),b.call(this,c.$anchor),b.call(this,c.$dynamicAnchor),o[f]=_;function g(y){let v=this.opts.uriResolver.resolve;if(y=dl(_?v(_,y):y),l.has(y))throw u(y);l.add(y);let S=this.refs[y];return typeof S=="string"&&(S=this.refs[S]),typeof S=="object"?d(c,S.schema,y):y!==dl(h)&&(y[0]==="#"?(d(c,s[y],y),s[y]=c):this.refs[y]=h),y}function b(y){if(typeof y=="string"){if(!jU.test(y))throw new Error(`invalid anchor "${y}"`);g.call(this,`#${y}`)}}}),s;function d(c,f,p){if(f!==void 0&&!CU(c,f))throw u(p)}function u(c){return new Error(`reference "${c}" resolves to more than one schema`)}}An.getSchemaRefs=zU});var ou=ce(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.getData=qo.KeywordCxt=qo.validateFunctionCode=void 0;var GO=mO(),MO=tu(),nb=Hy(),Xf=tu(),NU=vO(),iu=TO(),rb=OO(),Te=it(),We=uo(),GU=ru(),co=Tt(),nu=eu();function FU(e){if(qO(e)&&(LO(e),DO(e))){LU(e);return}FO(e,()=>(0,GO.topBoolOrEmptySchema)(e))}qo.validateFunctionCode=FU;function FO({gen:e,validateName:t,schema:r,schemaEnv:n,opts:i},o){i.code.es5?e.func(t,(0,Te._)`${We.default.data}, ${We.default.valCxt}`,n.$async,()=>{e.code((0,Te._)`"use strict"; ${jO(r,i)}`),qU(e,i),e.code(o)}):e.func(t,(0,Te._)`${We.default.data}, ${DU(i)}`,n.$async,()=>e.code(jO(r,i)).code(o))}function DU(e){return(0,Te._)`{${We.default.instancePath}="", ${We.default.parentData}, ${We.default.parentDataProperty}, ${We.default.rootData}=${We.default.data}${e.dynamicRef?(0,Te._)`, ${We.default.dynamicAnchors}={}`:Te.nil}}={}`}function qU(e,t){e.if(We.default.valCxt,()=>{e.var(We.default.instancePath,(0,Te._)`${We.default.valCxt}.${We.default.instancePath}`),e.var(We.default.parentData,(0,Te._)`${We.default.valCxt}.${We.default.parentData}`),e.var(We.default.parentDataProperty,(0,Te._)`${We.default.valCxt}.${We.default.parentDataProperty}`),e.var(We.default.rootData,(0,Te._)`${We.default.valCxt}.${We.default.rootData}`),t.dynamicRef&&e.var(We.default.dynamicAnchors,(0,Te._)`${We.default.valCxt}.${We.default.dynamicAnchors}`)},()=>{e.var(We.default.instancePath,(0,Te._)`""`),e.var(We.default.parentData,(0,Te._)`undefined`),e.var(We.default.parentDataProperty,(0,Te._)`undefined`),e.var(We.default.rootData,We.default.data),t.dynamicRef&&e.var(We.default.dynamicAnchors,(0,Te._)`{}`)})}function LU(e){let{schema:t,opts:r,gen:n}=e;FO(e,()=>{r.$comment&&t.$comment&&WO(e),HU(e),n.let(We.default.vErrors,null),n.let(We.default.errors,0),r.unevaluated&&UU(e),UO(e),JU(e)})}function UU(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,Te._)`${r}.evaluated`),t.if((0,Te._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,Te._)`${e.evaluated}.props`,(0,Te._)`undefined`)),t.if((0,Te._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,Te._)`${e.evaluated}.items`,(0,Te._)`undefined`))}function jO(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,Te._)`/*# sourceURL=${r} */`:Te.nil}function WU(e,t){if(qO(e)&&(LO(e),DO(e))){ZU(e,t);return}(0,GO.boolOrEmptySchema)(e,t)}function DO({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function qO(e){return typeof e.schema!="boolean"}function ZU(e,t){let{schema:r,gen:n,opts:i}=e;i.$comment&&r.$comment&&WO(e),BU(e),KU(e);let o=n.const("_errs",We.default.errors);UO(e,o),n.var(t,(0,Te._)`${o} === ${We.default.errors}`)}function LO(e){(0,co.checkUnknownRules)(e),VU(e)}function UO(e,t){if(e.opts.jtd)return zO(e,[],!1,t);let r=(0,MO.getSchemaTypes)(e.schema),n=(0,MO.coerceAndCheckDataType)(e,r);zO(e,r,!n,t)}function VU(e){let{schema:t,errSchemaPath:r,opts:n,self:i}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,co.schemaHasRulesButRef)(t,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function HU(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,co.checkStrictMode)(e,"default is ignored in the schema root")}function BU(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,GU.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function KU(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function WO({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:i}){let o=r.$comment;if(i.$comment===!0)e.code((0,Te._)`${We.default.self}.logger.log(${o})`);else if(typeof i.$comment=="function"){let a=(0,Te.str)`${n}/$comment`,s=e.scopeValue("root",{ref:t.root});e.code((0,Te._)`${We.default.self}.opts.$comment(${o}, ${a}, ${s}.schema)`)}}function JU(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:i,opts:o}=e;r.$async?t.if((0,Te._)`${We.default.errors} === 0`,()=>t.return(We.default.data),()=>t.throw((0,Te._)`new ${i}(${We.default.vErrors})`)):(t.assign((0,Te._)`${n}.errors`,We.default.vErrors),o.unevaluated&&YU(e),t.return((0,Te._)`${We.default.errors} === 0`))}function YU({gen:e,evaluated:t,props:r,items:n}){r instanceof Te.Name&&e.assign((0,Te._)`${t}.props`,r),n instanceof Te.Name&&e.assign((0,Te._)`${t}.items`,n)}function zO(e,t,r,n){let{gen:i,schema:o,data:a,allErrors:s,opts:l,self:d}=e,{RULES:u}=d;if(o.$ref&&(l.ignoreKeywordsWithRef||!(0,co.schemaHasRulesButRef)(o,u))){i.block(()=>VO(e,"$ref",u.all.$ref.definition));return}l.jtd||XU(e,t),i.block(()=>{for(let f of u.rules)c(f);c(u.post)});function c(f){(0,nb.shouldUseGroup)(o,f)&&(f.type?(i.if((0,Xf.checkDataType)(f.type,a,l.strictNumbers)),NO(e,f),t.length===1&&t[0]===f.type&&r&&(i.else(),(0,Xf.reportTypeError)(e)),i.endIf()):NO(e,f),s||i.if((0,Te._)`${We.default.errors} === ${n||0}`))}}function NO(e,t){let{gen:r,schema:n,opts:{useDefaults:i}}=e;i&&(0,NU.assignDefaults)(e,t.type),r.block(()=>{for(let o of t.rules)(0,nb.shouldUseRule)(n,o)&&VO(e,o.keyword,o.definition,t.type)})}function XU(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(QU(e,t),e.opts.allowUnionTypes||e2(e,t),t2(e,e.dataTypes))}function QU(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{ZO(e.dataTypes,r)||ib(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),n2(e,t)}}function e2(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&ib(e,"use allowUnionTypes to allow union type keyword")}function t2(e,t){let r=e.self.RULES.all;for(let n in r){let i=r[n];if(typeof i=="object"&&(0,nb.shouldUseRule)(e.schema,i)){let{type:o}=i.definition;o.length&&!o.some(a=>r2(t,a))&&ib(e,`missing type "${o.join(",")}" for keyword "${n}"`)}}}function r2(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function ZO(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function n2(e,t){let r=[];for(let n of e.dataTypes)ZO(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function ib(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,co.checkStrictMode)(e,t,e.opts.strictTypes)}var Qf=class{constructor(t,r,n){if((0,iu.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,co.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",HO(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,iu.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",We.default.errors))}result(t,r,n){this.failResult((0,Te.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,Te.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0,Te._)`${r} !== undefined && (${(0,Te.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?nu.reportExtraError:nu.reportError)(this,this.def.error,r)}$dataError(){(0,nu.reportError)(this,this.def.$dataError||nu.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,nu.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=Te.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=Te.nil,r=Te.nil){if(!this.$data)return;let{gen:n,schemaCode:i,schemaType:o,def:a}=this;n.if((0,Te.or)((0,Te._)`${i} === undefined`,r)),t!==Te.nil&&n.assign(t,!0),(o.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==Te.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:i,it:o}=this;return(0,Te.or)(a(),s());function a(){if(n.length){if(!(r instanceof Te.Name))throw new Error("ajv implementation error");let l=Array.isArray(n)?n:[n];return(0,Te._)`${(0,Xf.checkDataTypes)(l,r,o.opts.strictNumbers,Xf.DataType.Wrong)}`}return Te.nil}function s(){if(i.validateSchema){let l=t.scopeValue("validate$data",{ref:i.validateSchema});return(0,Te._)`!${l}(${r})`}return Te.nil}}subschema(t,r){let n=(0,rb.getSubschema)(this.it,t);(0,rb.extendSubschemaData)(n,this.it,t),(0,rb.extendSubschemaMode)(n,t);let i={...this.it,...n,items:void 0,props:void 0};return WU(i,r),i}mergeEvaluated(t,r){let{it:n,gen:i}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=co.mergeEvaluated.props(i,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=co.mergeEvaluated.items(i,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:i}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return i.if(r,()=>this.mergeEvaluated(t,Te.Name)),!0}};qo.KeywordCxt=Qf;function VO(e,t,r,n){let i=new Qf(e,r,t);"code"in r?r.code(i,n):i.$data&&r.validate?(0,iu.funcKeywordCode)(i,r):"macro"in r?(0,iu.macroKeywordCode)(i,r):(r.compile||r.validate)&&(0,iu.funcKeywordCode)(i,r)}var i2=/^\/(?:[^~]|~0|~1)*$/,o2=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function HO(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let i,o;if(e==="")return We.default.rootData;if(e[0]==="/"){if(!i2.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);i=e,o=We.default.rootData}else{let d=o2.exec(e);if(!d)throw new Error(`Invalid JSON-pointer: ${e}`);let u=+d[1];if(i=d[2],i==="#"){if(u>=t)throw new Error(l("property/index",u));return n[t-u]}if(u>t)throw new Error(l("data",u));if(o=r[t-u],!i)return o}let a=o,s=i.split("/");for(let d of s)d&&(o=(0,Te._)`${o}${(0,Te.getProperty)((0,co.unescapeJsonPointer)(d))}`,a=(0,Te._)`${a} && ${o}`);return a;function l(d,u){return`Cannot access ${d} ${u} levels up, current level is ${t}`}}qo.getData=HO});var em=ce(ab=>{"use strict";Object.defineProperty(ab,"__esModule",{value:!0});var ob=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};ab.default=ob});var au=ce(db=>{"use strict";Object.defineProperty(db,"__esModule",{value:!0});var sb=ru(),lb=class extends Error{constructor(t,r,n,i){super(i||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,sb.resolveUrl)(t,r,n),this.missingSchema=(0,sb.normalizeId)((0,sb.getFullPath)(t,this.missingRef))}};db.default=lb});var rm=ce(Qn=>{"use strict";Object.defineProperty(Qn,"__esModule",{value:!0});Qn.resolveSchema=Qn.getCompilingSchema=Qn.resolveRef=Qn.compileSchema=Qn.SchemaEnv=void 0;var yi=it(),a2=em(),Ha=uo(),bi=ru(),BO=Tt(),s2=ou(),ul=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,bi.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={}}};Qn.SchemaEnv=ul;function cb(e){let t=KO.call(this,e);if(t)return t;let r=(0,bi.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:i}=this.opts.code,{ownProperties:o}=this.opts,a=new yi.CodeGen(this.scope,{es5:n,lines:i,ownProperties:o}),s;e.$async&&(s=a.scopeValue("Error",{ref:a2.default,code:(0,yi._)`require("ajv/dist/runtime/validation_error").default`}));let l=a.scopeName("validate");e.validateName=l;let d={gen:a,allErrors:this.opts.allErrors,data:Ha.default.data,parentData:Ha.default.parentData,parentDataProperty:Ha.default.parentDataProperty,dataNames:[Ha.default.data],dataPathArr:[yi.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,yi.stringify)(e.schema)}:{ref:e.schema}),validateName:l,ValidationError:s,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:yi.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,yi._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(e),(0,s2.validateFunctionCode)(d),a.optimize(this.opts.code.optimize);let c=a.toString();u=`${a.scopeRefs(Ha.default.scope)}return ${c}`,this.opts.code.process&&(u=this.opts.code.process(u,e));let p=new Function(`${Ha.default.self}`,`${Ha.default.scope}`,u)(this,this.scope.get());if(this.scope.value(l,{ref:p}),p.errors=null,p.schema=e.schema,p.schemaEnv=e,e.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:l,validateCode:c,scopeValues:a._values}),this.opts.unevaluated){let{props:m,items:h}=d;p.evaluated={props:m instanceof yi.Name?void 0:m,items:h instanceof yi.Name?void 0:h,dynamicProps:m instanceof yi.Name,dynamicItems:h instanceof yi.Name},p.source&&(p.source.evaluated=(0,yi.stringify)(p.evaluated))}return e.validate=p,e}catch(c){throw delete e.validate,delete e.validateName,u&&this.logger.error("Error compiling schema, function code:",u),c}finally{this._compilations.delete(e)}}Qn.compileSchema=cb;function l2(e,t,r){var n;r=(0,bi.resolveUrl)(this.opts.uriResolver,t,r);let i=e.refs[r];if(i)return i;let o=c2.call(this,e,r);if(o===void 0){let a=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:s}=this.opts;a&&(o=new ul({schema:a,schemaId:s,root:e,baseId:t}))}if(o!==void 0)return e.refs[r]=d2.call(this,o)}Qn.resolveRef=l2;function d2(e){return(0,bi.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:cb.call(this,e)}function KO(e){for(let t of this._compilations)if(u2(t,e))return t}Qn.getCompilingSchema=KO;function u2(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function c2(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||tm.call(this,e,t)}function tm(e,t){let r=this.opts.uriResolver.parse(t),n=(0,bi._getFullPath)(this.opts.uriResolver,r),i=(0,bi.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===i)return ub.call(this,r,e);let o=(0,bi.normalizeId)(n),a=this.refs[o]||this.schemas[o];if(typeof a=="string"){let s=tm.call(this,e,a);return typeof s?.schema!="object"?void 0:ub.call(this,r,s)}if(typeof a?.schema=="object"){if(a.validate||cb.call(this,a),o===(0,bi.normalizeId)(t)){let{schema:s}=a,{schemaId:l}=this.opts,d=s[l];return d&&(i=(0,bi.resolveUrl)(this.opts.uriResolver,i,d)),new ul({schema:s,schemaId:l,root:e,baseId:i})}return ub.call(this,r,a)}}Qn.resolveSchema=tm;var f2=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function ub(e,{baseId:t,schema:r,root:n}){var i;if(((i=e.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(let s of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let l=r[(0,BO.unescapeFragment)(s)];if(l===void 0)return;r=l;let d=typeof r=="object"&&r[this.opts.schemaId];!f2.has(s)&&d&&(t=(0,bi.resolveUrl)(this.opts.uriResolver,t,d))}let o;if(typeof r!="boolean"&&r.$ref&&!(0,BO.schemaHasRulesButRef)(r,this.RULES)){let s=(0,bi.resolveUrl)(this.opts.uriResolver,t,r.$ref);o=tm.call(this,n,s)}let{schemaId:a}=this.opts;if(o=o||new ul({schema:r,schemaId:a,root:n,baseId:t}),o.schema!==o.root.schema)return o}});var JO=ce((tte,m2)=>{m2.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var mb=ce((rte,eC)=>{"use strict";var p2=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),XO=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function fb(e){let t="",r=0,n=0;for(n=0;n<e.length;n++)if(r=e[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n];break}for(n+=1;n<e.length;n++){if(r=e[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n]}return t}var h2=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function YO(e){return e.length=0,!0}function _2(e,t,r){if(e.length){let n=fb(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function g2(e){let t=0,r={error:!1,address:"",zone:""},n=[],i=[],o=!1,a=!1,s=_2;for(let l=0;l<e.length;l++){let d=e[l];if(!(d==="["||d==="]"))if(d===":"){if(o===!0&&(a=!0),!s(i,n,r))break;if(++t>7){r.error=!0;break}l>0&&e[l-1]===":"&&(o=!0),n.push(":");continue}else if(d==="%"){if(!s(i,n,r))break;s=YO}else{i.push(d);continue}}return i.length&&(s===YO?r.zone=i.join(""):a?n.push(i.join("")):n.push(fb(i))),r.address=n.join(""),r}function QO(e){if(y2(e,":")<2)return{host:e,isIPV6:!1};let t=g2(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:n}}}function y2(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function b2(e){let t=e,r=[],n=-1,i=0;for(;i=t.length;){if(i===1){if(t===".")break;if(t==="/"){r.push("/");break}else{r.push(t);break}}else if(i===2){if(t[0]==="."){if(t[1]===".")break;if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&(t[1]==="."||t[1]==="/")){r.push("/");break}}else if(i===3&&t==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(t[0]==="."){if(t[1]==="."){if(t[2]==="/"){t=t.slice(3);continue}}else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&t[1]==="."){if(t[2]==="/"){t=t.slice(2);continue}else if(t[2]==="."&&t[3]==="/"){t=t.slice(3),r.length!==0&&r.pop();continue}}if((n=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,n)),t=t.slice(n)}return r.join("")}function v2(e,t){let r=t!==!0?escape:unescape;return e.scheme!==void 0&&(e.scheme=r(e.scheme)),e.userinfo!==void 0&&(e.userinfo=r(e.userinfo)),e.host!==void 0&&(e.host=r(e.host)),e.path!==void 0&&(e.path=r(e.path)),e.query!==void 0&&(e.query=r(e.query)),e.fragment!==void 0&&(e.fragment=r(e.fragment)),e}function S2(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!XO(r)){let n=QO(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=e.host}t.push(r)}return(typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}eC.exports={nonSimpleDomain:h2,recomposeAuthority:S2,normalizeComponentEncoding:v2,removeDotSegments:b2,isIPv4:XO,isUUID:p2,normalizeIPv6:QO,stringArrayToHexStripped:fb}});var oC=ce((nte,iC)=>{"use strict";var{isUUID:w2}=mb(),k2=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,x2=["http","https","ws","wss","urn","urn:uuid"];function T2(e){return x2.indexOf(e)!==-1}function pb(e){return e.secure===!0?!0:e.secure===!1?!1:e.scheme?e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S"):!1}function tC(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function rC(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function A2(e){return e.secure=pb(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function O2(e){if((e.port===(pb(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function C2(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(k2);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let i=`${n}:${t.nid||e.nid}`,o=hb(i);e.path=void 0,o&&(e=o.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function E2(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),i=`${r}:${t.nid||n}`,o=hb(i);o&&(e=o.serialize(e,t));let a=e,s=e.nss;return a.path=`${n||t.nid}:${s}`,t.skipEscape=!0,a}function P2(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!w2(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function R2(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var nC={scheme:"http",domainHost:!0,parse:tC,serialize:rC},I2={scheme:"https",domainHost:nC.domainHost,parse:tC,serialize:rC},nm={scheme:"ws",domainHost:!0,parse:A2,serialize:O2},$2={scheme:"wss",domainHost:nm.domainHost,parse:nm.parse,serialize:nm.serialize},M2={scheme:"urn",parse:C2,serialize:E2,skipNormalize:!0},j2={scheme:"urn:uuid",parse:P2,serialize:R2,skipNormalize:!0},im={http:nC,https:I2,ws:nm,wss:$2,urn:M2,"urn:uuid":j2};Object.setPrototypeOf(im,null);function hb(e){return e&&(im[e]||im[e.toLowerCase()])||void 0}iC.exports={wsIsSecure:pb,SCHEMES:im,isValidSchemeName:T2,getSchemeHandler:hb}});var lC=ce((ite,am)=>{"use strict";var{normalizeIPv6:z2,removeDotSegments:su,recomposeAuthority:N2,normalizeComponentEncoding:om,isIPv4:G2,nonSimpleDomain:F2}=mb(),{SCHEMES:D2,getSchemeHandler:aC}=oC();function q2(e,t){return typeof e=="string"?e=Gi(fo(e,t),t):typeof e=="object"&&(e=fo(Gi(e,t),t)),e}function L2(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},i=sC(fo(e,n),fo(t,n),n,!0);return n.skipEscape=!0,Gi(i,n)}function sC(e,t,r,n){let i={};return n||(e=fo(Gi(e,r),r),t=fo(Gi(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(i.scheme=t.scheme,i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=su(t.path||""),i.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=su(t.path||""),i.query=t.query):(t.path?(t.path[0]==="/"?i.path=su(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?i.path="/"+t.path:e.path?i.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:i.path=t.path,i.path=su(i.path)),i.query=t.query):(i.path=e.path,t.query!==void 0?i.query=t.query:i.query=e.query),i.userinfo=e.userinfo,i.host=e.host,i.port=e.port),i.scheme=e.scheme),i.fragment=t.fragment,i}function U2(e,t,r){return typeof e=="string"?(e=unescape(e),e=Gi(om(fo(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Gi(om(e,!0),{...r,skipEscape:!0})),typeof t=="string"?(t=unescape(t),t=Gi(om(fo(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Gi(om(t,!0),{...r,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function Gi(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),i=[],o=aC(n.scheme||r.scheme);o&&o.serialize&&o.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&i.push(r.scheme,":");let a=N2(r);if(a!==void 0&&(n.reference!=="suffix"&&i.push("//"),i.push(a),r.path&&r.path[0]!=="/"&&i.push("/")),r.path!==void 0){let s=r.path;!n.absolutePath&&(!o||!o.absolutePath)&&(s=su(s)),a===void 0&&s[0]==="/"&&s[1]==="/"&&(s="/%2F"+s.slice(2)),i.push(s)}return r.query!==void 0&&i.push("?",r.query),r.fragment!==void 0&&i.push("#",r.fragment),i.join("")}var W2=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function fo(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},i=!1;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let o=e.match(W2);if(o){if(n.scheme=o[1],n.userinfo=o[3],n.host=o[4],n.port=parseInt(o[5],10),n.path=o[6]||"",n.query=o[7],n.fragment=o[8],isNaN(n.port)&&(n.port=o[5]),n.host)if(G2(n.host)===!1){let l=z2(n.host);n.host=l.host.toLowerCase(),i=l.isIPV6}else i=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=aC(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&i===!1&&F2(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(s){n.error=n.error||"Host's domain name can not be converted to ASCII: "+s}(!a||a&&!a.skipNormalize)&&(e.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var _b={SCHEMES:D2,normalize:q2,resolve:L2,resolveComponent:sC,equal:U2,serialize:Gi,parse:fo};am.exports=_b;am.exports.default=_b;am.exports.fastUri=_b});var uC=ce(gb=>{"use strict";Object.defineProperty(gb,"__esModule",{value:!0});var dC=lC();dC.code='require("ajv/dist/runtime/uri").default';gb.default=dC});var yC=ce(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.CodeGen=Wr.Name=Wr.nil=Wr.stringify=Wr.str=Wr._=Wr.KeywordCxt=void 0;var Z2=ou();Object.defineProperty(Wr,"KeywordCxt",{enumerable:!0,get:function(){return Z2.KeywordCxt}});var cl=it();Object.defineProperty(Wr,"_",{enumerable:!0,get:function(){return cl._}});Object.defineProperty(Wr,"str",{enumerable:!0,get:function(){return cl.str}});Object.defineProperty(Wr,"stringify",{enumerable:!0,get:function(){return cl.stringify}});Object.defineProperty(Wr,"nil",{enumerable:!0,get:function(){return cl.nil}});Object.defineProperty(Wr,"Name",{enumerable:!0,get:function(){return cl.Name}});Object.defineProperty(Wr,"CodeGen",{enumerable:!0,get:function(){return cl.CodeGen}});var V2=em(),hC=au(),H2=Vy(),lu=rm(),B2=it(),du=ru(),sm=tu(),bb=Tt(),cC=JO(),K2=uC(),_C=(e,t)=>new RegExp(e,t);_C.code="new RegExp";var J2=["removeAdditional","useDefaults","coerceTypes"],Y2=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),X2={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},Q2={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},fC=200;function eW(e){var t,r,n,i,o,a,s,l,d,u,c,f,p,m,h,_,g,b,y,v,S,A,R,W,L;let ae=e.strict,U=(t=e.code)===null||t===void 0?void 0:t.optimize,B=U===!0||U===void 0?1:U||0,oe=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:_C,Z=(i=e.uriResolver)!==null&&i!==void 0?i:K2.default;return{strictSchema:(a=(o=e.strictSchema)!==null&&o!==void 0?o:ae)!==null&&a!==void 0?a:!0,strictNumbers:(l=(s=e.strictNumbers)!==null&&s!==void 0?s:ae)!==null&&l!==void 0?l:!0,strictTypes:(u=(d=e.strictTypes)!==null&&d!==void 0?d:ae)!==null&&u!==void 0?u:"log",strictTuples:(f=(c=e.strictTuples)!==null&&c!==void 0?c:ae)!==null&&f!==void 0?f:"log",strictRequired:(m=(p=e.strictRequired)!==null&&p!==void 0?p:ae)!==null&&m!==void 0?m:!1,code:e.code?{...e.code,optimize:B,regExp:oe}:{optimize:B,regExp:oe},loopRequired:(h=e.loopRequired)!==null&&h!==void 0?h:fC,loopEnum:(_=e.loopEnum)!==null&&_!==void 0?_:fC,meta:(g=e.meta)!==null&&g!==void 0?g:!0,messages:(b=e.messages)!==null&&b!==void 0?b:!0,inlineRefs:(y=e.inlineRefs)!==null&&y!==void 0?y:!0,schemaId:(v=e.schemaId)!==null&&v!==void 0?v:"$id",addUsedSchema:(S=e.addUsedSchema)!==null&&S!==void 0?S:!0,validateSchema:(A=e.validateSchema)!==null&&A!==void 0?A:!0,validateFormats:(R=e.validateFormats)!==null&&R!==void 0?R:!0,unicodeRegExp:(W=e.unicodeRegExp)!==null&&W!==void 0?W:!0,int32range:(L=e.int32range)!==null&&L!==void 0?L:!0,uriResolver:Z}}var uu=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...eW(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new B2.ValueScope({scope:{},prefixes:Y2,es5:r,lines:n}),this.logger=aW(t.logger);let i=t.validateFormats;t.validateFormats=!1,this.RULES=(0,H2.getRules)(),mC.call(this,X2,t,"NOT SUPPORTED"),mC.call(this,Q2,t,"DEPRECATED","warn"),this._metaOpts=iW.call(this),t.formats&&rW.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&nW.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),tW.call(this),t.validateFormats=i}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,i=cC;n==="id"&&(i={...cC},i.id=i.$id,delete i.$id),r&&t&&this.addMetaSchema(i,i[n],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let i=n(r);return"$async"in n||(this.errors=n.errors),i}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return i.call(this,t,r);async function i(u,c){await o.call(this,u.$schema);let f=this._addSchema(u,c);return f.validate||a.call(this,f)}async function o(u){u&&!this.getSchema(u)&&await i.call(this,{$ref:u},!0)}async function a(u){try{return this._compileSchemaEnv(u)}catch(c){if(!(c instanceof hC.default))throw c;return s.call(this,c),await l.call(this,c.missingSchema),a.call(this,u)}}function s({missingSchema:u,missingRef:c}){if(this.refs[u])throw new Error(`AnySchema ${u} is loaded but ${c} cannot be resolved`)}async function l(u){let c=await d.call(this,u);this.refs[u]||await o.call(this,c.$schema),this.refs[u]||this.addSchema(c,u,r)}async function d(u){let c=this._loading[u];if(c)return c;try{return await(this._loading[u]=n(u))}finally{delete this._loading[u]}}}addSchema(t,r,n,i=this.opts.validateSchema){if(Array.isArray(t)){for(let a of t)this.addSchema(a,void 0,n,i);return this}let o;if(typeof t=="object"){let{schemaId:a}=this.opts;if(o=t[a],o!==void 0&&typeof o!="string")throw new Error(`schema ${a} must be string`)}return r=(0,du.normalizeId)(r||o),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,i,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let n;if(n=t.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let i=this.validate(n,t);if(!i&&r){let o="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(o);else throw new Error(o)}return i}getSchema(t){let r;for(;typeof(r=pC.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,i=new lu.SchemaEnv({schema:{},schemaId:n});if(r=lu.resolveSchema.call(this,i,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=pC.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0,du.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(lW.call(this,n,r),!r)return(0,bb.eachItem)(n,o=>yb.call(this,o)),this;uW.call(this,r);let i={...r,type:(0,sm.getJSONTypes)(r.type),schemaType:(0,sm.getJSONTypes)(r.schemaType)};return(0,bb.eachItem)(n,i.type.length===0?o=>yb.call(this,o,i):o=>i.type.forEach(a=>yb.call(this,o,i,a))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let i=n.rules.findIndex(o=>o.keyword===t);i>=0&&n.rules.splice(i,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!t||t.length===0?"No errors":t.map(i=>`${n}${i.instancePath} ${i.message}`).reduce((i,o)=>i+r+o)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let i of r){let o=i.split("/").slice(1),a=t;for(let s of o)a=a[s];for(let s in n){let l=n[s];if(typeof l!="object")continue;let{$data:d}=l.definition,u=a[s];d&&u&&(a[s]=gC(u))}}return t}_removeAllSchemas(t,r){for(let n in t){let i=t[n];(!r||r.test(n))&&(typeof i=="string"?delete t[n]:i&&!i.meta&&(this._cache.delete(i.schema),delete t[n]))}}_addSchema(t,r,n,i=this.opts.validateSchema,o=this.opts.addUsedSchema){let a,{schemaId:s}=this.opts;if(typeof t=="object")a=t[s];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let l=this._cache.get(t);if(l!==void 0)return l;n=(0,du.normalizeId)(a||n);let d=du.getSchemaRefs.call(this,t,n);return l=new lu.SchemaEnv({schema:t,schemaId:s,meta:r,baseId:n,localRefs:d}),this._cache.set(l.schema,l),o&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=l),i&&this.validateSchema(t,!0),l}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):lu.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{lu.compileSchema.call(this,t)}finally{this.opts=r}}};uu.ValidationError=V2.default;uu.MissingRefError=hC.default;Wr.default=uu;function mC(e,t,r,n="error"){for(let i in e){let o=i;o in t&&this.logger[n](`${r}: option ${i}. ${e[o]}`)}}function pC(e){return e=(0,du.normalizeId)(e),this.schemas[e]||this.refs[e]}function tW(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function rW(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function nW(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function iW(){let e={...this.opts};for(let t of J2)delete e[t];return e}var oW={log(){},warn(){},error(){}};function aW(e){if(e===!1)return oW;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var sW=/^[a-z_$][a-z0-9_$:-]*$/i;function lW(e,t){let{RULES:r}=this;if((0,bb.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!sW.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function yb(e,t,r){var n;let i=t?.post;if(r&&i)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:o}=this,a=i?o.post:o.rules.find(({type:l})=>l===r);if(a||(a={type:r,rules:[]},o.rules.push(a)),o.keywords[e]=!0,!t)return;let s={keyword:e,definition:{...t,type:(0,sm.getJSONTypes)(t.type),schemaType:(0,sm.getJSONTypes)(t.schemaType)}};t.before?dW.call(this,a,s,t.before):a.rules.push(s),o.all[e]=s,(n=t.implements)===null||n===void 0||n.forEach(l=>this.addKeyword(l))}function dW(e,t,r){let n=e.rules.findIndex(i=>i.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function uW(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=gC(t)),e.validateSchema=this.compile(t,!0))}var cW={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function gC(e){return{anyOf:[e,cW]}}});var bC=ce(vb=>{"use strict";Object.defineProperty(vb,"__esModule",{value:!0});var fW={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};vb.default=fW});var kC=ce(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.callRef=Ba.getValidate=void 0;var mW=au(),vC=Xn(),On=it(),fl=uo(),SC=rm(),lm=Tt(),pW={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:i,schemaEnv:o,validateName:a,opts:s,self:l}=n,{root:d}=o;if((r==="#"||r==="#/")&&i===d.baseId)return c();let u=SC.resolveRef.call(l,d,i,r);if(u===void 0)throw new mW.default(n.opts.uriResolver,i,r);if(u instanceof SC.SchemaEnv)return f(u);return p(u);function c(){if(o===d)return dm(e,a,o,o.$async);let m=t.scopeValue("root",{ref:d});return dm(e,(0,On._)`${m}.validate`,d,d.$async)}function f(m){let h=wC(e,m);dm(e,h,m,m.$async)}function p(m){let h=t.scopeValue("schema",s.code.source===!0?{ref:m,code:(0,On.stringify)(m)}:{ref:m}),_=t.name("valid"),g=e.subschema({schema:m,dataTypes:[],schemaPath:On.nil,topSchemaRef:h,errSchemaPath:r},_);e.mergeEvaluated(g),e.ok(_)}}};function wC(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,On._)`${r.scopeValue("wrapper",{ref:t})}.validate`}Ba.getValidate=wC;function dm(e,t,r,n){let{gen:i,it:o}=e,{allErrors:a,schemaEnv:s,opts:l}=o,d=l.passContext?fl.default.this:On.nil;n?u():c();function u(){if(!s.$async)throw new Error("async schema referenced by sync schema");let m=i.let("valid");i.try(()=>{i.code((0,On._)`await ${(0,vC.callValidateCode)(e,t,d)}`),p(t),a||i.assign(m,!0)},h=>{i.if((0,On._)`!(${h} instanceof ${o.ValidationError})`,()=>i.throw(h)),f(h),a||i.assign(m,!1)}),e.ok(m)}function c(){e.result((0,vC.callValidateCode)(e,t,d),()=>p(t),()=>f(t))}function f(m){let h=(0,On._)`${m}.errors`;i.assign(fl.default.vErrors,(0,On._)`${fl.default.vErrors} === null ? ${h} : ${fl.default.vErrors}.concat(${h})`),i.assign(fl.default.errors,(0,On._)`${fl.default.vErrors}.length`)}function p(m){var h;if(!o.opts.unevaluated)return;let _=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(o.props!==!0)if(_&&!_.dynamicProps)_.props!==void 0&&(o.props=lm.mergeEvaluated.props(i,_.props,o.props));else{let g=i.var("props",(0,On._)`${m}.evaluated.props`);o.props=lm.mergeEvaluated.props(i,g,o.props,On.Name)}if(o.items!==!0)if(_&&!_.dynamicItems)_.items!==void 0&&(o.items=lm.mergeEvaluated.items(i,_.items,o.items));else{let g=i.var("items",(0,On._)`${m}.evaluated.items`);o.items=lm.mergeEvaluated.items(i,g,o.items,On.Name)}}}Ba.callRef=dm;Ba.default=pW});var xC=ce(Sb=>{"use strict";Object.defineProperty(Sb,"__esModule",{value:!0});var hW=bC(),_W=kC(),gW=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",hW.default,_W.default];Sb.default=gW});var TC=ce(wb=>{"use strict";Object.defineProperty(wb,"__esModule",{value:!0});var um=it(),Lo=um.operators,cm={maximum:{okStr:"<=",ok:Lo.LTE,fail:Lo.GT},minimum:{okStr:">=",ok:Lo.GTE,fail:Lo.LT},exclusiveMaximum:{okStr:"<",ok:Lo.LT,fail:Lo.GTE},exclusiveMinimum:{okStr:">",ok:Lo.GT,fail:Lo.LTE}},yW={message:({keyword:e,schemaCode:t})=>(0,um.str)`must be ${cm[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,um._)`{comparison: ${cm[e].okStr}, limit: ${t}}`},bW={keyword:Object.keys(cm),type:"number",schemaType:"number",$data:!0,error:yW,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,um._)`${r} ${cm[t].fail} ${n} || isNaN(${r})`)}};wb.default=bW});var AC=ce(kb=>{"use strict";Object.defineProperty(kb,"__esModule",{value:!0});var cu=it(),vW={message:({schemaCode:e})=>(0,cu.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,cu._)`{multipleOf: ${e}}`},SW={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:vW,code(e){let{gen:t,data:r,schemaCode:n,it:i}=e,o=i.opts.multipleOfPrecision,a=t.let("res"),s=o?(0,cu._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:(0,cu._)`${a} !== parseInt(${a})`;e.fail$data((0,cu._)`(${n} === 0 || (${a} = ${r}/${n}, ${s}))`)}};kb.default=SW});var CC=ce(xb=>{"use strict";Object.defineProperty(xb,"__esModule",{value:!0});function OC(e){let t=e.length,r=0,n=0,i;for(;n<t;)r++,i=e.charCodeAt(n++),i>=55296&&i<=56319&&n<t&&(i=e.charCodeAt(n),(i&64512)===56320&&n++);return r}xb.default=OC;OC.code='require("ajv/dist/runtime/ucs2length").default'});var EC=ce(Tb=>{"use strict";Object.defineProperty(Tb,"__esModule",{value:!0});var Ka=it(),wW=Tt(),kW=CC(),xW={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,Ka.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,Ka._)`{limit: ${e}}`},TW={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:xW,code(e){let{keyword:t,data:r,schemaCode:n,it:i}=e,o=t==="maxLength"?Ka.operators.GT:Ka.operators.LT,a=i.opts.unicode===!1?(0,Ka._)`${r}.length`:(0,Ka._)`${(0,wW.useFunc)(e.gen,kW.default)}(${r})`;e.fail$data((0,Ka._)`${a} ${o} ${n}`)}};Tb.default=TW});var PC=ce(Ab=>{"use strict";Object.defineProperty(Ab,"__esModule",{value:!0});var AW=Xn(),fm=it(),OW={message:({schemaCode:e})=>(0,fm.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,fm._)`{pattern: ${e}}`},CW={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:OW,code(e){let{data:t,$data:r,schema:n,schemaCode:i,it:o}=e,a=o.opts.unicodeRegExp?"u":"",s=r?(0,fm._)`(new RegExp(${i}, ${a}))`:(0,AW.usePattern)(e,n);e.fail$data((0,fm._)`!${s}.test(${t})`)}};Ab.default=CW});var RC=ce(Ob=>{"use strict";Object.defineProperty(Ob,"__esModule",{value:!0});var fu=it(),EW={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,fu.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,fu._)`{limit: ${e}}`},PW={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:EW,code(e){let{keyword:t,data:r,schemaCode:n}=e,i=t==="maxProperties"?fu.operators.GT:fu.operators.LT;e.fail$data((0,fu._)`Object.keys(${r}).length ${i} ${n}`)}};Ob.default=PW});var IC=ce(Cb=>{"use strict";Object.defineProperty(Cb,"__esModule",{value:!0});var mu=Xn(),pu=it(),RW=Tt(),IW={message:({params:{missingProperty:e}})=>(0,pu.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,pu._)`{missingProperty: ${e}}`},$W={keyword:"required",type:"object",schemaType:"array",$data:!0,error:IW,code(e){let{gen:t,schema:r,schemaCode:n,data:i,$data:o,it:a}=e,{opts:s}=a;if(!o&&r.length===0)return;let l=r.length>=s.loopRequired;if(a.allErrors?d():u(),s.strictRequired){let p=e.parentSchema.properties,{definedProperties:m}=e.it;for(let h of r)if(p?.[h]===void 0&&!m.has(h)){let _=a.schemaEnv.baseId+a.errSchemaPath,g=`required property "${h}" is not defined at "${_}" (strictRequired)`;(0,RW.checkStrictMode)(a,g,a.opts.strictRequired)}}function d(){if(l||o)e.block$data(pu.nil,c);else for(let p of r)(0,mu.checkReportMissingProp)(e,p)}function u(){let p=t.let("missing");if(l||o){let m=t.let("valid",!0);e.block$data(m,()=>f(p,m)),e.ok(m)}else t.if((0,mu.checkMissingProp)(e,r,p)),(0,mu.reportMissingProp)(e,p),t.else()}function c(){t.forOf("prop",n,p=>{e.setParams({missingProperty:p}),t.if((0,mu.noPropertyInData)(t,i,p,s.ownProperties),()=>e.error())})}function f(p,m){e.setParams({missingProperty:p}),t.forOf(p,n,()=>{t.assign(m,(0,mu.propertyInData)(t,i,p,s.ownProperties)),t.if((0,pu.not)(m),()=>{e.error(),t.break()})},pu.nil)}}};Cb.default=$W});var $C=ce(Eb=>{"use strict";Object.defineProperty(Eb,"__esModule",{value:!0});var hu=it(),MW={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,hu.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,hu._)`{limit: ${e}}`},jW={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:MW,code(e){let{keyword:t,data:r,schemaCode:n}=e,i=t==="maxItems"?hu.operators.GT:hu.operators.LT;e.fail$data((0,hu._)`${r}.length ${i} ${n}`)}};Eb.default=jW});var mm=ce(Pb=>{"use strict";Object.defineProperty(Pb,"__esModule",{value:!0});var MC=eb();MC.code='require("ajv/dist/runtime/equal").default';Pb.default=MC});var jC=ce(Ib=>{"use strict";Object.defineProperty(Ib,"__esModule",{value:!0});var Rb=tu(),Zr=it(),zW=Tt(),NW=mm(),GW={message:({params:{i:e,j:t}})=>(0,Zr.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,Zr._)`{i: ${e}, j: ${t}}`},FW={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:GW,code(e){let{gen:t,data:r,$data:n,schema:i,parentSchema:o,schemaCode:a,it:s}=e;if(!n&&!i)return;let l=t.let("valid"),d=o.items?(0,Rb.getSchemaTypes)(o.items):[];e.block$data(l,u,(0,Zr._)`${a} === false`),e.ok(l);function u(){let m=t.let("i",(0,Zr._)`${r}.length`),h=t.let("j");e.setParams({i:m,j:h}),t.assign(l,!0),t.if((0,Zr._)`${m} > 1`,()=>(c()?f:p)(m,h))}function c(){return d.length>0&&!d.some(m=>m==="object"||m==="array")}function f(m,h){let _=t.name("item"),g=(0,Rb.checkDataTypes)(d,_,s.opts.strictNumbers,Rb.DataType.Wrong),b=t.const("indices",(0,Zr._)`{}`);t.for((0,Zr._)`;${m}--;`,()=>{t.let(_,(0,Zr._)`${r}[${m}]`),t.if(g,(0,Zr._)`continue`),d.length>1&&t.if((0,Zr._)`typeof ${_} == "string"`,(0,Zr._)`${_} += "_"`),t.if((0,Zr._)`typeof ${b}[${_}] == "number"`,()=>{t.assign(h,(0,Zr._)`${b}[${_}]`),e.error(),t.assign(l,!1).break()}).code((0,Zr._)`${b}[${_}] = ${m}`)})}function p(m,h){let _=(0,zW.useFunc)(t,NW.default),g=t.name("outer");t.label(g).for((0,Zr._)`;${m}--;`,()=>t.for((0,Zr._)`${h} = ${m}; ${h}--;`,()=>t.if((0,Zr._)`${_}(${r}[${m}], ${r}[${h}])`,()=>{e.error(),t.assign(l,!1).break(g)})))}}};Ib.default=FW});var zC=ce(Mb=>{"use strict";Object.defineProperty(Mb,"__esModule",{value:!0});var $b=it(),DW=Tt(),qW=mm(),LW={message:"must be equal to constant",params:({schemaCode:e})=>(0,$b._)`{allowedValue: ${e}}`},UW={keyword:"const",$data:!0,error:LW,code(e){let{gen:t,data:r,$data:n,schemaCode:i,schema:o}=e;n||o&&typeof o=="object"?e.fail$data((0,$b._)`!${(0,DW.useFunc)(t,qW.default)}(${r}, ${i})`):e.fail((0,$b._)`${o} !== ${r}`)}};Mb.default=UW});var NC=ce(jb=>{"use strict";Object.defineProperty(jb,"__esModule",{value:!0});var _u=it(),WW=Tt(),ZW=mm(),VW={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,_u._)`{allowedValues: ${e}}`},HW={keyword:"enum",schemaType:"array",$data:!0,error:VW,code(e){let{gen:t,data:r,$data:n,schema:i,schemaCode:o,it:a}=e;if(!n&&i.length===0)throw new Error("enum must have non-empty array");let s=i.length>=a.opts.loopEnum,l,d=()=>l??(l=(0,WW.useFunc)(t,ZW.default)),u;if(s||n)u=t.let("valid"),e.block$data(u,c);else{if(!Array.isArray(i))throw new Error("ajv implementation error");let p=t.const("vSchema",o);u=(0,_u.or)(...i.map((m,h)=>f(p,h)))}e.pass(u);function c(){t.assign(u,!1),t.forOf("v",o,p=>t.if((0,_u._)`${d()}(${r}, ${p})`,()=>t.assign(u,!0).break()))}function f(p,m){let h=i[m];return typeof h=="object"&&h!==null?(0,_u._)`${d()}(${r}, ${p}[${m}])`:(0,_u._)`${r} === ${h}`}}};jb.default=HW});var GC=ce(zb=>{"use strict";Object.defineProperty(zb,"__esModule",{value:!0});var BW=TC(),KW=AC(),JW=EC(),YW=PC(),XW=RC(),QW=IC(),eZ=$C(),tZ=jC(),rZ=zC(),nZ=NC(),iZ=[BW.default,KW.default,JW.default,YW.default,XW.default,QW.default,eZ.default,tZ.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},rZ.default,nZ.default];zb.default=iZ});var Gb=ce(gu=>{"use strict";Object.defineProperty(gu,"__esModule",{value:!0});gu.validateAdditionalItems=void 0;var Ja=it(),Nb=Tt(),oZ={message:({params:{len:e}})=>(0,Ja.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Ja._)`{limit: ${e}}`},aZ={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:oZ,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,Nb.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}FC(e,n)}};function FC(e,t){let{gen:r,schema:n,data:i,keyword:o,it:a}=e;a.items=!0;let s=r.const("len",(0,Ja._)`${i}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,Ja._)`${s} <= ${t.length}`);else if(typeof n=="object"&&!(0,Nb.alwaysValidSchema)(a,n)){let d=r.var("valid",(0,Ja._)`${s} <= ${t.length}`);r.if((0,Ja.not)(d),()=>l(d)),e.ok(d)}function l(d){r.forRange("i",t.length,s,u=>{e.subschema({keyword:o,dataProp:u,dataPropType:Nb.Type.Num},d),a.allErrors||r.if((0,Ja.not)(d),()=>r.break())})}}gu.validateAdditionalItems=FC;gu.default=aZ});var Fb=ce(yu=>{"use strict";Object.defineProperty(yu,"__esModule",{value:!0});yu.validateTuple=void 0;var DC=it(),pm=Tt(),sZ=Xn(),lZ={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return qC(e,"additionalItems",t);r.items=!0,!(0,pm.alwaysValidSchema)(r,t)&&e.ok((0,sZ.validateArray)(e))}};function qC(e,t,r=e.schema){let{gen:n,parentSchema:i,data:o,keyword:a,it:s}=e;u(i),s.opts.unevaluated&&r.length&&s.items!==!0&&(s.items=pm.mergeEvaluated.items(n,r.length,s.items));let l=n.name("valid"),d=n.const("len",(0,DC._)`${o}.length`);r.forEach((c,f)=>{(0,pm.alwaysValidSchema)(s,c)||(n.if((0,DC._)`${d} > ${f}`,()=>e.subschema({keyword:a,schemaProp:f,dataProp:f},l)),e.ok(l))});function u(c){let{opts:f,errSchemaPath:p}=s,m=r.length,h=m===c.minItems&&(m===c.maxItems||c[t]===!1);if(f.strictTuples&&!h){let _=`"${a}" is ${m}-tuple, but minItems or maxItems/${t} are not specified or different at path "${p}"`;(0,pm.checkStrictMode)(s,_,f.strictTuples)}}}yu.validateTuple=qC;yu.default=lZ});var LC=ce(Db=>{"use strict";Object.defineProperty(Db,"__esModule",{value:!0});var dZ=Fb(),uZ={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,dZ.validateTuple)(e,"items")};Db.default=uZ});var WC=ce(qb=>{"use strict";Object.defineProperty(qb,"__esModule",{value:!0});var UC=it(),cZ=Tt(),fZ=Xn(),mZ=Gb(),pZ={message:({params:{len:e}})=>(0,UC.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,UC._)`{limit: ${e}}`},hZ={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:pZ,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:i}=r;n.items=!0,!(0,cZ.alwaysValidSchema)(n,t)&&(i?(0,mZ.validateAdditionalItems)(e,i):e.ok((0,fZ.validateArray)(e)))}};qb.default=hZ});var ZC=ce(Lb=>{"use strict";Object.defineProperty(Lb,"__esModule",{value:!0});var ei=it(),hm=Tt(),_Z={message:({params:{min:e,max:t}})=>t===void 0?(0,ei.str)`must contain at least ${e} valid item(s)`:(0,ei.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,ei._)`{minContains: ${e}}`:(0,ei._)`{minContains: ${e}, maxContains: ${t}}`},gZ={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:_Z,code(e){let{gen:t,schema:r,parentSchema:n,data:i,it:o}=e,a,s,{minContains:l,maxContains:d}=n;o.opts.next?(a=l===void 0?1:l,s=d):a=1;let u=t.const("len",(0,ei._)`${i}.length`);if(e.setParams({min:a,max:s}),s===void 0&&a===0){(0,hm.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(s!==void 0&&a>s){(0,hm.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,hm.alwaysValidSchema)(o,r)){let h=(0,ei._)`${u} >= ${a}`;s!==void 0&&(h=(0,ei._)`${h} && ${u} <= ${s}`),e.pass(h);return}o.items=!0;let c=t.name("valid");s===void 0&&a===1?p(c,()=>t.if(c,()=>t.break())):a===0?(t.let(c,!0),s!==void 0&&t.if((0,ei._)`${i}.length > 0`,f)):(t.let(c,!1),f()),e.result(c,()=>e.reset());function f(){let h=t.name("_valid"),_=t.let("count",0);p(h,()=>t.if(h,()=>m(_)))}function p(h,_){t.forRange("i",0,u,g=>{e.subschema({keyword:"contains",dataProp:g,dataPropType:hm.Type.Num,compositeRule:!0},h),_()})}function m(h){t.code((0,ei._)`${h}++`),s===void 0?t.if((0,ei._)`${h} >= ${a}`,()=>t.assign(c,!0).break()):(t.if((0,ei._)`${h} > ${s}`,()=>t.assign(c,!1).break()),a===1?t.assign(c,!0):t.if((0,ei._)`${h} >= ${a}`,()=>t.assign(c,!0)))}}};Lb.default=gZ});var BC=ce(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});Fi.validateSchemaDeps=Fi.validatePropertyDeps=Fi.error=void 0;var Ub=it(),yZ=Tt(),bu=Xn();Fi.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,Ub.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,Ub._)`{property: ${e},
8
8
  missingProperty: ${n},
9
9
  depsCount: ${t},
10
- deps: ${r}}`};var mW={keyword:"dependencies",type:"object",schemaType:"object",error:Fi.error,code(e){let[t,r]=pW(e);WC(e,t),VC(e,r)}};function pW({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let i=Array.isArray(e[n])?t:r;i[n]=e[n]}return[t,r]}function WC(e,t=e.schema){let{gen:r,data:n,it:i}=e;if(Object.keys(t).length===0)return;let o=r.let("missing");for(let a in t){let s=t[a];if(s.length===0)continue;let l=(0,bu.propertyInData)(r,n,a,i.opts.ownProperties);e.setParams({property:a,depsCount:s.length,deps:s.join(", ")}),i.allErrors?r.if(l,()=>{for(let d of s)(0,bu.checkReportMissingProp)(e,d)}):(r.if((0,Lb._)`${l} && (${(0,bu.checkMissingProp)(e,s,o)})`),(0,bu.reportMissingProp)(e,o),r.else())}}Fi.validatePropertyDeps=WC;function VC(e,t=e.schema){let{gen:r,data:n,keyword:i,it:o}=e,a=r.name("valid");for(let s in t)(0,fW.alwaysValidSchema)(o,t[s])||(r.if((0,bu.propertyInData)(r,n,s,o.opts.ownProperties),()=>{let l=e.subschema({keyword:i,schemaProp:s},a);e.mergeValidEvaluated(l,a)},()=>r.var(a,!0)),e.ok(a))}Fi.validateSchemaDeps=VC;Fi.default=mW});var KC=ce(Ub=>{"use strict";Object.defineProperty(Ub,"__esModule",{value:!0});var BC=it(),hW=Tt(),_W={message:"property name must be valid",params:({params:e})=>(0,BC._)`{propertyName: ${e.propertyName}}`},gW={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:_W,code(e){let{gen:t,schema:r,data:n,it:i}=e;if((0,hW.alwaysValidSchema)(i,r))return;let o=t.name("valid");t.forIn("key",n,a=>{e.setParams({propertyName:a}),e.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},o),t.if((0,BC.not)(o),()=>{e.error(!0),i.allErrors||t.break()})}),e.ok(o)}};Ub.default=gW});var Wb=ce(Zb=>{"use strict";Object.defineProperty(Zb,"__esModule",{value:!0});var _m=Xn(),vi=it(),yW=uo(),gm=Tt(),bW={message:"must NOT have additional properties",params:({params:e})=>(0,vi._)`{additionalProperty: ${e.additionalProperty}}`},vW={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:bW,code(e){let{gen:t,schema:r,parentSchema:n,data:i,errsCount:o,it:a}=e;if(!o)throw new Error("ajv implementation error");let{allErrors:s,opts:l}=a;if(a.props=!0,l.removeAdditional!=="all"&&(0,gm.alwaysValidSchema)(a,r))return;let d=(0,_m.allSchemaProperties)(n.properties),u=(0,_m.allSchemaProperties)(n.patternProperties);c(),e.ok((0,vi._)`${o} === ${yW.default.errors}`);function c(){t.forIn("key",i,_=>{!d.length&&!u.length?m(_):t.if(f(_),()=>m(_))})}function f(_){let g;if(d.length>8){let b=(0,gm.schemaRefOrVal)(a,n.properties,"properties");g=(0,_m.isOwnProperty)(t,b,_)}else d.length?g=(0,vi.or)(...d.map(b=>(0,vi._)`${_} === ${b}`)):g=vi.nil;return u.length&&(g=(0,vi.or)(g,...u.map(b=>(0,vi._)`${(0,_m.usePattern)(e,b)}.test(${_})`))),(0,vi.not)(g)}function p(_){t.code((0,vi._)`delete ${i}[${_}]`)}function m(_){if(l.removeAdditional==="all"||l.removeAdditional&&r===!1){p(_);return}if(r===!1){e.setParams({additionalProperty:_}),e.error(),s||t.break();return}if(typeof r=="object"&&!(0,gm.alwaysValidSchema)(a,r)){let g=t.name("valid");l.removeAdditional==="failing"?(h(_,g,!1),t.if((0,vi.not)(g),()=>{e.reset(),p(_)})):(h(_,g),s||t.if((0,vi.not)(g),()=>t.break()))}}function h(_,g,b){let y={keyword:"additionalProperties",dataProp:_,dataPropType:gm.Type.Str};b===!1&&Object.assign(y,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(y,g)}}};Zb.default=vW});var XC=ce(Hb=>{"use strict";Object.defineProperty(Hb,"__esModule",{value:!0});var SW=ou(),JC=Xn(),Vb=Tt(),YC=Wb(),wW={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:i,it:o}=e;o.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&YC.default.code(new SW.KeywordCxt(o,YC.default,"additionalProperties"));let a=(0,JC.allSchemaProperties)(r);for(let c of a)o.definedProperties.add(c);o.opts.unevaluated&&a.length&&o.props!==!0&&(o.props=Vb.mergeEvaluated.props(t,(0,Vb.toHash)(a),o.props));let s=a.filter(c=>!(0,Vb.alwaysValidSchema)(o,r[c]));if(s.length===0)return;let l=t.name("valid");for(let c of s)d(c)?u(c):(t.if((0,JC.propertyInData)(t,i,c,o.opts.ownProperties)),u(c),o.allErrors||t.else().var(l,!0),t.endIf()),e.it.definedProperties.add(c),e.ok(l);function d(c){return o.opts.useDefaults&&!o.compositeRule&&r[c].default!==void 0}function u(c){e.subschema({keyword:"properties",schemaProp:c,dataProp:c},l)}}};Hb.default=wW});var rE=ce(Bb=>{"use strict";Object.defineProperty(Bb,"__esModule",{value:!0});var QC=Xn(),ym=it(),eE=Tt(),tE=Tt(),kW={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:i,it:o}=e,{opts:a}=o,s=(0,QC.allSchemaProperties)(r),l=s.filter(h=>(0,eE.alwaysValidSchema)(o,r[h]));if(s.length===0||l.length===s.length&&(!o.opts.unevaluated||o.props===!0))return;let d=a.strictSchema&&!a.allowMatchingProperties&&i.properties,u=t.name("valid");o.props!==!0&&!(o.props instanceof ym.Name)&&(o.props=(0,tE.evaluatedPropsToName)(t,o.props));let{props:c}=o;f();function f(){for(let h of s)d&&p(h),o.allErrors?m(h):(t.var(u,!0),m(h),t.if(u))}function p(h){for(let _ in d)new RegExp(h).test(_)&&(0,eE.checkStrictMode)(o,`property ${_} matches pattern ${h} (use allowMatchingProperties)`)}function m(h){t.forIn("key",n,_=>{t.if((0,ym._)`${(0,QC.usePattern)(e,h)}.test(${_})`,()=>{let g=l.includes(h);g||e.subschema({keyword:"patternProperties",schemaProp:h,dataProp:_,dataPropType:tE.Type.Str},u),o.opts.unevaluated&&c!==!0?t.assign((0,ym._)`${c}[${_}]`,!0):!g&&!o.allErrors&&t.if((0,ym.not)(u),()=>t.break())})})}}};Bb.default=kW});var nE=ce(Kb=>{"use strict";Object.defineProperty(Kb,"__esModule",{value:!0});var xW=Tt(),TW={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,xW.alwaysValidSchema)(n,r)){e.fail();return}let i=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),e.failResult(i,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};Kb.default=TW});var iE=ce(Jb=>{"use strict";Object.defineProperty(Jb,"__esModule",{value:!0});var AW=Xn(),OW={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:AW.validateUnion,error:{message:"must match a schema in anyOf"}};Jb.default=OW});var oE=ce(Yb=>{"use strict";Object.defineProperty(Yb,"__esModule",{value:!0});var bm=it(),CW=Tt(),EW={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,bm._)`{passingSchemas: ${e.passing}}`},PW={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:EW,code(e){let{gen:t,schema:r,parentSchema:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let o=r,a=t.let("valid",!1),s=t.let("passing",null),l=t.name("_valid");e.setParams({passing:s}),t.block(d),e.result(a,()=>e.reset(),()=>e.error(!0));function d(){o.forEach((u,c)=>{let f;(0,CW.alwaysValidSchema)(i,u)?t.var(l,!0):f=e.subschema({keyword:"oneOf",schemaProp:c,compositeRule:!0},l),c>0&&t.if((0,bm._)`${l} && ${a}`).assign(a,!1).assign(s,(0,bm._)`[${s}, ${c}]`).else(),t.if(l,()=>{t.assign(a,!0),t.assign(s,c),f&&e.mergeEvaluated(f,bm.Name)})})}}};Yb.default=PW});var aE=ce(Xb=>{"use strict";Object.defineProperty(Xb,"__esModule",{value:!0});var RW=Tt(),IW={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let i=t.name("valid");r.forEach((o,a)=>{if((0,RW.alwaysValidSchema)(n,o))return;let s=e.subschema({keyword:"allOf",schemaProp:a},i);e.ok(i),e.mergeEvaluated(s)})}};Xb.default=IW});var dE=ce(Qb=>{"use strict";Object.defineProperty(Qb,"__esModule",{value:!0});var vm=it(),lE=Tt(),$W={message:({params:e})=>(0,vm.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,vm._)`{failingKeyword: ${e.ifClause}}`},MW={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:$W,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,lE.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=sE(n,"then"),o=sE(n,"else");if(!i&&!o)return;let a=t.let("valid",!0),s=t.name("_valid");if(l(),e.reset(),i&&o){let u=t.let("ifClause");e.setParams({ifClause:u}),t.if(s,d("then",u),d("else",u))}else i?t.if(s,d("then")):t.if((0,vm.not)(s),d("else"));e.pass(a,()=>e.error(!0));function l(){let u=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);e.mergeEvaluated(u)}function d(u,c){return()=>{let f=e.subschema({keyword:u},s);t.assign(a,s),e.mergeValidEvaluated(f,a),c?t.assign(c,(0,vm._)`${u}`):e.setParams({ifClause:u})}}}};function sE(e,t){let r=e.schema[t];return r!==void 0&&!(0,lE.alwaysValidSchema)(e,r)}Qb.default=MW});var uE=ce(ev=>{"use strict";Object.defineProperty(ev,"__esModule",{value:!0});var jW=Tt(),zW={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,jW.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};ev.default=zW});var cE=ce(tv=>{"use strict";Object.defineProperty(tv,"__esModule",{value:!0});var NW=Nb(),GW=qC(),FW=Gb(),DW=UC(),qW=ZC(),LW=HC(),UW=KC(),ZW=Wb(),WW=XC(),VW=rE(),HW=nE(),BW=iE(),KW=oE(),JW=aE(),YW=dE(),XW=uE();function QW(e=!1){let t=[HW.default,BW.default,KW.default,JW.default,YW.default,XW.default,UW.default,ZW.default,LW.default,WW.default,VW.default];return e?t.push(GW.default,DW.default):t.push(NW.default,FW.default),t.push(qW.default),t}tv.default=QW});var fE=ce(rv=>{"use strict";Object.defineProperty(rv,"__esModule",{value:!0});var Tr=it(),eV={message:({schemaCode:e})=>(0,Tr.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Tr._)`{format: ${e}}`},tV={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:eV,code(e,t){let{gen:r,data:n,$data:i,schema:o,schemaCode:a,it:s}=e,{opts:l,errSchemaPath:d,schemaEnv:u,self:c}=s;if(!l.validateFormats)return;i?f():p();function f(){let m=r.scopeValue("formats",{ref:c.formats,code:l.code.formats}),h=r.const("fDef",(0,Tr._)`${m}[${a}]`),_=r.let("fType"),g=r.let("format");r.if((0,Tr._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(_,(0,Tr._)`${h}.type || "string"`).assign(g,(0,Tr._)`${h}.validate`),()=>r.assign(_,(0,Tr._)`"string"`).assign(g,h)),e.fail$data((0,Tr.or)(b(),y()));function b(){return l.strictSchema===!1?Tr.nil:(0,Tr._)`${a} && !${g}`}function y(){let v=u.$async?(0,Tr._)`(${h}.async ? await ${g}(${n}) : ${g}(${n}))`:(0,Tr._)`${g}(${n})`,S=(0,Tr._)`(typeof ${g} == "function" ? ${v} : ${g}.test(${n}))`;return(0,Tr._)`${g} && ${g} !== true && ${_} === ${t} && !${S}`}}function p(){let m=c.formats[o];if(!m){b();return}if(m===!0)return;let[h,_,g]=y(m);h===t&&e.pass(v());function b(){if(l.strictSchema===!1){c.logger.warn(S());return}throw new Error(S());function S(){return`unknown format "${o}" ignored in schema at path "${d}"`}}function y(S){let A=S instanceof RegExp?(0,Tr.regexpCode)(S):l.code.formats?(0,Tr._)`${l.code.formats}${(0,Tr.getProperty)(o)}`:void 0,R=r.scopeValue("formats",{key:o,ref:S,code:A});return typeof S=="object"&&!(S instanceof RegExp)?[S.type||"string",S.validate,(0,Tr._)`${R}.validate`]:["string",S,R]}function v(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!u.$async)throw new Error("async format in sync schema");return(0,Tr._)`await ${g}(${n})`}return typeof _=="function"?(0,Tr._)`${g}(${n})`:(0,Tr._)`${g}.test(${n})`}}}};rv.default=tV});var mE=ce(nv=>{"use strict";Object.defineProperty(nv,"__esModule",{value:!0});var rV=fE(),nV=[rV.default];nv.default=nV});var pE=ce(ml=>{"use strict";Object.defineProperty(ml,"__esModule",{value:!0});ml.contentVocabulary=ml.metadataVocabulary=void 0;ml.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];ml.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var _E=ce(iv=>{"use strict";Object.defineProperty(iv,"__esModule",{value:!0});var iV=kC(),oV=NC(),aV=cE(),sV=mE(),hE=pE(),lV=[iV.default,oV.default,(0,aV.default)(),sV.default,hE.metadataVocabulary,hE.contentVocabulary];iv.default=lV});var yE=ce(Sm=>{"use strict";Object.defineProperty(Sm,"__esModule",{value:!0});Sm.DiscrError=void 0;var gE;(function(e){e.Tag="tag",e.Mapping="mapping"})(gE||(Sm.DiscrError=gE={}))});var vE=ce(av=>{"use strict";Object.defineProperty(av,"__esModule",{value:!0});var pl=it(),ov=yE(),bE=rm(),dV=au(),uV=Tt(),cV={message:({params:{discrError:e,tagName:t}})=>e===ov.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,pl._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},fV={keyword:"discriminator",type:"object",schemaType:"object",error:cV,code(e){let{gen:t,data:r,schema:n,parentSchema:i,it:o}=e,{oneOf:a}=i;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");let s=n.propertyName;if(typeof s!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let l=t.let("valid",!1),d=t.const("tag",(0,pl._)`${r}${(0,pl.getProperty)(s)}`);t.if((0,pl._)`typeof ${d} == "string"`,()=>u(),()=>e.error(!1,{discrError:ov.DiscrError.Tag,tag:d,tagName:s})),e.ok(l);function u(){let p=f();t.if(!1);for(let m in p)t.elseIf((0,pl._)`${d} === ${m}`),t.assign(l,c(p[m]));t.else(),e.error(!1,{discrError:ov.DiscrError.Mapping,tag:d,tagName:s}),t.endIf()}function c(p){let m=t.name("valid"),h=e.subschema({keyword:"oneOf",schemaProp:p},m);return e.mergeEvaluated(h,pl.Name),m}function f(){var p;let m={},h=g(i),_=!0;for(let v=0;v<a.length;v++){let S=a[v];if(S?.$ref&&!(0,uV.schemaHasRulesButRef)(S,o.self.RULES)){let R=S.$ref;if(S=bE.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,R),S instanceof bE.SchemaEnv&&(S=S.schema),S===void 0)throw new dV.default(o.opts.uriResolver,o.baseId,R)}let A=(p=S?.properties)===null||p===void 0?void 0:p[s];if(typeof A!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);_=_&&(h||g(S)),b(A,v)}if(!_)throw new Error(`discriminator: "${s}" must be required`);return m;function g({required:v}){return Array.isArray(v)&&v.includes(s)}function b(v,S){if(v.const)y(v.const,S);else if(v.enum)for(let A of v.enum)y(A,S);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function y(v,S){if(typeof v!="string"||v in m)throw new Error(`discriminator: "${s}" values must be unique strings`);m[v]=S}}}};av.default=fV});var SE=ce((Mte,mV)=>{mV.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var lv=ce((nr,sv)=>{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.MissingRefError=nr.ValidationError=nr.CodeGen=nr.Name=nr.nil=nr.stringify=nr.str=nr._=nr.KeywordCxt=nr.Ajv=void 0;var pV=gC(),hV=_E(),_V=vE(),wE=SE(),gV=["/properties"],wm="http://json-schema.org/draft-07/schema",hl=class extends pV.default{_addVocabularies(){super._addVocabularies(),hV.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(_V.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(wE,gV):wE;this.addMetaSchema(t,wm,!1),this.refs["http://json-schema.org/schema"]=wm}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(wm)?wm:void 0)}};nr.Ajv=hl;sv.exports=nr=hl;sv.exports.Ajv=hl;Object.defineProperty(nr,"__esModule",{value:!0});nr.default=hl;var yV=ou();Object.defineProperty(nr,"KeywordCxt",{enumerable:!0,get:function(){return yV.KeywordCxt}});var _l=it();Object.defineProperty(nr,"_",{enumerable:!0,get:function(){return _l._}});Object.defineProperty(nr,"str",{enumerable:!0,get:function(){return _l.str}});Object.defineProperty(nr,"stringify",{enumerable:!0,get:function(){return _l.stringify}});Object.defineProperty(nr,"nil",{enumerable:!0,get:function(){return _l.nil}});Object.defineProperty(nr,"Name",{enumerable:!0,get:function(){return _l.Name}});Object.defineProperty(nr,"CodeGen",{enumerable:!0,get:function(){return _l.CodeGen}});var bV=em();Object.defineProperty(nr,"ValidationError",{enumerable:!0,get:function(){return bV.default}});var vV=au();Object.defineProperty(nr,"MissingRefError",{enumerable:!0,get:function(){return vV.default}})});var PE=ce(qi=>{"use strict";Object.defineProperty(qi,"__esModule",{value:!0});qi.formatNames=qi.fastFormats=qi.fullFormats=void 0;function Di(e,t){return{validate:e,compare:t}}qi.fullFormats={date:Di(AE,fv),time:Di(uv(!0),mv),"date-time":Di(kE(!0),CE),"iso-time":Di(uv(),OE),"iso-date-time":Di(kE(),EE),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:AV,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:$V,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:OV,int32:{type:"number",validate:PV},int64:{type:"number",validate:RV},float:{type:"number",validate:TE},double:{type:"number",validate:TE},password:!0,binary:!0};qi.fastFormats={...qi.fullFormats,date:Di(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,fv),time:Di(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,mv),"date-time":Di(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,CE),"iso-time":Di(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,OE),"iso-date-time":Di(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,EE),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};qi.formatNames=Object.keys(qi.fullFormats);function SV(e){return e%4===0&&(e%100!==0||e%400===0)}var wV=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,kV=[0,31,28,31,30,31,30,31,31,30,31,30,31];function AE(e){let t=wV.exec(e);if(!t)return!1;let r=+t[1],n=+t[2],i=+t[3];return n>=1&&n<=12&&i>=1&&i<=(n===2&&SV(r)?29:kV[n])}function fv(e,t){if(e&&t)return e>t?1:e<t?-1:0}var dv=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function uv(e){return function(r){let n=dv.exec(r);if(!n)return!1;let i=+n[1],o=+n[2],a=+n[3],s=n[4],l=n[5]==="-"?-1:1,d=+(n[6]||0),u=+(n[7]||0);if(d>23||u>59||e&&!s)return!1;if(i<=23&&o<=59&&a<60)return!0;let c=o-u*l,f=i-d*l-(c<0?1:0);return(f===23||f===-1)&&(c===59||c===-1)&&a<61}}function mv(e,t){if(!(e&&t))return;let r=new Date("2020-01-01T"+e).valueOf(),n=new Date("2020-01-01T"+t).valueOf();if(r&&n)return r-n}function OE(e,t){if(!(e&&t))return;let r=dv.exec(e),n=dv.exec(t);if(r&&n)return e=r[1]+r[2]+r[3],t=n[1]+n[2]+n[3],e>t?1:e<t?-1:0}var cv=/t|\s/i;function kE(e){let t=uv(e);return function(n){let i=n.split(cv);return i.length===2&&AE(i[0])&&t(i[1])}}function CE(e,t){if(!(e&&t))return;let r=new Date(e).valueOf(),n=new Date(t).valueOf();if(r&&n)return r-n}function EE(e,t){if(!(e&&t))return;let[r,n]=e.split(cv),[i,o]=t.split(cv),a=fv(r,i);if(a!==void 0)return a||mv(n,o)}var xV=/\/|:/,TV=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function AV(e){return xV.test(e)&&TV.test(e)}var xE=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function OV(e){return xE.lastIndex=0,xE.test(e)}var CV=-(2**31),EV=2**31-1;function PV(e){return Number.isInteger(e)&&e<=EV&&e>=CV}function RV(e){return Number.isInteger(e)}function TE(){return!0}var IV=/[^\\]\\Z/;function $V(e){if(IV.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var RE=ce(gl=>{"use strict";Object.defineProperty(gl,"__esModule",{value:!0});gl.formatLimitDefinition=void 0;var MV=lv(),Si=it(),Uo=Si.operators,km={formatMaximum:{okStr:"<=",ok:Uo.LTE,fail:Uo.GT},formatMinimum:{okStr:">=",ok:Uo.GTE,fail:Uo.LT},formatExclusiveMaximum:{okStr:"<",ok:Uo.LT,fail:Uo.GTE},formatExclusiveMinimum:{okStr:">",ok:Uo.GT,fail:Uo.LTE}},jV={message:({keyword:e,schemaCode:t})=>(0,Si.str)`should be ${km[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,Si._)`{comparison: ${km[e].okStr}, limit: ${t}}`};gl.formatLimitDefinition={keyword:Object.keys(km),type:"string",schemaType:"string",$data:!0,error:jV,code(e){let{gen:t,data:r,schemaCode:n,keyword:i,it:o}=e,{opts:a,self:s}=o;if(!a.validateFormats)return;let l=new MV.KeywordCxt(o,s.RULES.all.format.definition,"format");l.$data?d():u();function d(){let f=t.scopeValue("formats",{ref:s.formats,code:a.code.formats}),p=t.const("fmt",(0,Si._)`${f}[${l.schemaCode}]`);e.fail$data((0,Si.or)((0,Si._)`typeof ${p} != "object"`,(0,Si._)`${p} instanceof RegExp`,(0,Si._)`typeof ${p}.compare != "function"`,c(p)))}function u(){let f=l.schema,p=s.formats[f];if(!p||p===!0)return;if(typeof p!="object"||p instanceof RegExp||typeof p.compare!="function")throw new Error(`"${i}": format "${f}" does not define "compare" function`);let m=t.scopeValue("formats",{key:f,ref:p,code:a.code.formats?(0,Si._)`${a.code.formats}${(0,Si.getProperty)(f)}`:void 0});e.fail$data(c(m))}function c(f){return(0,Si._)`${f}.compare(${r}, ${n}) ${km[i].fail} 0`}},dependencies:["format"]};var zV=e=>(e.addKeyword(gl.formatLimitDefinition),e);gl.default=zV});var jE=ce((vu,ME)=>{"use strict";Object.defineProperty(vu,"__esModule",{value:!0});var yl=PE(),NV=RE(),pv=it(),IE=new pv.Name("fullFormats"),GV=new pv.Name("fastFormats"),hv=(e,t={keywords:!0})=>{if(Array.isArray(t))return $E(e,t,yl.fullFormats,IE),e;let[r,n]=t.mode==="fast"?[yl.fastFormats,GV]:[yl.fullFormats,IE],i=t.formats||yl.formatNames;return $E(e,i,r,n),t.keywords&&(0,NV.default)(e),e};hv.get=(e,t="full")=>{let n=(t==="fast"?yl.fastFormats:yl.fullFormats)[e];if(!n)throw new Error(`Unknown format "${e}"`);return n};function $E(e,t,r,n){var i,o;(i=(o=e.opts.code).formats)!==null&&i!==void 0||(o.formats=(0,pv._)`require("ajv-formats/dist/formats").${n}`);for(let a of t)e.addFormat(a,r[a])}ME.exports=vu=hv;Object.defineProperty(vu,"__esModule",{value:!0});vu.default=hv});import*as Tj from"node:fs";import*as Aj from"node:path";function cr(e,t){delete e[t]}var Tw=((e,t)=>{for(var r in e)t(e[r],r)});function Xu(e,t){return e<t?-1:e===t?0:1}function We(e){return e===void 0?{BS_PRIVATE_NESTED_SOME_NONE:0}:e!==null&&e.BS_PRIVATE_NESTED_SOME_NONE!==void 0?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function Rr(e){if(e!=null)return We(e)}function ue(e){if(e===null||e.BS_PRIVATE_NESTED_SOME_NONE===void 0)return e;let t=e.BS_PRIVATE_NESTED_SOME_NONE;if(t!==0)return{BS_PRIVATE_NESTED_SOME_NONE:t-1|0}}function ia(e,t){let r=e.indexOf(t);if(r!==-1)return r}function Ve(e,t,r){return e.reduce(r,t)}function ec(e,t){let r=e.findIndex(t);if(r!==-1)return r}function ze(e,t){let r=e.length,n=new Array(r),i=0;for(let o=0;o<r;++o){let a=e[o],s=t(a);s!==void 0&&(n[i]=ue(s),i=i+1|0)}return n.length=i,n}import*as rt from"node:fs";import*as Pw from"node:buffer";import*as ic from"node:crypto";function vr(e){if(e.RE_EXN_ID==="JsExn")return We(e._1)}var tc=(e=>t=>t&&typeof t[e]=="string"?t[e]:void 0),Aw=tc("stack"),Cr=tc("message"),B6=tc("name"),K6=tc("fileName");function rc(e,t){if(e!==void 0&&t(ue(e)))return e}function rn(e,t,r){return e!==void 0?r(ue(e)):t}function G(e,t){if(e!==void 0)return We(t(ue(e)))}function k(e,t){if(e!==void 0)return t(ue(e))}function x(e,t){return e!==void 0?ue(e):t}function cs(e,t){return e!==void 0?e:t}function Dt(e){return e!==void 0}function mn(e){return e===void 0}function fs(e,t){return e===t?0:e<t?-1:1}var Cw=(function(e,t){for(var r in e)t(r)});function de(e,t){if(e===t)return!0;let r=typeof e;if(r==="string"||r==="number"||r==="bigint"||r==="boolean"||r==="undefined"||e===null)return!1;let n=typeof t;if(r==="function"||n==="function")throw{RE_EXN_ID:"Invalid_argument",_1:"equal: functional value",Error:new Error};if(n==="number"||n==="bigint"||n==="undefined"||t===null)return!1;let i=e.TAG,o=t.TAG;if(i!==o)return!1;let a=e.length|0,s=t.length|0;if(a===s)if(Array.isArray(e)){let l=0;for(;;){let d=l;if(d===a)return!0;if(!de(e[d],t[d]))return!1;l=d+1|0}}else{if(e instanceof Date&&t instanceof Date)return!(e>t||e<t);{let l={contents:!0},d=c=>{if(!Object.prototype.hasOwnProperty.call(t,c)){l.contents=!1;return}},u=c=>{if(!Object.prototype.hasOwnProperty.call(e,c)||!de(t[c],e[c])){l.contents=!1;return}};return Cw(e,d),l.contents&&Cw(t,u),l.contents}}else return!1}function nn(e,t){return(typeof e=="number"||typeof e=="bigint")&&(typeof t=="number"||typeof t=="bigint")?e!==t:!de(e,t)}import*as ms from"node:fs/promises";import*as Rw from"node:child_process";function Nj(e){return e==null?!1:typeof e.RE_EXN_ID=="string"}function ee(e){return Nj(e)?e:{RE_EXN_ID:"JsExn",_1:e}}var Gp={};function Ew(e){let t=Gp[e];if(t!==void 0){let r=t+1|0;return Gp[e]=r,e+("/"+r)}return Gp[e]=1,e}function Ne(e){let t=vr(e);if(t===void 0)return{code:void 0,message:"unknown error"};let r=ue(t);return{code:Rr(r.code),message:x(Cr(r),"unknown error")}}function si(e,t){return de(e.code,t)}function Xt(e){try{return{TAG:"Ok",_0:rt.readFileSync(e,"utf8")}}catch(t){let r=ee(t);return{TAG:"Error",_0:Ne(r)}}}function Ti(e,t){try{return{TAG:"Ok",_0:(rt.writeFileSync(e,t,"utf8"),void 0)}}catch(r){let n=ee(r);return{TAG:"Error",_0:Ne(n)}}}function yo(e,t,r){try{return{TAG:"Ok",_0:(rt.writeFileSync(e,t,r),void 0)}}catch(n){let i=ee(n);return{TAG:"Error",_0:Ne(i)}}}function qt(e){try{return{TAG:"Ok",_0:(rt.mkdirSync(e,{recursive:!0}),void 0)}}catch(t){let r=ee(t);return{TAG:"Error",_0:Ne(r)}}}function ps(e,t){try{return{TAG:"Ok",_0:(rt.chmodSync(e,t),void 0)}}catch(r){let n=ee(r);return{TAG:"Error",_0:Ne(n)}}}function Iw(e,t){try{return{TAG:"Ok",_0:(rt.linkSync(e,t),void 0)}}catch(r){let n=ee(r);return{TAG:"Error",_0:Ne(n)}}}function $w(e){try{return{TAG:"Ok",_0:(rt.unlinkSync(e),void 0)}}catch(t){let r=ee(t);return{TAG:"Error",_0:Ne(r)}}}function li(e,t){try{return{TAG:"Ok",_0:(rt.renameSync(e,t),void 0)}}catch(r){let n=ee(r);return{TAG:"Error",_0:Ne(n)}}}function pn(e){try{return{TAG:"Ok",_0:(rt.rmSync(e,{force:!0}),void 0)}}catch(t){let r=ee(t);return{TAG:"Error",_0:Ne(r)}}}function Fp(e){try{return{TAG:"Ok",_0:(rt.rmSync(e,{force:!0,recursive:!0}),void 0)}}catch(t){let r=ee(t);return{TAG:"Error",_0:Ne(r)}}}function Dn(e){try{return{TAG:"Ok",_0:rt.realpathSync(e)}}catch(t){let r=ee(t);return{TAG:"Error",_0:Ne(r)}}}function Mw(e){try{return{TAG:"Ok",_0:rt.mkdtempSync(e)}}catch(t){let r=ee(t);return{TAG:"Error",_0:Ne(r)}}}function jw(e,t,r,n){try{let i=rt.openSync(e,"w");try{rt.writeFileSync(i,n,"utf8"),rt.fsyncSync(i),rt.closeSync(i)}catch(a){throw rt.closeSync(i),a}rt.renameSync(e,t);let o=rt.openSync(r,"r");try{rt.fsyncSync(o),rt.closeSync(o)}catch(a){throw rt.closeSync(o),a}return{TAG:"Ok",_0:void 0}}catch(i){let o=ee(i);return{TAG:"Error",_0:Ne(o)}}}function qn(e){return ic.createHash("sha256").update(e).digest("hex")}async function Dp(e,t){try{return await ms.appendFile(e,t,"utf8"),{TAG:"Ok",_0:void 0}}catch(r){let n=ee(r);return{TAG:"Error",_0:Ne(n)}}}async function zw(e,t){try{return await ms.writeFile(e,t,"utf8"),{TAG:"Ok",_0:void 0}}catch(r){let n=ee(r);return{TAG:"Error",_0:Ne(n)}}}async function qp(e,t){try{return await ms.rename(e,t),{TAG:"Ok",_0:void 0}}catch(r){let n=ee(r);return{TAG:"Error",_0:Ne(n)}}}function oc(e){try{return ic.randomBytes(e).toString("hex")}catch{return""}}function hs(e){try{return{TAG:"Ok",_0:rt.readdirSync(e)}}catch(t){let r=ee(t);return{TAG:"Error",_0:Ne(r)}}}function _s(e,t,r,n){try{return{TAG:"Ok",_0:Rw.execFileSync(e,t,{encoding:"utf8",timeout:r,maxBuffer:n})}}catch(i){let o=ee(i);return{TAG:"Error",_0:Ne(o)}}}function fr(e){try{return process.stderr.write(e)}catch{return!1}}function oa(e,t){return e[t]}function Vi(e,t){try{return process.kill(e,t),{TAG:"Ok",_0:void 0}}catch(r){let n=ee(r);return{TAG:"Error",_0:Ne(n)}}}function Ln(e){try{return We(new URL(e))}catch{return}}function Nw(e){return e.keys().toArray()}function Hi(e,t){try{return{TAG:"Ok",_0:new URL(e,t)}}catch(r){let n=ee(r),i=vr(n);return{TAG:"Error",_0:i!==void 0?x(Cr(ue(i)),"unknown error"):"unknown error"}}}function Gw(e){return Pw.Buffer.from(e,"utf8").toString("base64url")}var Gr={};Gr["api-url"]="ValueKind";Gr.token="ValueKind";Gr["auth-file"]="ValueKind";Gr["delegation-auth-file"]="ValueKind";Gr.workspace="ValueKind";Gr.channel="ValueKind";Gr["owner-username"]="ValueKind";Gr.mode="ValueKind";Gr.cwd="ValueKind";Gr["thread-id"]="ValueKind";Gr.format="ValueKind";Gr.command="ValueKind";Gr["tool-scope"]="ValueKind";Gr["agent-session"]="BooleanKind";Gr["include-token"]="BooleanKind";Gr.help="BooleanKind";function ac(e){let t={},r,n=0;for(;r===void 0&&n<e.length;){let o=e[n];if(o!==void 0)if(o.startsWith("--")){let a=o.slice(2),s=Gr[a];if(s!==void 0)if(s==="ValueKind"){let l=e[n+1|0];l!==void 0?l.startsWith("--")?r="--"+a+" requires a value":(t[a]={TAG:"ValueFlag",_0:l},n=n+2|0):r="--"+a+" requires a value"}else t[a]="BoolFlag",n=n+1|0;else r="unsupported option --"+a}else r="unexpected argument "+o;else n=n+1|0}let i=r;return i!==void 0?{TAG:"Error",_0:i}:{TAG:"Ok",_0:t}}function Sr(e,t){let r=e[t];if(r===void 0||typeof r!="object")return;let n=r._0;if(n.trim()!=="")return n}function sc(e,t){let r=e[t];return r!==void 0?typeof r!="object":!1}function lc(e,t){let r=Sr(e,t);return r!==void 0?{TAG:"Ok",_0:r}:{TAG:"Error",_0:"--"+t+" is required"}}function dc(e){if(e===void 0)return{TAG:"Ok",_0:"Text"};switch(e){case"text":return{TAG:"Ok",_0:"Text"};case"voice":return{TAG:"Ok",_0:"Voice"};default:return{TAG:"Error",_0:"--mode must be voice or text"}}}function Lp(e){if(e===void 0)return{TAG:"Ok",_0:"All"};switch(e){case"all":return{TAG:"Ok",_0:"All"};case"coding":return{TAG:"Ok",_0:"Coding"};case"onboarding-discovery":return{TAG:"Ok",_0:"OnboardingDiscovery"};default:return{TAG:"Error",_0:"--tool-scope must be all, coding, or onboarding-discovery"}}}function Fw(e){return e[0]==="mcp"?e.slice(1):e}function uc(){return`Linzumi MCP
10
+ deps: ${r}}`};var bZ={keyword:"dependencies",type:"object",schemaType:"object",error:Fi.error,code(e){let[t,r]=vZ(e);VC(e,t),HC(e,r)}};function vZ({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let i=Array.isArray(e[n])?t:r;i[n]=e[n]}return[t,r]}function VC(e,t=e.schema){let{gen:r,data:n,it:i}=e;if(Object.keys(t).length===0)return;let o=r.let("missing");for(let a in t){let s=t[a];if(s.length===0)continue;let l=(0,bu.propertyInData)(r,n,a,i.opts.ownProperties);e.setParams({property:a,depsCount:s.length,deps:s.join(", ")}),i.allErrors?r.if(l,()=>{for(let d of s)(0,bu.checkReportMissingProp)(e,d)}):(r.if((0,Ub._)`${l} && (${(0,bu.checkMissingProp)(e,s,o)})`),(0,bu.reportMissingProp)(e,o),r.else())}}Fi.validatePropertyDeps=VC;function HC(e,t=e.schema){let{gen:r,data:n,keyword:i,it:o}=e,a=r.name("valid");for(let s in t)(0,yZ.alwaysValidSchema)(o,t[s])||(r.if((0,bu.propertyInData)(r,n,s,o.opts.ownProperties),()=>{let l=e.subschema({keyword:i,schemaProp:s},a);e.mergeValidEvaluated(l,a)},()=>r.var(a,!0)),e.ok(a))}Fi.validateSchemaDeps=HC;Fi.default=bZ});var JC=ce(Wb=>{"use strict";Object.defineProperty(Wb,"__esModule",{value:!0});var KC=it(),SZ=Tt(),wZ={message:"property name must be valid",params:({params:e})=>(0,KC._)`{propertyName: ${e.propertyName}}`},kZ={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:wZ,code(e){let{gen:t,schema:r,data:n,it:i}=e;if((0,SZ.alwaysValidSchema)(i,r))return;let o=t.name("valid");t.forIn("key",n,a=>{e.setParams({propertyName:a}),e.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},o),t.if((0,KC.not)(o),()=>{e.error(!0),i.allErrors||t.break()})}),e.ok(o)}};Wb.default=kZ});var Vb=ce(Zb=>{"use strict";Object.defineProperty(Zb,"__esModule",{value:!0});var _m=Xn(),vi=it(),xZ=uo(),gm=Tt(),TZ={message:"must NOT have additional properties",params:({params:e})=>(0,vi._)`{additionalProperty: ${e.additionalProperty}}`},AZ={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:TZ,code(e){let{gen:t,schema:r,parentSchema:n,data:i,errsCount:o,it:a}=e;if(!o)throw new Error("ajv implementation error");let{allErrors:s,opts:l}=a;if(a.props=!0,l.removeAdditional!=="all"&&(0,gm.alwaysValidSchema)(a,r))return;let d=(0,_m.allSchemaProperties)(n.properties),u=(0,_m.allSchemaProperties)(n.patternProperties);c(),e.ok((0,vi._)`${o} === ${xZ.default.errors}`);function c(){t.forIn("key",i,_=>{!d.length&&!u.length?m(_):t.if(f(_),()=>m(_))})}function f(_){let g;if(d.length>8){let b=(0,gm.schemaRefOrVal)(a,n.properties,"properties");g=(0,_m.isOwnProperty)(t,b,_)}else d.length?g=(0,vi.or)(...d.map(b=>(0,vi._)`${_} === ${b}`)):g=vi.nil;return u.length&&(g=(0,vi.or)(g,...u.map(b=>(0,vi._)`${(0,_m.usePattern)(e,b)}.test(${_})`))),(0,vi.not)(g)}function p(_){t.code((0,vi._)`delete ${i}[${_}]`)}function m(_){if(l.removeAdditional==="all"||l.removeAdditional&&r===!1){p(_);return}if(r===!1){e.setParams({additionalProperty:_}),e.error(),s||t.break();return}if(typeof r=="object"&&!(0,gm.alwaysValidSchema)(a,r)){let g=t.name("valid");l.removeAdditional==="failing"?(h(_,g,!1),t.if((0,vi.not)(g),()=>{e.reset(),p(_)})):(h(_,g),s||t.if((0,vi.not)(g),()=>t.break()))}}function h(_,g,b){let y={keyword:"additionalProperties",dataProp:_,dataPropType:gm.Type.Str};b===!1&&Object.assign(y,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(y,g)}}};Zb.default=AZ});var QC=ce(Bb=>{"use strict";Object.defineProperty(Bb,"__esModule",{value:!0});var OZ=ou(),YC=Xn(),Hb=Tt(),XC=Vb(),CZ={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:i,it:o}=e;o.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&XC.default.code(new OZ.KeywordCxt(o,XC.default,"additionalProperties"));let a=(0,YC.allSchemaProperties)(r);for(let c of a)o.definedProperties.add(c);o.opts.unevaluated&&a.length&&o.props!==!0&&(o.props=Hb.mergeEvaluated.props(t,(0,Hb.toHash)(a),o.props));let s=a.filter(c=>!(0,Hb.alwaysValidSchema)(o,r[c]));if(s.length===0)return;let l=t.name("valid");for(let c of s)d(c)?u(c):(t.if((0,YC.propertyInData)(t,i,c,o.opts.ownProperties)),u(c),o.allErrors||t.else().var(l,!0),t.endIf()),e.it.definedProperties.add(c),e.ok(l);function d(c){return o.opts.useDefaults&&!o.compositeRule&&r[c].default!==void 0}function u(c){e.subschema({keyword:"properties",schemaProp:c,dataProp:c},l)}}};Bb.default=CZ});var nE=ce(Kb=>{"use strict";Object.defineProperty(Kb,"__esModule",{value:!0});var eE=Xn(),ym=it(),tE=Tt(),rE=Tt(),EZ={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:i,it:o}=e,{opts:a}=o,s=(0,eE.allSchemaProperties)(r),l=s.filter(h=>(0,tE.alwaysValidSchema)(o,r[h]));if(s.length===0||l.length===s.length&&(!o.opts.unevaluated||o.props===!0))return;let d=a.strictSchema&&!a.allowMatchingProperties&&i.properties,u=t.name("valid");o.props!==!0&&!(o.props instanceof ym.Name)&&(o.props=(0,rE.evaluatedPropsToName)(t,o.props));let{props:c}=o;f();function f(){for(let h of s)d&&p(h),o.allErrors?m(h):(t.var(u,!0),m(h),t.if(u))}function p(h){for(let _ in d)new RegExp(h).test(_)&&(0,tE.checkStrictMode)(o,`property ${_} matches pattern ${h} (use allowMatchingProperties)`)}function m(h){t.forIn("key",n,_=>{t.if((0,ym._)`${(0,eE.usePattern)(e,h)}.test(${_})`,()=>{let g=l.includes(h);g||e.subschema({keyword:"patternProperties",schemaProp:h,dataProp:_,dataPropType:rE.Type.Str},u),o.opts.unevaluated&&c!==!0?t.assign((0,ym._)`${c}[${_}]`,!0):!g&&!o.allErrors&&t.if((0,ym.not)(u),()=>t.break())})})}}};Kb.default=EZ});var iE=ce(Jb=>{"use strict";Object.defineProperty(Jb,"__esModule",{value:!0});var PZ=Tt(),RZ={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,PZ.alwaysValidSchema)(n,r)){e.fail();return}let i=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),e.failResult(i,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};Jb.default=RZ});var oE=ce(Yb=>{"use strict";Object.defineProperty(Yb,"__esModule",{value:!0});var IZ=Xn(),$Z={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:IZ.validateUnion,error:{message:"must match a schema in anyOf"}};Yb.default=$Z});var aE=ce(Xb=>{"use strict";Object.defineProperty(Xb,"__esModule",{value:!0});var bm=it(),MZ=Tt(),jZ={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,bm._)`{passingSchemas: ${e.passing}}`},zZ={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:jZ,code(e){let{gen:t,schema:r,parentSchema:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let o=r,a=t.let("valid",!1),s=t.let("passing",null),l=t.name("_valid");e.setParams({passing:s}),t.block(d),e.result(a,()=>e.reset(),()=>e.error(!0));function d(){o.forEach((u,c)=>{let f;(0,MZ.alwaysValidSchema)(i,u)?t.var(l,!0):f=e.subschema({keyword:"oneOf",schemaProp:c,compositeRule:!0},l),c>0&&t.if((0,bm._)`${l} && ${a}`).assign(a,!1).assign(s,(0,bm._)`[${s}, ${c}]`).else(),t.if(l,()=>{t.assign(a,!0),t.assign(s,c),f&&e.mergeEvaluated(f,bm.Name)})})}}};Xb.default=zZ});var sE=ce(Qb=>{"use strict";Object.defineProperty(Qb,"__esModule",{value:!0});var NZ=Tt(),GZ={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let i=t.name("valid");r.forEach((o,a)=>{if((0,NZ.alwaysValidSchema)(n,o))return;let s=e.subschema({keyword:"allOf",schemaProp:a},i);e.ok(i),e.mergeEvaluated(s)})}};Qb.default=GZ});var uE=ce(ev=>{"use strict";Object.defineProperty(ev,"__esModule",{value:!0});var vm=it(),dE=Tt(),FZ={message:({params:e})=>(0,vm.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,vm._)`{failingKeyword: ${e.ifClause}}`},DZ={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:FZ,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,dE.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=lE(n,"then"),o=lE(n,"else");if(!i&&!o)return;let a=t.let("valid",!0),s=t.name("_valid");if(l(),e.reset(),i&&o){let u=t.let("ifClause");e.setParams({ifClause:u}),t.if(s,d("then",u),d("else",u))}else i?t.if(s,d("then")):t.if((0,vm.not)(s),d("else"));e.pass(a,()=>e.error(!0));function l(){let u=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);e.mergeEvaluated(u)}function d(u,c){return()=>{let f=e.subschema({keyword:u},s);t.assign(a,s),e.mergeValidEvaluated(f,a),c?t.assign(c,(0,vm._)`${u}`):e.setParams({ifClause:u})}}}};function lE(e,t){let r=e.schema[t];return r!==void 0&&!(0,dE.alwaysValidSchema)(e,r)}ev.default=DZ});var cE=ce(tv=>{"use strict";Object.defineProperty(tv,"__esModule",{value:!0});var qZ=Tt(),LZ={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,qZ.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};tv.default=LZ});var fE=ce(rv=>{"use strict";Object.defineProperty(rv,"__esModule",{value:!0});var UZ=Gb(),WZ=LC(),ZZ=Fb(),VZ=WC(),HZ=ZC(),BZ=BC(),KZ=JC(),JZ=Vb(),YZ=QC(),XZ=nE(),QZ=iE(),eV=oE(),tV=aE(),rV=sE(),nV=uE(),iV=cE();function oV(e=!1){let t=[QZ.default,eV.default,tV.default,rV.default,nV.default,iV.default,KZ.default,JZ.default,BZ.default,YZ.default,XZ.default];return e?t.push(WZ.default,VZ.default):t.push(UZ.default,ZZ.default),t.push(HZ.default),t}rv.default=oV});var mE=ce(nv=>{"use strict";Object.defineProperty(nv,"__esModule",{value:!0});var Ar=it(),aV={message:({schemaCode:e})=>(0,Ar.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Ar._)`{format: ${e}}`},sV={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:aV,code(e,t){let{gen:r,data:n,$data:i,schema:o,schemaCode:a,it:s}=e,{opts:l,errSchemaPath:d,schemaEnv:u,self:c}=s;if(!l.validateFormats)return;i?f():p();function f(){let m=r.scopeValue("formats",{ref:c.formats,code:l.code.formats}),h=r.const("fDef",(0,Ar._)`${m}[${a}]`),_=r.let("fType"),g=r.let("format");r.if((0,Ar._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(_,(0,Ar._)`${h}.type || "string"`).assign(g,(0,Ar._)`${h}.validate`),()=>r.assign(_,(0,Ar._)`"string"`).assign(g,h)),e.fail$data((0,Ar.or)(b(),y()));function b(){return l.strictSchema===!1?Ar.nil:(0,Ar._)`${a} && !${g}`}function y(){let v=u.$async?(0,Ar._)`(${h}.async ? await ${g}(${n}) : ${g}(${n}))`:(0,Ar._)`${g}(${n})`,S=(0,Ar._)`(typeof ${g} == "function" ? ${v} : ${g}.test(${n}))`;return(0,Ar._)`${g} && ${g} !== true && ${_} === ${t} && !${S}`}}function p(){let m=c.formats[o];if(!m){b();return}if(m===!0)return;let[h,_,g]=y(m);h===t&&e.pass(v());function b(){if(l.strictSchema===!1){c.logger.warn(S());return}throw new Error(S());function S(){return`unknown format "${o}" ignored in schema at path "${d}"`}}function y(S){let A=S instanceof RegExp?(0,Ar.regexpCode)(S):l.code.formats?(0,Ar._)`${l.code.formats}${(0,Ar.getProperty)(o)}`:void 0,R=r.scopeValue("formats",{key:o,ref:S,code:A});return typeof S=="object"&&!(S instanceof RegExp)?[S.type||"string",S.validate,(0,Ar._)`${R}.validate`]:["string",S,R]}function v(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!u.$async)throw new Error("async format in sync schema");return(0,Ar._)`await ${g}(${n})`}return typeof _=="function"?(0,Ar._)`${g}(${n})`:(0,Ar._)`${g}.test(${n})`}}}};nv.default=sV});var pE=ce(iv=>{"use strict";Object.defineProperty(iv,"__esModule",{value:!0});var lV=mE(),dV=[lV.default];iv.default=dV});var hE=ce(ml=>{"use strict";Object.defineProperty(ml,"__esModule",{value:!0});ml.contentVocabulary=ml.metadataVocabulary=void 0;ml.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];ml.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var gE=ce(ov=>{"use strict";Object.defineProperty(ov,"__esModule",{value:!0});var uV=xC(),cV=GC(),fV=fE(),mV=pE(),_E=hE(),pV=[uV.default,cV.default,(0,fV.default)(),mV.default,_E.metadataVocabulary,_E.contentVocabulary];ov.default=pV});var bE=ce(Sm=>{"use strict";Object.defineProperty(Sm,"__esModule",{value:!0});Sm.DiscrError=void 0;var yE;(function(e){e.Tag="tag",e.Mapping="mapping"})(yE||(Sm.DiscrError=yE={}))});var SE=ce(sv=>{"use strict";Object.defineProperty(sv,"__esModule",{value:!0});var pl=it(),av=bE(),vE=rm(),hV=au(),_V=Tt(),gV={message:({params:{discrError:e,tagName:t}})=>e===av.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,pl._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},yV={keyword:"discriminator",type:"object",schemaType:"object",error:gV,code(e){let{gen:t,data:r,schema:n,parentSchema:i,it:o}=e,{oneOf:a}=i;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");let s=n.propertyName;if(typeof s!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let l=t.let("valid",!1),d=t.const("tag",(0,pl._)`${r}${(0,pl.getProperty)(s)}`);t.if((0,pl._)`typeof ${d} == "string"`,()=>u(),()=>e.error(!1,{discrError:av.DiscrError.Tag,tag:d,tagName:s})),e.ok(l);function u(){let p=f();t.if(!1);for(let m in p)t.elseIf((0,pl._)`${d} === ${m}`),t.assign(l,c(p[m]));t.else(),e.error(!1,{discrError:av.DiscrError.Mapping,tag:d,tagName:s}),t.endIf()}function c(p){let m=t.name("valid"),h=e.subschema({keyword:"oneOf",schemaProp:p},m);return e.mergeEvaluated(h,pl.Name),m}function f(){var p;let m={},h=g(i),_=!0;for(let v=0;v<a.length;v++){let S=a[v];if(S?.$ref&&!(0,_V.schemaHasRulesButRef)(S,o.self.RULES)){let R=S.$ref;if(S=vE.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,R),S instanceof vE.SchemaEnv&&(S=S.schema),S===void 0)throw new hV.default(o.opts.uriResolver,o.baseId,R)}let A=(p=S?.properties)===null||p===void 0?void 0:p[s];if(typeof A!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);_=_&&(h||g(S)),b(A,v)}if(!_)throw new Error(`discriminator: "${s}" must be required`);return m;function g({required:v}){return Array.isArray(v)&&v.includes(s)}function b(v,S){if(v.const)y(v.const,S);else if(v.enum)for(let A of v.enum)y(A,S);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function y(v,S){if(typeof v!="string"||v in m)throw new Error(`discriminator: "${s}" values must be unique strings`);m[v]=S}}}};sv.default=yV});var wE=ce((Vte,bV)=>{bV.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var dv=ce((ir,lv)=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.MissingRefError=ir.ValidationError=ir.CodeGen=ir.Name=ir.nil=ir.stringify=ir.str=ir._=ir.KeywordCxt=ir.Ajv=void 0;var vV=yC(),SV=gE(),wV=SE(),kE=wE(),kV=["/properties"],wm="http://json-schema.org/draft-07/schema",hl=class extends vV.default{_addVocabularies(){super._addVocabularies(),SV.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(wV.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(kE,kV):kE;this.addMetaSchema(t,wm,!1),this.refs["http://json-schema.org/schema"]=wm}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(wm)?wm:void 0)}};ir.Ajv=hl;lv.exports=ir=hl;lv.exports.Ajv=hl;Object.defineProperty(ir,"__esModule",{value:!0});ir.default=hl;var xV=ou();Object.defineProperty(ir,"KeywordCxt",{enumerable:!0,get:function(){return xV.KeywordCxt}});var _l=it();Object.defineProperty(ir,"_",{enumerable:!0,get:function(){return _l._}});Object.defineProperty(ir,"str",{enumerable:!0,get:function(){return _l.str}});Object.defineProperty(ir,"stringify",{enumerable:!0,get:function(){return _l.stringify}});Object.defineProperty(ir,"nil",{enumerable:!0,get:function(){return _l.nil}});Object.defineProperty(ir,"Name",{enumerable:!0,get:function(){return _l.Name}});Object.defineProperty(ir,"CodeGen",{enumerable:!0,get:function(){return _l.CodeGen}});var TV=em();Object.defineProperty(ir,"ValidationError",{enumerable:!0,get:function(){return TV.default}});var AV=au();Object.defineProperty(ir,"MissingRefError",{enumerable:!0,get:function(){return AV.default}})});var RE=ce(qi=>{"use strict";Object.defineProperty(qi,"__esModule",{value:!0});qi.formatNames=qi.fastFormats=qi.fullFormats=void 0;function Di(e,t){return{validate:e,compare:t}}qi.fullFormats={date:Di(OE,mv),time:Di(cv(!0),pv),"date-time":Di(xE(!0),EE),"iso-time":Di(cv(),CE),"iso-date-time":Di(xE(),PE),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:IV,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:FV,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:$V,int32:{type:"number",validate:zV},int64:{type:"number",validate:NV},float:{type:"number",validate:AE},double:{type:"number",validate:AE},password:!0,binary:!0};qi.fastFormats={...qi.fullFormats,date:Di(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,mv),time:Di(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,pv),"date-time":Di(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,EE),"iso-time":Di(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,CE),"iso-date-time":Di(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,PE),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};qi.formatNames=Object.keys(qi.fullFormats);function OV(e){return e%4===0&&(e%100!==0||e%400===0)}var CV=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,EV=[0,31,28,31,30,31,30,31,31,30,31,30,31];function OE(e){let t=CV.exec(e);if(!t)return!1;let r=+t[1],n=+t[2],i=+t[3];return n>=1&&n<=12&&i>=1&&i<=(n===2&&OV(r)?29:EV[n])}function mv(e,t){if(e&&t)return e>t?1:e<t?-1:0}var uv=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function cv(e){return function(r){let n=uv.exec(r);if(!n)return!1;let i=+n[1],o=+n[2],a=+n[3],s=n[4],l=n[5]==="-"?-1:1,d=+(n[6]||0),u=+(n[7]||0);if(d>23||u>59||e&&!s)return!1;if(i<=23&&o<=59&&a<60)return!0;let c=o-u*l,f=i-d*l-(c<0?1:0);return(f===23||f===-1)&&(c===59||c===-1)&&a<61}}function pv(e,t){if(!(e&&t))return;let r=new Date("2020-01-01T"+e).valueOf(),n=new Date("2020-01-01T"+t).valueOf();if(r&&n)return r-n}function CE(e,t){if(!(e&&t))return;let r=uv.exec(e),n=uv.exec(t);if(r&&n)return e=r[1]+r[2]+r[3],t=n[1]+n[2]+n[3],e>t?1:e<t?-1:0}var fv=/t|\s/i;function xE(e){let t=cv(e);return function(n){let i=n.split(fv);return i.length===2&&OE(i[0])&&t(i[1])}}function EE(e,t){if(!(e&&t))return;let r=new Date(e).valueOf(),n=new Date(t).valueOf();if(r&&n)return r-n}function PE(e,t){if(!(e&&t))return;let[r,n]=e.split(fv),[i,o]=t.split(fv),a=mv(r,i);if(a!==void 0)return a||pv(n,o)}var PV=/\/|:/,RV=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function IV(e){return PV.test(e)&&RV.test(e)}var TE=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function $V(e){return TE.lastIndex=0,TE.test(e)}var MV=-(2**31),jV=2**31-1;function zV(e){return Number.isInteger(e)&&e<=jV&&e>=MV}function NV(e){return Number.isInteger(e)}function AE(){return!0}var GV=/[^\\]\\Z/;function FV(e){if(GV.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var IE=ce(gl=>{"use strict";Object.defineProperty(gl,"__esModule",{value:!0});gl.formatLimitDefinition=void 0;var DV=dv(),Si=it(),Uo=Si.operators,km={formatMaximum:{okStr:"<=",ok:Uo.LTE,fail:Uo.GT},formatMinimum:{okStr:">=",ok:Uo.GTE,fail:Uo.LT},formatExclusiveMaximum:{okStr:"<",ok:Uo.LT,fail:Uo.GTE},formatExclusiveMinimum:{okStr:">",ok:Uo.GT,fail:Uo.LTE}},qV={message:({keyword:e,schemaCode:t})=>(0,Si.str)`should be ${km[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,Si._)`{comparison: ${km[e].okStr}, limit: ${t}}`};gl.formatLimitDefinition={keyword:Object.keys(km),type:"string",schemaType:"string",$data:!0,error:qV,code(e){let{gen:t,data:r,schemaCode:n,keyword:i,it:o}=e,{opts:a,self:s}=o;if(!a.validateFormats)return;let l=new DV.KeywordCxt(o,s.RULES.all.format.definition,"format");l.$data?d():u();function d(){let f=t.scopeValue("formats",{ref:s.formats,code:a.code.formats}),p=t.const("fmt",(0,Si._)`${f}[${l.schemaCode}]`);e.fail$data((0,Si.or)((0,Si._)`typeof ${p} != "object"`,(0,Si._)`${p} instanceof RegExp`,(0,Si._)`typeof ${p}.compare != "function"`,c(p)))}function u(){let f=l.schema,p=s.formats[f];if(!p||p===!0)return;if(typeof p!="object"||p instanceof RegExp||typeof p.compare!="function")throw new Error(`"${i}": format "${f}" does not define "compare" function`);let m=t.scopeValue("formats",{key:f,ref:p,code:a.code.formats?(0,Si._)`${a.code.formats}${(0,Si.getProperty)(f)}`:void 0});e.fail$data(c(m))}function c(f){return(0,Si._)`${f}.compare(${r}, ${n}) ${km[i].fail} 0`}},dependencies:["format"]};var LV=e=>(e.addKeyword(gl.formatLimitDefinition),e);gl.default=LV});var zE=ce((vu,jE)=>{"use strict";Object.defineProperty(vu,"__esModule",{value:!0});var yl=RE(),UV=IE(),hv=it(),$E=new hv.Name("fullFormats"),WV=new hv.Name("fastFormats"),_v=(e,t={keywords:!0})=>{if(Array.isArray(t))return ME(e,t,yl.fullFormats,$E),e;let[r,n]=t.mode==="fast"?[yl.fastFormats,WV]:[yl.fullFormats,$E],i=t.formats||yl.formatNames;return ME(e,i,r,n),t.keywords&&(0,UV.default)(e),e};_v.get=(e,t="full")=>{let n=(t==="fast"?yl.fastFormats:yl.fullFormats)[e];if(!n)throw new Error(`Unknown format "${e}"`);return n};function ME(e,t,r,n){var i,o;(i=(o=e.opts.code).formats)!==null&&i!==void 0||(o.formats=(0,hv._)`require("ajv-formats/dist/formats").${n}`);for(let a of t)e.addFormat(a,r[a])}jE.exports=vu=_v;Object.defineProperty(vu,"__esModule",{value:!0});vu.default=_v});import*as Rj from"node:fs";import*as Ij from"node:path";function fr(e,t){delete e[t]}var Aw=((e,t)=>{for(var r in e)t(e[r],r)});function Xu(e,t){return e<t?-1:e===t?0:1}function Ze(e){return e===void 0?{BS_PRIVATE_NESTED_SOME_NONE:0}:e!==null&&e.BS_PRIVATE_NESTED_SOME_NONE!==void 0?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function Yt(e){if(e!=null)return Ze(e)}function ue(e){if(e===null||e.BS_PRIVATE_NESTED_SOME_NONE===void 0)return e;let t=e.BS_PRIVATE_NESTED_SOME_NONE;if(t!==0)return{BS_PRIVATE_NESTED_SOME_NONE:t-1|0}}function ia(e,t){let r=e.indexOf(t);if(r!==-1)return r}function Ve(e,t,r){return e.reduce(r,t)}function ec(e,t){let r=e.findIndex(t);if(r!==-1)return r}function $e(e,t){let r=e.length,n=new Array(r),i=0;for(let o=0;o<r;++o){let a=e[o],s=t(a);s!==void 0&&(n[i]=ue(s),i=i+1|0)}return n.length=i,n}import*as rt from"node:fs";import*as Rw from"node:buffer";import*as ic from"node:crypto";function Sr(e){if(e.RE_EXN_ID==="JsExn")return Ze(e._1)}var tc=(e=>t=>t&&typeof t[e]=="string"?t[e]:void 0),Ow=tc("stack"),Er=tc("message"),a5=tc("name"),s5=tc("fileName");function rc(e,t){if(e!==void 0&&t(ue(e)))return e}function rn(e,t,r){return e!==void 0?r(ue(e)):t}function G(e,t){if(e!==void 0)return Ze(t(ue(e)))}function k(e,t){if(e!==void 0)return t(ue(e))}function x(e,t){return e!==void 0?ue(e):t}function cs(e,t){return e!==void 0?e:t}function Dt(e){return e!==void 0}function mn(e){return e===void 0}function fs(e,t){return e===t?0:e<t?-1:1}var Ew=(function(e,t){for(var r in e)t(r)});function de(e,t){if(e===t)return!0;let r=typeof e;if(r==="string"||r==="number"||r==="bigint"||r==="boolean"||r==="undefined"||e===null)return!1;let n=typeof t;if(r==="function"||n==="function")throw{RE_EXN_ID:"Invalid_argument",_1:"equal: functional value",Error:new Error};if(n==="number"||n==="bigint"||n==="undefined"||t===null)return!1;let i=e.TAG,o=t.TAG;if(i!==o)return!1;let a=e.length|0,s=t.length|0;if(a===s)if(Array.isArray(e)){let l=0;for(;;){let d=l;if(d===a)return!0;if(!de(e[d],t[d]))return!1;l=d+1|0}}else{if(e instanceof Date&&t instanceof Date)return!(e>t||e<t);{let l={contents:!0},d=c=>{if(!Object.prototype.hasOwnProperty.call(t,c)){l.contents=!1;return}},u=c=>{if(!Object.prototype.hasOwnProperty.call(e,c)||!de(t[c],e[c])){l.contents=!1;return}};return Ew(e,d),l.contents&&Ew(t,u),l.contents}}else return!1}function nn(e,t){return(typeof e=="number"||typeof e=="bigint")&&(typeof t=="number"||typeof t=="bigint")?e!==t:!de(e,t)}import*as ms from"node:fs/promises";import*as Iw from"node:child_process";function Uj(e){return e==null?!1:typeof e.RE_EXN_ID=="string"}function ee(e){return Uj(e)?e:{RE_EXN_ID:"JsExn",_1:e}}var Fp={};function Pw(e){let t=Fp[e];if(t!==void 0){let r=t+1|0;return Fp[e]=r,e+("/"+r)}return Fp[e]=1,e}function Ne(e){let t=Sr(e);if(t===void 0)return{code:void 0,message:"unknown error"};let r=ue(t);return{code:Yt(r.code),message:x(Er(r),"unknown error")}}function si(e,t){return de(e.code,t)}function Qt(e){try{return{TAG:"Ok",_0:rt.readFileSync(e,"utf8")}}catch(t){let r=ee(t);return{TAG:"Error",_0:Ne(r)}}}function Ti(e,t){try{return{TAG:"Ok",_0:(rt.writeFileSync(e,t,"utf8"),void 0)}}catch(r){let n=ee(r);return{TAG:"Error",_0:Ne(n)}}}function yo(e,t,r){try{return{TAG:"Ok",_0:(rt.writeFileSync(e,t,r),void 0)}}catch(n){let i=ee(n);return{TAG:"Error",_0:Ne(i)}}}function qt(e){try{return{TAG:"Ok",_0:(rt.mkdirSync(e,{recursive:!0}),void 0)}}catch(t){let r=ee(t);return{TAG:"Error",_0:Ne(r)}}}function ps(e,t){try{return{TAG:"Ok",_0:(rt.chmodSync(e,t),void 0)}}catch(r){let n=ee(r);return{TAG:"Error",_0:Ne(n)}}}function $w(e,t){try{return{TAG:"Ok",_0:(rt.linkSync(e,t),void 0)}}catch(r){let n=ee(r);return{TAG:"Error",_0:Ne(n)}}}function Mw(e){try{return{TAG:"Ok",_0:(rt.unlinkSync(e),void 0)}}catch(t){let r=ee(t);return{TAG:"Error",_0:Ne(r)}}}function li(e,t){try{return{TAG:"Ok",_0:(rt.renameSync(e,t),void 0)}}catch(r){let n=ee(r);return{TAG:"Error",_0:Ne(n)}}}function pn(e){try{return{TAG:"Ok",_0:(rt.rmSync(e,{force:!0}),void 0)}}catch(t){let r=ee(t);return{TAG:"Error",_0:Ne(r)}}}function Dp(e){try{return{TAG:"Ok",_0:(rt.rmSync(e,{force:!0,recursive:!0}),void 0)}}catch(t){let r=ee(t);return{TAG:"Error",_0:Ne(r)}}}function Dn(e){try{return{TAG:"Ok",_0:rt.realpathSync(e)}}catch(t){let r=ee(t);return{TAG:"Error",_0:Ne(r)}}}function jw(e){try{return{TAG:"Ok",_0:rt.mkdtempSync(e)}}catch(t){let r=ee(t);return{TAG:"Error",_0:Ne(r)}}}function zw(e,t,r,n){try{let i=rt.openSync(e,"w");try{rt.writeFileSync(i,n,"utf8"),rt.fsyncSync(i),rt.closeSync(i)}catch(a){throw rt.closeSync(i),a}rt.renameSync(e,t);let o=rt.openSync(r,"r");try{rt.fsyncSync(o),rt.closeSync(o)}catch(a){throw rt.closeSync(o),a}return{TAG:"Ok",_0:void 0}}catch(i){let o=ee(i);return{TAG:"Error",_0:Ne(o)}}}function qn(e){return ic.createHash("sha256").update(e).digest("hex")}async function qp(e,t){try{return await ms.appendFile(e,t,"utf8"),{TAG:"Ok",_0:void 0}}catch(r){let n=ee(r);return{TAG:"Error",_0:Ne(n)}}}async function Nw(e,t){try{return await ms.writeFile(e,t,"utf8"),{TAG:"Ok",_0:void 0}}catch(r){let n=ee(r);return{TAG:"Error",_0:Ne(n)}}}async function Lp(e,t){try{return await ms.rename(e,t),{TAG:"Ok",_0:void 0}}catch(r){let n=ee(r);return{TAG:"Error",_0:Ne(n)}}}function oc(e){try{return ic.randomBytes(e).toString("hex")}catch{return""}}function hs(e){try{return{TAG:"Ok",_0:rt.readdirSync(e)}}catch(t){let r=ee(t);return{TAG:"Error",_0:Ne(r)}}}function _s(e,t,r,n){try{return{TAG:"Ok",_0:Iw.execFileSync(e,t,{encoding:"utf8",timeout:r,maxBuffer:n})}}catch(i){let o=ee(i);return{TAG:"Error",_0:Ne(o)}}}function mr(e){try{return process.stderr.write(e)}catch{return!1}}function oa(e,t){return e[t]}function Vi(e,t){try{return process.kill(e,t),{TAG:"Ok",_0:void 0}}catch(r){let n=ee(r);return{TAG:"Error",_0:Ne(n)}}}function Ln(e){try{return Ze(new URL(e))}catch{return}}function Gw(e){return e.keys().toArray()}function Hi(e,t){try{return{TAG:"Ok",_0:new URL(e,t)}}catch(r){let n=ee(r),i=Sr(n);return{TAG:"Error",_0:i!==void 0?x(Er(ue(i)),"unknown error"):"unknown error"}}}function Fw(e){return Rw.Buffer.from(e,"utf8").toString("base64url")}var Gr={};Gr["api-url"]="ValueKind";Gr.token="ValueKind";Gr["auth-file"]="ValueKind";Gr["delegation-auth-file"]="ValueKind";Gr.workspace="ValueKind";Gr.channel="ValueKind";Gr["owner-username"]="ValueKind";Gr.mode="ValueKind";Gr.cwd="ValueKind";Gr["thread-id"]="ValueKind";Gr.format="ValueKind";Gr.command="ValueKind";Gr["tool-scope"]="ValueKind";Gr["agent-session"]="BooleanKind";Gr["include-token"]="BooleanKind";Gr.help="BooleanKind";function ac(e){let t={},r,n=0;for(;r===void 0&&n<e.length;){let o=e[n];if(o!==void 0)if(o.startsWith("--")){let a=o.slice(2),s=Gr[a];if(s!==void 0)if(s==="ValueKind"){let l=e[n+1|0];l!==void 0?l.startsWith("--")?r="--"+a+" requires a value":(t[a]={TAG:"ValueFlag",_0:l},n=n+2|0):r="--"+a+" requires a value"}else t[a]="BoolFlag",n=n+1|0;else r="unsupported option --"+a}else r="unexpected argument "+o;else n=n+1|0}let i=r;return i!==void 0?{TAG:"Error",_0:i}:{TAG:"Ok",_0:t}}function wr(e,t){let r=e[t];if(r===void 0||typeof r!="object")return;let n=r._0;if(n.trim()!=="")return n}function sc(e,t){let r=e[t];return r!==void 0?typeof r!="object":!1}function lc(e,t){let r=wr(e,t);return r!==void 0?{TAG:"Ok",_0:r}:{TAG:"Error",_0:"--"+t+" is required"}}function dc(e){if(e===void 0)return{TAG:"Ok",_0:"Text"};switch(e){case"text":return{TAG:"Ok",_0:"Text"};case"voice":return{TAG:"Ok",_0:"Voice"};default:return{TAG:"Error",_0:"--mode must be voice or text"}}}function Up(e){if(e===void 0)return{TAG:"Ok",_0:"All"};switch(e){case"all":return{TAG:"Ok",_0:"All"};case"coding":return{TAG:"Ok",_0:"Coding"};case"onboarding-discovery":return{TAG:"Ok",_0:"OnboardingDiscovery"};default:return{TAG:"Error",_0:"--tool-scope must be all, coding, or onboarding-discovery"}}}function Dw(e){return e[0]==="mcp"?e.slice(1):e}function uc(){return`Linzumi MCP
11
11
 
12
12
  Usage:
13
13
  linzumi mcp server --api-url <url> [--mode voice|text] [--workspace <slug> --channel <slug>]
@@ -101,25 +101,25 @@ Tools:
101
101
  Auth:
102
102
  Uses --token, LINZUMI_MCP_ACCESS_TOKEN, or cached local runner OAuth from linzumi auth.
103
103
  Hosted personal agents use --delegation-auth-file with a signed delegation grant.
104
- `}function qw(e){throw e}function Lw(e){throw e}function Uw(e){throw e}function gr(e){throw new Error(e)}function gs(e){let t=vr(e);if(t===void 0)return"unknown error";let r=ue(t);return x(Cr(r),String(r))}function Gj(e,t){return fetch(e,t)}function Fj(e,t){return fetch(e,t)}var cc={json:Gj,binary:Fj};function Zw(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength|0)}function fc(e){return new Promise((t,r)=>{setTimeout(()=>t(),e)})}function Jl(e){process.exitCode=e}function aa(e){process.stdout.write(e)}import*as hk from"node:os";import*as Th from"node:path";function wt(e,t){return e.TAG==="Ok"?{TAG:"Ok",_0:t(e._0)}:e}function he(e,t){return e.TAG==="Ok"?t(e._0):e}function $t(e,t){return e.TAG==="Ok"?e:{TAG:"Error",_0:t(e._0)}}var Yp={},wc=[],Lj=(e=>({...e}));function Cs(e){let t=0;for(;;){let r=t,n=e[r];if(n===void 0)return'"'+e+'"';switch(n){case'"':case`
105
- `:return JSON.stringify(e);default:t=r+1|0;continue}}}function Uj(e){return e===""?[]:JSON.parse(e.split('"]["').join('","'))}function Zj(e){return"["+Cs(e)+"]"}function Wj(e){let t=e.length;return t!==1?t!==0?e.map(Zj).join(""):"":"["+Cs(e[0])+"]"}var Xp="sury",Qp=Symbol(Xp),eh=Symbol(Xp+":item"),Ss="string",vo="number",Vj="bigint",hc="boolean",Hj="symbol",ws="null",Un="undefined",Vp="nan";var th="instance",Ki="array",Ir="object",di="union",Hp="never",rd="unknown",Bp="ref",rh=Ew("Sury.Exn"),Pi="const";function Bj(e){return e.type===Un?!0:e.type===di?Un in e.has:!1}function Kj(e,t){return(e&t)!==0}var er={[rd]:1,[Ss]:2,[vo]:4,[hc]:8,[Un]:16,[ws]:32,[Ir]:64,[Ki]:128,[di]:256,[Bp]:512,[Vj]:1024,[Vp]:2048,function:4096,[th]:8192,[Hp]:32768,[Hj]:16384};function _c(e){let t=er[typeof e];if(t&16)return Un;if(!(t&64))return t&2?'"'+e+'"':t&1024?e+"n":t&4096?"Function":e.toString();if(e===null)return ws;if(Array.isArray(e)){let i="[";for(let o=0,a=e.length;o<a;++o)o!==0&&(i=i+", "),i=i+_c(e[o]);return i+"]"}if(e.constructor!==Object)return Object.prototype.toString.call(e);let r=Object.keys(e),n="{ ";for(let i=0,o=r.length;i<o;++i){let a=r[i],s=e[a];n=n+a+": "+_c(s)+"; "}return n+"}"}function kr(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 _c(n);let o=e.format,a=e.anyOf;if(a!==void 0)return a.map(kr).join(" | ");if(o!==void 0){if(o!=="compactColumns")return o;let s=e.additionalItems;if(r===void 0)return s!==void 0&&s!=="strip"&&s!=="strict"?kr(s)+"[]":"unknown[][]";let l=r.properties;return l===void 0?"unknown[][]":"["+Object.keys(l).map(u=>{let c=l[u];return kr(c)+"[]"}).join(", ")+"]"}switch(t){case"nan":return"NaN";case"object":let s=e.additionalItems,l=e.properties,d=Object.keys(l);return d.length===0?typeof s===Ir?"{ [key: string]: "+kr(s)+"; }":"{}":"{ "+d.map(u=>u+": "+kr(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!==Ir)return"["+c.map(kr).join(", ")+"]";let f=kr(u);return(u.type===di?"("+f+")":f)+"[]";default:return t}}}var da=class extends Error{constructor(t){super();for(let r in t)this[r]=t[r]}},Cn=Object.defineProperty,nd=da.prototype;Cn(nd,"message",{get(){return Xw(this)}});Cn(nd,"name",{value:"SuryError"});Cn(nd,"s",{value:Qp});Cn(nd,"_1",{get(){return this}});Cn(nd,"RE_EXN_ID",{value:rh});var Yw=1,nh=function(){},ih=Object.create(null);Cn(ih,"with",{get(){return(e,...t)=>e(this,...t)}});nh.prototype=ih;function kc(e){if(e&&e.s===Qp)return e;throw e}function Xw(e){let t=e.path;return(t===""?"":"Failed at "+t+": ")+e.reason}var Yl={m:Xw,d:void 0,a:"strip",f:0},Ai={},Ww={configurable:!0},ks="value",la="r";function Er(e,t){let r=new nh;return r.type=e,r.seq=Yw++,t&&(Ai[ks]=r,Cn(r,la,Ai)),r}function Qw(e){return e}var Up={};function xo(e,t,r){if(Up[e])return Up[e];let n=Er(t,!0);return r(n),Up[e]=n,n}var Qt=Er(rd,!0);Qt.decoder=Qw;var ui=(e=>{let t=new nh;for(let r in e)t[r]=e[r];return t.seq=Yw++,t});function So(e,t){let r=ui(e),n=r;for(;n.to;){let i=ui(n.to);n.to=i,n=i}return t(n),r}function Oi(e,t){let r=e.g.e,n=r.length;return r[n]=t,"e["+n+"]"}function id(e,t){let r=er[t.type],n=t.const;return r&16?"void 0":r&2?Cs(n):r&1024?n+"n":r&28672?Oi(e,t.const):n}function ua(e,t){let r='"'+t+'"',n=e[r];if(n!==void 0)return n;let i=Cs(t);return e[r]=i,i}function Br(){return this.i}function Jj(){return this.b.v()}function Yj(){return this.prev.v()}function _n(e){let t=e.v+1;return e.v=t,"v"+t}function gc(e,t){e.hd=e.hd===""?t:e.hd+","+t}function Xj(){let e=this,t=_n(e.g);return e.cp="let "+t+"="+e.i+";",e.i=t,e.v=Br,t}function Kp(){let e=this,t=e.p;if(t.fz)return e.v=Br,e.i;let r=_n(e.g);return gc(t,r+"="+e.i),e.v=Br,e.i=r,r}function yc(){let e=this;if(e.fz)return e.v=Br,e.i="("+e.i+")",e.i;let t=_n(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===""?gc(e,t):gc(e,t+"="+n)}return e.v=Br,e.i=t,t}function Qj(e,t,r,n){return{v:Br,i:"i",s:e,e:t,f:0,cp:"",hd:"",path:"",g:{v:-1,o:r,e:[],d:n}}}function fa(e,t,r){let n=e.path,i="Can't decode "+kr(t)+" to "+kr(r)+". Use S.to to define a custom decoder",o={code:"unsupported_decode",path:n,reason:i,from:t,to:r};throw new da(o)}function Xl(e,t,r){return Oi(e,n=>{let i=t(n);throw new da(i)})+"("+r+")"}function e0(e,t,r,n,i,o,a){let s=a!==void 0?a:"Expected "+kr(e)+", received "+(i?_c(n):kr(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(`
104
+ `}function Lw(e){throw e}function Uw(e){throw e}function Ww(e){throw e}function yr(e){throw new Error(e)}function gs(e){let t=Sr(e);if(t===void 0)return"unknown error";let r=ue(t);return x(Er(r),String(r))}function Wj(e,t){return fetch(e,t)}function Zj(e,t){return fetch(e,t)}var cc={json:Wj,binary:Zj};function Zw(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength|0)}function fc(e){return new Promise((t,r)=>{setTimeout(()=>t(),e)})}function Jl(e){process.exitCode=e}function aa(e){process.stdout.write(e)}import*as _k from"node:os";import*as Ah from"node:path";function wt(e,t){return e.TAG==="Ok"?{TAG:"Ok",_0:t(e._0)}:e}function he(e,t){return e.TAG==="Ok"?t(e._0):e}function $t(e,t){return e.TAG==="Ok"?e:{TAG:"Error",_0:t(e._0)}}var Xp={},wc=[],Bj=(e=>({...e}));function Cs(e){let t=0;for(;;){let r=t,n=e[r];if(n===void 0)return'"'+e+'"';switch(n){case'"':case`
105
+ `:return JSON.stringify(e);default:t=r+1|0;continue}}}function Kj(e){return e===""?[]:JSON.parse(e.split('"]["').join('","'))}function Jj(e){return"["+Cs(e)+"]"}function Yj(e){let t=e.length;return t!==1?t!==0?e.map(Jj).join(""):"":"["+Cs(e[0])+"]"}var Qp="sury",eh=Symbol(Qp),th=Symbol(Qp+":item"),Ss="string",vo="number",Xj="bigint",hc="boolean",Qj="symbol",ws="null",Un="undefined",Hp="nan";var rh="instance",Ki="array",Ir="object",di="union",Bp="never",rd="unknown",Kp="ref",nh=Pw("Sury.Exn"),Pi="const";function ez(e){return e.type===Un?!0:e.type===di?Un in e.has:!1}function tz(e,t){return(e&t)!==0}var tr={[rd]:1,[Ss]:2,[vo]:4,[hc]:8,[Un]:16,[ws]:32,[Ir]:64,[Ki]:128,[di]:256,[Kp]:512,[Xj]:1024,[Hp]:2048,function:4096,[rh]:8192,[Bp]:32768,[Qj]:16384};function _c(e){let t=tr[typeof e];if(t&16)return Un;if(!(t&64))return t&2?'"'+e+'"':t&1024?e+"n":t&4096?"Function":e.toString();if(e===null)return ws;if(Array.isArray(e)){let i="[";for(let o=0,a=e.length;o<a;++o)o!==0&&(i=i+", "),i=i+_c(e[o]);return i+"]"}if(e.constructor!==Object)return Object.prototype.toString.call(e);let r=Object.keys(e),n="{ ";for(let i=0,o=r.length;i<o;++i){let a=r[i],s=e[a];n=n+a+": "+_c(s)+"; "}return n+"}"}function xr(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 _c(n);let o=e.format,a=e.anyOf;if(a!==void 0)return a.map(xr).join(" | ");if(o!==void 0){if(o!=="compactColumns")return o;let s=e.additionalItems;if(r===void 0)return s!==void 0&&s!=="strip"&&s!=="strict"?xr(s)+"[]":"unknown[][]";let l=r.properties;return l===void 0?"unknown[][]":"["+Object.keys(l).map(u=>{let c=l[u];return xr(c)+"[]"}).join(", ")+"]"}switch(t){case"nan":return"NaN";case"object":let s=e.additionalItems,l=e.properties,d=Object.keys(l);return d.length===0?typeof s===Ir?"{ [key: string]: "+xr(s)+"; }":"{}":"{ "+d.map(u=>u+": "+xr(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!==Ir)return"["+c.map(xr).join(", ")+"]";let f=xr(u);return(u.type===di?"("+f+")":f)+"[]";default:return t}}}var da=class extends Error{constructor(t){super();for(let r in t)this[r]=t[r]}},Cn=Object.defineProperty,nd=da.prototype;Cn(nd,"message",{get(){return Qw(this)}});Cn(nd,"name",{value:"SuryError"});Cn(nd,"s",{value:eh});Cn(nd,"_1",{get(){return this}});Cn(nd,"RE_EXN_ID",{value:nh});var Xw=1,ih=function(){},oh=Object.create(null);Cn(oh,"with",{get(){return(e,...t)=>e(this,...t)}});ih.prototype=oh;function kc(e){if(e&&e.s===eh)return e;throw e}function Qw(e){let t=e.path;return(t===""?"":"Failed at "+t+": ")+e.reason}var Yl={m:Qw,d:void 0,a:"strip",f:0},Ai={},Vw={configurable:!0},ks="value",la="r";function Pr(e,t){let r=new ih;return r.type=e,r.seq=Xw++,t&&(Ai[ks]=r,Cn(r,la,Ai)),r}function e0(e){return e}var Wp={};function xo(e,t,r){if(Wp[e])return Wp[e];let n=Pr(t,!0);return r(n),Wp[e]=n,n}var er=Pr(rd,!0);er.decoder=e0;var ui=(e=>{let t=new ih;for(let r in e)t[r]=e[r];return t.seq=Xw++,t});function So(e,t){let r=ui(e),n=r;for(;n.to;){let i=ui(n.to);n.to=i,n=i}return t(n),r}function Oi(e,t){let r=e.g.e,n=r.length;return r[n]=t,"e["+n+"]"}function id(e,t){let r=tr[t.type],n=t.const;return r&16?"void 0":r&2?Cs(n):r&1024?n+"n":r&28672?Oi(e,t.const):n}function ua(e,t){let r='"'+t+'"',n=e[r];if(n!==void 0)return n;let i=Cs(t);return e[r]=i,i}function Br(){return this.i}function rz(){return this.b.v()}function nz(){return this.prev.v()}function _n(e){let t=e.v+1;return e.v=t,"v"+t}function gc(e,t){e.hd=e.hd===""?t:e.hd+","+t}function iz(){let e=this,t=_n(e.g);return e.cp="let "+t+"="+e.i+";",e.i=t,e.v=Br,t}function Jp(){let e=this,t=e.p;if(t.fz)return e.v=Br,e.i;let r=_n(e.g);return gc(t,r+"="+e.i),e.v=Br,e.i=r,r}function yc(){let e=this;if(e.fz)return e.v=Br,e.i="("+e.i+")",e.i;let t=_n(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===""?gc(e,t):gc(e,t+"="+n)}return e.v=Br,e.i=t,t}function oz(e,t,r,n){return{v:Br,i:"i",s:e,e:t,f:0,cp:"",hd:"",path:"",g:{v:-1,o:r,e:[],d:n}}}function fa(e,t,r){let n=e.path,i="Can't decode "+xr(t)+" to "+xr(r)+". Use S.to to define a custom decoder",o={code:"unsupported_decode",path:n,reason:i,from:t,to:r};throw new da(o)}function Xl(e,t,r){return Oi(e,n=>{let i=t(n);throw new da(i)})+"("+r+")"}function t0(e,t,r,n,i,o,a){let s=a!==void 0?a:"Expected "+xr(e)+", received "+(i?_c(n):xr(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,s=s+_)}}let l={code:"invalid_input",path:r,reason:s,expected:e,received:t,unionErrors:o};return i&&(l.input=n),l}function oh(e,t,r,n){return i=>{let o=t!==void 0?t:"",a=n!==void 0?n:!0,s=e!==void 0?e:i.e,l=i.prev,d=l!==void 0?l.s:i.s,u=o===""?i.path:i.path+o;return c=>e0(s,d,u,c,a,void 0,r)}}function zr(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 oh(void 0,void 0,r,void 0)(e)}function t0(e,t){let r=t!==void 0?t:e.e;return Xl(e,oh(r,void 0,void 0,void 0)(e),e.v())}function ez(e,t){let r=e.vc,n=r.length;if(n===1){let a=r[0];return a.c(t)+"||"+Xl(e,a.f(e),t)+";"}let i="",o=0;for(;o<n;){let a=r[o],s=a.f,l=a.c(t);for(o=o+1|0;o<n&&r[o].f===s;)l=l+"&&"+r[o].c(t),o=o+1|0;i=i+(l+"||"+Xl(e,s(e),t)+";")}return i}function r0(e){return e.t===!0?e.prev.t!==!0?e.cp==="":!1:!0}function Ci(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&&r0(i)){let s=r.v(),l=i.vc,d="";for(let u=0,c=l.length;u<c;++u){let f=l[u],p=f.c(s);f.f===zr?d=d?d+"&&"+p:p:i.e.noValidation!==!0&&(o=o+(p+"||"+Xl(i,f.f(i),s)+";"))}d&&(t.contents?t.contents=d+"&&"+t.contents:t.contents=d)}else i.e.noValidation!==!0&&(o=ez(i,r.v()));i.hd!==""&&(o=o+("let "+i.hd+";")),i.fz=!0,o=i.cp+o,n=o+n}return n}function Zn(e,t,r,n){let i=n!==void 0?n:e.e;return{v:yc,i:t,s:r,e:i,prev:e,f:0,d:e.d,cp:"",hd:"",t:!0,path:e.path,g:e.g}}function kt(e,t,r,n){let i=t!==void 0?t:e.s,o=n!==void 0?n:e.e,a=e.v!==Br,s={v:a?Yj:Br,i:e.i,s:i,e:o,prev:e,f:e.f,d:e.d,cp:"",hd:"",vc:r,t:e.t,path:e.path,g:e.g};if(a){let l=e.v.bind(e);e.v=()=>{let d=l();return s.i=d,s.v=Br,d}}return s}function ah(e,t){let r=e.vc;r!==void 0?r.push(t):e.vc=[t]}function Ql(e,t){let r=t.e.inputRefiner,n;if(r!==void 0){let s=r(t);if(s.length!==0)if(t.prev!==void 0){for(let d=0,u=s.length;d<u;++d)ah(t,s[d]);n=void 0}else n=s;else n=void 0}else n=void 0;let i=e.e.refiner,o;if(i!==void 0){let s=i(e);o=s.length!==0?s:void 0}else o=void 0;let a=n!==void 0?o!==void 0?kt(e,void 0,n.concat(o),void 0):kt(e,void 0,n,void 0):o!==void 0?kt(e,void 0,o,void 0):e;return a.io=!0,a}function n0(e,t,r){if(!t.vc)return;let i="["+ua(e.g,r)+"]";t.vc.forEach(o=>ah(e,{c:a=>o.c(a+i),f:o.f})),t.vc=void 0}function i0(e,t){let r=e.s.additionalItems,n;n=r!==void 0&&r!=="strip"&&r!=="strict"?r:Qt;let i=e.e.additionalItems,o;return o=i!==void 0&&i!=="strip"&&i!=="strict"?i:Qt,{p:e,v:Xj,i:e.v()+"["+t+"]",s:n,e:o,f:e.f,cp:"",hd:"",path:"",g:e.g}}function bo(e,t,r){return Zn(e,id(e,t),t,r)}function o0(e,t){let r=Zn(e,t,e.s,void 0);return r.f=1,r}function Ei(e,t,r){e.s.type===Ki?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+Ci(r,void 0),e.d[t]=r}function a0(e,t,r){return e.v()+"["+t+"]="+r.i}function Ji(e){let t=e.v!==Br,r={b:e,v:t?Jj:Br,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=Br,i}}return r}function tz(e,t){throw new da({code:"invalid_operation",path:e.path,reason:t})}function sh(e,t,r,n){if(e.path===""&&r===void 0)return Ci(e,void 0);{let i=l=>{let d=t.path,u=d===""?"":Cs(d)+"+";return l+".path="+u+(r!==void 0?`'["'+`+r+`+'"]'+`:"")+l+".path"},o=Ci(e,void 0);if(o===""&&!(e.f&1))return o+(n!==void 0?n():"");let a=_n(e.g),s=i(a)+";throw "+a;return e.f&1&&(e.i=e.i+".catch("+a+"=>{"+s+"})"),"try{"+o+(n!==void 0?n():"")+"}catch("+a+"){"+s+"}"}}function s0(e){return e}s0.embedded=wc;function Zp(e){return e+"<=2147483647&&"+e+">=-2147483648&&"+e+"%1===0"}function xs(e){return t=>"typeof "+t+'==="'+e+'"'}function vs(e){return"Number.isNaN("+e+")"}function bc(e){return"Array.isArray("+e+")"}function l0(e){return xs(Ir)(e)+"&&"+e}function rz(e,t){return r=>r+" instanceof "+Oi(e,t)}function nz(e){let t=er[e.s.type];if(t&1){let i=[{c:xs(vo),f:zr}],o=e.e.format,a=0;return o==="int32"?i.push({c:Zp,f:zr}):a=1,a===1&&(e.g.o&2||i.push({c:s=>"!"+vs(s),f:zr})),kt(e,e.e,i,void 0)}if(!(t&2))return t&4?e.s.format!==e.e.format&&e.e.format==="int32"?kt(e,e.e,[{c:Zp,f:zr}],void 0):e:fa(e,e.s,e.e);let r=_n(e.g),n=Zn(e,r,e.e,void 0);return n.v=Br,n.cp="let "+r+"=+"+e.v()+";",n.vc=[{c:i=>{let o=e.e.format;return o!==void 0&&o==="int32"?Zp(r):"!"+vs(r)},f:zr}],n}function lh(){return xo(vo,vo,e=>{e.decoder=nz})}function iz(e){return Zn(e,'""+'+e.i,Es(),void 0)}function oz(e){let t=er[e.s.type];if(t&1)return kt(e,e.e,[{c:xs(Ss),f:zr}],void 0);if(!(t&3132&&Pi in e.s))return t&1036?iz(e):t&2?e:fa(e,e.s,e.e);let r=""+e.s.const,n=Er(Ss,!1);return n.const=r,Zn(e,'"'+r+'"',n,void 0)}function Es(){return xo(Ss,Ss,e=>{e.decoder=oz})}function az(e){let t=er[e.s.type];if(t&1)return kt(e,e.e,[{c:xs(hc),f:zr}],void 0);if(!(t&2))return t&8?e:fa(e,e.s,e.e);let r=_n(e.g),n=Zn(e,r,e.e,void 0);n.v=Br;let i=e.v();return n.cp="let "+r+";("+n.i+"="+i+'==="true")||'+i+'==="false"||'+t0(e,void 0)+";",n}function dh(){return xo(hc,hc,e=>{e.decoder=az})}function d0(e,t){e[er[t]&768?rd:t]=!0}var sa="JSON";function Ts(e){let t=e.e;if(t.noValidation&&!e.u)return bo(e,t,void 0);if(Pi in e.s)return e.s.const===t.const?e:bo(e,t,void 0);let r=er[t.type];if(!(er[e.s.type]&2&&r&3132))return r&2048?kt(e,t,[{c:vs,f:zr}],void 0):kt(e,t,[{c:o=>o+"==="+id(e,t),f:zr}],void 0);let n=Er(Ss,!1);n.const=""+t.const;let i=bo(e,n,n);return i.vc=[{c:o=>o+'==="'+n.const+'"',f:zr}],bo(i,t,t)}function ma(){return xo(Un,Un,e=>{e.const=void 0,e.decoder=Ts})}function od(){return xo(ws,ws,e=>{e.const=null,e.decoder=Ts})}function u0(){return xo(Vp,Vp,e=>{e.const=NaN,e.decoder=Ts})}function uh(e){if(e===null)return od();let t=typeof e;if(t===Un)return ma();if(t===vo&&Number.isNaN(e))return u0();if(t===Ir){let n=Er(th,!0);return n.class=e.constructor,n.const=e,n.decoder=Ts,n}let r=Er(t,!0);return r.const=e,r.decoder=Ts,r}function mr(e){let t=e,r,n=0;for(;!t.io||t.e.to;){let i=r;r=void 0;let o=t;if(n=n+1|0,n>50)throw new Error("Loop count exceeded 100");if(o.e.$defs&&(o.g.d?Object.assign(o.g.d,o.e.$defs):o.g.d=o.e.$defs),o.f&1){let a=o.v(),s=Ji(o),l=mr(s),d=Ci(l,void 0);t=s.i!==l.i||d!==""?Zn(o,a+".then("+a+"=>{"+d+"return "+l.i+"})",l.s,l.e):kt(o,l.s,void 0,l.e),t.f=t.f|1,t.io=!0}else if(o.io){let a=o.e.to,l=o.e.parser;t=l!==void 0?l(o):kt(t,void 0,void 0,a)}else{let a=o.s.encoder;a&&a!==i&&o.s!==o.e&&o.e.type!==rd&&(t=a(o,o.e)),o!==t?r=a:(t=o.e.decoder(o),t.io||(t=Ql(t,t)))}}return t}function wo(e){for(;;){let t=e,r=t.to;if(r===void 0)return t;e=r}}function Bi(e){if(la in e)return e[la];let t,r=e;for(;r;){let i=ui(r),o=i.to,a=t;a!==void 0?i.to=a:delete i.to;let s=i.parser,l=i.serializer;l!==void 0?i.parser=l:delete i.parser,s!==void 0?i.serializer=s:delete i.serializer;let d=i.refiner,u=i.inputRefiner;u!==void 0?i.refiner=u:delete i.refiner,d!==void 0?i.inputRefiner=d:delete i.inputRefiner;let c=i.fromDefault,f=i.default;f!==void 0?i.fromDefault=f:delete i.fromDefault,c!==void 0?i.default=c:delete i.default;let p=i.items;p!==void 0&&(i.items=p.map(Bi));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]=Bi(m[S])}i.properties=g}typeof i.additionalItems===Ir&&(i.additionalItems=Bi(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=Bi(S);b.push(A),d0(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]=Bi(_[v])}i.$defs=g}t=i,r=o}let n=t;return Ai[ks]=n,Cn(e,la,Ai),Ai[ks]=e,Cn(n,la,Ai),n}function c0(e){try{return mr(e)}catch(t){let r=kc(t),n=e.p;throw r.path=(n!==void 0?n.path:"")+(e.path+"[]"+r.path),r}}function f0(e,t,r,n){let i=Qj(Pi in e?Qt:e,t,r,n),o=mr(i),a=Ci(o,void 0),s=Kj(o.f,1);t.isAsync=s;let l=o.t===!0;if(t.hasTransform=l,a===""&&(o===i||o.i===i.i)&&!(r&1))return s0;let d=o.i;r&1&&!s&&!n&&(d="Promise.resolve("+d+")");let u="i=>{"+a+"return "+d+"}",c=i.g.e,f=new Function("e","s","return "+u)(c,Qp);return f.embedded=i.g.e,f}function vc(e,t){let r=arguments,n=0,i,o="",a=0,s;for(;i===void 0;){let d=r[n];if(d)if(typeof d===vo){let u=d|Yl.f;i=u,o=o+"-"+u}else{let u=d.seq;u>a&&(a=u,s=d),o=o+u+"-",n=n+1|0}else{let u=Yl.f;i=u,o=o+"-"+u}}let l=s;if(l!==void 0){let d=o;if(d in l)return l[d];let u=r[n-1|0];for(let f=n-2|0;f>=0;--f){let p=u;u=So(r[f],m=>{m.to=p})}let c=f0(u,u,i,0);return Ai[ks]=c,Cn(l,d,Ai),c}throw new Error("[Sury] No schema provided for decoder.")}var ca="BS_PRIVATE_NESTED_SOME_NONE";function sz(e){let t=kt(e,void 0,void 0,ch());return t.cp=t0(e,void 0)+";",t}function ch(){return xo(Hp,Hp,e=>{e.decoder=sz})}function lz(e){let t=e.e.to;return Zn(e,"{"+ca+":"+wo(e.e).properties[ca].const+"}",t,t)}function As(e,t){return{v:yc,i:"",s:t.type===Ki?{type:Ki,decoder:ad,additionalItems:"strict",items:[]}:{type:Ir,decoder:Ps,additionalItems:"strict",required:[],properties:{}},e:e.e,prev:e,f:0,d:{},cp:"",hd:"",t:!0,path:e.path,g:e.g}}function fh(e){return xc(e,ma())}function Ps(e){let t=e.u,r=e.e,n=er[e.s.type],i;if(n&65){let u=n&64,c;if(u)c=e.s;else{let p=Er(Ir,!1);p.properties=Yp,p.additionalItems=Qt,c=p}let f=[];u||(f.push({c:l0,f:zr}),r.additionalItems!=="strip"&&f.push({c:p=>"!"+bc(p),f:zr})),i=f.length!==0?kt(e,c,f,void 0):kt(e,c,void 0,void 0)}else i=fa(e,e.s,r);let o=r.additionalItems,a;a=o==="strip"||o==="strict"?void 0:o;let s=i.s.additionalItems,l;l=s!=="strip"&&s!=="strict";let d;if(a!==void 0)if(a===Qt)d=i;else if(l){let u=i.v(),c=_n(i.g),f=i0(i,c),p=c0(f),m=p.t,h=m?Zn(i,"{}",r,void 0):kt(i,r,void 0,void 0),_=sh(p,i,c,m?()=>a0(h,c,p):void 0);if((m||_!=="")&&(h.cp=h.cp+("for(let "+c+" in "+u+"){"+_+"}")),p.f&1){let g=_n(h.g),b=_n(h.g),y=_n(h.g),v=_n(h.g),S=h.v();d=o0(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=As(i,r),c=Object.keys(i.s.properties);for(let f=0,p=c.length;f<p;++f){let m=c[f],h=ed(i,m);h.e=a,h.io=!1,h.u=t,Ei(u,m,mr(h))}d=Os(u)}else{let u=r.properties,c=Object.keys(u),f=c.length,p=As(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===sa;for(let y=0;y<f;++y){let v=c[y],S=u[v],A=ed(i,v);A.e=S,A.io=!1,A.u=t,g&&S.type===di&&S.has[Un]&&(A.i="("+A.i+"??null)");let R=mr(A);t&&Pi in S&&n0(i,R,v),Ei(p,v,R),h||(h=R.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=_n(p.g);if(gc(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+"!=="+ua(i.g,A))}else p.cp=p.cp+"true";p.cp=p.cp+("){"+Xl(i,v=>({code:"unrecognized_keys",path:p.path,reason:'Unrecognized key "'+v+'"',keys:[v]}),y)+"}}")}if(h)d=Os(p);else{let y=kt(i,void 0,void 0,void 0);y.cp=p.cp,y.d=p.d,d=y}}return Ql(d,i)}function dz(){let e=uh(0),t={};return t[ca]=e,{type:Ir,serializer:r=>{let n=r.e.to;return bo(r,n,n)},decoder:Ps,additionalItems:"strip",required:[ca],properties:t}}function ad(e){let t=e.u,r=e.e,n=er[e.s.type],i=r.items,o=i.length,a;if(n&129){let u=n&128,c=u?e.s:sd(Qt),f=[];u||f.push({c:bc,f:zr});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:zr}):f.push({c:_=>_+".length==="+o,f:zr}))}a=f.length!==0?kt(e,c,f,void 0):kt(e,c,void 0,void 0)}else a=fa(e,e.s,r);let s=r.additionalItems,l,d=0;if(s==="strip"||s==="strict")d=1;else if(s===Qt)l=a;else{let u=a.v(),c=_n(a.g),f=i0(a,c),p=c0(f),m=p.t,h=m?Zn(a,"new Array("+u+".length)",r,void 0):kt(a,r,void 0,void 0),_=sh(p,a,c,m?()=>a0(h,c,p):void 0);(m||_!=="")&&(h.cp=h.cp+("for(let "+c+"="+o+";"+c+"<"+u+".length;++"+c+"){"+_+"}")),l=p.f&1?o0(h,"Promise.all("+h.i+")"):h}if(d===1){let u=As(a,r),c=r.additionalItems,f;if(c==="strip"||c==="strict")if(c==="strip"){let p=a.s.additionalItems;f=p==="strip"||p==="strict"?a.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(),_=ed(a,h);_.e=m,_.io=!1,_.u=t;let g=mr(_);t&&Pi in m&&n0(a,g,h),Ei(u,h,g),f||(f=g.t)}if(f)l=Os(u);else{let p=kt(a,void 0,void 0,void 0);p.cp=u.cp,p.d=u.d,l=p}}return Ql(l,a)}function uz(e,t){let r=e.s.anyOf;return t.type===di&&_0(t)===void 0&&p0(t.anyOf,r)||!cz(r,t)?e:h0(e,t)}function m0(e){let t=e.e,r=t.anyOf,n=er[e.s.type],i=_0(t);if(e.s===t&&i===void 0&&r.every(mc)||n&256&&p0(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=Qt);let o="";if(!(n&769)){let W=Wp(e.s),V=!1,M=!1,N=r.length,j=0;for(;o===""&&j<N;){let re=r[j];Wp(re)===W?o=W:re.type===ws?V=!0:re.type===Un&&(M=!0),j=j+1|0}o===""&&(n&16&&V?o=ws:n&32&&M&&(o=Un))}let a=o,s=e.i,l=W=>Oi(e,function(){let V=arguments,M=e0(t,Qt,e.path,V[0],!0,V.length>1?Array.from(V).slice(1):void 0,void 0);throw new da(M)})+"("+e.v()+W+")",d=kt(e,void 0,void 0,void 0),u=[],c={contents:""},f=(W,V)=>{let M=W[0],N=W[1],j="",re="",se=!1,Ae={contents:""},Ue="",Ge={},dt=2,je=W.length-1|0;for(;dt<=je;){let pt=Ji(N);pt.u=!0,pt.t=N.t,pt.io=!1,pt.e=W[dt];let Ye=dt===je,He=dt===2,It=He&&Ye,Or=!It,Ut=!1,Xe="",q={contents:""};try{let _e=mr(pt);if(u.push(_e.s),Xe=Ci(_e,q),_e.t){d.t=!0,_e.f&1&&(d.f=d.f|1);let Be=M.v();_e.i!==Be&&(Xe=Xe+(Be+"="+_e.i))}}catch(_e){let Be=Oi(pt,kc(_e));Ue=Ue+","+Be,V&&It?(c.contents=Be,Ut=!0):Ye?(Or=!1,Xe=V?"throw "+Be:l(Ue)):Ut=!0}let Ee=q.contents,ve=Xe;if(!Ut&&Ee)if(ve){let _e=Ge[Ee];_e!==void 0?typeof _e=="string"?Ge[Ee]=[_e,ve]:_e.push(ve):Ge[Ee]=ve}else Ae.contents=Ae.contents?Ae.contents+"||"+Ee:Ee;if(!Ut&&(!Ee||Ye)){let _e=Object.keys(Ge);for(let Be=0,Jt=_e.length;Be<Jt;++Be){let fn=_e[Be];j=j+(se?"else if":"if")+("("+fn+"){");let Fn=Ge[fn];if(typeof Fn=="string")j=j+Fn+"}";else{let ii="";for(let Vr=0,_o=Fn.length;Vr<_o;++Vr){let ra=Fn[Vr],tn="e"+Vr;j=j+("try{"+ra+"}catch("+tn+"){"),ii=ii+","+tn}j=j+l(ii)+"}".repeat(Fn.length)+"}"}se=!0}Ge={}}if(!Ut&&!Ee)if(ve)if(Ae.contents&&(j=j+(se?"else if":"if")+("(!("+Ae.contents+")){"),re="}"+re,Ae.contents="",se=!1),Ye&&(V||!Or||He))j=j+((se?"else{":"")+ve),re=(se?"}":"")+re;else{let _e="e"+(dt-2|0);j=j+((se?"else{":"")+"try{"+ve+"}catch("+_e+"){"),re=(se?"}":"")+"}"+re,Ue=Ue+","+_e,se=!1}else Ae.contents="",dt=je,Or=!1;if(Ye){if(Ae.contents)j||Ue?j=j+(se?"else if":"if")+("(!("+Ae.contents+")){"+l(Ue)+"}"):ah(N,{c:_e=>"("+Ae.contents+")",f:zr});else if(Or){let _e=l(Ue);j=j+(se?"else{"+_e+"}":_e)}}dt=dt+1}return j+re},p="",m="",h="",_=!1,g=r.length-1|0,b={},y=[],v=t.refiner,S=t.inputRefiner,A={contents:void 0},R={contents:void 0},Z=(W,V,M)=>{if(V===void 0)return W;let N=j=>{let re=M.contents;if(re!==void 0)return re;let se=V(j);return M.contents=se,se};return W!==void 0?j=>{let re=W(j),se=N(j);for(let Ae=0,Ue=se.length;Ae<Ue;++Ae)re.push(se[Ae]);return re}:N},L=W=>{let V=Z(W.refiner,v,A);V!==void 0&&(W.refiner=V);let M=Z(W.inputRefiner,S,R);if(M!==void 0){W.inputRefiner=M;return}},ae;if(Pi in e.s){let W=[],V=[];for(let M=0;M<=g;++M){let N=r[M];Pi in N&&N.const===e.s.const?W.push(N):V.push(N)}ae=W.concat(V)}else ae=r;for(let W=0;W<=g;++W){let V=i!==void 0?So(ae[W],re=>{L(re),re.to=i}):ae[W],M=V.type,N=er[M],j=Wp(V);if((a===""||a===j)&&!(N&16&&"fromDefault"in t)){let re=b[j];if(re!==void 0)N&64&&ca in V.properties?re.splice(re.length-1|0,0,V):N&2096||re.push(V);else{let se=Ji(e),Ae;if(N&37633)Ae=Qt;else{let je=Er(V.type,!1);je.encoder=V.encoder,N&8192?je.class=V.class:N&64?(je.properties=Yp,je.additionalItems=Qt):N&128?(je.additionalItems=Qt,je.items=wc):N&2096&&(je.const=V.const),je.decoder=pt=>er[pt.s.type]&1?kt(pt,pt.e,[{c:Ye=>{let He=er[V.type];if(He&64)return l0(Ye)+"&&!"+bc(Ye);if(He&128)return bc(Ye);if(He&8192)return rz(pt,V.class)(Ye);if(!(He&4))return He&2048?vs(Ye):He&48?Ye+"==="+id(pt,V):He&17418?xs(V.type)(Ye):"";let It=xs(vo)(Ye);return pt.g.o&2?It:It+"&&!"+vs(Ye)},f:zr}],void 0):V.decoder(pt),Ae=je}se.e=Ae;let Ue;try{Ue=mr(se)}catch{se.vc=void 0,Ue=se}Vw(N,b)?y.unshift(j):y.push(j),b[j]=[se,Ue,V];let Ge=!0,dt=Ue;for(;dt!==void 0&&Ge;){let je=dt;dt=je.prev,Ge=!(je.vc&&r0(je))}if(Ge){for(let je=0,pt=y.length;je<pt;++je){let Ye=y[je];if(!_){let He=b[Ye],It=He[1],Or=f(He,!0),Ut=Ci(It,void 0)+Or,Xe=c.contents;if(Xe)if(c.contents="",Ut){let q="e"+(W+je|0);p=p+("try{"+Ut+"throw "+Xe+"}catch("+q+"){"),m="}"+m,h=h+","+q}else h=h+","+Xe;else if(Ut){let q="e"+(W+je|0);p=p+("try{"+Ut+"}catch("+q+"){"),m="}"+m,h=h+","+q}else _=!0}}b={},y=[]}}}}let U=b,B=y;if(!_){let W=!1,V="";for(let j=0,re=B.length;j<re;++j){let se=U[B[j]],Ae=se[1],Ue=se[2],Ge=f(se,!1),dt={contents:""},je=Ci(Ae,dt)+Ge,pt=dt.contents;je||Vw(er[Ue.type],U)?(p=p+(W?"else if":"if")+("("+pt+"){"+je+"}"),W=!0):V=V?V+"||"+pt:pt}let M=l(h),N;V?N=(W?"else if":"if")+("(!("+V+")){"+M+"}"):N=W?"else{"+M+"}":m===""?M+";":M,p=p+N}d.cp=d.cp+p+m,e.i!==d.i&&(d.i=e.i);let oe=d.f&1?(d.i="Promise.resolve("+d.i+")",d.v=yc,d):d.v===Br&&e.cp===""&&d.cp===""&&s==="i"?(e.hd="",e.v=yc,e.i=s,e):d;return oe.s=u.length?ko(u):ch(),oe.e=i!==void 0?(oe.io=!0,wo(i)):t,oe}function p0(e,t){return t.every((r,n)=>{let i=e[n];return i!==void 0&&!(er[r.type]&9152)&&r.type===i.type&&r.const===i.const?r.to===void 0:!1})}function h0(e,t){return kt(e,Qt,void 0,So(e.s,r=>{r.to=t}))}function cz(e,t){return!(er[wo(t).type]&512)&&!(t.type===di&&t.anyOf.some(r=>er[r.type]&512))?!e.some(r=>r.to!==void 0||r.parser!==void 0?!0:er[r.type]&512):!1}function _0(e){if(e.parser!==void 0)return;let r=e.to;if(r!==void 0)return r}function ed(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 Ji(i);let o=e.s.type===Ir?e.s.properties[t]:e.s.items[t],a;if(o!==void 0)a=o;else{let u=e.s.additionalItems;a=u==="strip"||u==="strict"?fa(e,e.s,e.e):e.s.type===Ir&&u.type!==rd&&!(er[u.type]&512)&&!Bj(u)?fh(u):u}let l="["+ua(e.g,t)+"]",d={p:e,v:Kp,i:Pi in a?id(e,a):e.v()+l,s:a,e:a,f:0,cp:"",hd:"",path:e.path+l,g:e.g};return n[t]=d,d}function Os(e){let t=e.s.type===Ki,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+"["+ua(e.g,c)+"]="+f.i+"}")}else r=r+(t?f.i:ua(e.g,c)+":"+f.i)+","}if(e.i=t?"["+r+"]":"{"+r+"}",n){let d=Ji(e);d.io=!0;let u=mr(d),c=Ci(u,void 0);return c===""&&n===u.i+","?e.i=u.i:e.i="Promise.all(["+n+"]).then((["+n+"])=>{"+c+"return "+u.i+"})",e.f=e.f|1,e.s=u.s,e.e=u.e,e.io=!0,e}let a=i;if(a===void 0)return e;let s=a(e.v()),l=kt(e,void 0,void 0,void 0);return l.cp=l.cp+s,l}function ko(e){let t=e.length;if(t===1)return e[0];if(t!==0){let r={},n=new Set;for(let o=0,a=e.length;o<a;++o){let s=e[o];s.type===di&&s.to===void 0?(s.anyOf.forEach(l=>{n.add(l)}),Object.assign(r,s.has)):(n.add(s),d0(r,s.type))}let i=Er(di,!1);return i.anyOf=Array.from(n),i.decoder=m0,i.encoder=uz,i.has=r,i}throw new Error("[Sury] S.union requires at least one item")}function Vw(e,t){return e&8320&&Ir in t?!0:e&2048?vo in t:!1}function Wp(e){return er[e.type]&8192?e.class.name:e.type}function mc(e){for(;;){let t=e,r=!1,n=!1,i=!1;if(t.to===void 0&&t.parser===void 0&&!(er[t.type]&512)){let a=t.anyOf;i=a!==void 0?a.every(mc):!0}if(i){let a=t.items;n=a!==void 0?a.every(mc):!0}if(n){let a=t.properties;r=a!==void 0?Object.values(a).every(mc):!0}if(!r)return!1;let o=t.additionalItems;if(o===void 0||o==="strip"||o==="strict")return!0;e=o}}function sd(e){let t=Er(Ki,e[la]===e);return t.additionalItems=e,t.items=wc,t.decoder=ad,t}function xc(e,t){let r=t!==void 0?t:ma(),n=wo(e);switch(n.type){case"undefined":return ko([r,Hw(e)]);case"union":let o=n.has,a=n.anyOf;return So(e,s=>{let l=Lj(o),d=[];for(let u=0,c=a.length;u<c;++u){let f=a[u],p=wo(f),m=p.type,h;if(m==="undefined")l[r.type]=!0,d.push(r),h=Hw(f);else{let _=p.properties;if(_!==void 0){let g=_[ca];h=g!==void 0?So(f,b=>{let y={},v={...g};v.const=g.const+1,y[ca]=v,b.properties=y}):f}else h=f}d.push(h)}d.length===a.length&&(l[r.type]=!0,d.push(r)),s.anyOf=d,s.has=l});default:return ko([e,r])}}function Hw(e){return So(e,t=>{t.to=dz(),t.parser=lz})}function mh(e){let t=Er(Ir,e[la]===e);return t.properties=Yp,t.additionalItems=e,t.decoder=Ps,t}function Bw(e){let t=e.e,r=t.$ref,n=e.g.d,i=r.slice(8),o=n[i],a=e.g.o,s=e.s.seq===t.seq?o:e.s,l=s.seq+"-"+o.seq+"--"+a,d="",u=o[l];if(u!==void 0){let h=ue(u);d=h===0?Oi(e,o)+('["'+l+'"]'):Oi(e,h)}else{let h=x(o.hasTransform,!1),_=x(o.isAsync,!1),g=!0,b=0;for(;g;){g=!1,o.hasTransform===void 0&&(o.hasTransform=h),o.isAsync===void 0&&(o.isAsync=_),Ww[ks]=0,Cn(o,l,Ww);let y=f0(s,o,a,n);Ai[ks]=y,Cn(o,l,Ai),b=y;let v=o.hasTransform,S=o.isAsync;(v!==h||S!==_)&&(h=v,_=S,delete o[l],g=!0)}d=Oi(e,b)}let c=o.hasTransform===!0,f=o.isAsync,p="",m;if(c||f){let h=_n(e.g);p="let "+h+";";let _=Zn(e,h,t,t);_.v=Br,_.cp=h+"="+d+"("+e.i+");",f&&(_.f=_.f|1),m=_}else{let h=kt(e,t,void 0,t);h.cp=d+"("+e.i+");",m=h}return m.prev=void 0,m.cp=p+sh(m,e,void 0,void 0),m.fz=void 0,m.prev=e,m}Cn(ih,"~standard",{get:function(){let e=this;return{version:1,vendor:Xp,validate:t=>{try{return{value:vc(Qt,e)(t)}}catch(r){let n=kc(r);return{issues:[{message:n.reason,path:n.path===""?void 0:Uj(n.path)}]}}}}}});function g0(e,t){return vc(Qt,t)(e)}var fz="#/$defs/";function mz(e,t){return So(e,r=>{let n=t(r),i=r.refiner;i!==void 0?r.refiner=o=>{let a=i(o),s=n(o);for(let l=0,d=s.length;l<d;++l)a.push(s[l]);return a}:r.refiner=n})}function y0(e,t,r,n){let i=r!==void 0?r:"Refinement failed",o=n!==void 0?Wj(n):"";return mz(e,a=>(s=>{let l=Oi(s,t);return[{c:d=>l+"("+d+")",f:oh(void 0,o,i,void 0)}]}))}function b0(){let e=ui(od());return e.to=ma(),e}function v0(e,t){return So(e,r=>{let n=r.anyOf;if(n!==void 0){let o=[],a=[];for(let f=0,p=n.length;f<p;++f){let m=n[f],h=wo(m);h.type!=="undefined"&&(o.push(h),a.push(m))}let s=o.length,l;if(s!==1)if(s!==0)l=ko(o);else{let f="Can't set default for "+kr(r);throw new Error("[Sury] "+f)}else l=o[0];let d=a.length!==1?ko(a):a[0];if(t.TAG==="Value"){let f=t._0;try{vc(Qt,l)(f)}catch(p){let m=kc(p),h="Invalid default for "+kr(r)+": "+m.message;throw new Error("[Sury] "+h)}try{r.default=vc(Bi(d),void 0)(f)}catch{}}r.parser=f=>{let p=f.e.to,m=f.v(),h;return h=t.TAG==="Value"?id(f,uh(t._0)):Oi(f,t._0)+"()",Zn(f,m+"===void 0?"+h+":"+m,p,p)};let u=ui(l),c=u.decoder;u.serializer=f=>{let p=Bi(d);return kt(c(f),p,void 0,p)},u.decoder=Qw,r.to=u;return}let i="Can't set default for "+kr(r);throw new Error("[Sury] "+i)})}function Jp(e,t){let r=er[t.type];if(r&46)return mr(kt(e,Qt,void 0,t));if(r&2064){let i=ui(od());return i.to=t,mr(kt(e,Qt,void 0,i))}if(r&128){let i=sd(Qt),o=mr(kt(e,Qt,void 0,i));return o.s.additionalItems=hn(),o.e=t,o.io=!1,o}if(r&64){let i=mh(Qt),o=mr(kt(e,Qt,void 0,i));return o.s.additionalItems=hn(),o.e=t,o.io=!1,o}if(r&768)return e;let n=ui(Es());return n.to=t,mr(kt(e,Qt,void 0,n))}function bs(e){let t=er[e.type],r=!0;if(!(t&46||e.$ref===hn().$ref||t&256&&e.anyOf.every(bs))){let i=!1;if(t&128){let o=e.additionalItems,a;a=o==="strip"||o==="strict"?!0:bs(o),i=a}r=i&&e.items.every(bs)}if(r)return!0;let n=!1;if(t&64){let i=e.additionalItems,o;o=i==="strip"||i==="strict"?!0:bs(i),n=o}return n?Object.values(e.properties).every(bs):!1}function Kw(e){let t=er[e.s.type];if(bs(e.s))return e;if(t&2064)return bo(e,od(),void 0);if(t&128){let r=Er(Ki,!1);r.items=e.s.items.map(o=>hn()),r.decoder=ad;let n=e.s.additionalItems,i;return i=n==="strip"||n==="strict"?n:hn(),r.additionalItems=i,r.to=e.e.to,mr(kt(e,void 0,void 0,r))}if(t&64){let r=e.s.additionalItems;if(!(r==="strip"||r==="strict")){let o=mh(hn());return o.to=e.e.to,mr(kt(e,void 0,void 0,o))}let n=As(e,e.s);n.e=hn(),e.e.to&&(n.e=ui(n.e),n.e.to=e.e.to);let i=Object.keys(e.s.properties);for(let o=0,a=i.length;o<a;++o){let s=i[o],l=ed(e,s);if(l.io=!1,l.s.type===di&&l.s.has[Un]){l.e=ko([ma(),hn()]);let d=mr(l);d.o=!0,Ei(n,s,d)}else l.e=hn(),Ei(n,s,mr(l))}return Os(n)}if(t&512)return Bw(e);if(t&256&&!(Un in e.s.has))return mr(h0(e,e.e));if(t&1)return e.e.to&&!e.e.parser?(e.s=hn(),Jp(e,e.e)):e.e.noValidation?(e.s=hn(),e):Bw(e);try{let r=ui(Es());return r.to=e.e,e.e=r,mr(e)}catch{return fa(e,e.s,hn())}}function hn(){return xo(sa,Bp,e=>{let t=Er(Bp,!0);t.$ref=fz+sa,t.name=sa,t.decoder=Kw,t.encoder=Jp,e.$ref=t.$ref,e.name=sa,e.decoder=Kw,e.encoder=Jp;let r=[Es(),dh(),lh(),od(),mh(t),sd(t)],n={};r.forEach(a=>{n[a.type]=!0});let i=Er(di,!0);i.anyOf=r,i.has=n,i.decoder=m0,i.name=sa,i.type=di;let o={};o[sa]=i,e.$defs=o})}function pz(e){return e[eh]}function td(e,t,r){let n=ui(wo(e));return n.from=t,r!==void 0&&(n.fromFlattened=r),new Proxy(n,{get:(i,o)=>{if(o===eh)return i;let a=i.items,s=i.properties,l=s!==void 0?s[o]:a!==void 0?a[o]:void 0;if(l===void 0){let d='Cannot read property "'+o+'" of '+kr(i);throw new Error("[Sury] "+d)}return td(l,i.from.concat(o),i.fromFlattened)}})}function S0(e,t,r){let n=As(e,t);n.io=!0;let i=t.items;if(i!==void 0)for(let o=0,a=i.length;o<a;++o){let s=o.toString();Ei(n,s,r(s,i[o]))}else{let o=t.properties;if(o!==void 0){let a=Object.keys(o);for(let s=0,l=a.length;s<l;++s){let d=a[s];Ei(n,d,r(d,o[d]))}}else{let a="Don't know where the value is coming from: "+kr(t);throw new Error("[Sury] "+a)}}return Os(n)}function w0(e,t){let r=t.from,n=t.fromFlattened,i=n!==void 0?Ji(Jw(e.fv[n],t.from,0)):r!==void 0?Ji(Jw(e,r,0)):Pi in t?bo(e,t,void 0):S0(e,t,(o,a)=>w0(e,a));return i.prev=void 0,i.e=t,i}function k0(e,t){let r=t.e,n=r.from;if(n!==void 0){let a=r.fromFlattened,s;if(a!==void 0){e.flattened===void 0&&(e.flattened=[]);let l=e.flattened[a];if(l!==void 0)s=l;else{let d={};e.flattened[a]=d,s=d}}else s=e;for(let l=0,d=n.length;l<d;++l){let u=n[l],c=s.properties,f;if(c!==void 0)f=c;else{let h={};s.properties=h,f=h}let p=f[u],m;if(p!==void 0)m=p;else{let h={};f[u]=h,m=h}s=m}s.val=t;return}let i=t.d;if(i===void 0)return;let o=Object.keys(i);for(let a=0,s=o.length;a<s;++a)k0(e,i[o[a]])}function pc(e,t,r,n){let i=0;if(t!==void 0){let o=t.val;if(o!==void 0){let a=Ji(o);return a.t=!0,a.s=r,a.e=r,mr(a)}i=1}else i=1;if(i===1){if(Pi in r){let c=bo(e,r,r);return c.prev=void 0,c.p=e,c.v=Kp,c.io=!0,mr(c)}let o=t===void 0?wo(r):r,a=As(e,o);a.e=o,a.io=!0,a.prev=void 0,a.p=e,a.v=Kp;let s=o.flattened,l=o.items,d=0,u=0;if(l!==void 0&&(t!==void 0||typeof o.additionalItems!==Ir))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=ua(e.g,p);Ei(a,p,pc(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!==Ir)){if(s!==void 0&&t!==void 0){let p=t.flattened;p!==void 0&&p.forEach((m,h)=>{let g=pc(e,m,Bi(s[h]),n).d,b=Object.keys(g);for(let y=0,v=b.length;y<v;++y){let S=b[y];Ei(a,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 a.d)){let _;if(t!==void 0){let b=t.properties;_=b!==void 0?b[h]:void 0}else _=void 0;let g=ua(e.g,h);Ei(a,h,pc(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;tz(e,"Missing input for "+kr(r)+p)}return Os(a)}}function Jw(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 Sc(e,t){if(typeof e!==Ir||e===null)return uh(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=Sc(e[l],t);e[l]=u}let s=Er(Ki,!1);return s.items=e,s.additionalItems="strict",s.decoder=ad,s}let n=e.constructor;if(n&&n!==Object){let s=Er(th,!0);return s.class=n,s.const=e,s.decoder=Ts,s}let i=Object.keys(e),o=i.length;for(let s=0;s<o;++s){let l=i[s],d=Sc(e[l],t);e[l]=d}let a=Er(Ir,!1);return a.required=i,a.properties=e,a.additionalItems=Yl.a,a.decoder=Ps,a}function hz(e){let t={};k0(t,e);let r=e.e.to,n=pc(e,t,r,"");return n.t=!0,n.prev=e,n}function Tc(e){return Sc(e,t=>{if(t["~standard"])return t})}function x0(e){let t=this,r="~"+e,n=t[r];if(n!==void 0)return ue(n);let i={},o=[],a=Er(Ir,!1);a.required=o,a.properties=i,a.additionalItems=Yl.a,a.decoder=Ps;let s=t.f(e,a)[eh],l=(p,m)=>{let h=Cs(p);if(p in i)throw new Error("[Sury] "+("The field "+h+" defined twice"));return o.push(p),i[p]=m,td(m,s.from.concat(p),s.fromFlattened)},f={field:l,f:l,fieldOr:(p,m,h)=>{let _=xc(m,void 0);return l(p,v0(_,{TAG:"Value",_0:h}))},tag:(p,m)=>{l(p,Tc(m))},nested:x0,flatten:p=>{if(p.type==="object"){let _=p.to,g=p.properties;if(_){let v="Unsupported nested flatten for transformed object schema "+kr(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 "+kr(p)+" schema";throw new Error("[Sury] "+h)}};return t[r]=f,f}function T0(e){let t=ui(Sc(e,pz));return t.serializer=hz,t}function A0(e){let t=e.e.flattened;if(t!==void 0){let i=[];for(let o=0,a=t.length;o<a;++o){let s=t[o],l=s.to,d;if(l!==void 0){let u=Ji(e);u.e=s,u.io=!0,d=mr(u)}else{let u=S0(e,s,(c,f)=>ed(e,c));u.e=s,u.prev=void 0,d=Ql(u,u)}i.push(d),e.cp=e.cp+Ci(d,void 0)}e.fv=i}let r=e.e.to,n=w0(e,r);return n.t=!0,n.prev=e,Ql(n,e)}function O0(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 td(u,wc,h.push(u)-1|0)}let f="The '"+kr(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,td(c,[u],void 0)},l=e({field:i,f:i,fieldOr:(u,c,f)=>{let p=xc(c,void 0);return i(u,v0(p,{TAG:"Value",_0:f}))},tag:(u,c)=>{i(u,Tc(c))},nested:x0,flatten:n}),d=Er(Ir,!1);return d.required=Object.keys(r),d.properties=r,d.additionalItems=Yl.a,d.decoder=Ps,d.parser=A0,d.to=T0(l),t!==void 0&&(d.flattened=t),d}function C0(e){let t=[],r=(s,l)=>{let d=s.toString();if(t[s])throw new Error("[Sury] "+("The item ["+d+"] is defined multiple times"));return t[s]=l,td(l,[s.toString()],void 0)},o=e({item:r,tag:(s,l)=>{r(s,Tc(l))}});for(let s=0,l=t.length;s<l;++s)t[s]||(t[s]=ma());let a=Er(Ki,!1);return a.items=t,a.additionalItems="strict",a.decoder=ad,a.parser=A0,a.to=T0(o),a}var _z=Tc;function E0(e){return ko(e.map(_z))}function P0(e){return xc(e,b0())}var R0=ko;var At=Es(),I0=dh();var Rs=lh();var $0=hn();var M0=rh;var Ac=sd;var pr=fh;var ph=P0;var j0=R0,Oc=E0;var Yi=y0;var z0=g0;var En=O0;var N0=C0;function yz(e){return{path:e.path,summary:e.message}}function we(e){return{path:"",summary:e}}function Is(e,t){try{return{TAG:"Ok",_0:z0(e,t)}}catch(r){let n=ee(r);if(n.RE_EXN_ID===M0)return{TAG:"Error",_0:yz(n._1)};throw n}}import*as dd from"node:fs";import*as q0 from"node:os";import*as Cc from"node:path";var bz="--api-url must be ws://, wss://, http://, or https://";function on(e){let t=Ln(e);if(t===void 0)return{TAG:"Error",_0:"invalid URL: "+e};let r=ue(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:bz}}return wt(i,()=>{r.pathname="",r.search="",r.hash="";let o=r.toString();return o.endsWith("/")?o.slice(0,o.length-1|0):o})}var $s="wss://serve.linzumi.com";function ud(){return Cc.join(q0.homedir(),".linzumi","auth.json")}var G0="Kandan auth cache must contain a JSON object",vz="Kandan auth cache local_codex_runner must be an object",Sz="Kandan auth cache personal_agent_delegation must be an object";function F0(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 L0(e){let t;try{t=JSON.parse(e)}catch{t=void 0}if(t===void 0)return{TAG:"Error",_0:we(G0)};if(typeof t!="object"||t===null||Array.isArray(t))return{TAG:"Error",_0:we(G0)};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:we(vz)};if(!o)return{TAG:"Error",_0:we(Sz)};let a;return a=typeof r=="object"&&r!==null&&!Array.isArray(r)?Object.fromEntries(ze(Object.entries(r),s=>{let l=s[0];return G(F0(s[1]),d=>[l,d])})):void 0,{TAG:"Ok",_0:{serverTokens:a,personalAgentDelegation:k(n,F0)}}}function U0(e){return dd.existsSync(e)?he($t(Xt(e),t=>we(t.message)),t=>wt(L0(t),r=>r)):{TAG:"Ok",_0:void 0}}function Z0(e,t){return e!==void 0?new Date(e).getTime()<=t:!1}function Ec(e,t,r){return dd.existsSync(t)?he(U0(t),n=>wt($t(on(e),we),i=>k(k(k(n,o=>o.serverTokens),o=>o[i]),o=>{if(!(o.accessToken.trim()===""||Z0(o.expiresAt,r)))return{accessToken:o.accessToken,serverBaseUrl:i,issuedAt:o.issuedAt,expiresAt:o.expiresAt}}))):{TAG:"Ok",_0:void 0}}function wz(e){return"missing personal-agent delegation auth file: "+e}var kz="personal-agent delegation auth file is missing access_token",xz="personal-agent delegation auth file token is expired";function W0(e,t){return dd.existsSync(e)?he(U0(e),r=>{let n=k(r,i=>i.personalAgentDelegation);return n!==void 0&&n.accessToken.trim()!==""?Z0(n.expiresAt,t)?{TAG:"Error",_0:we(xz)}:{TAG:"Ok",_0:n}:{TAG:"Error",_0:we(kz)}}):{TAG:"Error",_0:we(wz(e))}}function D0(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 Tz(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],D0(i[1])])));let n=e.personalAgentDelegation;return n!==void 0&&(t.personal_agent_delegation=D0(n)),t}function Pc(e,t,r,n,i){return he($t(on(e),we),o=>{let a=dd.existsSync(n)?he($t(Xt(n),s=>we(s.message)),L0):{TAG:"Ok",_0:{serverTokens:void 0,personalAgentDelegation:void 0}};return he(a,s=>{let l=i.toISOString(),d=G(r,g=>new Date(i.getTime()+g*1e3).toISOString()),u={accessToken:t,issuedAt:l,expiresAt:d},c=s.serverTokens,f=c!==void 0?Object.fromEntries(Object.entries(c)):{};f[o]=u;let p=Tz({serverTokens:f,personalAgentDelegation:s.personalAgentDelegation}),m=JSON.stringify(p,void 0,2)+`
109
- `,h=n+".tmp."+process.pid.toString()+"."+oc(6),_=g=>we(g.message);return he($t(qt(Cc.dirname(n)),_),()=>{let g=he(yo(h,m,{encoding:"utf8",mode:384}),()=>li(h,n));return g.TAG==="Ok"?{TAG:"Ok",_0:{accessToken:t,serverBaseUrl:o,issuedAt:l,expiresAt:d}}:(pn(h),{TAG:"Error",_0:we(g._0.message)})})})})}function _h(e){let t=vr(e);return t!==void 0?x(Cr(ue(t)),"unknown error"):"unknown error"}async function pa(e,t){try{return{TAG:"Ok",_0:await fetch(e,t)}}catch(r){let n=ee(r);return{TAG:"Error",_0:{message:_h(n)}}}}async function Az(e){try{return{TAG:"Ok",_0:await e.text()}}catch(t){let r=ee(t);return{TAG:"Error",_0:{message:_h(r)}}}}async function cd(e){let t=await Az(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};try{return{TAG:"Ok",_0:JSON.parse(t._0)}}catch(r){let n=ee(r);return{TAG:"Error",_0:{message:_h(n)}}}}function Oz(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}async function Ms(e,t,r,n,i){let o=i!==void 0?i:[],a=$t(on(e),we);if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};let s=Hi("/api/v2/local-codex-runner/oauth/validate",a._0);if(s.TAG!=="Ok")return{TAG:"Error",_0:we(s._0)};let l=s._0,d=l.searchParams;r!==void 0&&d.set("workspace",r),n!==void 0&&d.set("channel",n),o.forEach(m=>{d.append("required_scope",m)});let u={};u.authorization="Bearer "+t;let c=await pa(l.toString(),{method:"GET",headers:u});if(c.TAG!=="Ok")return{TAG:"Error",_0:we(c._0.message)};let f=c._0,p=f.status;if(p>404||p<401){if(p===200){let m=await cd(f);return m.TAG!=="Ok"?{TAG:"Error",_0:we(m._0.message)}:k(Oz(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:we("local runner auth validation failed with HTTP "+p.toString())}}import*as fk from"node:os";import*as Mc from"node:fs";import*as wh from"node:os";import*as Fr from"node:path";import*as kh from"node:crypto";function ke(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function Qi(e){if(Array.isArray(e))return e}function xr(e){if(typeof e!="string")return;let t=e.trim();if(t!=="")return t}function Ot(e){return isFinite(e)?Math.trunc(e)===e:!1}function ha(e){if(typeof e=="number"&&Ot(e))return e}function Rc(e){return Array.isArray(e)?ze(e,xr):[]}function _a(e){try{return ke(JSON.parse(e))}catch{return}}var Cz=new RegExp("^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","i"),Ez=new RegExp("^[a-zA-Z0-9_.-]+$");function bh(e){return Cz.test(e)}function $c(e){return Ez.test(e)}var Pz=Yi(At,e=>e.trim()!=="","allowedCwds entries must be non-empty strings",void 0);function B0(e){return{version:1,machineId:e.f("machineId",pr(Yi(At,bh,"invalid machine id",void 0))),runnerId:e.f("runnerId",pr(Yi(At,$c,"invalid runner id",void 0))),allowedCwds:e.f("allowedCwds",Ac(Pz))}}var Rz=En(B0),Iz=En(e=>(e.tag("version",1),B0(e)));function fd(e){let t=new Set;return ze(e,r=>{let n=r.trim();if(!(n===""||t.has(n)))return t.add(n),n})}function K0(e){return{version:e.version,machineId:e.machineId,runnerId:e.runnerId,allowedCwds:fd(e.allowedCwds)}}function vh(e){return wt(Is(e,Iz),K0)}function J0(e){return wt(Is(e,Rz),K0)}var Ic=pr(Yi(At,e=>e.trim()!=="","must be a non-empty string",void 0)),V0=pr(Yi(Rs,e=>Ot(e)?e>0:!1,"must be a positive integer",void 0));function $z(e){return!Number.isNaN(new Date(e).getTime())}var H0=Yi(At,$z,"must be a parseable date",void 0),_8=En(e=>({email:e.f("email",Yi(At,t=>t.trim()!=="","must be a non-empty string",void 0)),serviceUrl:e.f("service_url",Yi(At,t=>t.trim()!=="","must be a non-empty string",void 0)),accessToken:e.f("access_token",Ic),refreshToken:e.f("refresh_token",Ic),expiresInSeconds:e.f("expires_in_seconds",V0),userId:e.f("user_id",V0),workspaceSlug:e.f("workspace_slug",Ic),launchUrl:e.f("launch_url",Ic),createdAt:e.f("created_at",H0),updatedAt:e.f("updated_at",H0)}));var Ri="prod";function Y0(e){let t=e!==void 0?e:process.env,r=oa(t,"HOME");return r!==void 0&&r.trim()!==""?r:wh.homedir()}function js(e,t){let r=e!==void 0?e:process.env;return t==="~"?Y0(r):t.startsWith("~/")?Fr.resolve(Y0(r),t.slice(2)):t}function jc(e){let t=oa(e,"LINZUMI_CONFIG_FILE");return t!==void 0&&t.trim()!==""?Fr.resolve(js(e,t)):Fr.resolve(wh.homedir(),".linzumi","config.json")}function md(e){let t=on(e),r=on($s);if(t.TAG!=="Ok")return{TAG:"Error",_0:we(t._0)};let n=t._0;return r.TAG==="Ok"?{TAG:"Ok",_0:n===r._0?Ri:n}:{TAG:"Error",_0:we(r._0)}}function jz(e){return wt(md(e),t=>t===Ri?Ri:Buffer.from(t).toString("base64url"))}function zz(e,t,r){let n=Fr.dirname(e),i=Fr.basename(e);return t!==void 0?he(md(t),o=>o===Ri?{TAG:"Ok",_0:Fr.join(n,i+"."+r)}:wt(jz(t),a=>Fr.join(n,i+"."+a+"."+r))):{TAG:"Ok",_0:Fr.join(n,i+"."+r)}}function Q0(e){if(Mc.existsSync(e))return he($t(Xt(e),r=>we(r.message)),r=>{let n;try{n=JSON.parse(r)}catch{n=void 0}return typeof n=="object"&&n!==null&&!Array.isArray(n)?vh(n).TAG==="Ok"?{TAG:"Ok",_0:n}:{TAG:"Error",_0:we("invalid Linzumi config: "+e)}:{TAG:"Error",_0:we("invalid Linzumi config: "+e)}});let t={};return t.version=1,t.allowedCwds=[],{TAG:"Ok",_0:t}}function Nz(){let e={};return e.allowedCwds=[],e}function Sh(e,t){return he(Q0(e),r=>{let n=t!==void 0?md(t):{TAG:"Ok",_0:Ri};return he(n,i=>{let o=i===Ri?r:x(r[i],Nz()),a=i===Ri?vh(o):J0(o);return $t(a,s=>we("invalid Linzumi config section "+i+": "+e))})})}function Gz(e,t){let r=i=>we(i.message),n=Mc.existsSync(e)?$t(ps(e,384),r):{TAG:"Ok",_0:void 0};return he(he(n,()=>$t(yo(e,JSON.stringify(t,void 0,2)+`
110
- `,{encoding:"utf8",mode:384}),r)),()=>$t(ps(e,384),r))}function Fz(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=fd(e.allowedCwds).map(i=>i),t}function Dz(e){let t=e.version===1,r=e.machineId,n=r!==void 0?bh(r):!0,i=e.runnerId,o=i!==void 0?$c(i):!0,a=e.allowedCwds.every(s=>s.trim()!=="");return t&&n&&o&&a?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:we("invalid Linzumi config")}}function qz(e,t,r){return he(Dz(e),()=>{let n=r!==void 0?md(r):{TAG:"Ok",_0:Ri};return he(n,i=>he(Q0(t),o=>{let a=Object.fromEntries(Object.entries(o)),s=Fz(e);return i===Ri?(Object.entries(s).forEach(l=>{a[l[0]]=l[1]}),a.version=1):(a.version=1,a[i]=s),he($t(qt(Fr.dirname(t)),l=>we(l.message)),()=>Gz(t,a))}))})}function X0(e,t,r){return he($t(Xt(e),n=>we(n.message)),n=>{let i=n.trim();return t(i)?{TAG:"Ok",_0:i}:{TAG:"Error",_0:we("invalid Linzumi "+r+" seed: "+e)}})}function Lz(e,t,r,n){if(Mc.existsSync(e))return X0(e,r,n);let i=t();if(!r(i))return{TAG:"Error",_0:we("invalid generated Linzumi "+n+": "+i)};let o=Fr.dirname(e),a=Fr.basename(e),s=Fr.join(o,"."+a+"."+process.pid.toString()+"."+kh.randomUUID()+".tmp"),l=d=>we(d.message);return he(he($t(qt(o),l),()=>$t(yo(s,i+`
111
- `,{encoding:"utf8",flag:"wx"}),l)),()=>{let d=Iw(s,e),u;if(d.TAG==="Ok")u={TAG:"Ok",_0:i};else{let c=d._0;u=si(c,"EEXIST")?X0(e,r,n):{TAG:"Error",_0:we(c.message)}}return $w(s),u})}function Uz(){return"runner-"+kh.randomUUID()}function Zz(e,t,r,n,i,o,a,s){let l=t!==void 0?wt(md(t),d=>{if(d!==Ri)return t}):{TAG:"Ok",_0:void 0};return he(l,d=>he(Sh(e,d),u=>{let c=a(u);return c!==void 0?{TAG:"Ok",_0:c}:he(zz(e,d,r),f=>he(Lz(f,n,i,o),p=>he(Sh(e,d),m=>{let h=a(m);return h!==void 0?{TAG:"Ok",_0:h}:wt(qz(s(m,p),e,d),()=>p)})))}))}function zc(e,t,r){return Zz(e,t,"runner-id",r!==void 0?r:Uz,$c,"runner id",i=>i.runnerId,(i,o)=>({version:i.version,machineId:i.machineId,runnerId:o,allowedCwds:i.allowedCwds}))}var Wz=["ENOENT","ENOTDIR","EACCES","ELOOP","EIO"];function Vz(e){let t=e.code;return t!==void 0?Wz.includes(t):!1}function ek(e,t){return he(Sh(e,t),r=>{let n=[],i=[],o={contents:void 0};r.allowedCwds.forEach(s=>{if(o.contents!==void 0)return;let d=Fr.resolve(js(void 0,s)),u=Dn(d);if(u.TAG==="Ok"){let f=u._0;if(n.push(f),f===d)return;n.push(d);return}let c=u._0;Vz(c)?i.push(d):o.contents=we(c.message)});let a=o.contents;return a!==void 0?{TAG:"Error",_0:a}:{TAG:"Ok",_0:{allowedCwds:fd(n),missingAllowedCwds:fd(i)}}})}function rk(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e.error;if(typeof t=="string")return t}function nk(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 zs(e,t){let r=e[t];if(r!==void 0&&typeof r=="string"&&r.trim()!=="")return r}async function ik(e,t,r,n,i){let o=Hi("/api/v2/local-codex-runner/device/start",e);if(o.TAG!=="Ok")return{TAG:"Error",_0:we(o._0)};let a={},s=(_,g)=>{if(g!==void 0){a[_]=g;return}};s("workspace",t),s("channel",r),s("onboarding",n),i!==void 0&&(s("runner_id",i.commanderId),s("machine_fingerprint",i.machineFingerprint),s("hostname",i.hostname));let l={};l["content-type"]="application/json";let d=await pa(o._0.toString(),{method:"POST",headers:l,body:JSON.stringify(a)});if(d.TAG!=="Ok")return{TAG:"Error",_0:we(d._0.message)};let u=d._0,c=u.status,f=await cd(u);if(f.TAG!=="Ok")return{TAG:"Error",_0:we(f._0.message)};let p=f._0;if(c>=200&&c<300){if(Array.isArray(p))return{TAG:"Error",_0:we("local runner device authorization response was incomplete")};if(p!==null)switch(typeof p){case"object":let _=zs(p,"device_code"),g=zs(p,"user_code"),b=zs(p,"verification_uri");if(_===void 0)return{TAG:"Error",_0:we("local runner device authorization response was incomplete")};if(g===void 0)return{TAG:"Error",_0:we("local runner device authorization response was incomplete")};if(b===void 0)return{TAG:"Error",_0:we("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=rk(p);return{TAG:"Error",_0:we(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 Hz(e,t,r){let n=new AbortController,i=setTimeout(()=>{n.abort()},r+1e4|0),o={};o.device_code=t,o.wait_ms=r;let a={};a["content-type"]="application/json";let s=Hi("/api/v2/local-codex-runner/device/token",e),l;if(l=s.TAG==="Ok"?await pa(s._0.toString(),{method:"POST",headers:a,body:JSON.stringify(o),signal:We(n.signal)}):{TAG:"Error",_0:{message:s._0}},l.TAG==="Ok"){let d=l._0,u=d.status,c=await cd(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=rk(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=zs(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:zs(f,"workspace"),channelSlug:zs(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 ok(e,t,r,n){let i=n!==void 0?n:()=>Date.now(),o=r!==void 0&&r>=0?r:600,a=i()+o*1e3,s=async()=>{if(i()>=a)return"CodeExpired";let l=Math.max(0,Math.min(3e4,a-i())),d=await Hz(e,t,l);return typeof d!="object"?await s():d._0};return await s()}var Kz=3600*1e3;function Jz(e,t,r,n){return e<=3?"DecidePrompt":r!==void 0&&t-r<Kz?n?"DecideRefreshLine":"DecideSilent":"DecideSummary"}function ak(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 Yz(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).
108
+ - `+(m===""?"":"At "+m+": ")+p;d[_]||(d[_]=1,s=s+_)}}let l={code:"invalid_input",path:r,reason:s,expected:e,received:t,unionErrors:o};return i&&(l.input=n),l}function ah(e,t,r,n){return i=>{let o=t!==void 0?t:"",a=n!==void 0?n:!0,s=e!==void 0?e:i.e,l=i.prev,d=l!==void 0?l.s:i.s,u=o===""?i.path:i.path+o;return c=>t0(s,d,u,c,a,void 0,r)}}function zr(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 ah(void 0,void 0,r,void 0)(e)}function r0(e,t){let r=t!==void 0?t:e.e;return Xl(e,ah(r,void 0,void 0,void 0)(e),e.v())}function az(e,t){let r=e.vc,n=r.length;if(n===1){let a=r[0];return a.c(t)+"||"+Xl(e,a.f(e),t)+";"}let i="",o=0;for(;o<n;){let a=r[o],s=a.f,l=a.c(t);for(o=o+1|0;o<n&&r[o].f===s;)l=l+"&&"+r[o].c(t),o=o+1|0;i=i+(l+"||"+Xl(e,s(e),t)+";")}return i}function n0(e){return e.t===!0?e.prev.t!==!0?e.cp==="":!1:!0}function Ci(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&&n0(i)){let s=r.v(),l=i.vc,d="";for(let u=0,c=l.length;u<c;++u){let f=l[u],p=f.c(s);f.f===zr?d=d?d+"&&"+p:p:i.e.noValidation!==!0&&(o=o+(p+"||"+Xl(i,f.f(i),s)+";"))}d&&(t.contents?t.contents=d+"&&"+t.contents:t.contents=d)}else i.e.noValidation!==!0&&(o=az(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:yc,i:t,s:r,e:i,prev:e,f:0,d:e.d,cp:"",hd:"",t:!0,path:e.path,g:e.g}}function kt(e,t,r,n){let i=t!==void 0?t:e.s,o=n!==void 0?n:e.e,a=e.v!==Br,s={v:a?nz:Br,i:e.i,s:i,e:o,prev:e,f:e.f,d:e.d,cp:"",hd:"",vc:r,t:e.t,path:e.path,g:e.g};if(a){let l=e.v.bind(e);e.v=()=>{let d=l();return s.i=d,s.v=Br,d}}return s}function sh(e,t){let r=e.vc;r!==void 0?r.push(t):e.vc=[t]}function Ql(e,t){let r=t.e.inputRefiner,n;if(r!==void 0){let s=r(t);if(s.length!==0)if(t.prev!==void 0){for(let d=0,u=s.length;d<u;++d)sh(t,s[d]);n=void 0}else n=s;else n=void 0}else n=void 0;let i=e.e.refiner,o;if(i!==void 0){let s=i(e);o=s.length!==0?s:void 0}else o=void 0;let a=n!==void 0?o!==void 0?kt(e,void 0,n.concat(o),void 0):kt(e,void 0,n,void 0):o!==void 0?kt(e,void 0,o,void 0):e;return a.io=!0,a}function i0(e,t,r){if(!t.vc)return;let i="["+ua(e.g,r)+"]";t.vc.forEach(o=>sh(e,{c:a=>o.c(a+i),f:o.f})),t.vc=void 0}function o0(e,t){let r=e.s.additionalItems,n;n=r!==void 0&&r!=="strip"&&r!=="strict"?r:er;let i=e.e.additionalItems,o;return o=i!==void 0&&i!=="strip"&&i!=="strict"?i:er,{p:e,v:iz,i:e.v()+"["+t+"]",s:n,e:o,f:e.f,cp:"",hd:"",path:"",g:e.g}}function bo(e,t,r){return Wn(e,id(e,t),t,r)}function a0(e,t){let r=Wn(e,t,e.s,void 0);return r.f=1,r}function Ei(e,t,r){e.s.type===Ki?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+Ci(r,void 0),e.d[t]=r}function s0(e,t,r){return e.v()+"["+t+"]="+r.i}function Ji(e){let t=e.v!==Br,r={b:e,v:t?rz:Br,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=Br,i}}return r}function sz(e,t){throw new da({code:"invalid_operation",path:e.path,reason:t})}function lh(e,t,r,n){if(e.path===""&&r===void 0)return Ci(e,void 0);{let i=l=>{let d=t.path,u=d===""?"":Cs(d)+"+";return l+".path="+u+(r!==void 0?`'["'+`+r+`+'"]'+`:"")+l+".path"},o=Ci(e,void 0);if(o===""&&!(e.f&1))return o+(n!==void 0?n():"");let a=_n(e.g),s=i(a)+";throw "+a;return e.f&1&&(e.i=e.i+".catch("+a+"=>{"+s+"})"),"try{"+o+(n!==void 0?n():"")+"}catch("+a+"){"+s+"}"}}function l0(e){return e}l0.embedded=wc;function Zp(e){return e+"<=2147483647&&"+e+">=-2147483648&&"+e+"%1===0"}function xs(e){return t=>"typeof "+t+'==="'+e+'"'}function vs(e){return"Number.isNaN("+e+")"}function bc(e){return"Array.isArray("+e+")"}function d0(e){return xs(Ir)(e)+"&&"+e}function lz(e,t){return r=>r+" instanceof "+Oi(e,t)}function dz(e){let t=tr[e.s.type];if(t&1){let i=[{c:xs(vo),f:zr}],o=e.e.format,a=0;return o==="int32"?i.push({c:Zp,f:zr}):a=1,a===1&&(e.g.o&2||i.push({c:s=>"!"+vs(s),f:zr})),kt(e,e.e,i,void 0)}if(!(t&2))return t&4?e.s.format!==e.e.format&&e.e.format==="int32"?kt(e,e.e,[{c:Zp,f:zr}],void 0):e:fa(e,e.s,e.e);let r=_n(e.g),n=Wn(e,r,e.e,void 0);return n.v=Br,n.cp="let "+r+"=+"+e.v()+";",n.vc=[{c:i=>{let o=e.e.format;return o!==void 0&&o==="int32"?Zp(r):"!"+vs(r)},f:zr}],n}function dh(){return xo(vo,vo,e=>{e.decoder=dz})}function uz(e){return Wn(e,'""+'+e.i,Es(),void 0)}function cz(e){let t=tr[e.s.type];if(t&1)return kt(e,e.e,[{c:xs(Ss),f:zr}],void 0);if(!(t&3132&&Pi in e.s))return t&1036?uz(e):t&2?e:fa(e,e.s,e.e);let r=""+e.s.const,n=Pr(Ss,!1);return n.const=r,Wn(e,'"'+r+'"',n,void 0)}function Es(){return xo(Ss,Ss,e=>{e.decoder=cz})}function fz(e){let t=tr[e.s.type];if(t&1)return kt(e,e.e,[{c:xs(hc),f:zr}],void 0);if(!(t&2))return t&8?e:fa(e,e.s,e.e);let r=_n(e.g),n=Wn(e,r,e.e,void 0);n.v=Br;let i=e.v();return n.cp="let "+r+";("+n.i+"="+i+'==="true")||'+i+'==="false"||'+r0(e,void 0)+";",n}function uh(){return xo(hc,hc,e=>{e.decoder=fz})}function u0(e,t){e[tr[t]&768?rd:t]=!0}var sa="JSON";function Ts(e){let t=e.e;if(t.noValidation&&!e.u)return bo(e,t,void 0);if(Pi in e.s)return e.s.const===t.const?e:bo(e,t,void 0);let r=tr[t.type];if(!(tr[e.s.type]&2&&r&3132))return r&2048?kt(e,t,[{c:vs,f:zr}],void 0):kt(e,t,[{c:o=>o+"==="+id(e,t),f:zr}],void 0);let n=Pr(Ss,!1);n.const=""+t.const;let i=bo(e,n,n);return i.vc=[{c:o=>o+'==="'+n.const+'"',f:zr}],bo(i,t,t)}function ma(){return xo(Un,Un,e=>{e.const=void 0,e.decoder=Ts})}function od(){return xo(ws,ws,e=>{e.const=null,e.decoder=Ts})}function c0(){return xo(Hp,Hp,e=>{e.const=NaN,e.decoder=Ts})}function ch(e){if(e===null)return od();let t=typeof e;if(t===Un)return ma();if(t===vo&&Number.isNaN(e))return c0();if(t===Ir){let n=Pr(rh,!0);return n.class=e.constructor,n.const=e,n.decoder=Ts,n}let r=Pr(t,!0);return r.const=e,r.decoder=Ts,r}function pr(e){let t=e,r,n=0;for(;!t.io||t.e.to;){let i=r;r=void 0;let o=t;if(n=n+1|0,n>50)throw new Error("Loop count exceeded 100");if(o.e.$defs&&(o.g.d?Object.assign(o.g.d,o.e.$defs):o.g.d=o.e.$defs),o.f&1){let a=o.v(),s=Ji(o),l=pr(s),d=Ci(l,void 0);t=s.i!==l.i||d!==""?Wn(o,a+".then("+a+"=>{"+d+"return "+l.i+"})",l.s,l.e):kt(o,l.s,void 0,l.e),t.f=t.f|1,t.io=!0}else if(o.io){let a=o.e.to,l=o.e.parser;t=l!==void 0?l(o):kt(t,void 0,void 0,a)}else{let a=o.s.encoder;a&&a!==i&&o.s!==o.e&&o.e.type!==rd&&(t=a(o,o.e)),o!==t?r=a:(t=o.e.decoder(o),t.io||(t=Ql(t,t)))}}return t}function wo(e){for(;;){let t=e,r=t.to;if(r===void 0)return t;e=r}}function Bi(e){if(la in e)return e[la];let t,r=e;for(;r;){let i=ui(r),o=i.to,a=t;a!==void 0?i.to=a:delete i.to;let s=i.parser,l=i.serializer;l!==void 0?i.parser=l:delete i.parser,s!==void 0?i.serializer=s:delete i.serializer;let d=i.refiner,u=i.inputRefiner;u!==void 0?i.refiner=u:delete i.refiner,d!==void 0?i.inputRefiner=d:delete i.inputRefiner;let c=i.fromDefault,f=i.default;f!==void 0?i.fromDefault=f:delete i.fromDefault,c!==void 0?i.default=c:delete i.default;let p=i.items;p!==void 0&&(i.items=p.map(Bi));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]=Bi(m[S])}i.properties=g}typeof i.additionalItems===Ir&&(i.additionalItems=Bi(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=Bi(S);b.push(A),u0(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]=Bi(_[v])}i.$defs=g}t=i,r=o}let n=t;return Ai[ks]=n,Cn(e,la,Ai),Ai[ks]=e,Cn(n,la,Ai),n}function f0(e){try{return pr(e)}catch(t){let r=kc(t),n=e.p;throw r.path=(n!==void 0?n.path:"")+(e.path+"[]"+r.path),r}}function m0(e,t,r,n){let i=oz(Pi in e?er:e,t,r,n),o=pr(i),a=Ci(o,void 0),s=tz(o.f,1);t.isAsync=s;let l=o.t===!0;if(t.hasTransform=l,a===""&&(o===i||o.i===i.i)&&!(r&1))return l0;let d=o.i;r&1&&!s&&!n&&(d="Promise.resolve("+d+")");let u="i=>{"+a+"return "+d+"}",c=i.g.e,f=new Function("e","s","return "+u)(c,eh);return f.embedded=i.g.e,f}function vc(e,t){let r=arguments,n=0,i,o="",a=0,s;for(;i===void 0;){let d=r[n];if(d)if(typeof d===vo){let u=d|Yl.f;i=u,o=o+"-"+u}else{let u=d.seq;u>a&&(a=u,s=d),o=o+u+"-",n=n+1|0}else{let u=Yl.f;i=u,o=o+"-"+u}}let l=s;if(l!==void 0){let d=o;if(d in l)return l[d];let u=r[n-1|0];for(let f=n-2|0;f>=0;--f){let p=u;u=So(r[f],m=>{m.to=p})}let c=m0(u,u,i,0);return Ai[ks]=c,Cn(l,d,Ai),c}throw new Error("[Sury] No schema provided for decoder.")}var ca="BS_PRIVATE_NESTED_SOME_NONE";function mz(e){let t=kt(e,void 0,void 0,fh());return t.cp=r0(e,void 0)+";",t}function fh(){return xo(Bp,Bp,e=>{e.decoder=mz})}function pz(e){let t=e.e.to;return Wn(e,"{"+ca+":"+wo(e.e).properties[ca].const+"}",t,t)}function As(e,t){return{v:yc,i:"",s:t.type===Ki?{type:Ki,decoder:ad,additionalItems:"strict",items:[]}:{type:Ir,decoder:Ps,additionalItems:"strict",required:[],properties:{}},e:e.e,prev:e,f:0,d:{},cp:"",hd:"",t:!0,path:e.path,g:e.g}}function mh(e){return xc(e,ma())}function Ps(e){let t=e.u,r=e.e,n=tr[e.s.type],i;if(n&65){let u=n&64,c;if(u)c=e.s;else{let p=Pr(Ir,!1);p.properties=Xp,p.additionalItems=er,c=p}let f=[];u||(f.push({c:d0,f:zr}),r.additionalItems!=="strip"&&f.push({c:p=>"!"+bc(p),f:zr})),i=f.length!==0?kt(e,c,f,void 0):kt(e,c,void 0,void 0)}else i=fa(e,e.s,r);let o=r.additionalItems,a;a=o==="strip"||o==="strict"?void 0:o;let s=i.s.additionalItems,l;l=s!=="strip"&&s!=="strict";let d;if(a!==void 0)if(a===er)d=i;else if(l){let u=i.v(),c=_n(i.g),f=o0(i,c),p=f0(f),m=p.t,h=m?Wn(i,"{}",r,void 0):kt(i,r,void 0,void 0),_=lh(p,i,c,m?()=>s0(h,c,p):void 0);if((m||_!=="")&&(h.cp=h.cp+("for(let "+c+" in "+u+"){"+_+"}")),p.f&1){let g=_n(h.g),b=_n(h.g),y=_n(h.g),v=_n(h.g),S=h.v();d=a0(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=As(i,r),c=Object.keys(i.s.properties);for(let f=0,p=c.length;f<p;++f){let m=c[f],h=ed(i,m);h.e=a,h.io=!1,h.u=t,Ei(u,m,pr(h))}d=Os(u)}else{let u=r.properties,c=Object.keys(u),f=c.length,p=As(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===sa;for(let y=0;y<f;++y){let v=c[y],S=u[v],A=ed(i,v);A.e=S,A.io=!1,A.u=t,g&&S.type===di&&S.has[Un]&&(A.i="("+A.i+"??null)");let R=pr(A);t&&Pi in S&&i0(i,R,v),Ei(p,v,R),h||(h=R.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=_n(p.g);if(gc(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+"!=="+ua(i.g,A))}else p.cp=p.cp+"true";p.cp=p.cp+("){"+Xl(i,v=>({code:"unrecognized_keys",path:p.path,reason:'Unrecognized key "'+v+'"',keys:[v]}),y)+"}}")}if(h)d=Os(p);else{let y=kt(i,void 0,void 0,void 0);y.cp=p.cp,y.d=p.d,d=y}}return Ql(d,i)}function hz(){let e=ch(0),t={};return t[ca]=e,{type:Ir,serializer:r=>{let n=r.e.to;return bo(r,n,n)},decoder:Ps,additionalItems:"strip",required:[ca],properties:t}}function ad(e){let t=e.u,r=e.e,n=tr[e.s.type],i=r.items,o=i.length,a;if(n&129){let u=n&128,c=u?e.s:sd(er),f=[];u||f.push({c:bc,f:zr});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:zr}):f.push({c:_=>_+".length==="+o,f:zr}))}a=f.length!==0?kt(e,c,f,void 0):kt(e,c,void 0,void 0)}else a=fa(e,e.s,r);let s=r.additionalItems,l,d=0;if(s==="strip"||s==="strict")d=1;else if(s===er)l=a;else{let u=a.v(),c=_n(a.g),f=o0(a,c),p=f0(f),m=p.t,h=m?Wn(a,"new Array("+u+".length)",r,void 0):kt(a,r,void 0,void 0),_=lh(p,a,c,m?()=>s0(h,c,p):void 0);(m||_!=="")&&(h.cp=h.cp+("for(let "+c+"="+o+";"+c+"<"+u+".length;++"+c+"){"+_+"}")),l=p.f&1?a0(h,"Promise.all("+h.i+")"):h}if(d===1){let u=As(a,r),c=r.additionalItems,f;if(c==="strip"||c==="strict")if(c==="strip"){let p=a.s.additionalItems;f=p==="strip"||p==="strict"?a.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(),_=ed(a,h);_.e=m,_.io=!1,_.u=t;let g=pr(_);t&&Pi in m&&i0(a,g,h),Ei(u,h,g),f||(f=g.t)}if(f)l=Os(u);else{let p=kt(a,void 0,void 0,void 0);p.cp=u.cp,p.d=u.d,l=p}}return Ql(l,a)}function _z(e,t){let r=e.s.anyOf;return t.type===di&&g0(t)===void 0&&h0(t.anyOf,r)||!gz(r,t)?e:_0(e,t)}function p0(e){let t=e.e,r=t.anyOf,n=tr[e.s.type],i=g0(t);if(e.s===t&&i===void 0&&r.every(mc)||n&256&&h0(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=er);let o="";if(!(n&769)){let Z=Vp(e.s),V=!1,M=!1,N=r.length,j=0;for(;o===""&&j<N;){let re=r[j];Vp(re)===Z?o=Z:re.type===ws?V=!0:re.type===Un&&(M=!0),j=j+1|0}o===""&&(n&16&&V?o=ws:n&32&&M&&(o=Un))}let a=o,s=e.i,l=Z=>Oi(e,function(){let V=arguments,M=t0(t,er,e.path,V[0],!0,V.length>1?Array.from(V).slice(1):void 0,void 0);throw new da(M)})+"("+e.v()+Z+")",d=kt(e,void 0,void 0,void 0),u=[],c={contents:""},f=(Z,V)=>{let M=Z[0],N=Z[1],j="",re="",se=!1,Ae={contents:""},Ue="",Ge={},ut=2,ze=Z.length-1|0;for(;ut<=ze;){let pt=Ji(N);pt.u=!0,pt.t=N.t,pt.io=!1,pt.e=Z[ut];let Xe=ut===ze,He=ut===2,It=He&&Xe,Cr=!It,Ut=!1,Qe="",q={contents:""};try{let _e=pr(pt);if(u.push(_e.s),Qe=Ci(_e,q),_e.t){d.t=!0,_e.f&1&&(d.f=d.f|1);let Be=M.v();_e.i!==Be&&(Qe=Qe+(Be+"="+_e.i))}}catch(_e){let Be=Oi(pt,kc(_e));Ue=Ue+","+Be,V&&It?(c.contents=Be,Ut=!0):Xe?(Cr=!1,Qe=V?"throw "+Be:l(Ue)):Ut=!0}let Ee=q.contents,ve=Qe;if(!Ut&&Ee)if(ve){let _e=Ge[Ee];_e!==void 0?typeof _e=="string"?Ge[Ee]=[_e,ve]:_e.push(ve):Ge[Ee]=ve}else Ae.contents=Ae.contents?Ae.contents+"||"+Ee:Ee;if(!Ut&&(!Ee||Xe)){let _e=Object.keys(Ge);for(let Be=0,Jt=_e.length;Be<Jt;++Be){let fn=_e[Be];j=j+(se?"else if":"if")+("("+fn+"){");let Fn=Ge[fn];if(typeof Fn=="string")j=j+Fn+"}";else{let ii="";for(let Vr=0,_o=Fn.length;Vr<_o;++Vr){let ra=Fn[Vr],tn="e"+Vr;j=j+("try{"+ra+"}catch("+tn+"){"),ii=ii+","+tn}j=j+l(ii)+"}".repeat(Fn.length)+"}"}se=!0}Ge={}}if(!Ut&&!Ee)if(ve)if(Ae.contents&&(j=j+(se?"else if":"if")+("(!("+Ae.contents+")){"),re="}"+re,Ae.contents="",se=!1),Xe&&(V||!Cr||He))j=j+((se?"else{":"")+ve),re=(se?"}":"")+re;else{let _e="e"+(ut-2|0);j=j+((se?"else{":"")+"try{"+ve+"}catch("+_e+"){"),re=(se?"}":"")+"}"+re,Ue=Ue+","+_e,se=!1}else Ae.contents="",ut=ze,Cr=!1;if(Xe){if(Ae.contents)j||Ue?j=j+(se?"else if":"if")+("(!("+Ae.contents+")){"+l(Ue)+"}"):sh(N,{c:_e=>"("+Ae.contents+")",f:zr});else if(Cr){let _e=l(Ue);j=j+(se?"else{"+_e+"}":_e)}}ut=ut+1}return j+re},p="",m="",h="",_=!1,g=r.length-1|0,b={},y=[],v=t.refiner,S=t.inputRefiner,A={contents:void 0},R={contents:void 0},W=(Z,V,M)=>{if(V===void 0)return Z;let N=j=>{let re=M.contents;if(re!==void 0)return re;let se=V(j);return M.contents=se,se};return Z!==void 0?j=>{let re=Z(j),se=N(j);for(let Ae=0,Ue=se.length;Ae<Ue;++Ae)re.push(se[Ae]);return re}:N},L=Z=>{let V=W(Z.refiner,v,A);V!==void 0&&(Z.refiner=V);let M=W(Z.inputRefiner,S,R);if(M!==void 0){Z.inputRefiner=M;return}},ae;if(Pi in e.s){let Z=[],V=[];for(let M=0;M<=g;++M){let N=r[M];Pi in N&&N.const===e.s.const?Z.push(N):V.push(N)}ae=Z.concat(V)}else ae=r;for(let Z=0;Z<=g;++Z){let V=i!==void 0?So(ae[Z],re=>{L(re),re.to=i}):ae[Z],M=V.type,N=tr[M],j=Vp(V);if((a===""||a===j)&&!(N&16&&"fromDefault"in t)){let re=b[j];if(re!==void 0)N&64&&ca in V.properties?re.splice(re.length-1|0,0,V):N&2096||re.push(V);else{let se=Ji(e),Ae;if(N&37633)Ae=er;else{let ze=Pr(V.type,!1);ze.encoder=V.encoder,N&8192?ze.class=V.class:N&64?(ze.properties=Xp,ze.additionalItems=er):N&128?(ze.additionalItems=er,ze.items=wc):N&2096&&(ze.const=V.const),ze.decoder=pt=>tr[pt.s.type]&1?kt(pt,pt.e,[{c:Xe=>{let He=tr[V.type];if(He&64)return d0(Xe)+"&&!"+bc(Xe);if(He&128)return bc(Xe);if(He&8192)return lz(pt,V.class)(Xe);if(!(He&4))return He&2048?vs(Xe):He&48?Xe+"==="+id(pt,V):He&17418?xs(V.type)(Xe):"";let It=xs(vo)(Xe);return pt.g.o&2?It:It+"&&!"+vs(Xe)},f:zr}],void 0):V.decoder(pt),Ae=ze}se.e=Ae;let Ue;try{Ue=pr(se)}catch{se.vc=void 0,Ue=se}Hw(N,b)?y.unshift(j):y.push(j),b[j]=[se,Ue,V];let Ge=!0,ut=Ue;for(;ut!==void 0&&Ge;){let ze=ut;ut=ze.prev,Ge=!(ze.vc&&n0(ze))}if(Ge){for(let ze=0,pt=y.length;ze<pt;++ze){let Xe=y[ze];if(!_){let He=b[Xe],It=He[1],Cr=f(He,!0),Ut=Ci(It,void 0)+Cr,Qe=c.contents;if(Qe)if(c.contents="",Ut){let q="e"+(Z+ze|0);p=p+("try{"+Ut+"throw "+Qe+"}catch("+q+"){"),m="}"+m,h=h+","+q}else h=h+","+Qe;else if(Ut){let q="e"+(Z+ze|0);p=p+("try{"+Ut+"}catch("+q+"){"),m="}"+m,h=h+","+q}else _=!0}}b={},y=[]}}}}let U=b,B=y;if(!_){let Z=!1,V="";for(let j=0,re=B.length;j<re;++j){let se=U[B[j]],Ae=se[1],Ue=se[2],Ge=f(se,!1),ut={contents:""},ze=Ci(Ae,ut)+Ge,pt=ut.contents;ze||Hw(tr[Ue.type],U)?(p=p+(Z?"else if":"if")+("("+pt+"){"+ze+"}"),Z=!0):V=V?V+"||"+pt:pt}let M=l(h),N;V?N=(Z?"else if":"if")+("(!("+V+")){"+M+"}"):N=Z?"else{"+M+"}":m===""?M+";":M,p=p+N}d.cp=d.cp+p+m,e.i!==d.i&&(d.i=e.i);let oe=d.f&1?(d.i="Promise.resolve("+d.i+")",d.v=yc,d):d.v===Br&&e.cp===""&&d.cp===""&&s==="i"?(e.hd="",e.v=yc,e.i=s,e):d;return oe.s=u.length?ko(u):fh(),oe.e=i!==void 0?(oe.io=!0,wo(i)):t,oe}function h0(e,t){return t.every((r,n)=>{let i=e[n];return i!==void 0&&!(tr[r.type]&9152)&&r.type===i.type&&r.const===i.const?r.to===void 0:!1})}function _0(e,t){return kt(e,er,void 0,So(e.s,r=>{r.to=t}))}function gz(e,t){return!(tr[wo(t).type]&512)&&!(t.type===di&&t.anyOf.some(r=>tr[r.type]&512))?!e.some(r=>r.to!==void 0||r.parser!==void 0?!0:tr[r.type]&512):!1}function g0(e){if(e.parser!==void 0)return;let r=e.to;if(r!==void 0)return r}function ed(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 Ji(i);let o=e.s.type===Ir?e.s.properties[t]:e.s.items[t],a;if(o!==void 0)a=o;else{let u=e.s.additionalItems;a=u==="strip"||u==="strict"?fa(e,e.s,e.e):e.s.type===Ir&&u.type!==rd&&!(tr[u.type]&512)&&!ez(u)?mh(u):u}let l="["+ua(e.g,t)+"]",d={p:e,v:Jp,i:Pi in a?id(e,a):e.v()+l,s:a,e:a,f:0,cp:"",hd:"",path:e.path+l,g:e.g};return n[t]=d,d}function Os(e){let t=e.s.type===Ki,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+"["+ua(e.g,c)+"]="+f.i+"}")}else r=r+(t?f.i:ua(e.g,c)+":"+f.i)+","}if(e.i=t?"["+r+"]":"{"+r+"}",n){let d=Ji(e);d.io=!0;let u=pr(d),c=Ci(u,void 0);return c===""&&n===u.i+","?e.i=u.i:e.i="Promise.all(["+n+"]).then((["+n+"])=>{"+c+"return "+u.i+"})",e.f=e.f|1,e.s=u.s,e.e=u.e,e.io=!0,e}let a=i;if(a===void 0)return e;let s=a(e.v()),l=kt(e,void 0,void 0,void 0);return l.cp=l.cp+s,l}function ko(e){let t=e.length;if(t===1)return e[0];if(t!==0){let r={},n=new Set;for(let o=0,a=e.length;o<a;++o){let s=e[o];s.type===di&&s.to===void 0?(s.anyOf.forEach(l=>{n.add(l)}),Object.assign(r,s.has)):(n.add(s),u0(r,s.type))}let i=Pr(di,!1);return i.anyOf=Array.from(n),i.decoder=p0,i.encoder=_z,i.has=r,i}throw new Error("[Sury] S.union requires at least one item")}function Hw(e,t){return e&8320&&Ir in t?!0:e&2048?vo in t:!1}function Vp(e){return tr[e.type]&8192?e.class.name:e.type}function mc(e){for(;;){let t=e,r=!1,n=!1,i=!1;if(t.to===void 0&&t.parser===void 0&&!(tr[t.type]&512)){let a=t.anyOf;i=a!==void 0?a.every(mc):!0}if(i){let a=t.items;n=a!==void 0?a.every(mc):!0}if(n){let a=t.properties;r=a!==void 0?Object.values(a).every(mc):!0}if(!r)return!1;let o=t.additionalItems;if(o===void 0||o==="strip"||o==="strict")return!0;e=o}}function sd(e){let t=Pr(Ki,e[la]===e);return t.additionalItems=e,t.items=wc,t.decoder=ad,t}function xc(e,t){let r=t!==void 0?t:ma(),n=wo(e);switch(n.type){case"undefined":return ko([r,Bw(e)]);case"union":let o=n.has,a=n.anyOf;return So(e,s=>{let l=Bj(o),d=[];for(let u=0,c=a.length;u<c;++u){let f=a[u],p=wo(f),m=p.type,h;if(m==="undefined")l[r.type]=!0,d.push(r),h=Bw(f);else{let _=p.properties;if(_!==void 0){let g=_[ca];h=g!==void 0?So(f,b=>{let y={},v={...g};v.const=g.const+1,y[ca]=v,b.properties=y}):f}else h=f}d.push(h)}d.length===a.length&&(l[r.type]=!0,d.push(r)),s.anyOf=d,s.has=l});default:return ko([e,r])}}function Bw(e){return So(e,t=>{t.to=hz(),t.parser=pz})}function ph(e){let t=Pr(Ir,e[la]===e);return t.properties=Xp,t.additionalItems=e,t.decoder=Ps,t}function Kw(e){let t=e.e,r=t.$ref,n=e.g.d,i=r.slice(8),o=n[i],a=e.g.o,s=e.s.seq===t.seq?o:e.s,l=s.seq+"-"+o.seq+"--"+a,d="",u=o[l];if(u!==void 0){let h=ue(u);d=h===0?Oi(e,o)+('["'+l+'"]'):Oi(e,h)}else{let h=x(o.hasTransform,!1),_=x(o.isAsync,!1),g=!0,b=0;for(;g;){g=!1,o.hasTransform===void 0&&(o.hasTransform=h),o.isAsync===void 0&&(o.isAsync=_),Vw[ks]=0,Cn(o,l,Vw);let y=m0(s,o,a,n);Ai[ks]=y,Cn(o,l,Ai),b=y;let v=o.hasTransform,S=o.isAsync;(v!==h||S!==_)&&(h=v,_=S,delete o[l],g=!0)}d=Oi(e,b)}let c=o.hasTransform===!0,f=o.isAsync,p="",m;if(c||f){let h=_n(e.g);p="let "+h+";";let _=Wn(e,h,t,t);_.v=Br,_.cp=h+"="+d+"("+e.i+");",f&&(_.f=_.f|1),m=_}else{let h=kt(e,t,void 0,t);h.cp=d+"("+e.i+");",m=h}return m.prev=void 0,m.cp=p+lh(m,e,void 0,void 0),m.fz=void 0,m.prev=e,m}Cn(oh,"~standard",{get:function(){let e=this;return{version:1,vendor:Qp,validate:t=>{try{return{value:vc(er,e)(t)}}catch(r){let n=kc(r);return{issues:[{message:n.reason,path:n.path===""?void 0:Kj(n.path)}]}}}}}});function y0(e,t){return vc(er,t)(e)}var yz="#/$defs/";function bz(e,t){return So(e,r=>{let n=t(r),i=r.refiner;i!==void 0?r.refiner=o=>{let a=i(o),s=n(o);for(let l=0,d=s.length;l<d;++l)a.push(s[l]);return a}:r.refiner=n})}function b0(e,t,r,n){let i=r!==void 0?r:"Refinement failed",o=n!==void 0?Yj(n):"";return bz(e,a=>(s=>{let l=Oi(s,t);return[{c:d=>l+"("+d+")",f:ah(void 0,o,i,void 0)}]}))}function v0(){let e=ui(od());return e.to=ma(),e}function S0(e,t){return So(e,r=>{let n=r.anyOf;if(n!==void 0){let o=[],a=[];for(let f=0,p=n.length;f<p;++f){let m=n[f],h=wo(m);h.type!=="undefined"&&(o.push(h),a.push(m))}let s=o.length,l;if(s!==1)if(s!==0)l=ko(o);else{let f="Can't set default for "+xr(r);throw new Error("[Sury] "+f)}else l=o[0];let d=a.length!==1?ko(a):a[0];if(t.TAG==="Value"){let f=t._0;try{vc(er,l)(f)}catch(p){let m=kc(p),h="Invalid default for "+xr(r)+": "+m.message;throw new Error("[Sury] "+h)}try{r.default=vc(Bi(d),void 0)(f)}catch{}}r.parser=f=>{let p=f.e.to,m=f.v(),h;return h=t.TAG==="Value"?id(f,ch(t._0)):Oi(f,t._0)+"()",Wn(f,m+"===void 0?"+h+":"+m,p,p)};let u=ui(l),c=u.decoder;u.serializer=f=>{let p=Bi(d);return kt(c(f),p,void 0,p)},u.decoder=e0,r.to=u;return}let i="Can't set default for "+xr(r);throw new Error("[Sury] "+i)})}function Yp(e,t){let r=tr[t.type];if(r&46)return pr(kt(e,er,void 0,t));if(r&2064){let i=ui(od());return i.to=t,pr(kt(e,er,void 0,i))}if(r&128){let i=sd(er),o=pr(kt(e,er,void 0,i));return o.s.additionalItems=hn(),o.e=t,o.io=!1,o}if(r&64){let i=ph(er),o=pr(kt(e,er,void 0,i));return o.s.additionalItems=hn(),o.e=t,o.io=!1,o}if(r&768)return e;let n=ui(Es());return n.to=t,pr(kt(e,er,void 0,n))}function bs(e){let t=tr[e.type],r=!0;if(!(t&46||e.$ref===hn().$ref||t&256&&e.anyOf.every(bs))){let i=!1;if(t&128){let o=e.additionalItems,a;a=o==="strip"||o==="strict"?!0:bs(o),i=a}r=i&&e.items.every(bs)}if(r)return!0;let n=!1;if(t&64){let i=e.additionalItems,o;o=i==="strip"||i==="strict"?!0:bs(i),n=o}return n?Object.values(e.properties).every(bs):!1}function Jw(e){let t=tr[e.s.type];if(bs(e.s))return e;if(t&2064)return bo(e,od(),void 0);if(t&128){let r=Pr(Ki,!1);r.items=e.s.items.map(o=>hn()),r.decoder=ad;let n=e.s.additionalItems,i;return i=n==="strip"||n==="strict"?n:hn(),r.additionalItems=i,r.to=e.e.to,pr(kt(e,void 0,void 0,r))}if(t&64){let r=e.s.additionalItems;if(!(r==="strip"||r==="strict")){let o=ph(hn());return o.to=e.e.to,pr(kt(e,void 0,void 0,o))}let n=As(e,e.s);n.e=hn(),e.e.to&&(n.e=ui(n.e),n.e.to=e.e.to);let i=Object.keys(e.s.properties);for(let o=0,a=i.length;o<a;++o){let s=i[o],l=ed(e,s);if(l.io=!1,l.s.type===di&&l.s.has[Un]){l.e=ko([ma(),hn()]);let d=pr(l);d.o=!0,Ei(n,s,d)}else l.e=hn(),Ei(n,s,pr(l))}return Os(n)}if(t&512)return Kw(e);if(t&256&&!(Un in e.s.has))return pr(_0(e,e.e));if(t&1)return e.e.to&&!e.e.parser?(e.s=hn(),Yp(e,e.e)):e.e.noValidation?(e.s=hn(),e):Kw(e);try{let r=ui(Es());return r.to=e.e,e.e=r,pr(e)}catch{return fa(e,e.s,hn())}}function hn(){return xo(sa,Kp,e=>{let t=Pr(Kp,!0);t.$ref=yz+sa,t.name=sa,t.decoder=Jw,t.encoder=Yp,e.$ref=t.$ref,e.name=sa,e.decoder=Jw,e.encoder=Yp;let r=[Es(),uh(),dh(),od(),ph(t),sd(t)],n={};r.forEach(a=>{n[a.type]=!0});let i=Pr(di,!0);i.anyOf=r,i.has=n,i.decoder=p0,i.name=sa,i.type=di;let o={};o[sa]=i,e.$defs=o})}function vz(e){return e[th]}function td(e,t,r){let n=ui(wo(e));return n.from=t,r!==void 0&&(n.fromFlattened=r),new Proxy(n,{get:(i,o)=>{if(o===th)return i;let a=i.items,s=i.properties,l=s!==void 0?s[o]:a!==void 0?a[o]:void 0;if(l===void 0){let d='Cannot read property "'+o+'" of '+xr(i);throw new Error("[Sury] "+d)}return td(l,i.from.concat(o),i.fromFlattened)}})}function w0(e,t,r){let n=As(e,t);n.io=!0;let i=t.items;if(i!==void 0)for(let o=0,a=i.length;o<a;++o){let s=o.toString();Ei(n,s,r(s,i[o]))}else{let o=t.properties;if(o!==void 0){let a=Object.keys(o);for(let s=0,l=a.length;s<l;++s){let d=a[s];Ei(n,d,r(d,o[d]))}}else{let a="Don't know where the value is coming from: "+xr(t);throw new Error("[Sury] "+a)}}return Os(n)}function k0(e,t){let r=t.from,n=t.fromFlattened,i=n!==void 0?Ji(Yw(e.fv[n],t.from,0)):r!==void 0?Ji(Yw(e,r,0)):Pi in t?bo(e,t,void 0):w0(e,t,(o,a)=>k0(e,a));return i.prev=void 0,i.e=t,i}function x0(e,t){let r=t.e,n=r.from;if(n!==void 0){let a=r.fromFlattened,s;if(a!==void 0){e.flattened===void 0&&(e.flattened=[]);let l=e.flattened[a];if(l!==void 0)s=l;else{let d={};e.flattened[a]=d,s=d}}else s=e;for(let l=0,d=n.length;l<d;++l){let u=n[l],c=s.properties,f;if(c!==void 0)f=c;else{let h={};s.properties=h,f=h}let p=f[u],m;if(p!==void 0)m=p;else{let h={};f[u]=h,m=h}s=m}s.val=t;return}let i=t.d;if(i===void 0)return;let o=Object.keys(i);for(let a=0,s=o.length;a<s;++a)x0(e,i[o[a]])}function pc(e,t,r,n){let i=0;if(t!==void 0){let o=t.val;if(o!==void 0){let a=Ji(o);return a.t=!0,a.s=r,a.e=r,pr(a)}i=1}else i=1;if(i===1){if(Pi in r){let c=bo(e,r,r);return c.prev=void 0,c.p=e,c.v=Jp,c.io=!0,pr(c)}let o=t===void 0?wo(r):r,a=As(e,o);a.e=o,a.io=!0,a.prev=void 0,a.p=e,a.v=Jp;let s=o.flattened,l=o.items,d=0,u=0;if(l!==void 0&&(t!==void 0||typeof o.additionalItems!==Ir))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=ua(e.g,p);Ei(a,p,pc(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!==Ir)){if(s!==void 0&&t!==void 0){let p=t.flattened;p!==void 0&&p.forEach((m,h)=>{let g=pc(e,m,Bi(s[h]),n).d,b=Object.keys(g);for(let y=0,v=b.length;y<v;++y){let S=b[y];Ei(a,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 a.d)){let _;if(t!==void 0){let b=t.properties;_=b!==void 0?b[h]:void 0}else _=void 0;let g=ua(e.g,h);Ei(a,h,pc(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;sz(e,"Missing input for "+xr(r)+p)}return Os(a)}}function Yw(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 Sc(e,t){if(typeof e!==Ir||e===null)return ch(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=Sc(e[l],t);e[l]=u}let s=Pr(Ki,!1);return s.items=e,s.additionalItems="strict",s.decoder=ad,s}let n=e.constructor;if(n&&n!==Object){let s=Pr(rh,!0);return s.class=n,s.const=e,s.decoder=Ts,s}let i=Object.keys(e),o=i.length;for(let s=0;s<o;++s){let l=i[s],d=Sc(e[l],t);e[l]=d}let a=Pr(Ir,!1);return a.required=i,a.properties=e,a.additionalItems=Yl.a,a.decoder=Ps,a}function Sz(e){let t={};x0(t,e);let r=e.e.to,n=pc(e,t,r,"");return n.t=!0,n.prev=e,n}function Tc(e){return Sc(e,t=>{if(t["~standard"])return t})}function T0(e){let t=this,r="~"+e,n=t[r];if(n!==void 0)return ue(n);let i={},o=[],a=Pr(Ir,!1);a.required=o,a.properties=i,a.additionalItems=Yl.a,a.decoder=Ps;let s=t.f(e,a)[th],l=(p,m)=>{let h=Cs(p);if(p in i)throw new Error("[Sury] "+("The field "+h+" defined twice"));return o.push(p),i[p]=m,td(m,s.from.concat(p),s.fromFlattened)},f={field:l,f:l,fieldOr:(p,m,h)=>{let _=xc(m,void 0);return l(p,S0(_,{TAG:"Value",_0:h}))},tag:(p,m)=>{l(p,Tc(m))},nested:T0,flatten:p=>{if(p.type==="object"){let _=p.to,g=p.properties;if(_){let v="Unsupported nested flatten for transformed object schema "+xr(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 "+xr(p)+" schema";throw new Error("[Sury] "+h)}};return t[r]=f,f}function A0(e){let t=ui(Sc(e,vz));return t.serializer=Sz,t}function O0(e){let t=e.e.flattened;if(t!==void 0){let i=[];for(let o=0,a=t.length;o<a;++o){let s=t[o],l=s.to,d;if(l!==void 0){let u=Ji(e);u.e=s,u.io=!0,d=pr(u)}else{let u=w0(e,s,(c,f)=>ed(e,c));u.e=s,u.prev=void 0,d=Ql(u,u)}i.push(d),e.cp=e.cp+Ci(d,void 0)}e.fv=i}let r=e.e.to,n=k0(e,r);return n.t=!0,n.prev=e,Ql(n,e)}function C0(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 td(u,wc,h.push(u)-1|0)}let f="The '"+xr(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,td(c,[u],void 0)},l=e({field:i,f:i,fieldOr:(u,c,f)=>{let p=xc(c,void 0);return i(u,S0(p,{TAG:"Value",_0:f}))},tag:(u,c)=>{i(u,Tc(c))},nested:T0,flatten:n}),d=Pr(Ir,!1);return d.required=Object.keys(r),d.properties=r,d.additionalItems=Yl.a,d.decoder=Ps,d.parser=O0,d.to=A0(l),t!==void 0&&(d.flattened=t),d}function E0(e){let t=[],r=(s,l)=>{let d=s.toString();if(t[s])throw new Error("[Sury] "+("The item ["+d+"] is defined multiple times"));return t[s]=l,td(l,[s.toString()],void 0)},o=e({item:r,tag:(s,l)=>{r(s,Tc(l))}});for(let s=0,l=t.length;s<l;++s)t[s]||(t[s]=ma());let a=Pr(Ki,!1);return a.items=t,a.additionalItems="strict",a.decoder=ad,a.parser=O0,a.to=A0(o),a}var wz=Tc;function P0(e){return ko(e.map(wz))}function R0(e){return xc(e,v0())}var I0=ko;var At=Es(),$0=uh();var Rs=dh();var M0=hn();var j0=nh;var Ac=sd;var hr=mh;var hh=R0;var z0=I0,Oc=P0;var Yi=b0;var N0=y0;var En=C0;var G0=E0;function xz(e){return{path:e.path,summary:e.message}}function we(e){return{path:"",summary:e}}function Is(e,t){try{return{TAG:"Ok",_0:N0(e,t)}}catch(r){let n=ee(r);if(n.RE_EXN_ID===j0)return{TAG:"Error",_0:xz(n._1)};throw n}}import*as dd from"node:fs";import*as L0 from"node:os";import*as Cc from"node:path";var Tz="--api-url must be ws://, wss://, http://, or https://";function on(e){let t=Ln(e);if(t===void 0)return{TAG:"Error",_0:"invalid URL: "+e};let r=ue(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:Tz}}return wt(i,()=>{r.pathname="",r.search="",r.hash="";let o=r.toString();return o.endsWith("/")?o.slice(0,o.length-1|0):o})}var $s="wss://serve.linzumi.com";function ud(){return Cc.join(L0.homedir(),".linzumi","auth.json")}var F0="Kandan auth cache must contain a JSON object",Az="Kandan auth cache local_codex_runner must be an object",Oz="Kandan auth cache personal_agent_delegation must be an object";function D0(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 U0(e){let t;try{t=JSON.parse(e)}catch{t=void 0}if(t===void 0)return{TAG:"Error",_0:we(F0)};if(typeof t!="object"||t===null||Array.isArray(t))return{TAG:"Error",_0:we(F0)};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:we(Az)};if(!o)return{TAG:"Error",_0:we(Oz)};let a;return a=typeof r=="object"&&r!==null&&!Array.isArray(r)?Object.fromEntries($e(Object.entries(r),s=>{let l=s[0];return G(D0(s[1]),d=>[l,d])})):void 0,{TAG:"Ok",_0:{serverTokens:a,personalAgentDelegation:k(n,D0)}}}function W0(e){return dd.existsSync(e)?he($t(Qt(e),t=>we(t.message)),t=>wt(U0(t),r=>r)):{TAG:"Ok",_0:void 0}}function Z0(e,t){return e!==void 0?new Date(e).getTime()<=t:!1}function Ec(e,t,r){return dd.existsSync(t)?he(W0(t),n=>wt($t(on(e),we),i=>k(k(k(n,o=>o.serverTokens),o=>o[i]),o=>{if(!(o.accessToken.trim()===""||Z0(o.expiresAt,r)))return{accessToken:o.accessToken,serverBaseUrl:i,issuedAt:o.issuedAt,expiresAt:o.expiresAt}}))):{TAG:"Ok",_0:void 0}}function Cz(e){return"missing personal-agent delegation auth file: "+e}var Ez="personal-agent delegation auth file is missing access_token",Pz="personal-agent delegation auth file token is expired";function V0(e,t){return dd.existsSync(e)?he(W0(e),r=>{let n=k(r,i=>i.personalAgentDelegation);return n!==void 0&&n.accessToken.trim()!==""?Z0(n.expiresAt,t)?{TAG:"Error",_0:we(Pz)}:{TAG:"Ok",_0:n}:{TAG:"Error",_0:we(Ez)}}):{TAG:"Error",_0:we(Cz(e))}}function q0(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 Rz(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],q0(i[1])])));let n=e.personalAgentDelegation;return n!==void 0&&(t.personal_agent_delegation=q0(n)),t}function Pc(e,t,r,n,i){return he($t(on(e),we),o=>{let a=dd.existsSync(n)?he($t(Qt(n),s=>we(s.message)),U0):{TAG:"Ok",_0:{serverTokens:void 0,personalAgentDelegation:void 0}};return he(a,s=>{let l=i.toISOString(),d=G(r,g=>new Date(i.getTime()+g*1e3).toISOString()),u={accessToken:t,issuedAt:l,expiresAt:d},c=s.serverTokens,f=c!==void 0?Object.fromEntries(Object.entries(c)):{};f[o]=u;let p=Rz({serverTokens:f,personalAgentDelegation:s.personalAgentDelegation}),m=JSON.stringify(p,void 0,2)+`
109
+ `,h=n+".tmp."+process.pid.toString()+"."+oc(6),_=g=>we(g.message);return he($t(qt(Cc.dirname(n)),_),()=>{let g=he(yo(h,m,{encoding:"utf8",mode:384}),()=>li(h,n));return g.TAG==="Ok"?{TAG:"Ok",_0:{accessToken:t,serverBaseUrl:o,issuedAt:l,expiresAt:d}}:(pn(h),{TAG:"Error",_0:we(g._0.message)})})})})}function gh(e){let t=Sr(e);return t!==void 0?x(Er(ue(t)),"unknown error"):"unknown error"}async function pa(e,t){try{return{TAG:"Ok",_0:await fetch(e,t)}}catch(r){let n=ee(r);return{TAG:"Error",_0:{message:gh(n)}}}}async function Iz(e){try{return{TAG:"Ok",_0:await e.text()}}catch(t){let r=ee(t);return{TAG:"Error",_0:{message:gh(r)}}}}async function cd(e){let t=await Iz(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};try{return{TAG:"Ok",_0:JSON.parse(t._0)}}catch(r){let n=ee(r);return{TAG:"Error",_0:{message:gh(n)}}}}function $z(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}async function Ms(e,t,r,n,i){let o=i!==void 0?i:[],a=$t(on(e),we);if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};let s=Hi("/api/v2/local-codex-runner/oauth/validate",a._0);if(s.TAG!=="Ok")return{TAG:"Error",_0:we(s._0)};let l=s._0,d=l.searchParams;r!==void 0&&d.set("workspace",r),n!==void 0&&d.set("channel",n),o.forEach(m=>{d.append("required_scope",m)});let u={};u.authorization="Bearer "+t;let c=await pa(l.toString(),{method:"GET",headers:u});if(c.TAG!=="Ok")return{TAG:"Error",_0:we(c._0.message)};let f=c._0,p=f.status;if(p>404||p<401){if(p===200){let m=await cd(f);return m.TAG!=="Ok"?{TAG:"Error",_0:we(m._0.message)}:k($z(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:we("local runner auth validation failed with HTTP "+p.toString())}}import*as mk from"node:os";import*as Mc from"node:fs";import*as kh from"node:os";import*as Fr from"node:path";import*as xh from"node:crypto";function ke(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function Qi(e){if(Array.isArray(e))return e}function Tr(e){if(typeof e!="string")return;let t=e.trim();if(t!=="")return t}function Ot(e){return isFinite(e)?Math.trunc(e)===e:!1}function ha(e){if(typeof e=="number"&&Ot(e))return e}function Rc(e){return Array.isArray(e)?$e(e,Tr):[]}function _a(e){try{return ke(JSON.parse(e))}catch{return}}var Mz=new RegExp("^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","i"),jz=new RegExp("^[a-zA-Z0-9_.-]+$");function vh(e){return Mz.test(e)}function $c(e){return jz.test(e)}var zz=Yi(At,e=>e.trim()!=="","allowedCwds entries must be non-empty strings",void 0);function K0(e){return{version:1,machineId:e.f("machineId",hr(Yi(At,vh,"invalid machine id",void 0))),runnerId:e.f("runnerId",hr(Yi(At,$c,"invalid runner id",void 0))),allowedCwds:e.f("allowedCwds",Ac(zz))}}var Nz=En(K0),Gz=En(e=>(e.tag("version",1),K0(e)));function fd(e){let t=new Set;return $e(e,r=>{let n=r.trim();if(!(n===""||t.has(n)))return t.add(n),n})}function J0(e){return{version:e.version,machineId:e.machineId,runnerId:e.runnerId,allowedCwds:fd(e.allowedCwds)}}function Sh(e){return wt(Is(e,Gz),J0)}function Y0(e){return wt(Is(e,Nz),J0)}var Ic=hr(Yi(At,e=>e.trim()!=="","must be a non-empty string",void 0)),H0=hr(Yi(Rs,e=>Ot(e)?e>0:!1,"must be a positive integer",void 0));function Fz(e){return!Number.isNaN(new Date(e).getTime())}var B0=Yi(At,Fz,"must be a parseable date",void 0),C8=En(e=>({email:e.f("email",Yi(At,t=>t.trim()!=="","must be a non-empty string",void 0)),serviceUrl:e.f("service_url",Yi(At,t=>t.trim()!=="","must be a non-empty string",void 0)),accessToken:e.f("access_token",Ic),refreshToken:e.f("refresh_token",Ic),expiresInSeconds:e.f("expires_in_seconds",H0),userId:e.f("user_id",H0),workspaceSlug:e.f("workspace_slug",Ic),launchUrl:e.f("launch_url",Ic),createdAt:e.f("created_at",B0),updatedAt:e.f("updated_at",B0)}));var Ri="prod";function X0(e){let t=e!==void 0?e:process.env,r=oa(t,"HOME");return r!==void 0&&r.trim()!==""?r:kh.homedir()}function js(e,t){let r=e!==void 0?e:process.env;return t==="~"?X0(r):t.startsWith("~/")?Fr.resolve(X0(r),t.slice(2)):t}function jc(e){let t=oa(e,"LINZUMI_CONFIG_FILE");return t!==void 0&&t.trim()!==""?Fr.resolve(js(e,t)):Fr.resolve(kh.homedir(),".linzumi","config.json")}function md(e){let t=on(e),r=on($s);if(t.TAG!=="Ok")return{TAG:"Error",_0:we(t._0)};let n=t._0;return r.TAG==="Ok"?{TAG:"Ok",_0:n===r._0?Ri:n}:{TAG:"Error",_0:we(r._0)}}function qz(e){return wt(md(e),t=>t===Ri?Ri:Buffer.from(t).toString("base64url"))}function Lz(e,t,r){let n=Fr.dirname(e),i=Fr.basename(e);return t!==void 0?he(md(t),o=>o===Ri?{TAG:"Ok",_0:Fr.join(n,i+"."+r)}:wt(qz(t),a=>Fr.join(n,i+"."+a+"."+r))):{TAG:"Ok",_0:Fr.join(n,i+"."+r)}}function ek(e){if(Mc.existsSync(e))return he($t(Qt(e),r=>we(r.message)),r=>{let n;try{n=JSON.parse(r)}catch{n=void 0}return typeof n=="object"&&n!==null&&!Array.isArray(n)?Sh(n).TAG==="Ok"?{TAG:"Ok",_0:n}:{TAG:"Error",_0:we("invalid Linzumi config: "+e)}:{TAG:"Error",_0:we("invalid Linzumi config: "+e)}});let t={};return t.version=1,t.allowedCwds=[],{TAG:"Ok",_0:t}}function Uz(){let e={};return e.allowedCwds=[],e}function wh(e,t){return he(ek(e),r=>{let n=t!==void 0?md(t):{TAG:"Ok",_0:Ri};return he(n,i=>{let o=i===Ri?r:x(r[i],Uz()),a=i===Ri?Sh(o):Y0(o);return $t(a,s=>we("invalid Linzumi config section "+i+": "+e))})})}function Wz(e,t){let r=i=>we(i.message),n=Mc.existsSync(e)?$t(ps(e,384),r):{TAG:"Ok",_0:void 0};return he(he(n,()=>$t(yo(e,JSON.stringify(t,void 0,2)+`
110
+ `,{encoding:"utf8",mode:384}),r)),()=>$t(ps(e,384),r))}function Zz(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=fd(e.allowedCwds).map(i=>i),t}function Vz(e){let t=e.version===1,r=e.machineId,n=r!==void 0?vh(r):!0,i=e.runnerId,o=i!==void 0?$c(i):!0,a=e.allowedCwds.every(s=>s.trim()!=="");return t&&n&&o&&a?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:we("invalid Linzumi config")}}function Hz(e,t,r){return he(Vz(e),()=>{let n=r!==void 0?md(r):{TAG:"Ok",_0:Ri};return he(n,i=>he(ek(t),o=>{let a=Object.fromEntries(Object.entries(o)),s=Zz(e);return i===Ri?(Object.entries(s).forEach(l=>{a[l[0]]=l[1]}),a.version=1):(a.version=1,a[i]=s),he($t(qt(Fr.dirname(t)),l=>we(l.message)),()=>Wz(t,a))}))})}function Q0(e,t,r){return he($t(Qt(e),n=>we(n.message)),n=>{let i=n.trim();return t(i)?{TAG:"Ok",_0:i}:{TAG:"Error",_0:we("invalid Linzumi "+r+" seed: "+e)}})}function Bz(e,t,r,n){if(Mc.existsSync(e))return Q0(e,r,n);let i=t();if(!r(i))return{TAG:"Error",_0:we("invalid generated Linzumi "+n+": "+i)};let o=Fr.dirname(e),a=Fr.basename(e),s=Fr.join(o,"."+a+"."+process.pid.toString()+"."+xh.randomUUID()+".tmp"),l=d=>we(d.message);return he(he($t(qt(o),l),()=>$t(yo(s,i+`
111
+ `,{encoding:"utf8",flag:"wx"}),l)),()=>{let d=$w(s,e),u;if(d.TAG==="Ok")u={TAG:"Ok",_0:i};else{let c=d._0;u=si(c,"EEXIST")?Q0(e,r,n):{TAG:"Error",_0:we(c.message)}}return Mw(s),u})}function Kz(){return"runner-"+xh.randomUUID()}function Jz(e,t,r,n,i,o,a,s){let l=t!==void 0?wt(md(t),d=>{if(d!==Ri)return t}):{TAG:"Ok",_0:void 0};return he(l,d=>he(wh(e,d),u=>{let c=a(u);return c!==void 0?{TAG:"Ok",_0:c}:he(Lz(e,d,r),f=>he(Bz(f,n,i,o),p=>he(wh(e,d),m=>{let h=a(m);return h!==void 0?{TAG:"Ok",_0:h}:wt(Hz(s(m,p),e,d),()=>p)})))}))}function zc(e,t,r){return Jz(e,t,"runner-id",r!==void 0?r:Kz,$c,"runner id",i=>i.runnerId,(i,o)=>({version:i.version,machineId:i.machineId,runnerId:o,allowedCwds:i.allowedCwds}))}var Yz=["ENOENT","ENOTDIR","EACCES","ELOOP","EIO"];function Xz(e){let t=e.code;return t!==void 0?Yz.includes(t):!1}function tk(e,t){return he(wh(e,t),r=>{let n=[],i=[],o={contents:void 0};r.allowedCwds.forEach(s=>{if(o.contents!==void 0)return;let d=Fr.resolve(js(void 0,s)),u=Dn(d);if(u.TAG==="Ok"){let f=u._0;if(n.push(f),f===d)return;n.push(d);return}let c=u._0;Xz(c)?i.push(d):o.contents=we(c.message)});let a=o.contents;return a!==void 0?{TAG:"Error",_0:a}:{TAG:"Ok",_0:{allowedCwds:fd(n),missingAllowedCwds:fd(i)}}})}function nk(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e.error;if(typeof t=="string")return t}function ik(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 zs(e,t){let r=e[t];if(r!==void 0&&typeof r=="string"&&r.trim()!=="")return r}async function ok(e,t,r,n,i){let o=Hi("/api/v2/local-codex-runner/device/start",e);if(o.TAG!=="Ok")return{TAG:"Error",_0:we(o._0)};let a={},s=(_,g)=>{if(g!==void 0){a[_]=g;return}};s("workspace",t),s("channel",r),s("onboarding",n),i!==void 0&&(s("runner_id",i.commanderId),s("machine_fingerprint",i.machineFingerprint),s("hostname",i.hostname));let l={};l["content-type"]="application/json";let d=await pa(o._0.toString(),{method:"POST",headers:l,body:JSON.stringify(a)});if(d.TAG!=="Ok")return{TAG:"Error",_0:we(d._0.message)};let u=d._0,c=u.status,f=await cd(u);if(f.TAG!=="Ok")return{TAG:"Error",_0:we(f._0.message)};let p=f._0;if(c>=200&&c<300){if(Array.isArray(p))return{TAG:"Error",_0:we("local runner device authorization response was incomplete")};if(p!==null)switch(typeof p){case"object":let _=zs(p,"device_code"),g=zs(p,"user_code"),b=zs(p,"verification_uri");if(_===void 0)return{TAG:"Error",_0:we("local runner device authorization response was incomplete")};if(g===void 0)return{TAG:"Error",_0:we("local runner device authorization response was incomplete")};if(b===void 0)return{TAG:"Error",_0:we("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=nk(p);return{TAG:"Error",_0:we(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 Qz(e,t,r){let n=new AbortController,i=setTimeout(()=>{n.abort()},r+1e4|0),o={};o.device_code=t,o.wait_ms=r;let a={};a["content-type"]="application/json";let s=Hi("/api/v2/local-codex-runner/device/token",e),l;if(l=s.TAG==="Ok"?await pa(s._0.toString(),{method:"POST",headers:a,body:JSON.stringify(o),signal:Ze(n.signal)}):{TAG:"Error",_0:{message:s._0}},l.TAG==="Ok"){let d=l._0,u=d.status,c=await cd(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=nk(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=zs(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:zs(f,"workspace"),channelSlug:zs(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 ak(e,t,r,n){let i=n!==void 0?n:()=>Date.now(),o=r!==void 0&&r>=0?r:600,a=i()+o*1e3,s=async()=>{if(i()>=a)return"CodeExpired";let l=Math.max(0,Math.min(3e4,a-i())),d=await Qz(e,t,l);return typeof d!="object"?await s():d._0};return await s()}var t1=3600*1e3;function r1(e,t,r,n){return e<=3?"DecidePrompt":r!==void 0&&t-r<t1?n?"DecideRefreshLine":"DecideSilent":"DecideSummary"}function sk(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 n1(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).
112
112
  `)+`Authorize this computer:
113
113
  Code: `+e.userCode+`
114
114
  Open: `+e.verificationUri+`
115
- `;case"Summary":return"Still waiting for authorization after "+ak(e.waitedMs)+" "+("("+e.cycle.toString()+` codes issued so far).
115
+ `;case"Summary":return"Still waiting for authorization after "+sk(e.waitedMs)+" "+("("+e.cycle.toString()+` codes issued so far).
116
116
  `)+(`Authorize this computer:
117
117
  Code: `+e.userCode+`
118
118
  Open: `+e.verificationUri+`
119
- `);case"RefreshLine":return"\r\x1B[2KCode: "+e.userCode+" (waiting "+ak(e.waitedMs)+") - open "+e.verificationUri;case"TransientFailure":return"Device authorization poll hit a transient failure ("+e.reason+`); retrying with the same code.
119
+ `);case"RefreshLine":return"\r\x1B[2KCode: "+e.userCode+" (waiting "+sk(e.waitedMs)+") - open "+e.verificationUri;case"TransientFailure":return"Device authorization poll hit a transient failure ("+e.reason+`); retrying with the same code.
120
120
  `;case"StartFailed":return"Could not mint a device authorization code ("+e.reason+"); retrying in "+Math.round(e.retryInMs/1e3).toString()+`s.
121
- `}}function Xz(e){return new Promise((t,r)=>{setTimeout(()=>t(),e|0)})}function Qz(e){return{startDeviceAuthorization:t=>ik(t.httpBaseUrl,t.workspaceSlug,t.channelSlug,t.onboarding,t.identity),pollDeviceCodeForToken:t=>ok(t.httpBaseUrl,t.deviceCode,t.expiresInSeconds,void 0),now:()=>Date.now(),sleep:Xz,report:e,log:(t,r)=>{}}}var e1="local runner device authorization was denied - a signed-in user rejected this computer";async function sk(e,t,r,n,i,o,a,s){let l=o!==void 0?o:g=>{fr(g)},d=s!==void 0?s:Qz(g=>l(Yz(g))),u=a!==void 0?a:de(Rr(process.stderr.isTTY),!0),c=$t(on(e),we);if(c.TAG!=="Ok")return{TAG:"Error",_0:c._0};let f=c._0,p=d.now(),m={cycle:0,lastLoudPromptAtMs:void 0,startFailures:0},h=async g=>{let b=await d.pollDeviceCodeForToken({httpBaseUrl:f,deviceCode:g.deviceCode,expiresInSeconds:g.expiresInSeconds});if(typeof b!="object"||b.TAG!=="Transient")return b;let y=b.httpStatus,v=b.reason;d.report({TAG:"TransientFailure",reason:v,waitedMs:d.now()-p});let S={};return S.cycle=m.cycle,S.reason=v,S.httpStatus=y!==void 0?y:null,d.log("device_wait.transient_poll_failure",S),await d.sleep(5e3),await h(g)},_=async()=>{let g=await d.startDeviceAuthorization({httpBaseUrl:f,workspaceSlug:t,channelSlug:r,onboarding:n,identity:i});if(g.TAG==="Ok"){let b=g._0;m.startFailures=0,m.cycle=m.cycle+1|0;let y=Jz(m.cycle,d.now(),m.lastLoudPromptAtMs,u),v=0;switch(y){case"DecidePrompt":case"DecideSummary":v=1;break;case"DecideRefreshLine":d.report({TAG:"RefreshLine",cycle:m.cycle,userCode:b.userCode,verificationUri:b.verificationUri,waitedMs:d.now()-p});break;case"DecideSilent":break}if(v===1){m.lastLoudPromptAtMs=d.now();let R=d.now()-p,Z;Z=y==="DecidePrompt"?{TAG:"Prompt",cycle:m.cycle,userCode:b.userCode,verificationUri:b.verificationUri,waitedMs:R}:{TAG:"Summary",cycle:m.cycle,userCode:b.userCode,verificationUri:b.verificationUri,waitedMs:R},d.report(Z)}let S={};S.cycle=m.cycle,S.verificationUri=b.verificationUri,d.log("device_wait.code_issued",S);let A=await h(b);if(typeof A!="object")switch(A){case"CodeExpired":let R={};return R.cycle=m.cycle,R.outcome="code_expired",d.log("device_wait.code_retired",R),await _();case"Denied":return{TAG:"Error",_0:we(e1)};case"Consumed":let Z={};return Z.cycle=m.cycle,Z.outcome="consumed",d.log("device_wait.code_retired",Z),await _()}else switch(A.TAG){case"Token":let R={};return R.cycle=m.cycle,R.waitedMs=d.now()-p,d.log("device_wait.authorized",R),{TAG:"Ok",_0:A._0};case"Rejected":let Z=A.httpStatus,L=A.reason;d.report({TAG:"TransientFailure",reason:nk(L,Z),waitedMs:d.now()-p});let ae={};return ae.cycle=m.cycle,ae.reason=L!==void 0?L:null,ae.httpStatus=Z,d.log("device_wait.code_rejected",ae),await _();case"Transient":return await _()}}else{let b=g._0;m.startFailures=m.startFailures+1|0;let y=Math.min(6e4,5e3*Math.pow(2,m.startFailures-1|0));d.report({TAG:"StartFailed",reason:b.summary,retryInMs:y});let v={};return v.reason=b.summary,v.retryInMs=y,v.attempt=m.startFailures,d.log("device_wait.start_failed",v),await d.sleep(y),await _()}};return await _()}function ga(e,t){let r=t!==void 0?parseInt(e,t):parseInt(e);if(!(Number.isNaN(r)||r>2147483647||r<-2147483648))return r|0}var r1="linzumi-machine-fingerprint:v1:";var lk={platform:void 0,execFile:void 0,readFile:void 0,username:void 0};function n1(e,t){return _s(e,t,5e3,1024*1024)}var i1=new RegExp('"IOPlatformUUID"\\s*=\\s*"([0-9A-Fa-f-]{36})"'),o1=new RegExp("^[0-9a-f]{32}$"),a1=["/etc/machine-id","/var/lib/dbus/machine-id"];function s1(e){let t=e!==void 0?e:lk,r=x(t.platform,process.platform),n=x(t.execFile,n1),i=x(t.readFile,Xt);switch(r){case"darwin":let o=n("ioreg",["-rd1","-c","IOPlatformExpertDevice"]);if(o.TAG!=="Ok")return;let a=i1.exec(o._0);if(a==null)return;let s=a.slice(1)[0];if(s===void 0)return;let l=ue(s);return l!==void 0?l.toLowerCase():void 0;case"linux":return Ve(a1,void 0,(d,u)=>{if(d!==void 0)return d;let c=i(u);if(c.TAG!=="Ok")return;let f=c._0.trim().toLowerCase();if(o1.test(f))return f});default:return}}function dk(e){return G(s1(e!==void 0?e:lk),r=>"mfp-"+qn(r1+r).slice(0,32))}function uk(e){let t={};return e!==void 0&&(t.machineFingerprintV2=e),t}function mk(e){return e==="UnusableRejected"?"Cached Linzumi local runner auth was rejected; starting OAuth.":"Cached Linzumi local runner auth points at a workspace or runner the server no longer knows (it may have been reset); starting OAuth."}function l1(e,t){return he($t(on(e),we),r=>{let n=Ln(r);return n===void 0?{TAG:"Error",_0:we("invalid URL: "+r)}:{TAG:"Ok",_0:"Workspace '"+(t!==void 0?t:"undefined")+"' was not found on "+ue(n).host+". Sign in to the web app to create it, then re-run connect."}})}var d1="local runner browser OAuth is not available in this implementation yet; use --auth-mode device or supply --token";async function u1(e){let t=jc(process.env),r=zc(t,e.serviceUrl,void 0);if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=r._0,i=dk(void 0),o=fk.hostname(),a={commanderId:n,machineFingerprint:i,hostname:o},s=await sk(e.serviceUrl,e.workspaceSlug,e.channelSlug,e.onboarding,a,void 0,void 0,void 0);if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0};let l=s._0,d=e.authFilePath,u=d!==void 0?d:ud();return wt(Pc(e.serviceUrl,l.accessToken,l.expiresInSeconds,u,new Date),c=>l.accessToken)}async function c1(e){let t=e.authMode;return typeof(t!==void 0?t:{TAG:"BrowserMode",callbackHost:e.callbackHost})!="object"?await u1(e):{TAG:"Error",_0:we(d1)}}function f1(){return{readCachedToken:(e,t)=>Ec(e,t,Date.now()),validateToken:(e,t,r,n,i)=>Ms(e,t,r,n,i),acquireAndCacheToken:c1}}async function m1(e,t,r){let n=await t.validateToken(e.serviceUrl,r,e.workspaceSlug,e.channelSlug,e.requiredScopes);if(n.TAG!=="Ok")return{TAG:"Ok",_0:void 0};switch(n._0){case"Usable":case"Rejected":return{TAG:"Ok",_0:void 0};case"NotFound":return he(l1(e.serviceUrl,e.workspaceSlug),i=>({TAG:"Error",_0:we(i)}))}}async function Nc(e,t){let r=t!==void 0?t:f1(),n=e.explicitToken;if(n!==void 0)return{TAG:"Ok",_0:n};let i=e.authFilePath,o=i!==void 0?i:ud(),a=r.readCachedToken(e.serviceUrl,o);if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};let s=a._0,l;if(s!==void 0){let m=await r.validateToken(e.serviceUrl,s.accessToken,e.workspaceSlug,e.channelSlug,e.requiredScopes);if(m.TAG==="Ok")switch(m._0){case"Usable":l={TAG:"Ok",_0:s.accessToken};break;case"Rejected":let h=e.reportRejectedCachedToken;h!==void 0&&h("UnusableRejected"),l={TAG:"Ok",_0:void 0};break;case"NotFound":let _=e.reportRejectedCachedToken;_!==void 0&&_("UnusableNotFound"),l={TAG:"Ok",_0:void 0};break}else l={TAG:"Error",_0:m._0}}else l={TAG:"Ok",_0:void 0};if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0};let d=l._0;if(d!==void 0)return{TAG:"Ok",_0:d};let u=await r.acquireAndCacheToken(e);if(u.TAG!=="Ok")return{TAG:"Error",_0:u._0};let c=u._0;if(e.workspaceSlug===void 0)return{TAG:"Ok",_0:c};let p=await m1(e,r,c);return p.TAG==="Ok"?{TAG:"Ok",_0:c}:{TAG:"Error",_0:p._0}}function xh(e){return we(e.message)}function Gc(e,t,r,n){return he($t(Mw(Th.join(hk.tmpdir(),"linzumi-mcp-auth-")),xh),i=>he($t(ps(i,448),xh),()=>{let o=Th.join(i,"auth.json");return he(Pc(e,r!==void 0?r:t,void 0,o,n),a=>wt($t(ps(o,384),xh),()=>({path:o,directory:i,cleanup:()=>{Fp(i)}})))}))}function p1(){return{readCachedToken:(e,t)=>Ec(e,t,Date.now()),validateTokenOutcome:(e,t,r,n)=>Ms(e,t,r,n,void 0),resolveToken:e=>Nc(e,void 0)}}var h1="missing Linzumi MCP token; run linzumi auth or pass --token";function _1(e){return"Linzumi MCP token was rejected by the server and re-mint failed: "+e}async function _k(e,t,r,n,i,o){let a=o!==void 0?o:p1(),s=r!==void 0?r:ud(),l=t!==void 0?{TAG:"Ok",_0:t}:wt(a.readCachedToken(e,s),f=>G(f,p=>p.accessToken));if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0};let d=l._0;if(d===void 0)return{TAG:"Error",_0:we(h1)};let u=await a.validateTokenOutcome(e,d,n,i);if(u.TAG!=="Ok")return{TAG:"Error",_0:u._0};switch(u._0){case"Usable":return{TAG:"Ok",_0:d};case"Rejected":case"NotFound":break}let c=await a.resolveToken({serviceUrl:e,explicitToken:void 0,workspaceSlug:n,channelSlug:i,requiredScopes:[],onboarding:void 0,authFilePath:r,callbackHost:void 0,authMode:void 0,reportRejectedCachedToken:void 0});return c.TAG==="Ok"?{TAG:"Ok",_0:c._0}:{TAG:"Error",_0:we(_1(c._0.summary))}}var T={};Np(T,{BRAND:()=>L1,DIRTY:()=>ya,EMPTY_PATH:()=>v1,INVALID:()=>$e,NEVER:()=>TN,OK:()=>Kr,ParseStatus:()=>Dr,Schema:()=>nt,ZodAny:()=>Oo,ZodArray:()=>no,ZodBigInt:()=>va,ZodBoolean:()=>Sa,ZodBranded:()=>_d,ZodCatch:()=>Ia,ZodDate:()=>wa,ZodDefault:()=>Ra,ZodDiscriminatedUnion:()=>qc,ZodEffects:()=>Vn,ZodEnum:()=>Ea,ZodError:()=>gn,ZodFirstPartyTypeKind:()=>Q,ZodFunction:()=>Uc,ZodIntersection:()=>Aa,ZodIssueCode:()=>Y,ZodLazy:()=>Oa,ZodLiteral:()=>Ca,ZodMap:()=>Ls,ZodNaN:()=>Zs,ZodNativeEnum:()=>Pa,ZodNever:()=>fi,ZodNull:()=>xa,ZodNullable:()=>Mi,ZodNumber:()=>ba,ZodObject:()=>bn,ZodOptional:()=>yn,ZodParsedType:()=>fe,ZodPipeline:()=>gd,ZodPromise:()=>Co,ZodReadonly:()=>$a,ZodRecord:()=>Lc,ZodSchema:()=>nt,ZodSet:()=>Us,ZodString:()=>Ao,ZodSymbol:()=>Ds,ZodTransformer:()=>Vn,ZodTuple:()=>$i,ZodType:()=>nt,ZodUndefined:()=>ka,ZodUnion:()=>Ta,ZodUnknown:()=>ro,ZodVoid:()=>qs,addIssueToContext:()=>le,any:()=>Y1,array:()=>tN,bigint:()=>V1,boolean:()=>Ok,coerce:()=>xN,custom:()=>xk,date:()=>H1,datetimeRegex:()=>wk,defaultErrorMap:()=>eo,discriminatedUnion:()=>iN,effect:()=>_N,enum:()=>mN,function:()=>uN,getErrorMap:()=>Ns,getParsedType:()=>Ii,instanceof:()=>Z1,intersection:()=>oN,isAborted:()=>Fc,isAsync:()=>Gs,isDirty:()=>Dc,isValid:()=>To,late:()=>U1,lazy:()=>cN,literal:()=>fN,makeIssue:()=>hd,map:()=>lN,nan:()=>W1,nativeEnum:()=>pN,never:()=>Q1,null:()=>J1,nullable:()=>yN,number:()=>Ak,object:()=>Ph,objectUtil:()=>Oh,oboolean:()=>kN,onumber:()=>wN,optional:()=>gN,ostring:()=>SN,pipeline:()=>vN,preprocess:()=>bN,promise:()=>hN,quotelessJson:()=>g1,record:()=>sN,set:()=>dN,setErrorMap:()=>b1,strictObject:()=>rN,string:()=>Tk,symbol:()=>B1,transformer:()=>_N,tuple:()=>aN,undefined:()=>K1,union:()=>nN,unknown:()=>X1,util:()=>mt,void:()=>eN});var mt;(function(e){e.assertEqual=i=>{};function t(i){}e.assertIs=t;function r(i){throw new Error}e.assertNever=r,e.arrayToEnum=i=>{let o={};for(let a of i)o[a]=a;return o},e.getValidEnumValues=i=>{let o=e.objectKeys(i).filter(s=>typeof i[i[s]]!="number"),a={};for(let s of o)a[s]=i[s];return e.objectValues(a)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let o=[];for(let a in i)Object.prototype.hasOwnProperty.call(i,a)&&o.push(a);return o},e.find=(i,o)=>{for(let a of i)if(o(a))return a},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function n(i,o=" | "){return i.map(a=>typeof a=="string"?`'${a}'`:a).join(o)}e.joinValues=n,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(mt||(mt={}));var Oh;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(Oh||(Oh={}));var fe=mt.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ii=e=>{switch(typeof e){case"undefined":return fe.undefined;case"string":return fe.string;case"number":return Number.isNaN(e)?fe.nan:fe.number;case"boolean":return fe.boolean;case"function":return fe.function;case"bigint":return fe.bigint;case"symbol":return fe.symbol;case"object":return Array.isArray(e)?fe.array:e===null?fe.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?fe.promise:typeof Map<"u"&&e instanceof Map?fe.map:typeof Set<"u"&&e instanceof Set?fe.set:typeof Date<"u"&&e instanceof Date?fe.date:fe.object;default:return fe.unknown}};var Y=mt.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),g1=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),gn=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){let r=t||function(o){return o.message},n={_errors:[]},i=o=>{for(let a of o.issues)if(a.code==="invalid_union")a.unionErrors.map(i);else if(a.code==="invalid_return_type")i(a.returnTypeError);else if(a.code==="invalid_arguments")i(a.argumentsError);else if(a.path.length===0)n._errors.push(r(a));else{let s=n,l=0;for(;l<a.path.length;){let d=a.path[l];l===a.path.length-1?(s[d]=s[d]||{_errors:[]},s[d]._errors.push(r(a))):s[d]=s[d]||{_errors:[]},s=s[d],l++}}};return i(this),n}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,mt.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=r=>r.message){let r={},n=[];for(let i of this.issues)if(i.path.length>0){let o=i.path[0];r[o]=r[o]||[],r[o].push(t(i))}else n.push(t(i));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};gn.create=e=>new gn(e);var y1=(e,t)=>{let r;switch(e.code){case Y.invalid_type:e.received===fe.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case Y.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,mt.jsonStringifyReplacer)}`;break;case Y.unrecognized_keys:r=`Unrecognized key(s) in object: ${mt.joinValues(e.keys,", ")}`;break;case Y.invalid_union:r="Invalid input";break;case Y.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${mt.joinValues(e.options)}`;break;case Y.invalid_enum_value:r=`Invalid enum value. Expected ${mt.joinValues(e.options)}, received '${e.received}'`;break;case Y.invalid_arguments:r="Invalid function arguments";break;case Y.invalid_return_type:r="Invalid function return type";break;case Y.invalid_date:r="Invalid date";break;case Y.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:mt.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case Y.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case Y.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case Y.custom:r="Invalid input";break;case Y.invalid_intersection_types:r="Intersection results could not be merged";break;case Y.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case Y.not_finite:r="Number must be finite";break;default:r=t.defaultError,mt.assertNever(e)}return{message:r}},eo=y1;var gk=eo;function b1(e){gk=e}function Ns(){return gk}var hd=e=>{let{data:t,path:r,errorMaps:n,issueData:i}=e,o=[...r,...i.path||[]],a={...i,path:o};if(i.message!==void 0)return{...i,path:o,message:i.message};let s="",l=n.filter(d=>!!d).slice().reverse();for(let d of l)s=d(a,{data:t,defaultError:s}).message;return{...i,path:o,message:s}},v1=[];function le(e,t){let r=Ns(),n=hd({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===eo?void 0:eo].filter(i=>!!i)});e.common.issues.push(n)}var Dr=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){let n=[];for(let i of r){if(i.status==="aborted")return $e;i.status==="dirty"&&t.dirty(),n.push(i.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,r){let n=[];for(let i of r){let o=await i.key,a=await i.value;n.push({key:o,value:a})}return e.mergeObjectSync(t,n)}static mergeObjectSync(t,r){let n={};for(let i of r){let{key:o,value:a}=i;if(o.status==="aborted"||a.status==="aborted")return $e;o.status==="dirty"&&t.dirty(),a.status==="dirty"&&t.dirty(),o.value!=="__proto__"&&(typeof a.value<"u"||i.alwaysSet)&&(n[o.value]=a.value)}return{status:t.value,value:n}}},$e=Object.freeze({status:"aborted"}),ya=e=>({status:"dirty",value:e}),Kr=e=>({status:"valid",value:e}),Fc=e=>e.status==="aborted",Dc=e=>e.status==="dirty",To=e=>e.status==="valid",Gs=e=>typeof Promise<"u"&&e instanceof Promise;var ge;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(ge||(ge={}));var Wn=class{constructor(t,r,n,i){this._cachedPath=[],this.parent=t,this.data=r,this._path=n,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},yk=(e,t)=>{if(To(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new gn(e.common.issues);return this._error=r,this._error}}};function Je(e){if(!e)return{};let{errorMap:t,invalid_type_error:r,required_error:n,description:i}=e;if(t&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(a,s)=>{let{message:l}=e;return a.code==="invalid_enum_value"?{message:l??s.defaultError}:typeof s.data>"u"?{message:l??n??s.defaultError}:a.code!=="invalid_type"?{message:s.defaultError}:{message:l??r??s.defaultError}},description:i}}var nt=class{get description(){return this._def.description}_getType(t){return Ii(t.data)}_getOrReturnCtx(t,r){return r||{common:t.parent.common,data:t.data,parsedType:Ii(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Dr,ctx:{common:t.parent.common,data:t.data,parsedType:Ii(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let r=this._parse(t);if(Gs(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){let r=this._parse(t);return Promise.resolve(r)}parse(t,r){let n=this.safeParse(t,r);if(n.success)return n.data;throw n.error}safeParse(t,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ii(t)},i=this._parseSync({data:t,path:n.path,parent:n});return yk(n,i)}"~validate"(t){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ii(t)};if(!this["~standard"].async)try{let n=this._parseSync({data:t,path:[],parent:r});return To(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:r}).then(n=>To(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(t,r){let n=await this.safeParseAsync(t,r);if(n.success)return n.data;throw n.error}async safeParseAsync(t,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ii(t)},i=this._parse({data:t,path:n.path,parent:n}),o=await(Gs(i)?i:Promise.resolve(i));return yk(n,o)}refine(t,r){let n=i=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(i):r;return this._refinement((i,o)=>{let a=t(i),s=()=>o.addIssue({code:Y.custom,...n(i)});return typeof Promise<"u"&&a instanceof Promise?a.then(l=>l?!0:(s(),!1)):a?!0:(s(),!1)})}refinement(t,r){return this._refinement((n,i)=>t(n)?!0:(i.addIssue(typeof r=="function"?r(n,i):r),!1))}_refinement(t){return new Vn({schema:this,typeName:Q.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return yn.create(this,this._def)}nullable(){return Mi.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return no.create(this)}promise(){return Co.create(this,this._def)}or(t){return Ta.create([this,t],this._def)}and(t){return Aa.create(this,t,this._def)}transform(t){return new Vn({...Je(this._def),schema:this,typeName:Q.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let r=typeof t=="function"?t:()=>t;return new Ra({...Je(this._def),innerType:this,defaultValue:r,typeName:Q.ZodDefault})}brand(){return new _d({typeName:Q.ZodBranded,type:this,...Je(this._def)})}catch(t){let r=typeof t=="function"?t:()=>t;return new Ia({...Je(this._def),innerType:this,catchValue:r,typeName:Q.ZodCatch})}describe(t){let r=this.constructor;return new r({...this._def,description:t})}pipe(t){return gd.create(this,t)}readonly(){return $a.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},S1=/^c[^\s-]{8,}$/i,w1=/^[0-9a-z]+$/,k1=/^[0-9A-HJKMNP-TV-Z]{26}$/i,x1=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,T1=/^[a-z0-9_-]{21}$/i,A1=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,O1=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,C1=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,E1="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Ch,P1=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,R1=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,I1=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,$1=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,M1=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,j1=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,vk="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",z1=new RegExp(`^${vk}$`);function Sk(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let r=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${r}`}function N1(e){return new RegExp(`^${Sk(e)}$`)}function wk(e){let t=`${vk}T${Sk(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function G1(e,t){return!!((t==="v4"||!t)&&P1.test(e)||(t==="v6"||!t)&&I1.test(e))}function F1(e,t){if(!A1.test(e))return!1;try{let[r]=e.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),i=JSON.parse(atob(n));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||t&&i.alg!==t)}catch{return!1}}function D1(e,t){return!!((t==="v4"||!t)&&R1.test(e)||(t==="v6"||!t)&&$1.test(e))}var Ao=class e extends nt{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==fe.string){let o=this._getOrReturnCtx(t);return le(o,{code:Y.invalid_type,expected:fe.string,received:o.parsedType}),$e}let n=new Dr,i;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(i=this._getOrReturnCtx(t,i),le(i,{code:Y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),n.dirty());else if(o.kind==="max")t.data.length>o.value&&(i=this._getOrReturnCtx(t,i),le(i,{code:Y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),n.dirty());else if(o.kind==="length"){let a=t.data.length>o.value,s=t.data.length<o.value;(a||s)&&(i=this._getOrReturnCtx(t,i),a?le(i,{code:Y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):s&&le(i,{code:Y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),n.dirty())}else if(o.kind==="email")C1.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"email",code:Y.invalid_string,message:o.message}),n.dirty());else if(o.kind==="emoji")Ch||(Ch=new RegExp(E1,"u")),Ch.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"emoji",code:Y.invalid_string,message:o.message}),n.dirty());else if(o.kind==="uuid")x1.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"uuid",code:Y.invalid_string,message:o.message}),n.dirty());else if(o.kind==="nanoid")T1.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"nanoid",code:Y.invalid_string,message:o.message}),n.dirty());else if(o.kind==="cuid")S1.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"cuid",code:Y.invalid_string,message:o.message}),n.dirty());else if(o.kind==="cuid2")w1.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"cuid2",code:Y.invalid_string,message:o.message}),n.dirty());else if(o.kind==="ulid")k1.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"ulid",code:Y.invalid_string,message:o.message}),n.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{i=this._getOrReturnCtx(t,i),le(i,{validation:"url",code:Y.invalid_string,message:o.message}),n.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"regex",code:Y.invalid_string,message:o.message}),n.dirty())):o.kind==="trim"?t.data=t.data.trim():o.kind==="includes"?t.data.includes(o.value,o.position)||(i=this._getOrReturnCtx(t,i),le(i,{code:Y.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),n.dirty()):o.kind==="toLowerCase"?t.data=t.data.toLowerCase():o.kind==="toUpperCase"?t.data=t.data.toUpperCase():o.kind==="startsWith"?t.data.startsWith(o.value)||(i=this._getOrReturnCtx(t,i),le(i,{code:Y.invalid_string,validation:{startsWith:o.value},message:o.message}),n.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(i=this._getOrReturnCtx(t,i),le(i,{code:Y.invalid_string,validation:{endsWith:o.value},message:o.message}),n.dirty()):o.kind==="datetime"?wk(o).test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{code:Y.invalid_string,validation:"datetime",message:o.message}),n.dirty()):o.kind==="date"?z1.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{code:Y.invalid_string,validation:"date",message:o.message}),n.dirty()):o.kind==="time"?N1(o).test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{code:Y.invalid_string,validation:"time",message:o.message}),n.dirty()):o.kind==="duration"?O1.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"duration",code:Y.invalid_string,message:o.message}),n.dirty()):o.kind==="ip"?G1(t.data,o.version)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"ip",code:Y.invalid_string,message:o.message}),n.dirty()):o.kind==="jwt"?F1(t.data,o.alg)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"jwt",code:Y.invalid_string,message:o.message}),n.dirty()):o.kind==="cidr"?D1(t.data,o.version)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"cidr",code:Y.invalid_string,message:o.message}),n.dirty()):o.kind==="base64"?M1.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"base64",code:Y.invalid_string,message:o.message}),n.dirty()):o.kind==="base64url"?j1.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"base64url",code:Y.invalid_string,message:o.message}),n.dirty()):mt.assertNever(o);return{status:n.value,value:t.data}}_regex(t,r,n){return this.refinement(i=>t.test(i),{validation:r,code:Y.invalid_string,...ge.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...ge.errToObj(t)})}url(t){return this._addCheck({kind:"url",...ge.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...ge.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...ge.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...ge.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...ge.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...ge.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...ge.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...ge.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...ge.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...ge.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...ge.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...ge.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...ge.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...ge.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...ge.errToObj(t)})}regex(t,r){return this._addCheck({kind:"regex",regex:t,...ge.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r?.position,...ge.errToObj(r?.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,...ge.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,...ge.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,...ge.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,...ge.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,...ge.errToObj(r)})}nonempty(t){return this.min(1,ge.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};Ao.create=e=>new Ao({checks:[],typeName:Q.ZodString,coerce:e?.coerce??!1,...Je(e)});function q1(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,i=r>n?r:n,o=Number.parseInt(e.toFixed(i).replace(".","")),a=Number.parseInt(t.toFixed(i).replace(".",""));return o%a/10**i}var ba=class e extends nt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==fe.number){let o=this._getOrReturnCtx(t);return le(o,{code:Y.invalid_type,expected:fe.number,received:o.parsedType}),$e}let n,i=new Dr;for(let o of this._def.checks)o.kind==="int"?mt.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),le(n,{code:Y.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(n=this._getOrReturnCtx(t,n),le(n,{code:Y.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(n=this._getOrReturnCtx(t,n),le(n,{code:Y.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?q1(t.data,o.value)!==0&&(n=this._getOrReturnCtx(t,n),le(n,{code:Y.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),le(n,{code:Y.not_finite,message:o.message}),i.dirty()):mt.assertNever(o);return{status:i.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,ge.toString(r))}gt(t,r){return this.setLimit("min",t,!1,ge.toString(r))}lte(t,r){return this.setLimit("max",t,!0,ge.toString(r))}lt(t,r){return this.setLimit("max",t,!1,ge.toString(r))}setLimit(t,r,n,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:ge.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:ge.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ge.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ge.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ge.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ge.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:ge.toString(r)})}finite(t){return this._addCheck({kind:"finite",message:ge.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ge.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ge.toString(t)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&mt.isInteger(t.value))}get isFinite(){let t=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(t===null||n.value<t)&&(t=n.value)}return Number.isFinite(r)&&Number.isFinite(t)}};ba.create=e=>new ba({checks:[],typeName:Q.ZodNumber,coerce:e?.coerce||!1,...Je(e)});var va=class e extends nt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==fe.bigint)return this._getInvalidInput(t);let n,i=new Dr;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(n=this._getOrReturnCtx(t,n),le(n,{code:Y.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(n=this._getOrReturnCtx(t,n),le(n,{code:Y.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),le(n,{code:Y.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):mt.assertNever(o);return{status:i.value,value:t.data}}_getInvalidInput(t){let r=this._getOrReturnCtx(t);return le(r,{code:Y.invalid_type,expected:fe.bigint,received:r.parsedType}),$e}gte(t,r){return this.setLimit("min",t,!0,ge.toString(r))}gt(t,r){return this.setLimit("min",t,!1,ge.toString(r))}lte(t,r){return this.setLimit("max",t,!0,ge.toString(r))}lt(t,r){return this.setLimit("max",t,!1,ge.toString(r))}setLimit(t,r,n,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:ge.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ge.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ge.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ge.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ge.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:ge.toString(r)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};va.create=e=>new va({checks:[],typeName:Q.ZodBigInt,coerce:e?.coerce??!1,...Je(e)});var Sa=class extends nt{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==fe.boolean){let n=this._getOrReturnCtx(t);return le(n,{code:Y.invalid_type,expected:fe.boolean,received:n.parsedType}),$e}return Kr(t.data)}};Sa.create=e=>new Sa({typeName:Q.ZodBoolean,coerce:e?.coerce||!1,...Je(e)});var wa=class e extends nt{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==fe.date){let o=this._getOrReturnCtx(t);return le(o,{code:Y.invalid_type,expected:fe.date,received:o.parsedType}),$e}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return le(o,{code:Y.invalid_date}),$e}let n=new Dr,i;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(i=this._getOrReturnCtx(t,i),le(i,{code:Y.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),n.dirty()):o.kind==="max"?t.data.getTime()>o.value&&(i=this._getOrReturnCtx(t,i),le(i,{code:Y.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),n.dirty()):mt.assertNever(o);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:ge.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:ge.toString(r)})}get minDate(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t!=null?new Date(t):null}};wa.create=e=>new wa({checks:[],coerce:e?.coerce||!1,typeName:Q.ZodDate,...Je(e)});var Ds=class extends nt{_parse(t){if(this._getType(t)!==fe.symbol){let n=this._getOrReturnCtx(t);return le(n,{code:Y.invalid_type,expected:fe.symbol,received:n.parsedType}),$e}return Kr(t.data)}};Ds.create=e=>new Ds({typeName:Q.ZodSymbol,...Je(e)});var ka=class extends nt{_parse(t){if(this._getType(t)!==fe.undefined){let n=this._getOrReturnCtx(t);return le(n,{code:Y.invalid_type,expected:fe.undefined,received:n.parsedType}),$e}return Kr(t.data)}};ka.create=e=>new ka({typeName:Q.ZodUndefined,...Je(e)});var xa=class extends nt{_parse(t){if(this._getType(t)!==fe.null){let n=this._getOrReturnCtx(t);return le(n,{code:Y.invalid_type,expected:fe.null,received:n.parsedType}),$e}return Kr(t.data)}};xa.create=e=>new xa({typeName:Q.ZodNull,...Je(e)});var Oo=class extends nt{constructor(){super(...arguments),this._any=!0}_parse(t){return Kr(t.data)}};Oo.create=e=>new Oo({typeName:Q.ZodAny,...Je(e)});var ro=class extends nt{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Kr(t.data)}};ro.create=e=>new ro({typeName:Q.ZodUnknown,...Je(e)});var fi=class extends nt{_parse(t){let r=this._getOrReturnCtx(t);return le(r,{code:Y.invalid_type,expected:fe.never,received:r.parsedType}),$e}};fi.create=e=>new fi({typeName:Q.ZodNever,...Je(e)});var qs=class extends nt{_parse(t){if(this._getType(t)!==fe.undefined){let n=this._getOrReturnCtx(t);return le(n,{code:Y.invalid_type,expected:fe.void,received:n.parsedType}),$e}return Kr(t.data)}};qs.create=e=>new qs({typeName:Q.ZodVoid,...Je(e)});var no=class e extends nt{_parse(t){let{ctx:r,status:n}=this._processInputParams(t),i=this._def;if(r.parsedType!==fe.array)return le(r,{code:Y.invalid_type,expected:fe.array,received:r.parsedType}),$e;if(i.exactLength!==null){let a=r.data.length>i.exactLength.value,s=r.data.length<i.exactLength.value;(a||s)&&(le(r,{code:a?Y.too_big:Y.too_small,minimum:s?i.exactLength.value:void 0,maximum:a?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),n.dirty())}if(i.minLength!==null&&r.data.length<i.minLength.value&&(le(r,{code:Y.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),n.dirty()),i.maxLength!==null&&r.data.length>i.maxLength.value&&(le(r,{code:Y.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((a,s)=>i.type._parseAsync(new Wn(r,a,r.path,s)))).then(a=>Dr.mergeArray(n,a));let o=[...r.data].map((a,s)=>i.type._parseSync(new Wn(r,a,r.path,s)));return Dr.mergeArray(n,o)}get element(){return this._def.type}min(t,r){return new e({...this._def,minLength:{value:t,message:ge.toString(r)}})}max(t,r){return new e({...this._def,maxLength:{value:t,message:ge.toString(r)}})}length(t,r){return new e({...this._def,exactLength:{value:t,message:ge.toString(r)}})}nonempty(t){return this.min(1,t)}};no.create=(e,t)=>new no({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Q.ZodArray,...Je(t)});function Fs(e){if(e instanceof bn){let t={};for(let r in e.shape){let n=e.shape[r];t[r]=yn.create(Fs(n))}return new bn({...e._def,shape:()=>t})}else return e instanceof no?new no({...e._def,type:Fs(e.element)}):e instanceof yn?yn.create(Fs(e.unwrap())):e instanceof Mi?Mi.create(Fs(e.unwrap())):e instanceof $i?$i.create(e.items.map(t=>Fs(t))):e}var bn=class e extends nt{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),r=mt.objectKeys(t);return this._cached={shape:t,keys:r},this._cached}_parse(t){if(this._getType(t)!==fe.object){let d=this._getOrReturnCtx(t);return le(d,{code:Y.invalid_type,expected:fe.object,received:d.parsedType}),$e}let{status:n,ctx:i}=this._processInputParams(t),{shape:o,keys:a}=this._getCached(),s=[];if(!(this._def.catchall instanceof fi&&this._def.unknownKeys==="strip"))for(let d in i.data)a.includes(d)||s.push(d);let l=[];for(let d of a){let u=o[d],c=i.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new Wn(i,c,i.path,d)),alwaysSet:d in i.data})}if(this._def.catchall instanceof fi){let d=this._def.unknownKeys;if(d==="passthrough")for(let u of s)l.push({key:{status:"valid",value:u},value:{status:"valid",value:i.data[u]}});else if(d==="strict")s.length>0&&(le(i,{code:Y.unrecognized_keys,keys:s}),n.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let d=this._def.catchall;for(let u of s){let c=i.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new Wn(i,c,i.path,u)),alwaysSet:u in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let d=[];for(let u of l){let c=await u.key,f=await u.value;d.push({key:c,value:f,alwaysSet:u.alwaysSet})}return d}).then(d=>Dr.mergeObjectSync(n,d)):Dr.mergeObjectSync(n,l)}get shape(){return this._def.shape()}strict(t){return ge.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,n)=>{let i=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:ge.errToObj(t).message??i}:{message:i}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Q.ZodObject})}setKey(t,r){return this.augment({[t]:r})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let r={};for(let n of mt.objectKeys(t))t[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}omit(t){let r={};for(let n of mt.objectKeys(this.shape))t[n]||(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}deepPartial(){return Fs(this)}partial(t){let r={};for(let n of mt.objectKeys(this.shape)){let i=this.shape[n];t&&!t[n]?r[n]=i:r[n]=i.optional()}return new e({...this._def,shape:()=>r})}required(t){let r={};for(let n of mt.objectKeys(this.shape))if(t&&!t[n])r[n]=this.shape[n];else{let o=this.shape[n];for(;o instanceof yn;)o=o._def.innerType;r[n]=o}return new e({...this._def,shape:()=>r})}keyof(){return kk(mt.objectKeys(this.shape))}};bn.create=(e,t)=>new bn({shape:()=>e,unknownKeys:"strip",catchall:fi.create(),typeName:Q.ZodObject,...Je(t)});bn.strictCreate=(e,t)=>new bn({shape:()=>e,unknownKeys:"strict",catchall:fi.create(),typeName:Q.ZodObject,...Je(t)});bn.lazycreate=(e,t)=>new bn({shape:e,unknownKeys:"strip",catchall:fi.create(),typeName:Q.ZodObject,...Je(t)});var Ta=class extends nt{_parse(t){let{ctx:r}=this._processInputParams(t),n=this._def.options;function i(o){for(let s of o)if(s.result.status==="valid")return s.result;for(let s of o)if(s.result.status==="dirty")return r.common.issues.push(...s.ctx.common.issues),s.result;let a=o.map(s=>new gn(s.ctx.common.issues));return le(r,{code:Y.invalid_union,unionErrors:a}),$e}if(r.common.async)return Promise.all(n.map(async o=>{let a={...r,common:{...r.common,issues:[]},parent:null};return{result:await o._parseAsync({data:r.data,path:r.path,parent:a}),ctx:a}})).then(i);{let o,a=[];for(let l of n){let d={...r,common:{...r.common,issues:[]},parent:null},u=l._parseSync({data:r.data,path:r.path,parent:d});if(u.status==="valid")return u;u.status==="dirty"&&!o&&(o={result:u,ctx:d}),d.common.issues.length&&a.push(d.common.issues)}if(o)return r.common.issues.push(...o.ctx.common.issues),o.result;let s=a.map(l=>new gn(l));return le(r,{code:Y.invalid_union,unionErrors:s}),$e}}get options(){return this._def.options}};Ta.create=(e,t)=>new Ta({options:e,typeName:Q.ZodUnion,...Je(t)});var to=e=>e instanceof Oa?to(e.schema):e instanceof Vn?to(e.innerType()):e instanceof Ca?[e.value]:e instanceof Ea?e.options:e instanceof Pa?mt.objectValues(e.enum):e instanceof Ra?to(e._def.innerType):e instanceof ka?[void 0]:e instanceof xa?[null]:e instanceof yn?[void 0,...to(e.unwrap())]:e instanceof Mi?[null,...to(e.unwrap())]:e instanceof _d||e instanceof $a?to(e.unwrap()):e instanceof Ia?to(e._def.innerType):[],qc=class e extends nt{_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==fe.object)return le(r,{code:Y.invalid_type,expected:fe.object,received:r.parsedType}),$e;let n=this.discriminator,i=r.data[n],o=this.optionsMap.get(i);return o?r.common.async?o._parseAsync({data:r.data,path:r.path,parent:r}):o._parseSync({data:r.data,path:r.path,parent:r}):(le(r,{code:Y.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),$e)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,r,n){let i=new Map;for(let o of r){let a=to(o.shape[t]);if(!a.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let s of a){if(i.has(s))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(s)}`);i.set(s,o)}}return new e({typeName:Q.ZodDiscriminatedUnion,discriminator:t,options:r,optionsMap:i,...Je(n)})}};function Eh(e,t){let r=Ii(e),n=Ii(t);if(e===t)return{valid:!0,data:e};if(r===fe.object&&n===fe.object){let i=mt.objectKeys(t),o=mt.objectKeys(e).filter(s=>i.indexOf(s)!==-1),a={...e,...t};for(let s of o){let l=Eh(e[s],t[s]);if(!l.valid)return{valid:!1};a[s]=l.data}return{valid:!0,data:a}}else if(r===fe.array&&n===fe.array){if(e.length!==t.length)return{valid:!1};let i=[];for(let o=0;o<e.length;o++){let a=e[o],s=t[o],l=Eh(a,s);if(!l.valid)return{valid:!1};i.push(l.data)}return{valid:!0,data:i}}else return r===fe.date&&n===fe.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var Aa=class extends nt{_parse(t){let{status:r,ctx:n}=this._processInputParams(t),i=(o,a)=>{if(Fc(o)||Fc(a))return $e;let s=Eh(o.value,a.value);return s.valid?((Dc(o)||Dc(a))&&r.dirty(),{status:r.value,value:s.data}):(le(n,{code:Y.invalid_intersection_types}),$e)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([o,a])=>i(o,a)):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Aa.create=(e,t,r)=>new Aa({left:e,right:t,typeName:Q.ZodIntersection,...Je(r)});var $i=class e extends nt{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==fe.array)return le(n,{code:Y.invalid_type,expected:fe.array,received:n.parsedType}),$e;if(n.data.length<this._def.items.length)return le(n,{code:Y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$e;!this._def.rest&&n.data.length>this._def.items.length&&(le(n,{code:Y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let o=[...n.data].map((a,s)=>{let l=this._def.items[s]||this._def.rest;return l?l._parse(new Wn(n,a,n.path,s)):null}).filter(a=>!!a);return n.common.async?Promise.all(o).then(a=>Dr.mergeArray(r,a)):Dr.mergeArray(r,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};$i.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new $i({items:e,typeName:Q.ZodTuple,rest:null,...Je(t)})};var Lc=class e extends nt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==fe.object)return le(n,{code:Y.invalid_type,expected:fe.object,received:n.parsedType}),$e;let i=[],o=this._def.keyType,a=this._def.valueType;for(let s in n.data)i.push({key:o._parse(new Wn(n,s,n.path,s)),value:a._parse(new Wn(n,n.data[s],n.path,s)),alwaysSet:s in n.data});return n.common.async?Dr.mergeObjectAsync(r,i):Dr.mergeObjectSync(r,i)}get element(){return this._def.valueType}static create(t,r,n){return r instanceof nt?new e({keyType:t,valueType:r,typeName:Q.ZodRecord,...Je(n)}):new e({keyType:Ao.create(),valueType:t,typeName:Q.ZodRecord,...Je(r)})}},Ls=class extends nt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==fe.map)return le(n,{code:Y.invalid_type,expected:fe.map,received:n.parsedType}),$e;let i=this._def.keyType,o=this._def.valueType,a=[...n.data.entries()].map(([s,l],d)=>({key:i._parse(new Wn(n,s,n.path,[d,"key"])),value:o._parse(new Wn(n,l,n.path,[d,"value"]))}));if(n.common.async){let s=new Map;return Promise.resolve().then(async()=>{for(let l of a){let d=await l.key,u=await l.value;if(d.status==="aborted"||u.status==="aborted")return $e;(d.status==="dirty"||u.status==="dirty")&&r.dirty(),s.set(d.value,u.value)}return{status:r.value,value:s}})}else{let s=new Map;for(let l of a){let d=l.key,u=l.value;if(d.status==="aborted"||u.status==="aborted")return $e;(d.status==="dirty"||u.status==="dirty")&&r.dirty(),s.set(d.value,u.value)}return{status:r.value,value:s}}}};Ls.create=(e,t,r)=>new Ls({valueType:t,keyType:e,typeName:Q.ZodMap,...Je(r)});var Us=class e extends nt{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==fe.set)return le(n,{code:Y.invalid_type,expected:fe.set,received:n.parsedType}),$e;let i=this._def;i.minSize!==null&&n.data.size<i.minSize.value&&(le(n,{code:Y.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),r.dirty()),i.maxSize!==null&&n.data.size>i.maxSize.value&&(le(n,{code:Y.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),r.dirty());let o=this._def.valueType;function a(l){let d=new Set;for(let u of l){if(u.status==="aborted")return $e;u.status==="dirty"&&r.dirty(),d.add(u.value)}return{status:r.value,value:d}}let s=[...n.data.values()].map((l,d)=>o._parse(new Wn(n,l,n.path,d)));return n.common.async?Promise.all(s).then(l=>a(l)):a(s)}min(t,r){return new e({...this._def,minSize:{value:t,message:ge.toString(r)}})}max(t,r){return new e({...this._def,maxSize:{value:t,message:ge.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}};Us.create=(e,t)=>new Us({valueType:e,minSize:null,maxSize:null,typeName:Q.ZodSet,...Je(t)});var Uc=class e extends nt{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==fe.function)return le(r,{code:Y.invalid_type,expected:fe.function,received:r.parsedType}),$e;function n(s,l){return hd({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Ns(),eo].filter(d=>!!d),issueData:{code:Y.invalid_arguments,argumentsError:l}})}function i(s,l){return hd({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Ns(),eo].filter(d=>!!d),issueData:{code:Y.invalid_return_type,returnTypeError:l}})}let o={errorMap:r.common.contextualErrorMap},a=r.data;if(this._def.returns instanceof Co){let s=this;return Kr(async function(...l){let d=new gn([]),u=await s._def.args.parseAsync(l,o).catch(p=>{throw d.addIssue(n(l,p)),d}),c=await Reflect.apply(a,this,u);return await s._def.returns._def.type.parseAsync(c,o).catch(p=>{throw d.addIssue(i(c,p)),d})})}else{let s=this;return Kr(function(...l){let d=s._def.args.safeParse(l,o);if(!d.success)throw new gn([n(l,d.error)]);let u=Reflect.apply(a,this,d.data),c=s._def.returns.safeParse(u,o);if(!c.success)throw new gn([i(u,c.error)]);return c.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:$i.create(t).rest(ro.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,r,n){return new e({args:t||$i.create([]).rest(ro.create()),returns:r||ro.create(),typeName:Q.ZodFunction,...Je(n)})}},Oa=class extends nt{get schema(){return this._def.getter()}_parse(t){let{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Oa.create=(e,t)=>new Oa({getter:e,typeName:Q.ZodLazy,...Je(t)});var Ca=class extends nt{_parse(t){if(t.data!==this._def.value){let r=this._getOrReturnCtx(t);return le(r,{received:r.data,code:Y.invalid_literal,expected:this._def.value}),$e}return{status:"valid",value:t.data}}get value(){return this._def.value}};Ca.create=(e,t)=>new Ca({value:e,typeName:Q.ZodLiteral,...Je(t)});function kk(e,t){return new Ea({values:e,typeName:Q.ZodEnum,...Je(t)})}var Ea=class e extends nt{_parse(t){if(typeof t.data!="string"){let r=this._getOrReturnCtx(t),n=this._def.values;return le(r,{expected:mt.joinValues(n),received:r.parsedType,code:Y.invalid_type}),$e}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let r=this._getOrReturnCtx(t),n=this._def.values;return le(r,{received:r.data,code:Y.invalid_enum_value,options:n}),$e}return Kr(t.data)}get options(){return this._def.values}get enum(){let t={};for(let r of this._def.values)t[r]=r;return t}get Values(){let t={};for(let r of this._def.values)t[r]=r;return t}get Enum(){let t={};for(let r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return e.create(t,{...this._def,...r})}exclude(t,r=this._def){return e.create(this.options.filter(n=>!t.includes(n)),{...this._def,...r})}};Ea.create=kk;var Pa=class extends nt{_parse(t){let r=mt.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==fe.string&&n.parsedType!==fe.number){let i=mt.objectValues(r);return le(n,{expected:mt.joinValues(i),received:n.parsedType,code:Y.invalid_type}),$e}if(this._cache||(this._cache=new Set(mt.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let i=mt.objectValues(r);return le(n,{received:n.data,code:Y.invalid_enum_value,options:i}),$e}return Kr(t.data)}get enum(){return this._def.values}};Pa.create=(e,t)=>new Pa({values:e,typeName:Q.ZodNativeEnum,...Je(t)});var Co=class extends nt{unwrap(){return this._def.type}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==fe.promise&&r.common.async===!1)return le(r,{code:Y.invalid_type,expected:fe.promise,received:r.parsedType}),$e;let n=r.parsedType===fe.promise?r.data:Promise.resolve(r.data);return Kr(n.then(i=>this._def.type.parseAsync(i,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Co.create=(e,t)=>new Co({type:e,typeName:Q.ZodPromise,...Je(t)});var Vn=class extends nt{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Q.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:r,ctx:n}=this._processInputParams(t),i=this._def.effect||null,o={addIssue:a=>{le(n,a),a.fatal?r.abort():r.dirty()},get path(){return n.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="preprocess"){let a=i.transform(n.data,o);if(n.common.async)return Promise.resolve(a).then(async s=>{if(r.value==="aborted")return $e;let l=await this._def.schema._parseAsync({data:s,path:n.path,parent:n});return l.status==="aborted"?$e:l.status==="dirty"?ya(l.value):r.value==="dirty"?ya(l.value):l});{if(r.value==="aborted")return $e;let s=this._def.schema._parseSync({data:a,path:n.path,parent:n});return s.status==="aborted"?$e:s.status==="dirty"?ya(s.value):r.value==="dirty"?ya(s.value):s}}if(i.type==="refinement"){let a=s=>{let l=i.refinement(s,o);if(n.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?$e:(s.status==="dirty"&&r.dirty(),a(s.value),{status:r.value,value:s.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>s.status==="aborted"?$e:(s.status==="dirty"&&r.dirty(),a(s.value).then(()=>({status:r.value,value:s.value}))))}if(i.type==="transform")if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!To(a))return $e;let s=i.transform(a.value,o);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:s}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>To(a)?Promise.resolve(i.transform(a.value,o)).then(s=>({status:r.value,value:s})):$e);mt.assertNever(i)}};Vn.create=(e,t,r)=>new Vn({schema:e,typeName:Q.ZodEffects,effect:t,...Je(r)});Vn.createWithPreprocess=(e,t,r)=>new Vn({schema:t,effect:{type:"preprocess",transform:e},typeName:Q.ZodEffects,...Je(r)});var yn=class extends nt{_parse(t){return this._getType(t)===fe.undefined?Kr(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};yn.create=(e,t)=>new yn({innerType:e,typeName:Q.ZodOptional,...Je(t)});var Mi=class extends nt{_parse(t){return this._getType(t)===fe.null?Kr(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Mi.create=(e,t)=>new Mi({innerType:e,typeName:Q.ZodNullable,...Je(t)});var Ra=class extends nt{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return r.parsedType===fe.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};Ra.create=(e,t)=>new Ra({innerType:e,typeName:Q.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Je(t)});var Ia=class extends nt{_parse(t){let{ctx:r}=this._processInputParams(t),n={...r,common:{...r.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Gs(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new gn(n.common.issues)},input:n.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new gn(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Ia.create=(e,t)=>new Ia({innerType:e,typeName:Q.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Je(t)});var Zs=class extends nt{_parse(t){if(this._getType(t)!==fe.nan){let n=this._getOrReturnCtx(t);return le(n,{code:Y.invalid_type,expected:fe.nan,received:n.parsedType}),$e}return{status:"valid",value:t.data}}};Zs.create=e=>new Zs({typeName:Q.ZodNaN,...Je(e)});var L1=Symbol("zod_brand"),_d=class extends nt{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},gd=class e extends nt{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?$e:o.status==="dirty"?(r.dirty(),ya(o.value)):this._def.out._parseAsync({data:o.value,path:n.path,parent:n})})();{let i=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?$e:i.status==="dirty"?(r.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:n.path,parent:n})}}static create(t,r){return new e({in:t,out:r,typeName:Q.ZodPipeline})}},$a=class extends nt{_parse(t){let r=this._def.innerType._parse(t),n=i=>(To(i)&&(i.value=Object.freeze(i.value)),i);return Gs(r)?r.then(i=>n(i)):n(r)}unwrap(){return this._def.innerType}};$a.create=(e,t)=>new $a({innerType:e,typeName:Q.ZodReadonly,...Je(t)});function bk(e,t){let r=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof r=="string"?{message:r}:r}function xk(e,t={},r){return e?Oo.create().superRefine((n,i)=>{let o=e(n);if(o instanceof Promise)return o.then(a=>{if(!a){let s=bk(t,n),l=s.fatal??r??!0;i.addIssue({code:"custom",...s,fatal:l})}});if(!o){let a=bk(t,n),s=a.fatal??r??!0;i.addIssue({code:"custom",...a,fatal:s})}}):Oo.create()}var U1={object:bn.lazycreate},Q;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(Q||(Q={}));var Z1=(e,t={message:`Input not instance of ${e.name}`})=>xk(r=>r instanceof e,t),Tk=Ao.create,Ak=ba.create,W1=Zs.create,V1=va.create,Ok=Sa.create,H1=wa.create,B1=Ds.create,K1=ka.create,J1=xa.create,Y1=Oo.create,X1=ro.create,Q1=fi.create,eN=qs.create,tN=no.create,Ph=bn.create,rN=bn.strictCreate,nN=Ta.create,iN=qc.create,oN=Aa.create,aN=$i.create,sN=Lc.create,lN=Ls.create,dN=Us.create,uN=Uc.create,cN=Oa.create,fN=Ca.create,mN=Ea.create,pN=Pa.create,hN=Co.create,_N=Vn.create,gN=yn.create,yN=Mi.create,bN=Vn.createWithPreprocess,vN=gd.create,SN=()=>Tk().optional(),wN=()=>Ak().optional(),kN=()=>Ok().optional(),xN={string:(e=>Ao.create({...e,coerce:!0})),number:(e=>ba.create({...e,coerce:!0})),boolean:(e=>Sa.create({...e,coerce:!0})),bigint:(e=>va.create({...e,coerce:!0})),date:(e=>wa.create({...e,coerce:!0}))};var TN=$e;import*as zk from"node:os";import*as Sn from"node:path";import*as Eo from"node:fs/promises";function Ek(e,t){return"Kandan attachment path must resolve inside an allowed upload root ("+e+"): "+t}function Pk(e){return"Kandan attachment upload path must not include hidden path segments: "+e}function Rk(e){return"Kandan attachment upload path extension is not allowed: "+e}var Ik="LINZUMI_THREAD_RUNNER_KANDAN_THREAD_ID";var $k="Kandan attachment path must not be empty";function io(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function Nk(e){if(Array.isArray(e))return e}function Jr(e){if(e!==void 0&&typeof e=="string"&&e.trim()!=="")return e.trim()}function AN(e){if(e!==void 0&&typeof e=="number"&&Number.isInteger(e))return e}function vn(e){let t={};t.type="text",t.text=JSON.stringify(e,void 0,2);let r={};return r.content=[t],r.structuredContent=e,r}var ON="failed: ([a-z0-9_]+)(?: detail=(.+))?$";async function Rh(e){let t;try{t=await e}catch(r){let n=ee(r),i=gs(n),o=new RegExp(ON).exec(i);if(o==null){let c={};return c.error=i,vn(c)}let a=o.slice(1),s=a[0],l;if(s!==void 0){let c=ue(s);l=c!==void 0?c:i}else l=i;let d={};d.error=l;let u=a[1];if(u!==void 0){let c=ue(u);c!==void 0&&(d.detail=c)}return vn(d)}return vn(t)}function Gk(e){let t=vr(e);if(t===void 0)return Uw(e);let r=ue(t),n=Cr(r);return n!==void 0&&n.includes("channel_required")?qw(new Error(n+". Remediation: pass the channel slug in the `channel` parameter, or set target.thread_id to a Linzumi thread you can access (the server resolves the thread's channel). The files were NOT attached; retry with a channel or thread instead of leaving them on disk.",{cause:r})):Lw(r)}function oo(e){let t={};return Object.entries(e).forEach(r=>{t[r[0]]=r[1]}),t}function Ih(e,t){if(Jr(e.thread_id)!==void 0||t===void 0)return e;let n=()=>{let a=oo(e);return a.thread_id=t,a},i=e.message_seq;if(i!==void 0&&typeof i<"u")return n();let o=Jr(e.kind);if(o===void 0)return e;switch(o){case"latest_assistant_message":case"message_seq":case"new_message":return n();default:return e}}function mi(e,t){if(Jr(e.thread_id)!==void 0||t===void 0)return e;let n=oo(e);return n.thread_id=t,n}function Zc(e,t){let r=Ln(t);if(r!==void 0)return ue(r).toString();let n=e.replace(new RegExp("^wss://"),"https://").replace(new RegExp("^ws://"),"http://"),i=Hi(t,n);return i.TAG==="Ok"?i._0.toString():gr(i._0)}function CN(e,t){let r=Jr(t.inline_url),n=Jr(t.carousel_url),i=oo(t);return r!==void 0&&(i.inline_url=Zc(e,r)),n!==void 0&&(i.carousel_url=Zc(e,n)),i}function EN(e,t){if(typeof t!="object"||t===null||Array.isArray(t))return t;let r=Jr(t.url),n=io(t.image_variants),i=oo(t);return r!==void 0&&(i.url=Zc(e,r)),n!==void 0&&(i.image_variants=CN(e,n)),i}function jk(e,t){let r=Nk(t.attachments);if(r===void 0)return t;let n=oo(t);return n.attachments=r.map(i=>EN(e,i)),n}function $h(e,t){let r=io(t.message),n=io(t.target_message);if(r===void 0&&n===void 0)return t;let i=oo(t);return r!==void 0&&(i.message=jk(e,r)),n!==void 0&&(i.target_message=jk(e,n)),i}var PN=[".csv",".diff",".gif",".htm",".html",".jpeg",".jpg",".json",".jsonl",".log",".md",".mp4",".patch",".pdf",".png",".svg",".txt",".webm",".webp",".xml",".zip"];async function RN(e){let t=[{path:e,label:"runner cwd"}],r=G(process.env.HOME,o=>o.trim()),n=Sn.resolve(r!==void 0&&r!==""?r:zk.homedir(),"Downloads"),i;try{i=await Eo.realpath(n)}catch{return t}return t.some(o=>o.path===i)||t.push({path:i,label:"~/Downloads"}),t}function IN(e,t){let r=Sn.relative(e,t);return r===""?!0:r.startsWith("..")?!1:!Sn.isAbsolute(r)}async function $N(e,t){if(t==="")return gr($k);let r=Sn.isAbsolute(t)?Sn.resolve(t):Sn.resolve(e,t);return await Eo.realpath(r)}function MN(e,t){let r=e.find(i=>IN(i.path,t));if(r!==void 0){if(Sn.relative(r.path,t).split(new RegExp("[\\\\/]+","g")).find(s=>s!==void 0?s.startsWith("."):!1)!==void 0)return gr(Pk(t));let a=Sn.extname(t).toLowerCase();return PN.includes(a)?void 0:gr(Rk(t))}let n=e.map(i=>i.label).join(", ");gr(Ek(n,t))}function jN(e){let t=e.toLowerCase();return t.endsWith(".png")?"image/png":t.endsWith(".jpg")||t.endsWith(".jpeg")?"image/jpeg":t.endsWith(".gif")?"image/gif":t.endsWith(".webp")?"image/webp":t.endsWith(".csv")?"text/csv":t.endsWith(".json")?"application/json":t.endsWith(".md")||t.endsWith(".txt")||t.endsWith(".log")?"text/plain":"application/octet-stream"}async function Fk(e,t){let r=await Eo.realpath(e),n=await RN(r),i=await $N(r,t);MN(n,i);let o=await Eo.stat(i);return o.isFile()?{path:i,fileName:Sn.basename(i),contentType:jN(i),sizeBytes:o.size}:gr("Linzumi upload path is not a file: "+i)}async function Dk(e,t,r,n,i){let o=await Eo.readFile(i),a={};return a["content-type"]=n,await cc.binary(Zc(e,t),{method:r,headers:a,body:Zw(o)})}async function qk(e){let t=await Promise.all(e.files.map(m=>Fk(e.cwd,m))),r=Jr(e.target.thread_id),n={},i=e.workspace;i!==void 0&&(n.workspace=i);let o=e.channel;o!==void 0&&(n.channel=o),r!==void 0&&(n.thread_id=r),n.files=t.map(m=>{let h={};return h.file_name=m.fileName,h.content_type=m.contentType,h.size_bytes=m.sizeBytes,h});let a=await e.client.prepareMessageUploads(n),s=Nk(a.uploads),l=s!==void 0?s:[];l.length===t.length||gr("Linzumi upload prepare response count mismatch"),await Promise.all(t.map(async(m,h)=>{let _=io(l[h]),g=Jr(k(_,S=>S.upload_url)),b=Jr(k(_,S=>S.upload_method)),y=b!==void 0?b:"PUT";if(g===void 0)return gr("Linzumi upload prepare response missing upload_url");let v=await Dk(e.serviceUrl,g,y,m.contentType,m.path);if(!v.ok)return gr("Linzumi upload failed for "+m.fileName+": "+v.status.toString()+" "+v.statusText)}));let d=l.map(m=>{let h=Jr(k(io(m),_=>_.file_id));return h!==void 0?h:gr("Linzumi upload prepare response missing file_id")}),u={},c=e.workspace;c!==void 0&&(u.workspace=c);let f=e.channel;f!==void 0&&(u.channel=f),r!==void 0&&(u.thread_id=r),u.target=e.target;let p=e.body;return p!==void 0&&(u.body=p),u.uploaded_file_ids=d,await e.client.attachMessageFiles(u)}async function Lk(e){let t=await Fk(e.cwd,e.file),r={},n=e.workspace;n!==void 0&&(r.workspace=n),r.name=e.name,r.file_name=t.fileName,r.content_type=t.contentType,r.size_bytes=t.sizeBytes;let i=await e.client.prepareCustomEmoji(r),o=io(i.upload),a=Jr(k(o,m=>m.upload_url)),s=Jr(k(o,m=>m.upload_method)),l=s!==void 0?s:"PUT";if(a===void 0)return gr("Linzumi custom emoji prepare response missing upload_url");let d=await Dk(e.serviceUrl,a,l,t.contentType,t.path);if(d.ok){let m=await d.json();if(typeof m!="object"||m===null||Array.isArray(m))return gr("Linzumi custom emoji upload returned non-object JSON");let h=io(m.custom_emoji);if(h===void 0)return gr("Linzumi custom emoji upload response missing custom_emoji");let _={};_.ok=!0;let g=i.workspace;_.workspace=g!==void 0?g:void 0,_.emoji=h;let b=Jr(m.asset_id);_.asset_id=b!==void 0?b:void 0;let y=AN(h.id);_.id=y!==void 0?y:void 0;let v=Jr(h.name);_.name=v!==void 0?v:void 0;let S=Jr(h.shortcode);_.shortcode=S!==void 0?S:void 0;let A=Jr(h.image_url);return _.image_url=A!==void 0?A:void 0,_}let u=d.status.toString()+" "+d.statusText,f=(await d.text()).trim(),p;if(f==="")p=u;else{let m=0,h;try{h=JSON.parse(f),m=1}catch{p=f}if(m===1)if(typeof h=="object"&&h!==null&&!Array.isArray(h)){let _=h.error;p=typeof _=="string"?_:f}else p=f}return gr("Linzumi custom emoji upload failed: "+p)}import*as wn from"node:fs";import*as Uk from"node:os";import*as Zk from"node:net";import*as Hn from"node:path";import*as Wk from"node:child_process";function zh(e,t){}function Nh(e){return e==="DesiredRunning"?"running":"stopped"}function Vk(e){switch(e){case"Running":return"running";case"Unhealthy":return"unhealthy";case"Exited":return"exited";case"Stopped":return"stopped"}}function NN(){let e=G(process.env.LINZUMI_DEV_SERVICES_DIR,t=>t.trim());return e!==void 0&&e!==""?e:Hn.join(Uk.homedir(),".linzumi","dev-services")}function GN(e){let t=e.replace(new RegExp("[^A-Za-z0-9._-]+","g"),"-").replace(new RegExp("^[-.]+|[-.]+$","g"),"").slice(0,80),r=qn(e).slice(0,8),n=t===""?"runner":t;return Hn.join(NN(),n+"."+r)}function Wc(e){let t=e.trim().toLowerCase();if(new RegExp("^[a-z0-9][a-z0-9._-]{0,63}$").test(t)&&!t.includes(".."))return t}function Gh(e,t){return Hn.join(e,"services",t+".json")}function Fh(e,t){return Hn.join(e,"exits",t+".json")}function Hk(e,t){return Hn.join(e,"logs",t+".log")}function yd(e){if(typeof e=="string"&&e!=="")return e}function bd(e){if(e!==void 0&&typeof e=="number"&&isFinite(e))return e}function FN(e){return e!==void 0?Array.isArray(e)?ze(e,t=>{if(typeof t=="number"&&Number.isInteger(t)&&t>0&&t<=65535)return t}):[]:[]}function DN(e){if(typeof e!="object"||e===null||Array.isArray(e)||!de(e.version,1))return;let t=yd(e.name),r=k(t,Wc),n=yd(e.command),i=yd(e.cwd),o=e.desiredState,a;if(typeof o=="string")switch(o){case"running":a="DesiredRunning";break;case"stopped":a="DesiredStopped";break;default:a=void 0}else a=void 0;let s=bd(e.updatedAtMs),l=yd(e.logPath),d=de(r,t);if(r!==void 0&&d&&n!==void 0&&i!==void 0&&a!==void 0&&s!==void 0&&l!==void 0)return{name:r,command:n,cwd:i,ports:FN(e.ports),restartOnBranchChange:de(e.restartOnBranchChange,!0),desiredState:a,pid:bd(e.pid),ownerPid:bd(e.ownerPid),startedAtMs:bd(e.startedAtMs),updatedAtMs:s,lastBranch:yd(e.lastBranch),logPath:l}}function Mh(e){return e!==void 0?e:null}function qN(e){return e!==void 0?e:null}function LN(e){let t={};return t.version=1,t.name=e.name,t.command=e.command,t.cwd=e.cwd,t.ports=e.ports.map(r=>r),t.restartOnBranchChange=e.restartOnBranchChange,t.desiredState=Nh(e.desiredState),t.pid=Mh(e.pid),t.ownerPid=Mh(e.ownerPid),t.startedAtMs=Mh(e.startedAtMs),t.updatedAtMs=e.updatedAtMs,t.lastBranch=qN(e.lastBranch),t.logPath=e.logPath,t}function Bk(e,t,r){let n=Gh(e,t.name),i=he(qt(Hn.dirname(n)),()=>{let a=n+".tmp";return he(Ti(a,JSON.stringify(LN(t))+`
122
- `),()=>li(a,n))});if(i.TAG==="Ok")return;let o={};o.path=n,o.message=i._0.message,r("dev_services.record_write_failed",o)}function Dh(e,t){let r=Wc(t);if(r===void 0)return;let n=Xt(Gh(e,r));if(n.TAG!=="Ok")return;let i;try{i=JSON.parse(n._0)}catch{return}return DN(i)}function UN(e){let t=hs(Hn.join(e,"services"));return t.TAG==="Ok"?ze(t._0,r=>{if(r.endsWith(".json"))return Dh(e,r.slice(0,r.length-5|0))}).toSorted((r,n)=>r.name.localeCompare(n.name)):[]}function Kk(e,t){let r=Xt(Fh(e,t));if(r.TAG!=="Ok")return;let n;try{n=JSON.parse(r._0)}catch{return}if(typeof n!="object"||n===null||Array.isArray(n))return;let i=bd(n.atMs);if(i===void 0)return;let o=n.code,a;a=typeof o=="number"?o:void 0;let s=n.signal,l;return l=typeof s=="string"?s:void 0,{code:a,signal:l,atMs:i}}function ZN(e){let t={};return t.command=e.command,t.args=e.args.map(r=>r),t.cwd=e.cwd,t.ownerPid=e.ownerPid,t.pollIntervalMs=e.pollIntervalMs,t.exitStatusPath=e.exitStatusPath,JSON.stringify(t)}function WN(e,t){return{command:e,args:["-e",`
121
+ `}}function i1(e){return new Promise((t,r)=>{setTimeout(()=>t(),e|0)})}function o1(e){return{startDeviceAuthorization:t=>ok(t.httpBaseUrl,t.workspaceSlug,t.channelSlug,t.onboarding,t.identity),pollDeviceCodeForToken:t=>ak(t.httpBaseUrl,t.deviceCode,t.expiresInSeconds,void 0),now:()=>Date.now(),sleep:i1,report:e,log:(t,r)=>{}}}var a1="local runner device authorization was denied - a signed-in user rejected this computer";async function lk(e,t,r,n,i,o,a,s){let l=o!==void 0?o:g=>{mr(g)},d=s!==void 0?s:o1(g=>l(n1(g))),u=a!==void 0?a:de(Yt(process.stderr.isTTY),!0),c=$t(on(e),we);if(c.TAG!=="Ok")return{TAG:"Error",_0:c._0};let f=c._0,p=d.now(),m={cycle:0,lastLoudPromptAtMs:void 0,startFailures:0},h=async g=>{let b=await d.pollDeviceCodeForToken({httpBaseUrl:f,deviceCode:g.deviceCode,expiresInSeconds:g.expiresInSeconds});if(typeof b!="object"||b.TAG!=="Transient")return b;let y=b.httpStatus,v=b.reason;d.report({TAG:"TransientFailure",reason:v,waitedMs:d.now()-p});let S={};return S.cycle=m.cycle,S.reason=v,S.httpStatus=y!==void 0?y:null,d.log("device_wait.transient_poll_failure",S),await d.sleep(5e3),await h(g)},_=async()=>{let g=await d.startDeviceAuthorization({httpBaseUrl:f,workspaceSlug:t,channelSlug:r,onboarding:n,identity:i});if(g.TAG==="Ok"){let b=g._0;m.startFailures=0,m.cycle=m.cycle+1|0;let y=r1(m.cycle,d.now(),m.lastLoudPromptAtMs,u),v=0;switch(y){case"DecidePrompt":case"DecideSummary":v=1;break;case"DecideRefreshLine":d.report({TAG:"RefreshLine",cycle:m.cycle,userCode:b.userCode,verificationUri:b.verificationUri,waitedMs:d.now()-p});break;case"DecideSilent":break}if(v===1){m.lastLoudPromptAtMs=d.now();let R=d.now()-p,W;W=y==="DecidePrompt"?{TAG:"Prompt",cycle:m.cycle,userCode:b.userCode,verificationUri:b.verificationUri,waitedMs:R}:{TAG:"Summary",cycle:m.cycle,userCode:b.userCode,verificationUri:b.verificationUri,waitedMs:R},d.report(W)}let S={};S.cycle=m.cycle,S.verificationUri=b.verificationUri,d.log("device_wait.code_issued",S);let A=await h(b);if(typeof A!="object")switch(A){case"CodeExpired":let R={};return R.cycle=m.cycle,R.outcome="code_expired",d.log("device_wait.code_retired",R),await _();case"Denied":return{TAG:"Error",_0:we(a1)};case"Consumed":let W={};return W.cycle=m.cycle,W.outcome="consumed",d.log("device_wait.code_retired",W),await _()}else switch(A.TAG){case"Token":let R={};return R.cycle=m.cycle,R.waitedMs=d.now()-p,d.log("device_wait.authorized",R),{TAG:"Ok",_0:A._0};case"Rejected":let W=A.httpStatus,L=A.reason;d.report({TAG:"TransientFailure",reason:ik(L,W),waitedMs:d.now()-p});let ae={};return ae.cycle=m.cycle,ae.reason=L!==void 0?L:null,ae.httpStatus=W,d.log("device_wait.code_rejected",ae),await _();case"Transient":return await _()}}else{let b=g._0;m.startFailures=m.startFailures+1|0;let y=Math.min(6e4,5e3*Math.pow(2,m.startFailures-1|0));d.report({TAG:"StartFailed",reason:b.summary,retryInMs:y});let v={};return v.reason=b.summary,v.retryInMs=y,v.attempt=m.startFailures,d.log("device_wait.start_failed",v),await d.sleep(y),await _()}};return await _()}function ga(e,t){let r=t!==void 0?parseInt(e,t):parseInt(e);if(!(Number.isNaN(r)||r>2147483647||r<-2147483648))return r|0}var l1="linzumi-machine-fingerprint:v1:";var dk={platform:void 0,execFile:void 0,readFile:void 0,username:void 0};function d1(e,t){return _s(e,t,5e3,1024*1024)}var u1=new RegExp('"IOPlatformUUID"\\s*=\\s*"([0-9A-Fa-f-]{36})"'),c1=new RegExp("^[0-9a-f]{32}$"),f1=["/etc/machine-id","/var/lib/dbus/machine-id"];function m1(e){let t=e!==void 0?e:dk,r=x(t.platform,process.platform),n=x(t.execFile,d1),i=x(t.readFile,Qt);switch(r){case"darwin":let o=n("ioreg",["-rd1","-c","IOPlatformExpertDevice"]);if(o.TAG!=="Ok")return;let a=u1.exec(o._0);if(a==null)return;let s=a.slice(1)[0];if(s===void 0)return;let l=ue(s);return l!==void 0?l.toLowerCase():void 0;case"linux":return Ve(f1,void 0,(d,u)=>{if(d!==void 0)return d;let c=i(u);if(c.TAG!=="Ok")return;let f=c._0.trim().toLowerCase();if(c1.test(f))return f});default:return}}function uk(e){return G(m1(e!==void 0?e:dk),r=>"mfp-"+qn(l1+r).slice(0,32))}function ck(e){let t={};return e!==void 0&&(t.machineFingerprintV2=e),t}function pk(e){return e==="UnusableRejected"?"Cached Linzumi local runner auth was rejected; starting OAuth.":"Cached Linzumi local runner auth points at a workspace or runner the server no longer knows (it may have been reset); starting OAuth."}function p1(e,t){return he($t(on(e),we),r=>{let n=Ln(r);return n===void 0?{TAG:"Error",_0:we("invalid URL: "+r)}:{TAG:"Ok",_0:"Workspace '"+(t!==void 0?t:"undefined")+"' was not found on "+ue(n).host+". Sign in to the web app to create it, then re-run connect."}})}var h1="local runner browser OAuth is not available in this implementation yet; use --auth-mode device or supply --token";async function _1(e){let t=jc(process.env),r=zc(t,e.serviceUrl,void 0);if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=r._0,i=uk(void 0),o=mk.hostname(),a={commanderId:n,machineFingerprint:i,hostname:o},s=await lk(e.serviceUrl,e.workspaceSlug,e.channelSlug,e.onboarding,a,void 0,void 0,void 0);if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0};let l=s._0,d=e.authFilePath,u=d!==void 0?d:ud();return wt(Pc(e.serviceUrl,l.accessToken,l.expiresInSeconds,u,new Date),c=>l.accessToken)}async function g1(e){let t=e.authMode;return typeof(t!==void 0?t:{TAG:"BrowserMode",callbackHost:e.callbackHost})!="object"?await _1(e):{TAG:"Error",_0:we(h1)}}function y1(){return{readCachedToken:(e,t)=>Ec(e,t,Date.now()),validateToken:(e,t,r,n,i)=>Ms(e,t,r,n,i),acquireAndCacheToken:g1}}async function b1(e,t,r){let n=await t.validateToken(e.serviceUrl,r,e.workspaceSlug,e.channelSlug,e.requiredScopes);if(n.TAG!=="Ok")return{TAG:"Ok",_0:void 0};switch(n._0){case"Usable":case"Rejected":return{TAG:"Ok",_0:void 0};case"NotFound":return he(p1(e.serviceUrl,e.workspaceSlug),i=>({TAG:"Error",_0:we(i)}))}}async function Nc(e,t){let r=t!==void 0?t:y1(),n=e.explicitToken;if(n!==void 0)return{TAG:"Ok",_0:n};let i=e.authFilePath,o=i!==void 0?i:ud(),a=r.readCachedToken(e.serviceUrl,o);if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};let s=a._0,l;if(s!==void 0){let m=await r.validateToken(e.serviceUrl,s.accessToken,e.workspaceSlug,e.channelSlug,e.requiredScopes);if(m.TAG==="Ok")switch(m._0){case"Usable":l={TAG:"Ok",_0:s.accessToken};break;case"Rejected":let h=e.reportRejectedCachedToken;h!==void 0&&h("UnusableRejected"),l={TAG:"Ok",_0:void 0};break;case"NotFound":let _=e.reportRejectedCachedToken;_!==void 0&&_("UnusableNotFound"),l={TAG:"Ok",_0:void 0};break}else l={TAG:"Error",_0:m._0}}else l={TAG:"Ok",_0:void 0};if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0};let d=l._0;if(d!==void 0)return{TAG:"Ok",_0:d};let u=await r.acquireAndCacheToken(e);if(u.TAG!=="Ok")return{TAG:"Error",_0:u._0};let c=u._0;if(e.workspaceSlug===void 0)return{TAG:"Ok",_0:c};let p=await b1(e,r,c);return p.TAG==="Ok"?{TAG:"Ok",_0:c}:{TAG:"Error",_0:p._0}}function Th(e){return we(e.message)}function Gc(e,t,r,n){return he($t(jw(Ah.join(_k.tmpdir(),"linzumi-mcp-auth-")),Th),i=>he($t(ps(i,448),Th),()=>{let o=Ah.join(i,"auth.json");return he(Pc(e,r!==void 0?r:t,void 0,o,n),a=>wt($t(ps(o,384),Th),()=>({path:o,directory:i,cleanup:()=>{Dp(i)}})))}))}function v1(){return{readCachedToken:(e,t)=>Ec(e,t,Date.now()),validateTokenOutcome:(e,t,r,n)=>Ms(e,t,r,n,void 0),resolveToken:e=>Nc(e,void 0)}}var S1="missing Linzumi MCP token; run linzumi auth or pass --token";function w1(e){return"Linzumi MCP token was rejected by the server and re-mint failed: "+e}async function gk(e,t,r,n,i,o){let a=o!==void 0?o:v1(),s=r!==void 0?r:ud(),l=t!==void 0?{TAG:"Ok",_0:t}:wt(a.readCachedToken(e,s),f=>G(f,p=>p.accessToken));if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0};let d=l._0;if(d===void 0)return{TAG:"Error",_0:we(S1)};let u=await a.validateTokenOutcome(e,d,n,i);if(u.TAG!=="Ok")return{TAG:"Error",_0:u._0};switch(u._0){case"Usable":return{TAG:"Ok",_0:d};case"Rejected":case"NotFound":break}let c=await a.resolveToken({serviceUrl:e,explicitToken:void 0,workspaceSlug:n,channelSlug:i,requiredScopes:[],onboarding:void 0,authFilePath:r,callbackHost:void 0,authMode:void 0,reportRejectedCachedToken:void 0});return c.TAG==="Ok"?{TAG:"Ok",_0:c._0}:{TAG:"Error",_0:we(w1(c._0.summary))}}var T={};Gp(T,{BRAND:()=>B1,DIRTY:()=>ya,EMPTY_PATH:()=>A1,INVALID:()=>Me,NEVER:()=>RN,OK:()=>Kr,ParseStatus:()=>Dr,Schema:()=>nt,ZodAny:()=>Oo,ZodArray:()=>no,ZodBigInt:()=>va,ZodBoolean:()=>Sa,ZodBranded:()=>_d,ZodCatch:()=>Ia,ZodDate:()=>wa,ZodDefault:()=>Ra,ZodDiscriminatedUnion:()=>qc,ZodEffects:()=>Vn,ZodEnum:()=>Ea,ZodError:()=>gn,ZodFirstPartyTypeKind:()=>Q,ZodFunction:()=>Uc,ZodIntersection:()=>Aa,ZodIssueCode:()=>Y,ZodLazy:()=>Oa,ZodLiteral:()=>Ca,ZodMap:()=>Ls,ZodNaN:()=>Ws,ZodNativeEnum:()=>Pa,ZodNever:()=>fi,ZodNull:()=>xa,ZodNullable:()=>Mi,ZodNumber:()=>ba,ZodObject:()=>bn,ZodOptional:()=>yn,ZodParsedType:()=>fe,ZodPipeline:()=>gd,ZodPromise:()=>Co,ZodReadonly:()=>$a,ZodRecord:()=>Lc,ZodSchema:()=>nt,ZodSet:()=>Us,ZodString:()=>Ao,ZodSymbol:()=>Ds,ZodTransformer:()=>Vn,ZodTuple:()=>$i,ZodType:()=>nt,ZodUndefined:()=>ka,ZodUnion:()=>Ta,ZodUnknown:()=>ro,ZodVoid:()=>qs,addIssueToContext:()=>le,any:()=>nN,array:()=>sN,bigint:()=>X1,boolean:()=>Ck,coerce:()=>PN,custom:()=>Tk,date:()=>Q1,datetimeRegex:()=>kk,defaultErrorMap:()=>eo,discriminatedUnion:()=>uN,effect:()=>wN,enum:()=>bN,function:()=>_N,getErrorMap:()=>Ns,getParsedType:()=>Ii,instanceof:()=>J1,intersection:()=>cN,isAborted:()=>Fc,isAsync:()=>Gs,isDirty:()=>Dc,isValid:()=>To,late:()=>K1,lazy:()=>gN,literal:()=>yN,makeIssue:()=>hd,map:()=>pN,nan:()=>Y1,nativeEnum:()=>vN,never:()=>oN,null:()=>rN,nullable:()=>xN,number:()=>Ok,object:()=>Rh,objectUtil:()=>Ch,oboolean:()=>EN,onumber:()=>CN,optional:()=>kN,ostring:()=>ON,pipeline:()=>AN,preprocess:()=>TN,promise:()=>SN,quotelessJson:()=>k1,record:()=>mN,set:()=>hN,setErrorMap:()=>T1,strictObject:()=>lN,string:()=>Ak,symbol:()=>eN,transformer:()=>wN,tuple:()=>fN,undefined:()=>tN,union:()=>dN,unknown:()=>iN,util:()=>mt,void:()=>aN});var mt;(function(e){e.assertEqual=i=>{};function t(i){}e.assertIs=t;function r(i){throw new Error}e.assertNever=r,e.arrayToEnum=i=>{let o={};for(let a of i)o[a]=a;return o},e.getValidEnumValues=i=>{let o=e.objectKeys(i).filter(s=>typeof i[i[s]]!="number"),a={};for(let s of o)a[s]=i[s];return e.objectValues(a)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let o=[];for(let a in i)Object.prototype.hasOwnProperty.call(i,a)&&o.push(a);return o},e.find=(i,o)=>{for(let a of i)if(o(a))return a},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function n(i,o=" | "){return i.map(a=>typeof a=="string"?`'${a}'`:a).join(o)}e.joinValues=n,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(mt||(mt={}));var Ch;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(Ch||(Ch={}));var fe=mt.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ii=e=>{switch(typeof e){case"undefined":return fe.undefined;case"string":return fe.string;case"number":return Number.isNaN(e)?fe.nan:fe.number;case"boolean":return fe.boolean;case"function":return fe.function;case"bigint":return fe.bigint;case"symbol":return fe.symbol;case"object":return Array.isArray(e)?fe.array:e===null?fe.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?fe.promise:typeof Map<"u"&&e instanceof Map?fe.map:typeof Set<"u"&&e instanceof Set?fe.set:typeof Date<"u"&&e instanceof Date?fe.date:fe.object;default:return fe.unknown}};var Y=mt.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),k1=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),gn=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){let r=t||function(o){return o.message},n={_errors:[]},i=o=>{for(let a of o.issues)if(a.code==="invalid_union")a.unionErrors.map(i);else if(a.code==="invalid_return_type")i(a.returnTypeError);else if(a.code==="invalid_arguments")i(a.argumentsError);else if(a.path.length===0)n._errors.push(r(a));else{let s=n,l=0;for(;l<a.path.length;){let d=a.path[l];l===a.path.length-1?(s[d]=s[d]||{_errors:[]},s[d]._errors.push(r(a))):s[d]=s[d]||{_errors:[]},s=s[d],l++}}};return i(this),n}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,mt.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=r=>r.message){let r={},n=[];for(let i of this.issues)if(i.path.length>0){let o=i.path[0];r[o]=r[o]||[],r[o].push(t(i))}else n.push(t(i));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};gn.create=e=>new gn(e);var x1=(e,t)=>{let r;switch(e.code){case Y.invalid_type:e.received===fe.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case Y.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,mt.jsonStringifyReplacer)}`;break;case Y.unrecognized_keys:r=`Unrecognized key(s) in object: ${mt.joinValues(e.keys,", ")}`;break;case Y.invalid_union:r="Invalid input";break;case Y.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${mt.joinValues(e.options)}`;break;case Y.invalid_enum_value:r=`Invalid enum value. Expected ${mt.joinValues(e.options)}, received '${e.received}'`;break;case Y.invalid_arguments:r="Invalid function arguments";break;case Y.invalid_return_type:r="Invalid function return type";break;case Y.invalid_date:r="Invalid date";break;case Y.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:mt.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case Y.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case Y.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case Y.custom:r="Invalid input";break;case Y.invalid_intersection_types:r="Intersection results could not be merged";break;case Y.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case Y.not_finite:r="Number must be finite";break;default:r=t.defaultError,mt.assertNever(e)}return{message:r}},eo=x1;var yk=eo;function T1(e){yk=e}function Ns(){return yk}var hd=e=>{let{data:t,path:r,errorMaps:n,issueData:i}=e,o=[...r,...i.path||[]],a={...i,path:o};if(i.message!==void 0)return{...i,path:o,message:i.message};let s="",l=n.filter(d=>!!d).slice().reverse();for(let d of l)s=d(a,{data:t,defaultError:s}).message;return{...i,path:o,message:s}},A1=[];function le(e,t){let r=Ns(),n=hd({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===eo?void 0:eo].filter(i=>!!i)});e.common.issues.push(n)}var Dr=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){let n=[];for(let i of r){if(i.status==="aborted")return Me;i.status==="dirty"&&t.dirty(),n.push(i.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,r){let n=[];for(let i of r){let o=await i.key,a=await i.value;n.push({key:o,value:a})}return e.mergeObjectSync(t,n)}static mergeObjectSync(t,r){let n={};for(let i of r){let{key:o,value:a}=i;if(o.status==="aborted"||a.status==="aborted")return Me;o.status==="dirty"&&t.dirty(),a.status==="dirty"&&t.dirty(),o.value!=="__proto__"&&(typeof a.value<"u"||i.alwaysSet)&&(n[o.value]=a.value)}return{status:t.value,value:n}}},Me=Object.freeze({status:"aborted"}),ya=e=>({status:"dirty",value:e}),Kr=e=>({status:"valid",value:e}),Fc=e=>e.status==="aborted",Dc=e=>e.status==="dirty",To=e=>e.status==="valid",Gs=e=>typeof Promise<"u"&&e instanceof Promise;var ye;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(ye||(ye={}));var Zn=class{constructor(t,r,n,i){this._cachedPath=[],this.parent=t,this.data=r,this._path=n,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},bk=(e,t)=>{if(To(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new gn(e.common.issues);return this._error=r,this._error}}};function Ye(e){if(!e)return{};let{errorMap:t,invalid_type_error:r,required_error:n,description:i}=e;if(t&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(a,s)=>{let{message:l}=e;return a.code==="invalid_enum_value"?{message:l??s.defaultError}:typeof s.data>"u"?{message:l??n??s.defaultError}:a.code!=="invalid_type"?{message:s.defaultError}:{message:l??r??s.defaultError}},description:i}}var nt=class{get description(){return this._def.description}_getType(t){return Ii(t.data)}_getOrReturnCtx(t,r){return r||{common:t.parent.common,data:t.data,parsedType:Ii(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Dr,ctx:{common:t.parent.common,data:t.data,parsedType:Ii(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let r=this._parse(t);if(Gs(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){let r=this._parse(t);return Promise.resolve(r)}parse(t,r){let n=this.safeParse(t,r);if(n.success)return n.data;throw n.error}safeParse(t,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ii(t)},i=this._parseSync({data:t,path:n.path,parent:n});return bk(n,i)}"~validate"(t){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ii(t)};if(!this["~standard"].async)try{let n=this._parseSync({data:t,path:[],parent:r});return To(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:r}).then(n=>To(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(t,r){let n=await this.safeParseAsync(t,r);if(n.success)return n.data;throw n.error}async safeParseAsync(t,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ii(t)},i=this._parse({data:t,path:n.path,parent:n}),o=await(Gs(i)?i:Promise.resolve(i));return bk(n,o)}refine(t,r){let n=i=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(i):r;return this._refinement((i,o)=>{let a=t(i),s=()=>o.addIssue({code:Y.custom,...n(i)});return typeof Promise<"u"&&a instanceof Promise?a.then(l=>l?!0:(s(),!1)):a?!0:(s(),!1)})}refinement(t,r){return this._refinement((n,i)=>t(n)?!0:(i.addIssue(typeof r=="function"?r(n,i):r),!1))}_refinement(t){return new Vn({schema:this,typeName:Q.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return yn.create(this,this._def)}nullable(){return Mi.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return no.create(this)}promise(){return Co.create(this,this._def)}or(t){return Ta.create([this,t],this._def)}and(t){return Aa.create(this,t,this._def)}transform(t){return new Vn({...Ye(this._def),schema:this,typeName:Q.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let r=typeof t=="function"?t:()=>t;return new Ra({...Ye(this._def),innerType:this,defaultValue:r,typeName:Q.ZodDefault})}brand(){return new _d({typeName:Q.ZodBranded,type:this,...Ye(this._def)})}catch(t){let r=typeof t=="function"?t:()=>t;return new Ia({...Ye(this._def),innerType:this,catchValue:r,typeName:Q.ZodCatch})}describe(t){let r=this.constructor;return new r({...this._def,description:t})}pipe(t){return gd.create(this,t)}readonly(){return $a.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},O1=/^c[^\s-]{8,}$/i,C1=/^[0-9a-z]+$/,E1=/^[0-9A-HJKMNP-TV-Z]{26}$/i,P1=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,R1=/^[a-z0-9_-]{21}$/i,I1=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,$1=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,M1=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,j1="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Eh,z1=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,N1=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,G1=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,F1=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,D1=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,q1=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Sk="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",L1=new RegExp(`^${Sk}$`);function wk(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let r=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${r}`}function U1(e){return new RegExp(`^${wk(e)}$`)}function kk(e){let t=`${Sk}T${wk(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function W1(e,t){return!!((t==="v4"||!t)&&z1.test(e)||(t==="v6"||!t)&&G1.test(e))}function Z1(e,t){if(!I1.test(e))return!1;try{let[r]=e.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),i=JSON.parse(atob(n));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||t&&i.alg!==t)}catch{return!1}}function V1(e,t){return!!((t==="v4"||!t)&&N1.test(e)||(t==="v6"||!t)&&F1.test(e))}var Ao=class e extends nt{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==fe.string){let o=this._getOrReturnCtx(t);return le(o,{code:Y.invalid_type,expected:fe.string,received:o.parsedType}),Me}let n=new Dr,i;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(i=this._getOrReturnCtx(t,i),le(i,{code:Y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),n.dirty());else if(o.kind==="max")t.data.length>o.value&&(i=this._getOrReturnCtx(t,i),le(i,{code:Y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),n.dirty());else if(o.kind==="length"){let a=t.data.length>o.value,s=t.data.length<o.value;(a||s)&&(i=this._getOrReturnCtx(t,i),a?le(i,{code:Y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):s&&le(i,{code:Y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),n.dirty())}else if(o.kind==="email")M1.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"email",code:Y.invalid_string,message:o.message}),n.dirty());else if(o.kind==="emoji")Eh||(Eh=new RegExp(j1,"u")),Eh.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"emoji",code:Y.invalid_string,message:o.message}),n.dirty());else if(o.kind==="uuid")P1.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"uuid",code:Y.invalid_string,message:o.message}),n.dirty());else if(o.kind==="nanoid")R1.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"nanoid",code:Y.invalid_string,message:o.message}),n.dirty());else if(o.kind==="cuid")O1.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"cuid",code:Y.invalid_string,message:o.message}),n.dirty());else if(o.kind==="cuid2")C1.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"cuid2",code:Y.invalid_string,message:o.message}),n.dirty());else if(o.kind==="ulid")E1.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"ulid",code:Y.invalid_string,message:o.message}),n.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{i=this._getOrReturnCtx(t,i),le(i,{validation:"url",code:Y.invalid_string,message:o.message}),n.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"regex",code:Y.invalid_string,message:o.message}),n.dirty())):o.kind==="trim"?t.data=t.data.trim():o.kind==="includes"?t.data.includes(o.value,o.position)||(i=this._getOrReturnCtx(t,i),le(i,{code:Y.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),n.dirty()):o.kind==="toLowerCase"?t.data=t.data.toLowerCase():o.kind==="toUpperCase"?t.data=t.data.toUpperCase():o.kind==="startsWith"?t.data.startsWith(o.value)||(i=this._getOrReturnCtx(t,i),le(i,{code:Y.invalid_string,validation:{startsWith:o.value},message:o.message}),n.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(i=this._getOrReturnCtx(t,i),le(i,{code:Y.invalid_string,validation:{endsWith:o.value},message:o.message}),n.dirty()):o.kind==="datetime"?kk(o).test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{code:Y.invalid_string,validation:"datetime",message:o.message}),n.dirty()):o.kind==="date"?L1.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{code:Y.invalid_string,validation:"date",message:o.message}),n.dirty()):o.kind==="time"?U1(o).test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{code:Y.invalid_string,validation:"time",message:o.message}),n.dirty()):o.kind==="duration"?$1.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"duration",code:Y.invalid_string,message:o.message}),n.dirty()):o.kind==="ip"?W1(t.data,o.version)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"ip",code:Y.invalid_string,message:o.message}),n.dirty()):o.kind==="jwt"?Z1(t.data,o.alg)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"jwt",code:Y.invalid_string,message:o.message}),n.dirty()):o.kind==="cidr"?V1(t.data,o.version)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"cidr",code:Y.invalid_string,message:o.message}),n.dirty()):o.kind==="base64"?D1.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"base64",code:Y.invalid_string,message:o.message}),n.dirty()):o.kind==="base64url"?q1.test(t.data)||(i=this._getOrReturnCtx(t,i),le(i,{validation:"base64url",code:Y.invalid_string,message:o.message}),n.dirty()):mt.assertNever(o);return{status:n.value,value:t.data}}_regex(t,r,n){return this.refinement(i=>t.test(i),{validation:r,code:Y.invalid_string,...ye.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...ye.errToObj(t)})}url(t){return this._addCheck({kind:"url",...ye.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...ye.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...ye.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...ye.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...ye.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...ye.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...ye.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...ye.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...ye.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...ye.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...ye.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...ye.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...ye.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...ye.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...ye.errToObj(t)})}regex(t,r){return this._addCheck({kind:"regex",regex:t,...ye.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r?.position,...ye.errToObj(r?.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,...ye.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,...ye.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,...ye.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,...ye.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,...ye.errToObj(r)})}nonempty(t){return this.min(1,ye.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};Ao.create=e=>new Ao({checks:[],typeName:Q.ZodString,coerce:e?.coerce??!1,...Ye(e)});function H1(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,i=r>n?r:n,o=Number.parseInt(e.toFixed(i).replace(".","")),a=Number.parseInt(t.toFixed(i).replace(".",""));return o%a/10**i}var ba=class e extends nt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==fe.number){let o=this._getOrReturnCtx(t);return le(o,{code:Y.invalid_type,expected:fe.number,received:o.parsedType}),Me}let n,i=new Dr;for(let o of this._def.checks)o.kind==="int"?mt.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),le(n,{code:Y.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(n=this._getOrReturnCtx(t,n),le(n,{code:Y.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(n=this._getOrReturnCtx(t,n),le(n,{code:Y.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?H1(t.data,o.value)!==0&&(n=this._getOrReturnCtx(t,n),le(n,{code:Y.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),le(n,{code:Y.not_finite,message:o.message}),i.dirty()):mt.assertNever(o);return{status:i.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,ye.toString(r))}gt(t,r){return this.setLimit("min",t,!1,ye.toString(r))}lte(t,r){return this.setLimit("max",t,!0,ye.toString(r))}lt(t,r){return this.setLimit("max",t,!1,ye.toString(r))}setLimit(t,r,n,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:ye.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:ye.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ye.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ye.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ye.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ye.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:ye.toString(r)})}finite(t){return this._addCheck({kind:"finite",message:ye.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ye.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ye.toString(t)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&mt.isInteger(t.value))}get isFinite(){let t=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(t===null||n.value<t)&&(t=n.value)}return Number.isFinite(r)&&Number.isFinite(t)}};ba.create=e=>new ba({checks:[],typeName:Q.ZodNumber,coerce:e?.coerce||!1,...Ye(e)});var va=class e extends nt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==fe.bigint)return this._getInvalidInput(t);let n,i=new Dr;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(n=this._getOrReturnCtx(t,n),le(n,{code:Y.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(n=this._getOrReturnCtx(t,n),le(n,{code:Y.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),le(n,{code:Y.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):mt.assertNever(o);return{status:i.value,value:t.data}}_getInvalidInput(t){let r=this._getOrReturnCtx(t);return le(r,{code:Y.invalid_type,expected:fe.bigint,received:r.parsedType}),Me}gte(t,r){return this.setLimit("min",t,!0,ye.toString(r))}gt(t,r){return this.setLimit("min",t,!1,ye.toString(r))}lte(t,r){return this.setLimit("max",t,!0,ye.toString(r))}lt(t,r){return this.setLimit("max",t,!1,ye.toString(r))}setLimit(t,r,n,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:ye.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ye.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ye.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ye.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ye.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:ye.toString(r)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};va.create=e=>new va({checks:[],typeName:Q.ZodBigInt,coerce:e?.coerce??!1,...Ye(e)});var Sa=class extends nt{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==fe.boolean){let n=this._getOrReturnCtx(t);return le(n,{code:Y.invalid_type,expected:fe.boolean,received:n.parsedType}),Me}return Kr(t.data)}};Sa.create=e=>new Sa({typeName:Q.ZodBoolean,coerce:e?.coerce||!1,...Ye(e)});var wa=class e extends nt{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==fe.date){let o=this._getOrReturnCtx(t);return le(o,{code:Y.invalid_type,expected:fe.date,received:o.parsedType}),Me}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return le(o,{code:Y.invalid_date}),Me}let n=new Dr,i;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(i=this._getOrReturnCtx(t,i),le(i,{code:Y.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),n.dirty()):o.kind==="max"?t.data.getTime()>o.value&&(i=this._getOrReturnCtx(t,i),le(i,{code:Y.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),n.dirty()):mt.assertNever(o);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:ye.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:ye.toString(r)})}get minDate(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t!=null?new Date(t):null}};wa.create=e=>new wa({checks:[],coerce:e?.coerce||!1,typeName:Q.ZodDate,...Ye(e)});var Ds=class extends nt{_parse(t){if(this._getType(t)!==fe.symbol){let n=this._getOrReturnCtx(t);return le(n,{code:Y.invalid_type,expected:fe.symbol,received:n.parsedType}),Me}return Kr(t.data)}};Ds.create=e=>new Ds({typeName:Q.ZodSymbol,...Ye(e)});var ka=class extends nt{_parse(t){if(this._getType(t)!==fe.undefined){let n=this._getOrReturnCtx(t);return le(n,{code:Y.invalid_type,expected:fe.undefined,received:n.parsedType}),Me}return Kr(t.data)}};ka.create=e=>new ka({typeName:Q.ZodUndefined,...Ye(e)});var xa=class extends nt{_parse(t){if(this._getType(t)!==fe.null){let n=this._getOrReturnCtx(t);return le(n,{code:Y.invalid_type,expected:fe.null,received:n.parsedType}),Me}return Kr(t.data)}};xa.create=e=>new xa({typeName:Q.ZodNull,...Ye(e)});var Oo=class extends nt{constructor(){super(...arguments),this._any=!0}_parse(t){return Kr(t.data)}};Oo.create=e=>new Oo({typeName:Q.ZodAny,...Ye(e)});var ro=class extends nt{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Kr(t.data)}};ro.create=e=>new ro({typeName:Q.ZodUnknown,...Ye(e)});var fi=class extends nt{_parse(t){let r=this._getOrReturnCtx(t);return le(r,{code:Y.invalid_type,expected:fe.never,received:r.parsedType}),Me}};fi.create=e=>new fi({typeName:Q.ZodNever,...Ye(e)});var qs=class extends nt{_parse(t){if(this._getType(t)!==fe.undefined){let n=this._getOrReturnCtx(t);return le(n,{code:Y.invalid_type,expected:fe.void,received:n.parsedType}),Me}return Kr(t.data)}};qs.create=e=>new qs({typeName:Q.ZodVoid,...Ye(e)});var no=class e extends nt{_parse(t){let{ctx:r,status:n}=this._processInputParams(t),i=this._def;if(r.parsedType!==fe.array)return le(r,{code:Y.invalid_type,expected:fe.array,received:r.parsedType}),Me;if(i.exactLength!==null){let a=r.data.length>i.exactLength.value,s=r.data.length<i.exactLength.value;(a||s)&&(le(r,{code:a?Y.too_big:Y.too_small,minimum:s?i.exactLength.value:void 0,maximum:a?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),n.dirty())}if(i.minLength!==null&&r.data.length<i.minLength.value&&(le(r,{code:Y.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),n.dirty()),i.maxLength!==null&&r.data.length>i.maxLength.value&&(le(r,{code:Y.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((a,s)=>i.type._parseAsync(new Zn(r,a,r.path,s)))).then(a=>Dr.mergeArray(n,a));let o=[...r.data].map((a,s)=>i.type._parseSync(new Zn(r,a,r.path,s)));return Dr.mergeArray(n,o)}get element(){return this._def.type}min(t,r){return new e({...this._def,minLength:{value:t,message:ye.toString(r)}})}max(t,r){return new e({...this._def,maxLength:{value:t,message:ye.toString(r)}})}length(t,r){return new e({...this._def,exactLength:{value:t,message:ye.toString(r)}})}nonempty(t){return this.min(1,t)}};no.create=(e,t)=>new no({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Q.ZodArray,...Ye(t)});function Fs(e){if(e instanceof bn){let t={};for(let r in e.shape){let n=e.shape[r];t[r]=yn.create(Fs(n))}return new bn({...e._def,shape:()=>t})}else return e instanceof no?new no({...e._def,type:Fs(e.element)}):e instanceof yn?yn.create(Fs(e.unwrap())):e instanceof Mi?Mi.create(Fs(e.unwrap())):e instanceof $i?$i.create(e.items.map(t=>Fs(t))):e}var bn=class e extends nt{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),r=mt.objectKeys(t);return this._cached={shape:t,keys:r},this._cached}_parse(t){if(this._getType(t)!==fe.object){let d=this._getOrReturnCtx(t);return le(d,{code:Y.invalid_type,expected:fe.object,received:d.parsedType}),Me}let{status:n,ctx:i}=this._processInputParams(t),{shape:o,keys:a}=this._getCached(),s=[];if(!(this._def.catchall instanceof fi&&this._def.unknownKeys==="strip"))for(let d in i.data)a.includes(d)||s.push(d);let l=[];for(let d of a){let u=o[d],c=i.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new Zn(i,c,i.path,d)),alwaysSet:d in i.data})}if(this._def.catchall instanceof fi){let d=this._def.unknownKeys;if(d==="passthrough")for(let u of s)l.push({key:{status:"valid",value:u},value:{status:"valid",value:i.data[u]}});else if(d==="strict")s.length>0&&(le(i,{code:Y.unrecognized_keys,keys:s}),n.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let d=this._def.catchall;for(let u of s){let c=i.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new Zn(i,c,i.path,u)),alwaysSet:u in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let d=[];for(let u of l){let c=await u.key,f=await u.value;d.push({key:c,value:f,alwaysSet:u.alwaysSet})}return d}).then(d=>Dr.mergeObjectSync(n,d)):Dr.mergeObjectSync(n,l)}get shape(){return this._def.shape()}strict(t){return ye.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,n)=>{let i=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:ye.errToObj(t).message??i}:{message:i}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Q.ZodObject})}setKey(t,r){return this.augment({[t]:r})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let r={};for(let n of mt.objectKeys(t))t[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}omit(t){let r={};for(let n of mt.objectKeys(this.shape))t[n]||(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}deepPartial(){return Fs(this)}partial(t){let r={};for(let n of mt.objectKeys(this.shape)){let i=this.shape[n];t&&!t[n]?r[n]=i:r[n]=i.optional()}return new e({...this._def,shape:()=>r})}required(t){let r={};for(let n of mt.objectKeys(this.shape))if(t&&!t[n])r[n]=this.shape[n];else{let o=this.shape[n];for(;o instanceof yn;)o=o._def.innerType;r[n]=o}return new e({...this._def,shape:()=>r})}keyof(){return xk(mt.objectKeys(this.shape))}};bn.create=(e,t)=>new bn({shape:()=>e,unknownKeys:"strip",catchall:fi.create(),typeName:Q.ZodObject,...Ye(t)});bn.strictCreate=(e,t)=>new bn({shape:()=>e,unknownKeys:"strict",catchall:fi.create(),typeName:Q.ZodObject,...Ye(t)});bn.lazycreate=(e,t)=>new bn({shape:e,unknownKeys:"strip",catchall:fi.create(),typeName:Q.ZodObject,...Ye(t)});var Ta=class extends nt{_parse(t){let{ctx:r}=this._processInputParams(t),n=this._def.options;function i(o){for(let s of o)if(s.result.status==="valid")return s.result;for(let s of o)if(s.result.status==="dirty")return r.common.issues.push(...s.ctx.common.issues),s.result;let a=o.map(s=>new gn(s.ctx.common.issues));return le(r,{code:Y.invalid_union,unionErrors:a}),Me}if(r.common.async)return Promise.all(n.map(async o=>{let a={...r,common:{...r.common,issues:[]},parent:null};return{result:await o._parseAsync({data:r.data,path:r.path,parent:a}),ctx:a}})).then(i);{let o,a=[];for(let l of n){let d={...r,common:{...r.common,issues:[]},parent:null},u=l._parseSync({data:r.data,path:r.path,parent:d});if(u.status==="valid")return u;u.status==="dirty"&&!o&&(o={result:u,ctx:d}),d.common.issues.length&&a.push(d.common.issues)}if(o)return r.common.issues.push(...o.ctx.common.issues),o.result;let s=a.map(l=>new gn(l));return le(r,{code:Y.invalid_union,unionErrors:s}),Me}}get options(){return this._def.options}};Ta.create=(e,t)=>new Ta({options:e,typeName:Q.ZodUnion,...Ye(t)});var to=e=>e instanceof Oa?to(e.schema):e instanceof Vn?to(e.innerType()):e instanceof Ca?[e.value]:e instanceof Ea?e.options:e instanceof Pa?mt.objectValues(e.enum):e instanceof Ra?to(e._def.innerType):e instanceof ka?[void 0]:e instanceof xa?[null]:e instanceof yn?[void 0,...to(e.unwrap())]:e instanceof Mi?[null,...to(e.unwrap())]:e instanceof _d||e instanceof $a?to(e.unwrap()):e instanceof Ia?to(e._def.innerType):[],qc=class e extends nt{_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==fe.object)return le(r,{code:Y.invalid_type,expected:fe.object,received:r.parsedType}),Me;let n=this.discriminator,i=r.data[n],o=this.optionsMap.get(i);return o?r.common.async?o._parseAsync({data:r.data,path:r.path,parent:r}):o._parseSync({data:r.data,path:r.path,parent:r}):(le(r,{code:Y.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),Me)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,r,n){let i=new Map;for(let o of r){let a=to(o.shape[t]);if(!a.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let s of a){if(i.has(s))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(s)}`);i.set(s,o)}}return new e({typeName:Q.ZodDiscriminatedUnion,discriminator:t,options:r,optionsMap:i,...Ye(n)})}};function Ph(e,t){let r=Ii(e),n=Ii(t);if(e===t)return{valid:!0,data:e};if(r===fe.object&&n===fe.object){let i=mt.objectKeys(t),o=mt.objectKeys(e).filter(s=>i.indexOf(s)!==-1),a={...e,...t};for(let s of o){let l=Ph(e[s],t[s]);if(!l.valid)return{valid:!1};a[s]=l.data}return{valid:!0,data:a}}else if(r===fe.array&&n===fe.array){if(e.length!==t.length)return{valid:!1};let i=[];for(let o=0;o<e.length;o++){let a=e[o],s=t[o],l=Ph(a,s);if(!l.valid)return{valid:!1};i.push(l.data)}return{valid:!0,data:i}}else return r===fe.date&&n===fe.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var Aa=class extends nt{_parse(t){let{status:r,ctx:n}=this._processInputParams(t),i=(o,a)=>{if(Fc(o)||Fc(a))return Me;let s=Ph(o.value,a.value);return s.valid?((Dc(o)||Dc(a))&&r.dirty(),{status:r.value,value:s.data}):(le(n,{code:Y.invalid_intersection_types}),Me)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([o,a])=>i(o,a)):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Aa.create=(e,t,r)=>new Aa({left:e,right:t,typeName:Q.ZodIntersection,...Ye(r)});var $i=class e extends nt{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==fe.array)return le(n,{code:Y.invalid_type,expected:fe.array,received:n.parsedType}),Me;if(n.data.length<this._def.items.length)return le(n,{code:Y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Me;!this._def.rest&&n.data.length>this._def.items.length&&(le(n,{code:Y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let o=[...n.data].map((a,s)=>{let l=this._def.items[s]||this._def.rest;return l?l._parse(new Zn(n,a,n.path,s)):null}).filter(a=>!!a);return n.common.async?Promise.all(o).then(a=>Dr.mergeArray(r,a)):Dr.mergeArray(r,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};$i.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new $i({items:e,typeName:Q.ZodTuple,rest:null,...Ye(t)})};var Lc=class e extends nt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==fe.object)return le(n,{code:Y.invalid_type,expected:fe.object,received:n.parsedType}),Me;let i=[],o=this._def.keyType,a=this._def.valueType;for(let s in n.data)i.push({key:o._parse(new Zn(n,s,n.path,s)),value:a._parse(new Zn(n,n.data[s],n.path,s)),alwaysSet:s in n.data});return n.common.async?Dr.mergeObjectAsync(r,i):Dr.mergeObjectSync(r,i)}get element(){return this._def.valueType}static create(t,r,n){return r instanceof nt?new e({keyType:t,valueType:r,typeName:Q.ZodRecord,...Ye(n)}):new e({keyType:Ao.create(),valueType:t,typeName:Q.ZodRecord,...Ye(r)})}},Ls=class extends nt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==fe.map)return le(n,{code:Y.invalid_type,expected:fe.map,received:n.parsedType}),Me;let i=this._def.keyType,o=this._def.valueType,a=[...n.data.entries()].map(([s,l],d)=>({key:i._parse(new Zn(n,s,n.path,[d,"key"])),value:o._parse(new Zn(n,l,n.path,[d,"value"]))}));if(n.common.async){let s=new Map;return Promise.resolve().then(async()=>{for(let l of a){let d=await l.key,u=await l.value;if(d.status==="aborted"||u.status==="aborted")return Me;(d.status==="dirty"||u.status==="dirty")&&r.dirty(),s.set(d.value,u.value)}return{status:r.value,value:s}})}else{let s=new Map;for(let l of a){let d=l.key,u=l.value;if(d.status==="aborted"||u.status==="aborted")return Me;(d.status==="dirty"||u.status==="dirty")&&r.dirty(),s.set(d.value,u.value)}return{status:r.value,value:s}}}};Ls.create=(e,t,r)=>new Ls({valueType:t,keyType:e,typeName:Q.ZodMap,...Ye(r)});var Us=class e extends nt{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==fe.set)return le(n,{code:Y.invalid_type,expected:fe.set,received:n.parsedType}),Me;let i=this._def;i.minSize!==null&&n.data.size<i.minSize.value&&(le(n,{code:Y.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),r.dirty()),i.maxSize!==null&&n.data.size>i.maxSize.value&&(le(n,{code:Y.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),r.dirty());let o=this._def.valueType;function a(l){let d=new Set;for(let u of l){if(u.status==="aborted")return Me;u.status==="dirty"&&r.dirty(),d.add(u.value)}return{status:r.value,value:d}}let s=[...n.data.values()].map((l,d)=>o._parse(new Zn(n,l,n.path,d)));return n.common.async?Promise.all(s).then(l=>a(l)):a(s)}min(t,r){return new e({...this._def,minSize:{value:t,message:ye.toString(r)}})}max(t,r){return new e({...this._def,maxSize:{value:t,message:ye.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}};Us.create=(e,t)=>new Us({valueType:e,minSize:null,maxSize:null,typeName:Q.ZodSet,...Ye(t)});var Uc=class e extends nt{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==fe.function)return le(r,{code:Y.invalid_type,expected:fe.function,received:r.parsedType}),Me;function n(s,l){return hd({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Ns(),eo].filter(d=>!!d),issueData:{code:Y.invalid_arguments,argumentsError:l}})}function i(s,l){return hd({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Ns(),eo].filter(d=>!!d),issueData:{code:Y.invalid_return_type,returnTypeError:l}})}let o={errorMap:r.common.contextualErrorMap},a=r.data;if(this._def.returns instanceof Co){let s=this;return Kr(async function(...l){let d=new gn([]),u=await s._def.args.parseAsync(l,o).catch(p=>{throw d.addIssue(n(l,p)),d}),c=await Reflect.apply(a,this,u);return await s._def.returns._def.type.parseAsync(c,o).catch(p=>{throw d.addIssue(i(c,p)),d})})}else{let s=this;return Kr(function(...l){let d=s._def.args.safeParse(l,o);if(!d.success)throw new gn([n(l,d.error)]);let u=Reflect.apply(a,this,d.data),c=s._def.returns.safeParse(u,o);if(!c.success)throw new gn([i(u,c.error)]);return c.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:$i.create(t).rest(ro.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,r,n){return new e({args:t||$i.create([]).rest(ro.create()),returns:r||ro.create(),typeName:Q.ZodFunction,...Ye(n)})}},Oa=class extends nt{get schema(){return this._def.getter()}_parse(t){let{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Oa.create=(e,t)=>new Oa({getter:e,typeName:Q.ZodLazy,...Ye(t)});var Ca=class extends nt{_parse(t){if(t.data!==this._def.value){let r=this._getOrReturnCtx(t);return le(r,{received:r.data,code:Y.invalid_literal,expected:this._def.value}),Me}return{status:"valid",value:t.data}}get value(){return this._def.value}};Ca.create=(e,t)=>new Ca({value:e,typeName:Q.ZodLiteral,...Ye(t)});function xk(e,t){return new Ea({values:e,typeName:Q.ZodEnum,...Ye(t)})}var Ea=class e extends nt{_parse(t){if(typeof t.data!="string"){let r=this._getOrReturnCtx(t),n=this._def.values;return le(r,{expected:mt.joinValues(n),received:r.parsedType,code:Y.invalid_type}),Me}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let r=this._getOrReturnCtx(t),n=this._def.values;return le(r,{received:r.data,code:Y.invalid_enum_value,options:n}),Me}return Kr(t.data)}get options(){return this._def.values}get enum(){let t={};for(let r of this._def.values)t[r]=r;return t}get Values(){let t={};for(let r of this._def.values)t[r]=r;return t}get Enum(){let t={};for(let r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return e.create(t,{...this._def,...r})}exclude(t,r=this._def){return e.create(this.options.filter(n=>!t.includes(n)),{...this._def,...r})}};Ea.create=xk;var Pa=class extends nt{_parse(t){let r=mt.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==fe.string&&n.parsedType!==fe.number){let i=mt.objectValues(r);return le(n,{expected:mt.joinValues(i),received:n.parsedType,code:Y.invalid_type}),Me}if(this._cache||(this._cache=new Set(mt.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let i=mt.objectValues(r);return le(n,{received:n.data,code:Y.invalid_enum_value,options:i}),Me}return Kr(t.data)}get enum(){return this._def.values}};Pa.create=(e,t)=>new Pa({values:e,typeName:Q.ZodNativeEnum,...Ye(t)});var Co=class extends nt{unwrap(){return this._def.type}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==fe.promise&&r.common.async===!1)return le(r,{code:Y.invalid_type,expected:fe.promise,received:r.parsedType}),Me;let n=r.parsedType===fe.promise?r.data:Promise.resolve(r.data);return Kr(n.then(i=>this._def.type.parseAsync(i,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Co.create=(e,t)=>new Co({type:e,typeName:Q.ZodPromise,...Ye(t)});var Vn=class extends nt{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Q.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:r,ctx:n}=this._processInputParams(t),i=this._def.effect||null,o={addIssue:a=>{le(n,a),a.fatal?r.abort():r.dirty()},get path(){return n.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="preprocess"){let a=i.transform(n.data,o);if(n.common.async)return Promise.resolve(a).then(async s=>{if(r.value==="aborted")return Me;let l=await this._def.schema._parseAsync({data:s,path:n.path,parent:n});return l.status==="aborted"?Me:l.status==="dirty"?ya(l.value):r.value==="dirty"?ya(l.value):l});{if(r.value==="aborted")return Me;let s=this._def.schema._parseSync({data:a,path:n.path,parent:n});return s.status==="aborted"?Me:s.status==="dirty"?ya(s.value):r.value==="dirty"?ya(s.value):s}}if(i.type==="refinement"){let a=s=>{let l=i.refinement(s,o);if(n.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?Me:(s.status==="dirty"&&r.dirty(),a(s.value),{status:r.value,value:s.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>s.status==="aborted"?Me:(s.status==="dirty"&&r.dirty(),a(s.value).then(()=>({status:r.value,value:s.value}))))}if(i.type==="transform")if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!To(a))return Me;let s=i.transform(a.value,o);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:s}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>To(a)?Promise.resolve(i.transform(a.value,o)).then(s=>({status:r.value,value:s})):Me);mt.assertNever(i)}};Vn.create=(e,t,r)=>new Vn({schema:e,typeName:Q.ZodEffects,effect:t,...Ye(r)});Vn.createWithPreprocess=(e,t,r)=>new Vn({schema:t,effect:{type:"preprocess",transform:e},typeName:Q.ZodEffects,...Ye(r)});var yn=class extends nt{_parse(t){return this._getType(t)===fe.undefined?Kr(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};yn.create=(e,t)=>new yn({innerType:e,typeName:Q.ZodOptional,...Ye(t)});var Mi=class extends nt{_parse(t){return this._getType(t)===fe.null?Kr(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Mi.create=(e,t)=>new Mi({innerType:e,typeName:Q.ZodNullable,...Ye(t)});var Ra=class extends nt{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return r.parsedType===fe.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};Ra.create=(e,t)=>new Ra({innerType:e,typeName:Q.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Ye(t)});var Ia=class extends nt{_parse(t){let{ctx:r}=this._processInputParams(t),n={...r,common:{...r.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Gs(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new gn(n.common.issues)},input:n.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new gn(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Ia.create=(e,t)=>new Ia({innerType:e,typeName:Q.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Ye(t)});var Ws=class extends nt{_parse(t){if(this._getType(t)!==fe.nan){let n=this._getOrReturnCtx(t);return le(n,{code:Y.invalid_type,expected:fe.nan,received:n.parsedType}),Me}return{status:"valid",value:t.data}}};Ws.create=e=>new Ws({typeName:Q.ZodNaN,...Ye(e)});var B1=Symbol("zod_brand"),_d=class extends nt{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},gd=class e extends nt{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?Me:o.status==="dirty"?(r.dirty(),ya(o.value)):this._def.out._parseAsync({data:o.value,path:n.path,parent:n})})();{let i=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?Me:i.status==="dirty"?(r.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:n.path,parent:n})}}static create(t,r){return new e({in:t,out:r,typeName:Q.ZodPipeline})}},$a=class extends nt{_parse(t){let r=this._def.innerType._parse(t),n=i=>(To(i)&&(i.value=Object.freeze(i.value)),i);return Gs(r)?r.then(i=>n(i)):n(r)}unwrap(){return this._def.innerType}};$a.create=(e,t)=>new $a({innerType:e,typeName:Q.ZodReadonly,...Ye(t)});function vk(e,t){let r=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof r=="string"?{message:r}:r}function Tk(e,t={},r){return e?Oo.create().superRefine((n,i)=>{let o=e(n);if(o instanceof Promise)return o.then(a=>{if(!a){let s=vk(t,n),l=s.fatal??r??!0;i.addIssue({code:"custom",...s,fatal:l})}});if(!o){let a=vk(t,n),s=a.fatal??r??!0;i.addIssue({code:"custom",...a,fatal:s})}}):Oo.create()}var K1={object:bn.lazycreate},Q;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(Q||(Q={}));var J1=(e,t={message:`Input not instance of ${e.name}`})=>Tk(r=>r instanceof e,t),Ak=Ao.create,Ok=ba.create,Y1=Ws.create,X1=va.create,Ck=Sa.create,Q1=wa.create,eN=Ds.create,tN=ka.create,rN=xa.create,nN=Oo.create,iN=ro.create,oN=fi.create,aN=qs.create,sN=no.create,Rh=bn.create,lN=bn.strictCreate,dN=Ta.create,uN=qc.create,cN=Aa.create,fN=$i.create,mN=Lc.create,pN=Ls.create,hN=Us.create,_N=Uc.create,gN=Oa.create,yN=Ca.create,bN=Ea.create,vN=Pa.create,SN=Co.create,wN=Vn.create,kN=yn.create,xN=Mi.create,TN=Vn.createWithPreprocess,AN=gd.create,ON=()=>Ak().optional(),CN=()=>Ok().optional(),EN=()=>Ck().optional(),PN={string:(e=>Ao.create({...e,coerce:!0})),number:(e=>ba.create({...e,coerce:!0})),boolean:(e=>Sa.create({...e,coerce:!0})),bigint:(e=>va.create({...e,coerce:!0})),date:(e=>wa.create({...e,coerce:!0}))};var RN=Me;import*as Nk from"node:os";import*as Sn from"node:path";import*as Eo from"node:fs/promises";function Pk(e,t){return"Kandan attachment path must resolve inside an allowed upload root ("+e+"): "+t}function Rk(e){return"Kandan attachment upload path must not include hidden path segments: "+e}function Ik(e){return"Kandan attachment upload path extension is not allowed: "+e}var $k="LINZUMI_THREAD_RUNNER_KANDAN_THREAD_ID";var Mk="Kandan attachment path must not be empty";function io(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function Gk(e){if(Array.isArray(e))return e}function Jr(e){if(e!==void 0&&typeof e=="string"&&e.trim()!=="")return e.trim()}function IN(e){if(e!==void 0&&typeof e=="number"&&Number.isInteger(e))return e}function vn(e){let t={};t.type="text",t.text=JSON.stringify(e,void 0,2);let r={};return r.content=[t],r.structuredContent=e,r}var $N="failed: ([a-z0-9_]+)(?: detail=(.+))?$";async function Ih(e){let t;try{t=await e}catch(r){let n=ee(r),i=gs(n),o=new RegExp($N).exec(i);if(o==null){let c={};return c.error=i,vn(c)}let a=o.slice(1),s=a[0],l;if(s!==void 0){let c=ue(s);l=c!==void 0?c:i}else l=i;let d={};d.error=l;let u=a[1];if(u!==void 0){let c=ue(u);c!==void 0&&(d.detail=c)}return vn(d)}return vn(t)}function Fk(e){let t=Sr(e);if(t===void 0)return Ww(e);let r=ue(t),n=Er(r);return n!==void 0&&n.includes("channel_required")?Lw(new Error(n+". Remediation: pass the channel slug in the `channel` parameter, or set target.thread_id to a Linzumi thread you can access (the server resolves the thread's channel). The files were NOT attached; retry with a channel or thread instead of leaving them on disk.",{cause:r})):Uw(r)}function oo(e){let t={};return Object.entries(e).forEach(r=>{t[r[0]]=r[1]}),t}function $h(e,t){if(Jr(e.thread_id)!==void 0||t===void 0)return e;let n=()=>{let a=oo(e);return a.thread_id=t,a},i=e.message_seq;if(i!==void 0&&typeof i<"u")return n();let o=Jr(e.kind);if(o===void 0)return e;switch(o){case"latest_assistant_message":case"message_seq":case"new_message":return n();default:return e}}function mi(e,t){if(Jr(e.thread_id)!==void 0||t===void 0)return e;let n=oo(e);return n.thread_id=t,n}function Wc(e,t){let r=Ln(t);if(r!==void 0)return ue(r).toString();let n=e.replace(new RegExp("^wss://"),"https://").replace(new RegExp("^ws://"),"http://"),i=Hi(t,n);return i.TAG==="Ok"?i._0.toString():yr(i._0)}function MN(e,t){let r=Jr(t.inline_url),n=Jr(t.carousel_url),i=oo(t);return r!==void 0&&(i.inline_url=Wc(e,r)),n!==void 0&&(i.carousel_url=Wc(e,n)),i}function jN(e,t){if(typeof t!="object"||t===null||Array.isArray(t))return t;let r=Jr(t.url),n=io(t.image_variants),i=oo(t);return r!==void 0&&(i.url=Wc(e,r)),n!==void 0&&(i.image_variants=MN(e,n)),i}function zk(e,t){let r=Gk(t.attachments);if(r===void 0)return t;let n=oo(t);return n.attachments=r.map(i=>jN(e,i)),n}function Mh(e,t){let r=io(t.message),n=io(t.target_message);if(r===void 0&&n===void 0)return t;let i=oo(t);return r!==void 0&&(i.message=zk(e,r)),n!==void 0&&(i.target_message=zk(e,n)),i}var zN=[".csv",".diff",".gif",".htm",".html",".jpeg",".jpg",".json",".jsonl",".log",".md",".mp4",".patch",".pdf",".png",".svg",".txt",".webm",".webp",".xml",".zip"];async function NN(e){let t=[{path:e,label:"runner cwd"}],r=G(process.env.HOME,o=>o.trim()),n=Sn.resolve(r!==void 0&&r!==""?r:Nk.homedir(),"Downloads"),i;try{i=await Eo.realpath(n)}catch{return t}return t.some(o=>o.path===i)||t.push({path:i,label:"~/Downloads"}),t}function GN(e,t){let r=Sn.relative(e,t);return r===""?!0:r.startsWith("..")?!1:!Sn.isAbsolute(r)}async function FN(e,t){if(t==="")return yr(Mk);let r=Sn.isAbsolute(t)?Sn.resolve(t):Sn.resolve(e,t);return await Eo.realpath(r)}function DN(e,t){let r=e.find(i=>GN(i.path,t));if(r!==void 0){if(Sn.relative(r.path,t).split(new RegExp("[\\\\/]+","g")).find(s=>s!==void 0?s.startsWith("."):!1)!==void 0)return yr(Rk(t));let a=Sn.extname(t).toLowerCase();return zN.includes(a)?void 0:yr(Ik(t))}let n=e.map(i=>i.label).join(", ");yr(Pk(n,t))}function qN(e){let t=e.toLowerCase();return t.endsWith(".png")?"image/png":t.endsWith(".jpg")||t.endsWith(".jpeg")?"image/jpeg":t.endsWith(".gif")?"image/gif":t.endsWith(".webp")?"image/webp":t.endsWith(".csv")?"text/csv":t.endsWith(".json")?"application/json":t.endsWith(".md")||t.endsWith(".txt")||t.endsWith(".log")?"text/plain":"application/octet-stream"}async function Dk(e,t){let r=await Eo.realpath(e),n=await NN(r),i=await FN(r,t);DN(n,i);let o=await Eo.stat(i);return o.isFile()?{path:i,fileName:Sn.basename(i),contentType:qN(i),sizeBytes:o.size}:yr("Linzumi upload path is not a file: "+i)}async function qk(e,t,r,n,i){let o=await Eo.readFile(i),a={};return a["content-type"]=n,await cc.binary(Wc(e,t),{method:r,headers:a,body:Zw(o)})}async function Lk(e){let t=await Promise.all(e.files.map(m=>Dk(e.cwd,m))),r=Jr(e.target.thread_id),n={},i=e.workspace;i!==void 0&&(n.workspace=i);let o=e.channel;o!==void 0&&(n.channel=o),r!==void 0&&(n.thread_id=r),n.files=t.map(m=>{let h={};return h.file_name=m.fileName,h.content_type=m.contentType,h.size_bytes=m.sizeBytes,h});let a=await e.client.prepareMessageUploads(n),s=Gk(a.uploads),l=s!==void 0?s:[];l.length===t.length||yr("Linzumi upload prepare response count mismatch"),await Promise.all(t.map(async(m,h)=>{let _=io(l[h]),g=Jr(k(_,S=>S.upload_url)),b=Jr(k(_,S=>S.upload_method)),y=b!==void 0?b:"PUT";if(g===void 0)return yr("Linzumi upload prepare response missing upload_url");let v=await qk(e.serviceUrl,g,y,m.contentType,m.path);if(!v.ok)return yr("Linzumi upload failed for "+m.fileName+": "+v.status.toString()+" "+v.statusText)}));let d=l.map(m=>{let h=Jr(k(io(m),_=>_.file_id));return h!==void 0?h:yr("Linzumi upload prepare response missing file_id")}),u={},c=e.workspace;c!==void 0&&(u.workspace=c);let f=e.channel;f!==void 0&&(u.channel=f),r!==void 0&&(u.thread_id=r),u.target=e.target;let p=e.body;return p!==void 0&&(u.body=p),u.uploaded_file_ids=d,await e.client.attachMessageFiles(u)}async function Uk(e){let t=await Dk(e.cwd,e.file),r={},n=e.workspace;n!==void 0&&(r.workspace=n),r.name=e.name,r.file_name=t.fileName,r.content_type=t.contentType,r.size_bytes=t.sizeBytes;let i=await e.client.prepareCustomEmoji(r),o=io(i.upload),a=Jr(k(o,m=>m.upload_url)),s=Jr(k(o,m=>m.upload_method)),l=s!==void 0?s:"PUT";if(a===void 0)return yr("Linzumi custom emoji prepare response missing upload_url");let d=await qk(e.serviceUrl,a,l,t.contentType,t.path);if(d.ok){let m=await d.json();if(typeof m!="object"||m===null||Array.isArray(m))return yr("Linzumi custom emoji upload returned non-object JSON");let h=io(m.custom_emoji);if(h===void 0)return yr("Linzumi custom emoji upload response missing custom_emoji");let _={};_.ok=!0;let g=i.workspace;_.workspace=g!==void 0?g:void 0,_.emoji=h;let b=Jr(m.asset_id);_.asset_id=b!==void 0?b:void 0;let y=IN(h.id);_.id=y!==void 0?y:void 0;let v=Jr(h.name);_.name=v!==void 0?v:void 0;let S=Jr(h.shortcode);_.shortcode=S!==void 0?S:void 0;let A=Jr(h.image_url);return _.image_url=A!==void 0?A:void 0,_}let u=d.status.toString()+" "+d.statusText,f=(await d.text()).trim(),p;if(f==="")p=u;else{let m=0,h;try{h=JSON.parse(f),m=1}catch{p=f}if(m===1)if(typeof h=="object"&&h!==null&&!Array.isArray(h)){let _=h.error;p=typeof _=="string"?_:f}else p=f}return yr("Linzumi custom emoji upload failed: "+p)}import*as wn from"node:fs";import*as Wk from"node:os";import*as Zk from"node:net";import*as Hn from"node:path";import*as Vk from"node:child_process";function Nh(e,t){}function Gh(e){return e==="DesiredRunning"?"running":"stopped"}function Hk(e){switch(e){case"Running":return"running";case"Unhealthy":return"unhealthy";case"Exited":return"exited";case"Stopped":return"stopped"}}function UN(){let e=G(process.env.LINZUMI_DEV_SERVICES_DIR,t=>t.trim());return e!==void 0&&e!==""?e:Hn.join(Wk.homedir(),".linzumi","dev-services")}function WN(e){let t=e.replace(new RegExp("[^A-Za-z0-9._-]+","g"),"-").replace(new RegExp("^[-.]+|[-.]+$","g"),"").slice(0,80),r=qn(e).slice(0,8),n=t===""?"runner":t;return Hn.join(UN(),n+"."+r)}function Zc(e){let t=e.trim().toLowerCase();if(new RegExp("^[a-z0-9][a-z0-9._-]{0,63}$").test(t)&&!t.includes(".."))return t}function Fh(e,t){return Hn.join(e,"services",t+".json")}function Dh(e,t){return Hn.join(e,"exits",t+".json")}function Bk(e,t){return Hn.join(e,"logs",t+".log")}function yd(e){if(typeof e=="string"&&e!=="")return e}function bd(e){if(e!==void 0&&typeof e=="number"&&isFinite(e))return e}function ZN(e){return e!==void 0?Array.isArray(e)?$e(e,t=>{if(typeof t=="number"&&Number.isInteger(t)&&t>0&&t<=65535)return t}):[]:[]}function VN(e){if(typeof e!="object"||e===null||Array.isArray(e)||!de(e.version,1))return;let t=yd(e.name),r=k(t,Zc),n=yd(e.command),i=yd(e.cwd),o=e.desiredState,a;if(typeof o=="string")switch(o){case"running":a="DesiredRunning";break;case"stopped":a="DesiredStopped";break;default:a=void 0}else a=void 0;let s=bd(e.updatedAtMs),l=yd(e.logPath),d=de(r,t);if(r!==void 0&&d&&n!==void 0&&i!==void 0&&a!==void 0&&s!==void 0&&l!==void 0)return{name:r,command:n,cwd:i,ports:ZN(e.ports),restartOnBranchChange:de(e.restartOnBranchChange,!0),desiredState:a,pid:bd(e.pid),ownerPid:bd(e.ownerPid),startedAtMs:bd(e.startedAtMs),updatedAtMs:s,lastBranch:yd(e.lastBranch),logPath:l}}function jh(e){return e!==void 0?e:null}function HN(e){return e!==void 0?e:null}function BN(e){let t={};return t.version=1,t.name=e.name,t.command=e.command,t.cwd=e.cwd,t.ports=e.ports.map(r=>r),t.restartOnBranchChange=e.restartOnBranchChange,t.desiredState=Gh(e.desiredState),t.pid=jh(e.pid),t.ownerPid=jh(e.ownerPid),t.startedAtMs=jh(e.startedAtMs),t.updatedAtMs=e.updatedAtMs,t.lastBranch=HN(e.lastBranch),t.logPath=e.logPath,t}function Kk(e,t,r){let n=Fh(e,t.name),i=he(qt(Hn.dirname(n)),()=>{let a=n+".tmp";return he(Ti(a,JSON.stringify(BN(t))+`
122
+ `),()=>li(a,n))});if(i.TAG==="Ok")return;let o={};o.path=n,o.message=i._0.message,r("dev_services.record_write_failed",o)}function qh(e,t){let r=Zc(t);if(r===void 0)return;let n=Qt(Fh(e,r));if(n.TAG!=="Ok")return;let i;try{i=JSON.parse(n._0)}catch{return}return VN(i)}function KN(e){let t=hs(Hn.join(e,"services"));return t.TAG==="Ok"?$e(t._0,r=>{if(r.endsWith(".json"))return qh(e,r.slice(0,r.length-5|0))}).toSorted((r,n)=>r.name.localeCompare(n.name)):[]}function Jk(e,t){let r=Qt(Dh(e,t));if(r.TAG!=="Ok")return;let n;try{n=JSON.parse(r._0)}catch{return}if(typeof n!="object"||n===null||Array.isArray(n))return;let i=bd(n.atMs);if(i===void 0)return;let o=n.code,a;a=typeof o=="number"?o:void 0;let s=n.signal,l;return l=typeof s=="string"?s:void 0,{code:a,signal:l,atMs:i}}function JN(e){let t={};return t.command=e.command,t.args=e.args.map(r=>r),t.cwd=e.cwd,t.ownerPid=e.ownerPid,t.pollIntervalMs=e.pollIntervalMs,t.exitStatusPath=e.exitStatusPath,JSON.stringify(t)}function YN(e,t){return{command:e,args:["-e",`
123
123
  const { spawn } = require('node:child_process');
124
124
  const fs = require('node:fs');
125
125
  const config = JSON.parse(process.argv[process.argv.length - 1]);
@@ -175,10 +175,10 @@ const watchdog = setInterval(() => {
175
175
  }
176
176
  }
177
177
  }, config.pollIntervalMs);
178
- `.trim(),ZN(t)]}}function jh(e){if(e===void 0||e<=1)return!1;try{return process.kill(-e,0),!0}catch(t){let r=ee(t);return de(Ne(r).code,"EPERM")}}function qh(e,t){let r=t.pid;if(r===void 0||r<=1)return!1;let n=Kk(e,t.name),i=t.startedAtMs;return n!==void 0&&i!==void 0&&n.atMs>=i?!1:jh(t.pid)}function Lh(e){return new Promise((t,r)=>{let n=Zk.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 VN(e,t){let r=qh(e,t),n=[];for(let a=0,s=t.ports.length;a<s;++a){let l=t.ports[a];if(l!==void 0){let d=r?await Lh(l|0):!1;n.push({port:l,listening:d})}}let i=t.desiredState,o;return o=i==="DesiredRunning"?r?n.every(a=>a.listening)?"Running":"Unhealthy":"Exited":"Stopped",{record:t,liveness:o,portProbes:n,lastExit:Kk(e,t.name)}}async function Uh(e){let t=[],r=UN(e);for(let n=0,i=r.length;n<i;++n){let o=r[n];o!==void 0&&t.push(await VN(e,o))}return t}function HN(e){let t=G(e.SHELL,r=>r.trim());return t!==void 0&&t!==""?t:"/bin/sh"}async function Jk(e,t,r){if(e===void 0||e<=1||Vi(-e|0,"SIGTERM").TAG!=="Ok")return;let i=Date.now()+3e3,o=jh(e);for(;o&&Date.now()<i;)await fc(100),o=jh(e);if(!o||Vi(-e|0,"SIGKILL").TAG!=="Ok")return;let s={};return s.name=r,s.pgid=e,t("dev_services.stop_escalated",s)}async function Yk(e){let t=e.log,r=t!==void 0?t:zh,n=Wc(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:wn.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 a=Dh(e.scopeDir,n);a!==void 0&&qh(e.scopeDir,a)&&await Jk(a.pid,r,n);let s=e.nowMs,l=s!==void 0?s:Date.now(),d=Hk(e.scopeDir,n),u=Fh(e.scopeDir,n),c=he(he(he(qt(Hn.dirname(d)),()=>qt(Hn.join(e.scopeDir,"services"))),()=>qt(Hn.dirname(u))),()=>{try{return{TAG:"Ok",_0:wn.openSync(d,"a")}}catch(W){let V=ee(W);return{TAG:"Error",_0:Ne(V)}}});if(c.TAG!=="Ok")return{TAG:"Error",_0:"cannot open service log: "+c._0.message};let f=c._0;pn(u);let p=e.shellPathOverride,m=p!==void 0?p:HN(process.env),h=e.nodeExecPath,_=e.watchdogPollIntervalMs,g=WN(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{wn.writeFileSync(f,`
178
+ `.trim(),JN(t)]}}function zh(e){if(e===void 0||e<=1)return!1;try{return process.kill(-e,0),!0}catch(t){let r=ee(t);return de(Ne(r).code,"EPERM")}}function Lh(e,t){let r=t.pid;if(r===void 0||r<=1)return!1;let n=Jk(e,t.name),i=t.startedAtMs;return n!==void 0&&i!==void 0&&n.atMs>=i?!1:zh(t.pid)}function Uh(e){return new Promise((t,r)=>{let n=Zk.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 XN(e,t){let r=Lh(e,t),n=[];for(let a=0,s=t.ports.length;a<s;++a){let l=t.ports[a];if(l!==void 0){let d=r?await Uh(l|0):!1;n.push({port:l,listening:d})}}let i=t.desiredState,o;return o=i==="DesiredRunning"?r?n.every(a=>a.listening)?"Running":"Unhealthy":"Exited":"Stopped",{record:t,liveness:o,portProbes:n,lastExit:Jk(e,t.name)}}async function Wh(e){let t=[],r=KN(e);for(let n=0,i=r.length;n<i;++n){let o=r[n];o!==void 0&&t.push(await XN(e,o))}return t}function QN(e){let t=G(e.SHELL,r=>r.trim());return t!==void 0&&t!==""?t:"/bin/sh"}async function Yk(e,t,r){if(e===void 0||e<=1||Vi(-e|0,"SIGTERM").TAG!=="Ok")return;let i=Date.now()+3e3,o=zh(e);for(;o&&Date.now()<i;)await fc(100),o=zh(e);if(!o||Vi(-e|0,"SIGKILL").TAG!=="Ok")return;let s={};return s.name=r,s.pgid=e,t("dev_services.stop_escalated",s)}async function Xk(e){let t=e.log,r=t!==void 0?t:Nh,n=Zc(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:wn.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 a=qh(e.scopeDir,n);a!==void 0&&Lh(e.scopeDir,a)&&await Yk(a.pid,r,n);let s=e.nowMs,l=s!==void 0?s:Date.now(),d=Bk(e.scopeDir,n),u=Dh(e.scopeDir,n),c=he(he(he(qt(Hn.dirname(d)),()=>qt(Hn.join(e.scopeDir,"services"))),()=>qt(Hn.dirname(u))),()=>{try{return{TAG:"Ok",_0:wn.openSync(d,"a")}}catch(Z){let V=ee(Z);return{TAG:"Error",_0:Ne(V)}}});if(c.TAG!=="Ok")return{TAG:"Error",_0:"cannot open service log: "+c._0.message};let f=c._0;pn(u);let p=e.shellPathOverride,m=p!==void 0?p:QN(process.env),h=e.nodeExecPath,_=e.watchdogPollIntervalMs,g=YN(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{wn.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(W=>{b[W[0]]=W[1]}),b.ELECTRON_RUN_AS_NODE="1";let y;try{let W=Wk.spawn(g.command,g.args,{cwd:e.definition.cwd,detached:!0,stdio:["ignore",Number(f),Number(f)],env:b});W.unref(),y={TAG:"Ok",_0:Rr(W.pid)}}catch(W){let V=ee(W);y={TAG:"Error",_0:"spawn failed: "+Ne(V).message}}try{wn.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(W=>{if(!S.includes(W)){S.push(W);return}});let A=e.definition.cwd,R=S.toSorted((W,V)=>W-V),Z=e.definition.restartOnBranchChange,L=v,ae=e.ownerPid,B={name:n,command:i,cwd:A,ports:R,restartOnBranchChange:Z,desiredState:"DesiredRunning",pid:L,ownerPid:ae,startedAtMs:l,updatedAtMs:l,lastBranch:void 0,logPath:d};Bk(e.scopeDir,B,r);let oe={};return oe.name=n,oe.pid=v,oe.owner_pid=e.ownerPid,oe.cwd=e.definition.cwd,oe.ports=R.map(W=>W),r("dev_services.started",oe),{TAG:"Ok",_0:B}}async function Zh(e,t,r){let n=r!==void 0?r:zh,i=Dh(e,t);if(i===void 0)return{TAG:"Error",_0:"unknown service: "+t};qh(e,i)&&await Jk(i.pid,n,i.name);let o=i.name,a=i.command,s=i.cwd,l=i.ports,d=i.restartOnBranchChange,u=i.startedAtMs,c=Date.now(),f=i.lastBranch,p=i.logPath,m={name:o,command:a,cwd:s,ports:l,restartOnBranchChange:d,desiredState:"DesiredStopped",pid:void 0,ownerPid:void 0,startedAtMs:u,updatedAtMs:c,lastBranch:f,logPath:p};Bk(e,m,n);let h={};return h.name=i.name,n("dev_services.stopped",h),{TAG:"Ok",_0:m}}async function Xk(e,t){let r=await Zh(e,t,zh);if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=r._0;return pn(Gh(e,n.name)),pn(Fh(e,n.name)),{TAG:"Ok",_0:n}}function Qk(e,t,r){let n=Wc(t);if(n===void 0)return;let i=Hk(e,n),o;try{o=wn.openSync(i,"r")}catch{return}let a;try{let s=wn.fstatSync(o).size,l=Math.min(s,r),d=Buffer.alloc(l|0);wn.readSync(o,d,0,l|0,s-l),a=d.toString("utf8")}catch{a=void 0}try{wn.closeSync(o)}catch{}return a}function ex(e){let t=G(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:GN(t),ownerPid:n}}var rx=`<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=Vk.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:Yt(Z.pid)}}catch(Z){let V=ee(Z);y={TAG:"Error",_0:"spawn failed: "+Ne(V).message}}try{wn.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,R=S.toSorted((Z,V)=>Z-V),W=e.definition.restartOnBranchChange,L=v,ae=e.ownerPid,B={name:n,command:i,cwd:A,ports:R,restartOnBranchChange:W,desiredState:"DesiredRunning",pid:L,ownerPid:ae,startedAtMs:l,updatedAtMs:l,lastBranch:void 0,logPath:d};Kk(e.scopeDir,B,r);let oe={};return oe.name=n,oe.pid=v,oe.owner_pid=e.ownerPid,oe.cwd=e.definition.cwd,oe.ports=R.map(Z=>Z),r("dev_services.started",oe),{TAG:"Ok",_0:B}}async function Zh(e,t,r){let n=r!==void 0?r:Nh,i=qh(e,t);if(i===void 0)return{TAG:"Error",_0:"unknown service: "+t};Lh(e,i)&&await Yk(i.pid,n,i.name);let o=i.name,a=i.command,s=i.cwd,l=i.ports,d=i.restartOnBranchChange,u=i.startedAtMs,c=Date.now(),f=i.lastBranch,p=i.logPath,m={name:o,command:a,cwd:s,ports:l,restartOnBranchChange:d,desiredState:"DesiredStopped",pid:void 0,ownerPid:void 0,startedAtMs:u,updatedAtMs:c,lastBranch:f,logPath:p};Kk(e,m,n);let h={};return h.name=i.name,n("dev_services.stopped",h),{TAG:"Ok",_0:m}}async function Qk(e,t){let r=await Zh(e,t,Nh);if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=r._0;return pn(Fh(e,n.name)),pn(Dh(e,n.name)),{TAG:"Ok",_0:n}}function ex(e,t,r){let n=Zc(t);if(n===void 0)return;let i=Bk(e,n),o;try{o=wn.openSync(i,"r")}catch{return}let a;try{let s=wn.fstatSync(o).size,l=Math.min(s,r),d=Buffer.alloc(l|0);wn.readSync(o,d,0,l|0,s-l),a=d.toString("utf8")}catch{a=void 0}try{wn.closeSync(o)}catch{}return a}function tx(e){let t=G(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:WN(t),ownerPid:n}}var nx=`<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:
@@ -281,14 +281,14 @@ Why bad: External image hosts are intentionally not auto-rendered; attach the im
281
281
  Use media directives only after upload/attach returns a Linzumi download URL.
282
282
  Keep "src" required, all other fields optional, and never exceed 10 embeds in one message.
283
283
  </media_reminder>
284
- </linzumi_markdown_media_guidance>`;function KN(e){switch(e){case"All":return!0;case"Coding":case"OnboardingDiscovery":return!1}}function JN(e){return e==="Voice"}function YN(e){return e.trim().replace(new RegExp("^:+"),"").replace(new RegExp(":+$"),"").toLowerCase()}function nx(){return T.string().min(1).refine(e=>YN(e).length<=64,{message:"Custom emoji shortcode name must be at most 64 characters after trimming surrounding colons."})}function Vt(){return T.string().optional().describe("Workspace slug. Omit to use the authenticated token scope.")}function Pn(){return T.string().optional().describe("Channel slug. Omit to use the authenticated token scope.")}function Rn(e){if(typeof e=="string")return e}function ix(e,t,r){let n=io(e[t]);return n!==void 0?n:gr(r+" "+t+" must be an object")}function XN(e){return e!==void 0?Array.isArray(e)?ze(e,t=>{if(typeof t=="string")return t}):[]:[]}function QN(e){return e!==void 0?Array.isArray(e)?ze(e,t=>{if(typeof t=="number")return t}):[]:[]}function ox(e){if(typeof e=="number")return e}function ax(e){let t={};t.name=e.record.name,t.command=e.record.command,t.cwd=e.record.cwd,t.ports=e.record.ports.map(o=>o),t.restart_on_branch_change=e.record.restartOnBranchChange,t.desired_state=Nh(e.record.desiredState),t.liveness=Vk(e.liveness),t.port_health=e.portProbes.map(o=>{let a={};return a.port=o.port,a.listening=o.listening,a});let r=e.record.startedAtMs;t.started_at_ms=r!==void 0?r:null;let n=e.lastExit,i;if(n!==void 0){let o={},a=n.code;o.code=a!==void 0?a:null;let s=n.signal;o.signal=s!==void 0?s:null,o.at_ms=n.atMs,i=o}else i=null;return t.last_exit=i,t.log_path=e.record.logPath,t}function eG(e,t,r){e.registerTool("linzumi_dev_service_start","Start a long-running local dev server (npm run dev, storybook, docker compose up, ...) as a MANAGED SERVICE owned by the Linzumi runner. Use this instead of running dev servers in your own shell: a managed service survives the end of your turn and branch switches, is auto-restarted if it crashes, and its declared ports are health-probed and surfaced in the product. Calling start for an existing name declaratively RESTARTS it (e.g. after a checkout). Declare EVERY port the app serves from (primary plus HMR/asset/bundle sibling ports).",Object.fromEntries([["name",T.string().regex(new RegExp("^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$")).describe("Stable service name (slug), e.g. 'web' or 'storybook'. Reusing a name restarts that service.")],["command",T.string().min(1).describe("Shell command that runs the server in the foreground (never daemonize/screen/nohup it yourself), e.g. 'npm run dev'. Runs via the user's login shell.")],["cwd",T.string().optional().describe("Working directory for the service. Defaults to the session cwd.")],["ports",T.array(T.number().int().min(1).max(65535)).max(16).default([]).describe("Every TCP port this service listens on (primary AND related ports such as the Vite/HMR bundle port). Used for health probes and product visibility.")],["restart_on_branch_change",T.boolean().optional().describe("Restart the service automatically when the git branch of its cwd changes (for servers that go stale across checkouts).")],["wait_for_ports_ms",T.number().int().min(0).max(6e4).optional().describe("How long to wait for the declared ports to accept connections before returning (default 15000).")]]),async n=>{let i=Rn(n.name),o=i!==void 0?i:"",a=Rn(n.command),s=a!==void 0?a:"",l=Rn(n.cwd),d=await Yk({scopeDir:r.scopeDir,definition:{name:o,command:s,cwd:l!==void 0?l:t,ports:QN(n.ports),restartOnBranchChange:de(n.restart_on_branch_change,!0)},ownerPid:r.ownerPid});if(d.TAG==="Ok"){let c=d._0,f=ox(n.wait_for_ports_ms),p=Date.now()+(f!==void 0?f:15e3),m=c.ports.length===0;for(;!m&&Date.now()<p;)m=(await Promise.all(c.ports.map(v=>Lh(v|0)))).every(v=>v),m||await fc(250);let _=(await Uh(r.scopeDir)).find(y=>y.record.name===c.name),g={};g.ok=!0;let b;if(_!==void 0)b=ax(_);else{let y={};y.name=c.name,b=y}return g.service=b,_!==void 0&&_.liveness!=="Running"&&(g.hint="The service is not (fully) serving its declared ports yet. Check linzumi_dev_service_logs before assuming it works."),vn(g)}let u={};return u.ok=!1,u.error=d._0,vn(u)}),e.registerTool("linzumi_dev_service_stop","Stop a managed dev service (SIGTERM, then SIGKILL after a grace period). The registration is kept so linzumi_dev_service_start can bring it back.",Object.fromEntries([["name",T.string().min(1).describe("Service name to stop.")]]),async n=>{let i=Rn(n.name),o=i!==void 0?i:"",a=await Zh(r.scopeDir,o,void 0),s={};return a.TAG==="Ok"?(s.ok=!0,s.name=a._0.name,s.desired_state="stopped"):(s.ok=!1,s.error=a._0),vn(s)}),e.registerTool("linzumi_dev_service_status","List every managed dev service with liveness (running / unhealthy / exited / stopped), per-port health probes, and last exit. Live state - always check this before concluding a dev server is up or down.",{},async n=>{let i=await Uh(r.scopeDir),o={};return o.services=i.map(a=>ax(a)),vn(o)}),e.registerTool("linzumi_dev_service_logs","Read the tail of a managed dev service's combined stdout/stderr log.",Object.fromEntries([["name",T.string().min(1).describe("Service name.")],["max_bytes",T.number().int().min(256).max(65536).optional().describe("Tail size in bytes (default 16384).")]]),async n=>{let i=Rn(n.name),o=i!==void 0?i:"",a=ox(n.max_bytes),s=Qk(r.scopeDir,o,a!==void 0?a:16384),l={};return s!==void 0?(l.ok=!0,l.name=o,l.log_tail=s):(l.ok=!1,l.error="no log for service: "+o),vn(l)}),e.registerTool("linzumi_dev_service_remove","Stop a managed dev service AND delete its registration (it will not be resurrected on runner restart). Use stop instead when the user may want it back.",Object.fromEntries([["name",T.string().min(1).describe("Service name to remove.")]]),async n=>{let i=Rn(n.name),o=i!==void 0?i:"",a=await Xk(r.scopeDir,o),s={};return a.TAG==="Ok"?(s.ok=!0,s.name=a._0.name,s.removed=!0):(s.ok=!1,s.error=a._0),vn(s)})}function sx(e,t){let r=t.devServices,n=t.agentSession,i=t.ownerUsername,o=t.defaultThreadId,a=t.serviceUrl,s=t.cwd,l=t.toolScope,d=t.client,u;switch(l){case"All":case"Coding":u=!0;break;case"OnboardingDiscovery":u=!1;break}let c=async f=>vn(await f);switch(n&&(e.registerTool("linzumi_agent_reply","Post your single @linzumi reply for the current turn into the surface where you were mentioned. Call EXACTLY ONCE per turn with your final answer; the reply links to this working session automatically. Fails with already_replied on a second call and no_active_asker_binding when no turn is active.",Object.fromEntries([["body",T.string().min(1).describe("Plain-text reply body to post.")]]),async f=>{let p={},m=f.body;return p.body=m!==void 0?m:void 0,await c(d.agentReply(p))}),e.registerTool("linzumi_list_coding_jobs","List the coding jobs the current asker can see in this workspace: runner connections (online and recent) with their bound job threads. Live state - never answered from search.",{},async f=>await c(d.agentListCodingJobs({}))),e.registerTool("linzumi_start_coding_job","Start a coding job exactly as if the asking user clicked start: same runner/channel authorization, same pipeline. Returns status 'unavailable' with a reason when the runner cannot take the job (relay that honestly).",Object.fromEntries([["channel",T.string().describe("Channel slug to host the job thread.")],["runner_key",T.string().describe("Runner (computer) to run the job on.")],["cwd",T.string().describe("Working directory on the runner.")],["work_description",T.string().min(1).describe("What the job should do - the initial instruction.")],["model",T.string().optional().describe("Model override (optional).")],["model_provider",T.string().optional().describe("Model provider override, e.g. 'wafer' (optional).")],["execution_mode",T.enum(["raw","local_vm"]).optional().describe("Execution placement override (optional).")],["project_task_id",T.string().optional().describe("Project task item to bind the job to (task_id from linzumi_get_project_tasks). The task flips todo -> active and links to the new job.")]]),async f=>await c(d.agentStartCodingJob(f))),e.registerTool("linzumi_interrupt_coding_job","Interrupt a coding job: mode 'steer' (default) discards its queued follow-ups so your next message lands first; mode 'stop' terminates the current turn.",Object.fromEntries([["channel",T.string().describe("Channel slug hosting the job thread.")],["thread_id",T.string().uuid().describe("The job thread UUID.")],["mode",T.enum(["steer","stop"]).optional().describe("Interrupt mode; defaults to 'steer'.")]]),async f=>await c(d.agentInterruptCodingJob(f))),e.registerTool("linzumi_send_coding_job_message","Send a message into a coding job thread as the asking user (the job processes it like any human follow-up).",Object.fromEntries([["channel",T.string().describe("Channel slug hosting the job thread.")],["thread_id",T.string().uuid().describe("The job thread UUID.")],["body",T.string().min(1).describe("Message body to send.")]]),async f=>await c(d.agentSendCodingJobMessage(f))),e.registerTool("linzumi_read_coding_job_thread","Read a coding job's thread (asker-visible history) plus its workflow status metadata.",Object.fromEntries([["channel",T.string().describe("Channel slug hosting the job thread.")],["thread_id",T.string().uuid().describe("The job thread UUID.")],["limit",T.number().int().min(1).max(100).optional().describe("Maximum replies to return.")],["before_seq",T.number().int().positive().optional().describe("Return replies before this channel seq.")]]),async f=>await c(d.agentReadCodingJobThread(f))),e.registerTool("linzumi_resolve_job_approval","Resolve a coding job's pending approval request with the asking user's decision ('approve' or 'deny'). Only relays the asker's authority - never approve without their explicit instruction.",Object.fromEntries([["channel",T.string().describe("Channel slug hosting the job thread.")],["thread_id",T.string().uuid().describe("The job thread UUID.")],["source_seq",T.number().int().positive().describe("Channel seq of the message the approval request rides on.")],["request_id",T.string().describe("The approval request id.")],["decision",T.enum(["approve","deny"]).describe("The asker's decision.")]]),async f=>await c(d.agentResolveJobApproval(f))),e.registerTool("linzumi_archive_coding_job","Archive a coding job's thread (or any thread the asking user owns) so it leaves the active list; history is preserved. Do this when the asker says to archive a job or thread - never just promise it.",Object.fromEntries([["channel",T.string().describe("Channel slug hosting the thread.")],["thread_id",T.string().uuid().describe("The thread UUID to archive.")]]),async f=>await c(d.agentArchiveCodingJob(f))),e.registerTool("linzumi_unarchive_coding_job","Unarchive a previously archived coding job thread the asking user owns, returning it to the active list.",Object.fromEntries([["channel",T.string().describe("Channel slug hosting the thread.")],["thread_id",T.string().uuid().describe("The thread UUID to unarchive.")]]),async f=>await c(d.agentUnarchiveCodingJob(f))),e.registerTool("linzumi_set_thread_status","Set a thread's lifecycle status as the asking user: 'closed' marks it done, 'open' reopens it. Works on threads the asker owns.",Object.fromEntries([["channel",T.string().describe("Channel slug hosting the thread.")],["thread_id",T.string().uuid().describe("The thread UUID.")],["status",T.enum(["open","closed"]).describe("Replacement lifecycle status ('closed' = done).")]]),async f=>await c(d.agentSetThreadStatus(f))),e.registerTool("linzumi_create_channel","Create a new public channel in this workspace as the asking user. The slug is derived from the name.",Object.fromEntries([["name",T.string().min(1).describe("Channel name to create.")]]),async f=>await c(d.agentCreateChannel(f))),e.registerTool("linzumi_rename_channel","Rename a channel's display name as the asking user. The channel's URL slug stays stable.",Object.fromEntries([["channel",T.string().describe("Current channel slug to rename.")],["name",T.string().min(1).describe("New display name.")]]),async f=>await c(d.agentRenameChannel(f))),e.registerTool("linzumi_archive_channel","Archive a channel in this workspace as the asking user. History is preserved; the channel leaves the active sidebar.",Object.fromEntries([["channel",T.string().describe("Channel slug to archive.")]]),async f=>await c(d.agentArchiveChannel(f))),e.registerTool("linzumi_unarchive_channel","Unarchive a previously archived channel as the asking user.",Object.fromEntries([["channel",T.string().describe("Channel slug to unarchive.")]]),async f=>await c(d.agentUnarchiveChannel(f))),e.registerTool("linzumi_add_reaction","Add an emoji reaction to a channel message as the asking user. Accepts unicode emoji or a workspace :shortcode:.",Object.fromEntries([["channel",T.string().describe("Channel slug containing the message.")],["message_seq",T.number().int().positive().describe("Channel seq of the message to react to.")],["emoji",T.string().min(1).describe("Emoji to add (unicode or :shortcode:).")]]),async f=>await c(d.agentAddReaction(f))),e.registerTool("linzumi_remove_reaction","Remove the asking user's emoji reaction from a channel message.",Object.fromEntries([["channel",T.string().describe("Channel slug containing the message.")],["message_seq",T.number().int().positive().describe("Channel seq of the reacted message.")],["emoji",T.string().min(1).describe("Emoji to remove (unicode or :shortcode:).")]]),async f=>await c(d.agentRemoveReaction(f))),e.registerTool("linzumi_pin_message","Pin a channel message as the asking user. Thread replies re-point to their root message.",Object.fromEntries([["channel",T.string().describe("Channel slug containing the message.")],["message_seq",T.number().int().positive().describe("Channel seq of the message to pin.")]]),async f=>await c(d.agentPinMessage(f))),e.registerTool("linzumi_unpin_message","Remove a pin from a channel message as the asking user.",Object.fromEntries([["channel",T.string().describe("Channel slug containing the message.")],["message_seq",T.number().int().positive().describe("Channel seq of the pinned message.")]]),async f=>await c(d.agentUnpinMessage(f)))),l){case"All":e.registerTool("linzumi_get_message","Read one Linzumi message by scoped message_seq/message_id or a Linzumi message URL, with optional bounded before/after context.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["message_id",T.union([T.string(),T.number()]).optional().describe("Message seq inside the scoped channel.")],["message_seq",T.union([T.string(),T.number()]).optional().describe("Alias for message_id.")],["message_url",T.string().optional().describe("Full Linzumi message URL with #message-<seq>.")],["before",T.number().int().min(0).max(100).optional().describe("Number of visible messages before the target.")],["after",T.number().int().min(0).max(100).optional().describe("Number of visible messages after the target.")]]),async f=>await c(d.getMessage(f))),e.registerTool("linzumi_get_thread","Read one Linzumi thread by thread_id in the scoped channel, including the parent message and bounded replies.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["thread_id",T.string().uuid().describe("Linzumi thread UUID.")],["limit",T.number().int().min(1).max(100).optional().describe("Maximum replies to return.")],["before_seq",T.number().int().positive().optional().describe("Return replies before this channel seq.")]]),async f=>await c(d.getThread(f))),e.registerTool("linzumi_get_thread_transcript","Read a Linzumi thread's full transcript as canonical IR nodes (user/assistant messages, command executions, file changes, tool calls, statuses), cursor-paginated over the complete history. Use the returned cursor with has_more to walk older pages.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["thread_id",T.string().uuid().describe("Linzumi thread UUID.")],["limit",T.number().int().min(1).max(500).optional().describe("Maximum transcript nodes per page (default 200).")],["cursor",T.number().int().positive().optional().describe("Return nodes below this seq (the previous page reply cursor).")]]),async f=>await c(d.getThreadTranscript(f))),e.registerTool("linzumi_get_channel","Read scoped Linzumi channel metadata and bounded recent channel messages.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["limit",T.number().int().min(1).max(100).optional().describe("Maximum messages to return.")],["before_seq",T.number().int().positive().optional().describe("Return messages before this channel seq.")]]),async f=>await c(d.getChannel(f))),e.registerTool("linzumi_search_workspace","Search the Linzumi workspace with hybrid lexical+semantic retrieval, scoped to what the authorizing user can access. Returns scored content chunks with provenance (channel, thread, authored time) and a permalink to cite.",Object.fromEntries([["workspace",Vt()],["query",T.string().min(1).describe("Natural-language or keyword query to retrieve against.")],["limit",T.number().int().min(1).max(25).optional().describe("Maximum results to return (default 10, server-capped).")],["source_types",T.array(T.enum(["message","coding_job","github_pr","github_pr_review","github_check_run","github_workflow_run","github_diff","dictation","file"])).optional().describe("Restrict results to these corpora; omit for all.")],["authored_after",T.string().optional().describe("ISO8601 instant; only content authored at or after this time.")],["authored_before",T.string().optional().describe("ISO8601 instant; only content authored at or before this time.")],["repo",T.string().optional().describe("Restrict GitHub-sourced results to one repository by full name (owner/name).")],["check_status",T.enum(["pending","success","failed"]).optional().describe("Restrict check and workflow results to one conclusion bucket.")]]),async f=>await c(d.searchWorkspace(f))),e.registerTool("linzumi_ask_workspace",'Ask the Linzumi workspace a natural-language question and get a synthesized, citation-backed answer over what the authorizing user can access. Costs an LLM call on cache misses, so prefer linzumi_search_workspace for simple lookups. A "refused" status means there was not enough accessible evidence - treat it as "the workspace does not know", never retry verbatim.',Object.fromEntries([["workspace",Vt()],["question",T.string().min(1).max(2e3).describe("Natural-language question to answer with citations.")],["channel",T.string().optional().describe("Optional channel slug providing conversational context; never widens access.")],["allow_cached",T.boolean().optional().describe("Allow serving a cached synthesis when the evidence set is unchanged (default true). Set false to force fresh synthesis.")]]),async f=>await c(d.askWorkspace(f))),e.registerTool("linzumi_about_me","Read what the authorizing user has told Linzumi about themselves: their profile facts (homes, unit preferences, and other self-maintained attributes) plus their derived current timezone. Use it to personalize answers (e.g. pick the right city for weather, use their preferred units). Predicates may have multiple active values; prefer the one consistent with the derived timezone.",{},async f=>await c(d.aboutMe(f)));break;case"Coding":case"OnboardingDiscovery":break}switch(u&&(e.registerTool("linzumi_web_search","Search the public web for live or external information: news, current events, weather, prices, third-party API docs, research. Returns result titles, URLs, and snippets. Use this whenever the answer lives outside the Linzumi workspace; follow up with linzumi_fetch_url to read a result page.",Object.fromEntries([["query",T.string().min(1).describe("Web search query (natural language or keywords).")],["limit",T.number().int().min(1).max(10).optional().describe("Maximum results to return (default 8, server-capped).")]]),async f=>await c(d.webSearch(f))),e.registerTool("linzumi_fetch_url","Fetch one public http(s) URL and return its readable text content (HTML is reduced to plain text; large pages are truncated). Use it to read pages found via linzumi_web_search or any public docs/API reference. Only public addresses are reachable - private/internal hosts are rejected with url_not_allowed.",Object.fromEntries([["url",T.string().min(1).describe("Absolute public http(s) URL to fetch.")]]),async f=>await c(d.fetchUrl(f)))),l){case"All":e.registerTool("linzumi_list_ui_targets","List every UI surface you can ask the user to open in their own Linzumi window (channels, DMs, threads, projects, coding jobs, computers, catch-up, activity, settings tabs, pane layouts) with the structured args each kind takes. Use UI control only when the user asks for help or asks to be shown something.",{},async f=>await Rh(d.listUiTargets({}))),e.registerTool("linzumi_open_ui","Ask the user to open one whitelisted UI surface in their own already-open Linzumi window. A consent toast appears in THEIR session; navigation happens only if they tap Open. The call blocks until they decide and returns status opened/dismissed/expired - or error no_active_ui_session when they have no Linzumi window open (tell them to open Linzumi), or invalid_target with a detail. Use it only when the user asks for help or asks to be shown something; kinds and per-kind args come from linzumi_list_ui_targets.",Object.fromEntries([["kind",T.string().min(1).describe("Target kind from linzumi_list_ui_targets (e.g. settings_workspace, channel, pane_layout).")],["args",T.record(T.unknown()).optional().describe("Structured per-kind args from linzumi_list_ui_targets (never a URL - the server computes every path).")],["workspace",Vt()]]),async f=>await Rh(d.openUi(mi(f,o))));break;case"Coding":case"OnboardingDiscovery":break}if(u){let f=()=>T.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread.");e.registerTool("linzumi_get_coding_job_metadata","Read the active coding job workflow metadata for a thread, including the agent-owned goal, ordered plan steps, step lock versions, and workflow status.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["thread_id",f()]]),async p=>await c(d.getCodingJobMetadata(mi(p,o)))),e.registerTool("linzumi_rename_coding_job","Update the current coding job thread title and workflow-facing title. Use this when the job scope changes materially so the Linzumi thread list and metadata overview stay accurate.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["thread_id",f()],["title",T.string().min(1).max(100).describe("Concise user-visible title for this coding job.")]]),async p=>await c(d.renameCodingJob(mi(p,o)))),e.registerTool("linzumi_upsert_coding_job_plan","Set or update the current coding job goal. Use this at job start and whenever the goal changes materially.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["thread_id",f()],["goal",T.string().min(1).max(1e4).describe("Concrete user-visible goal for this coding job.")]]),async p=>await c(d.upsertCodingJobPlan(mi(p,o)))),e.registerTool("linzumi_replace_coding_job_plan_steps","Replace the ordered coding job plan steps. Use this for the initial plan and for substantial rewrites when the old plan no longer fits the work.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["thread_id",f()],["goal",T.string().min(1).max(1e4).optional().describe("Required when no plan exists yet; updates the current coding job goal.")],["steps",T.array(T.object(Object.fromEntries([["title",T.string().min(1).max(255)],["description",T.string().min(1).max(1e4)],["status",T.enum(["pending","active","completed","blocked","canceled"])],["status_note",T.string().min(1).max(4e3).optional()],["completed_debrief",T.string().min(1).max(2e4).optional()]]))).min(1).max(50).describe("Ordered user-visible plan steps. Completed steps must include completed_debrief.")]]),async p=>await c(d.replaceCodingJobPlanSteps(mi(p,o)))),e.registerTool("linzumi_update_coding_job_plan_step","Update one coding job plan step status or note. Read metadata first and pass the current step lock_version.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["thread_id",f()],["step_id",T.string().uuid().describe("Step id returned by linzumi_get_coding_job_metadata.")],["lock_version",T.number().int().positive().describe("Current step lock_version from metadata.")],["status",T.enum(["pending","active","completed","blocked","canceled"])],["status_note",T.string().min(1).max(4e3).optional()],["completed_debrief",T.string().min(1).max(2e4).optional().describe("Required when marking a step completed.")]]),async p=>await c(d.updateCodingJobPlanStep(mi(p,o)))),e.registerTool("linzumi_link_coding_job_pull_request","Link the active coding job to its primary GitHub pull request so PR comments, files, commits, checks, deployments, and reviews can flow into the metadata view.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["thread_id",f()],["github_repo_owner",T.string().min(1).max(255)],["github_repo_name",T.string().min(1).max(255)],["github_pr_number",T.number().int().positive()],["github_pr_url",T.string().url()],["title",T.string().min(1).max(255)],["body",T.string().min(1).max(1e5).optional()],["head_branch",T.string().min(1).max(255)],["head_sha",T.string().min(7).max(64)],["base_branch",T.string().min(1).max(255)],["base_sha",T.string().min(7).max(64)],["state",T.enum(["draft","open","closed","merged"]).optional()],["is_draft",T.boolean().optional()],["review_status",T.enum(["unknown","review_required","approved","changes_requested"]).optional()],["source_remote_url",T.string().min(1).max(1e3).describe("Git remote URL for the local job worktree; required when this job has no repo workspace yet.")],["runtime_worktree_root",T.string().min(1).max(1e3).describe("Absolute local worktree path for the coding job; required when this job has no repo workspace yet.")],["dirty_status",T.enum(["unknown","clean","dirty"]).optional()],["dirty_summary",T.string().min(1).max(2e3).optional()]]),async p=>await c(d.linkCodingJobPullRequest(mi(p,o)))),e.registerTool("linzumi_upload_files",["Upload local files to Linzumi and attach them to a new, exact, or latest assistant message. Use silently; do not mention this tool in the visible reply.","The JSON result includes message.attachments[].url as an absolute URL. Use those returned URLs when writing rich media directives such as ::audio, ::video, ::image, or Markdown images. Do not guess attachment URLs before upload.","For a message that should both attach files and show inline rich media, use a two-step flow: first upload/attach the files to create or target the message, then edit the same target message with body text that references the returned absolute URLs. When the result has target_seq, use target.kind=message_seq and message_seq=target_seq for that follow-up edit; result.message is the edit event that carries the new attachments, and target_message is the original target."].join(" "),Object.fromEntries([["target",T.object(Object.fromEntries([["kind",T.enum(["new_message","message_seq","latest_assistant_message"]).describe("new_message creates a message; message_seq edits an exact message; latest_assistant_message edits the latest assistant message in the scoped thread/channel.")],["message_seq",T.union([T.string(),T.number()]).optional().describe("Required when kind is message_seq.")],["thread_id",T.string().optional().describe("Thread UUID. Defaults to the active Linzumi thread when the MCP server was launched with one.")]])).describe("Attachment target. Do not guess; use new_message when there is no previous assistant message. To reference uploaded files in the message body, upload first, then edit message_seq/latest_assistant_message with the returned absolute attachment URLs. If the upload result includes target_seq, use message_seq=target_seq for that follow-up edit.")],["files",T.array(T.string().min(1)).min(1).max(16).describe("Local file paths to upload. Paths must be non-hidden supported file types inside the approved workspace or Downloads.")],["body",T.string().min(1).max(2e4).optional().describe("Required for new_message. Optional replacement body for message_seq/latest_assistant_message; when omitted, the existing message body is preserved. Rich media directives in body must use Linzumi attachment download URLs returned by this tool.")],["workspace",Vt()],["channel",T.string().optional().describe("Channel slug. Omit to use the target thread's channel (when the thread is known) or the authenticated token scope.")]]),async p=>{let m=Ih(ix(p,"target","linzumi_upload_files"),o),h;try{h=await qk({client:d,cwd:s,serviceUrl:a,target:m,files:XN(p.files),workspace:Rn(p.workspace),channel:Rn(p.channel),body:Rn(p.body)})}catch(_){return Gk(ee(_))}return vn($h(a,h))}),e.registerTool("linzumi_edit_message","Edit an exact scoped Linzumi message by message_seq. Use after linzumi_upload_files when you need a body-only follow-up edit that embeds returned attachment URLs. Requires channel.write, and thread.write when target.thread_id is set. Rich media src/poster values must be Linzumi attachment download URLs.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["target",T.object(Object.fromEntries([["message_seq",T.union([T.string(),T.number()]).describe("Exact message seq to edit. After linzumi_upload_files returns target_seq, pass that value here.")],["thread_id",T.string().optional().describe("Thread UUID when editing a thread message. Use the upload result target_message.thread_id when present.")]])).describe("Exact message target for the body edit.")],["body",T.string().min(1).max(2e4).describe("Replacement Markdown body. Rich media src/poster values must be Linzumi attachment download URLs returned by linzumi_upload_files.")]]),async p=>{let m=oo(p);return m.target=Ih(ix(p,"target","linzumi_edit_message"),o),vn($h(a,await d.editMessage(m)))})}switch(l){case"All":e.registerTool("linzumi_list_vault_secrets","List vault secret names, descriptions, and whether each secret is personal or workspace-owned. Does not return secret values.",{},async f=>await c(d.listVaultSecrets(f))),e.registerTool("linzumi_list_projects","List the projects in the current workspace with their project_id (needed by the other project task tools), slug, title, description, and state.",Object.fromEntries([["workspace",Vt()]]),async f=>await c(d.listProjects(f))),e.registerTool("linzumi_get_project_tasks",`Read a project's full task graph: task GROUPS (kind "group", organizational containers, exactly one level deep) and ISSUES (kind "issue", the executable work items), each with status (todo/active/blocked/review/done/canceled), DERIVED work_state readiness (ready = todo with every dependency satisfied; blocked = todo with unsatisfied dependencies; running/stalled = active with/without a connected job), parent group, assignee, lock_version, and dependency edges (depends_on_task_ids / unblocks_task_ids). Always read this before reorganizing. Inside a project-bound coding job the project is inferred automatically; otherwise pass project_id from linzumi_list_projects.`,Object.fromEntries([["project_id",T.string().optional().describe("Project id from linzumi_list_projects. Omit inside a coding job started from a project to use that project.")]]),async f=>await c(d.getProjectTasks(mi(f,o)))),e.registerTool("linzumi_create_project_task",'Create a task group (kind "group") or issue (kind "issue", the default) in a project. Groups organize issues and are exactly one level deep: a parent_id must name a GROUP, and groups themselves can never have a parent. New tasks default to status "todo" and append to the end unless position is given. Inside a project-bound coding job the project is inferred; otherwise pass project_id.',Object.fromEntries([["project_id",T.string().optional().describe("Project id from linzumi_list_projects. Omit inside a coding job started from a project to use that project.")],["title",T.string().min(1).describe("Task title.")],["kind",T.enum(["issue","group"]).optional().describe('What to create: "issue" (executable work item, default) or "group" (organizational container).')],["description",T.string().optional().describe("Detailed description of the work - written so an engineer (or coding agent) could execute the task from it.")],["status",T.enum(["todo","active","blocked","review","done","canceled"]).optional().describe('Initial status. Defaults to "todo".')],["parent_id",T.string().optional().describe("task_id of the GROUP to place an issue in. Only issues can have a parent.")],["assignee",T.string().optional().describe("Username of a workspace member to assign.")],["position",T.number().int().min(0).optional().describe("Sort position. Defaults to appending at the end.")]]),async f=>await c(d.createProjectTask(mi(f,o)))),e.registerTool("linzumi_update_project_task",'Update a task group or issue: retitle, edit description/status_note, transition status (todo/active/blocked/review/done/canceled), reassign, reorder (position), or reorganize (parent_id moves an issue into a group; clear_parent moves it to top level). Only the fields you pass change; description and status_note accept null to clear. Prefer updating existing tasks over delete-and-recreate. Pass the lock_version from your last read to fail loudly ("stale") instead of overwriting a concurrent edit.',Object.fromEntries([["task_id",T.string().describe("task_id of the group or issue to update.")],["title",T.string().min(1).optional().describe("New title.")],["description",T.string().nullable().optional().describe("New description. Pass null to clear it.")],["status",T.enum(["todo","active","blocked","review","done","canceled"]).optional().describe('New status. "done"/"canceled" satisfy dependent tasks; "blocked" is a manual hold.')],["status_note",T.string().nullable().optional().describe("Short human-readable note about the current status. Pass null to clear it.")],["position",T.number().int().min(0).optional().describe("New sort position among siblings.")],["parent_id",T.string().optional().describe("task_id of the GROUP to move this issue into. Do not combine with clear_parent.")],["clear_parent",T.boolean().optional().describe("true moves the issue to the top level (no group). Do not combine with parent_id.")],["assignee",T.string().optional().describe("Username of a workspace member to assign. Do not combine with clear_assignee.")],["clear_assignee",T.boolean().optional().describe("true removes the assignee. Do not combine with assignee.")],["lock_version",T.number().int().positive().optional().describe("The task's lock_version from your last read, for compare-and-swap safety.")]]),async f=>await c(d.updateProjectTask(f))),e.registerTool("linzumi_delete_project_task",`Permanently delete a task group or issue. Dependency edges on the task are removed with it (dependents may become ready). Deletion is normally the USER's call - prefer status "canceled" or an update unless you are certain the entry is obsolete.`,Object.fromEntries([["task_id",T.string().describe("task_id of the group or issue to delete.")]]),async f=>await c(d.deleteProjectTask(f))),e.registerTool("linzumi_add_project_task_dependency",'Add the dependency edge "task_id is blocked by depends_on_task_id" between two ISSUES in the same project (groups cannot have dependencies). The dependent stays blocked until the prerequisite reaches done or canceled. The graph must stay acyclic: an edge that would create a cycle is refused with reason "would_create_cycle" and the offending cycle_path so you can restructure. Duplicate and self edges are rejected.',Object.fromEntries([["task_id",T.string().describe("task_id of the DEPENDENT issue (the one that must wait).")],["depends_on_task_id",T.string().describe("task_id of the PREREQUISITE issue (the one that must finish first).")]]),async f=>await c(d.addProjectTaskDependency(f))),e.registerTool("linzumi_remove_project_task_dependency",'Remove the dependency edge "task_id is blocked by depends_on_task_id". The dependent issue may become ready if that was its last unsatisfied dependency.',Object.fromEntries([["task_id",T.string().describe("task_id of the DEPENDENT issue.")],["depends_on_task_id",T.string().describe("task_id of the PREREQUISITE issue the edge points at.")]]),async f=>await c(d.removeProjectTaskDependency(f))),e.registerTool("linzumi_get_call_transcript","Read the full transcript of a completed Linzumi notetaker call: call metadata (title, platform, started/ended/transcribed times), participants, and every spoken segment in order with speaker names and millisecond offsets. Pass the call_id embedded in the request (or copied from the call card). Errors: call_not_found (missing or not visible to you), call_transcript_not_ready (call still connecting, in progress, or transcribing - retry later).",Object.fromEntries([["call_id",T.string().describe("The call id from the call card or the launching message (a CallRecording id - the opaque GraphQL id and the bare uuid both work).")]]),async f=>await c(d.getCallTranscript(f))),n||e.registerTool("linzumi_start_coding_job","Start a coding job as the invoking user (same authorization and pipeline as clicking start). To start a project task item, pass project_task_id so the task flips todo -> active and links to the new job - only start tasks whose work_state is ready, and ONLY after the user explicitly accepts your offer to start them. Omit channel, runner_key, and cwd to reuse this job's own channel, computer, and folder. Returns status 'unavailable' with a reason when the runner cannot take the job (relay that honestly).",Object.fromEntries([["work_description",T.string().min(1).describe("What the job should do - the initial instruction. For a task item, write it from the task title and description.")],["project_task_id",T.string().optional().describe("Project task item to bind the job to (task_id from linzumi_get_project_tasks). The task flips todo -> active and links to the new job.")],["channel",T.string().optional().describe("Channel slug to host the job thread. Omit to use this job's own channel.")],["runner_key",T.string().optional().describe("Runner (computer) to run the job on. Omit to use this job's own computer.")],["cwd",T.string().optional().describe("Working directory on the runner. Omit to use this job's own folder.")],["model",T.string().optional().describe("Model override (optional).")],["model_provider",T.string().optional().describe("Model provider override, e.g. 'wafer' (optional).")],["agent_provider",T.string().optional().describe("Agent provider override, e.g. 'codex' (optional).")],["reasoning_effort",T.enum(["default","low","medium","high","xhigh","ultra"]).optional().describe("Reasoning effort override (optional).")],["approval_policy",T.enum(["default","on-request","on-failure","never"]).optional().describe("Approval policy override (optional).")],["sandbox",T.enum(["default","workspace-write","read-only","danger-full-access"]).optional().describe("Sandbox override (optional).")],["fast",T.boolean().optional().describe("Fast-mode override (optional).")],["allow_port_forwarding_by_default",T.boolean().optional().describe("Default port-forwarding override (optional).")],["execution_mode",T.enum(["raw","local_vm"]).optional().describe("Execution placement override (optional).")],["egress_mode",T.enum(["open","hardened"]).optional().describe("Local-VM egress override (optional).")]]),async f=>await c(d.agentStartCodingJob(mi(f,o))));break;case"Coding":case"OnboardingDiscovery":break}switch(KN(l)&&(e.registerTool("linzumi_upload_custom_emoji","Upload a local image as a workspace custom emoji. For generated emoji art, create a transparent PNG with a simple centered subject, crisp edges, strong contrast, minimal tiny details, and enough outline/highlight separation to read at 16-24px on both dark and light backgrounds. Use lowercase shortcode names without colons unless preserving a user-provided :name:.",Object.fromEntries([["name",nx().describe("Custom emoji shortcode name, with or without surrounding colons.")],["file",T.string().min(1).describe("Local PNG/WebP/GIF/JPEG file path to upload. Prefer transparent PNG for generated emoji.")],["workspace",Vt()]]),async f=>{let p=Rn(f.name),m=Rn(f.file);return vn(await Lk({client:d,cwd:s,serviceUrl:a,name:p!==void 0?p:"",file:m!==void 0?m:"",workspace:Rn(f.workspace)}))}),e.registerTool("linzumi_rename_custom_emoji","Rename an existing workspace custom emoji. The new name may include surrounding colons; Linzumi stores the normalized shortcode without colons.",Object.fromEntries([["emoji_id",T.union([T.string(),T.number().int().positive()]).describe("Workspace custom emoji id returned by linzumi_upload_custom_emoji or workspace emoji listings.")],["name",nx().describe("New shortcode name, with or without surrounding colons.")],["workspace",Vt()]]),async f=>await c(d.renameCustomEmoji(f)))),e.registerTool("linzumi_media_guide","Return the full Linzumi rich-media authoring guide (audio/video/image directives, URL rules, upload-then-embed flow, examples). Call once BEFORE writing any ::audio/::video/::image directive or Markdown image into a Linzumi message.",{},async f=>{let p={};p.type="text",p.text=rx;let m={};return m.content=[p],m}),e.registerTool("linzumi_note_project_directory","Record one discovered local Git repository or worktree for onboarding import. Call once per project as soon as it is found.",Object.fromEntries([["workspace",Vt()],["runner_id",T.string().min(1).describe("Local runner/computer id provided in the discovery prompt.")],["path",T.string().min(1).describe("Absolute local path to the repository worktree root.")],["display_name",T.string().optional().describe("Short project label. Defaults to the path basename.")],["activity_at",T.string().optional().describe("Best-known recent activity time as an ISO-8601 timestamp.")],["import_key",T.string().optional().describe("Stable dedupe key. Defaults to path.")],["metadata",T.record(T.unknown()).optional().describe("Small structured metadata such as branch or remote origin.")]]),async f=>await c(d.noteProjectDirectory(f))),e.registerTool("linzumi_note_agent_conversation","Record one discovered Codex or Claude Code local conversation for onboarding import. Call once per conversation as soon as it is found.",Object.fromEntries([["workspace",Vt()],["runner_id",T.string().min(1).describe("Local runner/computer id provided in the discovery prompt.")],["source",T.enum(["codex","claude_code"]).describe("Conversation source.")],["import_key",T.string().min(1).describe("Stable dedupe key, such as a session id or file path.")],["path",T.string().optional().describe("Absolute local path to the conversation file or directory.")],["display_name",T.string().optional().describe("Short label for the discovered conversation.")],["activity_at",T.string().optional().describe("Best-known recent activity time as an ISO-8601 timestamp.")],["metadata",T.record(T.unknown()).optional().describe("Small structured metadata such as session id or project path.")]]),async f=>await c(d.noteAgentConversation(f))),e.registerTool("linzumi_note_onboarding_discovery_status","Record onboarding discovery progress. Call when a search phase starts, checks another place, completes, or fails.",Object.fromEntries([["workspace",Vt()],["runner_id",T.string().min(1).describe("Local runner/computer id provided in the discovery prompt.")],["phase",T.enum(["projects","conversations"]).describe("Discovery phase being reported.")],["status",T.enum(["starting","running","completed","failed"]).describe("Current phase status.")],["places_searched",T.number().int().nonnegative().optional().describe("Count of concrete folders/files/known locations checked so far.")],["message",T.string().optional().describe("Short user-facing status note.")],["current_place",T.string().optional().describe("Current folder, file, Git command target, or known location being checked.")],["current_source",T.string().optional().describe("Short machine-readable source label such as git, codex, or claude_code.")],["last_error",T.string().optional().describe("Short failure detail when status is failed.")],["metadata",T.record(T.unknown()).optional().describe("Small structured status metadata.")]]),async f=>await c(d.noteOnboardingDiscoveryStatus(f))),l==="All"&&JN(t.operatingMode)&&(e.registerTool("linzumi_dm_owner","Send a plain-text DM to the configured Commander owner. Requires dm.write and a visible owner username.",Object.fromEntries([["owner_username",T.string().optional().describe("Owner username. Defaults to LINZUMI_MCP_OWNER_USERNAME or --owner-username.")],["workspace",Vt()],["channel",T.string().optional().describe("Source channel slug used to verify owner visibility.")],["body",T.string().min(1).max(2e4).describe("Plain-text message body to DM.")]]),async f=>{let p=Rn(f.owner_username),m=p!==void 0?p:i;if(m===void 0)return gr("owner_username is required for linzumi_dm_owner");let h=oo(f);return h.owner_username=m,await c(d.dmOwner(h))}),e.registerTool("linzumi_send_channel_message","Post a NEW standalone Markdown message into the scoped Linzumi channel as the authenticated local-runner user. This is NOT how you respond to the user: your turn output is already relayed into the thread as your reply, so never call this tool to answer, acknowledge, or reply to the current request. Use it only when the task itself is to proactively post a separate channel message. Requires channel.write. Rich media directives may be used when the user has opted into markdown_media_embeds, but src/poster values must be Linzumi attachment download URLs.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["body",T.string().min(1).max(2e4).describe("Markdown message body to post. Rich media src/poster values must be Linzumi attachment download URLs, not third-party URLs, /relative paths, or local filesystem paths.")]]),async f=>await c(d.sendChannelMessage(f))),e.registerTool("linzumi_send_thread_reply","Post a Markdown reply into some OTHER existing Linzumi thread as the authenticated local-runner user. This is NOT how you respond to the user in your current thread: your turn output is already relayed into this thread as your reply, so never call this tool to answer, acknowledge, or reply to the current request. Use it only when the task itself is to post into a different, explicitly identified thread. Requires thread.write. Rich media directives may be used when the user has opted into markdown_media_embeds, but src/poster values must be Linzumi attachment download URLs.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["thread_id",T.string().uuid().describe("Existing Linzumi thread UUID.")],["body",T.string().min(1).max(2e4).describe("Markdown reply body to post. Rich media src/poster values must be Linzumi attachment download URLs, not third-party URLs, /relative paths, or local filesystem paths.")]]),async f=>await c(d.sendThreadReply(f))),e.registerTool("linzumi_send_dm","Send a plain-text DM as the authenticated local-runner user to a visible user in the scoped workspace/channel. Requires dm.write.",Object.fromEntries([["workspace",Vt()],["channel",T.string().optional().describe("Source channel slug used to verify target visibility.")],["username",T.string().describe("Visible Linzumi username to DM.")],["body",T.string().min(1).max(2e4).describe("Plain-text message body to DM.")]]),async f=>await c(d.sendDm(f)))),l){case"All":e.registerTool("linzumi_get_vault_values","Request values for explicit vault env var names after a thread-scoped human approval. Requires vault.read; thread_id resolves the approval thread.",Object.fromEntries([["workspace",Vt()],["channel",T.string().optional().describe("Channel slug used to disambiguate the approval thread when needed.")],["thread_id",T.string().uuid().describe("Existing Linzumi thread UUID for the inline approval.")],["env_var_names",T.array(T.string().regex(new RegExp("^[A-Z][A-Z0-9_]{0,127}$"))).min(1).max(20).describe("Explicit vault env var names to request. This tool cannot list all vault keys.")],["description",T.string().min(1).max(500).describe("Human-readable reason shown in the approval request.")],["justification",T.string().min(10).max(1e3).describe("Agent justification shown to the approver.")]]),async f=>await c(d.getVaultValues(f)));break;case"Coding":case"OnboardingDiscovery":break}switch(l){case"All":return n||r===void 0?void 0:eG(e,s,r);case"Coding":case"OnboardingDiscovery":return}}function Vh(e){return e==="Voice"?"voice":"text"}function rG(e){switch(e){case"All":return"all";case"Coding":return"coding";case"OnboardingDiscovery":return"onboarding-discovery"}}function vd(e){return JSON.stringify(e)}function Ws(e){let t=[],r=e.argsPrefix;r!==void 0&&r.forEach(h=>{t.push(h)}),t.push("mcp"),t.push("server"),t.push("--api-url"),t.push(e.serviceUrl);let n=e.authFilePath;n!==void 0&&(t.push("--auth-file"),t.push(n));let i=e.delegationAuthFilePath;i!==void 0&&(t.push("--delegation-auth-file"),t.push(i));let o=e.ownerUsername;o!==void 0&&(t.push("--owner-username"),t.push(o));let a=e.cwd;a!==void 0&&(t.push("--cwd"),t.push(a));let s=e.threadId;s!==void 0&&(t.push("--thread-id"),t.push(s)),t.push("--mode");let l=e.operatingMode;t.push(l!==void 0?Vh(l):"text");let d=e.toolScope;if(d!==void 0){let h=0;switch(d){case"All":break;case"Coding":case"OnboardingDiscovery":h=1;break}h===1&&(t.push("--tool-scope"),t.push(rG(d)))}let u=e.agentSession;u!==void 0&&u&&t.push("--agent-session");let c={},f=e.accessToken;f!==void 0&&(c.LINZUMI_MCP_ACCESS_TOKEN=f);let p=e.devServices;p!==void 0&&(c.LINZUMI_DEV_SERVICES_SCOPE=p.scope,c.LINZUMI_DEV_SERVICES_OWNER_PID=p.ownerPid.toString()),c.ELECTRON_RUN_AS_NODE="1";let m=e.command;return{name:"linzumi",command:m!==void 0?m:"linzumi",args:t,env:c}}function lx(e){return"["+e.map(vd).join(", ")+"]"}function nG(e){return"{ "+Object.entries(e).map(r=>r[0]+" = "+vd(r[1])).join(", ")+" }"}function dx(e){let t=["-c","mcp_servers."+e.name+".command="+vd(e.command),"-c","mcp_servers."+e.name+".args="+lx(e.args)];return Object.entries(e.env).forEach(r=>{t.push("-c"),t.push("mcp_servers."+e.name+".env."+r[0]+"="+vd(r[1]))}),t}function iG(e){return["--require","-r","--import","--loader","--experimental-loader"].includes(e)}function oG(e){return["--require=","-r=","--import=","--loader=","--experimental-loader="].some(t=>e.startsWith(t))}function Wh(e,t){for(;;){let r=t,n=e[r];if(n===void 0)return[];if(iG(n)){let i=e[r+1|0];if(i!==void 0)return[n,i].concat(Wh(e,r+2|0));t=r+1|0;continue}if(oG(n))return[n].concat(Wh(e,r+1|0));t=r+1|0}}function Vc(e,t,r){let n=t!==void 0?t.trim():"";return n===""?{command:"linzumi",argsPrefix:[]}:n.endsWith(".ts")||n.endsWith(".js")?{command:e,argsPrefix:Wh(r,0).concat([n])}:{command:n,argsPrefix:[]}}function ux(e){let t={};t.type="stdio",t.command=e.command,t.args=e.args.map(i=>i);let r={};t.env=(Object.entries(e.env).forEach(i=>{r[i[0]]=i[1]}),r);let n={};return n[e.name]=t,n}function cx(e){let t={};t.command=e.command,t.args=e.args.map(o=>o);let r={};t.env=(Object.entries(e.env).forEach(o=>{r[o[0]]=o[1]}),r);let n={};n[e.name]=t;let i={};return i.mcpServers=n,JSON.stringify(i,void 0,2)+`
285
- `}function fx(e){let t=Object.entries(e.env).length===0?"":"env = "+nG(e.env)+`
284
+ </linzumi_markdown_media_guidance>`;function tG(e){switch(e){case"All":return!0;case"Coding":case"OnboardingDiscovery":return!1}}function rG(e){return e==="Voice"}function nG(e){return e.trim().replace(new RegExp("^:+"),"").replace(new RegExp(":+$"),"").toLowerCase()}function ix(){return T.string().min(1).refine(e=>nG(e).length<=64,{message:"Custom emoji shortcode name must be at most 64 characters after trimming surrounding colons."})}function Vt(){return T.string().optional().describe("Workspace slug. Omit to use the authenticated token scope.")}function Pn(){return T.string().optional().describe("Channel slug. Omit to use the authenticated token scope.")}function Rn(e){if(typeof e=="string")return e}function ox(e,t,r){let n=io(e[t]);return n!==void 0?n:yr(r+" "+t+" must be an object")}function iG(e){return e!==void 0?Array.isArray(e)?$e(e,t=>{if(typeof t=="string")return t}):[]:[]}function oG(e){return e!==void 0?Array.isArray(e)?$e(e,t=>{if(typeof t=="number")return t}):[]:[]}function ax(e){if(typeof e=="number")return e}function sx(e){let t={};t.name=e.record.name,t.command=e.record.command,t.cwd=e.record.cwd,t.ports=e.record.ports.map(o=>o),t.restart_on_branch_change=e.record.restartOnBranchChange,t.desired_state=Gh(e.record.desiredState),t.liveness=Hk(e.liveness),t.port_health=e.portProbes.map(o=>{let a={};return a.port=o.port,a.listening=o.listening,a});let r=e.record.startedAtMs;t.started_at_ms=r!==void 0?r:null;let n=e.lastExit,i;if(n!==void 0){let o={},a=n.code;o.code=a!==void 0?a:null;let s=n.signal;o.signal=s!==void 0?s:null,o.at_ms=n.atMs,i=o}else i=null;return t.last_exit=i,t.log_path=e.record.logPath,t}function aG(e,t,r){e.registerTool("linzumi_dev_service_start","Start a long-running local dev server (npm run dev, storybook, docker compose up, ...) as a MANAGED SERVICE owned by the Linzumi runner. Use this instead of running dev servers in your own shell: a managed service survives the end of your turn and branch switches, is auto-restarted if it crashes, and its declared ports are health-probed and surfaced in the product. Calling start for an existing name declaratively RESTARTS it (e.g. after a checkout). Declare EVERY port the app serves from (primary plus HMR/asset/bundle sibling ports).",Object.fromEntries([["name",T.string().regex(new RegExp("^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$")).describe("Stable service name (slug), e.g. 'web' or 'storybook'. Reusing a name restarts that service.")],["command",T.string().min(1).describe("Shell command that runs the server in the foreground (never daemonize/screen/nohup it yourself), e.g. 'npm run dev'. Runs via the user's login shell.")],["cwd",T.string().optional().describe("Working directory for the service. Defaults to the session cwd.")],["ports",T.array(T.number().int().min(1).max(65535)).max(16).default([]).describe("Every TCP port this service listens on (primary AND related ports such as the Vite/HMR bundle port). Used for health probes and product visibility.")],["restart_on_branch_change",T.boolean().optional().describe("Restart the service automatically when the git branch of its cwd changes (for servers that go stale across checkouts).")],["wait_for_ports_ms",T.number().int().min(0).max(6e4).optional().describe("How long to wait for the declared ports to accept connections before returning (default 15000).")]]),async n=>{let i=Rn(n.name),o=i!==void 0?i:"",a=Rn(n.command),s=a!==void 0?a:"",l=Rn(n.cwd),d=await Xk({scopeDir:r.scopeDir,definition:{name:o,command:s,cwd:l!==void 0?l:t,ports:oG(n.ports),restartOnBranchChange:de(n.restart_on_branch_change,!0)},ownerPid:r.ownerPid});if(d.TAG==="Ok"){let c=d._0,f=ax(n.wait_for_ports_ms),p=Date.now()+(f!==void 0?f:15e3),m=c.ports.length===0;for(;!m&&Date.now()<p;)m=(await Promise.all(c.ports.map(v=>Uh(v|0)))).every(v=>v),m||await fc(250);let _=(await Wh(r.scopeDir)).find(y=>y.record.name===c.name),g={};g.ok=!0;let b;if(_!==void 0)b=sx(_);else{let y={};y.name=c.name,b=y}return g.service=b,_!==void 0&&_.liveness!=="Running"&&(g.hint="The service is not (fully) serving its declared ports yet. Check linzumi_dev_service_logs before assuming it works."),vn(g)}let u={};return u.ok=!1,u.error=d._0,vn(u)}),e.registerTool("linzumi_dev_service_stop","Stop a managed dev service (SIGTERM, then SIGKILL after a grace period). The registration is kept so linzumi_dev_service_start can bring it back.",Object.fromEntries([["name",T.string().min(1).describe("Service name to stop.")]]),async n=>{let i=Rn(n.name),o=i!==void 0?i:"",a=await Zh(r.scopeDir,o,void 0),s={};return a.TAG==="Ok"?(s.ok=!0,s.name=a._0.name,s.desired_state="stopped"):(s.ok=!1,s.error=a._0),vn(s)}),e.registerTool("linzumi_dev_service_status","List every managed dev service with liveness (running / unhealthy / exited / stopped), per-port health probes, and last exit. Live state - always check this before concluding a dev server is up or down.",{},async n=>{let i=await Wh(r.scopeDir),o={};return o.services=i.map(a=>sx(a)),vn(o)}),e.registerTool("linzumi_dev_service_logs","Read the tail of a managed dev service's combined stdout/stderr log.",Object.fromEntries([["name",T.string().min(1).describe("Service name.")],["max_bytes",T.number().int().min(256).max(65536).optional().describe("Tail size in bytes (default 16384).")]]),async n=>{let i=Rn(n.name),o=i!==void 0?i:"",a=ax(n.max_bytes),s=ex(r.scopeDir,o,a!==void 0?a:16384),l={};return s!==void 0?(l.ok=!0,l.name=o,l.log_tail=s):(l.ok=!1,l.error="no log for service: "+o),vn(l)}),e.registerTool("linzumi_dev_service_remove","Stop a managed dev service AND delete its registration (it will not be resurrected on runner restart). Use stop instead when the user may want it back.",Object.fromEntries([["name",T.string().min(1).describe("Service name to remove.")]]),async n=>{let i=Rn(n.name),o=i!==void 0?i:"",a=await Qk(r.scopeDir,o),s={};return a.TAG==="Ok"?(s.ok=!0,s.name=a._0.name,s.removed=!0):(s.ok=!1,s.error=a._0),vn(s)})}function lx(e,t){let r=t.devServices,n=t.agentSession,i=t.ownerUsername,o=t.defaultThreadId,a=t.serviceUrl,s=t.cwd,l=t.toolScope,d=t.client,u;switch(l){case"All":case"Coding":u=!0;break;case"OnboardingDiscovery":u=!1;break}let c=async f=>vn(await f);switch(n&&(e.registerTool("linzumi_agent_reply","Post your single @linzumi reply for the current turn into the surface where you were mentioned. Call EXACTLY ONCE per turn with your final answer; the reply links to this working session automatically. Fails with already_replied on a second call and no_active_asker_binding when no turn is active.",Object.fromEntries([["body",T.string().min(1).describe("Plain-text reply body to post.")]]),async f=>{let p={},m=f.body;return p.body=m!==void 0?m:void 0,await c(d.agentReply(p))}),e.registerTool("linzumi_list_coding_jobs","List the coding jobs the current asker can see in this workspace: runner connections (online and recent) with their bound job threads. Live state - never answered from search.",{},async f=>await c(d.agentListCodingJobs({}))),e.registerTool("linzumi_start_coding_job","Start a coding job exactly as if the asking user clicked start: same runner/channel authorization, same pipeline. Returns status 'unavailable' with a reason when the runner cannot take the job (relay that honestly).",Object.fromEntries([["channel",T.string().describe("Channel slug to host the job thread.")],["runner_key",T.string().describe("Runner (computer) to run the job on.")],["cwd",T.string().describe("Working directory on the runner.")],["work_description",T.string().min(1).describe("What the job should do - the initial instruction.")],["model",T.string().optional().describe("Model override (optional).")],["model_provider",T.string().optional().describe("Model provider override, e.g. 'wafer' (optional).")],["execution_mode",T.enum(["raw","local_vm"]).optional().describe("Execution placement override (optional).")],["project_task_id",T.string().optional().describe("Project task item to bind the job to (task_id from linzumi_get_project_tasks). The task flips todo -> active and links to the new job.")]]),async f=>await c(d.agentStartCodingJob(f))),e.registerTool("linzumi_interrupt_coding_job","Interrupt a coding job: mode 'steer' (default) discards its queued follow-ups so your next message lands first; mode 'stop' terminates the current turn.",Object.fromEntries([["channel",T.string().describe("Channel slug hosting the job thread.")],["thread_id",T.string().uuid().describe("The job thread UUID.")],["mode",T.enum(["steer","stop"]).optional().describe("Interrupt mode; defaults to 'steer'.")]]),async f=>await c(d.agentInterruptCodingJob(f))),e.registerTool("linzumi_send_coding_job_message","Send a message into a coding job thread as the asking user (the job processes it like any human follow-up).",Object.fromEntries([["channel",T.string().describe("Channel slug hosting the job thread.")],["thread_id",T.string().uuid().describe("The job thread UUID.")],["body",T.string().min(1).describe("Message body to send.")]]),async f=>await c(d.agentSendCodingJobMessage(f))),e.registerTool("linzumi_read_coding_job_thread","Read a coding job's thread (asker-visible history) plus its workflow status metadata.",Object.fromEntries([["channel",T.string().describe("Channel slug hosting the job thread.")],["thread_id",T.string().uuid().describe("The job thread UUID.")],["limit",T.number().int().min(1).max(100).optional().describe("Maximum replies to return.")],["before_seq",T.number().int().positive().optional().describe("Return replies before this channel seq.")]]),async f=>await c(d.agentReadCodingJobThread(f))),e.registerTool("linzumi_resolve_job_approval","Resolve a coding job's pending approval request with the asking user's decision ('approve' or 'deny'). Only relays the asker's authority - never approve without their explicit instruction.",Object.fromEntries([["channel",T.string().describe("Channel slug hosting the job thread.")],["thread_id",T.string().uuid().describe("The job thread UUID.")],["source_seq",T.number().int().positive().describe("Channel seq of the message the approval request rides on.")],["request_id",T.string().describe("The approval request id.")],["decision",T.enum(["approve","deny"]).describe("The asker's decision.")]]),async f=>await c(d.agentResolveJobApproval(f))),e.registerTool("linzumi_archive_coding_job","Archive a coding job's thread (or any thread the asking user owns) so it leaves the active list; history is preserved. Do this when the asker says to archive a job or thread - never just promise it.",Object.fromEntries([["channel",T.string().describe("Channel slug hosting the thread.")],["thread_id",T.string().uuid().describe("The thread UUID to archive.")]]),async f=>await c(d.agentArchiveCodingJob(f))),e.registerTool("linzumi_unarchive_coding_job","Unarchive a previously archived coding job thread the asking user owns, returning it to the active list.",Object.fromEntries([["channel",T.string().describe("Channel slug hosting the thread.")],["thread_id",T.string().uuid().describe("The thread UUID to unarchive.")]]),async f=>await c(d.agentUnarchiveCodingJob(f))),e.registerTool("linzumi_set_thread_status","Set a thread's lifecycle status as the asking user: 'closed' marks it done, 'open' reopens it. Works on threads the asker owns.",Object.fromEntries([["channel",T.string().describe("Channel slug hosting the thread.")],["thread_id",T.string().uuid().describe("The thread UUID.")],["status",T.enum(["open","closed"]).describe("Replacement lifecycle status ('closed' = done).")]]),async f=>await c(d.agentSetThreadStatus(f))),e.registerTool("linzumi_create_channel","Create a new public channel in this workspace as the asking user. The slug is derived from the name.",Object.fromEntries([["name",T.string().min(1).describe("Channel name to create.")]]),async f=>await c(d.agentCreateChannel(f))),e.registerTool("linzumi_rename_channel","Rename a channel's display name as the asking user. The channel's URL slug stays stable.",Object.fromEntries([["channel",T.string().describe("Current channel slug to rename.")],["name",T.string().min(1).describe("New display name.")]]),async f=>await c(d.agentRenameChannel(f))),e.registerTool("linzumi_archive_channel","Archive a channel in this workspace as the asking user. History is preserved; the channel leaves the active sidebar.",Object.fromEntries([["channel",T.string().describe("Channel slug to archive.")]]),async f=>await c(d.agentArchiveChannel(f))),e.registerTool("linzumi_unarchive_channel","Unarchive a previously archived channel as the asking user.",Object.fromEntries([["channel",T.string().describe("Channel slug to unarchive.")]]),async f=>await c(d.agentUnarchiveChannel(f))),e.registerTool("linzumi_add_reaction","Add an emoji reaction to a channel message as the asking user. Accepts unicode emoji or a workspace :shortcode:.",Object.fromEntries([["channel",T.string().describe("Channel slug containing the message.")],["message_seq",T.number().int().positive().describe("Channel seq of the message to react to.")],["emoji",T.string().min(1).describe("Emoji to add (unicode or :shortcode:).")]]),async f=>await c(d.agentAddReaction(f))),e.registerTool("linzumi_remove_reaction","Remove the asking user's emoji reaction from a channel message.",Object.fromEntries([["channel",T.string().describe("Channel slug containing the message.")],["message_seq",T.number().int().positive().describe("Channel seq of the reacted message.")],["emoji",T.string().min(1).describe("Emoji to remove (unicode or :shortcode:).")]]),async f=>await c(d.agentRemoveReaction(f))),e.registerTool("linzumi_pin_message","Pin a channel message as the asking user. Thread replies re-point to their root message.",Object.fromEntries([["channel",T.string().describe("Channel slug containing the message.")],["message_seq",T.number().int().positive().describe("Channel seq of the message to pin.")]]),async f=>await c(d.agentPinMessage(f))),e.registerTool("linzumi_unpin_message","Remove a pin from a channel message as the asking user.",Object.fromEntries([["channel",T.string().describe("Channel slug containing the message.")],["message_seq",T.number().int().positive().describe("Channel seq of the pinned message.")]]),async f=>await c(d.agentUnpinMessage(f)))),l){case"All":e.registerTool("linzumi_get_message","Read one Linzumi message by scoped message_seq/message_id or a Linzumi message URL, with optional bounded before/after context.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["message_id",T.union([T.string(),T.number()]).optional().describe("Message seq inside the scoped channel.")],["message_seq",T.union([T.string(),T.number()]).optional().describe("Alias for message_id.")],["message_url",T.string().optional().describe("Full Linzumi message URL with #message-<seq>.")],["before",T.number().int().min(0).max(100).optional().describe("Number of visible messages before the target.")],["after",T.number().int().min(0).max(100).optional().describe("Number of visible messages after the target.")]]),async f=>await c(d.getMessage(f))),e.registerTool("linzumi_get_thread","Read one Linzumi thread by thread_id in the scoped channel, including the parent message and bounded replies.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["thread_id",T.string().uuid().describe("Linzumi thread UUID.")],["limit",T.number().int().min(1).max(100).optional().describe("Maximum replies to return.")],["before_seq",T.number().int().positive().optional().describe("Return replies before this channel seq.")]]),async f=>await c(d.getThread(f))),e.registerTool("linzumi_get_thread_transcript","Read a Linzumi thread's full transcript as canonical IR nodes (user/assistant messages, command executions, file changes, tool calls, statuses), cursor-paginated over the complete history. Use the returned cursor with has_more to walk older pages.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["thread_id",T.string().uuid().describe("Linzumi thread UUID.")],["limit",T.number().int().min(1).max(500).optional().describe("Maximum transcript nodes per page (default 200).")],["cursor",T.number().int().positive().optional().describe("Return nodes below this seq (the previous page reply cursor).")]]),async f=>await c(d.getThreadTranscript(f))),e.registerTool("linzumi_get_channel","Read scoped Linzumi channel metadata and bounded recent channel messages.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["limit",T.number().int().min(1).max(100).optional().describe("Maximum messages to return.")],["before_seq",T.number().int().positive().optional().describe("Return messages before this channel seq.")]]),async f=>await c(d.getChannel(f))),e.registerTool("linzumi_search_workspace","Search the Linzumi workspace with hybrid lexical+semantic retrieval, scoped to what the authorizing user can access. Returns scored content chunks with provenance (channel, thread, authored time) and a permalink to cite.",Object.fromEntries([["workspace",Vt()],["query",T.string().min(1).describe("Natural-language or keyword query to retrieve against.")],["limit",T.number().int().min(1).max(25).optional().describe("Maximum results to return (default 10, server-capped).")],["source_types",T.array(T.enum(["message","coding_job","github_pr","github_pr_review","github_check_run","github_workflow_run","github_diff","dictation","file"])).optional().describe("Restrict results to these corpora; omit for all.")],["authored_after",T.string().optional().describe("ISO8601 instant; only content authored at or after this time.")],["authored_before",T.string().optional().describe("ISO8601 instant; only content authored at or before this time.")],["repo",T.string().optional().describe("Restrict GitHub-sourced results to one repository by full name (owner/name).")],["check_status",T.enum(["pending","success","failed"]).optional().describe("Restrict check and workflow results to one conclusion bucket.")]]),async f=>await c(d.searchWorkspace(f))),e.registerTool("linzumi_ask_workspace",'Ask the Linzumi workspace a natural-language question and get a synthesized, citation-backed answer over what the authorizing user can access. Costs an LLM call on cache misses, so prefer linzumi_search_workspace for simple lookups. A "refused" status means there was not enough accessible evidence - treat it as "the workspace does not know", never retry verbatim.',Object.fromEntries([["workspace",Vt()],["question",T.string().min(1).max(2e3).describe("Natural-language question to answer with citations.")],["channel",T.string().optional().describe("Optional channel slug providing conversational context; never widens access.")],["allow_cached",T.boolean().optional().describe("Allow serving a cached synthesis when the evidence set is unchanged (default true). Set false to force fresh synthesis.")]]),async f=>await c(d.askWorkspace(f))),e.registerTool("linzumi_about_me","Read what the authorizing user has told Linzumi about themselves: their profile facts (homes, unit preferences, and other self-maintained attributes) plus their derived current timezone. Use it to personalize answers (e.g. pick the right city for weather, use their preferred units). Predicates may have multiple active values; prefer the one consistent with the derived timezone.",{},async f=>await c(d.aboutMe(f)));break;case"Coding":case"OnboardingDiscovery":break}switch(u&&(e.registerTool("linzumi_web_search","Search the public web for live or external information: news, current events, weather, prices, third-party API docs, research. Returns result titles, URLs, and snippets. Use this whenever the answer lives outside the Linzumi workspace; follow up with linzumi_fetch_url to read a result page.",Object.fromEntries([["query",T.string().min(1).describe("Web search query (natural language or keywords).")],["limit",T.number().int().min(1).max(10).optional().describe("Maximum results to return (default 8, server-capped).")]]),async f=>await c(d.webSearch(f))),e.registerTool("linzumi_fetch_url","Fetch one public http(s) URL and return its readable text content (HTML is reduced to plain text; large pages are truncated). Use it to read pages found via linzumi_web_search or any public docs/API reference. Only public addresses are reachable - private/internal hosts are rejected with url_not_allowed.",Object.fromEntries([["url",T.string().min(1).describe("Absolute public http(s) URL to fetch.")]]),async f=>await c(d.fetchUrl(f)))),l){case"All":e.registerTool("linzumi_list_ui_targets","List every UI surface you can ask the user to open in their own Linzumi window (channels, DMs, threads, projects, coding jobs, computers, catch-up, activity, settings tabs, pane layouts) with the structured args each kind takes. Use UI control only when the user asks for help or asks to be shown something.",{},async f=>await Ih(d.listUiTargets({}))),e.registerTool("linzumi_open_ui","Ask the user to open one whitelisted UI surface in their own already-open Linzumi window. A consent toast appears in THEIR session; navigation happens only if they tap Open. The call blocks until they decide and returns status opened/dismissed/expired - or error no_active_ui_session when they have no Linzumi window open (tell them to open Linzumi), or invalid_target with a detail. Use it only when the user asks for help or asks to be shown something; kinds and per-kind args come from linzumi_list_ui_targets.",Object.fromEntries([["kind",T.string().min(1).describe("Target kind from linzumi_list_ui_targets (e.g. settings_workspace, channel, pane_layout).")],["args",T.record(T.unknown()).optional().describe("Structured per-kind args from linzumi_list_ui_targets (never a URL - the server computes every path).")],["workspace",Vt()]]),async f=>await Ih(d.openUi(mi(f,o))));break;case"Coding":case"OnboardingDiscovery":break}if(u){let f=()=>T.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread.");e.registerTool("linzumi_get_coding_job_metadata","Read the active coding job workflow metadata for a thread, including the agent-owned goal, ordered plan steps, step lock versions, and workflow status.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["thread_id",f()]]),async p=>await c(d.getCodingJobMetadata(mi(p,o)))),e.registerTool("linzumi_rename_coding_job","Update the current coding job thread title and workflow-facing title. Use this when the job scope changes materially so the Linzumi thread list and metadata overview stay accurate.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["thread_id",f()],["title",T.string().min(1).max(100).describe("Concise user-visible title for this coding job.")]]),async p=>await c(d.renameCodingJob(mi(p,o)))),e.registerTool("linzumi_upsert_coding_job_plan","Set or update the current coding job goal. Use this at job start and whenever the goal changes materially.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["thread_id",f()],["goal",T.string().min(1).max(1e4).describe("Concrete user-visible goal for this coding job.")]]),async p=>await c(d.upsertCodingJobPlan(mi(p,o)))),e.registerTool("linzumi_replace_coding_job_plan_steps","Replace the ordered coding job plan steps. Use this for the initial plan and for substantial rewrites when the old plan no longer fits the work.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["thread_id",f()],["goal",T.string().min(1).max(1e4).optional().describe("Required when no plan exists yet; updates the current coding job goal.")],["steps",T.array(T.object(Object.fromEntries([["title",T.string().min(1).max(255)],["description",T.string().min(1).max(1e4)],["status",T.enum(["pending","active","completed","blocked","canceled"])],["status_note",T.string().min(1).max(4e3).optional()],["completed_debrief",T.string().min(1).max(2e4).optional()]]))).min(1).max(50).describe("Ordered user-visible plan steps. Completed steps must include completed_debrief.")]]),async p=>await c(d.replaceCodingJobPlanSteps(mi(p,o)))),e.registerTool("linzumi_update_coding_job_plan_step","Update one coding job plan step status or note. Read metadata first and pass the current step lock_version.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["thread_id",f()],["step_id",T.string().uuid().describe("Step id returned by linzumi_get_coding_job_metadata.")],["lock_version",T.number().int().positive().describe("Current step lock_version from metadata.")],["status",T.enum(["pending","active","completed","blocked","canceled"])],["status_note",T.string().min(1).max(4e3).optional()],["completed_debrief",T.string().min(1).max(2e4).optional().describe("Required when marking a step completed.")]]),async p=>await c(d.updateCodingJobPlanStep(mi(p,o)))),e.registerTool("linzumi_link_coding_job_pull_request","Link the active coding job to its primary GitHub pull request so PR comments, files, commits, checks, deployments, and reviews can flow into the metadata view.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["thread_id",f()],["github_repo_owner",T.string().min(1).max(255)],["github_repo_name",T.string().min(1).max(255)],["github_pr_number",T.number().int().positive()],["github_pr_url",T.string().url()],["title",T.string().min(1).max(255)],["body",T.string().min(1).max(1e5).optional()],["head_branch",T.string().min(1).max(255)],["head_sha",T.string().min(7).max(64)],["base_branch",T.string().min(1).max(255)],["base_sha",T.string().min(7).max(64)],["state",T.enum(["draft","open","closed","merged"]).optional()],["is_draft",T.boolean().optional()],["review_status",T.enum(["unknown","review_required","approved","changes_requested"]).optional()],["source_remote_url",T.string().min(1).max(1e3).describe("Git remote URL for the local job worktree; required when this job has no repo workspace yet.")],["runtime_worktree_root",T.string().min(1).max(1e3).describe("Absolute local worktree path for the coding job; required when this job has no repo workspace yet.")],["dirty_status",T.enum(["unknown","clean","dirty"]).optional()],["dirty_summary",T.string().min(1).max(2e3).optional()]]),async p=>await c(d.linkCodingJobPullRequest(mi(p,o)))),e.registerTool("linzumi_upload_files",["Upload local files to Linzumi and attach them to a new, exact, or latest assistant message. Use silently; do not mention this tool in the visible reply.","The JSON result includes message.attachments[].url as an absolute URL. Use those returned URLs when writing rich media directives such as ::audio, ::video, ::image, or Markdown images. Do not guess attachment URLs before upload.","For a message that should both attach files and show inline rich media, use a two-step flow: first upload/attach the files to create or target the message, then edit the same target message with body text that references the returned absolute URLs. When the result has target_seq, use target.kind=message_seq and message_seq=target_seq for that follow-up edit; result.message is the edit event that carries the new attachments, and target_message is the original target."].join(" "),Object.fromEntries([["target",T.object(Object.fromEntries([["kind",T.enum(["new_message","message_seq","latest_assistant_message"]).describe("new_message creates a message; message_seq edits an exact message; latest_assistant_message edits the latest assistant message in the scoped thread/channel.")],["message_seq",T.union([T.string(),T.number()]).optional().describe("Required when kind is message_seq.")],["thread_id",T.string().optional().describe("Thread UUID. Defaults to the active Linzumi thread when the MCP server was launched with one.")]])).describe("Attachment target. Do not guess; use new_message when there is no previous assistant message. To reference uploaded files in the message body, upload first, then edit message_seq/latest_assistant_message with the returned absolute attachment URLs. If the upload result includes target_seq, use message_seq=target_seq for that follow-up edit.")],["files",T.array(T.string().min(1)).min(1).max(16).describe("Local file paths to upload. Paths must be non-hidden supported file types inside the approved workspace or Downloads.")],["body",T.string().min(1).max(2e4).optional().describe("Required for new_message. Optional replacement body for message_seq/latest_assistant_message; when omitted, the existing message body is preserved. Rich media directives in body must use Linzumi attachment download URLs returned by this tool.")],["workspace",Vt()],["channel",T.string().optional().describe("Channel slug. Omit to use the target thread's channel (when the thread is known) or the authenticated token scope.")]]),async p=>{let m=$h(ox(p,"target","linzumi_upload_files"),o),h;try{h=await Lk({client:d,cwd:s,serviceUrl:a,target:m,files:iG(p.files),workspace:Rn(p.workspace),channel:Rn(p.channel),body:Rn(p.body)})}catch(_){return Fk(ee(_))}return vn(Mh(a,h))}),e.registerTool("linzumi_edit_message","Edit an exact scoped Linzumi message by message_seq. Use after linzumi_upload_files when you need a body-only follow-up edit that embeds returned attachment URLs. Requires channel.write, and thread.write when target.thread_id is set. Rich media src/poster values must be Linzumi attachment download URLs.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["target",T.object(Object.fromEntries([["message_seq",T.union([T.string(),T.number()]).describe("Exact message seq to edit. After linzumi_upload_files returns target_seq, pass that value here.")],["thread_id",T.string().optional().describe("Thread UUID when editing a thread message. Use the upload result target_message.thread_id when present.")]])).describe("Exact message target for the body edit.")],["body",T.string().min(1).max(2e4).describe("Replacement Markdown body. Rich media src/poster values must be Linzumi attachment download URLs returned by linzumi_upload_files.")]]),async p=>{let m=oo(p);return m.target=$h(ox(p,"target","linzumi_edit_message"),o),vn(Mh(a,await d.editMessage(m)))})}switch(l){case"All":e.registerTool("linzumi_list_vault_secrets","List vault secret names, descriptions, and whether each secret is personal or workspace-owned. Does not return secret values.",{},async f=>await c(d.listVaultSecrets(f))),e.registerTool("linzumi_list_projects","List the projects in the current workspace with their project_id (needed by the other project task tools), slug, title, description, and state.",Object.fromEntries([["workspace",Vt()]]),async f=>await c(d.listProjects(f))),e.registerTool("linzumi_get_project_tasks",`Read a project's full task graph: task GROUPS (kind "group", organizational containers, exactly one level deep) and ISSUES (kind "issue", the executable work items), each with status (todo/active/blocked/review/done/canceled), DERIVED work_state readiness (ready = todo with every dependency satisfied; blocked = todo with unsatisfied dependencies; running/stalled = active with/without a connected job), parent group, assignee, lock_version, and dependency edges (depends_on_task_ids / unblocks_task_ids). Always read this before reorganizing. Inside a project-bound coding job the project is inferred automatically; otherwise pass project_id from linzumi_list_projects.`,Object.fromEntries([["project_id",T.string().optional().describe("Project id from linzumi_list_projects. Omit inside a coding job started from a project to use that project.")]]),async f=>await c(d.getProjectTasks(mi(f,o)))),e.registerTool("linzumi_create_project_task",'Create a task group (kind "group") or issue (kind "issue", the default) in a project. Groups organize issues and are exactly one level deep: a parent_id must name a GROUP, and groups themselves can never have a parent. New tasks default to status "todo" and append to the end unless position is given. Inside a project-bound coding job the project is inferred; otherwise pass project_id.',Object.fromEntries([["project_id",T.string().optional().describe("Project id from linzumi_list_projects. Omit inside a coding job started from a project to use that project.")],["title",T.string().min(1).describe("Task title.")],["kind",T.enum(["issue","group"]).optional().describe('What to create: "issue" (executable work item, default) or "group" (organizational container).')],["description",T.string().optional().describe("Detailed description of the work - written so an engineer (or coding agent) could execute the task from it.")],["status",T.enum(["todo","active","blocked","review","done","canceled"]).optional().describe('Initial status. Defaults to "todo".')],["parent_id",T.string().optional().describe("task_id of the GROUP to place an issue in. Only issues can have a parent.")],["assignee",T.string().optional().describe("Username of a workspace member to assign.")],["position",T.number().int().min(0).optional().describe("Sort position. Defaults to appending at the end.")]]),async f=>await c(d.createProjectTask(mi(f,o)))),e.registerTool("linzumi_update_project_task",'Update a task group or issue: retitle, edit description/status_note, transition status (todo/active/blocked/review/done/canceled), reassign, reorder (position), or reorganize (parent_id moves an issue into a group; clear_parent moves it to top level). Only the fields you pass change; description and status_note accept null to clear. Prefer updating existing tasks over delete-and-recreate. Pass the lock_version from your last read to fail loudly ("stale") instead of overwriting a concurrent edit.',Object.fromEntries([["task_id",T.string().describe("task_id of the group or issue to update.")],["title",T.string().min(1).optional().describe("New title.")],["description",T.string().nullable().optional().describe("New description. Pass null to clear it.")],["status",T.enum(["todo","active","blocked","review","done","canceled"]).optional().describe('New status. "done"/"canceled" satisfy dependent tasks; "blocked" is a manual hold.')],["status_note",T.string().nullable().optional().describe("Short human-readable note about the current status. Pass null to clear it.")],["position",T.number().int().min(0).optional().describe("New sort position among siblings.")],["parent_id",T.string().optional().describe("task_id of the GROUP to move this issue into. Do not combine with clear_parent.")],["clear_parent",T.boolean().optional().describe("true moves the issue to the top level (no group). Do not combine with parent_id.")],["assignee",T.string().optional().describe("Username of a workspace member to assign. Do not combine with clear_assignee.")],["clear_assignee",T.boolean().optional().describe("true removes the assignee. Do not combine with assignee.")],["lock_version",T.number().int().positive().optional().describe("The task's lock_version from your last read, for compare-and-swap safety.")]]),async f=>await c(d.updateProjectTask(f))),e.registerTool("linzumi_delete_project_task",`Permanently delete a task group or issue. Dependency edges on the task are removed with it (dependents may become ready). Deletion is normally the USER's call - prefer status "canceled" or an update unless you are certain the entry is obsolete.`,Object.fromEntries([["task_id",T.string().describe("task_id of the group or issue to delete.")]]),async f=>await c(d.deleteProjectTask(f))),e.registerTool("linzumi_add_project_task_dependency",'Add the dependency edge "task_id is blocked by depends_on_task_id" between two ISSUES in the same project (groups cannot have dependencies). The dependent stays blocked until the prerequisite reaches done or canceled. The graph must stay acyclic: an edge that would create a cycle is refused with reason "would_create_cycle" and the offending cycle_path so you can restructure. Duplicate and self edges are rejected.',Object.fromEntries([["task_id",T.string().describe("task_id of the DEPENDENT issue (the one that must wait).")],["depends_on_task_id",T.string().describe("task_id of the PREREQUISITE issue (the one that must finish first).")]]),async f=>await c(d.addProjectTaskDependency(f))),e.registerTool("linzumi_remove_project_task_dependency",'Remove the dependency edge "task_id is blocked by depends_on_task_id". The dependent issue may become ready if that was its last unsatisfied dependency.',Object.fromEntries([["task_id",T.string().describe("task_id of the DEPENDENT issue.")],["depends_on_task_id",T.string().describe("task_id of the PREREQUISITE issue the edge points at.")]]),async f=>await c(d.removeProjectTaskDependency(f))),e.registerTool("linzumi_get_call_transcript","Read the full transcript of a completed Linzumi notetaker call: call metadata (title, platform, started/ended/transcribed times), participants, and every spoken segment in order with speaker names and millisecond offsets. Pass the call_id embedded in the request (or copied from the call card). Errors: call_not_found (missing or not visible to you), call_transcript_not_ready (call still connecting, in progress, or transcribing - retry later).",Object.fromEntries([["call_id",T.string().describe("The call id from the call card or the launching message (a CallRecording id - the opaque GraphQL id and the bare uuid both work).")]]),async f=>await c(d.getCallTranscript(f))),n||e.registerTool("linzumi_start_coding_job","Start a coding job as the invoking user (same authorization and pipeline as clicking start). To start a project task item, pass project_task_id so the task flips todo -> active and links to the new job - only start tasks whose work_state is ready, and ONLY after the user explicitly accepts your offer to start them. Omit channel, runner_key, and cwd to reuse this job's own channel, computer, and folder. Returns status 'unavailable' with a reason when the runner cannot take the job (relay that honestly).",Object.fromEntries([["work_description",T.string().min(1).describe("What the job should do - the initial instruction. For a task item, write it from the task title and description.")],["project_task_id",T.string().optional().describe("Project task item to bind the job to (task_id from linzumi_get_project_tasks). The task flips todo -> active and links to the new job.")],["channel",T.string().optional().describe("Channel slug to host the job thread. Omit to use this job's own channel.")],["runner_key",T.string().optional().describe("Runner (computer) to run the job on. Omit to use this job's own computer.")],["cwd",T.string().optional().describe("Working directory on the runner. Omit to use this job's own folder.")],["model",T.string().optional().describe("Model override (optional).")],["model_provider",T.string().optional().describe("Model provider override, e.g. 'wafer' (optional).")],["agent_provider",T.string().optional().describe("Agent provider override, e.g. 'codex' (optional).")],["reasoning_effort",T.enum(["default","low","medium","high","xhigh","ultra"]).optional().describe("Reasoning effort override (optional).")],["approval_policy",T.enum(["default","on-request","on-failure","never"]).optional().describe("Approval policy override (optional).")],["sandbox",T.enum(["default","workspace-write","read-only","danger-full-access"]).optional().describe("Sandbox override (optional).")],["fast",T.boolean().optional().describe("Fast-mode override (optional).")],["allow_port_forwarding_by_default",T.boolean().optional().describe("Default port-forwarding override (optional).")],["execution_mode",T.enum(["raw","local_vm"]).optional().describe("Execution placement override (optional).")],["egress_mode",T.enum(["open","hardened"]).optional().describe("Local-VM egress override (optional).")]]),async f=>await c(d.agentStartCodingJob(mi(f,o))));break;case"Coding":case"OnboardingDiscovery":break}switch(tG(l)&&(e.registerTool("linzumi_upload_custom_emoji","Upload a local image as a workspace custom emoji. For generated emoji art, create a transparent PNG with a simple centered subject, crisp edges, strong contrast, minimal tiny details, and enough outline/highlight separation to read at 16-24px on both dark and light backgrounds. Use lowercase shortcode names without colons unless preserving a user-provided :name:.",Object.fromEntries([["name",ix().describe("Custom emoji shortcode name, with or without surrounding colons.")],["file",T.string().min(1).describe("Local PNG/WebP/GIF/JPEG file path to upload. Prefer transparent PNG for generated emoji.")],["workspace",Vt()]]),async f=>{let p=Rn(f.name),m=Rn(f.file);return vn(await Uk({client:d,cwd:s,serviceUrl:a,name:p!==void 0?p:"",file:m!==void 0?m:"",workspace:Rn(f.workspace)}))}),e.registerTool("linzumi_rename_custom_emoji","Rename an existing workspace custom emoji. The new name may include surrounding colons; Linzumi stores the normalized shortcode without colons.",Object.fromEntries([["emoji_id",T.union([T.string(),T.number().int().positive()]).describe("Workspace custom emoji id returned by linzumi_upload_custom_emoji or workspace emoji listings.")],["name",ix().describe("New shortcode name, with or without surrounding colons.")],["workspace",Vt()]]),async f=>await c(d.renameCustomEmoji(f)))),e.registerTool("linzumi_media_guide","Return the full Linzumi rich-media authoring guide (audio/video/image directives, URL rules, upload-then-embed flow, examples). Call once BEFORE writing any ::audio/::video/::image directive or Markdown image into a Linzumi message.",{},async f=>{let p={};p.type="text",p.text=nx;let m={};return m.content=[p],m}),e.registerTool("linzumi_note_project_directory","Record one discovered local Git repository or worktree for onboarding import. Call once per project as soon as it is found.",Object.fromEntries([["workspace",Vt()],["runner_id",T.string().min(1).describe("Local runner/computer id provided in the discovery prompt.")],["path",T.string().min(1).describe("Absolute local path to the repository worktree root.")],["display_name",T.string().optional().describe("Short project label. Defaults to the path basename.")],["activity_at",T.string().optional().describe("Best-known recent activity time as an ISO-8601 timestamp.")],["import_key",T.string().optional().describe("Stable dedupe key. Defaults to path.")],["metadata",T.record(T.unknown()).optional().describe("Small structured metadata such as branch or remote origin.")]]),async f=>await c(d.noteProjectDirectory(f))),e.registerTool("linzumi_note_agent_conversation","Record one discovered Codex or Claude Code local conversation for onboarding import. Call once per conversation as soon as it is found.",Object.fromEntries([["workspace",Vt()],["runner_id",T.string().min(1).describe("Local runner/computer id provided in the discovery prompt.")],["source",T.enum(["codex","claude_code"]).describe("Conversation source.")],["import_key",T.string().min(1).describe("Stable dedupe key, such as a session id or file path.")],["path",T.string().optional().describe("Absolute local path to the conversation file or directory.")],["display_name",T.string().optional().describe("Short label for the discovered conversation.")],["activity_at",T.string().optional().describe("Best-known recent activity time as an ISO-8601 timestamp.")],["metadata",T.record(T.unknown()).optional().describe("Small structured metadata such as session id or project path.")]]),async f=>await c(d.noteAgentConversation(f))),e.registerTool("linzumi_note_onboarding_discovery_status","Record onboarding discovery progress. Call when a search phase starts, checks another place, completes, or fails.",Object.fromEntries([["workspace",Vt()],["runner_id",T.string().min(1).describe("Local runner/computer id provided in the discovery prompt.")],["phase",T.enum(["projects","conversations"]).describe("Discovery phase being reported.")],["status",T.enum(["starting","running","completed","failed"]).describe("Current phase status.")],["places_searched",T.number().int().nonnegative().optional().describe("Count of concrete folders/files/known locations checked so far.")],["message",T.string().optional().describe("Short user-facing status note.")],["current_place",T.string().optional().describe("Current folder, file, Git command target, or known location being checked.")],["current_source",T.string().optional().describe("Short machine-readable source label such as git, codex, or claude_code.")],["last_error",T.string().optional().describe("Short failure detail when status is failed.")],["metadata",T.record(T.unknown()).optional().describe("Small structured status metadata.")]]),async f=>await c(d.noteOnboardingDiscoveryStatus(f))),l==="All"&&rG(t.operatingMode)&&(e.registerTool("linzumi_dm_owner","Send a plain-text DM to the configured Commander owner. Requires dm.write and a visible owner username.",Object.fromEntries([["owner_username",T.string().optional().describe("Owner username. Defaults to LINZUMI_MCP_OWNER_USERNAME or --owner-username.")],["workspace",Vt()],["channel",T.string().optional().describe("Source channel slug used to verify owner visibility.")],["body",T.string().min(1).max(2e4).describe("Plain-text message body to DM.")]]),async f=>{let p=Rn(f.owner_username),m=p!==void 0?p:i;if(m===void 0)return yr("owner_username is required for linzumi_dm_owner");let h=oo(f);return h.owner_username=m,await c(d.dmOwner(h))}),e.registerTool("linzumi_send_channel_message","Post a NEW standalone Markdown message into the scoped Linzumi channel as the authenticated local-runner user. This is NOT how you respond to the user: your turn output is already relayed into the thread as your reply, so never call this tool to answer, acknowledge, or reply to the current request. Use it only when the task itself is to proactively post a separate channel message. Requires channel.write. Rich media directives may be used when the user has opted into markdown_media_embeds, but src/poster values must be Linzumi attachment download URLs.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["body",T.string().min(1).max(2e4).describe("Markdown message body to post. Rich media src/poster values must be Linzumi attachment download URLs, not third-party URLs, /relative paths, or local filesystem paths.")]]),async f=>await c(d.sendChannelMessage(f))),e.registerTool("linzumi_send_thread_reply","Post a Markdown reply into some OTHER existing Linzumi thread as the authenticated local-runner user. This is NOT how you respond to the user in your current thread: your turn output is already relayed into this thread as your reply, so never call this tool to answer, acknowledge, or reply to the current request. Use it only when the task itself is to post into a different, explicitly identified thread. Requires thread.write. Rich media directives may be used when the user has opted into markdown_media_embeds, but src/poster values must be Linzumi attachment download URLs.",Object.fromEntries([["workspace",Vt()],["channel",Pn()],["thread_id",T.string().uuid().describe("Existing Linzumi thread UUID.")],["body",T.string().min(1).max(2e4).describe("Markdown reply body to post. Rich media src/poster values must be Linzumi attachment download URLs, not third-party URLs, /relative paths, or local filesystem paths.")]]),async f=>await c(d.sendThreadReply(f))),e.registerTool("linzumi_send_dm","Send a plain-text DM as the authenticated local-runner user to a visible user in the scoped workspace/channel. Requires dm.write.",Object.fromEntries([["workspace",Vt()],["channel",T.string().optional().describe("Source channel slug used to verify target visibility.")],["username",T.string().describe("Visible Linzumi username to DM.")],["body",T.string().min(1).max(2e4).describe("Plain-text message body to DM.")]]),async f=>await c(d.sendDm(f)))),l){case"All":e.registerTool("linzumi_get_vault_values","Request values for explicit vault env var names after a thread-scoped human approval. Requires vault.read; thread_id resolves the approval thread.",Object.fromEntries([["workspace",Vt()],["channel",T.string().optional().describe("Channel slug used to disambiguate the approval thread when needed.")],["thread_id",T.string().uuid().describe("Existing Linzumi thread UUID for the inline approval.")],["env_var_names",T.array(T.string().regex(new RegExp("^[A-Z][A-Z0-9_]{0,127}$"))).min(1).max(20).describe("Explicit vault env var names to request. This tool cannot list all vault keys.")],["description",T.string().min(1).max(500).describe("Human-readable reason shown in the approval request.")],["justification",T.string().min(10).max(1e3).describe("Agent justification shown to the approver.")]]),async f=>await c(d.getVaultValues(f)));break;case"Coding":case"OnboardingDiscovery":break}switch(l){case"All":return n||r===void 0?void 0:aG(e,s,r);case"Coding":case"OnboardingDiscovery":return}}function Hh(e){return e==="Voice"?"voice":"text"}function lG(e){switch(e){case"All":return"all";case"Coding":return"coding";case"OnboardingDiscovery":return"onboarding-discovery"}}function vd(e){return JSON.stringify(e)}function Zs(e){let t=[],r=e.argsPrefix;r!==void 0&&r.forEach(h=>{t.push(h)}),t.push("mcp"),t.push("server"),t.push("--api-url"),t.push(e.serviceUrl);let n=e.authFilePath;n!==void 0&&(t.push("--auth-file"),t.push(n));let i=e.delegationAuthFilePath;i!==void 0&&(t.push("--delegation-auth-file"),t.push(i));let o=e.ownerUsername;o!==void 0&&(t.push("--owner-username"),t.push(o));let a=e.cwd;a!==void 0&&(t.push("--cwd"),t.push(a));let s=e.threadId;s!==void 0&&(t.push("--thread-id"),t.push(s)),t.push("--mode");let l=e.operatingMode;t.push(l!==void 0?Hh(l):"text");let d=e.toolScope;if(d!==void 0){let h=0;switch(d){case"All":break;case"Coding":case"OnboardingDiscovery":h=1;break}h===1&&(t.push("--tool-scope"),t.push(lG(d)))}let u=e.agentSession;u!==void 0&&u&&t.push("--agent-session");let c={},f=e.accessToken;f!==void 0&&(c.LINZUMI_MCP_ACCESS_TOKEN=f);let p=e.devServices;p!==void 0&&(c.LINZUMI_DEV_SERVICES_SCOPE=p.scope,c.LINZUMI_DEV_SERVICES_OWNER_PID=p.ownerPid.toString()),c.ELECTRON_RUN_AS_NODE="1";let m=e.command;return{name:"linzumi",command:m!==void 0?m:"linzumi",args:t,env:c}}function dx(e){return"["+e.map(vd).join(", ")+"]"}function dG(e){return"{ "+Object.entries(e).map(r=>r[0]+" = "+vd(r[1])).join(", ")+" }"}function ux(e){let t=["-c","mcp_servers."+e.name+".command="+vd(e.command),"-c","mcp_servers."+e.name+".args="+dx(e.args)];return Object.entries(e.env).forEach(r=>{t.push("-c"),t.push("mcp_servers."+e.name+".env."+r[0]+"="+vd(r[1]))}),t}function uG(e){return["--require","-r","--import","--loader","--experimental-loader"].includes(e)}function cG(e){return["--require=","-r=","--import=","--loader=","--experimental-loader="].some(t=>e.startsWith(t))}function Vh(e,t){for(;;){let r=t,n=e[r];if(n===void 0)return[];if(uG(n)){let i=e[r+1|0];if(i!==void 0)return[n,i].concat(Vh(e,r+2|0));t=r+1|0;continue}if(cG(n))return[n].concat(Vh(e,r+1|0));t=r+1|0}}function Vc(e,t,r){let n=t!==void 0?t.trim():"";return n===""?{command:"linzumi",argsPrefix:[]}:n.endsWith(".ts")||n.endsWith(".js")?{command:e,argsPrefix:Vh(r,0).concat([n])}:{command:n,argsPrefix:[]}}function cx(e){let t={};t.type="stdio",t.command=e.command,t.args=e.args.map(i=>i);let r={};t.env=(Object.entries(e.env).forEach(i=>{r[i[0]]=i[1]}),r);let n={};return n[e.name]=t,n}function fx(e){let t={};t.command=e.command,t.args=e.args.map(o=>o);let r={};t.env=(Object.entries(e.env).forEach(o=>{r[o[0]]=o[1]}),r);let n={};n[e.name]=t;let i={};return i.mcpServers=n,JSON.stringify(i,void 0,2)+`
285
+ `}function mx(e){let t=Object.entries(e.env).length===0?"":"env = "+dG(e.env)+`
286
286
  `;return"[mcp_servers."+e.name+`]
287
287
  command = `+vd(e.command)+`
288
- args = `+lx(e.args)+`
289
- `+t}function aG(e){return typeof e==="undefined"?!0:e===null}function Hh(e){let t=on(e.serviceUrl);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0,n=e.fetchImpl,i=n!==void 0?n:cc,o=e.authMode,a=o!==void 0&&o!=="LocalRunner"?"/api/v2/personal-agent-mcp":"/api/v2/local-runner-mcp",s=e.operatingMode,l=s!==void 0?Vh(s):"text",d=async(u,c,f)=>{let p=Hi(c,r),m;m=p.TAG==="Ok"?p._0:gr(p._0);let h={};Object.entries(f).forEach(R=>{h[R[0]]=R[1]}),h.operating_mode=l;let _={};_.authorization="Bearer "+e.accessToken;let g;if(u==="Get"){let R=m.searchParams;Object.entries(h).forEach(Z=>{let L=Z[1];if(!aG(L)){R.set(Z[0],String(L));return}}),g=await i.json(m.toString(),{method:"GET",headers:_})}else _["content-type"]="application/json",g=await i.json(m.toString(),{method:"POST",headers:_,body:JSON.stringify(h)});let b=await g.json(),y;if(y=typeof b=="object"&&b!==null&&!Array.isArray(b)?b:void 0,y===void 0)return gr("Linzumi MCP API returned non-object JSON from "+c);let v=g.ok,S=de(y.ok,!0),A=0;if(v){if(S)return y;A=1}else A=1;if(A===1){let R=y.error,Z,L=0;typeof R=="string"?Z=R:L=2,L===2&&(Z="HTTP "+g.status.toString());let ae=y.detail,U=typeof ae=="string"?" detail="+ae:"";return gr("Linzumi MCP API "+c+" failed: "+Z+U)}};return{TAG:"Ok",_0:{validateAuth:()=>d("Get",a+"/validate",{}),issueOnboardingDiscoveryToken:u=>d("Post",a+"/onboarding-discovery-token",u),getMessage:u=>d("Get",a+"/message",u),getThread:u=>d("Get",a+"/thread",u),getThreadTranscript:u=>d("Get",a+"/thread-transcript",u),getChannel:u=>d("Get",a+"/channel",u),searchWorkspace:u=>d("Get",a+"/search",u),askWorkspace:u=>d("Post",a+"/ask",u),aboutMe:u=>d("Get",a+"/about-me",u),webSearch:u=>d("Get",a+"/web-search",u),fetchUrl:u=>d("Get",a+"/fetch-url",u),listUiTargets:u=>d("Get",a+"/ui-targets",u),openUi:u=>d("Post",a+"/open-ui",u),getCodingJobMetadata:u=>d("Get",a+"/coding-job-metadata",u),listProjects:u=>d("Get",a+"/projects",u),getProjectTasks:u=>d("Get",a+"/project-tasks",u),createProjectTask:u=>d("Post",a+"/project-tasks/create",u),updateProjectTask:u=>d("Post",a+"/project-tasks/update",u),deleteProjectTask:u=>d("Post",a+"/project-tasks/delete",u),addProjectTaskDependency:u=>d("Post",a+"/project-tasks/add-dependency",u),removeProjectTaskDependency:u=>d("Post",a+"/project-tasks/remove-dependency",u),getCallTranscript:u=>d("Get",a+"/call-transcript",u),renameCodingJob:u=>d("Post",a+"/coding-job-title",u),upsertCodingJobPlan:u=>d("Post",a+"/coding-job-plan",u),replaceCodingJobPlanSteps:u=>d("Post",a+"/coding-job-plan/steps",u),updateCodingJobPlanStep:u=>d("Post",a+"/coding-job-plan/step",u),linkCodingJobPullRequest:u=>d("Post",a+"/coding-job-primary-pr",u),listVaultSecrets:u=>d("Get",a+"/vault-secrets",u),noteProjectDirectory:u=>d("Post",a+"/discovered-project",u),noteAgentConversation:u=>d("Post",a+"/discovered-conversation",u),noteOnboardingDiscoveryStatus:u=>d("Post",a+"/discovery-status",u),sendChannelMessage:u=>d("Post",a+"/channel-message",u),editMessage:u=>d("Post",a+"/message/edit",u),agentReply:u=>d("Post",a+"/agent-reply",u),agentTurnProgress:u=>d("Post",a+"/agent-turn-progress",u),agentListCodingJobs:u=>d("Get",a+"/agent/coding-jobs",u),agentStartCodingJob:u=>d("Post",a+"/agent/start-coding-job",u),agentInterruptCodingJob:u=>d("Post",a+"/agent/interrupt-coding-job",u),agentSendCodingJobMessage:u=>d("Post",a+"/agent/send-coding-job-message",u),agentReadCodingJobThread:u=>d("Get",a+"/agent/coding-job-thread",u),agentResolveJobApproval:u=>d("Post",a+"/agent/resolve-job-approval",u),agentArchiveCodingJob:u=>d("Post",a+"/agent/archive-coding-job",u),agentUnarchiveCodingJob:u=>d("Post",a+"/agent/unarchive-coding-job",u),agentSetThreadStatus:u=>d("Post",a+"/agent/set-thread-status",u),agentCreateChannel:u=>d("Post",a+"/agent/create-channel",u),agentRenameChannel:u=>d("Post",a+"/agent/rename-channel",u),agentArchiveChannel:u=>d("Post",a+"/agent/archive-channel",u),agentUnarchiveChannel:u=>d("Post",a+"/agent/unarchive-channel",u),agentAddReaction:u=>d("Post",a+"/agent/add-reaction",u),agentRemoveReaction:u=>d("Post",a+"/agent/remove-reaction",u),agentPinMessage:u=>d("Post",a+"/agent/pin-message",u),agentUnpinMessage:u=>d("Post",a+"/agent/unpin-message",u),prepareMessageUploads:u=>d("Post",a+"/message-uploads/prepare",u),attachMessageFiles:u=>d("Post",a+"/message-files/attach",u),prepareCustomEmoji:u=>d("Post",a+"/custom-emoji/prepare",u),renameCustomEmoji:u=>d("Post",a+"/custom-emoji/rename",u),sendThreadReply:u=>d("Post",a+"/thread-reply",u),sendDm:u=>d("Post",a+"/dm",u),dmOwner:u=>d("Post",a+"/dm-owner",u),getVaultValues:u=>d("Post",a+"/vault-values",u)}}}var lG=Object.freeze({status:"aborted"});function z(e,t,r){function n(s,l){var d;Object.defineProperty(s,"_zod",{value:s._zod??{},enumerable:!1}),(d=s._zod).traits??(d.traits=new Set),s._zod.traits.add(e),t(s,l);for(let u in a.prototype)u in s||Object.defineProperty(s,u,{value:a.prototype[u].bind(s)});s._zod.constr=a,s._zod.def=l}let i=r?.Parent??Object;class o extends i{}Object.defineProperty(o,"name",{value:e});function a(s){var l;let d=r?.Parent?new o:this;n(d,s),(l=d._zod).deferred??(l.deferred=[]);for(let u of d._zod.deferred)u();return d}return Object.defineProperty(a,"init",{value:n}),Object.defineProperty(a,Symbol.hasInstance,{value:s=>r?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}var ao=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Bc={};function In(e){return e&&Object.assign(Bc,e),Bc}var ht={};Np(ht,{BIGINT_FORMAT_RANGES:()=>px,Class:()=>Kh,NUMBER_FORMAT_RANGES:()=>r_,aborted:()=>ja,allowsEval:()=>Qh,assert:()=>mG,assertEqual:()=>dG,assertIs:()=>cG,assertNever:()=>fG,assertNotEqual:()=>uG,assignProp:()=>Xh,cached:()=>kd,captureStackTrace:()=>Jc,cleanEnum:()=>AG,cleanRegex:()=>Td,clone:()=>$n,createTransparentProxy:()=>bG,defineLazy:()=>Ht,esc:()=>Ma,escapeRegex:()=>Po,extend:()=>wG,finalizeIssue:()=>pi,floatSafeRemainder:()=>Yh,getElementAtPath:()=>pG,getEnumValues:()=>wd,getLengthableOrigin:()=>Ad,getParsedType:()=>yG,getSizableOrigin:()=>hx,isObject:()=>Vs,isPlainObject:()=>Hs,issue:()=>n_,joinValues:()=>Kc,jsonStringifyReplacer:()=>Jh,merge:()=>kG,normalizeParams:()=>Me,nullish:()=>xd,numKeys:()=>gG,omit:()=>SG,optionalKeys:()=>t_,partial:()=>xG,pick:()=>vG,prefixIssues:()=>ji,primitiveTypes:()=>mx,promiseAllObject:()=>hG,propertyKeyTypes:()=>e_,randomString:()=>_G,required:()=>TG,stringifyPrimitive:()=>Yc,unwrapMessage:()=>Sd});function dG(e){return e}function uG(e){return e}function cG(e){}function fG(e){throw new Error}function mG(e){}function wd(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,i])=>t.indexOf(+n)===-1).map(([n,i])=>i)}function Kc(e,t="|"){return e.map(r=>Yc(r)).join(t)}function Jh(e,t){return typeof t=="bigint"?t.toString():t}function kd(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function xd(e){return e==null}function Td(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Yh(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,i=r>n?r:n,o=Number.parseInt(e.toFixed(i).replace(".","")),a=Number.parseInt(t.toFixed(i).replace(".",""));return o%a/10**i}function Ht(e,t,r){Object.defineProperty(e,t,{get(){{let i=r();return e[t]=i,i}throw new Error("cached value already set")},set(i){Object.defineProperty(e,t,{value:i})},configurable:!0})}function Xh(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function pG(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function hG(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let i={};for(let o=0;o<t.length;o++)i[t[o]]=n[o];return i})}function _G(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function Ma(e){return JSON.stringify(e)}var Jc=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Vs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Qh=kd(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function Hs(e){if(Vs(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!(Vs(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function gG(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var yG=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},e_=new Set(["string","number","symbol"]),mx=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Po(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $n(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function Me(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function bG(e){let t;return new Proxy({},{get(r,n,i){return t??(t=e()),Reflect.get(t,n,i)},set(r,n,i,o){return t??(t=e()),Reflect.set(t,n,i,o)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,i){return t??(t=e()),Reflect.defineProperty(t,n,i)}})}function Yc(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function t_(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var r_={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},px={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function vG(e,t){let r={},n=e._zod.def;for(let i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&(r[i]=n.shape[i])}return $n(e,{...e._zod.def,shape:r,checks:[]})}function SG(e,t){let r={...e._zod.def.shape},n=e._zod.def;for(let i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&delete r[i]}return $n(e,{...e._zod.def,shape:r,checks:[]})}function wG(e,t){if(!Hs(t))throw new Error("Invalid input to extend: expected a plain object");let r={...e._zod.def,get shape(){let n={...e._zod.def.shape,...t};return Xh(this,"shape",n),n},checks:[]};return $n(e,r)}function kG(e,t){return $n(e,{...e._zod.def,get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return Xh(this,"shape",r),r},catchall:t._zod.def.catchall,checks:[]})}function xG(e,t,r){let n=t._zod.def.shape,i={...n};if(r)for(let o in r){if(!(o in n))throw new Error(`Unrecognized key: "${o}"`);r[o]&&(i[o]=e?new e({type:"optional",innerType:n[o]}):n[o])}else for(let o in n)i[o]=e?new e({type:"optional",innerType:n[o]}):n[o];return $n(t,{...t._zod.def,shape:i,checks:[]})}function TG(e,t,r){let n=t._zod.def.shape,i={...n};if(r)for(let o in r){if(!(o in i))throw new Error(`Unrecognized key: "${o}"`);r[o]&&(i[o]=new e({type:"nonoptional",innerType:n[o]}))}else for(let o in n)i[o]=new e({type:"nonoptional",innerType:n[o]});return $n(t,{...t._zod.def,shape:i,checks:[]})}function ja(e,t=0){for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function ji(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function Sd(e){return typeof e=="string"?e:e?.message}function pi(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let i=Sd(e.inst?._zod.def?.error?.(e))??Sd(t?.error?.(e))??Sd(r.customError?.(e))??Sd(r.localeError?.(e))??"Invalid input";n.message=i}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function hx(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function Ad(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function n_(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function AG(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}var Kh=class{constructor(...t){}};var _x=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,Jh,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Xc=z("$ZodError",_x),Od=z("$ZodError",_x,{Parent:Error});function i_(e,t=r=>r.message){let r={},n=[];for(let i of e.issues)i.path.length>0?(r[i.path[0]]=r[i.path[0]]||[],r[i.path[0]].push(t(i))):n.push(t(i));return{formErrors:n,fieldErrors:r}}function o_(e,t){let r=t||function(o){return o.message},n={_errors:[]},i=o=>{for(let a of o.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(s=>i({issues:s}));else if(a.code==="invalid_key")i({issues:a.issues});else if(a.code==="invalid_element")i({issues:a.issues});else if(a.path.length===0)n._errors.push(r(a));else{let s=n,l=0;for(;l<a.path.length;){let d=a.path[l];l===a.path.length-1?(s[d]=s[d]||{_errors:[]},s[d]._errors.push(r(a))):s[d]=s[d]||{_errors:[]},s=s[d],l++}}};return i(e),n}var a_=e=>(t,r,n,i)=>{let o=n?Object.assign(n,{async:!1}):{async:!1},a=t._zod.run({value:r,issues:[]},o);if(a instanceof Promise)throw new ao;if(a.issues.length){let s=new(i?.Err??e)(a.issues.map(l=>pi(l,o,In())));throw Jc(s,i?.callee),s}return a.value},s_=a_(Od),l_=e=>async(t,r,n,i)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},a=t._zod.run({value:r,issues:[]},o);if(a instanceof Promise&&(a=await a),a.issues.length){let s=new(i?.Err??e)(a.issues.map(l=>pi(l,o,In())));throw Jc(s,i?.callee),s}return a.value},d_=l_(Od),u_=e=>(t,r,n)=>{let i=n?{...n,async:!1}:{async:!1},o=t._zod.run({value:r,issues:[]},i);if(o instanceof Promise)throw new ao;return o.issues.length?{success:!1,error:new(e??Xc)(o.issues.map(a=>pi(a,i,In())))}:{success:!0,data:o.value}},za=u_(Od),c_=e=>async(t,r,n)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},o=t._zod.run({value:r,issues:[]},i);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new e(o.issues.map(a=>pi(a,i,In())))}:{success:!0,data:o.value}},Na=c_(Od);var gx=/^[cC][^\s-]{8,}$/,yx=/^[0-9a-z]+$/,bx=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,vx=/^[0-9a-vA-V]{20}$/,Sx=/^[A-Za-z0-9]{27}$/,wx=/^[a-zA-Z0-9_-]{21}$/,kx=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var xx=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,f_=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;var Tx=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var CG="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Ax(){return new RegExp(CG,"u")}var Ox=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Cx=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,Ex=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Px=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Rx=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,m_=/^[A-Za-z0-9_-]*$/,Ix=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var $x=/^\+(?:[0-9]){6,14}[0-9]$/,Mx="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",jx=new RegExp(`^${Mx}$`);function zx(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Nx(e){return new RegExp(`^${zx(e)}$`)}function Gx(e){let t=zx({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${Mx}T(?:${n})$`)}var Fx=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Dx=/^\d+$/,qx=/^-?\d+(?:\.\d+)?/i,Lx=/true|false/i,Ux=/null/i;var Zx=/^[^A-Z]*$/,Wx=/^[^a-z]*$/;var qr=z("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Vx={number:"number",bigint:"bigint",object:"date"},p_=z("$ZodCheckLessThan",(e,t)=>{qr.init(e,t);let r=Vx[typeof t.value];e._zod.onattach.push(n=>{let i=n._zod.bag,o=(t.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<o&&(t.inclusive?i.maximum=t.value:i.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),h_=z("$ZodCheckGreaterThan",(e,t)=>{qr.init(e,t);let r=Vx[typeof t.value];e._zod.onattach.push(n=>{let i=n._zod.bag,o=(t.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>o&&(t.inclusive?i.minimum=t.value:i.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Hx=z("$ZodCheckMultipleOf",(e,t)=>{qr.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):Yh(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Bx=z("$ZodCheckNumberFormat",(e,t)=>{qr.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[i,o]=r_[t.format];e._zod.onattach.push(a=>{let s=a._zod.bag;s.format=t.format,s.minimum=i,s.maximum=o,r&&(s.pattern=Dx)}),e._zod.check=a=>{let s=a.value;if(r){if(!Number.isInteger(s)){a.issues.push({expected:n,format:t.format,code:"invalid_type",input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}s<i&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>o&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:o,inst:e})}});var Kx=z("$ZodCheckMaxLength",(e,t)=>{var r;qr.init(e,t),(r=e._zod.def).when??(r.when=n=>{let i=n.value;return!xd(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{let i=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<i&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let i=n.value;if(i.length<=t.maximum)return;let a=Ad(i);n.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),Jx=z("$ZodCheckMinLength",(e,t)=>{var r;qr.init(e,t),(r=e._zod.def).when??(r.when=n=>{let i=n.value;return!xd(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{let i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>i&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let i=n.value;if(i.length>=t.minimum)return;let a=Ad(i);n.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),Yx=z("$ZodCheckLengthEquals",(e,t)=>{var r;qr.init(e,t),(r=e._zod.def).when??(r.when=n=>{let i=n.value;return!xd(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{let i=n._zod.bag;i.minimum=t.length,i.maximum=t.length,i.length=t.length}),e._zod.check=n=>{let i=n.value,o=i.length;if(o===t.length)return;let a=Ad(i),s=o>t.length;n.issues.push({origin:a,...s?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Cd=z("$ZodCheckStringFormat",(e,t)=>{var r,n;qr.init(e,t),e._zod.onattach.push(i=>{let o=i._zod.bag;o.format=t.format,t.pattern&&(o.patterns??(o.patterns=new Set),o.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=i=>{t.pattern.lastIndex=0,!t.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:t.format,input:i.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),Xx=z("$ZodCheckRegex",(e,t)=>{Cd.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Qx=z("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Zx),Cd.init(e,t)}),eT=z("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Wx),Cd.init(e,t)}),tT=z("$ZodCheckIncludes",(e,t)=>{qr.init(e,t);let r=Po(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(i=>{let o=i._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=i=>{i.value.includes(t.includes,t.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:i.value,inst:e,continue:!t.abort})}}),rT=z("$ZodCheckStartsWith",(e,t)=>{qr.init(e,t);let r=new RegExp(`^${Po(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),nT=z("$ZodCheckEndsWith",(e,t)=>{qr.init(e,t);let r=new RegExp(`.*${Po(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var iT=z("$ZodCheckOverwrite",(e,t)=>{qr.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var ef=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
288
+ args = `+dx(e.args)+`
289
+ `+t}function fG(e){return typeof e==="undefined"?!0:e===null}function Bh(e){let t=on(e.serviceUrl);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0,n=e.fetchImpl,i=n!==void 0?n:cc,o=e.authMode,a=o!==void 0&&o!=="LocalRunner"?"/api/v2/personal-agent-mcp":"/api/v2/local-runner-mcp",s=e.operatingMode,l=s!==void 0?Hh(s):"text",d=async(u,c,f)=>{let p=Hi(c,r),m;m=p.TAG==="Ok"?p._0:yr(p._0);let h={};Object.entries(f).forEach(R=>{h[R[0]]=R[1]}),h.operating_mode=l;let _={};_.authorization="Bearer "+e.accessToken;let g;if(u==="Get"){let R=m.searchParams;Object.entries(h).forEach(W=>{let L=W[1];if(!fG(L)){R.set(W[0],String(L));return}}),g=await i.json(m.toString(),{method:"GET",headers:_})}else _["content-type"]="application/json",g=await i.json(m.toString(),{method:"POST",headers:_,body:JSON.stringify(h)});let b=await g.json(),y;if(y=typeof b=="object"&&b!==null&&!Array.isArray(b)?b:void 0,y===void 0)return yr("Linzumi MCP API returned non-object JSON from "+c);let v=g.ok,S=de(y.ok,!0),A=0;if(v){if(S)return y;A=1}else A=1;if(A===1){let R=y.error,W,L=0;typeof R=="string"?W=R:L=2,L===2&&(W="HTTP "+g.status.toString());let ae=y.detail,U=typeof ae=="string"?" detail="+ae:"";return yr("Linzumi MCP API "+c+" failed: "+W+U)}};return{TAG:"Ok",_0:{validateAuth:()=>d("Get",a+"/validate",{}),issueOnboardingDiscoveryToken:u=>d("Post",a+"/onboarding-discovery-token",u),getMessage:u=>d("Get",a+"/message",u),getThread:u=>d("Get",a+"/thread",u),getThreadTranscript:u=>d("Get",a+"/thread-transcript",u),getChannel:u=>d("Get",a+"/channel",u),searchWorkspace:u=>d("Get",a+"/search",u),askWorkspace:u=>d("Post",a+"/ask",u),aboutMe:u=>d("Get",a+"/about-me",u),webSearch:u=>d("Get",a+"/web-search",u),fetchUrl:u=>d("Get",a+"/fetch-url",u),listUiTargets:u=>d("Get",a+"/ui-targets",u),openUi:u=>d("Post",a+"/open-ui",u),getCodingJobMetadata:u=>d("Get",a+"/coding-job-metadata",u),listProjects:u=>d("Get",a+"/projects",u),getProjectTasks:u=>d("Get",a+"/project-tasks",u),createProjectTask:u=>d("Post",a+"/project-tasks/create",u),updateProjectTask:u=>d("Post",a+"/project-tasks/update",u),deleteProjectTask:u=>d("Post",a+"/project-tasks/delete",u),addProjectTaskDependency:u=>d("Post",a+"/project-tasks/add-dependency",u),removeProjectTaskDependency:u=>d("Post",a+"/project-tasks/remove-dependency",u),getCallTranscript:u=>d("Get",a+"/call-transcript",u),renameCodingJob:u=>d("Post",a+"/coding-job-title",u),upsertCodingJobPlan:u=>d("Post",a+"/coding-job-plan",u),replaceCodingJobPlanSteps:u=>d("Post",a+"/coding-job-plan/steps",u),updateCodingJobPlanStep:u=>d("Post",a+"/coding-job-plan/step",u),linkCodingJobPullRequest:u=>d("Post",a+"/coding-job-primary-pr",u),listVaultSecrets:u=>d("Get",a+"/vault-secrets",u),noteProjectDirectory:u=>d("Post",a+"/discovered-project",u),noteAgentConversation:u=>d("Post",a+"/discovered-conversation",u),noteOnboardingDiscoveryStatus:u=>d("Post",a+"/discovery-status",u),sendChannelMessage:u=>d("Post",a+"/channel-message",u),editMessage:u=>d("Post",a+"/message/edit",u),agentReply:u=>d("Post",a+"/agent-reply",u),agentTurnProgress:u=>d("Post",a+"/agent-turn-progress",u),agentListCodingJobs:u=>d("Get",a+"/agent/coding-jobs",u),agentStartCodingJob:u=>d("Post",a+"/agent/start-coding-job",u),agentInterruptCodingJob:u=>d("Post",a+"/agent/interrupt-coding-job",u),agentSendCodingJobMessage:u=>d("Post",a+"/agent/send-coding-job-message",u),agentReadCodingJobThread:u=>d("Get",a+"/agent/coding-job-thread",u),agentResolveJobApproval:u=>d("Post",a+"/agent/resolve-job-approval",u),agentArchiveCodingJob:u=>d("Post",a+"/agent/archive-coding-job",u),agentUnarchiveCodingJob:u=>d("Post",a+"/agent/unarchive-coding-job",u),agentSetThreadStatus:u=>d("Post",a+"/agent/set-thread-status",u),agentCreateChannel:u=>d("Post",a+"/agent/create-channel",u),agentRenameChannel:u=>d("Post",a+"/agent/rename-channel",u),agentArchiveChannel:u=>d("Post",a+"/agent/archive-channel",u),agentUnarchiveChannel:u=>d("Post",a+"/agent/unarchive-channel",u),agentAddReaction:u=>d("Post",a+"/agent/add-reaction",u),agentRemoveReaction:u=>d("Post",a+"/agent/remove-reaction",u),agentPinMessage:u=>d("Post",a+"/agent/pin-message",u),agentUnpinMessage:u=>d("Post",a+"/agent/unpin-message",u),prepareMessageUploads:u=>d("Post",a+"/message-uploads/prepare",u),attachMessageFiles:u=>d("Post",a+"/message-files/attach",u),prepareCustomEmoji:u=>d("Post",a+"/custom-emoji/prepare",u),renameCustomEmoji:u=>d("Post",a+"/custom-emoji/rename",u),sendThreadReply:u=>d("Post",a+"/thread-reply",u),sendDm:u=>d("Post",a+"/dm",u),dmOwner:u=>d("Post",a+"/dm-owner",u),getVaultValues:u=>d("Post",a+"/vault-values",u)}}}var pG=Object.freeze({status:"aborted"});function z(e,t,r){function n(s,l){var d;Object.defineProperty(s,"_zod",{value:s._zod??{},enumerable:!1}),(d=s._zod).traits??(d.traits=new Set),s._zod.traits.add(e),t(s,l);for(let u in a.prototype)u in s||Object.defineProperty(s,u,{value:a.prototype[u].bind(s)});s._zod.constr=a,s._zod.def=l}let i=r?.Parent??Object;class o extends i{}Object.defineProperty(o,"name",{value:e});function a(s){var l;let d=r?.Parent?new o:this;n(d,s),(l=d._zod).deferred??(l.deferred=[]);for(let u of d._zod.deferred)u();return d}return Object.defineProperty(a,"init",{value:n}),Object.defineProperty(a,Symbol.hasInstance,{value:s=>r?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}var ao=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Bc={};function In(e){return e&&Object.assign(Bc,e),Bc}var ht={};Gp(ht,{BIGINT_FORMAT_RANGES:()=>hx,Class:()=>Jh,NUMBER_FORMAT_RANGES:()=>n_,aborted:()=>ja,allowsEval:()=>e_,assert:()=>bG,assertEqual:()=>hG,assertIs:()=>gG,assertNever:()=>yG,assertNotEqual:()=>_G,assignProp:()=>Qh,cached:()=>kd,captureStackTrace:()=>Jc,cleanEnum:()=>IG,cleanRegex:()=>Td,clone:()=>$n,createTransparentProxy:()=>TG,defineLazy:()=>Ht,esc:()=>Ma,escapeRegex:()=>Po,extend:()=>CG,finalizeIssue:()=>pi,floatSafeRemainder:()=>Xh,getElementAtPath:()=>vG,getEnumValues:()=>wd,getLengthableOrigin:()=>Ad,getParsedType:()=>xG,getSizableOrigin:()=>_x,isObject:()=>Vs,isPlainObject:()=>Hs,issue:()=>i_,joinValues:()=>Kc,jsonStringifyReplacer:()=>Yh,merge:()=>EG,normalizeParams:()=>je,nullish:()=>xd,numKeys:()=>kG,omit:()=>OG,optionalKeys:()=>r_,partial:()=>PG,pick:()=>AG,prefixIssues:()=>ji,primitiveTypes:()=>px,promiseAllObject:()=>SG,propertyKeyTypes:()=>t_,randomString:()=>wG,required:()=>RG,stringifyPrimitive:()=>Yc,unwrapMessage:()=>Sd});function hG(e){return e}function _G(e){return e}function gG(e){}function yG(e){throw new Error}function bG(e){}function wd(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,i])=>t.indexOf(+n)===-1).map(([n,i])=>i)}function Kc(e,t="|"){return e.map(r=>Yc(r)).join(t)}function Yh(e,t){return typeof t=="bigint"?t.toString():t}function kd(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function xd(e){return e==null}function Td(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Xh(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,i=r>n?r:n,o=Number.parseInt(e.toFixed(i).replace(".","")),a=Number.parseInt(t.toFixed(i).replace(".",""));return o%a/10**i}function Ht(e,t,r){Object.defineProperty(e,t,{get(){{let i=r();return e[t]=i,i}throw new Error("cached value already set")},set(i){Object.defineProperty(e,t,{value:i})},configurable:!0})}function Qh(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function vG(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function SG(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let i={};for(let o=0;o<t.length;o++)i[t[o]]=n[o];return i})}function wG(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function Ma(e){return JSON.stringify(e)}var Jc=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Vs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var e_=kd(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function Hs(e){if(Vs(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!(Vs(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function kG(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var xG=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},t_=new Set(["string","number","symbol"]),px=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Po(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $n(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function je(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function TG(e){let t;return new Proxy({},{get(r,n,i){return t??(t=e()),Reflect.get(t,n,i)},set(r,n,i,o){return t??(t=e()),Reflect.set(t,n,i,o)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,i){return t??(t=e()),Reflect.defineProperty(t,n,i)}})}function Yc(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function r_(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var n_={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},hx={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function AG(e,t){let r={},n=e._zod.def;for(let i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&(r[i]=n.shape[i])}return $n(e,{...e._zod.def,shape:r,checks:[]})}function OG(e,t){let r={...e._zod.def.shape},n=e._zod.def;for(let i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&delete r[i]}return $n(e,{...e._zod.def,shape:r,checks:[]})}function CG(e,t){if(!Hs(t))throw new Error("Invalid input to extend: expected a plain object");let r={...e._zod.def,get shape(){let n={...e._zod.def.shape,...t};return Qh(this,"shape",n),n},checks:[]};return $n(e,r)}function EG(e,t){return $n(e,{...e._zod.def,get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return Qh(this,"shape",r),r},catchall:t._zod.def.catchall,checks:[]})}function PG(e,t,r){let n=t._zod.def.shape,i={...n};if(r)for(let o in r){if(!(o in n))throw new Error(`Unrecognized key: "${o}"`);r[o]&&(i[o]=e?new e({type:"optional",innerType:n[o]}):n[o])}else for(let o in n)i[o]=e?new e({type:"optional",innerType:n[o]}):n[o];return $n(t,{...t._zod.def,shape:i,checks:[]})}function RG(e,t,r){let n=t._zod.def.shape,i={...n};if(r)for(let o in r){if(!(o in i))throw new Error(`Unrecognized key: "${o}"`);r[o]&&(i[o]=new e({type:"nonoptional",innerType:n[o]}))}else for(let o in n)i[o]=new e({type:"nonoptional",innerType:n[o]});return $n(t,{...t._zod.def,shape:i,checks:[]})}function ja(e,t=0){for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function ji(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function Sd(e){return typeof e=="string"?e:e?.message}function pi(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let i=Sd(e.inst?._zod.def?.error?.(e))??Sd(t?.error?.(e))??Sd(r.customError?.(e))??Sd(r.localeError?.(e))??"Invalid input";n.message=i}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function _x(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function Ad(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function i_(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function IG(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}var Jh=class{constructor(...t){}};var gx=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,Yh,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Xc=z("$ZodError",gx),Od=z("$ZodError",gx,{Parent:Error});function o_(e,t=r=>r.message){let r={},n=[];for(let i of e.issues)i.path.length>0?(r[i.path[0]]=r[i.path[0]]||[],r[i.path[0]].push(t(i))):n.push(t(i));return{formErrors:n,fieldErrors:r}}function a_(e,t){let r=t||function(o){return o.message},n={_errors:[]},i=o=>{for(let a of o.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(s=>i({issues:s}));else if(a.code==="invalid_key")i({issues:a.issues});else if(a.code==="invalid_element")i({issues:a.issues});else if(a.path.length===0)n._errors.push(r(a));else{let s=n,l=0;for(;l<a.path.length;){let d=a.path[l];l===a.path.length-1?(s[d]=s[d]||{_errors:[]},s[d]._errors.push(r(a))):s[d]=s[d]||{_errors:[]},s=s[d],l++}}};return i(e),n}var s_=e=>(t,r,n,i)=>{let o=n?Object.assign(n,{async:!1}):{async:!1},a=t._zod.run({value:r,issues:[]},o);if(a instanceof Promise)throw new ao;if(a.issues.length){let s=new(i?.Err??e)(a.issues.map(l=>pi(l,o,In())));throw Jc(s,i?.callee),s}return a.value},l_=s_(Od),d_=e=>async(t,r,n,i)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},a=t._zod.run({value:r,issues:[]},o);if(a instanceof Promise&&(a=await a),a.issues.length){let s=new(i?.Err??e)(a.issues.map(l=>pi(l,o,In())));throw Jc(s,i?.callee),s}return a.value},u_=d_(Od),c_=e=>(t,r,n)=>{let i=n?{...n,async:!1}:{async:!1},o=t._zod.run({value:r,issues:[]},i);if(o instanceof Promise)throw new ao;return o.issues.length?{success:!1,error:new(e??Xc)(o.issues.map(a=>pi(a,i,In())))}:{success:!0,data:o.value}},za=c_(Od),f_=e=>async(t,r,n)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},o=t._zod.run({value:r,issues:[]},i);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new e(o.issues.map(a=>pi(a,i,In())))}:{success:!0,data:o.value}},Na=f_(Od);var yx=/^[cC][^\s-]{8,}$/,bx=/^[0-9a-z]+$/,vx=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Sx=/^[0-9a-vA-V]{20}$/,wx=/^[A-Za-z0-9]{27}$/,kx=/^[a-zA-Z0-9_-]{21}$/,xx=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var Tx=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,m_=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;var Ax=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var MG="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Ox(){return new RegExp(MG,"u")}var Cx=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Ex=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,Px=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Rx=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ix=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,p_=/^[A-Za-z0-9_-]*$/,$x=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var Mx=/^\+(?:[0-9]){6,14}[0-9]$/,jx="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",zx=new RegExp(`^${jx}$`);function Nx(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Gx(e){return new RegExp(`^${Nx(e)}$`)}function Fx(e){let t=Nx({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${jx}T(?:${n})$`)}var Dx=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var qx=/^\d+$/,Lx=/^-?\d+(?:\.\d+)?/i,Ux=/true|false/i,Wx=/null/i;var Zx=/^[^A-Z]*$/,Vx=/^[^a-z]*$/;var qr=z("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Hx={number:"number",bigint:"bigint",object:"date"},h_=z("$ZodCheckLessThan",(e,t)=>{qr.init(e,t);let r=Hx[typeof t.value];e._zod.onattach.push(n=>{let i=n._zod.bag,o=(t.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<o&&(t.inclusive?i.maximum=t.value:i.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),__=z("$ZodCheckGreaterThan",(e,t)=>{qr.init(e,t);let r=Hx[typeof t.value];e._zod.onattach.push(n=>{let i=n._zod.bag,o=(t.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>o&&(t.inclusive?i.minimum=t.value:i.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Bx=z("$ZodCheckMultipleOf",(e,t)=>{qr.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):Xh(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Kx=z("$ZodCheckNumberFormat",(e,t)=>{qr.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[i,o]=n_[t.format];e._zod.onattach.push(a=>{let s=a._zod.bag;s.format=t.format,s.minimum=i,s.maximum=o,r&&(s.pattern=qx)}),e._zod.check=a=>{let s=a.value;if(r){if(!Number.isInteger(s)){a.issues.push({expected:n,format:t.format,code:"invalid_type",input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}s<i&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>o&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:o,inst:e})}});var Jx=z("$ZodCheckMaxLength",(e,t)=>{var r;qr.init(e,t),(r=e._zod.def).when??(r.when=n=>{let i=n.value;return!xd(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{let i=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<i&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let i=n.value;if(i.length<=t.maximum)return;let a=Ad(i);n.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),Yx=z("$ZodCheckMinLength",(e,t)=>{var r;qr.init(e,t),(r=e._zod.def).when??(r.when=n=>{let i=n.value;return!xd(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{let i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>i&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let i=n.value;if(i.length>=t.minimum)return;let a=Ad(i);n.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),Xx=z("$ZodCheckLengthEquals",(e,t)=>{var r;qr.init(e,t),(r=e._zod.def).when??(r.when=n=>{let i=n.value;return!xd(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{let i=n._zod.bag;i.minimum=t.length,i.maximum=t.length,i.length=t.length}),e._zod.check=n=>{let i=n.value,o=i.length;if(o===t.length)return;let a=Ad(i),s=o>t.length;n.issues.push({origin:a,...s?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Cd=z("$ZodCheckStringFormat",(e,t)=>{var r,n;qr.init(e,t),e._zod.onattach.push(i=>{let o=i._zod.bag;o.format=t.format,t.pattern&&(o.patterns??(o.patterns=new Set),o.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=i=>{t.pattern.lastIndex=0,!t.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:t.format,input:i.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),Qx=z("$ZodCheckRegex",(e,t)=>{Cd.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),eT=z("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Zx),Cd.init(e,t)}),tT=z("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Vx),Cd.init(e,t)}),rT=z("$ZodCheckIncludes",(e,t)=>{qr.init(e,t);let r=Po(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(i=>{let o=i._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=i=>{i.value.includes(t.includes,t.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:i.value,inst:e,continue:!t.abort})}}),nT=z("$ZodCheckStartsWith",(e,t)=>{qr.init(e,t);let r=new RegExp(`^${Po(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),iT=z("$ZodCheckEndsWith",(e,t)=>{qr.init(e,t);let r=new RegExp(`.*${Po(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var oT=z("$ZodCheckOverwrite",(e,t)=>{qr.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var ef=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
290
290
  `).filter(a=>a),i=Math.min(...n.map(a=>a.length-a.trimStart().length)),o=n.map(a=>a.slice(i)).map(a=>" ".repeat(this.indent*2)+a);for(let a of o)this.content.push(a)}compile(){let t=Function,r=this?.args,i=[...(this?.content??[""]).map(o=>` ${o}`)];return new t(...r,i.join(`
291
- `))}};var aT={major:4,minor:0,patch:0};var Mt=z("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=aT;let n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(let i of n)for(let o of i._zod.onattach)o(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let i=(o,a,s)=>{let l=ja(o),d;for(let u of a){if(u._zod.def.when){if(!u._zod.def.when(o))continue}else if(l)continue;let c=o.issues.length,f=u._zod.check(o);if(f instanceof Promise&&s?.async===!1)throw new ao;if(d||f instanceof Promise)d=(d??Promise.resolve()).then(async()=>{await f,o.issues.length!==c&&(l||(l=ja(o,c)))});else{if(o.issues.length===c)continue;l||(l=ja(o,c))}}return d?d.then(()=>o):o};e._zod.run=(o,a)=>{let s=e._zod.parse(o,a);if(s instanceof Promise){if(a.async===!1)throw new ao;return s.then(l=>i(l,n,a))}return i(s,n,a)}}e["~standard"]={validate:i=>{try{let o=za(e,i);return o.success?{value:o.data}:{issues:o.error?.issues}}catch{return Na(e,i).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}}),Ed=z("$ZodString",(e,t)=>{Mt.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Fx(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),Bt=z("$ZodStringFormat",(e,t)=>{Cd.init(e,t),Ed.init(e,t)}),g_=z("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=xx),Bt.init(e,t)}),y_=z("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=f_(n))}else t.pattern??(t.pattern=f_());Bt.init(e,t)}),b_=z("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Tx),Bt.init(e,t)}),v_=z("$ZodURL",(e,t)=>{Bt.init(e,t),e._zod.check=r=>{try{let n=r.value,i=new URL(n),o=i.href;t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:Ix.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),!n.endsWith("/")&&o.endsWith("/")?r.value=o.slice(0,-1):r.value=o;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),S_=z("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Ax()),Bt.init(e,t)}),w_=z("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=wx),Bt.init(e,t)}),k_=z("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=gx),Bt.init(e,t)}),x_=z("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=yx),Bt.init(e,t)}),T_=z("$ZodULID",(e,t)=>{t.pattern??(t.pattern=bx),Bt.init(e,t)}),A_=z("$ZodXID",(e,t)=>{t.pattern??(t.pattern=vx),Bt.init(e,t)}),O_=z("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Sx),Bt.init(e,t)}),_T=z("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Gx(t)),Bt.init(e,t)}),gT=z("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=jx),Bt.init(e,t)}),yT=z("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Nx(t)),Bt.init(e,t)}),bT=z("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=kx),Bt.init(e,t)}),C_=z("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Ox),Bt.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),E_=z("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Cx),Bt.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),P_=z("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Ex),Bt.init(e,t)}),R_=z("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Px),Bt.init(e,t),e._zod.check=r=>{let[n,i]=r.value.split("/");try{if(!i)throw new Error;let o=Number(i);if(`${o}`!==i)throw new Error;if(o<0||o>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function vT(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var I_=z("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Rx),Bt.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),e._zod.check=r=>{vT(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function EG(e){if(!m_.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return vT(r)}var $_=z("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=m_),Bt.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),e._zod.check=r=>{EG(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),M_=z("$ZodE164",(e,t)=>{t.pattern??(t.pattern=$x),Bt.init(e,t)});function PG(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let i=JSON.parse(atob(n));return!("typ"in i&&i?.typ!=="JWT"||!i.alg||t&&(!("alg"in i)||i.alg!==t))}catch{return!1}}var j_=z("$ZodJWT",(e,t)=>{Bt.init(e,t),e._zod.check=r=>{PG(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}});var rf=z("$ZodNumber",(e,t)=>{Mt.init(e,t),e._zod.pattern=e._zod.bag.pattern??qx,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}let i=r.value;if(typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i))return r;let o=typeof i=="number"?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:i,inst:e,...o?{received:o}:{}}),r}}),z_=z("$ZodNumber",(e,t)=>{Bx.init(e,t),rf.init(e,t)}),N_=z("$ZodBoolean",(e,t)=>{Mt.init(e,t),e._zod.pattern=Lx,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=!!r.value}catch{}let i=r.value;return typeof i=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:e}),r}});var G_=z("$ZodNull",(e,t)=>{Mt.init(e,t),e._zod.pattern=Ux,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{let i=r.value;return i===null||r.issues.push({expected:"null",code:"invalid_type",input:i,inst:e}),r}});var F_=z("$ZodUnknown",(e,t)=>{Mt.init(e,t),e._zod.parse=r=>r}),D_=z("$ZodNever",(e,t)=>{Mt.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function sT(e,t,r){e.issues.length&&t.issues.push(...ji(r,e.issues)),t.value[r]=e.value}var q_=z("$ZodArray",(e,t)=>{Mt.init(e,t),e._zod.parse=(r,n)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({expected:"array",code:"invalid_type",input:i,inst:e}),r;r.value=Array(i.length);let o=[];for(let a=0;a<i.length;a++){let s=i[a],l=t.element._zod.run({value:s,issues:[]},n);l instanceof Promise?o.push(l.then(d=>sT(d,r,a))):sT(l,r,a)}return o.length?Promise.all(o).then(()=>r):r}});function tf(e,t,r){e.issues.length&&t.issues.push(...ji(r,e.issues)),t.value[r]=e.value}function lT(e,t,r,n){e.issues.length?n[r]===void 0?r in n?t.value[r]=void 0:t.value[r]=e.value:t.issues.push(...ji(r,e.issues)):e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}var nf=z("$ZodObject",(e,t)=>{Mt.init(e,t);let r=kd(()=>{let c=Object.keys(t.shape);for(let p of c)if(!(t.shape[p]instanceof Mt))throw new Error(`Invalid element at key "${p}": expected a Zod schema`);let f=t_(t.shape);return{shape:t.shape,keys:c,keySet:new Set(c),numKeys:c.length,optionalKeys:new Set(f)}});Ht(e._zod,"propValues",()=>{let c=t.shape,f={};for(let p in c){let m=c[p]._zod;if(m.values){f[p]??(f[p]=new Set);for(let h of m.values)f[p].add(h)}}return f});let n=c=>{let f=new ef(["shape","payload","ctx"]),p=r.value,m=b=>{let y=Ma(b);return`shape[${y}]._zod.run({ value: input[${y}], issues: [] }, ctx)`};f.write("const input = payload.value;");let h=Object.create(null),_=0;for(let b of p.keys)h[b]=`key_${_++}`;f.write("const newResult = {}");for(let b of p.keys)if(p.optionalKeys.has(b)){let y=h[b];f.write(`const ${y} = ${m(b)};`);let v=Ma(b);f.write(`
291
+ `))}};var sT={major:4,minor:0,patch:0};var Mt=z("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=sT;let n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(let i of n)for(let o of i._zod.onattach)o(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let i=(o,a,s)=>{let l=ja(o),d;for(let u of a){if(u._zod.def.when){if(!u._zod.def.when(o))continue}else if(l)continue;let c=o.issues.length,f=u._zod.check(o);if(f instanceof Promise&&s?.async===!1)throw new ao;if(d||f instanceof Promise)d=(d??Promise.resolve()).then(async()=>{await f,o.issues.length!==c&&(l||(l=ja(o,c)))});else{if(o.issues.length===c)continue;l||(l=ja(o,c))}}return d?d.then(()=>o):o};e._zod.run=(o,a)=>{let s=e._zod.parse(o,a);if(s instanceof Promise){if(a.async===!1)throw new ao;return s.then(l=>i(l,n,a))}return i(s,n,a)}}e["~standard"]={validate:i=>{try{let o=za(e,i);return o.success?{value:o.data}:{issues:o.error?.issues}}catch{return Na(e,i).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}}),Ed=z("$ZodString",(e,t)=>{Mt.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Dx(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),Bt=z("$ZodStringFormat",(e,t)=>{Cd.init(e,t),Ed.init(e,t)}),y_=z("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Tx),Bt.init(e,t)}),b_=z("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=m_(n))}else t.pattern??(t.pattern=m_());Bt.init(e,t)}),v_=z("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Ax),Bt.init(e,t)}),S_=z("$ZodURL",(e,t)=>{Bt.init(e,t),e._zod.check=r=>{try{let n=r.value,i=new URL(n),o=i.href;t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:$x.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),!n.endsWith("/")&&o.endsWith("/")?r.value=o.slice(0,-1):r.value=o;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),w_=z("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Ox()),Bt.init(e,t)}),k_=z("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=kx),Bt.init(e,t)}),x_=z("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=yx),Bt.init(e,t)}),T_=z("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=bx),Bt.init(e,t)}),A_=z("$ZodULID",(e,t)=>{t.pattern??(t.pattern=vx),Bt.init(e,t)}),O_=z("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Sx),Bt.init(e,t)}),C_=z("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=wx),Bt.init(e,t)}),gT=z("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Fx(t)),Bt.init(e,t)}),yT=z("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=zx),Bt.init(e,t)}),bT=z("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Gx(t)),Bt.init(e,t)}),vT=z("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=xx),Bt.init(e,t)}),E_=z("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Cx),Bt.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),P_=z("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Ex),Bt.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),R_=z("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Px),Bt.init(e,t)}),I_=z("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Rx),Bt.init(e,t),e._zod.check=r=>{let[n,i]=r.value.split("/");try{if(!i)throw new Error;let o=Number(i);if(`${o}`!==i)throw new Error;if(o<0||o>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function ST(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var $_=z("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Ix),Bt.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),e._zod.check=r=>{ST(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function jG(e){if(!p_.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return ST(r)}var M_=z("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=p_),Bt.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),e._zod.check=r=>{jG(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),j_=z("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Mx),Bt.init(e,t)});function zG(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let i=JSON.parse(atob(n));return!("typ"in i&&i?.typ!=="JWT"||!i.alg||t&&(!("alg"in i)||i.alg!==t))}catch{return!1}}var z_=z("$ZodJWT",(e,t)=>{Bt.init(e,t),e._zod.check=r=>{zG(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}});var rf=z("$ZodNumber",(e,t)=>{Mt.init(e,t),e._zod.pattern=e._zod.bag.pattern??Lx,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}let i=r.value;if(typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i))return r;let o=typeof i=="number"?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:i,inst:e,...o?{received:o}:{}}),r}}),N_=z("$ZodNumber",(e,t)=>{Kx.init(e,t),rf.init(e,t)}),G_=z("$ZodBoolean",(e,t)=>{Mt.init(e,t),e._zod.pattern=Ux,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=!!r.value}catch{}let i=r.value;return typeof i=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:e}),r}});var F_=z("$ZodNull",(e,t)=>{Mt.init(e,t),e._zod.pattern=Wx,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{let i=r.value;return i===null||r.issues.push({expected:"null",code:"invalid_type",input:i,inst:e}),r}});var D_=z("$ZodUnknown",(e,t)=>{Mt.init(e,t),e._zod.parse=r=>r}),q_=z("$ZodNever",(e,t)=>{Mt.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function lT(e,t,r){e.issues.length&&t.issues.push(...ji(r,e.issues)),t.value[r]=e.value}var L_=z("$ZodArray",(e,t)=>{Mt.init(e,t),e._zod.parse=(r,n)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({expected:"array",code:"invalid_type",input:i,inst:e}),r;r.value=Array(i.length);let o=[];for(let a=0;a<i.length;a++){let s=i[a],l=t.element._zod.run({value:s,issues:[]},n);l instanceof Promise?o.push(l.then(d=>lT(d,r,a))):lT(l,r,a)}return o.length?Promise.all(o).then(()=>r):r}});function tf(e,t,r){e.issues.length&&t.issues.push(...ji(r,e.issues)),t.value[r]=e.value}function dT(e,t,r,n){e.issues.length?n[r]===void 0?r in n?t.value[r]=void 0:t.value[r]=e.value:t.issues.push(...ji(r,e.issues)):e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}var nf=z("$ZodObject",(e,t)=>{Mt.init(e,t);let r=kd(()=>{let c=Object.keys(t.shape);for(let p of c)if(!(t.shape[p]instanceof Mt))throw new Error(`Invalid element at key "${p}": expected a Zod schema`);let f=r_(t.shape);return{shape:t.shape,keys:c,keySet:new Set(c),numKeys:c.length,optionalKeys:new Set(f)}});Ht(e._zod,"propValues",()=>{let c=t.shape,f={};for(let p in c){let m=c[p]._zod;if(m.values){f[p]??(f[p]=new Set);for(let h of m.values)f[p].add(h)}}return f});let n=c=>{let f=new ef(["shape","payload","ctx"]),p=r.value,m=b=>{let y=Ma(b);return`shape[${y}]._zod.run({ value: input[${y}], issues: [] }, ctx)`};f.write("const input = payload.value;");let h=Object.create(null),_=0;for(let b of p.keys)h[b]=`key_${_++}`;f.write("const newResult = {}");for(let b of p.keys)if(p.optionalKeys.has(b)){let y=h[b];f.write(`const ${y} = ${m(b)};`);let v=Ma(b);f.write(`
292
292
  if (${y}.issues.length) {
293
293
  if (input[${v}] === undefined) {
294
294
  if (${v} in input) {
@@ -311,90 +311,90 @@ args = `+lx(e.args)+`
311
311
  if (${y}.issues.length) payload.issues = payload.issues.concat(${y}.issues.map(iss => ({
312
312
  ...iss,
313
313
  path: iss.path ? [${Ma(b)}, ...iss.path] : [${Ma(b)}]
314
- })));`),f.write(`newResult[${Ma(b)}] = ${y}.value`)}f.write("payload.value = newResult;"),f.write("return payload;");let g=f.compile();return(b,y)=>g(c,b,y)},i,o=Vs,a=!Bc.jitless,l=a&&Qh.value,d=t.catchall,u;e._zod.parse=(c,f)=>{u??(u=r.value);let p=c.value;if(!o(p))return c.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),c;let m=[];if(a&&l&&f?.async===!1&&f.jitless!==!0)i||(i=n(t.shape)),c=i(c,f);else{c.value={};let y=u.shape;for(let v of u.keys){let S=y[v],A=S._zod.run({value:p[v],issues:[]},f),R=S._zod.optin==="optional"&&S._zod.optout==="optional";A instanceof Promise?m.push(A.then(Z=>R?lT(Z,c,v,p):tf(Z,c,v))):R?lT(A,c,v,p):tf(A,c,v)}}if(!d)return m.length?Promise.all(m).then(()=>c):c;let h=[],_=u.keySet,g=d._zod,b=g.def.type;for(let y of Object.keys(p)){if(_.has(y))continue;if(b==="never"){h.push(y);continue}let v=g.run({value:p[y],issues:[]},f);v instanceof Promise?m.push(v.then(S=>tf(S,c,y))):tf(v,c,y)}return h.length&&c.issues.push({code:"unrecognized_keys",keys:h,input:p,inst:e}),m.length?Promise.all(m).then(()=>c):c}});function dT(e,t,r,n){for(let i of e)if(i.issues.length===0)return t.value=i.value,t;return t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(i=>i.issues.map(o=>pi(o,n,In())))}),t}var of=z("$ZodUnion",(e,t)=>{Mt.init(e,t),Ht(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),Ht(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),Ht(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),Ht(e._zod,"pattern",()=>{if(t.options.every(r=>r._zod.pattern)){let r=t.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>Td(n.source)).join("|")})$`)}}),e._zod.parse=(r,n)=>{let i=!1,o=[];for(let a of t.options){let s=a._zod.run({value:r.value,issues:[]},n);if(s instanceof Promise)o.push(s),i=!0;else{if(s.issues.length===0)return s;o.push(s)}}return i?Promise.all(o).then(a=>dT(a,r,e,n)):dT(o,r,e,n)}}),L_=z("$ZodDiscriminatedUnion",(e,t)=>{of.init(e,t);let r=e._zod.parse;Ht(e._zod,"propValues",()=>{let i={};for(let o of t.options){let a=o._zod.propValues;if(!a||Object.keys(a).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(o)}"`);for(let[s,l]of Object.entries(a)){i[s]||(i[s]=new Set);for(let d of l)i[s].add(d)}}return i});let n=kd(()=>{let i=t.options,o=new Map;for(let a of i){let s=a._zod.propValues[t.discriminator];if(!s||s.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(a)}"`);for(let l of s){if(o.has(l))throw new Error(`Duplicate discriminator value "${String(l)}"`);o.set(l,a)}}return o});e._zod.parse=(i,o)=>{let a=i.value;if(!Vs(a))return i.issues.push({code:"invalid_type",expected:"object",input:a,inst:e}),i;let s=n.value.get(a?.[t.discriminator]);return s?s._zod.run(i,o):t.unionFallback?r(i,o):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:a,path:[t.discriminator],inst:e}),i)}}),U_=z("$ZodIntersection",(e,t)=>{Mt.init(e,t),e._zod.parse=(r,n)=>{let i=r.value,o=t.left._zod.run({value:i,issues:[]},n),a=t.right._zod.run({value:i,issues:[]},n);return o instanceof Promise||a instanceof Promise?Promise.all([o,a]).then(([l,d])=>uT(r,l,d)):uT(r,o,a)}});function __(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Hs(e)&&Hs(t)){let r=Object.keys(t),n=Object.keys(e).filter(o=>r.indexOf(o)!==-1),i={...e,...t};for(let o of n){let a=__(e[o],t[o]);if(!a.valid)return{valid:!1,mergeErrorPath:[o,...a.mergeErrorPath]};i[o]=a.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let i=e[n],o=t[n],a=__(i,o);if(!a.valid)return{valid:!1,mergeErrorPath:[n,...a.mergeErrorPath]};r.push(a.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function uT(e,t,r){if(t.issues.length&&e.issues.push(...t.issues),r.issues.length&&e.issues.push(...r.issues),ja(e))return e;let n=__(t.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return e.value=n.data,e}var Z_=z("$ZodRecord",(e,t)=>{Mt.init(e,t),e._zod.parse=(r,n)=>{let i=r.value;if(!Hs(i))return r.issues.push({expected:"record",code:"invalid_type",input:i,inst:e}),r;let o=[];if(t.keyType._zod.values){let a=t.keyType._zod.values;r.value={};for(let l of a)if(typeof l=="string"||typeof l=="number"||typeof l=="symbol"){let d=t.valueType._zod.run({value:i[l],issues:[]},n);d instanceof Promise?o.push(d.then(u=>{u.issues.length&&r.issues.push(...ji(l,u.issues)),r.value[l]=u.value})):(d.issues.length&&r.issues.push(...ji(l,d.issues)),r.value[l]=d.value)}let s;for(let l in i)a.has(l)||(s=s??[],s.push(l));s&&s.length>0&&r.issues.push({code:"unrecognized_keys",input:i,inst:e,keys:s})}else{r.value={};for(let a of Reflect.ownKeys(i)){if(a==="__proto__")continue;let s=t.keyType._zod.run({value:a,issues:[]},n);if(s instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(s.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:s.issues.map(d=>pi(d,n,In())),input:a,path:[a],inst:e}),r.value[s.value]=s.value;continue}let l=t.valueType._zod.run({value:i[a],issues:[]},n);l instanceof Promise?o.push(l.then(d=>{d.issues.length&&r.issues.push(...ji(a,d.issues)),r.value[s.value]=d.value})):(l.issues.length&&r.issues.push(...ji(a,l.issues)),r.value[s.value]=l.value)}}return o.length?Promise.all(o).then(()=>r):r}});var W_=z("$ZodEnum",(e,t)=>{Mt.init(e,t);let r=wd(t.entries);e._zod.values=new Set(r),e._zod.pattern=new RegExp(`^(${r.filter(n=>e_.has(typeof n)).map(n=>typeof n=="string"?Po(n):n.toString()).join("|")})$`),e._zod.parse=(n,i)=>{let o=n.value;return e._zod.values.has(o)||n.issues.push({code:"invalid_value",values:r,input:o,inst:e}),n}}),V_=z("$ZodLiteral",(e,t)=>{Mt.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?Po(r):r?r.toString():String(r)).join("|")})$`),e._zod.parse=(r,n)=>{let i=r.value;return e._zod.values.has(i)||r.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),r}});var H_=z("$ZodTransform",(e,t)=>{Mt.init(e,t),e._zod.parse=(r,n)=>{let i=t.transform(r.value,r);if(n.async)return(i instanceof Promise?i:Promise.resolve(i)).then(a=>(r.value=a,r));if(i instanceof Promise)throw new ao;return r.value=i,r}}),B_=z("$ZodOptional",(e,t)=>{Mt.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Ht(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Ht(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Td(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>t.innerType._zod.optin==="optional"?t.innerType._zod.run(r,n):r.value===void 0?r:t.innerType._zod.run(r,n)}),K_=z("$ZodNullable",(e,t)=>{Mt.init(e,t),Ht(e._zod,"optin",()=>t.innerType._zod.optin),Ht(e._zod,"optout",()=>t.innerType._zod.optout),Ht(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Td(r.source)}|null)$`):void 0}),Ht(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),J_=z("$ZodDefault",(e,t)=>{Mt.init(e,t),e._zod.optin="optional",Ht(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=t.defaultValue,r;let i=t.innerType._zod.run(r,n);return i instanceof Promise?i.then(o=>cT(o,t)):cT(i,t)}});function cT(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Y_=z("$ZodPrefault",(e,t)=>{Mt.init(e,t),e._zod.optin="optional",Ht(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),X_=z("$ZodNonOptional",(e,t)=>{Mt.init(e,t),Ht(e._zod,"values",()=>{let r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{let i=t.innerType._zod.run(r,n);return i instanceof Promise?i.then(o=>fT(o,e)):fT(i,e)}});function fT(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var Q_=z("$ZodCatch",(e,t)=>{Mt.init(e,t),e._zod.optin="optional",Ht(e._zod,"optout",()=>t.innerType._zod.optout),Ht(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{let i=t.innerType._zod.run(r,n);return i instanceof Promise?i.then(o=>(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(a=>pi(a,n,In()))},input:r.value}),r.issues=[]),r)):(r.value=i.value,i.issues.length&&(r.value=t.catchValue({...r,error:{issues:i.issues.map(o=>pi(o,n,In()))},input:r.value}),r.issues=[]),r)}});var eg=z("$ZodPipe",(e,t)=>{Mt.init(e,t),Ht(e._zod,"values",()=>t.in._zod.values),Ht(e._zod,"optin",()=>t.in._zod.optin),Ht(e._zod,"optout",()=>t.out._zod.optout),e._zod.parse=(r,n)=>{let i=t.in._zod.run(r,n);return i instanceof Promise?i.then(o=>mT(o,t,n)):mT(i,t,n)}});function mT(e,t,r){return ja(e)?e:t.out._zod.run({value:e.value,issues:e.issues},r)}var tg=z("$ZodReadonly",(e,t)=>{Mt.init(e,t),Ht(e._zod,"propValues",()=>t.innerType._zod.propValues),Ht(e._zod,"values",()=>t.innerType._zod.values),Ht(e._zod,"optin",()=>t.innerType._zod.optin),Ht(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(r,n)=>{let i=t.innerType._zod.run(r,n);return i instanceof Promise?i.then(pT):pT(i)}});function pT(e){return e.value=Object.freeze(e.value),e}var rg=z("$ZodCustom",(e,t)=>{qr.init(e,t),Mt.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,i=t.fn(n);if(i instanceof Promise)return i.then(o=>hT(o,r,n,e));hT(i,r,n,e)}});function hT(e,t,r,n){if(!e){let i={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(i.params=n._zod.def.params),t.issues.push(n_(i))}}var RG=e=>{let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return t},IG=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function t(n){return e[n]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${RG(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Yc(n.values[0])}`:`Invalid option: expected one of ${Kc(n.values,"|")}`;case"too_big":{let i=n.inclusive?"<=":"<",o=t(n.origin);return o?`Too big: expected ${n.origin??"value"} to have ${i}${n.maximum.toString()} ${o.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${i}${n.maximum.toString()}`}case"too_small":{let i=n.inclusive?">=":">",o=t(n.origin);return o?`Too small: expected ${n.origin} to have ${i}${n.minimum.toString()} ${o.unit}`:`Too small: expected ${n.origin} to be ${i}${n.minimum.toString()}`}case"invalid_format":{let i=n;return i.format==="starts_with"?`Invalid string: must start with "${i.prefix}"`:i.format==="ends_with"?`Invalid string: must end with "${i.suffix}"`:i.format==="includes"?`Invalid string: must include "${i.includes}"`:i.format==="regex"?`Invalid string: must match pattern ${i.pattern}`:`Invalid ${r[i.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${Kc(n.keys,", ")}`;case"invalid_key":return`Invalid key in ${n.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${n.origin}`;default:return"Invalid input"}}};function ST(){return{localeError:IG()}}var Pd=class{constructor(){this._map=new Map,this._idmap=new Map}add(t,...r){let n=r[0];if(this._map.set(t,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,t)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(t){let r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){let r=t._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(t)}}return this._map.get(t)}has(t){return this._map.has(t)}};function wT(){return new Pd}var Ro=wT();function ng(e,t){return new e({type:"string",...Me(t)})}function ig(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Me(t)})}function af(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Me(t)})}function og(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Me(t)})}function ag(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Me(t)})}function sg(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Me(t)})}function lg(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Me(t)})}function dg(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Me(t)})}function ug(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Me(t)})}function cg(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Me(t)})}function fg(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Me(t)})}function mg(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Me(t)})}function pg(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Me(t)})}function hg(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Me(t)})}function _g(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Me(t)})}function gg(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Me(t)})}function yg(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Me(t)})}function bg(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Me(t)})}function vg(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Me(t)})}function Sg(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Me(t)})}function wg(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Me(t)})}function kg(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Me(t)})}function xg(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Me(t)})}function kT(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Me(t)})}function xT(e,t){return new e({type:"string",format:"date",check:"string_format",...Me(t)})}function TT(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...Me(t)})}function AT(e,t){return new e({type:"string",format:"duration",check:"string_format",...Me(t)})}function Tg(e,t){return new e({type:"number",checks:[],...Me(t)})}function Ag(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...Me(t)})}function Og(e,t){return new e({type:"boolean",...Me(t)})}function Cg(e,t){return new e({type:"null",...Me(t)})}function Eg(e){return new e({type:"unknown"})}function Pg(e,t){return new e({type:"never",...Me(t)})}function sf(e,t){return new p_({check:"less_than",...Me(t),value:e,inclusive:!1})}function Rd(e,t){return new p_({check:"less_than",...Me(t),value:e,inclusive:!0})}function lf(e,t){return new h_({check:"greater_than",...Me(t),value:e,inclusive:!1})}function Id(e,t){return new h_({check:"greater_than",...Me(t),value:e,inclusive:!0})}function df(e,t){return new Hx({check:"multiple_of",...Me(t),value:e})}function uf(e,t){return new Kx({check:"max_length",...Me(t),maximum:e})}function Bs(e,t){return new Jx({check:"min_length",...Me(t),minimum:e})}function cf(e,t){return new Yx({check:"length_equals",...Me(t),length:e})}function Rg(e,t){return new Xx({check:"string_format",format:"regex",...Me(t),pattern:e})}function Ig(e){return new Qx({check:"string_format",format:"lowercase",...Me(e)})}function $g(e){return new eT({check:"string_format",format:"uppercase",...Me(e)})}function Mg(e,t){return new tT({check:"string_format",format:"includes",...Me(t),includes:e})}function jg(e,t){return new rT({check:"string_format",format:"starts_with",...Me(t),prefix:e})}function zg(e,t){return new nT({check:"string_format",format:"ends_with",...Me(t),suffix:e})}function Ga(e){return new iT({check:"overwrite",tx:e})}function Ng(e){return Ga(t=>t.normalize(e))}function Gg(){return Ga(e=>e.trim())}function Fg(){return Ga(e=>e.toLowerCase())}function Dg(){return Ga(e=>e.toUpperCase())}function OT(e,t,r){return new e({type:"array",element:t,...Me(r)})}function qg(e,t,r){let n=Me(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Lg(e,t,r){return new e({type:"custom",check:"custom",fn:t,...Me(r)})}var ff=class{constructor(t){this.counter=0,this.metadataRegistry=t?.metadata??Ro,this.target=t?.target??"draft-2020-12",this.unrepresentable=t?.unrepresentable??"throw",this.override=t?.override??(()=>{}),this.io=t?.io??"output",this.seen=new Map}process(t,r={path:[],schemaPath:[]}){var n;let i=t._zod.def,o={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},a=this.seen.get(t);if(a)return a.count++,r.schemaPath.includes(t)&&(a.cycle=r.path),a.schema;let s={schema:{},count:1,cycle:void 0,path:r.path};this.seen.set(t,s);let l=t._zod.toJSONSchema?.();if(l)s.schema=l;else{let c={...r,schemaPath:[...r.schemaPath,t],path:r.path},f=t._zod.parent;if(f)s.ref=f,this.process(f,c),this.seen.get(f).isParent=!0;else{let p=s.schema;switch(i.type){case"string":{let m=p;m.type="string";let{minimum:h,maximum:_,format:g,patterns:b,contentEncoding:y}=t._zod.bag;if(typeof h=="number"&&(m.minLength=h),typeof _=="number"&&(m.maxLength=_),g&&(m.format=o[g]??g,m.format===""&&delete m.format),y&&(m.contentEncoding=y),b&&b.size>0){let v=[...b];v.length===1?m.pattern=v[0].source:v.length>1&&(s.schema.allOf=[...v.map(S=>({...this.target==="draft-7"?{type:"string"}:{},pattern:S.source}))])}break}case"number":{let m=p,{minimum:h,maximum:_,format:g,multipleOf:b,exclusiveMaximum:y,exclusiveMinimum:v}=t._zod.bag;typeof g=="string"&&g.includes("int")?m.type="integer":m.type="number",typeof v=="number"&&(m.exclusiveMinimum=v),typeof h=="number"&&(m.minimum=h,typeof v=="number"&&(v>=h?delete m.minimum:delete m.exclusiveMinimum)),typeof y=="number"&&(m.exclusiveMaximum=y),typeof _=="number"&&(m.maximum=_,typeof y=="number"&&(y<=_?delete m.maximum:delete m.exclusiveMaximum)),typeof b=="number"&&(m.multipleOf=b);break}case"boolean":{let m=p;m.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{p.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema");break}case"never":{p.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let m=p,{minimum:h,maximum:_}=t._zod.bag;typeof h=="number"&&(m.minItems=h),typeof _=="number"&&(m.maxItems=_),m.type="array",m.items=this.process(i.element,{...c,path:[...c.path,"items"]});break}case"object":{let m=p;m.type="object",m.properties={};let h=i.shape;for(let b in h)m.properties[b]=this.process(h[b],{...c,path:[...c.path,"properties",b]});let _=new Set(Object.keys(h)),g=new Set([..._].filter(b=>{let y=i.shape[b]._zod;return this.io==="input"?y.optin===void 0:y.optout===void 0}));g.size>0&&(m.required=Array.from(g)),i.catchall?._zod.def.type==="never"?m.additionalProperties=!1:i.catchall?i.catchall&&(m.additionalProperties=this.process(i.catchall,{...c,path:[...c.path,"additionalProperties"]})):this.io==="output"&&(m.additionalProperties=!1);break}case"union":{let m=p;m.anyOf=i.options.map((h,_)=>this.process(h,{...c,path:[...c.path,"anyOf",_]}));break}case"intersection":{let m=p,h=this.process(i.left,{...c,path:[...c.path,"allOf",0]}),_=this.process(i.right,{...c,path:[...c.path,"allOf",1]}),g=y=>"allOf"in y&&Object.keys(y).length===1,b=[...g(h)?h.allOf:[h],...g(_)?_.allOf:[_]];m.allOf=b;break}case"tuple":{let m=p;m.type="array";let h=i.items.map((b,y)=>this.process(b,{...c,path:[...c.path,"prefixItems",y]}));if(this.target==="draft-2020-12"?m.prefixItems=h:m.items=h,i.rest){let b=this.process(i.rest,{...c,path:[...c.path,"items"]});this.target==="draft-2020-12"?m.items=b:m.additionalItems=b}i.rest&&(m.items=this.process(i.rest,{...c,path:[...c.path,"items"]}));let{minimum:_,maximum:g}=t._zod.bag;typeof _=="number"&&(m.minItems=_),typeof g=="number"&&(m.maxItems=g);break}case"record":{let m=p;m.type="object",m.propertyNames=this.process(i.keyType,{...c,path:[...c.path,"propertyNames"]}),m.additionalProperties=this.process(i.valueType,{...c,path:[...c.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema");break}case"enum":{let m=p,h=wd(i.entries);h.every(_=>typeof _=="number")&&(m.type="number"),h.every(_=>typeof _=="string")&&(m.type="string"),m.enum=h;break}case"literal":{let m=p,h=[];for(let _ of i.values)if(_===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof _=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");h.push(Number(_))}else h.push(_);if(h.length!==0)if(h.length===1){let _=h[0];m.type=_===null?"null":typeof _,m.const=_}else h.every(_=>typeof _=="number")&&(m.type="number"),h.every(_=>typeof _=="string")&&(m.type="string"),h.every(_=>typeof _=="boolean")&&(m.type="string"),h.every(_=>_===null)&&(m.type="null"),m.enum=h;break}case"file":{let m=p,h={type:"string",format:"binary",contentEncoding:"binary"},{minimum:_,maximum:g,mime:b}=t._zod.bag;_!==void 0&&(h.minLength=_),g!==void 0&&(h.maxLength=g),b?b.length===1?(h.contentMediaType=b[0],Object.assign(m,h)):m.anyOf=b.map(y=>({...h,contentMediaType:y})):Object.assign(m,h);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let m=this.process(i.innerType,c);p.anyOf=[m,{type:"null"}];break}case"nonoptional":{this.process(i.innerType,c),s.ref=i.innerType;break}case"success":{let m=p;m.type="boolean";break}case"default":{this.process(i.innerType,c),s.ref=i.innerType,p.default=JSON.parse(JSON.stringify(i.defaultValue));break}case"prefault":{this.process(i.innerType,c),s.ref=i.innerType,this.io==="input"&&(p._prefault=JSON.parse(JSON.stringify(i.defaultValue)));break}case"catch":{this.process(i.innerType,c),s.ref=i.innerType;let m;try{m=i.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}p.default=m;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let m=p,h=t._zod.pattern;if(!h)throw new Error("Pattern not found in template literal");m.type="string",m.pattern=h.source;break}case"pipe":{let m=this.io==="input"?i.in._zod.def.type==="transform"?i.out:i.in:i.out;this.process(m,c),s.ref=m;break}case"readonly":{this.process(i.innerType,c),s.ref=i.innerType,p.readOnly=!0;break}case"promise":{this.process(i.innerType,c),s.ref=i.innerType;break}case"optional":{this.process(i.innerType,c),s.ref=i.innerType;break}case"lazy":{let m=t._zod.innerType;this.process(m,c),s.ref=m;break}case"custom":{if(this.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema");break}default:}}}let d=this.metadataRegistry.get(t);return d&&Object.assign(s.schema,d),this.io==="input"&&$r(t)&&(delete s.schema.examples,delete s.schema.default),this.io==="input"&&s.schema._prefault&&((n=s.schema).default??(n.default=s.schema._prefault)),delete s.schema._prefault,this.seen.get(t).schema}emit(t,r){let n={cycles:r?.cycles??"ref",reused:r?.reused??"inline",external:r?.external??void 0},i=this.seen.get(t);if(!i)throw new Error("Unprocessed schema. This is a bug in Zod.");let o=u=>{let c=this.target==="draft-2020-12"?"$defs":"definitions";if(n.external){let h=n.external.registry.get(u[0])?.id,_=n.external.uri??(b=>b);if(h)return{ref:_(h)};let g=u[1].defId??u[1].schema.id??`schema${this.counter++}`;return u[1].defId=g,{defId:g,ref:`${_("__shared")}#/${c}/${g}`}}if(u[1]===i)return{ref:"#"};let p=`#/${c}/`,m=u[1].schema.id??`__schema${this.counter++}`;return{defId:m,ref:p+m}},a=u=>{if(u[1].schema.$ref)return;let c=u[1],{ref:f,defId:p}=o(u);c.def={...c.schema},p&&(c.defId=p);let m=c.schema;for(let h in m)delete m[h];m.$ref=f};if(n.cycles==="throw")for(let u of this.seen.entries()){let c=u[1];if(c.cycle)throw new Error(`Cycle detected: #/${c.cycle?.join("/")}/<root>
314
+ })));`),f.write(`newResult[${Ma(b)}] = ${y}.value`)}f.write("payload.value = newResult;"),f.write("return payload;");let g=f.compile();return(b,y)=>g(c,b,y)},i,o=Vs,a=!Bc.jitless,l=a&&e_.value,d=t.catchall,u;e._zod.parse=(c,f)=>{u??(u=r.value);let p=c.value;if(!o(p))return c.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),c;let m=[];if(a&&l&&f?.async===!1&&f.jitless!==!0)i||(i=n(t.shape)),c=i(c,f);else{c.value={};let y=u.shape;for(let v of u.keys){let S=y[v],A=S._zod.run({value:p[v],issues:[]},f),R=S._zod.optin==="optional"&&S._zod.optout==="optional";A instanceof Promise?m.push(A.then(W=>R?dT(W,c,v,p):tf(W,c,v))):R?dT(A,c,v,p):tf(A,c,v)}}if(!d)return m.length?Promise.all(m).then(()=>c):c;let h=[],_=u.keySet,g=d._zod,b=g.def.type;for(let y of Object.keys(p)){if(_.has(y))continue;if(b==="never"){h.push(y);continue}let v=g.run({value:p[y],issues:[]},f);v instanceof Promise?m.push(v.then(S=>tf(S,c,y))):tf(v,c,y)}return h.length&&c.issues.push({code:"unrecognized_keys",keys:h,input:p,inst:e}),m.length?Promise.all(m).then(()=>c):c}});function uT(e,t,r,n){for(let i of e)if(i.issues.length===0)return t.value=i.value,t;return t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(i=>i.issues.map(o=>pi(o,n,In())))}),t}var of=z("$ZodUnion",(e,t)=>{Mt.init(e,t),Ht(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),Ht(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),Ht(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),Ht(e._zod,"pattern",()=>{if(t.options.every(r=>r._zod.pattern)){let r=t.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>Td(n.source)).join("|")})$`)}}),e._zod.parse=(r,n)=>{let i=!1,o=[];for(let a of t.options){let s=a._zod.run({value:r.value,issues:[]},n);if(s instanceof Promise)o.push(s),i=!0;else{if(s.issues.length===0)return s;o.push(s)}}return i?Promise.all(o).then(a=>uT(a,r,e,n)):uT(o,r,e,n)}}),U_=z("$ZodDiscriminatedUnion",(e,t)=>{of.init(e,t);let r=e._zod.parse;Ht(e._zod,"propValues",()=>{let i={};for(let o of t.options){let a=o._zod.propValues;if(!a||Object.keys(a).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(o)}"`);for(let[s,l]of Object.entries(a)){i[s]||(i[s]=new Set);for(let d of l)i[s].add(d)}}return i});let n=kd(()=>{let i=t.options,o=new Map;for(let a of i){let s=a._zod.propValues[t.discriminator];if(!s||s.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(a)}"`);for(let l of s){if(o.has(l))throw new Error(`Duplicate discriminator value "${String(l)}"`);o.set(l,a)}}return o});e._zod.parse=(i,o)=>{let a=i.value;if(!Vs(a))return i.issues.push({code:"invalid_type",expected:"object",input:a,inst:e}),i;let s=n.value.get(a?.[t.discriminator]);return s?s._zod.run(i,o):t.unionFallback?r(i,o):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:a,path:[t.discriminator],inst:e}),i)}}),W_=z("$ZodIntersection",(e,t)=>{Mt.init(e,t),e._zod.parse=(r,n)=>{let i=r.value,o=t.left._zod.run({value:i,issues:[]},n),a=t.right._zod.run({value:i,issues:[]},n);return o instanceof Promise||a instanceof Promise?Promise.all([o,a]).then(([l,d])=>cT(r,l,d)):cT(r,o,a)}});function g_(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Hs(e)&&Hs(t)){let r=Object.keys(t),n=Object.keys(e).filter(o=>r.indexOf(o)!==-1),i={...e,...t};for(let o of n){let a=g_(e[o],t[o]);if(!a.valid)return{valid:!1,mergeErrorPath:[o,...a.mergeErrorPath]};i[o]=a.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let i=e[n],o=t[n],a=g_(i,o);if(!a.valid)return{valid:!1,mergeErrorPath:[n,...a.mergeErrorPath]};r.push(a.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function cT(e,t,r){if(t.issues.length&&e.issues.push(...t.issues),r.issues.length&&e.issues.push(...r.issues),ja(e))return e;let n=g_(t.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return e.value=n.data,e}var Z_=z("$ZodRecord",(e,t)=>{Mt.init(e,t),e._zod.parse=(r,n)=>{let i=r.value;if(!Hs(i))return r.issues.push({expected:"record",code:"invalid_type",input:i,inst:e}),r;let o=[];if(t.keyType._zod.values){let a=t.keyType._zod.values;r.value={};for(let l of a)if(typeof l=="string"||typeof l=="number"||typeof l=="symbol"){let d=t.valueType._zod.run({value:i[l],issues:[]},n);d instanceof Promise?o.push(d.then(u=>{u.issues.length&&r.issues.push(...ji(l,u.issues)),r.value[l]=u.value})):(d.issues.length&&r.issues.push(...ji(l,d.issues)),r.value[l]=d.value)}let s;for(let l in i)a.has(l)||(s=s??[],s.push(l));s&&s.length>0&&r.issues.push({code:"unrecognized_keys",input:i,inst:e,keys:s})}else{r.value={};for(let a of Reflect.ownKeys(i)){if(a==="__proto__")continue;let s=t.keyType._zod.run({value:a,issues:[]},n);if(s instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(s.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:s.issues.map(d=>pi(d,n,In())),input:a,path:[a],inst:e}),r.value[s.value]=s.value;continue}let l=t.valueType._zod.run({value:i[a],issues:[]},n);l instanceof Promise?o.push(l.then(d=>{d.issues.length&&r.issues.push(...ji(a,d.issues)),r.value[s.value]=d.value})):(l.issues.length&&r.issues.push(...ji(a,l.issues)),r.value[s.value]=l.value)}}return o.length?Promise.all(o).then(()=>r):r}});var V_=z("$ZodEnum",(e,t)=>{Mt.init(e,t);let r=wd(t.entries);e._zod.values=new Set(r),e._zod.pattern=new RegExp(`^(${r.filter(n=>t_.has(typeof n)).map(n=>typeof n=="string"?Po(n):n.toString()).join("|")})$`),e._zod.parse=(n,i)=>{let o=n.value;return e._zod.values.has(o)||n.issues.push({code:"invalid_value",values:r,input:o,inst:e}),n}}),H_=z("$ZodLiteral",(e,t)=>{Mt.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?Po(r):r?r.toString():String(r)).join("|")})$`),e._zod.parse=(r,n)=>{let i=r.value;return e._zod.values.has(i)||r.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),r}});var B_=z("$ZodTransform",(e,t)=>{Mt.init(e,t),e._zod.parse=(r,n)=>{let i=t.transform(r.value,r);if(n.async)return(i instanceof Promise?i:Promise.resolve(i)).then(a=>(r.value=a,r));if(i instanceof Promise)throw new ao;return r.value=i,r}}),K_=z("$ZodOptional",(e,t)=>{Mt.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Ht(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Ht(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Td(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>t.innerType._zod.optin==="optional"?t.innerType._zod.run(r,n):r.value===void 0?r:t.innerType._zod.run(r,n)}),J_=z("$ZodNullable",(e,t)=>{Mt.init(e,t),Ht(e._zod,"optin",()=>t.innerType._zod.optin),Ht(e._zod,"optout",()=>t.innerType._zod.optout),Ht(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Td(r.source)}|null)$`):void 0}),Ht(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),Y_=z("$ZodDefault",(e,t)=>{Mt.init(e,t),e._zod.optin="optional",Ht(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=t.defaultValue,r;let i=t.innerType._zod.run(r,n);return i instanceof Promise?i.then(o=>fT(o,t)):fT(i,t)}});function fT(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var X_=z("$ZodPrefault",(e,t)=>{Mt.init(e,t),e._zod.optin="optional",Ht(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),Q_=z("$ZodNonOptional",(e,t)=>{Mt.init(e,t),Ht(e._zod,"values",()=>{let r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{let i=t.innerType._zod.run(r,n);return i instanceof Promise?i.then(o=>mT(o,e)):mT(i,e)}});function mT(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var eg=z("$ZodCatch",(e,t)=>{Mt.init(e,t),e._zod.optin="optional",Ht(e._zod,"optout",()=>t.innerType._zod.optout),Ht(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{let i=t.innerType._zod.run(r,n);return i instanceof Promise?i.then(o=>(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(a=>pi(a,n,In()))},input:r.value}),r.issues=[]),r)):(r.value=i.value,i.issues.length&&(r.value=t.catchValue({...r,error:{issues:i.issues.map(o=>pi(o,n,In()))},input:r.value}),r.issues=[]),r)}});var tg=z("$ZodPipe",(e,t)=>{Mt.init(e,t),Ht(e._zod,"values",()=>t.in._zod.values),Ht(e._zod,"optin",()=>t.in._zod.optin),Ht(e._zod,"optout",()=>t.out._zod.optout),e._zod.parse=(r,n)=>{let i=t.in._zod.run(r,n);return i instanceof Promise?i.then(o=>pT(o,t,n)):pT(i,t,n)}});function pT(e,t,r){return ja(e)?e:t.out._zod.run({value:e.value,issues:e.issues},r)}var rg=z("$ZodReadonly",(e,t)=>{Mt.init(e,t),Ht(e._zod,"propValues",()=>t.innerType._zod.propValues),Ht(e._zod,"values",()=>t.innerType._zod.values),Ht(e._zod,"optin",()=>t.innerType._zod.optin),Ht(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(r,n)=>{let i=t.innerType._zod.run(r,n);return i instanceof Promise?i.then(hT):hT(i)}});function hT(e){return e.value=Object.freeze(e.value),e}var ng=z("$ZodCustom",(e,t)=>{qr.init(e,t),Mt.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,i=t.fn(n);if(i instanceof Promise)return i.then(o=>_T(o,r,n,e));_T(i,r,n,e)}});function _T(e,t,r,n){if(!e){let i={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(i.params=n._zod.def.params),t.issues.push(i_(i))}}var NG=e=>{let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return t},GG=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function t(n){return e[n]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${NG(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Yc(n.values[0])}`:`Invalid option: expected one of ${Kc(n.values,"|")}`;case"too_big":{let i=n.inclusive?"<=":"<",o=t(n.origin);return o?`Too big: expected ${n.origin??"value"} to have ${i}${n.maximum.toString()} ${o.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${i}${n.maximum.toString()}`}case"too_small":{let i=n.inclusive?">=":">",o=t(n.origin);return o?`Too small: expected ${n.origin} to have ${i}${n.minimum.toString()} ${o.unit}`:`Too small: expected ${n.origin} to be ${i}${n.minimum.toString()}`}case"invalid_format":{let i=n;return i.format==="starts_with"?`Invalid string: must start with "${i.prefix}"`:i.format==="ends_with"?`Invalid string: must end with "${i.suffix}"`:i.format==="includes"?`Invalid string: must include "${i.includes}"`:i.format==="regex"?`Invalid string: must match pattern ${i.pattern}`:`Invalid ${r[i.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${Kc(n.keys,", ")}`;case"invalid_key":return`Invalid key in ${n.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${n.origin}`;default:return"Invalid input"}}};function wT(){return{localeError:GG()}}var Pd=class{constructor(){this._map=new Map,this._idmap=new Map}add(t,...r){let n=r[0];if(this._map.set(t,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,t)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(t){let r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){let r=t._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(t)}}return this._map.get(t)}has(t){return this._map.has(t)}};function kT(){return new Pd}var Ro=kT();function ig(e,t){return new e({type:"string",...je(t)})}function og(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...je(t)})}function af(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...je(t)})}function ag(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...je(t)})}function sg(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...je(t)})}function lg(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...je(t)})}function dg(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...je(t)})}function ug(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...je(t)})}function cg(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...je(t)})}function fg(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...je(t)})}function mg(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...je(t)})}function pg(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...je(t)})}function hg(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...je(t)})}function _g(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...je(t)})}function gg(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...je(t)})}function yg(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...je(t)})}function bg(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...je(t)})}function vg(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...je(t)})}function Sg(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...je(t)})}function wg(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...je(t)})}function kg(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...je(t)})}function xg(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...je(t)})}function Tg(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...je(t)})}function xT(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...je(t)})}function TT(e,t){return new e({type:"string",format:"date",check:"string_format",...je(t)})}function AT(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...je(t)})}function OT(e,t){return new e({type:"string",format:"duration",check:"string_format",...je(t)})}function Ag(e,t){return new e({type:"number",checks:[],...je(t)})}function Og(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...je(t)})}function Cg(e,t){return new e({type:"boolean",...je(t)})}function Eg(e,t){return new e({type:"null",...je(t)})}function Pg(e){return new e({type:"unknown"})}function Rg(e,t){return new e({type:"never",...je(t)})}function sf(e,t){return new h_({check:"less_than",...je(t),value:e,inclusive:!1})}function Rd(e,t){return new h_({check:"less_than",...je(t),value:e,inclusive:!0})}function lf(e,t){return new __({check:"greater_than",...je(t),value:e,inclusive:!1})}function Id(e,t){return new __({check:"greater_than",...je(t),value:e,inclusive:!0})}function df(e,t){return new Bx({check:"multiple_of",...je(t),value:e})}function uf(e,t){return new Jx({check:"max_length",...je(t),maximum:e})}function Bs(e,t){return new Yx({check:"min_length",...je(t),minimum:e})}function cf(e,t){return new Xx({check:"length_equals",...je(t),length:e})}function Ig(e,t){return new Qx({check:"string_format",format:"regex",...je(t),pattern:e})}function $g(e){return new eT({check:"string_format",format:"lowercase",...je(e)})}function Mg(e){return new tT({check:"string_format",format:"uppercase",...je(e)})}function jg(e,t){return new rT({check:"string_format",format:"includes",...je(t),includes:e})}function zg(e,t){return new nT({check:"string_format",format:"starts_with",...je(t),prefix:e})}function Ng(e,t){return new iT({check:"string_format",format:"ends_with",...je(t),suffix:e})}function Ga(e){return new oT({check:"overwrite",tx:e})}function Gg(e){return Ga(t=>t.normalize(e))}function Fg(){return Ga(e=>e.trim())}function Dg(){return Ga(e=>e.toLowerCase())}function qg(){return Ga(e=>e.toUpperCase())}function CT(e,t,r){return new e({type:"array",element:t,...je(r)})}function Lg(e,t,r){let n=je(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Ug(e,t,r){return new e({type:"custom",check:"custom",fn:t,...je(r)})}var ff=class{constructor(t){this.counter=0,this.metadataRegistry=t?.metadata??Ro,this.target=t?.target??"draft-2020-12",this.unrepresentable=t?.unrepresentable??"throw",this.override=t?.override??(()=>{}),this.io=t?.io??"output",this.seen=new Map}process(t,r={path:[],schemaPath:[]}){var n;let i=t._zod.def,o={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},a=this.seen.get(t);if(a)return a.count++,r.schemaPath.includes(t)&&(a.cycle=r.path),a.schema;let s={schema:{},count:1,cycle:void 0,path:r.path};this.seen.set(t,s);let l=t._zod.toJSONSchema?.();if(l)s.schema=l;else{let c={...r,schemaPath:[...r.schemaPath,t],path:r.path},f=t._zod.parent;if(f)s.ref=f,this.process(f,c),this.seen.get(f).isParent=!0;else{let p=s.schema;switch(i.type){case"string":{let m=p;m.type="string";let{minimum:h,maximum:_,format:g,patterns:b,contentEncoding:y}=t._zod.bag;if(typeof h=="number"&&(m.minLength=h),typeof _=="number"&&(m.maxLength=_),g&&(m.format=o[g]??g,m.format===""&&delete m.format),y&&(m.contentEncoding=y),b&&b.size>0){let v=[...b];v.length===1?m.pattern=v[0].source:v.length>1&&(s.schema.allOf=[...v.map(S=>({...this.target==="draft-7"?{type:"string"}:{},pattern:S.source}))])}break}case"number":{let m=p,{minimum:h,maximum:_,format:g,multipleOf:b,exclusiveMaximum:y,exclusiveMinimum:v}=t._zod.bag;typeof g=="string"&&g.includes("int")?m.type="integer":m.type="number",typeof v=="number"&&(m.exclusiveMinimum=v),typeof h=="number"&&(m.minimum=h,typeof v=="number"&&(v>=h?delete m.minimum:delete m.exclusiveMinimum)),typeof y=="number"&&(m.exclusiveMaximum=y),typeof _=="number"&&(m.maximum=_,typeof y=="number"&&(y<=_?delete m.maximum:delete m.exclusiveMaximum)),typeof b=="number"&&(m.multipleOf=b);break}case"boolean":{let m=p;m.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{p.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema");break}case"never":{p.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let m=p,{minimum:h,maximum:_}=t._zod.bag;typeof h=="number"&&(m.minItems=h),typeof _=="number"&&(m.maxItems=_),m.type="array",m.items=this.process(i.element,{...c,path:[...c.path,"items"]});break}case"object":{let m=p;m.type="object",m.properties={};let h=i.shape;for(let b in h)m.properties[b]=this.process(h[b],{...c,path:[...c.path,"properties",b]});let _=new Set(Object.keys(h)),g=new Set([..._].filter(b=>{let y=i.shape[b]._zod;return this.io==="input"?y.optin===void 0:y.optout===void 0}));g.size>0&&(m.required=Array.from(g)),i.catchall?._zod.def.type==="never"?m.additionalProperties=!1:i.catchall?i.catchall&&(m.additionalProperties=this.process(i.catchall,{...c,path:[...c.path,"additionalProperties"]})):this.io==="output"&&(m.additionalProperties=!1);break}case"union":{let m=p;m.anyOf=i.options.map((h,_)=>this.process(h,{...c,path:[...c.path,"anyOf",_]}));break}case"intersection":{let m=p,h=this.process(i.left,{...c,path:[...c.path,"allOf",0]}),_=this.process(i.right,{...c,path:[...c.path,"allOf",1]}),g=y=>"allOf"in y&&Object.keys(y).length===1,b=[...g(h)?h.allOf:[h],...g(_)?_.allOf:[_]];m.allOf=b;break}case"tuple":{let m=p;m.type="array";let h=i.items.map((b,y)=>this.process(b,{...c,path:[...c.path,"prefixItems",y]}));if(this.target==="draft-2020-12"?m.prefixItems=h:m.items=h,i.rest){let b=this.process(i.rest,{...c,path:[...c.path,"items"]});this.target==="draft-2020-12"?m.items=b:m.additionalItems=b}i.rest&&(m.items=this.process(i.rest,{...c,path:[...c.path,"items"]}));let{minimum:_,maximum:g}=t._zod.bag;typeof _=="number"&&(m.minItems=_),typeof g=="number"&&(m.maxItems=g);break}case"record":{let m=p;m.type="object",m.propertyNames=this.process(i.keyType,{...c,path:[...c.path,"propertyNames"]}),m.additionalProperties=this.process(i.valueType,{...c,path:[...c.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema");break}case"enum":{let m=p,h=wd(i.entries);h.every(_=>typeof _=="number")&&(m.type="number"),h.every(_=>typeof _=="string")&&(m.type="string"),m.enum=h;break}case"literal":{let m=p,h=[];for(let _ of i.values)if(_===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof _=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");h.push(Number(_))}else h.push(_);if(h.length!==0)if(h.length===1){let _=h[0];m.type=_===null?"null":typeof _,m.const=_}else h.every(_=>typeof _=="number")&&(m.type="number"),h.every(_=>typeof _=="string")&&(m.type="string"),h.every(_=>typeof _=="boolean")&&(m.type="string"),h.every(_=>_===null)&&(m.type="null"),m.enum=h;break}case"file":{let m=p,h={type:"string",format:"binary",contentEncoding:"binary"},{minimum:_,maximum:g,mime:b}=t._zod.bag;_!==void 0&&(h.minLength=_),g!==void 0&&(h.maxLength=g),b?b.length===1?(h.contentMediaType=b[0],Object.assign(m,h)):m.anyOf=b.map(y=>({...h,contentMediaType:y})):Object.assign(m,h);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let m=this.process(i.innerType,c);p.anyOf=[m,{type:"null"}];break}case"nonoptional":{this.process(i.innerType,c),s.ref=i.innerType;break}case"success":{let m=p;m.type="boolean";break}case"default":{this.process(i.innerType,c),s.ref=i.innerType,p.default=JSON.parse(JSON.stringify(i.defaultValue));break}case"prefault":{this.process(i.innerType,c),s.ref=i.innerType,this.io==="input"&&(p._prefault=JSON.parse(JSON.stringify(i.defaultValue)));break}case"catch":{this.process(i.innerType,c),s.ref=i.innerType;let m;try{m=i.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}p.default=m;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let m=p,h=t._zod.pattern;if(!h)throw new Error("Pattern not found in template literal");m.type="string",m.pattern=h.source;break}case"pipe":{let m=this.io==="input"?i.in._zod.def.type==="transform"?i.out:i.in:i.out;this.process(m,c),s.ref=m;break}case"readonly":{this.process(i.innerType,c),s.ref=i.innerType,p.readOnly=!0;break}case"promise":{this.process(i.innerType,c),s.ref=i.innerType;break}case"optional":{this.process(i.innerType,c),s.ref=i.innerType;break}case"lazy":{let m=t._zod.innerType;this.process(m,c),s.ref=m;break}case"custom":{if(this.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema");break}default:}}}let d=this.metadataRegistry.get(t);return d&&Object.assign(s.schema,d),this.io==="input"&&$r(t)&&(delete s.schema.examples,delete s.schema.default),this.io==="input"&&s.schema._prefault&&((n=s.schema).default??(n.default=s.schema._prefault)),delete s.schema._prefault,this.seen.get(t).schema}emit(t,r){let n={cycles:r?.cycles??"ref",reused:r?.reused??"inline",external:r?.external??void 0},i=this.seen.get(t);if(!i)throw new Error("Unprocessed schema. This is a bug in Zod.");let o=u=>{let c=this.target==="draft-2020-12"?"$defs":"definitions";if(n.external){let h=n.external.registry.get(u[0])?.id,_=n.external.uri??(b=>b);if(h)return{ref:_(h)};let g=u[1].defId??u[1].schema.id??`schema${this.counter++}`;return u[1].defId=g,{defId:g,ref:`${_("__shared")}#/${c}/${g}`}}if(u[1]===i)return{ref:"#"};let p=`#/${c}/`,m=u[1].schema.id??`__schema${this.counter++}`;return{defId:m,ref:p+m}},a=u=>{if(u[1].schema.$ref)return;let c=u[1],{ref:f,defId:p}=o(u);c.def={...c.schema},p&&(c.defId=p);let m=c.schema;for(let h in m)delete m[h];m.$ref=f};if(n.cycles==="throw")for(let u of this.seen.entries()){let c=u[1];if(c.cycle)throw new Error(`Cycle detected: #/${c.cycle?.join("/")}/<root>
315
315
 
316
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let u of this.seen.entries()){let c=u[1];if(t===u[0]){a(u);continue}if(n.external){let p=n.external.registry.get(u[0])?.id;if(t!==u[0]&&p){a(u);continue}}if(this.metadataRegistry.get(u[0])?.id){a(u);continue}if(c.cycle){a(u);continue}if(c.count>1&&n.reused==="ref"){a(u);continue}}let s=(u,c)=>{let f=this.seen.get(u),p=f.def??f.schema,m={...p};if(f.ref===null)return;let h=f.ref;if(f.ref=null,h){s(h,c);let _=this.seen.get(h).schema;_.$ref&&c.target==="draft-7"?(p.allOf=p.allOf??[],p.allOf.push(_)):(Object.assign(p,_),Object.assign(p,m))}f.isParent||this.override({zodSchema:u,jsonSchema:p,path:f.path??[]})};for(let u of[...this.seen.entries()].reverse())s(u[0],{target:this.target});let l={};if(this.target==="draft-2020-12"?l.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?l.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),n.external?.uri){let u=n.external.registry.get(t)?.id;if(!u)throw new Error("Schema is missing an `id` property");l.$id=n.external.uri(u)}Object.assign(l,i.def);let d=n.external?.defs??{};for(let u of this.seen.entries()){let c=u[1];c.def&&c.defId&&(d[c.defId]=c.def)}n.external||Object.keys(d).length>0&&(this.target==="draft-2020-12"?l.$defs=d:l.definitions=d);try{return JSON.parse(JSON.stringify(l))}catch{throw new Error("Error converting schema to JSON.")}}};function Ug(e,t){if(e instanceof Pd){let n=new ff(t),i={};for(let s of e._idmap.entries()){let[l,d]=s;n.process(d)}let o={},a={registry:e,uri:t?.uri,defs:i};for(let s of e._idmap.entries()){let[l,d]=s;o[l]=n.emit(d,{...t,external:a})}if(Object.keys(i).length>0){let s=n.target==="draft-2020-12"?"$defs":"definitions";o.__shared={[s]:i}}return{schemas:o}}let r=new ff(t);return r.process(e),r.emit(e,t)}function $r(e,t){let r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);let i=e._zod.def;switch(i.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return $r(i.element,r);case"object":{for(let o in i.shape)if($r(i.shape[o],r))return!0;return!1}case"union":{for(let o of i.options)if($r(o,r))return!0;return!1}case"intersection":return $r(i.left,r)||$r(i.right,r);case"tuple":{for(let o of i.items)if($r(o,r))return!0;return!!(i.rest&&$r(i.rest,r))}case"record":return $r(i.keyType,r)||$r(i.valueType,r);case"map":return $r(i.keyType,r)||$r(i.valueType,r);case"set":return $r(i.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return $r(i.innerType,r);case"lazy":return $r(i.getter(),r);case"default":return $r(i.innerType,r);case"prefault":return $r(i.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return $r(i.in,r)||$r(i.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${i.type}`)}var $d={};Np($d,{ZodISODate:()=>PT,ZodISODateTime:()=>ET,ZodISODuration:()=>IT,ZodISOTime:()=>RT,date:()=>Wg,datetime:()=>Zg,duration:()=>Hg,time:()=>Vg});var ET=z("ZodISODateTime",(e,t)=>{_T.init(e,t),sr.init(e,t)});function Zg(e){return kT(ET,e)}var PT=z("ZodISODate",(e,t)=>{gT.init(e,t),sr.init(e,t)});function Wg(e){return xT(PT,e)}var RT=z("ZodISOTime",(e,t)=>{yT.init(e,t),sr.init(e,t)});function Vg(e){return TT(RT,e)}var IT=z("ZodISODuration",(e,t)=>{bT.init(e,t),sr.init(e,t)});function Hg(e){return AT(IT,e)}var $T=(e,t)=>{Xc.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>o_(e,r)},flatten:{value:r=>i_(e,r)},addIssue:{value:r=>e.issues.push(r)},addIssues:{value:r=>e.issues.push(...r)},isEmpty:{get(){return e.issues.length===0}}})},$7=z("ZodError",$T),Md=z("ZodError",$T,{Parent:Error});var MT=a_(Md),jT=l_(Md),zT=u_(Md),NT=c_(Md);var hr=z("ZodType",(e,t)=>(Mt.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>$n(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.parse=(r,n)=>MT(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>zT(e,r,n),e.parseAsync=async(r,n)=>jT(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>NT(e,r,n),e.spa=e.safeParseAsync,e.refine=(r,n)=>e.check(sD(r,n)),e.superRefine=r=>e.check(lD(r)),e.overwrite=r=>e.check(Ga(r)),e.optional=()=>dr(e),e.nullable=()=>DT(e),e.nullish=()=>dr(DT(e)),e.nonoptional=r=>eD(e,r),e.array=()=>gt(e),e.or=r=>tr([e,r]),e.and=r=>pf(e,r),e.transform=r=>Kg(e,VT(r)),e.default=r=>YF(e,r),e.prefault=r=>QF(e,r),e.catch=r=>rD(e,r),e.pipe=r=>Kg(e,r),e.readonly=()=>oD(e),e.describe=r=>{let n=e.clone();return Ro.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){return Ro.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return Ro.get(e);let n=e.clone();return Ro.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),qT=z("_ZodString",(e,t)=>{Ed.init(e,t),hr.init(e,t);let r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...n)=>e.check(Rg(...n)),e.includes=(...n)=>e.check(Mg(...n)),e.startsWith=(...n)=>e.check(jg(...n)),e.endsWith=(...n)=>e.check(zg(...n)),e.min=(...n)=>e.check(Bs(...n)),e.max=(...n)=>e.check(uf(...n)),e.length=(...n)=>e.check(cf(...n)),e.nonempty=(...n)=>e.check(Bs(1,...n)),e.lowercase=n=>e.check(Ig(n)),e.uppercase=n=>e.check($g(n)),e.trim=()=>e.check(Gg()),e.normalize=(...n)=>e.check(Ng(...n)),e.toLowerCase=()=>e.check(Fg()),e.toUpperCase=()=>e.check(Dg())}),bF=z("ZodString",(e,t)=>{Ed.init(e,t),qT.init(e,t),e.email=r=>e.check(ig(vF,r)),e.url=r=>e.check(dg(SF,r)),e.jwt=r=>e.check(xg(zF,r)),e.emoji=r=>e.check(ug(wF,r)),e.guid=r=>e.check(af(GT,r)),e.uuid=r=>e.check(og(mf,r)),e.uuidv4=r=>e.check(ag(mf,r)),e.uuidv6=r=>e.check(sg(mf,r)),e.uuidv7=r=>e.check(lg(mf,r)),e.nanoid=r=>e.check(cg(kF,r)),e.guid=r=>e.check(af(GT,r)),e.cuid=r=>e.check(fg(xF,r)),e.cuid2=r=>e.check(mg(TF,r)),e.ulid=r=>e.check(pg(AF,r)),e.base64=r=>e.check(Sg($F,r)),e.base64url=r=>e.check(wg(MF,r)),e.xid=r=>e.check(hg(OF,r)),e.ksuid=r=>e.check(_g(CF,r)),e.ipv4=r=>e.check(gg(EF,r)),e.ipv6=r=>e.check(yg(PF,r)),e.cidrv4=r=>e.check(bg(RF,r)),e.cidrv6=r=>e.check(vg(IF,r)),e.e164=r=>e.check(kg(jF,r)),e.datetime=r=>e.check(Zg(r)),e.date=r=>e.check(Wg(r)),e.time=r=>e.check(Vg(r)),e.duration=r=>e.check(Hg(r))});function $(e){return ng(bF,e)}var sr=z("ZodStringFormat",(e,t)=>{Bt.init(e,t),qT.init(e,t)}),vF=z("ZodEmail",(e,t)=>{b_.init(e,t),sr.init(e,t)});var GT=z("ZodGUID",(e,t)=>{g_.init(e,t),sr.init(e,t)});var mf=z("ZodUUID",(e,t)=>{y_.init(e,t),sr.init(e,t)});var SF=z("ZodURL",(e,t)=>{v_.init(e,t),sr.init(e,t)});var wF=z("ZodEmoji",(e,t)=>{S_.init(e,t),sr.init(e,t)});var kF=z("ZodNanoID",(e,t)=>{w_.init(e,t),sr.init(e,t)});var xF=z("ZodCUID",(e,t)=>{k_.init(e,t),sr.init(e,t)});var TF=z("ZodCUID2",(e,t)=>{x_.init(e,t),sr.init(e,t)});var AF=z("ZodULID",(e,t)=>{T_.init(e,t),sr.init(e,t)});var OF=z("ZodXID",(e,t)=>{A_.init(e,t),sr.init(e,t)});var CF=z("ZodKSUID",(e,t)=>{O_.init(e,t),sr.init(e,t)});var EF=z("ZodIPv4",(e,t)=>{C_.init(e,t),sr.init(e,t)});var PF=z("ZodIPv6",(e,t)=>{E_.init(e,t),sr.init(e,t)});var RF=z("ZodCIDRv4",(e,t)=>{P_.init(e,t),sr.init(e,t)});var IF=z("ZodCIDRv6",(e,t)=>{R_.init(e,t),sr.init(e,t)});var $F=z("ZodBase64",(e,t)=>{I_.init(e,t),sr.init(e,t)});var MF=z("ZodBase64URL",(e,t)=>{$_.init(e,t),sr.init(e,t)});var jF=z("ZodE164",(e,t)=>{M_.init(e,t),sr.init(e,t)});var zF=z("ZodJWT",(e,t)=>{j_.init(e,t),sr.init(e,t)});var LT=z("ZodNumber",(e,t)=>{rf.init(e,t),hr.init(e,t),e.gt=(n,i)=>e.check(lf(n,i)),e.gte=(n,i)=>e.check(Id(n,i)),e.min=(n,i)=>e.check(Id(n,i)),e.lt=(n,i)=>e.check(sf(n,i)),e.lte=(n,i)=>e.check(Rd(n,i)),e.max=(n,i)=>e.check(Rd(n,i)),e.int=n=>e.check(FT(n)),e.safe=n=>e.check(FT(n)),e.positive=n=>e.check(lf(0,n)),e.nonnegative=n=>e.check(Id(0,n)),e.negative=n=>e.check(sf(0,n)),e.nonpositive=n=>e.check(Rd(0,n)),e.multipleOf=(n,i)=>e.check(df(n,i)),e.step=(n,i)=>e.check(df(n,i)),e.finite=()=>e;let r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function Et(e){return Tg(LT,e)}var NF=z("ZodNumberFormat",(e,t)=>{z_.init(e,t),LT.init(e,t)});function FT(e){return Ag(NF,e)}var GF=z("ZodBoolean",(e,t)=>{N_.init(e,t),hr.init(e,t)});function Nr(e){return Og(GF,e)}var FF=z("ZodNull",(e,t)=>{G_.init(e,t),hr.init(e,t)});function UT(e){return Cg(FF,e)}var DF=z("ZodUnknown",(e,t)=>{F_.init(e,t),hr.init(e,t)});function lr(){return Eg(DF)}var qF=z("ZodNever",(e,t)=>{D_.init(e,t),hr.init(e,t)});function LF(e){return Pg(qF,e)}var UF=z("ZodArray",(e,t)=>{q_.init(e,t),hr.init(e,t),e.element=t.element,e.min=(r,n)=>e.check(Bs(r,n)),e.nonempty=r=>e.check(Bs(1,r)),e.max=(r,n)=>e.check(uf(r,n)),e.length=(r,n)=>e.check(cf(r,n)),e.unwrap=()=>e.element});function gt(e,t){return OT(UF,e,t)}var ZT=z("ZodObject",(e,t)=>{nf.init(e,t),hr.init(e,t),ht.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>kn(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:lr()}),e.loose=()=>e.clone({...e._zod.def,catchall:lr()}),e.strict=()=>e.clone({...e._zod.def,catchall:LF()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>ht.extend(e,r),e.merge=r=>ht.merge(e,r),e.pick=r=>ht.pick(e,r),e.omit=r=>ht.omit(e,r),e.partial=(...r)=>ht.partial(HT,e,r[0]),e.required=(...r)=>ht.required(BT,e,r[0])});function me(e,t){let r={type:"object",get shape(){return ht.assignProp(this,"shape",{...e}),this.shape},...ht.normalizeParams(t)};return new ZT(r)}function an(e,t){return new ZT({type:"object",get shape(){return ht.assignProp(this,"shape",{...e}),this.shape},catchall:lr(),...ht.normalizeParams(t)})}var WT=z("ZodUnion",(e,t)=>{of.init(e,t),hr.init(e,t),e.options=t.options});function tr(e,t){return new WT({type:"union",options:e,...ht.normalizeParams(t)})}var ZF=z("ZodDiscriminatedUnion",(e,t)=>{WT.init(e,t),L_.init(e,t)});function Jg(e,t,r){return new ZF({type:"union",options:t,discriminator:e,...ht.normalizeParams(r)})}var WF=z("ZodIntersection",(e,t)=>{U_.init(e,t),hr.init(e,t)});function pf(e,t){return new WF({type:"intersection",left:e,right:t})}var VF=z("ZodRecord",(e,t)=>{Z_.init(e,t),hr.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function Kt(e,t,r){return new VF({type:"record",keyType:e,valueType:t,...ht.normalizeParams(r)})}var Bg=z("ZodEnum",(e,t)=>{W_.init(e,t),hr.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let r=new Set(Object.keys(t.entries));e.extract=(n,i)=>{let o={};for(let a of n)if(r.has(a))o[a]=t.entries[a];else throw new Error(`Key ${a} not found in enum`);return new Bg({...t,checks:[],...ht.normalizeParams(i),entries:o})},e.exclude=(n,i)=>{let o={...t.entries};for(let a of n)if(r.has(a))delete o[a];else throw new Error(`Key ${a} not found in enum`);return new Bg({...t,checks:[],...ht.normalizeParams(i),entries:o})}});function kn(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Bg({type:"enum",entries:r,...ht.normalizeParams(t)})}var HF=z("ZodLiteral",(e,t)=>{V_.init(e,t),hr.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function xe(e,t){return new HF({type:"literal",values:Array.isArray(e)?e:[e],...ht.normalizeParams(t)})}var BF=z("ZodTransform",(e,t)=>{H_.init(e,t),hr.init(e,t),e._zod.parse=(r,n)=>{r.addIssue=o=>{if(typeof o=="string")r.issues.push(ht.issue(o,r.value,t));else{let a=o;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=e),a.continue??(a.continue=!0),r.issues.push(ht.issue(a))}};let i=t.transform(r.value,r);return i instanceof Promise?i.then(o=>(r.value=o,r)):(r.value=i,r)}});function VT(e){return new BF({type:"transform",transform:e})}var HT=z("ZodOptional",(e,t)=>{B_.init(e,t),hr.init(e,t),e.unwrap=()=>e._zod.def.innerType});function dr(e){return new HT({type:"optional",innerType:e})}var KF=z("ZodNullable",(e,t)=>{K_.init(e,t),hr.init(e,t),e.unwrap=()=>e._zod.def.innerType});function DT(e){return new KF({type:"nullable",innerType:e})}var JF=z("ZodDefault",(e,t)=>{J_.init(e,t),hr.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function YF(e,t){return new JF({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var XF=z("ZodPrefault",(e,t)=>{Y_.init(e,t),hr.init(e,t),e.unwrap=()=>e._zod.def.innerType});function QF(e,t){return new XF({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var BT=z("ZodNonOptional",(e,t)=>{X_.init(e,t),hr.init(e,t),e.unwrap=()=>e._zod.def.innerType});function eD(e,t){return new BT({type:"nonoptional",innerType:e,...ht.normalizeParams(t)})}var tD=z("ZodCatch",(e,t)=>{Q_.init(e,t),hr.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function rD(e,t){return new tD({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var nD=z("ZodPipe",(e,t)=>{eg.init(e,t),hr.init(e,t),e.in=t.in,e.out=t.out});function Kg(e,t){return new nD({type:"pipe",in:e,out:t})}var iD=z("ZodReadonly",(e,t)=>{tg.init(e,t),hr.init(e,t)});function oD(e){return new iD({type:"readonly",innerType:e})}var KT=z("ZodCustom",(e,t)=>{rg.init(e,t),hr.init(e,t)});function aD(e){let t=new qr({check:"custom"});return t._zod.check=e,t}function JT(e,t){return qg(KT,e??(()=>!0),t)}function sD(e,t={}){return Lg(KT,e,t)}function lD(e){let t=aD(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(ht.issue(n,r.value,t._zod.def));else{let i=n;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=t),i.continue??(i.continue=!t._zod.def.abort),r.issues.push(ht.issue(i))}},e(r.value,r)));return t}function Yg(e,t){return Kg(VT(e),t)}In(ST());var Qg="2025-11-25";var YT=[Qg,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Io="io.modelcontextprotocol/related-task",_f="2.0",Mr=JT(e=>e!==null&&(typeof e=="object"||typeof e=="function")),XT=tr([$(),Et().int()]),QT=$(),H7=an({ttl:Et().optional(),pollInterval:Et().optional()}),dD=me({ttl:Et().optional()}),uD=me({taskId:$()}),ey=an({progressToken:XT.optional(),[Io]:uD.optional()}),Mn=me({_meta:ey.optional()}),jd=Mn.extend({task:dD.optional()}),eA=e=>jd.safeParse(e).success,Lr=me({method:$(),params:Mn.loose().optional()}),Bn=me({_meta:ey.optional()}),Kn=me({method:$(),params:Bn.loose().optional()}),Ur=an({_meta:ey.optional()}),gf=tr([$(),Et().int()]),tA=me({jsonrpc:xe(_f),id:gf,...Lr.shape}).strict(),ty=e=>tA.safeParse(e).success,rA=me({jsonrpc:xe(_f),...Kn.shape}).strict(),nA=e=>rA.safeParse(e).success,ry=me({jsonrpc:xe(_f),id:gf,result:Ur}).strict(),zd=e=>ry.safeParse(e).success;var Re;(function(e){e[e.ConnectionClosed=-32e3]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(Re||(Re={}));var ny=me({jsonrpc:xe(_f),id:gf.optional(),error:me({code:Et().int(),message:$(),data:lr().optional()})}).strict();var iA=e=>ny.safeParse(e).success;var oA=tr([tA,rA,ry,ny]),B7=tr([ry,ny]),yf=Ur.strict(),cD=Bn.extend({requestId:gf.optional(),reason:$().optional()}),bf=Kn.extend({method:xe("notifications/cancelled"),params:cD}),fD=me({src:$(),mimeType:$().optional(),sizes:gt($()).optional(),theme:kn(["light","dark"]).optional()}),Nd=me({icons:gt(fD).optional()}),Ks=me({name:$(),title:$().optional()}),aA=Ks.extend({...Ks.shape,...Nd.shape,version:$(),websiteUrl:$().optional(),description:$().optional()}),mD=pf(me({applyDefaults:Nr().optional()}),Kt($(),lr())),pD=Yg(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,pf(me({form:mD.optional(),url:Mr.optional()}),Kt($(),lr()).optional())),hD=an({list:Mr.optional(),cancel:Mr.optional(),requests:an({sampling:an({createMessage:Mr.optional()}).optional(),elicitation:an({create:Mr.optional()}).optional()}).optional()}),_D=an({list:Mr.optional(),cancel:Mr.optional(),requests:an({tools:an({call:Mr.optional()}).optional()}).optional()}),gD=me({experimental:Kt($(),Mr).optional(),sampling:me({context:Mr.optional(),tools:Mr.optional()}).optional(),elicitation:pD.optional(),roots:me({listChanged:Nr().optional()}).optional(),tasks:hD.optional(),extensions:Kt($(),Mr).optional()}),yD=Mn.extend({protocolVersion:$(),capabilities:gD,clientInfo:aA}),iy=Lr.extend({method:xe("initialize"),params:yD});var bD=me({experimental:Kt($(),Mr).optional(),logging:Mr.optional(),completions:Mr.optional(),prompts:me({listChanged:Nr().optional()}).optional(),resources:me({subscribe:Nr().optional(),listChanged:Nr().optional()}).optional(),tools:me({listChanged:Nr().optional()}).optional(),tasks:_D.optional(),extensions:Kt($(),Mr).optional()}),vD=Ur.extend({protocolVersion:$(),capabilities:bD,serverInfo:aA,instructions:$().optional()}),oy=Kn.extend({method:xe("notifications/initialized"),params:Bn.optional()});var vf=Lr.extend({method:xe("ping"),params:Mn.optional()}),SD=me({progress:Et(),total:dr(Et()),message:dr($())}),wD=me({...Bn.shape,...SD.shape,progressToken:XT}),Sf=Kn.extend({method:xe("notifications/progress"),params:wD}),kD=Mn.extend({cursor:QT.optional()}),Gd=Lr.extend({params:kD.optional()}),Fd=Ur.extend({nextCursor:QT.optional()}),xD=kn(["working","input_required","completed","failed","cancelled"]),Dd=me({taskId:$(),status:xD,ttl:tr([Et(),UT()]),createdAt:$(),lastUpdatedAt:$(),pollInterval:dr(Et()),statusMessage:dr($())}),Js=Ur.extend({task:Dd}),TD=Bn.merge(Dd),qd=Kn.extend({method:xe("notifications/tasks/status"),params:TD}),wf=Lr.extend({method:xe("tasks/get"),params:Mn.extend({taskId:$()})}),kf=Ur.merge(Dd),xf=Lr.extend({method:xe("tasks/result"),params:Mn.extend({taskId:$()})}),K7=Ur.loose(),Tf=Gd.extend({method:xe("tasks/list")}),Af=Fd.extend({tasks:gt(Dd)}),Of=Lr.extend({method:xe("tasks/cancel"),params:Mn.extend({taskId:$()})}),sA=Ur.merge(Dd),lA=me({uri:$(),mimeType:dr($()),_meta:Kt($(),lr()).optional()}),dA=lA.extend({text:$()}),ay=$().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),uA=lA.extend({blob:ay}),Ld=kn(["user","assistant"]),Ys=me({audience:gt(Ld).optional(),priority:Et().min(0).max(1).optional(),lastModified:$d.datetime({offset:!0}).optional()}),cA=me({...Ks.shape,...Nd.shape,uri:$(),description:dr($()),mimeType:dr($()),size:dr(Et()),annotations:Ys.optional(),_meta:dr(an({}))}),AD=me({...Ks.shape,...Nd.shape,uriTemplate:$(),description:dr($()),mimeType:dr($()),annotations:Ys.optional(),_meta:dr(an({}))}),Xs=Gd.extend({method:xe("resources/list")}),OD=Fd.extend({resources:gt(cA)}),Qs=Gd.extend({method:xe("resources/templates/list")}),CD=Fd.extend({resourceTemplates:gt(AD)}),sy=Mn.extend({uri:$()}),ED=sy,Cf=Lr.extend({method:xe("resources/read"),params:ED}),PD=Ur.extend({contents:gt(tr([dA,uA]))}),RD=Kn.extend({method:xe("notifications/resources/list_changed"),params:Bn.optional()}),ID=sy,$D=Lr.extend({method:xe("resources/subscribe"),params:ID}),MD=sy,jD=Lr.extend({method:xe("resources/unsubscribe"),params:MD}),zD=Bn.extend({uri:$()}),ND=Kn.extend({method:xe("notifications/resources/updated"),params:zD}),GD=me({name:$(),description:dr($()),required:dr(Nr())}),FD=me({...Ks.shape,...Nd.shape,description:dr($()),arguments:dr(gt(GD)),_meta:dr(an({}))}),Ef=Gd.extend({method:xe("prompts/list")}),DD=Fd.extend({prompts:gt(FD)}),qD=Mn.extend({name:$(),arguments:Kt($(),$()).optional()}),Pf=Lr.extend({method:xe("prompts/get"),params:qD}),ly=me({type:xe("text"),text:$(),annotations:Ys.optional(),_meta:Kt($(),lr()).optional()}),dy=me({type:xe("image"),data:ay,mimeType:$(),annotations:Ys.optional(),_meta:Kt($(),lr()).optional()}),uy=me({type:xe("audio"),data:ay,mimeType:$(),annotations:Ys.optional(),_meta:Kt($(),lr()).optional()}),LD=me({type:xe("tool_use"),name:$(),id:$(),input:Kt($(),lr()),_meta:Kt($(),lr()).optional()}),UD=me({type:xe("resource"),resource:tr([dA,uA]),annotations:Ys.optional(),_meta:Kt($(),lr()).optional()}),ZD=cA.extend({type:xe("resource_link")}),cy=tr([ly,dy,uy,ZD,UD]),WD=me({role:Ld,content:cy}),VD=Ur.extend({description:$().optional(),messages:gt(WD)}),HD=Kn.extend({method:xe("notifications/prompts/list_changed"),params:Bn.optional()}),BD=me({title:$().optional(),readOnlyHint:Nr().optional(),destructiveHint:Nr().optional(),idempotentHint:Nr().optional(),openWorldHint:Nr().optional()}),KD=me({taskSupport:kn(["required","optional","forbidden"]).optional()}),fA=me({...Ks.shape,...Nd.shape,description:$().optional(),inputSchema:me({type:xe("object"),properties:Kt($(),Mr).optional(),required:gt($()).optional()}).catchall(lr()),outputSchema:me({type:xe("object"),properties:Kt($(),Mr).optional(),required:gt($()).optional()}).catchall(lr()).optional(),annotations:BD.optional(),execution:KD.optional(),_meta:Kt($(),lr()).optional()}),Rf=Gd.extend({method:xe("tools/list")}),JD=Fd.extend({tools:gt(fA)}),If=Ur.extend({content:gt(cy).default([]),structuredContent:Kt($(),lr()).optional(),isError:Nr().optional()}),J7=If.or(Ur.extend({toolResult:lr()})),YD=jd.extend({name:$(),arguments:Kt($(),lr()).optional()}),el=Lr.extend({method:xe("tools/call"),params:YD}),XD=Kn.extend({method:xe("notifications/tools/list_changed"),params:Bn.optional()}),Y7=me({autoRefresh:Nr().default(!0),debounceMs:Et().int().nonnegative().default(300)}),Ud=kn(["debug","info","notice","warning","error","critical","alert","emergency"]),QD=Mn.extend({level:Ud}),fy=Lr.extend({method:xe("logging/setLevel"),params:QD}),eq=Bn.extend({level:Ud,logger:$().optional(),data:lr()}),tq=Kn.extend({method:xe("notifications/message"),params:eq}),rq=me({name:$().optional()}),nq=me({hints:gt(rq).optional(),costPriority:Et().min(0).max(1).optional(),speedPriority:Et().min(0).max(1).optional(),intelligencePriority:Et().min(0).max(1).optional()}),iq=me({mode:kn(["auto","required","none"]).optional()}),oq=me({type:xe("tool_result"),toolUseId:$().describe("The unique identifier for the corresponding tool call."),content:gt(cy).default([]),structuredContent:me({}).loose().optional(),isError:Nr().optional(),_meta:Kt($(),lr()).optional()}),aq=Jg("type",[ly,dy,uy]),hf=Jg("type",[ly,dy,uy,LD,oq]),sq=me({role:Ld,content:tr([hf,gt(hf)]),_meta:Kt($(),lr()).optional()}),lq=jd.extend({messages:gt(sq),modelPreferences:nq.optional(),systemPrompt:$().optional(),includeContext:kn(["none","thisServer","allServers"]).optional(),temperature:Et().optional(),maxTokens:Et().int(),stopSequences:gt($()).optional(),metadata:Mr.optional(),tools:gt(fA).optional(),toolChoice:iq.optional()}),dq=Lr.extend({method:xe("sampling/createMessage"),params:lq}),Zd=Ur.extend({model:$(),stopReason:dr(kn(["endTurn","stopSequence","maxTokens"]).or($())),role:Ld,content:aq}),my=Ur.extend({model:$(),stopReason:dr(kn(["endTurn","stopSequence","maxTokens","toolUse"]).or($())),role:Ld,content:tr([hf,gt(hf)])}),uq=me({type:xe("boolean"),title:$().optional(),description:$().optional(),default:Nr().optional()}),cq=me({type:xe("string"),title:$().optional(),description:$().optional(),minLength:Et().optional(),maxLength:Et().optional(),format:kn(["email","uri","date","date-time"]).optional(),default:$().optional()}),fq=me({type:kn(["number","integer"]),title:$().optional(),description:$().optional(),minimum:Et().optional(),maximum:Et().optional(),default:Et().optional()}),mq=me({type:xe("string"),title:$().optional(),description:$().optional(),enum:gt($()),default:$().optional()}),pq=me({type:xe("string"),title:$().optional(),description:$().optional(),oneOf:gt(me({const:$(),title:$()})),default:$().optional()}),hq=me({type:xe("string"),title:$().optional(),description:$().optional(),enum:gt($()),enumNames:gt($()).optional(),default:$().optional()}),_q=tr([mq,pq]),gq=me({type:xe("array"),title:$().optional(),description:$().optional(),minItems:Et().optional(),maxItems:Et().optional(),items:me({type:xe("string"),enum:gt($())}),default:gt($()).optional()}),yq=me({type:xe("array"),title:$().optional(),description:$().optional(),minItems:Et().optional(),maxItems:Et().optional(),items:me({anyOf:gt(me({const:$(),title:$()}))}),default:gt($()).optional()}),bq=tr([gq,yq]),vq=tr([hq,_q,bq]),Sq=tr([vq,uq,cq,fq]),wq=jd.extend({mode:xe("form").optional(),message:$(),requestedSchema:me({type:xe("object"),properties:Kt($(),Sq),required:gt($()).optional()})}),kq=jd.extend({mode:xe("url"),message:$(),elicitationId:$(),url:$().url()}),xq=tr([wq,kq]),Tq=Lr.extend({method:xe("elicitation/create"),params:xq}),Aq=Bn.extend({elicitationId:$()}),Oq=Kn.extend({method:xe("notifications/elicitation/complete"),params:Aq}),tl=Ur.extend({action:kn(["accept","decline","cancel"]),content:Yg(e=>e===null?void 0:e,Kt($(),tr([$(),Et(),Nr(),gt($())])).optional())}),Cq=me({type:xe("ref/resource"),uri:$()});var Eq=me({type:xe("ref/prompt"),name:$()}),Pq=Mn.extend({ref:tr([Eq,Cq]),argument:me({name:$(),value:$()}),context:me({arguments:Kt($(),$()).optional()}).optional()}),$f=Lr.extend({method:xe("completion/complete"),params:Pq});function mA(e){if(e.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${e.params.ref.type}`)}function pA(e){if(e.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${e.params.ref.type}`)}var Rq=Ur.extend({completion:an({values:gt($()).max(100),total:dr(Et().int()),hasMore:dr(Nr())})}),Iq=me({uri:$().startsWith("file://"),name:$().optional(),_meta:Kt($(),lr()).optional()}),$q=Lr.extend({method:xe("roots/list"),params:Mn.optional()}),py=Ur.extend({roots:gt(Iq)}),Mq=Kn.extend({method:xe("notifications/roots/list_changed"),params:Bn.optional()}),X7=tr([vf,iy,$f,fy,Pf,Ef,Xs,Qs,Cf,$D,jD,el,Rf,wf,xf,Tf,Of]),Q7=tr([bf,Sf,oy,Mq,qd]),eY=tr([yf,Zd,my,tl,py,kf,Af,Js]),tY=tr([vf,dq,Tq,$q,wf,xf,Tf,Of]),rY=tr([bf,Sf,tq,ND,RD,XD,HD,qd,Oq]),nY=tr([yf,vD,Rq,VD,DD,OD,CD,PD,If,JD,kf,Af,Js]),be=class e extends Error{constructor(t,r,n){super(`MCP error ${t}: ${r}`),this.code=t,this.data=n,this.name="McpError"}static fromError(t,r,n){if(t===Re.UrlElicitationRequired&&n){let i=n;if(i.elicitations)return new Xg(i.elicitations,r)}return new e(t,r,n)}},Xg=class extends be{constructor(t,r=`URL elicitation${t.length>1?"s":""} required`){super(Re.UrlElicitationRequired,r,{elicitations:t})}get elicitations(){return this.data?.elicitations??[]}};var Nq=z("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");Mt.init(e,t),e.def=t,e.parse=(r,n)=>s_(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>za(e,r,n),e.parseAsync=async(r,n)=>d_(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>Na(e,r,n),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>$n(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e))});var Gq=z("ZodMiniObject",(e,t)=>{nf.init(e,t),Nq.init(e,t),ht.defineLazy(e,"shape",()=>t.shape)});function hy(e,t){let r={type:"object",get shape(){return ht.assignProp(this,"shape",{...e}),this.shape},...ht.normalizeParams(t)};return new Gq(r)}function Jn(e){return!!e._zod}function Da(e){let t=Object.values(e);if(t.length===0)return hy({});let r=t.every(Jn),n=t.every(i=>!Jn(i));if(r)return hy(e);if(n)return Ph(e);throw new Error("Mixed Zod versions detected in object shape.")}function $o(e,t){return Jn(e)?za(e,t):e.safeParse(t)}async function Mf(e,t){return Jn(e)?await Na(e,t):await e.safeParseAsync(t)}function Mo(e){if(!e)return;let t;if(Jn(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function rl(e){if(e){if(typeof e=="object"){let t=e,r=e;if(!t._def&&!r._zod){let n=Object.values(e);if(n.length>0&&n.every(i=>typeof i=="object"&&i!==null&&(i._def!==void 0||i._zod!==void 0||typeof i.parse=="function")))return Da(e)}}if(Jn(e)){let r=e._zod?.def;if(r&&(r.type==="object"||r.shape!==void 0))return e}else if(e.shape!==void 0)return e}}function jf(e){if(e&&typeof e=="object"){if("message"in e&&typeof e.message=="string")return e.message;if("issues"in e&&Array.isArray(e.issues)&&e.issues.length>0){let t=e.issues[0];if(t&&typeof t=="object"&&"message"in t)return String(t.message)}try{return JSON.stringify(e)}catch{return String(e)}}return String(e)}function hA(e){return e.description}function _A(e){if(Jn(e))return e._zod?.def?.type==="optional";let t=e;return typeof e.isOptional=="function"?e.isOptional():t._def?.typeName==="ZodOptional"}function zf(e){if(Jn(e)){let o=e._zod?.def;if(o){if(o.value!==void 0)return o.value;if(Array.isArray(o.values)&&o.values.length>0)return o.values[0]}}let r=e._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=e.value;if(n!==void 0)return n}function jo(e){return e==="completed"||e==="failed"||e==="cancelled"}var yA=Symbol("Let zodToJsonSchema decide on which parser to use");var gA={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},bA=e=>typeof e=="string"?{...gA,name:e}:{...gA,...e};var vA=e=>{let t=bA(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([n,i])=>[i._def,{def:i._def,path:[...t.basePath,t.definitionPath,n],jsonSchema:void 0}]))}};function _y(e,t,r,n){n?.errorMessages&&r&&(e.errorMessage={...e.errorMessage,[t]:r})}function yt(e,t,r,n,i){e[t]=r,_y(e,t,n,i)}var Nf=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")};function ur(e){if(e.target!=="openAi")return{};let t=[...e.basePath,e.definitionPath,e.openAiAnyTypeName];return e.flags.hasReferencedOpenAiAnyType=!0,{$ref:e.$refStrategy==="relative"?Nf(t,e.currentPath):t.join("/")}}function SA(e,t){let r={type:"array"};return e.type?._def&&e.type?._def?.typeName!==Q.ZodAny&&(r.items=De(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&yt(r,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&yt(r,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(yt(r,"minItems",e.exactLength.value,e.exactLength.message,t),yt(r,"maxItems",e.exactLength.value,e.exactLength.message,t)),r}function wA(e,t){let r={type:"integer",format:"int64"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"min":t.target==="jsonSchema7"?n.inclusive?yt(r,"minimum",n.value,n.message,t):yt(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),yt(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?yt(r,"maximum",n.value,n.message,t):yt(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),yt(r,"maximum",n.value,n.message,t));break;case"multipleOf":yt(r,"multipleOf",n.value,n.message,t);break}return r}function kA(){return{type:"boolean"}}function Gf(e,t){return De(e.type._def,t)}var xA=(e,t)=>De(e.innerType._def,t);function gy(e,t,r){let n=r??t.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((i,o)=>gy(e,t,i))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return Dq(e,t)}}var Dq=(e,t)=>{let r={type:"integer",format:"unix-time"};if(t.target==="openApi3")return r;for(let n of e.checks)switch(n.kind){case"min":yt(r,"minimum",n.value,n.message,t);break;case"max":yt(r,"maximum",n.value,n.message,t);break}return r};function TA(e,t){return{...De(e.innerType._def,t),default:e.defaultValue()}}function AA(e,t){return t.effectStrategy==="input"?De(e.schema._def,t):ur(t)}function OA(e){return{type:"string",enum:Array.from(e.values)}}var qq=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function CA(e,t){let r=[De(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),De(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(o=>!!o),n=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,i=[];return r.forEach(o=>{if(qq(o))i.push(...o.allOf),o.unevaluatedProperties===void 0&&(n=void 0);else{let a=o;if("additionalProperties"in o&&o.additionalProperties===!1){let{additionalProperties:s,...l}=o;a=l}else n=void 0;i.push(a)}}),i.length?{allOf:i,...n}:void 0}function EA(e,t){let r=typeof e.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(e.value)?"array":"object"}:t.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[e.value]}:{type:r==="bigint"?"integer":r,const:e.value}}var yy,hi={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(yy===void 0&&(yy=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),yy),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function Ff(e,t){let r={type:"string"};if(e.checks)for(let n of e.checks)switch(n.kind){case"min":yt(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t);break;case"max":yt(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"email":switch(t.emailStrategy){case"format:email":_i(r,"email",n.message,t);break;case"format:idn-email":_i(r,"idn-email",n.message,t);break;case"pattern:zod":sn(r,hi.email,n.message,t);break}break;case"url":_i(r,"uri",n.message,t);break;case"uuid":_i(r,"uuid",n.message,t);break;case"regex":sn(r,n.regex,n.message,t);break;case"cuid":sn(r,hi.cuid,n.message,t);break;case"cuid2":sn(r,hi.cuid2,n.message,t);break;case"startsWith":sn(r,RegExp(`^${by(n.value,t)}`),n.message,t);break;case"endsWith":sn(r,RegExp(`${by(n.value,t)}$`),n.message,t);break;case"datetime":_i(r,"date-time",n.message,t);break;case"date":_i(r,"date",n.message,t);break;case"time":_i(r,"time",n.message,t);break;case"duration":_i(r,"duration",n.message,t);break;case"length":yt(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t),yt(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"includes":{sn(r,RegExp(by(n.value,t)),n.message,t);break}case"ip":{n.version!=="v6"&&_i(r,"ipv4",n.message,t),n.version!=="v4"&&_i(r,"ipv6",n.message,t);break}case"base64url":sn(r,hi.base64url,n.message,t);break;case"jwt":sn(r,hi.jwt,n.message,t);break;case"cidr":{n.version!=="v6"&&sn(r,hi.ipv4Cidr,n.message,t),n.version!=="v4"&&sn(r,hi.ipv6Cidr,n.message,t);break}case"emoji":sn(r,hi.emoji(),n.message,t);break;case"ulid":{sn(r,hi.ulid,n.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{_i(r,"binary",n.message,t);break}case"contentEncoding:base64":{yt(r,"contentEncoding","base64",n.message,t);break}case"pattern:zod":{sn(r,hi.base64,n.message,t);break}}break}case"nanoid":sn(r,hi.nanoid,n.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function by(e,t){return t.patternStrategy==="escape"?Uq(e):e}var Lq=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Uq(e){let t="";for(let r=0;r<e.length;r++)Lq.has(e[r])||(t+="\\"),t+=e[r];return t}function _i(e,t,r,n){e.format||e.anyOf?.some(i=>i.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&n.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.anyOf.push({format:t,...r&&n.errorMessages&&{errorMessage:{format:r}}})):yt(e,"format",t,r,n)}function sn(e,t,r,n){e.pattern||e.allOf?.some(i=>i.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&n.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.allOf.push({pattern:PA(t,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):yt(e,"pattern",PA(t,n),r,n)}function PA(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},n=r.i?e.source.toLowerCase():e.source,i="",o=!1,a=!1,s=!1;for(let l=0;l<n.length;l++){if(o){i+=n[l],o=!1;continue}if(r.i){if(a){if(n[l].match(/[a-z]/)){s?(i+=n[l],i+=`${n[l-2]}-${n[l]}`.toUpperCase(),s=!1):n[l+1]==="-"&&n[l+2]?.match(/[a-z]/)?(i+=n[l],s=!0):i+=`${n[l]}${n[l].toUpperCase()}`;continue}}else if(n[l].match(/[a-z]/)){i+=`[${n[l]}${n[l].toUpperCase()}]`;continue}}if(r.m){if(n[l]==="^"){i+=`(^|(?<=[\r
316
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let u of this.seen.entries()){let c=u[1];if(t===u[0]){a(u);continue}if(n.external){let p=n.external.registry.get(u[0])?.id;if(t!==u[0]&&p){a(u);continue}}if(this.metadataRegistry.get(u[0])?.id){a(u);continue}if(c.cycle){a(u);continue}if(c.count>1&&n.reused==="ref"){a(u);continue}}let s=(u,c)=>{let f=this.seen.get(u),p=f.def??f.schema,m={...p};if(f.ref===null)return;let h=f.ref;if(f.ref=null,h){s(h,c);let _=this.seen.get(h).schema;_.$ref&&c.target==="draft-7"?(p.allOf=p.allOf??[],p.allOf.push(_)):(Object.assign(p,_),Object.assign(p,m))}f.isParent||this.override({zodSchema:u,jsonSchema:p,path:f.path??[]})};for(let u of[...this.seen.entries()].reverse())s(u[0],{target:this.target});let l={};if(this.target==="draft-2020-12"?l.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?l.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),n.external?.uri){let u=n.external.registry.get(t)?.id;if(!u)throw new Error("Schema is missing an `id` property");l.$id=n.external.uri(u)}Object.assign(l,i.def);let d=n.external?.defs??{};for(let u of this.seen.entries()){let c=u[1];c.def&&c.defId&&(d[c.defId]=c.def)}n.external||Object.keys(d).length>0&&(this.target==="draft-2020-12"?l.$defs=d:l.definitions=d);try{return JSON.parse(JSON.stringify(l))}catch{throw new Error("Error converting schema to JSON.")}}};function Wg(e,t){if(e instanceof Pd){let n=new ff(t),i={};for(let s of e._idmap.entries()){let[l,d]=s;n.process(d)}let o={},a={registry:e,uri:t?.uri,defs:i};for(let s of e._idmap.entries()){let[l,d]=s;o[l]=n.emit(d,{...t,external:a})}if(Object.keys(i).length>0){let s=n.target==="draft-2020-12"?"$defs":"definitions";o.__shared={[s]:i}}return{schemas:o}}let r=new ff(t);return r.process(e),r.emit(e,t)}function $r(e,t){let r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);let i=e._zod.def;switch(i.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return $r(i.element,r);case"object":{for(let o in i.shape)if($r(i.shape[o],r))return!0;return!1}case"union":{for(let o of i.options)if($r(o,r))return!0;return!1}case"intersection":return $r(i.left,r)||$r(i.right,r);case"tuple":{for(let o of i.items)if($r(o,r))return!0;return!!(i.rest&&$r(i.rest,r))}case"record":return $r(i.keyType,r)||$r(i.valueType,r);case"map":return $r(i.keyType,r)||$r(i.valueType,r);case"set":return $r(i.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return $r(i.innerType,r);case"lazy":return $r(i.getter(),r);case"default":return $r(i.innerType,r);case"prefault":return $r(i.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return $r(i.in,r)||$r(i.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${i.type}`)}var $d={};Gp($d,{ZodISODate:()=>RT,ZodISODateTime:()=>PT,ZodISODuration:()=>$T,ZodISOTime:()=>IT,date:()=>Vg,datetime:()=>Zg,duration:()=>Bg,time:()=>Hg});var PT=z("ZodISODateTime",(e,t)=>{gT.init(e,t),lr.init(e,t)});function Zg(e){return xT(PT,e)}var RT=z("ZodISODate",(e,t)=>{yT.init(e,t),lr.init(e,t)});function Vg(e){return TT(RT,e)}var IT=z("ZodISOTime",(e,t)=>{bT.init(e,t),lr.init(e,t)});function Hg(e){return AT(IT,e)}var $T=z("ZodISODuration",(e,t)=>{vT.init(e,t),lr.init(e,t)});function Bg(e){return OT($T,e)}var MT=(e,t)=>{Xc.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>a_(e,r)},flatten:{value:r=>o_(e,r)},addIssue:{value:r=>e.issues.push(r)},addIssues:{value:r=>e.issues.push(...r)},isEmpty:{get(){return e.issues.length===0}}})},Z7=z("ZodError",MT),Md=z("ZodError",MT,{Parent:Error});var jT=s_(Md),zT=d_(Md),NT=c_(Md),GT=f_(Md);var _r=z("ZodType",(e,t)=>(Mt.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>$n(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.parse=(r,n)=>jT(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>NT(e,r,n),e.parseAsync=async(r,n)=>zT(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>GT(e,r,n),e.spa=e.safeParseAsync,e.refine=(r,n)=>e.check(mD(r,n)),e.superRefine=r=>e.check(pD(r)),e.overwrite=r=>e.check(Ga(r)),e.optional=()=>ur(e),e.nullable=()=>qT(e),e.nullish=()=>ur(qT(e)),e.nonoptional=r=>aD(e,r),e.array=()=>gt(e),e.or=r=>rr([e,r]),e.and=r=>pf(e,r),e.transform=r=>Jg(e,HT(r)),e.default=r=>nD(e,r),e.prefault=r=>oD(e,r),e.catch=r=>lD(e,r),e.pipe=r=>Jg(e,r),e.readonly=()=>cD(e),e.describe=r=>{let n=e.clone();return Ro.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){return Ro.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return Ro.get(e);let n=e.clone();return Ro.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),LT=z("_ZodString",(e,t)=>{Ed.init(e,t),_r.init(e,t);let r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...n)=>e.check(Ig(...n)),e.includes=(...n)=>e.check(jg(...n)),e.startsWith=(...n)=>e.check(zg(...n)),e.endsWith=(...n)=>e.check(Ng(...n)),e.min=(...n)=>e.check(Bs(...n)),e.max=(...n)=>e.check(uf(...n)),e.length=(...n)=>e.check(cf(...n)),e.nonempty=(...n)=>e.check(Bs(1,...n)),e.lowercase=n=>e.check($g(n)),e.uppercase=n=>e.check(Mg(n)),e.trim=()=>e.check(Fg()),e.normalize=(...n)=>e.check(Gg(...n)),e.toLowerCase=()=>e.check(Dg()),e.toUpperCase=()=>e.check(qg())}),TF=z("ZodString",(e,t)=>{Ed.init(e,t),LT.init(e,t),e.email=r=>e.check(og(AF,r)),e.url=r=>e.check(ug(OF,r)),e.jwt=r=>e.check(Tg(LF,r)),e.emoji=r=>e.check(cg(CF,r)),e.guid=r=>e.check(af(FT,r)),e.uuid=r=>e.check(ag(mf,r)),e.uuidv4=r=>e.check(sg(mf,r)),e.uuidv6=r=>e.check(lg(mf,r)),e.uuidv7=r=>e.check(dg(mf,r)),e.nanoid=r=>e.check(fg(EF,r)),e.guid=r=>e.check(af(FT,r)),e.cuid=r=>e.check(mg(PF,r)),e.cuid2=r=>e.check(pg(RF,r)),e.ulid=r=>e.check(hg(IF,r)),e.base64=r=>e.check(wg(FF,r)),e.base64url=r=>e.check(kg(DF,r)),e.xid=r=>e.check(_g($F,r)),e.ksuid=r=>e.check(gg(MF,r)),e.ipv4=r=>e.check(yg(jF,r)),e.ipv6=r=>e.check(bg(zF,r)),e.cidrv4=r=>e.check(vg(NF,r)),e.cidrv6=r=>e.check(Sg(GF,r)),e.e164=r=>e.check(xg(qF,r)),e.datetime=r=>e.check(Zg(r)),e.date=r=>e.check(Vg(r)),e.time=r=>e.check(Hg(r)),e.duration=r=>e.check(Bg(r))});function $(e){return ig(TF,e)}var lr=z("ZodStringFormat",(e,t)=>{Bt.init(e,t),LT.init(e,t)}),AF=z("ZodEmail",(e,t)=>{v_.init(e,t),lr.init(e,t)});var FT=z("ZodGUID",(e,t)=>{y_.init(e,t),lr.init(e,t)});var mf=z("ZodUUID",(e,t)=>{b_.init(e,t),lr.init(e,t)});var OF=z("ZodURL",(e,t)=>{S_.init(e,t),lr.init(e,t)});var CF=z("ZodEmoji",(e,t)=>{w_.init(e,t),lr.init(e,t)});var EF=z("ZodNanoID",(e,t)=>{k_.init(e,t),lr.init(e,t)});var PF=z("ZodCUID",(e,t)=>{x_.init(e,t),lr.init(e,t)});var RF=z("ZodCUID2",(e,t)=>{T_.init(e,t),lr.init(e,t)});var IF=z("ZodULID",(e,t)=>{A_.init(e,t),lr.init(e,t)});var $F=z("ZodXID",(e,t)=>{O_.init(e,t),lr.init(e,t)});var MF=z("ZodKSUID",(e,t)=>{C_.init(e,t),lr.init(e,t)});var jF=z("ZodIPv4",(e,t)=>{E_.init(e,t),lr.init(e,t)});var zF=z("ZodIPv6",(e,t)=>{P_.init(e,t),lr.init(e,t)});var NF=z("ZodCIDRv4",(e,t)=>{R_.init(e,t),lr.init(e,t)});var GF=z("ZodCIDRv6",(e,t)=>{I_.init(e,t),lr.init(e,t)});var FF=z("ZodBase64",(e,t)=>{$_.init(e,t),lr.init(e,t)});var DF=z("ZodBase64URL",(e,t)=>{M_.init(e,t),lr.init(e,t)});var qF=z("ZodE164",(e,t)=>{j_.init(e,t),lr.init(e,t)});var LF=z("ZodJWT",(e,t)=>{z_.init(e,t),lr.init(e,t)});var UT=z("ZodNumber",(e,t)=>{rf.init(e,t),_r.init(e,t),e.gt=(n,i)=>e.check(lf(n,i)),e.gte=(n,i)=>e.check(Id(n,i)),e.min=(n,i)=>e.check(Id(n,i)),e.lt=(n,i)=>e.check(sf(n,i)),e.lte=(n,i)=>e.check(Rd(n,i)),e.max=(n,i)=>e.check(Rd(n,i)),e.int=n=>e.check(DT(n)),e.safe=n=>e.check(DT(n)),e.positive=n=>e.check(lf(0,n)),e.nonnegative=n=>e.check(Id(0,n)),e.negative=n=>e.check(sf(0,n)),e.nonpositive=n=>e.check(Rd(0,n)),e.multipleOf=(n,i)=>e.check(df(n,i)),e.step=(n,i)=>e.check(df(n,i)),e.finite=()=>e;let r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function Et(e){return Ag(UT,e)}var UF=z("ZodNumberFormat",(e,t)=>{N_.init(e,t),UT.init(e,t)});function DT(e){return Og(UF,e)}var WF=z("ZodBoolean",(e,t)=>{G_.init(e,t),_r.init(e,t)});function Nr(e){return Cg(WF,e)}var ZF=z("ZodNull",(e,t)=>{F_.init(e,t),_r.init(e,t)});function WT(e){return Eg(ZF,e)}var VF=z("ZodUnknown",(e,t)=>{D_.init(e,t),_r.init(e,t)});function dr(){return Pg(VF)}var HF=z("ZodNever",(e,t)=>{q_.init(e,t),_r.init(e,t)});function BF(e){return Rg(HF,e)}var KF=z("ZodArray",(e,t)=>{L_.init(e,t),_r.init(e,t),e.element=t.element,e.min=(r,n)=>e.check(Bs(r,n)),e.nonempty=r=>e.check(Bs(1,r)),e.max=(r,n)=>e.check(uf(r,n)),e.length=(r,n)=>e.check(cf(r,n)),e.unwrap=()=>e.element});function gt(e,t){return CT(KF,e,t)}var ZT=z("ZodObject",(e,t)=>{nf.init(e,t),_r.init(e,t),ht.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>kn(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:dr()}),e.loose=()=>e.clone({...e._zod.def,catchall:dr()}),e.strict=()=>e.clone({...e._zod.def,catchall:BF()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>ht.extend(e,r),e.merge=r=>ht.merge(e,r),e.pick=r=>ht.pick(e,r),e.omit=r=>ht.omit(e,r),e.partial=(...r)=>ht.partial(BT,e,r[0]),e.required=(...r)=>ht.required(KT,e,r[0])});function me(e,t){let r={type:"object",get shape(){return ht.assignProp(this,"shape",{...e}),this.shape},...ht.normalizeParams(t)};return new ZT(r)}function an(e,t){return new ZT({type:"object",get shape(){return ht.assignProp(this,"shape",{...e}),this.shape},catchall:dr(),...ht.normalizeParams(t)})}var VT=z("ZodUnion",(e,t)=>{of.init(e,t),_r.init(e,t),e.options=t.options});function rr(e,t){return new VT({type:"union",options:e,...ht.normalizeParams(t)})}var JF=z("ZodDiscriminatedUnion",(e,t)=>{VT.init(e,t),U_.init(e,t)});function Yg(e,t,r){return new JF({type:"union",options:t,discriminator:e,...ht.normalizeParams(r)})}var YF=z("ZodIntersection",(e,t)=>{W_.init(e,t),_r.init(e,t)});function pf(e,t){return new YF({type:"intersection",left:e,right:t})}var XF=z("ZodRecord",(e,t)=>{Z_.init(e,t),_r.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function Kt(e,t,r){return new XF({type:"record",keyType:e,valueType:t,...ht.normalizeParams(r)})}var Kg=z("ZodEnum",(e,t)=>{V_.init(e,t),_r.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let r=new Set(Object.keys(t.entries));e.extract=(n,i)=>{let o={};for(let a of n)if(r.has(a))o[a]=t.entries[a];else throw new Error(`Key ${a} not found in enum`);return new Kg({...t,checks:[],...ht.normalizeParams(i),entries:o})},e.exclude=(n,i)=>{let o={...t.entries};for(let a of n)if(r.has(a))delete o[a];else throw new Error(`Key ${a} not found in enum`);return new Kg({...t,checks:[],...ht.normalizeParams(i),entries:o})}});function kn(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Kg({type:"enum",entries:r,...ht.normalizeParams(t)})}var QF=z("ZodLiteral",(e,t)=>{H_.init(e,t),_r.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function xe(e,t){return new QF({type:"literal",values:Array.isArray(e)?e:[e],...ht.normalizeParams(t)})}var eD=z("ZodTransform",(e,t)=>{B_.init(e,t),_r.init(e,t),e._zod.parse=(r,n)=>{r.addIssue=o=>{if(typeof o=="string")r.issues.push(ht.issue(o,r.value,t));else{let a=o;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=e),a.continue??(a.continue=!0),r.issues.push(ht.issue(a))}};let i=t.transform(r.value,r);return i instanceof Promise?i.then(o=>(r.value=o,r)):(r.value=i,r)}});function HT(e){return new eD({type:"transform",transform:e})}var BT=z("ZodOptional",(e,t)=>{K_.init(e,t),_r.init(e,t),e.unwrap=()=>e._zod.def.innerType});function ur(e){return new BT({type:"optional",innerType:e})}var tD=z("ZodNullable",(e,t)=>{J_.init(e,t),_r.init(e,t),e.unwrap=()=>e._zod.def.innerType});function qT(e){return new tD({type:"nullable",innerType:e})}var rD=z("ZodDefault",(e,t)=>{Y_.init(e,t),_r.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function nD(e,t){return new rD({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var iD=z("ZodPrefault",(e,t)=>{X_.init(e,t),_r.init(e,t),e.unwrap=()=>e._zod.def.innerType});function oD(e,t){return new iD({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var KT=z("ZodNonOptional",(e,t)=>{Q_.init(e,t),_r.init(e,t),e.unwrap=()=>e._zod.def.innerType});function aD(e,t){return new KT({type:"nonoptional",innerType:e,...ht.normalizeParams(t)})}var sD=z("ZodCatch",(e,t)=>{eg.init(e,t),_r.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function lD(e,t){return new sD({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var dD=z("ZodPipe",(e,t)=>{tg.init(e,t),_r.init(e,t),e.in=t.in,e.out=t.out});function Jg(e,t){return new dD({type:"pipe",in:e,out:t})}var uD=z("ZodReadonly",(e,t)=>{rg.init(e,t),_r.init(e,t)});function cD(e){return new uD({type:"readonly",innerType:e})}var JT=z("ZodCustom",(e,t)=>{ng.init(e,t),_r.init(e,t)});function fD(e){let t=new qr({check:"custom"});return t._zod.check=e,t}function YT(e,t){return Lg(JT,e??(()=>!0),t)}function mD(e,t={}){return Ug(JT,e,t)}function pD(e){let t=fD(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(ht.issue(n,r.value,t._zod.def));else{let i=n;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=t),i.continue??(i.continue=!t._zod.def.abort),r.issues.push(ht.issue(i))}},e(r.value,r)));return t}function Xg(e,t){return Jg(HT(e),t)}In(wT());var ey="2025-11-25";var XT=[ey,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Io="io.modelcontextprotocol/related-task",_f="2.0",Mr=YT(e=>e!==null&&(typeof e=="object"||typeof e=="function")),QT=rr([$(),Et().int()]),eA=$(),oY=an({ttl:Et().optional(),pollInterval:Et().optional()}),hD=me({ttl:Et().optional()}),_D=me({taskId:$()}),ty=an({progressToken:QT.optional(),[Io]:_D.optional()}),Mn=me({_meta:ty.optional()}),jd=Mn.extend({task:hD.optional()}),tA=e=>jd.safeParse(e).success,Lr=me({method:$(),params:Mn.loose().optional()}),Bn=me({_meta:ty.optional()}),Kn=me({method:$(),params:Bn.loose().optional()}),Ur=an({_meta:ty.optional()}),gf=rr([$(),Et().int()]),rA=me({jsonrpc:xe(_f),id:gf,...Lr.shape}).strict(),ry=e=>rA.safeParse(e).success,nA=me({jsonrpc:xe(_f),...Kn.shape}).strict(),iA=e=>nA.safeParse(e).success,ny=me({jsonrpc:xe(_f),id:gf,result:Ur}).strict(),zd=e=>ny.safeParse(e).success;var Re;(function(e){e[e.ConnectionClosed=-32e3]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(Re||(Re={}));var iy=me({jsonrpc:xe(_f),id:gf.optional(),error:me({code:Et().int(),message:$(),data:dr().optional()})}).strict();var oA=e=>iy.safeParse(e).success;var aA=rr([rA,nA,ny,iy]),aY=rr([ny,iy]),yf=Ur.strict(),gD=Bn.extend({requestId:gf.optional(),reason:$().optional()}),bf=Kn.extend({method:xe("notifications/cancelled"),params:gD}),yD=me({src:$(),mimeType:$().optional(),sizes:gt($()).optional(),theme:kn(["light","dark"]).optional()}),Nd=me({icons:gt(yD).optional()}),Ks=me({name:$(),title:$().optional()}),sA=Ks.extend({...Ks.shape,...Nd.shape,version:$(),websiteUrl:$().optional(),description:$().optional()}),bD=pf(me({applyDefaults:Nr().optional()}),Kt($(),dr())),vD=Xg(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,pf(me({form:bD.optional(),url:Mr.optional()}),Kt($(),dr()).optional())),SD=an({list:Mr.optional(),cancel:Mr.optional(),requests:an({sampling:an({createMessage:Mr.optional()}).optional(),elicitation:an({create:Mr.optional()}).optional()}).optional()}),wD=an({list:Mr.optional(),cancel:Mr.optional(),requests:an({tools:an({call:Mr.optional()}).optional()}).optional()}),kD=me({experimental:Kt($(),Mr).optional(),sampling:me({context:Mr.optional(),tools:Mr.optional()}).optional(),elicitation:vD.optional(),roots:me({listChanged:Nr().optional()}).optional(),tasks:SD.optional(),extensions:Kt($(),Mr).optional()}),xD=Mn.extend({protocolVersion:$(),capabilities:kD,clientInfo:sA}),oy=Lr.extend({method:xe("initialize"),params:xD});var TD=me({experimental:Kt($(),Mr).optional(),logging:Mr.optional(),completions:Mr.optional(),prompts:me({listChanged:Nr().optional()}).optional(),resources:me({subscribe:Nr().optional(),listChanged:Nr().optional()}).optional(),tools:me({listChanged:Nr().optional()}).optional(),tasks:wD.optional(),extensions:Kt($(),Mr).optional()}),AD=Ur.extend({protocolVersion:$(),capabilities:TD,serverInfo:sA,instructions:$().optional()}),ay=Kn.extend({method:xe("notifications/initialized"),params:Bn.optional()});var vf=Lr.extend({method:xe("ping"),params:Mn.optional()}),OD=me({progress:Et(),total:ur(Et()),message:ur($())}),CD=me({...Bn.shape,...OD.shape,progressToken:QT}),Sf=Kn.extend({method:xe("notifications/progress"),params:CD}),ED=Mn.extend({cursor:eA.optional()}),Gd=Lr.extend({params:ED.optional()}),Fd=Ur.extend({nextCursor:eA.optional()}),PD=kn(["working","input_required","completed","failed","cancelled"]),Dd=me({taskId:$(),status:PD,ttl:rr([Et(),WT()]),createdAt:$(),lastUpdatedAt:$(),pollInterval:ur(Et()),statusMessage:ur($())}),Js=Ur.extend({task:Dd}),RD=Bn.merge(Dd),qd=Kn.extend({method:xe("notifications/tasks/status"),params:RD}),wf=Lr.extend({method:xe("tasks/get"),params:Mn.extend({taskId:$()})}),kf=Ur.merge(Dd),xf=Lr.extend({method:xe("tasks/result"),params:Mn.extend({taskId:$()})}),sY=Ur.loose(),Tf=Gd.extend({method:xe("tasks/list")}),Af=Fd.extend({tasks:gt(Dd)}),Of=Lr.extend({method:xe("tasks/cancel"),params:Mn.extend({taskId:$()})}),lA=Ur.merge(Dd),dA=me({uri:$(),mimeType:ur($()),_meta:Kt($(),dr()).optional()}),uA=dA.extend({text:$()}),sy=$().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),cA=dA.extend({blob:sy}),Ld=kn(["user","assistant"]),Ys=me({audience:gt(Ld).optional(),priority:Et().min(0).max(1).optional(),lastModified:$d.datetime({offset:!0}).optional()}),fA=me({...Ks.shape,...Nd.shape,uri:$(),description:ur($()),mimeType:ur($()),size:ur(Et()),annotations:Ys.optional(),_meta:ur(an({}))}),ID=me({...Ks.shape,...Nd.shape,uriTemplate:$(),description:ur($()),mimeType:ur($()),annotations:Ys.optional(),_meta:ur(an({}))}),Xs=Gd.extend({method:xe("resources/list")}),$D=Fd.extend({resources:gt(fA)}),Qs=Gd.extend({method:xe("resources/templates/list")}),MD=Fd.extend({resourceTemplates:gt(ID)}),ly=Mn.extend({uri:$()}),jD=ly,Cf=Lr.extend({method:xe("resources/read"),params:jD}),zD=Ur.extend({contents:gt(rr([uA,cA]))}),ND=Kn.extend({method:xe("notifications/resources/list_changed"),params:Bn.optional()}),GD=ly,FD=Lr.extend({method:xe("resources/subscribe"),params:GD}),DD=ly,qD=Lr.extend({method:xe("resources/unsubscribe"),params:DD}),LD=Bn.extend({uri:$()}),UD=Kn.extend({method:xe("notifications/resources/updated"),params:LD}),WD=me({name:$(),description:ur($()),required:ur(Nr())}),ZD=me({...Ks.shape,...Nd.shape,description:ur($()),arguments:ur(gt(WD)),_meta:ur(an({}))}),Ef=Gd.extend({method:xe("prompts/list")}),VD=Fd.extend({prompts:gt(ZD)}),HD=Mn.extend({name:$(),arguments:Kt($(),$()).optional()}),Pf=Lr.extend({method:xe("prompts/get"),params:HD}),dy=me({type:xe("text"),text:$(),annotations:Ys.optional(),_meta:Kt($(),dr()).optional()}),uy=me({type:xe("image"),data:sy,mimeType:$(),annotations:Ys.optional(),_meta:Kt($(),dr()).optional()}),cy=me({type:xe("audio"),data:sy,mimeType:$(),annotations:Ys.optional(),_meta:Kt($(),dr()).optional()}),BD=me({type:xe("tool_use"),name:$(),id:$(),input:Kt($(),dr()),_meta:Kt($(),dr()).optional()}),KD=me({type:xe("resource"),resource:rr([uA,cA]),annotations:Ys.optional(),_meta:Kt($(),dr()).optional()}),JD=fA.extend({type:xe("resource_link")}),fy=rr([dy,uy,cy,JD,KD]),YD=me({role:Ld,content:fy}),XD=Ur.extend({description:$().optional(),messages:gt(YD)}),QD=Kn.extend({method:xe("notifications/prompts/list_changed"),params:Bn.optional()}),eq=me({title:$().optional(),readOnlyHint:Nr().optional(),destructiveHint:Nr().optional(),idempotentHint:Nr().optional(),openWorldHint:Nr().optional()}),tq=me({taskSupport:kn(["required","optional","forbidden"]).optional()}),mA=me({...Ks.shape,...Nd.shape,description:$().optional(),inputSchema:me({type:xe("object"),properties:Kt($(),Mr).optional(),required:gt($()).optional()}).catchall(dr()),outputSchema:me({type:xe("object"),properties:Kt($(),Mr).optional(),required:gt($()).optional()}).catchall(dr()).optional(),annotations:eq.optional(),execution:tq.optional(),_meta:Kt($(),dr()).optional()}),Rf=Gd.extend({method:xe("tools/list")}),rq=Fd.extend({tools:gt(mA)}),If=Ur.extend({content:gt(fy).default([]),structuredContent:Kt($(),dr()).optional(),isError:Nr().optional()}),lY=If.or(Ur.extend({toolResult:dr()})),nq=jd.extend({name:$(),arguments:Kt($(),dr()).optional()}),el=Lr.extend({method:xe("tools/call"),params:nq}),iq=Kn.extend({method:xe("notifications/tools/list_changed"),params:Bn.optional()}),dY=me({autoRefresh:Nr().default(!0),debounceMs:Et().int().nonnegative().default(300)}),Ud=kn(["debug","info","notice","warning","error","critical","alert","emergency"]),oq=Mn.extend({level:Ud}),my=Lr.extend({method:xe("logging/setLevel"),params:oq}),aq=Bn.extend({level:Ud,logger:$().optional(),data:dr()}),sq=Kn.extend({method:xe("notifications/message"),params:aq}),lq=me({name:$().optional()}),dq=me({hints:gt(lq).optional(),costPriority:Et().min(0).max(1).optional(),speedPriority:Et().min(0).max(1).optional(),intelligencePriority:Et().min(0).max(1).optional()}),uq=me({mode:kn(["auto","required","none"]).optional()}),cq=me({type:xe("tool_result"),toolUseId:$().describe("The unique identifier for the corresponding tool call."),content:gt(fy).default([]),structuredContent:me({}).loose().optional(),isError:Nr().optional(),_meta:Kt($(),dr()).optional()}),fq=Yg("type",[dy,uy,cy]),hf=Yg("type",[dy,uy,cy,BD,cq]),mq=me({role:Ld,content:rr([hf,gt(hf)]),_meta:Kt($(),dr()).optional()}),pq=jd.extend({messages:gt(mq),modelPreferences:dq.optional(),systemPrompt:$().optional(),includeContext:kn(["none","thisServer","allServers"]).optional(),temperature:Et().optional(),maxTokens:Et().int(),stopSequences:gt($()).optional(),metadata:Mr.optional(),tools:gt(mA).optional(),toolChoice:uq.optional()}),hq=Lr.extend({method:xe("sampling/createMessage"),params:pq}),Wd=Ur.extend({model:$(),stopReason:ur(kn(["endTurn","stopSequence","maxTokens"]).or($())),role:Ld,content:fq}),py=Ur.extend({model:$(),stopReason:ur(kn(["endTurn","stopSequence","maxTokens","toolUse"]).or($())),role:Ld,content:rr([hf,gt(hf)])}),_q=me({type:xe("boolean"),title:$().optional(),description:$().optional(),default:Nr().optional()}),gq=me({type:xe("string"),title:$().optional(),description:$().optional(),minLength:Et().optional(),maxLength:Et().optional(),format:kn(["email","uri","date","date-time"]).optional(),default:$().optional()}),yq=me({type:kn(["number","integer"]),title:$().optional(),description:$().optional(),minimum:Et().optional(),maximum:Et().optional(),default:Et().optional()}),bq=me({type:xe("string"),title:$().optional(),description:$().optional(),enum:gt($()),default:$().optional()}),vq=me({type:xe("string"),title:$().optional(),description:$().optional(),oneOf:gt(me({const:$(),title:$()})),default:$().optional()}),Sq=me({type:xe("string"),title:$().optional(),description:$().optional(),enum:gt($()),enumNames:gt($()).optional(),default:$().optional()}),wq=rr([bq,vq]),kq=me({type:xe("array"),title:$().optional(),description:$().optional(),minItems:Et().optional(),maxItems:Et().optional(),items:me({type:xe("string"),enum:gt($())}),default:gt($()).optional()}),xq=me({type:xe("array"),title:$().optional(),description:$().optional(),minItems:Et().optional(),maxItems:Et().optional(),items:me({anyOf:gt(me({const:$(),title:$()}))}),default:gt($()).optional()}),Tq=rr([kq,xq]),Aq=rr([Sq,wq,Tq]),Oq=rr([Aq,_q,gq,yq]),Cq=jd.extend({mode:xe("form").optional(),message:$(),requestedSchema:me({type:xe("object"),properties:Kt($(),Oq),required:gt($()).optional()})}),Eq=jd.extend({mode:xe("url"),message:$(),elicitationId:$(),url:$().url()}),Pq=rr([Cq,Eq]),Rq=Lr.extend({method:xe("elicitation/create"),params:Pq}),Iq=Bn.extend({elicitationId:$()}),$q=Kn.extend({method:xe("notifications/elicitation/complete"),params:Iq}),tl=Ur.extend({action:kn(["accept","decline","cancel"]),content:Xg(e=>e===null?void 0:e,Kt($(),rr([$(),Et(),Nr(),gt($())])).optional())}),Mq=me({type:xe("ref/resource"),uri:$()});var jq=me({type:xe("ref/prompt"),name:$()}),zq=Mn.extend({ref:rr([jq,Mq]),argument:me({name:$(),value:$()}),context:me({arguments:Kt($(),$()).optional()}).optional()}),$f=Lr.extend({method:xe("completion/complete"),params:zq});function pA(e){if(e.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${e.params.ref.type}`)}function hA(e){if(e.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${e.params.ref.type}`)}var Nq=Ur.extend({completion:an({values:gt($()).max(100),total:ur(Et().int()),hasMore:ur(Nr())})}),Gq=me({uri:$().startsWith("file://"),name:$().optional(),_meta:Kt($(),dr()).optional()}),Fq=Lr.extend({method:xe("roots/list"),params:Mn.optional()}),hy=Ur.extend({roots:gt(Gq)}),Dq=Kn.extend({method:xe("notifications/roots/list_changed"),params:Bn.optional()}),uY=rr([vf,oy,$f,my,Pf,Ef,Xs,Qs,Cf,FD,qD,el,Rf,wf,xf,Tf,Of]),cY=rr([bf,Sf,ay,Dq,qd]),fY=rr([yf,Wd,py,tl,hy,kf,Af,Js]),mY=rr([vf,hq,Rq,Fq,wf,xf,Tf,Of]),pY=rr([bf,Sf,sq,UD,ND,iq,QD,qd,$q]),hY=rr([yf,AD,Nq,XD,VD,$D,MD,zD,If,rq,kf,Af,Js]),be=class e extends Error{constructor(t,r,n){super(`MCP error ${t}: ${r}`),this.code=t,this.data=n,this.name="McpError"}static fromError(t,r,n){if(t===Re.UrlElicitationRequired&&n){let i=n;if(i.elicitations)return new Qg(i.elicitations,r)}return new e(t,r,n)}},Qg=class extends be{constructor(t,r=`URL elicitation${t.length>1?"s":""} required`){super(Re.UrlElicitationRequired,r,{elicitations:t})}get elicitations(){return this.data?.elicitations??[]}};var Uq=z("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");Mt.init(e,t),e.def=t,e.parse=(r,n)=>l_(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>za(e,r,n),e.parseAsync=async(r,n)=>u_(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>Na(e,r,n),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>$n(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e))});var Wq=z("ZodMiniObject",(e,t)=>{nf.init(e,t),Uq.init(e,t),ht.defineLazy(e,"shape",()=>t.shape)});function _y(e,t){let r={type:"object",get shape(){return ht.assignProp(this,"shape",{...e}),this.shape},...ht.normalizeParams(t)};return new Wq(r)}function Jn(e){return!!e._zod}function Da(e){let t=Object.values(e);if(t.length===0)return _y({});let r=t.every(Jn),n=t.every(i=>!Jn(i));if(r)return _y(e);if(n)return Rh(e);throw new Error("Mixed Zod versions detected in object shape.")}function $o(e,t){return Jn(e)?za(e,t):e.safeParse(t)}async function Mf(e,t){return Jn(e)?await Na(e,t):await e.safeParseAsync(t)}function Mo(e){if(!e)return;let t;if(Jn(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function rl(e){if(e){if(typeof e=="object"){let t=e,r=e;if(!t._def&&!r._zod){let n=Object.values(e);if(n.length>0&&n.every(i=>typeof i=="object"&&i!==null&&(i._def!==void 0||i._zod!==void 0||typeof i.parse=="function")))return Da(e)}}if(Jn(e)){let r=e._zod?.def;if(r&&(r.type==="object"||r.shape!==void 0))return e}else if(e.shape!==void 0)return e}}function jf(e){if(e&&typeof e=="object"){if("message"in e&&typeof e.message=="string")return e.message;if("issues"in e&&Array.isArray(e.issues)&&e.issues.length>0){let t=e.issues[0];if(t&&typeof t=="object"&&"message"in t)return String(t.message)}try{return JSON.stringify(e)}catch{return String(e)}}return String(e)}function _A(e){return e.description}function gA(e){if(Jn(e))return e._zod?.def?.type==="optional";let t=e;return typeof e.isOptional=="function"?e.isOptional():t._def?.typeName==="ZodOptional"}function zf(e){if(Jn(e)){let o=e._zod?.def;if(o){if(o.value!==void 0)return o.value;if(Array.isArray(o.values)&&o.values.length>0)return o.values[0]}}let r=e._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=e.value;if(n!==void 0)return n}function jo(e){return e==="completed"||e==="failed"||e==="cancelled"}var bA=Symbol("Let zodToJsonSchema decide on which parser to use");var yA={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},vA=e=>typeof e=="string"?{...yA,name:e}:{...yA,...e};var SA=e=>{let t=vA(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([n,i])=>[i._def,{def:i._def,path:[...t.basePath,t.definitionPath,n],jsonSchema:void 0}]))}};function gy(e,t,r,n){n?.errorMessages&&r&&(e.errorMessage={...e.errorMessage,[t]:r})}function yt(e,t,r,n,i){e[t]=r,gy(e,t,n,i)}var Nf=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")};function cr(e){if(e.target!=="openAi")return{};let t=[...e.basePath,e.definitionPath,e.openAiAnyTypeName];return e.flags.hasReferencedOpenAiAnyType=!0,{$ref:e.$refStrategy==="relative"?Nf(t,e.currentPath):t.join("/")}}function wA(e,t){let r={type:"array"};return e.type?._def&&e.type?._def?.typeName!==Q.ZodAny&&(r.items=De(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&yt(r,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&yt(r,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(yt(r,"minItems",e.exactLength.value,e.exactLength.message,t),yt(r,"maxItems",e.exactLength.value,e.exactLength.message,t)),r}function kA(e,t){let r={type:"integer",format:"int64"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"min":t.target==="jsonSchema7"?n.inclusive?yt(r,"minimum",n.value,n.message,t):yt(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),yt(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?yt(r,"maximum",n.value,n.message,t):yt(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),yt(r,"maximum",n.value,n.message,t));break;case"multipleOf":yt(r,"multipleOf",n.value,n.message,t);break}return r}function xA(){return{type:"boolean"}}function Gf(e,t){return De(e.type._def,t)}var TA=(e,t)=>De(e.innerType._def,t);function yy(e,t,r){let n=r??t.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((i,o)=>yy(e,t,i))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return Vq(e,t)}}var Vq=(e,t)=>{let r={type:"integer",format:"unix-time"};if(t.target==="openApi3")return r;for(let n of e.checks)switch(n.kind){case"min":yt(r,"minimum",n.value,n.message,t);break;case"max":yt(r,"maximum",n.value,n.message,t);break}return r};function AA(e,t){return{...De(e.innerType._def,t),default:e.defaultValue()}}function OA(e,t){return t.effectStrategy==="input"?De(e.schema._def,t):cr(t)}function CA(e){return{type:"string",enum:Array.from(e.values)}}var Hq=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function EA(e,t){let r=[De(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),De(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(o=>!!o),n=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,i=[];return r.forEach(o=>{if(Hq(o))i.push(...o.allOf),o.unevaluatedProperties===void 0&&(n=void 0);else{let a=o;if("additionalProperties"in o&&o.additionalProperties===!1){let{additionalProperties:s,...l}=o;a=l}else n=void 0;i.push(a)}}),i.length?{allOf:i,...n}:void 0}function PA(e,t){let r=typeof e.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(e.value)?"array":"object"}:t.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[e.value]}:{type:r==="bigint"?"integer":r,const:e.value}}var by,hi={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(by===void 0&&(by=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),by),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function Ff(e,t){let r={type:"string"};if(e.checks)for(let n of e.checks)switch(n.kind){case"min":yt(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t);break;case"max":yt(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"email":switch(t.emailStrategy){case"format:email":_i(r,"email",n.message,t);break;case"format:idn-email":_i(r,"idn-email",n.message,t);break;case"pattern:zod":sn(r,hi.email,n.message,t);break}break;case"url":_i(r,"uri",n.message,t);break;case"uuid":_i(r,"uuid",n.message,t);break;case"regex":sn(r,n.regex,n.message,t);break;case"cuid":sn(r,hi.cuid,n.message,t);break;case"cuid2":sn(r,hi.cuid2,n.message,t);break;case"startsWith":sn(r,RegExp(`^${vy(n.value,t)}`),n.message,t);break;case"endsWith":sn(r,RegExp(`${vy(n.value,t)}$`),n.message,t);break;case"datetime":_i(r,"date-time",n.message,t);break;case"date":_i(r,"date",n.message,t);break;case"time":_i(r,"time",n.message,t);break;case"duration":_i(r,"duration",n.message,t);break;case"length":yt(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t),yt(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"includes":{sn(r,RegExp(vy(n.value,t)),n.message,t);break}case"ip":{n.version!=="v6"&&_i(r,"ipv4",n.message,t),n.version!=="v4"&&_i(r,"ipv6",n.message,t);break}case"base64url":sn(r,hi.base64url,n.message,t);break;case"jwt":sn(r,hi.jwt,n.message,t);break;case"cidr":{n.version!=="v6"&&sn(r,hi.ipv4Cidr,n.message,t),n.version!=="v4"&&sn(r,hi.ipv6Cidr,n.message,t);break}case"emoji":sn(r,hi.emoji(),n.message,t);break;case"ulid":{sn(r,hi.ulid,n.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{_i(r,"binary",n.message,t);break}case"contentEncoding:base64":{yt(r,"contentEncoding","base64",n.message,t);break}case"pattern:zod":{sn(r,hi.base64,n.message,t);break}}break}case"nanoid":sn(r,hi.nanoid,n.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function vy(e,t){return t.patternStrategy==="escape"?Kq(e):e}var Bq=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Kq(e){let t="";for(let r=0;r<e.length;r++)Bq.has(e[r])||(t+="\\"),t+=e[r];return t}function _i(e,t,r,n){e.format||e.anyOf?.some(i=>i.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&n.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.anyOf.push({format:t,...r&&n.errorMessages&&{errorMessage:{format:r}}})):yt(e,"format",t,r,n)}function sn(e,t,r,n){e.pattern||e.allOf?.some(i=>i.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&n.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.allOf.push({pattern:RA(t,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):yt(e,"pattern",RA(t,n),r,n)}function RA(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},n=r.i?e.source.toLowerCase():e.source,i="",o=!1,a=!1,s=!1;for(let l=0;l<n.length;l++){if(o){i+=n[l],o=!1;continue}if(r.i){if(a){if(n[l].match(/[a-z]/)){s?(i+=n[l],i+=`${n[l-2]}-${n[l]}`.toUpperCase(),s=!1):n[l+1]==="-"&&n[l+2]?.match(/[a-z]/)?(i+=n[l],s=!0):i+=`${n[l]}${n[l].toUpperCase()}`;continue}}else if(n[l].match(/[a-z]/)){i+=`[${n[l]}${n[l].toUpperCase()}]`;continue}}if(r.m){if(n[l]==="^"){i+=`(^|(?<=[\r
317
317
  ]))`;continue}else if(n[l]==="$"){i+=`($|(?=[\r
318
318
  ]))`;continue}}if(r.s&&n[l]==="."){i+=a?`${n[l]}\r
319
319
  `:`[${n[l]}\r
320
- ]`;continue}i+=n[l],n[l]==="\\"?o=!0:a&&n[l]==="]"?a=!1:!a&&n[l]==="["&&(a=!0)}try{new RegExp(i)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return i}function Df(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===Q.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,i)=>({...n,[i]:De(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",i]})??ur(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let r={type:"object",additionalProperties:De(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return r;if(e.keyType?._def.typeName===Q.ZodString&&e.keyType._def.checks?.length){let{type:n,...i}=Ff(e.keyType._def,t);return{...r,propertyNames:i}}else{if(e.keyType?._def.typeName===Q.ZodEnum)return{...r,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===Q.ZodBranded&&e.keyType._def.type._def.typeName===Q.ZodString&&e.keyType._def.type._def.checks?.length){let{type:n,...i}=Gf(e.keyType._def,t);return{...r,propertyNames:i}}}return r}function RA(e,t){if(t.mapStrategy==="record")return Df(e,t);let r=De(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||ur(t),n=De(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||ur(t);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function IA(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 $A(e){return e.target==="openAi"?void 0:{not:ur({...e,currentPath:[...e.currentPath,"not"]})}}function MA(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Wd={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function zA(e,t){if(t.target==="openApi3")return jA(e,t);let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in Wd&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((i,o)=>{let a=Wd[o._def.typeName];return a&&!i.includes(a)?[...i,a]:i},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((i,o)=>{let a=typeof o._def.value;switch(a){case"string":case"number":case"boolean":return[...i,a];case"bigint":return[...i,"integer"];case"object":if(o._def.value===null)return[...i,"null"];default:return i}},[]);if(n.length===r.length){let i=n.filter((o,a,s)=>s.indexOf(o)===a);return{type:i.length>1?i:i[0],enum:r.reduce((o,a)=>o.includes(a._def.value)?o:[...o,a._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,i)=>[...n,...i._def.values.filter(o=>!n.includes(o))],[])};return jA(e,t)}var jA=(e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,i)=>De(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 NA(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:Wd[e.innerType._def.typeName],nullable:!0}:{type:[Wd[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let n=De(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=De(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function GA(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",_y(r,"type",n.message,t);break;case"min":t.target==="jsonSchema7"?n.inclusive?yt(r,"minimum",n.value,n.message,t):yt(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),yt(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?yt(r,"maximum",n.value,n.message,t):yt(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),yt(r,"maximum",n.value,n.message,t));break;case"multipleOf":yt(r,"multipleOf",n.value,n.message,t);break}return r}function FA(e,t){let r=t.target==="openAi",n={type:"object",properties:{}},i=[],o=e.shape();for(let s in o){let l=o[s];if(l===void 0||l._def===void 0)continue;let d=Wq(l);d&&r&&(l._def.typeName==="ZodOptional"&&(l=l._def.innerType),l.isNullable()||(l=l.nullable()),d=!1);let u=De(l._def,{...t,currentPath:[...t.currentPath,"properties",s],propertyPath:[...t.currentPath,"properties",s]});u!==void 0&&(n.properties[s]=u,d||i.push(s))}i.length&&(n.required=i);let a=Zq(e,t);return a!==void 0&&(n.additionalProperties=a),n}function Zq(e,t){if(e.catchall._def.typeName!=="ZodNever")return De(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 Wq(e){try{return e.isOptional()}catch{return!0}}var DA=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return De(e.innerType._def,t);let r=De(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:ur(t)},r]}:ur(t)};var qA=(e,t)=>{if(t.pipeStrategy==="input")return De(e.in._def,t);if(t.pipeStrategy==="output")return De(e.out._def,t);let r=De(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=De(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(i=>i!==void 0)}};function LA(e,t){return De(e.type._def,t)}function UA(e,t){let n={type:"array",uniqueItems:!0,items:De(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&yt(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&yt(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function ZA(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>De(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:De(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>De(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function WA(e){return{not:ur(e)}}function VA(e){return ur(e)}var HA=(e,t)=>De(e.innerType._def,t);var BA=(e,t,r)=>{switch(t){case Q.ZodString:return Ff(e,r);case Q.ZodNumber:return GA(e,r);case Q.ZodObject:return FA(e,r);case Q.ZodBigInt:return wA(e,r);case Q.ZodBoolean:return kA();case Q.ZodDate:return gy(e,r);case Q.ZodUndefined:return WA(r);case Q.ZodNull:return MA(r);case Q.ZodArray:return SA(e,r);case Q.ZodUnion:case Q.ZodDiscriminatedUnion:return zA(e,r);case Q.ZodIntersection:return CA(e,r);case Q.ZodTuple:return ZA(e,r);case Q.ZodRecord:return Df(e,r);case Q.ZodLiteral:return EA(e,r);case Q.ZodEnum:return OA(e);case Q.ZodNativeEnum:return IA(e);case Q.ZodNullable:return NA(e,r);case Q.ZodOptional:return DA(e,r);case Q.ZodMap:return RA(e,r);case Q.ZodSet:return UA(e,r);case Q.ZodLazy:return()=>e.getter()._def;case Q.ZodPromise:return LA(e,r);case Q.ZodNaN:case Q.ZodNever:return $A(r);case Q.ZodEffects:return AA(e,r);case Q.ZodAny:return ur(r);case Q.ZodUnknown:return VA(r);case Q.ZodDefault:return TA(e,r);case Q.ZodBranded:return Gf(e,r);case Q.ZodReadonly:return HA(e,r);case Q.ZodCatch:return xA(e,r);case Q.ZodPipeline:return qA(e,r);case Q.ZodFunction:case Q.ZodVoid:case Q.ZodSymbol:return;default:return(n=>{})(t)}};function De(e,t,r=!1){let n=t.seen.get(e);if(t.override){let s=t.override?.(e,t,n,r);if(s!==yA)return s}if(n&&!r){let s=Vq(n,t);if(s!==void 0)return s}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let o=BA(e,e.typeName,t),a=typeof o=="function"?De(o(),t):o;if(a&&Hq(e,t,a),t.postProcess){let s=t.postProcess(a,e,t);return i.jsonSchema=a,s}return i.jsonSchema=a,a}var Vq=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:Nf(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`),ur(t)):t.$refStrategy==="seen"?ur(t):void 0}},Hq=(e,t,r)=>(e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r);var vy=(e,t)=>{let r=vA(t),n=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((l,[d,u])=>({...l,[d]:De(u._def,{...r,currentPath:[...r.basePath,r.definitionPath,d]},!0)??ur(r)}),{}):void 0,i=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,o=De(e._def,i===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,i]},!1)??ur(r),a=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;a!==void 0&&(o.title=a),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let s=i===void 0?n?{...o,[r.definitionPath]:n}:o:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,i].join("/"),[r.definitionPath]:{...n,[i]:o}};return r.target==="jsonSchema7"?s.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(s.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in s||"oneOf"in s||"allOf"in s||"type"in s&&Array.isArray(s.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),s};function Bq(e){return!e||e==="jsonSchema7"||e==="draft-7"?"draft-7":e==="jsonSchema2019-09"||e==="draft-2020-12"?"draft-2020-12":"draft-7"}function Sy(e,t){return Jn(e)?Ug(e,{target:Bq(t?.target),io:t?.pipeStrategy??"input"}):vy(e,{strictUnions:t?.strictUnions??!0,pipeStrategy:t?.pipeStrategy??"input"})}function wy(e){let r=Mo(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=zf(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function ky(e,t){let r=$o(e,t);if(!r.success)throw r.error;return r.data}var Kq=6e4,qf=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(bf,r=>{this._oncancel(r)}),this.setNotificationHandler(Sf,r=>{this._onprogress(r)}),this.setRequestHandler(vf,r=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(wf,async(r,n)=>{let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new be(Re.InvalidParams,"Failed to retrieve task: Task not found");return{...i}}),this.setRequestHandler(xf,async(r,n)=>{let i=async()=>{let o=r.params.taskId;if(this._taskMessageQueue){let s;for(;s=await this._taskMessageQueue.dequeue(o,n.sessionId);){if(s.type==="response"||s.type==="error"){let l=s.message,d=l.id,u=this._requestResolvers.get(d);if(u)if(this._requestResolvers.delete(d),s.type==="response")u(l);else{let c=l,f=new be(c.error.code,c.error.message,c.error.data);u(f)}else{let c=s.type==="response"?"Response":"Error";this._onerror(new Error(`${c} handler missing for request ${d}`))}continue}await this._transport?.send(s.message,{relatedRequestId:n.requestId})}}let a=await this._taskStore.getTask(o,n.sessionId);if(!a)throw new be(Re.InvalidParams,`Task not found: ${o}`);if(!jo(a.status))return await this._waitForTaskUpdate(o,n.signal),await i();if(jo(a.status)){let s=await this._taskStore.getTaskResult(o,n.sessionId);return this._clearTaskQueue(o),{...s,_meta:{...s._meta,[Io]:{taskId:o}}}}return await i()};return await i()}),this.setRequestHandler(Tf,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 be(Re.InvalidParams,`Failed to list tasks: ${i instanceof Error?i.message:String(i)}`)}}),this.setRequestHandler(Of,async(r,n)=>{try{let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new be(Re.InvalidParams,`Task not found: ${r.params.taskId}`);if(jo(i.status))throw new be(Re.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 be(Re.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...o}}catch(i){throw i instanceof be?i:new be(Re.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),be.fromError(Re.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(t){let r=this._timeoutInfo.get(t);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(t))}async connect(t){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=t;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=o=>{n?.(o),this._onerror(o)};let i=this._transport?.onmessage;this._transport.onmessage=(o,a)=>{i?.(o,a),zd(o)||iA(o)?this._onresponse(o):ty(o)?this._onrequest(o,a):nA(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=be.fromError(Re.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?.[Io]?.taskId;if(n===void 0){let u={jsonrpc:"2.0",id:t.id,error:{code:Re.MethodNotFound,message:"Method not found"}};o&&this._taskMessageQueue?this._enqueueTaskMessage(o,{type:"error",message:u,timestamp:Date.now()},i?.sessionId).catch(c=>this._onerror(new Error(`Failed to enqueue error response: ${c}`))):i?.send(u).catch(c=>this._onerror(new Error(`Failed to send an error response: ${c}`)));return}let a=new AbortController;this._requestHandlerAbortControllers.set(t.id,a);let s=eA(t.params)?t.params.task:void 0,l=this._taskStore?this.requestTaskStore(t,i?.sessionId):void 0,d={signal:a.signal,sessionId:i?.sessionId,_meta:t.params?._meta,sendNotification:async u=>{if(a.signal.aborted)return;let c={relatedRequestId:t.id};o&&(c.relatedTask={taskId:o}),await this.notification(u,c)},sendRequest:async(u,c,f)=>{if(a.signal.aborted)throw new be(Re.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:s?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{s&&this.assertTaskHandlerCapability(t.method)}).then(()=>n(t,d)).then(async u=>{if(a.signal.aborted)return;let c={result:u,jsonrpc:"2.0",id:t.id};o&&this._taskMessageQueue?await this._enqueueTaskMessage(o,{type:"response",message:c,timestamp:Date.now()},i?.sessionId):await i?.send(c)},async u=>{if(a.signal.aborted)return;let c={jsonrpc:"2.0",id:t.id,error:{code:Number.isSafeInteger(u.code)?u.code:Re.InternalError,message:u.message??"Internal error",...u.data!==void 0&&{data:u.data}}};o&&this._taskMessageQueue?await this._enqueueTaskMessage(o,{type:"error",message:c,timestamp:Date.now()},i?.sessionId):await i?.send(c)}).catch(u=>this._onerror(new Error(`Failed to send response: ${u}`))).finally(()=>{this._requestHandlerAbortControllers.get(t.id)===a&&this._requestHandlerAbortControllers.delete(t.id)})}_onprogress(t){let{progressToken:r,...n}=t.params,i=Number(r),o=this._progressHandlers.get(i);if(!o){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(t)}`));return}let a=this._responseHandlers.get(i),s=this._timeoutInfo.get(i);if(s&&a&&s.resetTimeoutOnProgress)try{this._resetTimeout(i)}catch(l){this._responseHandlers.delete(i),this._progressHandlers.delete(i),this._cleanupTimeout(i),a(l);return}o(n)}_onresponse(t){let r=Number(t.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),zd(t))n(t);else{let a=new be(t.error.code,t.error.message,t.error.data);n(a)}return}let i=this._responseHandlers.get(r);if(i===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(t)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let o=!1;if(zd(t)&&t.result&&typeof t.result=="object"){let a=t.result;if(a.task&&typeof a.task=="object"){let s=a.task;typeof s.taskId=="string"&&(o=!0,this._taskProgressTokens.set(s.taskId,r))}}if(o||this._progressHandlers.delete(r),zd(t))i(t);else{let a=be.fromError(t.error.code,t.error.message,t.error.data);i(a)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(t,r,n){let{task:i}=n??{};if(!i){try{yield{type:"result",result:await this.request(t,r,n)}}catch(a){yield{type:"error",error:a instanceof be?a:new be(Re.InternalError,String(a))}}return}let o;try{let a=await this.request(t,Js,n);if(a.task)o=a.task.taskId,yield{type:"taskCreated",task:a.task};else throw new be(Re.InternalError,"Task creation did not return a task");for(;;){let s=await this.getTask({taskId:o},n);if(yield{type:"taskStatus",task:s},jo(s.status)){s.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:o},r,n)}:s.status==="failed"?yield{type:"error",error:new be(Re.InternalError,`Task ${o} failed`)}:s.status==="cancelled"&&(yield{type:"error",error:new be(Re.InternalError,`Task ${o} was cancelled`)});return}if(s.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:o},r,n)};return}let l=s.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(d=>setTimeout(d,l)),n?.signal?.throwIfAborted()}}catch(a){yield{type:"error",error:a instanceof be?a:new be(Re.InternalError,String(a))}}}request(t,r,n){let{relatedRequestId:i,resumptionToken:o,onresumptiontoken:a,task:s,relatedTask:l}=n??{};return new Promise((d,u)=>{let c=b=>{u(b)};if(!this._transport){c(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(t.method),s&&this.assertTaskCapability(t.method)}catch(b){c(b);return}n?.signal?.throwIfAborted();let f=this._requestMessageId++,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}}),s&&(p.params={...p.params,task:s}),l&&(p.params={...p.params,_meta:{...p.params?._meta||{},[Io]:l}});let m=b=>{this._responseHandlers.delete(f),this._progressHandlers.delete(f),this._cleanupTimeout(f),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:f,reason:String(b)}},{relatedRequestId:i,resumptionToken:o,onresumptiontoken:a}).catch(v=>this._onerror(new Error(`Failed to send cancellation: ${v}`)));let y=b instanceof be?b:new be(Re.RequestTimeout,String(b));u(y)};this._responseHandlers.set(f,b=>{if(!n?.signal?.aborted){if(b instanceof Error)return u(b);try{let y=$o(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??Kq,_=()=>m(be.fromError(Re.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:a}).catch(b=>{this._cleanupTimeout(f),u(b)})})}async getTask(t,r){return this.request({method:"tasks/get",params:t},kf,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},Af,r)}async cancelTask(t,r){return this.request({method:"tasks/cancel",params:t},sA,r)}async notification(t,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(t.method);let n=r?.relatedTask?.taskId;if(n){let s={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[Io]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:s,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(t.method),!this._transport)return;let s={...t,jsonrpc:"2.0"};r?.relatedTask&&(s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[Io]:r.relatedTask}}}),this._transport?.send(s,r).catch(l=>this._onerror(l))});return}let a={...t,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[Io]:r.relatedTask}}}),await this._transport.send(a,r)}setRequestHandler(t,r){let n=wy(t);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(i,o)=>{let a=ky(t,i);return Promise.resolve(r(a,o))})}removeRequestHandler(t){this._requestHandlers.delete(t)}assertCanSetRequestHandler(t){if(this._requestHandlers.has(t))throw new Error(`A request handler for ${t} already exists, which would be overridden`)}setNotificationHandler(t,r){let n=wy(t);this._notificationHandlers.set(n,i=>{let o=ky(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"&&ty(i.message)){let o=i.message.id,a=this._requestResolvers.get(o);a?(a(new be(Re.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 be(Re.InvalidRequest,"Request cancelled"));return}let a=setTimeout(i,n);r.addEventListener("abort",()=>{clearTimeout(a),o(new be(Re.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 be(Re.InvalidParams,"Failed to retrieve task: Task not found");return o},storeTaskResult:async(i,o,a)=>{await n.storeTaskResult(i,o,a,r);let s=await n.getTask(i,r);if(s){let l=qd.parse({method:"notifications/tasks/status",params:s});await this.notification(l),jo(s.status)&&this._cleanupTaskProgressHandler(i)}},getTaskResult:i=>n.getTaskResult(i,r),updateTaskStatus:async(i,o,a)=>{let s=await n.getTask(i,r);if(!s)throw new be(Re.InvalidParams,`Task "${i}" not found - it may have been cleaned up`);if(jo(s.status))throw new be(Re.InvalidParams,`Cannot update task "${i}" from terminal status "${s.status}" to "${o}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(i,o,a,r);let l=await n.getTask(i,r);if(l){let d=qd.parse({method:"notifications/tasks/status",params:l});await this.notification(d),jo(l.status)&&this._cleanupTaskProgressHandler(i)}},listTasks:i=>n.listTasks(i,r)}}};function KA(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function JA(e,t){let r={...e};for(let n in t){let i=n,o=t[i];if(o===void 0)continue;let a=r[i];KA(a)&&KA(o)?r[i]={...a,...o}:r[i]=o}return r}var zE=xw(lv(),1),NE=xw(jE(),1);function FV(){let e=new zE.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,NE.default)(e),e}var xm=class{constructor(t){this._ajv=t??FV()}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 Tm=class{constructor(t){this._server=t}requestStream(t,r,n){return this._server.requestStream(t,r,n)}createMessageStream(t,r){let n=this._server.getClientCapabilities();if((t.tools||t.toolChoice)&&!n?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(t.messages.length>0){let i=t.messages[t.messages.length-1],o=Array.isArray(i.content)?i.content:[i.content],a=o.some(u=>u.type==="tool_result"),s=t.messages.length>1?t.messages[t.messages.length-2]:void 0,l=s?Array.isArray(s.content)?s.content:[s.content]:[],d=l.some(u=>u.type==="tool_use");if(a){if(o.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!d)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(d){let u=new Set(l.filter(f=>f.type==="tool_use").map(f=>f.id)),c=new Set(o.filter(f=>f.type==="tool_result").map(f=>f.toolUseId));if(u.size!==c.size||![...u].every(f=>c.has(f)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:t},Zd,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},tl,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 GE(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 FE(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 Am=class extends qf{constructor(t,r){super(r),this._serverInfo=t,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Ud.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 xm,this.setRequestHandler(iy,n=>this._oninitialize(n)),this.setNotificationHandler(oy,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(fy,async(n,i)=>{let o=i.sessionId||i.requestInfo?.headers["mcp-session-id"]||void 0,{level:a}=n.params,s=Ud.safeParse(a);return s.success&&this._loggingLevels.set(o,s.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new Tm(this)}),this._experimental}registerCapabilities(t){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=JA(this._capabilities,t)}setRequestHandler(t,r){let i=Mo(t)?.method;if(!i)throw new Error("Schema is missing a method literal");let o;if(Jn(i)){let s=i;o=s._zod?.def?.value??s.value}else{let s=i;o=s._def?.value??s.value}if(typeof o!="string")throw new Error("Schema method literal must be a string");if(o==="tools/call"){let s=async(l,d)=>{let u=$o(el,l);if(!u.success){let m=u.error instanceof Error?u.error.message:String(u.error);throw new be(Re.InvalidParams,`Invalid tools/call request: ${m}`)}let{params:c}=u.data,f=await Promise.resolve(r(l,d));if(c.task){let m=$o(Js,f);if(!m.success){let h=m.error instanceof Error?m.error.message:String(m.error);throw new be(Re.InvalidParams,`Invalid task creation result: ${h}`)}return m.data}let p=$o(If,f);if(!p.success){let m=p.error instanceof Error?p.error.message:String(p.error);throw new be(Re.InvalidParams,`Invalid tools/call result: ${m}`)}return p.data};return super.setRequestHandler(t,s)}return super.setRequestHandler(t,r)}assertCapabilityForMethod(t){switch(t){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${t})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${t})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${t})`);break;case"ping":break}}assertNotificationCapability(t){switch(t){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${t})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${t})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${t})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${t})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(t){if(this._capabilities)switch(t){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${t})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${t})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${t})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${t})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${t})`);break;case"ping":case"initialize":break}}assertTaskCapability(t){FE(this._clientCapabilities?.tasks?.requests,t,"Client")}assertTaskHandlerCapability(t){this._capabilities&&GE(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:YT.includes(r)?r:Qg,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"},yf)}async createMessage(t,r){if((t.tools||t.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(t.messages.length>0){let n=t.messages[t.messages.length-1],i=Array.isArray(n.content)?n.content:[n.content],o=i.some(d=>d.type==="tool_result"),a=t.messages.length>1?t.messages[t.messages.length-2]:void 0,s=a?Array.isArray(a.content)?a.content:[a.content]:[],l=s.some(d=>d.type==="tool_use");if(o){if(i.some(d=>d.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!l)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(l){let d=new Set(s.filter(c=>c.type==="tool_use").map(c=>c.id)),u=new Set(i.filter(c=>c.type==="tool_result").map(c=>c.toolUseId));if(d.size!==u.size||![...d].every(c=>u.has(c)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return t.tools?this.request({method:"sampling/createMessage",params:t},my,r):this.request({method:"sampling/createMessage",params:t},Zd,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},tl,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},tl,r);if(o.action==="accept"&&o.content&&i.requestedSchema)try{let s=this._jsonSchemaValidator.getValidator(i.requestedSchema)(o.content);if(!s.valid)throw new be(Re.InvalidParams,`Elicitation response content does not match requested schema: ${s.errorMessage}`)}catch(a){throw a instanceof be?a:new be(Re.InternalError,`Error validating elicitation response: ${a instanceof Error?a.message:String(a)}`)}return o}}}createElicitationCompletionNotifier(t,r){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:t}},r)}async listRoots(t,r){return this.request({method:"roots/list",params:t},py,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 qE=Symbol.for("mcp.completable");function _v(e){return!!e&&typeof e=="object"&&qE in e}function LE(e){return e[qE]?.complete}var DE;(function(e){e.Completable="McpCompletable"})(DE||(DE={}));var DV=/^[A-Za-z0-9._-]{1,128}$/;function qV(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"),!DV.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 LV(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 gv(e){let t=qV(e);return LV(e,t.warnings),t.isValid}var Om=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 Cm=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 Am(t,r)}get experimental(){return this._experimental||(this._experimental={tasks:new Om(this)}),this._experimental}async connect(t){return await this.server.connect(t)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(Zo(Rf)),this.server.assertCanSetRequestHandler(Zo(el)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(Rf,()=>({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=rl(r.inputSchema);return i?Sy(i,{strictUnions:!0,pipeStrategy:"input"}):UV})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let i=rl(r.outputSchema);i&&(n.outputSchema=Sy(i,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(el,async(t,r)=>{try{let n=this._registeredTools[t.params.name];if(!n)throw new be(Re.InvalidParams,`Tool ${t.params.name} not found`);if(!n.enabled)throw new be(Re.InvalidParams,`Tool ${t.params.name} disabled`);let i=!!t.params.task,o=n.execution?.taskSupport,a="createTask"in n.handler;if((o==="required"||o==="optional")&&!a)throw new be(Re.InternalError,`Tool ${t.params.name} has taskSupport '${o}' but was not registered with registerToolTask`);if(o==="required"&&!i)throw new be(Re.MethodNotFound,`Tool ${t.params.name} requires task augmentation (taskSupport: 'required')`);if(o==="optional"&&!i&&a)return await this.handleAutomaticTaskPolling(n,t,r);let s=await this.validateToolInput(n,t.params.arguments,t.params.name),l=await this.executeToolHandler(n,s,r);return i||await this.validateToolOutput(n,l,t.params.name),l}catch(n){if(n instanceof be&&n.code===Re.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=rl(t.inputSchema)??t.inputSchema,a=await Mf(o,r);if(!a.success){let s="error"in a?a.error:"Unknown error",l=jf(s);throw new be(Re.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${l}`)}return a.data}async validateToolOutput(t,r,n){if(!t.outputSchema||!("content"in r)||r.isError)return;if(!r.structuredContent)throw new be(Re.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let i=rl(t.outputSchema),o=await Mf(i,r.structuredContent);if(!o.success){let a="error"in o?o.error:"Unknown error",s=jf(a);throw new be(Re.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${s}`)}}async executeToolHandler(t,r,n){let i=t.handler;if("createTask"in i){if(!n.taskStore)throw new Error("No task store provided.");let a={...n,taskStore:n.taskStore};if(t.inputSchema){let s=i;return await Promise.resolve(s.createTask(r,a))}else{let s=i;return await Promise.resolve(s.createTask(a))}}if(t.inputSchema){let a=i;return await Promise.resolve(a(r,n))}else{let a=i;return await Promise.resolve(a(n))}}async handleAutomaticTaskPolling(t,r,n){if(!n.taskStore)throw new Error("No task store provided for task-capable tool.");let i=await this.validateToolInput(t,r.params.arguments,r.params.name),o=t.handler,a={...n,taskStore:n.taskStore},s=i?await Promise.resolve(o.createTask(i,a)):await Promise.resolve(o.createTask(a)),l=s.task.taskId,d=s.task,u=d.pollInterval??5e3;for(;d.status!=="completed"&&d.status!=="failed"&&d.status!=="cancelled";){await new Promise(f=>setTimeout(f,u));let c=await n.taskStore.getTask(l);if(!c)throw new be(Re.InternalError,`Task ${l} not found during polling`);d=c}return await n.taskStore.getTaskResult(l)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(Zo($f)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler($f,async t=>{switch(t.params.ref.type){case"ref/prompt":return mA(t),this.handlePromptCompletion(t,t.params.ref);case"ref/resource":return pA(t),this.handleResourceCompletion(t,t.params.ref);default:throw new be(Re.InvalidParams,`Invalid completion reference: ${t.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(t,r){let n=this._registeredPrompts[r.name];if(!n)throw new be(Re.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new be(Re.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return Su;let o=Mo(n.argsSchema)?.[t.params.argument.name];if(!_v(o))return Su;let a=LE(o);if(!a)return Su;let s=await a(t.params.argument.value,t.params.context);return ZE(s)}async handleResourceCompletion(t,r){let n=Object.values(this._registeredResourceTemplates).find(a=>a.resourceTemplate.uriTemplate.toString()===r.uri);if(!n){if(this._registeredResources[r.uri])return Su;throw new be(Re.InvalidParams,`Resource template ${t.params.ref.uri} not found`)}let i=n.resourceTemplate.completeCallback(t.params.argument.name);if(!i)return Su;let o=await i(t.params.argument.value,t.params.context);return ZE(o)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(Zo(Xs)),this.server.assertCanSetRequestHandler(Zo(Qs)),this.server.assertCanSetRequestHandler(Zo(Cf)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(Xs,async(t,r)=>{let n=Object.entries(this._registeredResources).filter(([o,a])=>a.enabled).map(([o,a])=>({uri:o,name:a.name,...a.metadata})),i=[];for(let o of Object.values(this._registeredResourceTemplates)){if(!o.resourceTemplate.listCallback)continue;let a=await o.resourceTemplate.listCallback(r);for(let s of a.resources)i.push({...o.metadata,...s})}return{resources:[...n,...i]}}),this.server.setRequestHandler(Qs,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(Cf,async(t,r)=>{let n=new URL(t.params.uri),i=this._registeredResources[n.toString()];if(i){if(!i.enabled)throw new be(Re.InvalidParams,`Resource ${n} disabled`);return i.readCallback(n,r)}for(let o of Object.values(this._registeredResourceTemplates)){let a=o.resourceTemplate.uriTemplate.match(n.toString());if(a)return o.readCallback(n,a,r)}throw new be(Re.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(Zo(Ef)),this.server.assertCanSetRequestHandler(Zo(Pf)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(Ef,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,t])=>t.enabled).map(([t,r])=>({name:t,title:r.title,description:r.description,arguments:r.argsSchema?ZV(r.argsSchema):void 0}))})),this.server.setRequestHandler(Pf,async(t,r)=>{let n=this._registeredPrompts[t.params.name];if(!n)throw new be(Re.InvalidParams,`Prompt ${t.params.name} not found`);if(!n.enabled)throw new be(Re.InvalidParams,`Prompt ${t.params.name} disabled`);if(n.argsSchema){let i=rl(n.argsSchema),o=await Mf(i,t.params.arguments);if(!o.success){let l="error"in o?o.error:"Unknown error",d=jf(l);throw new be(Re.InvalidParams,`Invalid arguments for prompt ${t.params.name}: ${d}`)}let a=o.data,s=n.callback;return await Promise.resolve(s(a,r))}else{let i=n.callback;return await Promise.resolve(i(r))}}),this._promptHandlersInitialized=!0)}resource(t,r,...n){let i;typeof n[0]=="object"&&(i=n.shift());let o=n[0];if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let a=this._createRegisteredResource(t,void 0,r,i,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),a}else{if(this._registeredResourceTemplates[t])throw new Error(`Resource template ${t} is already registered`);let a=this._createRegisteredResourceTemplate(t,void 0,r,i,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),a}}registerResource(t,r,n,i){if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let o=this._createRegisteredResource(t,n.title,r,n,i);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),o}else{if(this._registeredResourceTemplates[t])throw new Error(`Resource template ${t} is already registered`);let o=this._createRegisteredResourceTemplate(t,n.title,r,n,i);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),o}}_createRegisteredResource(t,r,n,i,o){let a={name:t,title:r,metadata:i,readCallback:o,enabled:!0,disable:()=>a.update({enabled:!1}),enable:()=>a.update({enabled:!0}),remove:()=>a.update({uri:null}),update:s=>{typeof s.uri<"u"&&s.uri!==n&&(delete this._registeredResources[n],s.uri&&(this._registeredResources[s.uri]=a)),typeof s.name<"u"&&(a.name=s.name),typeof s.title<"u"&&(a.title=s.title),typeof s.metadata<"u"&&(a.metadata=s.metadata),typeof s.callback<"u"&&(a.readCallback=s.callback),typeof s.enabled<"u"&&(a.enabled=s.enabled),this.sendResourceListChanged()}};return this._registeredResources[n]=a,a}_createRegisteredResourceTemplate(t,r,n,i,o){let a={resourceTemplate:n,title:r,metadata:i,readCallback:o,enabled:!0,disable:()=>a.update({enabled:!1}),enable:()=>a.update({enabled:!0}),remove:()=>a.update({name:null}),update:d=>{typeof d.name<"u"&&d.name!==t&&(delete this._registeredResourceTemplates[t],d.name&&(this._registeredResourceTemplates[d.name]=a)),typeof d.title<"u"&&(a.title=d.title),typeof d.template<"u"&&(a.resourceTemplate=d.template),typeof d.metadata<"u"&&(a.metadata=d.metadata),typeof d.callback<"u"&&(a.readCallback=d.callback),typeof d.enabled<"u"&&(a.enabled=d.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[t]=a;let s=n.uriTemplate.variableNames;return Array.isArray(s)&&s.some(d=>!!n.completeCallback(d))&&this.setCompletionRequestHandler(),a}_createRegisteredPrompt(t,r,n,i,o){let a={title:r,description:n,argsSchema:i===void 0?void 0:Da(i),callback:o,enabled:!0,disable:()=>a.update({enabled:!1}),enable:()=>a.update({enabled:!0}),remove:()=>a.update({name:null}),update:s=>{typeof s.name<"u"&&s.name!==t&&(delete this._registeredPrompts[t],s.name&&(this._registeredPrompts[s.name]=a)),typeof s.title<"u"&&(a.title=s.title),typeof s.description<"u"&&(a.description=s.description),typeof s.argsSchema<"u"&&(a.argsSchema=Da(s.argsSchema)),typeof s.callback<"u"&&(a.callback=s.callback),typeof s.enabled<"u"&&(a.enabled=s.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[t]=a,i&&Object.values(i).some(l=>{let d=l instanceof yn?l._def?.innerType:l;return _v(d)})&&this.setCompletionRequestHandler(),a}_createRegisteredTool(t,r,n,i,o,a,s,l,d){gv(t);let u={title:r,description:n,inputSchema:UE(i),outputSchema:UE(o),annotations:a,execution:s,_meta:l,handler:d,enabled:!0,disable:()=>u.update({enabled:!1}),enable:()=>u.update({enabled:!0}),remove:()=>u.update({name:null}),update:c=>{typeof c.name<"u"&&c.name!==t&&(typeof c.name=="string"&&gv(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=Da(c.paramsSchema)),typeof c.outputSchema<"u"&&(u.outputSchema=Da(c.outputSchema)),typeof c.callback<"u"&&(u.handler=c.callback),typeof c.annotations<"u"&&(u.annotations=c.annotations),typeof c._meta<"u"&&(u._meta=c._meta),typeof c.enabled<"u"&&(u.enabled=c.enabled),this.sendToolListChanged()}};return this._registeredTools[t]=u,this.setToolRequestHandlers(),this.sendToolListChanged(),u}tool(t,...r){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let n,i,o,a;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let l=r[0];if(yv(l))i=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!yv(r[0])&&(a=r.shift());else if(typeof l=="object"&&l!==null){if(Object.values(l).some(d=>typeof d=="object"&&d!==null))throw new Error(`Tool ${t} expected a Zod schema or ToolAnnotations, but received an unrecognized object`);a=r.shift()}}let s=r[0];return this._createRegisteredTool(t,void 0,n,i,o,a,{taskSupport:"forbidden"},void 0,s)}registerTool(t,r,n){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let{title:i,description:o,inputSchema:a,outputSchema:s,annotations:l,_meta:d}=r;return this._createRegisteredTool(t,i,o,a,s,l,{taskSupport:"forbidden"},d,n)}prompt(t,...r){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let i;r.length>1&&(i=r.shift());let o=r[0],a=this._createRegisteredPrompt(t,void 0,n,i,o);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}registerPrompt(t,r,n){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let{title:i,description:o,argsSchema:a}=r,s=this._createRegisteredPrompt(t,i,o,a,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),s}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(t,r){return this.server.sendLoggingMessage(t,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}};var UV={type:"object",properties:{}};function WE(e){return e!==null&&typeof e=="object"&&"parse"in e&&typeof e.parse=="function"&&"safeParse"in e&&typeof e.safeParse=="function"}function VE(e){return"_def"in e||"_zod"in e||WE(e)}function yv(e){return typeof e!="object"||e===null||VE(e)?!1:Object.keys(e).length===0?!0:Object.values(e).some(WE)}function UE(e){if(e){if(yv(e))return Da(e);if(!VE(e))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return e}}function ZV(e){let t=Mo(e);return t?Object.entries(t).map(([r,n])=>{let i=hA(n),o=_A(n);return{name:r,description:i,required:!o}}):[]}function Zo(e){let r=Mo(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=zf(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function ZE(e){return{completion:{values:e.slice(0,100),total:e.length,hasMore:e.length>100}}}var Su={completion:{values:[],hasMore:!1}};import BE from"node:process";var Em=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
- `);if(t===-1)return null;let r=this._buffer.toString("utf8",0,t).replace(/\r$/,"");return this._buffer=this._buffer.subarray(t+1),VV(r)}clear(){this._buffer=void 0}};function VV(e){return oA.parse(JSON.parse(e))}function HE(e){return JSON.stringify(e)+`
322
- `}var Pm=class{constructor(t=BE.stdin,r=BE.stdout){this._stdin=t,this._stdout=r,this._readBuffer=new Em,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=HE(t);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};function BV(e){let t={};t.listChanged=!1;let r={};r.resources=t,e.server.registerCapabilities(r),e.server.setRequestHandler(Xs,()=>{let n={};return n.resources=[],n}),e.server.setRequestHandler(Qs,()=>{let n={};return n.resourceTemplates=[],n})}function KV(e){return{registerTool:(t,r,n,i)=>{e.tool(t,r,n,i)}}}async function bv(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=W0(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 _k(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 vv(e,t){let r=Sr(e,"token");return{serviceUrl:t,explicitToken:r!==void 0?r:process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:Sr(e,"auth-file"),delegationAuthFilePath:Sr(e,"delegation-auth-file"),workspaceSlug:Sr(e,"workspace"),channelSlug:Sr(e,"channel")}}async function JV(e){let t=ac(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0;if(sc(r,"help"))return aa(uc()),{TAG:"Ok",_0:void 0};let n=lc(r,"api-url");if(n.TAG!=="Ok")return{TAG:"Error",_0:n._0};let i=n._0,o=await bv(vv(r,i));if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let a=o._0,s=dc(Sr(r,"mode")),l=Lp(Sr(r,"tool-scope"));if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0};let d=s._0;if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0};let u=Sr(r,"owner-username"),c=u!==void 0?u:process.env.LINZUMI_MCP_OWNER_USERNAME,f=Sr(r,"cwd"),p=f!==void 0?f:process.cwd(),m=Sr(r,"thread-id"),h=m!==void 0?m:process.env[Ik],_=Hh({serviceUrl:i,accessToken:a.accessToken,authMode:a.mode,operatingMode:d});if(_.TAG!=="Ok")return{TAG:"Error",_0:_._0};let g=new Cm({name:"linzumi",version:"0.1.0"});return BV(g),sx(KV(g),{client:_._0,toolScope:l._0,operatingMode:d,cwd:p,serviceUrl:i,defaultThreadId:h,ownerUsername:c,agentSession:sc(r,"agent-session"),devServices:ex(process.env)}),await g.connect(new Pm),{TAG:"Ok",_0:void 0}}async function YV(e){let t=ac(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0,n=lc(r,"api-url");if(n.TAG!=="Ok")return{TAG:"Error",_0:n._0};let i=n._0,o=Sr(r,"format"),a=o!==void 0?o:"codex",s=dc(Sr(r,"mode"));if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0};let l;if(sc(r,"include-token")){let f=await bv(vv(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=Lp(Sr(r,"tool-scope"));if(d.TAG!=="Ok")return{TAG:"Error",_0:d._0};let u=Sr(r,"owner-username"),c=Ws({command:Sr(r,"command"),serviceUrl:i,accessToken:l._0,delegationAuthFilePath:Sr(r,"delegation-auth-file"),ownerUsername:u!==void 0?u:process.env.LINZUMI_MCP_OWNER_USERNAME,operatingMode:s._0,toolScope:d._0});switch(a){case"claude-code":return aa(cx(c)),{TAG:"Ok",_0:void 0};case"codex":return aa(fx(c)),{TAG:"Ok",_0:void 0};default:return{TAG:"Error",_0:"--format must be codex or claude-code"}}}async function XV(e){let t=ac(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0,n=lc(r,"api-url");if(n.TAG!=="Ok")return{TAG:"Error",_0:n._0};let i=n._0,o=await bv(vv(r,i));if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let a=o._0,s=a.mode,l;if(s==="LocalRunner"){let d=await Ms(i,a.accessToken,Sr(r,"workspace"),Sr(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=dc(Sr(r,"mode"));if(d.TAG==="Ok"){let u=Hh({serviceUrl:i,accessToken:a.accessToken,authMode:a.mode,operatingMode:d._0});if(u.TAG==="Ok")try{await u._0.validateAuth(),l={TAG:"Ok",_0:void 0}}catch(c){let f=ee(c);l={TAG:"Error",_0:gs(f)}}else l={TAG:"Error",_0:u._0}}else l={TAG:"Error",_0:d._0}}return l.TAG!=="Ok"?{TAG:"Error",_0:l._0}:(aa(`Linzumi MCP auth OK
323
- `),{TAG:"Ok",_0:void 0})}async function KE(e){let t=e.slice(1),r=e[0];if(r!==void 0)switch(r){case"--help":case"-h":return aa(uc()),{TAG:"Ok",_0:void 0};case"config":return await YV(t);case"doctor":return await XV(t);case"server":return await JV(t);default:return{TAG:"Error",_0:"unknown linzumi mcp command: "+r}}else return aa(uc()),{TAG:"Ok",_0:void 0}}import*as XE from"node:fs";import*as QE from"node:url";import*as un from"node:path";import*as eP from"node:module";var e4=[["linux","x64",{triple:"x86_64-unknown-linux-musl",packageName:"@openai/codex-linux-x64"}],["linux","arm64",{triple:"aarch64-unknown-linux-musl",packageName:"@openai/codex-linux-arm64"}],["android","x64",{triple:"x86_64-unknown-linux-musl",packageName:"@openai/codex-linux-x64"}],["android","arm64",{triple:"aarch64-unknown-linux-musl",packageName:"@openai/codex-linux-arm64"}],["darwin","x64",{triple:"x86_64-apple-darwin",packageName:"@openai/codex-darwin-x64"}],["darwin","arm64",{triple:"aarch64-apple-darwin",packageName:"@openai/codex-darwin-arm64"}],["win32","x64",{triple:"x86_64-pc-windows-msvc",packageName:"@openai/codex-win32-x64"}],["win32","arm64",{triple:"aarch64-pc-windows-msvc",packageName:"@openai/codex-win32-arm64"}]];function tP(e,t){return G(e4.find(r=>r[0]===e?r[1]===t:!1),r=>r[2])}function t4(e){try{return eP.createRequire(import.meta.url).resolve(e)}catch{return}}function r4(e){let t=hs(e);return t.TAG==="Ok"?t._0:[]}function Rm(){return{platform:process.platform,arch:process.arch,fileExists:e=>XE.existsSync(e),listDirectory:r4,resolveModulePath:t4,moduleDir:un.dirname(QE.fileURLToPath(import.meta.url))}}function rP(e,t,r){let n=t;for(;;){let i=n,o=un.join(...[i,"node_modules"].concat(e.split("/")));if(r(un.join(o,"package.json")))return o;let a=un.dirname(i);if(a===i)return;n=a}}function Sv(e,t){let r=t.resolveModulePath(e+"/package.json");return r!==void 0?un.dirname(r):rP(e,t.moduleDir,t.fileExists)}function n4(e,t,r){let i=r.platform==="win32"?"codex.exe":"codex",o=un.join(e,t),s=[un.join(o,"codex",i),un.join(o,"bin",i),un.join(o,i)].find(l=>r.fileExists(l));return s!==void 0?s:r.listDirectory(o).map(l=>un.join(o,l,i)).find(l=>r.fileExists(l))}function i4(e){let t=tP(e.platform,e.arch);if(t===void 0)return;let r=[],n=Sv(t.packageName,e);n!==void 0&&r.push(un.join(n,"vendor"));let i=Sv("@openai/codex",e);return i!==void 0&&r.push(un.join(i,"vendor")),Ve(r,void 0,(o,a)=>o!==void 0?o:n4(a,t.triple,e))}function o4(e){let t=Sv("@openai/codex",e);if(t===void 0)return;let r=Xt(un.join(t,"package.json"));if(r.TAG!=="Ok")return;let n;try{n=JSON.parse(r._0)}catch{n=void 0}if(n===void 0||typeof n!="object"||n===null||Array.isArray(n))return;let i=n.version;if(i!==void 0&&typeof i=="string"&&i.trim()!=="")return i.trim()}var a4=new RegExp("(\\d+\\.\\d+\\.\\d+)");function Im(e){let t=_s(e,["--version"],1e4,1048576);if(t.TAG!=="Ok")return;let r=a4.exec(t._0);if(r!=null)return k(r.slice(1)[0],n=>n)}function s4(e,t){return e!==void 0&&t!==void 0?e===t?{TAG:"Match",version:e}:{TAG:"Mismatch",pathVersion:e,pinnedVersion:t}:{TAG:"Unverified",pathVersion:e,pinnedVersion:t}}function l4(e){switch(e.TAG){case"Match":return"match";case"Mismatch":return"mismatch";case"Unverified":return"unverified"}}var wv="LINZUMI_ALLOW_HARNESS_MISMATCH",JE={contents:!1};var d4="Warning: the Codex engine bundled with @linzumi/cli could not be located in its install (@openai/codex platform binary missing). Falling back to `codex` from PATH - the engine version may not match this CLI release. Pass --codex-bin <path> to pin an engine explicitly.\n";function u4(e){if(!JE.contents)return JE.contents=!0,e(d4)}function YE(e,t){return"the codex engine bundled with @linzumi/cli is missing from this install and the `codex` on PATH is version "+e+", but this CLI release pins engine "+t+". "+("Running a mismatched engine breaks the wire protocol (codex "+t+" vocabulary), so refusing to start. ")+("Fix: reinstall the CLI (a fresh `npx -y @linzumi/cli@latest` restores the bundled engine), pass --codex-bin <path> to pin an engine deliberately, or set "+wv+"=1 to accept the skew.")}function c4(e,t){return"Warning: proceeding with the PATH codex "+e+" despite the CLI pinning engine "+t+" ("+wv+`=1). Engine/CLI version skew can break the wire protocol.
324
- `}function f4(e,t){}function $m(e,t,r,n,i,o){let a=o!==void 0?o:f4;if(e!==void 0)return{TAG:"Ok",_0:{codexBin:e,source:"ExplicitFlag"}};let s=i4(t);if(s!==void 0){let f={};return f.codex_bin_path=s,f.codex_bin_source="bundled",a("codex.binary.resolved",f),{TAG:"Ok",_0:{codexBin:s,source:"Bundled"}}}u4(r);let l=o4(t),d=l!==void 0?n("codex"):void 0,u=s4(d,l),c={};switch(c.codex_bin_path="codex",c.codex_bin_source="path-fallback",c.harness_version_check=l4(u),u.TAG){case"Match":c.harness_version=u.version;break;case"Mismatch":c.path_harness_version=u.pathVersion,c.pinned_harness_version=u.pinnedVersion;break;case"Unverified":c.path_harness_version=rn(u.pathVersion,null,f=>f),c.pinned_harness_version=rn(u.pinnedVersion,null,f=>f);break}switch(a("codex.binary.resolved",c),u.TAG){case"Mismatch":let f=u.pinnedVersion,p=u.pathVersion,m=i[wv];return m===void 0?{TAG:"Error",_0:YE(p,f)}:m!=="1"?{TAG:"Error",_0:YE(p,f)}:(r(c4(p,f)),{TAG:"Ok",_0:{codexBin:"codex",source:"PathFallback"}});case"Match":case"Unverified":return{TAG:"Ok",_0:{codexBin:"codex",source:"PathFallback"}}}}function nP(e){if(typeof e=="number"&&e%1===0)return e}function m4(e){if(typeof e=="string")return e}function p4(e){let t=e.replaceAll("-","+").replaceAll("_","/");switch(t.length&3){case 2:return t+"==";case 3:return t+"=";default:return t}}function iP(e){let t=e.split(".")[1];if(t===void 0)return;let r=Buffer.from(p4(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 wu(e){let t=iP(e);if(t===void 0)return{actorUserId:void 0,actorUsername:void 0};let r=nP(t.actor_id);return{actorUserId:r!==void 0?r:nP(t.sub),actorUsername:m4(t.actor_username)}}function oP(e){let t=k(iP(e),n=>n.workspace_scope),r=t!==void 0?Array.isArray(t)?ze(t,n=>{if(typeof n=="string"&&n.trim()!=="")return n}):[]:[];if(r.length===1)return r[0]}var Tv=[["codex.agent_turn_narration_only_no_reply","harness.agent_turn_narration_only_no_reply"],["codex.cost_cap_402_seen","harness.cost_cap_402_seen"],["codex.edge_blocked_captured","harness.edge_blocked_captured"],["codex.empty_turn_auto_retry_suppressed_cost_cap","harness.empty_turn_auto_retry_suppressed_cost_cap"],["codex.empty_turn_loop_guard_tripped","harness.empty_turn_loop_guard_tripped"],["codex.error_without_http_status_captured","harness.error_without_http_status_captured"],["codex.mid_stream_stall_auto_resume_flagged","harness.mid_stream_stall_auto_resume_flagged"],["codex.mid_stream_stall_resume_suppressed_rate_limit","harness.mid_stream_stall_resume_suppressed_rate_limit"],["codex.mid_stream_stall_second_stall_after_resume","harness.mid_stream_stall_second_stall_after_resume"],["codex.pre_first_byte_stall_auto_retry_flagged","harness.pre_first_byte_stall_auto_retry_flagged"],["codex.pre_first_byte_stall_retry_suppressed_cost_cap","harness.pre_first_byte_stall_retry_suppressed_cost_cap"],["codex.provider_outage_flagged_captured","harness.provider_outage_flagged_captured"],["codex.reasoning_loop_breaker_tripped","harness.reasoning_loop_breaker_tripped"],["codex.tool_fatal_captured","harness.tool_fatal_captured"],["codex.turn_completed","job.turn_completed"],["codex.turn_completed_with_protocol_failure","job.turn_completed_with_protocol_failure"],["codex.turn_completed_with_unsupported_tool_call_ignored","job.turn_completed_with_unsupported_tool_call_ignored"],["codex.turn_completed_without_assistant_output","job.turn_completed_without_assistant_output"],["codex.turn_forward_failed","job.turn_forward_failed"],["codex.upstream_error_captured","harness.upstream_error_captured"],["codex.upstream_rejection_captured","harness.upstream_rejection_captured"],["codex.upstream_turn_error_captured","harness.upstream_turn_error_captured"],["kandan.chat_event","linzumi.chat_event"],["kandan.chat_event_abandoned","linzumi.chat_event_abandoned"],["kandan.chat_event_failed","linzumi.chat_event_failed"],["kandan.chat_event_failure_cleared","linzumi.chat_event_failure_cleared"],["kandan.claude_code_interrupt_state_push_failed","linzumi.claude_code_interrupt_state_push_failed"],["kandan.claude_code_stop_state_push_failed","linzumi.claude_code_stop_state_push_failed"],["kandan.claude_code_typing_heartbeat_failed","linzumi.claude_code_typing_heartbeat_failed"],["kandan.claude_code_typing_start_wait_timeout","linzumi.claude_code_typing_start_wait_timeout"],["kandan.claude_code_typing_stop_failed","linzumi.claude_code_typing_stop_failed"],["kandan.claude_code_user_input_abort_publish_failed","linzumi.claude_code_user_input_abort_publish_failed"],["kandan.claude_code_user_question_completed_publish_failed","linzumi.claude_code_user_question_completed_publish_failed"],["kandan.codex_command_output_forwarded","linzumi.codex_command_output_forwarded"],["kandan.codex_delta_forwarded","linzumi.codex_delta_forwarded"],["kandan.codex_file_change_forwarded","linzumi.codex_file_change_forwarded"],["kandan.codex_notification_push_failed","linzumi.codex_notification_push_failed"],["kandan.codex_output_forwarded","linzumi.codex_output_forwarded"],["kandan.codex_reasoning_delta_forwarded","linzumi.codex_reasoning_delta_forwarded"],["kandan.codex_web_search_progress_forwarded","linzumi.codex_web_search_progress_forwarded"],["kandan.connection_force_reconnect","linzumi.connection_force_reconnect"],["kandan.connection_force_reconnect_dispatched","linzumi.connection_force_reconnect_dispatched"],["kandan.connection_hard_reset","linzumi.connection_hard_reset"],["kandan.connection_hard_reset_exhausted","linzumi.connection_hard_reset_exhausted"],["kandan.connection_recovered","linzumi.connection_recovered"],["kandan.connection_stale","linzumi.connection_stale"],["kandan.connection_unrecoverable","linzumi.connection_unrecoverable"],["kandan.control","linzumi.control"],["kandan.control_ack_withheld_on_failure","linzumi.control_ack_withheld_on_failure"],["kandan.control_epoch_changed","linzumi.control_epoch_changed"],["kandan.control_handler_threw","linzumi.control_handler_threw"],["kandan.control_ignored","linzumi.control_ignored"],["kandan.control_response_push_failed","linzumi.control_response_push_failed"],["kandan.failed_seq_overflow","linzumi.failed_seq_overflow"],["kandan.forward_port_revoked_push_failed","linzumi.forward_port_revoked_push_failed"],["kandan.forward_response","linzumi.forward_response"],["kandan.forward_response_push_failed","linzumi.forward_response_push_failed"],["kandan.forward_tunnel_error","linzumi.forward_tunnel_error"],["kandan.forward_tunnel_open_failed","linzumi.forward_tunnel_open_failed"],["kandan.heartbeat_push_failed","linzumi.heartbeat_push_failed"],["kandan.local_editor_initial_status_failed","linzumi.local_editor_initial_status_failed"],["kandan.local_editor_status_push_failed","linzumi.local_editor_status_push_failed"],["kandan.message_duplicate_ignored","linzumi.message_duplicate_ignored"],["kandan.message_ignored","linzumi.message_ignored"],["kandan.message_queued","linzumi.message_queued"],["kandan.message_spawn_on_miss","linzumi.message_spawn_on_miss"],["kandan.message_spawn_on_miss_failed","linzumi.message_spawn_on_miss_failed"],["kandan.message_state_refresh_failed","linzumi.message_state_refresh_failed"],["kandan.optional_push_failed","linzumi.optional_push_failed"],["kandan.post_stop_queue_drain_failed","linzumi.post_stop_queue_drain_failed"],["kandan.queue_drain_blocked","linzumi.queue_drain_blocked"],["kandan.queue_drain_dead_worker_fail_publish_failed","linzumi.queue_drain_dead_worker_fail_publish_failed"],["kandan.queue_drain_dead_worker_rebuild","linzumi.queue_drain_dead_worker_rebuild"],["kandan.queue_drain_dead_worker_rebuild_exhausted","linzumi.queue_drain_dead_worker_rebuild_exhausted"],["kandan.queue_drain_dead_worker_rebuild_failed","linzumi.queue_drain_dead_worker_rebuild_failed"],["kandan.reconnect_handling_failed","linzumi.reconnect_handling_failed"],["kandan.reconnect_thread_context_fetch_failed","linzumi.reconnect_thread_context_fetch_failed"],["kandan.reconnect_thread_cwd_failed_state_push_failed","linzumi.reconnect_thread_cwd_failed_state_push_failed"],["kandan.reconnect_thread_failed","linzumi.reconnect_thread_failed"],["kandan.reconnect_thread_processing_state_push_failed","linzumi.reconnect_thread_processing_state_push_failed"],["kandan.reconnect_thread_queue_closed_state_push_failed","linzumi.reconnect_thread_queue_closed_state_push_failed"],["kandan.reconnect_thread_queue_failed_state_push_failed","linzumi.reconnect_thread_queue_failed_state_push_failed"],["kandan.reconnect_thread_queue_state_push_failed","linzumi.reconnect_thread_queue_state_push_failed"],["kandan.reconnect_thread_rehydrate_forced","linzumi.reconnect_thread_rehydrate_forced"],["kandan.reconnect_thread_rehydrated","linzumi.reconnect_thread_rehydrated"],["kandan.reconnect_thread_rehydrated_state_push_failed","linzumi.reconnect_thread_rehydrated_state_push_failed"],["kandan.reconnect_thread_rehydration_failed","linzumi.reconnect_thread_rehydration_failed"],["kandan.reconnect_thread_rehydration_ir_emitted","linzumi.reconnect_thread_rehydration_ir_emitted"],["kandan.reconnect_thread_rehydration_items_failed","linzumi.reconnect_thread_rehydration_items_failed"],["kandan.reconnect_thread_resume_failed","linzumi.reconnect_thread_resume_failed"],["kandan.reconnect_thread_seq_already_applied","linzumi.reconnect_thread_seq_already_applied"],["kandan.reconnect_thread_transcript_fetch_failed","linzumi.reconnect_thread_transcript_fetch_failed"],["kandan.reconnect_thread_unarchive_failed","linzumi.reconnect_thread_unarchive_failed"],["kandan.reconnect_thread_unarchive_resumed","linzumi.reconnect_thread_unarchive_resumed"],["kandan.reconnect_thread_unarchive_started","linzumi.reconnect_thread_unarchive_started"],["kandan.reconnect_thread_unavailable_state_push_failed","linzumi.reconnect_thread_unavailable_state_push_failed"],["kandan.reconnected","linzumi.reconnected"],["kandan.roster_seeded","linzumi.roster_seeded"],["kandan.session_app_server_lost_push_failed","linzumi.session_app_server_lost_push_failed"],["kandan.session_settings_publish_failed","linzumi.session_settings_publish_failed"],["kandan.start_instance_claude_code_attachment_failed_state_push_failed","linzumi.start_instance_claude_code_attachment_failed_state_push_failed"],["kandan.start_instance_codex_app_server_unavailable","linzumi.start_instance_codex_app_server_unavailable"],["kandan.start_instance_cwd_failed_state_push_failed","linzumi.start_instance_cwd_failed_state_push_failed"],["kandan.start_instance_cwd_rejected","linzumi.start_instance_cwd_rejected"],["kandan.start_instance_failed","linzumi.start_instance_failed"],["kandan.start_instance_processing_state_push_failed","linzumi.start_instance_processing_state_push_failed"],["kandan.start_instance_skipped_known_session","linzumi.start_instance_skipped_known_session"],["kandan.start_instance_stale_skipped","linzumi.start_instance_stale_skipped"],["kandan.start_instance_unavailable_state_push_failed","linzumi.start_instance_unavailable_state_push_failed"],["kandan.start_instance_wafer_state_push_failed","linzumi.start_instance_wafer_state_push_failed"],["kandan.start_turn_replay_skipped","linzumi.start_turn_replay_skipped"],["kandan.steer_duplicate_ignored","linzumi.steer_duplicate_ignored"],["kandan.steer_parked_as_own_turn","linzumi.steer_parked_as_own_turn"],["kandan.thread_bind_from_historical_reply_failed","linzumi.thread_bind_from_historical_reply_failed"],["kandan.thread_bound_from_historical_reply","linzumi.thread_bound_from_historical_reply"],["kandan.thread_sessions_reannounce_failed","linzumi.thread_sessions_reannounce_failed"],["kandan.thread_sessions_reannounced","linzumi.thread_sessions_reannounced"],["kandan.tui_input_mirrored","linzumi.tui_input_mirrored"],["kandan.typing_heartbeat_failed","linzumi.typing_heartbeat_failed"],["kandan.typing_stop_after_completion_failed","linzumi.typing_stop_after_completion_failed"]],aP=[["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"]],Mm=[["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"]],Av=[["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 ku(){return x("1.0.144","0.0.0-unbundled")}function Cv(){return"linzumi "+x("1.0.144","0.0.0-unbundled")}function bl(e,t){let r=e.indexOf(t);if(r!==-1)return r}function Ev(){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 Pv(e){let t={};return e.forEach(r=>{t[r[0]]=r[1]}),t}function h4(e){let t={};return e.forEach(r=>{t[r[1]]=r[0]}),t}var dP=Pv(aP),uP=Pv(Mm),_4=Pv(Av),g4=h4(Av);function y4(e){return e.endsWith("_canonical")?!0:e.endsWith("_legacy")}function cP(e,t){return t>=32?e:Array.isArray(e)?e.map(r=>cP(r,t+1|0)):e===null?e:typeof e==="object"?fP(e,t):e}function fP(e,t){let r=Object.keys(e),n={};return r.forEach(i=>{let o=e[i];if(o!==void 0){n[i]=cP(o,t+1|0);return}}),r.forEach(i=>{if(y4(i))return;let o=n[i];if(o===void 0)return;let a=dP[i];if(a!==void 0)n[a]=o;else{let c=uP[i];c!==void 0&&(n[c]!==void 0||(n[c]=o))}let s=n[i];if(s===void 0||typeof s!="string")return;let l=_4[s];if(l!==void 0){if(n[i+"_canonical"]!==void 0)return;n[i+"_canonical"]=l;return}let d=g4[s];if(!(d===void 0||n[i+"_legacy"]!==void 0)){n[i+"_legacy"]=d;return}}),n}function jm(e){return Ev()?fP(e,0):e}function mP(e){let t=e.slice();return e.forEach(r=>{let n=dP[r];n!==void 0&&!t.includes(n)&&t.push(n);let i=uP[r];if(i!==void 0&&!t.includes(i)){t.push(i);return}}),t}var vl="<SENSITIVE_DATA>",b4=mP(["access_token","authorization","code","cookie","kandan_preview_ticket","refresh_token","token"]),v4=["--access-token","--api-key","--authorization","--cookie","--oauth-code","--password","--refresh-token","--secret","--token"],S4=new RegExp("^(authorization|cookie|set-cookie|password)$","i"),w4=new RegExp("(^|[_-])(access[_-]?token|api[_-]?key|auth[_-]?token|oauth[_-]?code|refresh[_-]?token|secret|token)$","i"),k4=new RegExp("\\beyJ[A-Za-z0-9_-]*\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\b","g");function x4(e){return e!==void 0?S4.test(e)?!0:w4.test(e):!1}function pP(e){let t={contents:!1};return Nw(e).forEach(r=>{if(b4.includes(r.toLowerCase())){e.set(r,vl),t.contents=!0;return}}),t.contents}function T4(e){let t=bl(e,"?"),r=bl(e,"#");if(t===void 0||r!==void 0&&r<t)return e;let n=e.slice(0,t),i=r!==void 0?e.slice(t+1|0,r):e.slice(t+1|0),o=r!==void 0?e.slice(r):"",a=new URLSearchParams(i);return pP(a)?n+"?"+a.toString()+o:e}function A4(e){let t=Ln(e);if(t===void 0)return T4(e);let r=ue(t);return pP(r.searchParams),r.toString()}function hP(e){return A4(e).replace(k4,vl)}function O4(e){let t=bl(e,"=");return t!==void 0?[e.slice(0,t),e.slice(t+1|0)]:[e,void 0]}function Iv(e,t){if(x4(t))return vl;if(Array.isArray(e))return t==="args"?C4(e):e.map(r=>Iv(r,void 0));if(e===null)return e;switch(typeof e){case"string":return hP(e);case"object":return _P(e);default:return e}}function C4(e){let t={contents:!1};return e.map(r=>{if(typeof r=="string"){if(t.contents)return t.contents=!1,vl;let n=O4(r),i=n[0];return v4.includes(i)?n[1]!==void 0?i+"="+vl:(t.contents=!0,r):hP(r)}return t.contents=!1,Iv(r,void 0)})}function _P(e){let t=e.name,r=typeof t=="string"?t.toLowerCase():void 0,n;if(r!==void 0)switch(r){case"authorization":case"cookie":case"set-cookie":n=!0;break;default:n=!1}else n=!1;let i={};return Object.entries(e).forEach(o=>{let a=o[0];if(a!=="runner_console"){i[a]=n&&a==="value"?vl:Iv(o[1],a);return}}),i}var zm=_P;import*as ta from"node:os";import*as Mp from"node:path";import*as _w from"node:crypto";function jn(e){let t=parseFloat(e);if(!Number.isNaN(t))return t}function yP(e){return"local_runner:"+e}var E4="kandan-local-codex-runner",P4="rescript";function bP(e){let t={};t.clientName=E4,t.clientId=e.clientId;let r=e.machineFingerprint;t.machineFingerprint=r!==void 0?r:null,Object.entries(uk(e.machineFingerprintV2)).forEach(a=>{t[a[0]]=a[1]}),t.runnerPid=e.runnerPid,t.version=e.version,t.hostname=e.hostname,t.cwd=e.cwd;let n=e.workspace;t.workspace=n!==void 0?n:null;let i=e.channel;t.channel=i!==void 0?i:null,t.capabilities=e.capabilities;let o=e.generationOverlapEpoch;if(o!==void 0){let a={};a.epoch=o,a.overlap=!0,t.generation=a}return t.commander_impl=P4,t}function vP(e,t,r){let n={};return n.last_seq=r,t!==void 0&&(n.runner_id=e,n.thread_id=t),n}function zn(e,t){return e.catch(r=>t(ee(r)))}function wP(){let e=[],t=[],r={contents:!1},n=()=>{let a=e.shift();return a!==void 0?Promise.resolve({done:!1,value:a}):r.contents?Promise.resolve({done:!0}):new Promise((s,l)=>{t.push(s)})},i=()=>(r.contents=!0,Promise.resolve({done:!0})),o={};return o[Symbol.asyncIterator]=()=>({next:n,return:i}),{iterable:o,push:a=>{if(r.contents)return!1;let s=t.shift();return s!==void 0?(s({done:!1,value:a}),!0):(e.push(a),!0)},close:()=>{r.contents=!0,(()=>{for(;;){let s=t.shift();if(s===void 0)return;s({done:!0})}})()}}}function kP(e){return import(e)}var I4="@anthropic-ai/claude-agent-sdk";function xP(e){return wP()}function $4(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 TP(){let e=await kP(I4);return{query:t=>$4(e.query(t)),getSessionInfo:(t,r)=>e.getSessionInfo(t,r),listSessions:t=>e.listSessions(t),getSessionMessages:(t,r)=>e.getSessionMessages(t,r)}}var $v=["codex","claude-code","pi","opencode"];function Ya(e){return e}function Nm(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 M4(e){switch(e){case"SocketOpen":return"open";case"SocketMessage":return"message";case"SocketClose":return"close";case"SocketError":return"error"}}function j4(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,a;return a=o==null||typeof o!="string"?void 0:o,{data:r,code:i,reason:a}}function z4(e){return{readyState:()=>e.readyState,send:t=>{e.send(t)},close:()=>{e.close()},on:(t,r)=>{e.addEventListener(M4(t),n=>r(j4(n)),{})}}}function Gm(e,t){return z4(new WebSocket(e,t))}var OP=0,Xa=1;var Mv="file",jv=["mcp_oauth_credentials_store","cli_auth_credentials_store"],N4=jv.flatMap(e=>["-c",e+'="'+Mv+'"']),G4=["-c","features.apps=false"];function po(e){return JSON.stringify(e)}function F4(e){let t=(r,n)=>r!==void 0?Object.entries(r).flatMap(i=>["-c","model_providers."+e.id+"."+n+"."+i[0]+"="+po(i[1])]):[];return[["-c","model_providers."+e.id+".name="+po(e.name),"-c","model_providers."+e.id+".base_url="+po(e.baseUrl),"-c","model_providers."+e.id+".env_key="+po(e.envKey),"-c","model_providers."+e.id+".wire_api="+po(e.wireApi)],t(e.httpHeaders,"http_headers"),t(e.envHttpHeaders,"env_http_headers"),["-c","model_provider="+po(e.id)]].flat()}function D4(e){let t=e.model,r=e.reasoningEffort,n=e.modelProvider;return[G4,N4,t!==void 0?["-c","model="+po(t)]:[],r!==void 0?["-c","model_reasoning_effort="+po(r)]:[],e.fast?["-c","service_tier="+po("fast")]:[],e.mcpConfigArgs.flat(),n!==void 0?F4(n):[]].flat()}function EP(e,t){return[["app-server"],D4(t),["--listen",e]].flat()}var q4=["LINZUMI_MCP_ACCESS_TOKEN","LINZUMI_MCP_OWNER_USERNAME"];function PP(e,t,r){let n=r?Object.fromEntries(Object.entries(e)):{};return q4.forEach(i=>cr(n,i)),t.forEach(i=>{let o=i[1],a=i[0];if(o!==void 0){n[a]=o;return}else return cr(n,a)}),n}var RP=["ignore","pipe","pipe"];function IP(e){let t=e.length;return t>12e3?e.slice(t-12e3|0,t):e}function $P(e,t,r){return r<3&&e.includes("codex app-server exited before readyz")&&t.includes("EADDRINUSE")?t.includes("listen"):!1}function MP(e){let t=Ln(e);if(t===void 0)return;let r=ue(t),i=r.protocol==="wss:"?"https:":"http:";return r.protocol=i,r.pathname="/readyz",r.search="",r.hash="",r.toString()}var L4="kandan-local-codex-runner",U4="0.0.1";function jP(){return Object.fromEntries([["clientInfo",Object.fromEntries([["name",L4],["version",U4]])],["capabilities",Object.fromEntries([["experimentalApi",!0]])]])}var Z4=new RegExp("\\bsession\\b.+\\bis archived\\b","i");function zP(e){return Z4.test(e)}var W4=new RegExp("^thread not found(?:\\s*:|\\b)","i");function NP(e){return W4.test(e.trim())}var GP=2e3;function V4(e){try{e.unref();return}catch{return}}var FP="codex app-server websocket closed",H4="codex app-server websocket is not open";function B4(e){let t=e.method;if(typeof t=="string")return t}function zv(e){let t=e.error;if(t===void 0)return{TAG:"ResultReply",_0:x(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 Dm(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 a=ee(o);return{TAG:"Error",_0:Ne(a).message}}}function UP(e,t,r){try{return t(r)}catch(n){let i=ee(n);return e("codex.notification_callback_failed",Object.fromEntries([["purpose","codex.app_server"],["method",r.method],["message",Ne(i).message]]))}}function DP(e,t,r){try{return t(r)}catch(n){let i=ee(n);return e("codex.close_callback_failed",Object.fromEntries([["purpose","codex.app_server"],["message",Ne(i).message]]))}}function K4(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 J4(e,t,r,n){let i={TAG:"Error",_0:[-32601,"unhandled Codex app-server request: "+n.method]},o=e.requestCallbacks.slice(),a,s=0;for(;mn(a)&&s<o.length;){let d=o[s];if(d!==void 0){let u=0,c;try{c=await d(n),u=1}catch(f){let p=ee(f);a={TAG:"Error",_0:[-32e3,Ne(p).message]}}u===1&&c!==void 0&&(a={TAG:"Ok",_0:c})}s=s+1|0}let l=x(a,i);Dm(t,r,"outgoing",K4(n.id,l))}function Y4(e,t,r,n,i){let o;try{o=JSON.parse(i)}catch(p){let m=ee(p);r("codex.app_server_frame_malformed",Object.fromEntries([["purpose","codex.app_server"],["message",Ne(m).message],["payload",i.slice(0,512)],["payloadChars",i.length]])),o=void 0}let a;if(o!==void 0){let p=0;typeof o=="object"&&o!==null&&!Array.isArray(o)?a=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]])),a=void 0)}else a=void 0;if(a===void 0)return;let s=Dt(a.id),l=s&&(Dt(a.result)||Dt(a.error)),d=B4(a);if(l){let p=x(a.id,null),m=JSON.stringify(p),h=e.pending[m];return h!==void 0?(cr(e.pending,m),h.resolvePending({TAG:"Ok",_0:zv(a)})):void 0}if(s)if(d!==void 0){zn(J4(e,t,n,{id:x(a.id,null),method:d,params:a.params}),p=>Promise.resolve());return}else return;if(d===void 0)return;let u=a.params,c={method:d,params:u};e.notificationCallbacks.length!==0?e.notificationCallbacks.forEach(p=>UP(r,p,c)):e.pendingNotifications.push(c)}function X4(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 qP(e,t){return Object.fromEntries(t!==void 0?[["jsonrpc","2.0"],["method",e],["params",t]]:[["jsonrpc","2.0"],["method",e]])}function LP(e,t,r,n,i,o){return t.socket.readyState()===Xa?new Promise((a,s)=>{e.pending[JSON.stringify(n)]={resolvePending:a};let l=Dm(t,r,"request",X4(n,i,o));l.TAG!=="Ok"&&(cr(e.pending,JSON.stringify(n)),a({TAG:"Error",_0:l._0}))}):Promise.resolve({TAG:"Error",_0:H4})}async function qm(e,t,r,n){let i=t!==void 0?t:u=>({socket:Gm(u,[]),ping:void 0}),o=r!==void 0?r:2e3,a=n!==void 0?n:()=>Date.now(),s=a()+o,l,d="websocket open failed";for(;mn(l);){let u;try{u={TAG:"Ok",_0:i(e)}}catch(c){let f=ee(c);u={TAG:"Error",_0:Ne(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{}a()>s&&(l={TAG:"Error",_0:d})}}else d=u._0,a()>s&&(l={TAG:"Error",_0:d})}return x(l,{TAG:"Error",_0:d})}async function Lm(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()===Xa)try{return d()}catch{return}},t.keepaliveIntervalMs);V4(o);let a=d=>{clearInterval(o);let u=Object.entries(r.pending);if(Object.entries(r.pending).forEach(p=>cr(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=>DP(n,p,d))};e.socket.on("SocketClose",d=>a(FP)),e.socket.on("SocketError",d=>a(FP)),e.socket.on("SocketMessage",d=>{let u=d.data;if(u!==void 0)return i("incoming",u),Y4(r,e,n,i,u)});let s=await LP(r,e,i,"initialize","initialize",jP());if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0};let l=s._0;return l.TAG!=="ResultReply"?{TAG:"Error",_0:"codex initialize failed: "+l.message}:(Dm(e,i,"outgoing",qP("initialized",void 0)),{TAG:"Ok",_0:{request:(d,u)=>{let c=r.nextId;return r.nextId=r.nextId+1|0,LP(r,e,i,c,d,u)},notify:(d,u)=>{Dm(e,i,"outgoing",qP(d,u))},onNotification:d=>{r.notificationCallbacks.push(d);let u=r.pendingNotifications.slice();r.pendingNotifications.splice(0,r.pendingNotifications.length),u.forEach(c=>UP(n,d,c))},onRequest:d=>{r.requestCallbacks.push(d)},onClose:d=>{let u=r.closeError;if(u!==void 0)return DP(n,d,u);r.closeCallbacks.push(d)},isClosed:()=>Dt(r.closeError),close:()=>{clearInterval(o);try{return e.socket.close()}catch{return}}}})}function xl(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function Li(e){if(e!==void 0&&typeof e=="string"&&e.trim()!=="")return e.trim()}function kl(e){if(e!==void 0&&typeof e=="number"&&Ot(e))return e}function ZP(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}var WP="linzumi_thread_codex_worker_ready",VP="linzumi_thread_codex_worker_session_closed",HP="linzumi_thread_codex_worker_request",BP="linzumi_thread_codex_worker_notify",Dv="linzumi_thread_codex_worker_response",KP="linzumi_thread_codex_worker_notification",JP="linzumi_thread_codex_worker_server_request",YP="linzumi_thread_codex_worker_server_request_response";function XP(e,t){let r={};return r.type=WP,r.kandanThreadId=e,r.commanderManagedPorts=t.map(n=>{let i={};i.port=n.port;let o=n.pid;o!==void 0&&(i.pid=o);let a=n.processName;a!==void 0&&(i.processName=a);let s=n.processIconKey;s!==void 0&&(i.processIconKey=s);let l=n.agentProvider;return l!==void 0&&(i.agentProvider=l),i}),r}function QP(e,t){let r={};return r.type=VP,r.kandanThreadId=e,r.reason=t,r}function Q4(e,t,r){let n={};return n.type=HP,n.id=e,n.method=t,r!==void 0&&(n.params=r),n}function eH(e,t){let r={};return r.type=BP,r.method=e,t!==void 0&&(r.params=t),r}function tH(e,t){let r={};return r.type=Dv,r.id=e,r.response=t,r}function rH(e,t){let r={};return r.type=Dv,r.id=e,r.error=t,r}function nH(e){let t={};return t.type=KP,t.notification=e,t}function iH(e,t){let r={};return r.type=JP,r.id=e,r.request=t,r}function Gv(e,t,r){let n={};return n.type=YP,n.id=e,t!==void 0&&(n.result=t),r!==void 0&&(n.error=r),n}function oH(e){if(e===void 0||typeof e!="object"||e===null||Array.isArray(e)||e.id===void 0)return;let r=e.result,n=e.error;if(r!==void 0||n!==void 0)return e}function aH(e){if(e===void 0||typeof e!="object"||e===null||Array.isArray(e))return;let t=e.id,r=e.method;if(!(t!==void 0||typeof r!="string"))return e}function sH(e){if(e===void 0||typeof e!="object"||e===null||Array.isArray(e))return;let t=e.id,r=e.method;if(t!==void 0&&typeof r=="string")return e}function lH(e){let t=xl(e);if(t===void 0)return;let r=t.type;if(r===void 0||typeof r!="string")return;if(r===HP){let i=kl(t.id),o=Li(t.method);return i!==void 0&&o!==void 0?{TAG:"ParentRequest",id:i,method_:o,params:ZP(t.params)}:void 0}if(r===BP){let i=Li(t.method);return i!==void 0?{TAG:"ParentNotify",method_:i,params:ZP(t.params)}:void 0}if(r!==YP)return;let n=kl(t.id);if(n!==void 0)return{TAG:"ParentServerRequestResponse",id:n,result:t.result,error:Li(t.error)}}function dH(e){let t=xl(e);if(t===void 0)return;let r=t.type;if(r===void 0||typeof r!="string")return;if(r===Dv){let o=kl(t.id);return o!==void 0?{TAG:"ChildResponse",id:o,response:oH(t.response),error:Li(t.error)}:void 0}if(r===KP){let o=aH(t.notification);return o!==void 0?{TAG:"ChildNotification",notification:o}:void 0}if(r!==JP)return;let n=kl(t.id),i=sH(t.request);if(n!==void 0&&i!==void 0)return{TAG:"ChildServerRequest",id:n,request:i}}function eR(e){let t=xl(e);if(t===void 0)return;let r=t.type;if(typeof r=="string"&&r===VP)return[x(Li(t.kandanThreadId),""),x(Li(t.reason),"")]}var uH="thread Codex worker reported invalid ready payload";function cH(e){let t=Li(e);if(t!==void 0)switch(t){case"claude-code":return"claude-code";case"codex":return"codex";default:return}}function fH(e){return e!==void 0?Array.isArray(e)?ze(e,t=>{let r=xl(t);if(r===void 0)return;let n=kl(r.port);if(n!==void 0&&n>=1&&n<=65535)return{port:n,pid:kl(r.pid),processName:Li(r.processName),processIconKey:Li(r.processIconKey),agentProvider:cH(r.agentProvider)}}):[]:[]}function tR(e,t){let r=xl(e);if(r===void 0)return{TAG:"Ok",_0:void 0};let n=r.type;if(n===void 0)return{TAG:"Ok",_0:void 0};if(typeof n!="string")return{TAG:"Ok",_0:void 0};if(n!==WP)return{TAG:"Ok",_0:void 0};let i=Li(r.kandanThreadId);return i!==void 0&&i===t?{TAG:"Ok",_0:{kandanThreadId:i,commanderManagedPorts:fH(r.commanderManagedPorts)}}:{TAG:"Error",_0:uH}}function rR(e,t){}var nR="linzumi.thread_runner",mH="thread Codex worker requires a codex client with onRequest",Fv="thread Codex worker IPC channel closed";function iR(e,t,r){let n=r!==void 0?r:rR,i=e.onRequest;if(i===void 0)return{TAG:"Error",_0:mH};let o=new Map,a={contents:1},s={contents:!1},l=u=>{if(s.contents)return;s.contents=!0;let c={};c.purpose=nR,c.reason=u,n("thread_codex_worker.ipc_send_dropped",c)},d=u=>{let c=t.send,f=t.isConnected();if(c===void 0||!f)return l("ipc_channel_closed");let p=c(u);if(p.TAG!=="Ok")return l(p._0)};return t.onMessage(u=>{let c=lH(u);if(c!==void 0)switch(c.TAG){case"ParentRequest":let f=c.id;e.request(c.method_,c.params).then(_=>_.TAG==="Ok"?d(tH(f,_._0)):d(rH(f,_._0)));return;case"ParentNotify":return e.notify(c.method_,c.params);case"ParentServerRequestResponse":let p=c.error,m=c.id,h=o.get(m);return h!==void 0?(o.delete(m),h(p!==void 0?{TAG:"Error",_0:p}:{TAG:"Ok",_0:c.result})):void 0}}),e.onNotification(u=>d(nH(u))),i(u=>new Promise((c,f)=>{let p=a.contents;a.contents=p+1,o.set(p,c),d(iH(p,u))})),t.onceDisconnect(()=>{o.forEach(u=>u({TAG:"Error",_0:Fv})),o.clear()}),{TAG:"Ok",_0:void 0}}var pH="thread Codex worker IPC client is closed",hH="thread Codex worker response missing body",_H="thread Codex worker IPC client closed";async function gH(e,t,r,n,i,o){let a=d=>{let u=e(d);if(u.TAG==="Ok")return;let c={};c.purpose=nR,c.requestMethod=n,c.message=u._0,o("thread_codex_worker.ipc_response_dropped",c)},s=!1,l=0;for(;!s&&l<i.length;){let d=i[l];if(d!==void 0){let u=await d(r);if(u.TAG==="Ok"){let c=u._0;c!==void 0&&(s=!0,a(Gv(t,c,void 0)))}else s=!0,a(Gv(t,void 0,u._0))}l=l+1|0}if(!s)return a(Gv(t,void 0,"unhandled Codex app-server request: "+n))}function yH(e){let t=xl(e);if(t===void 0)return"";let r=t.method;return typeof r=="string"?r:""}function oR(e,t){let r=t!==void 0?t:rR,n=new Map,i=[],o=[],a=[],s={contents:1},l={contents:!1},d=_=>{n.forEach(g=>g({TAG:"Error",_0:_})),n.clear()},u=_=>{if(l.contents)return{TAG:"Error",_0:pH};let g=e.send,b=e.isConnected();return g!==void 0&&b?g(_):{TAG:"Error",_0:Fv}},c=_=>{let g=dH(_);if(g!==void 0)switch(g.TAG){case"ChildResponse":let b=g.error,y=g.response,v=g.id,S=n.get(v);return S!==void 0?(n.delete(v),S(b!==void 0?{TAG:"Error",_0:b}:y!==void 0?{TAG:"Ok",_0:y}:{TAG:"Error",_0:hH})):void 0;case"ChildNotification":let A=g.notification;i.length!==0?i.forEach(L=>L(A)):a.push(A);return;case"ChildServerRequest":let Z=g.request;gH(u,g.id,Z,yH(Z),o,r);return}},f=e.onMessage(c),p=()=>{l.contents=!0,d(Fv)},m=e.onceExit(p),h=e.onceDisconnect(p);return{request:(_,g)=>new Promise((b,y)=>{let v=s.contents;s.contents=v+1,n.set(v,b);let S=u(Q4(v,_,g));S.TAG!=="Ok"&&(n.delete(v),b({TAG:"Error",_0:S._0}))}),notify:(_,g)=>u(eH(_,g)),onNotification:_=>{i.push(_);let g=a.slice();a.splice(0,a.length),g.forEach(b=>_(b))},onRequest:_=>{o.push(_)},isClosed:()=>l.contents?!0:!e.isConnected(),close:()=>{l.contents=!0,f(),m(),h(),d(_H)}}}import*as Hv from"node:child_process";import*as sR from"node:os";import*as lR from"node:path";function dR(){return lR.join(sR.homedir(),".linzumi","protected-dev-listeners")}var bH=new RegExp("^(\\d+)\\s+(\\d+)$");function vH(e){return ze(e.split(`
325
- `),t=>{let r=bH.exec(t.trim());if(r==null)return;let n=r.slice(1);if(n.length!==2)return;let i=n[0];if(i===void 0)return;let o=n[1];if(o===void 0)return;let a=jn(i),s=jn(o);if(a!==void 0&&s!==void 0)return{pid:a,pgid:s}})}function SH(e){let t=_s("ps",["-axo","pid=,pgid="],5e3,16e6);if(t.TAG==="Ok")return vH(t._0).filter(r=>r.pgid===e).map(r=>r.pid)}function Um(e,t,r,n,i){let o=n!==void 0?n:SH,a;if(i.size>0){let l=o(e);if(l!==void 0){let d=l.filter(u=>i.has(u));if(d.length!==0){let u=[],c=new Set(l.filter(f=>!i.has(f)));c.add(e),Array.from(c).forEach(f=>{let p=r(f|0,t);if(p.TAG==="Ok")return;let m=p._0;if(!de(m.code,"ESRCH")){u.push({pid:f,code:m.code,message:m.message});return}}),a={mode:"IndividualSignals",sparedPids:d,failures:u,groupSignalError:void 0}}else a=void 0}else a=void 0}else a=void 0;if(a!==void 0)return a;let s=r(-e|0,t);return s.TAG==="Ok"?{mode:"GroupSignal",sparedPids:[],failures:[],groupSignalError:void 0}:{mode:"GroupSignal",sparedPids:[],failures:[],groupSignalError:s._0}}var fR={contents:(e,t)=>{}};var qv="SIGKILL",Qa={children:new Set,handlersInstalled:!1,removeHandlers:void 0};function xu(e,t,r,n,i){let o=e.pid;fR.contents("process.reap_failed",Object.fromEntries([["purpose",e.kind],["pid",o!==void 0?o:null],["ownProcessGroup",e.ownProcessGroup],["reason",t],["stage",r],["code",n!==void 0?n:null],["message",i]]))}function wH(e,t,r,n){let i;try{e.stop(),i={TAG:"Ok",_0:void 0}}catch(l){i={TAG:"Error",_0:ee(l)}}if(i.TAG!=="Ok"){let l=Ne(i._0);xu(e,n,"stop",l.code,l.message)}let o=e.pid;if(o===void 0)return;if(e.ownProcessGroup){let l=Um(o,qv,t,void 0,r);l.sparedPids.length!==0&&fR.contents("process.reap_spared_listeners",Object.fromEntries([["purpose",e.kind],["pid",o],["reason",n],["sparedPids",l.sparedPids.map(f=>f)]])),l.failures.forEach(f=>xu(e,n,"member_kill:"+f.pid.toString(),f.code,f.message));let d=l.groupSignalError;if(d===void 0||de(d.code,"ESRCH"))return;xu(e,n,"group_kill",d.code,d.message);let u=t(o,qv);if(u.TAG==="Ok")return;let c=u._0;return de(c.code,"ESRCH")?void 0:xu(e,n,"pid_kill",c.code,c.message)}let a=t(o,qv);if(a.TAG==="Ok")return;let s=a._0;if(!de(s.code,"ESRCH"))return xu(e,n,"pid_kill",s.code,s.message)}function Lv(e,t,r){let n=e!==void 0?e:Vi,i=t!==void 0?t:new Set,o=r!==void 0?r:"exit",a=Array.from(Qa.children);return Qa.children.clear(),a.forEach(s=>wH(s,n,i,o)),a.length}function cR(e,t){let r;return r=typeof t=="string"?t:JSON.stringify(t),"linzumi commander "+e+": "+r+`
326
- `}function kH(){if(Qa.handlersInstalled)return;Qa.handlersInstalled=!0;let e=o=>{Lv(void 0,void 0,"process_exit")};process.on("exit",e);let t=process.listenerCount("uncaughtException")===0,r=process.listenerCount("unhandledRejection")===0,n=o=>{Lv(void 0,void 0,"uncaught_exception"),fr(cR("uncaughtException",o)),process.exit(1)},i=o=>{Lv(void 0,void 0,"unhandled_rejection"),fr(cR("unhandledRejection",o)),process.exit(1)};t&&process.on("uncaughtException",n),r&&process.on("unhandledRejection",i),Qa.removeHandlers=()=>{if(process.off("exit",e),t&&process.off("uncaughtException",n),r){process.off("unhandledRejection",i);return}}}function Zm(e){return Qa.children.add(e),kH(),{unregister:()=>{Qa.children.delete(e)}}}import*as Wo from"node:path";import*as pR from"node:net";function Tl(e,t){try{return e.kill(t)}catch{return!1}}function hR(){return new Promise((e,t)=>{let r=pR.createServer();r.on("error",n=>e({TAG:"Error",_0:n.message})),r.listen(0,"127.0.0.1",()=>{let n=r.address();if(n==null)return r.close(o=>{}),e({TAG:"Error",_0:"failed to allocate loopback port"});let i=n.port;r.close(o=>o==null?e({TAG:"Ok",_0:i}):e({TAG:"Error",_0:o.message}))})})}var fre=new RegExp("[^0-9A-Za-z._-]","g");var wre=new RegExp("[\\\\/]");var _R="cannot fork thread runner without current CLI script path";var kre=15*6e4,xre=120*6e4,Tre=1440*6e4,Are=2*6e4;var AH="this computer is updating its Linzumi runner",Ore=AH+" to a new version - nothing was started. Retry in a few minutes once the update finishes.";var Cre=15*6e4;var gR="this computer restarted its Linzumi runner for an update",Ere=gR+" after waiting for this job past the drain timeout - the job was interrupted. Send your message again to continue.",Pre=gR+" while this job was waiting on your approval - the approval prompt was interrupted. Send your message again and answer the approval prompt to continue.";function CH(e,t){}var Zv="linzumi.thread_runner";function yR(e,t){return e!==void 0&&e.trim()!==""?{TAG:"Ok",_0:Wo.isAbsolute(e)?e:Wo.resolve(t,e)}:{TAG:"Error",_0:_R}}function EH(e){return["--require","-r","--import","--loader","--experimental-loader"].includes(e)}function PH(e){return["--require=","-r=","--import=","--loader=","--experimental-loader="].some(t=>e.startsWith(t))}function RH(e){let t=[],r=0;for(;r<e.length;){let n=e[r];if(n!==void 0){let i=EH(n),o=PH(n);if(i){let a=e[r+1|0];a!==void 0&&(t.push(n),t.push(a)),r=r+2|0}else o&&t.push(n),r=r+1|0}else r=r+1|0}return t}function Wv(e,t,r){return RH(r).concat([e].concat(t))}function cn(e,t){return t!==void 0?t!==""?[e,t]:[]:[]}function bR(e){let t=i=>{let o=i.join(",");if(o!=="")return o},r=e.codexModelProvider,n=e.runtimeDefaults;return[["--api-url",e.kandanUrl],["--cwd",e.cwd],["--codex-bin",e.codexBin],cn("--workspace",e.workspaceSlug),cn("--log-file",e.logFile),cn("--debug-trace-dir",G(e.debugTrace,i=>i.dir)),cn("--debug-trace-content",k(e.debugTrace,i=>i.contentMode)),e.fast?["--fast"]:[],cn("--allowed-cwd",t(e.allowedCwds)),cn("--forward-port",t(e.allowedForwardPorts.map(i=>i.toString()))),cn("--code-server-bin",e.codeServerBin),cn("--model",k(e.runtimeDefaults,i=>i.model)),cn("--reasoning-effort",k(e.runtimeDefaults,i=>i.reasoningEffort)),cn("--sandbox",k(e.runtimeDefaults,i=>i.sandbox)),cn("--approval-policy",k(e.runtimeDefaults,i=>i.approvalPolicy)),r!==void 0?["--model-provider",r.provider,"--llm-proxy-base-url",r.llmProxyBaseUrl]:[],e.vmExecution?["--vm-execution"]:[],cn("--execution-mode",e.executionMode),cn("--egress-mode",e.egressMode),cn("--project-public-id",e.projectPublicId),cn("--golden-image-id",e.goldenImagePublicId),n!==void 0?n.allowPortForwardingByDefault?["--allow-port-forwarding-by-default"]:["--no-allow-port-forwarding-by-default"]:[]].flat()}function vR(e){let t=[],r=0;for(;r<e.length;){let n=e[r];n!==void 0?n==="--token"?(t.push("--token"),t.push("<redacted>"),r=r+2|0):(t.push(n),r=r+1|0):r=r+1|0}return t}function SR(e,t,r){let n=[["LINZUMI_THREAD_RUNNER_ROLE","thread"],["LINZUMI_THREAD_RUNNER_KANDAN_THREAD_ID",e.kandanThreadId],["LINZUMI_THREAD_RUNNER_TOKEN",e.token],["LINZUMI_DEV_SERVICES_PARENT_PID",t.toString()]],i=e.codexModelProvider;return i!==void 0&&n.push(["LINZUMI_LLM_PROXY_TOKEN",i.llmProxyToken]),n.push(["LINZUMI_THREAD_RUNNER_AGENT_MCP_TOKEN",x(e.linzumiAgentMcpToken,"")]),r!==void 0&&n.push(["OPENAI_API_KEY",r]),n}function wR(e){let t=e.length;return t>12e3?e.slice(t-12e3|0,t):e}function Wm(e){let t=rn(e.code,"null",o=>o.toString()),r=x(e.signal,"null"),n="thread Codex worker exited before ready: code="+t+" signal="+r,i=e.capturedOutput.trim();return i===""?n:n+`
327
- worker output: `+i}function kR(e,t){return"thread Codex worker did not report ready within "+t.toString()+"ms for Kandan thread "+e}var IH="thread runner ready timeout must be a non-negative number";function xR(e){let t=x(e,3e4);return isFinite(t)&&t>=0?{TAG:"Ok",_0:t}:{TAG:"Error",_0:IH}}var TR="thread worker start preflight failed";function $H(e){return Wo.isAbsolute(e)||new RegExp("^[A-Za-z]:[\\\\/]").test(e)?!0:e.startsWith("\\\\")}function MH(e){return e===""?!0:!$H(e)&&e!==".."&&!e.startsWith("../")&&!e.startsWith("..\\")&&!e.includes("/../")?!e.includes("\\..\\"):!1}function AR(e,t,r){if(e===void 0)return{TAG:"CwdRefused",reason:"missing_cwd"};if(e.trim()==="")return{TAG:"CwdRefused",reason:"missing_cwd"};if(t.length===0)return{TAG:"CwdRefused",reason:"no_allowed_cwd"};let i=Dn(Wo.resolve(e));if(i.TAG!=="Ok")return{TAG:"CwdRefused",reason:"cwd_not_found"};let o=i._0,a=t.find(s=>MH(Wo.relative(s,o)));return a!==void 0?r(o)?{TAG:"CwdRefused",reason:"cwd_dangerous"}:{TAG:"CwdAllowed",cwd:o,matchedRoot:a}:{TAG:"CwdRefused",reason:"cwd_not_allowed"}}function OR(e,t,r){if(r.TAG==="CwdAllowed")return;let n=r.reason,o=t.length!==0?t.join(", "):"none";return{reason:n,message:TR+" ("+n+"): working directory "+e+" cannot start a coding session on this runner (allowed roots: "+o+")"}}function jH(e){return e.split(`
328
- `).map(t=>t.trim()).find(t=>t.startsWith(TR))}var Ire=new RegExp("worker exited before ready|worker did not report ready within","i");function CR(e,t){let r=e.trim(),n=r.length,i=" ... ",o=i.length,a=n<=t,s=t<(o+2|0);if(a)return r;if(s)return r.slice(n-Math.max(1,t)|0,n);let l=Math.max(1,Math.floor((t-o|0)/3)|0),d=Math.max(1,(t-o|0)-l|0);return r.slice(0,l)+i+r.slice(n-d|0,n)}function zH(e){return new Promise((t,r)=>{setTimeout(()=>t(),e)})}async function ER(e,t,r,n,i,o){let a=o!==void 0?o:CH,s=Math.max(1,x(t,2)),l=x(r,250),d=x(n,zH),u,c,f=1;for(;mn(u)&&f<=s;){let m=f,h=await e(m);if(h.TAG==="Ready")u={TAG:"Ok",_0:h._0};else{let _=h._0;c=_;let g=jH(_.capturedOutput),b=m<s&&mn(g),y={};y.purpose=Zv,y.attempt=m,y.maxAttempts=s,y.code=rn(_.code,null,v=>v),y.signal=rn(_.signal,null,v=>v),y.capturedOutput=_.capturedOutput,y.willRespawn=b,g!==void 0&&(y.deterministicPreflightFailure=g),a("runner.thread_runner_exited_before_ready",y),g!==void 0?u={TAG:"Error",_0:g}:(b&&(i!==void 0&&i({attemptNumber:m+1|0,previous:_}),l>0&&await d(l)),f=m+1|0)}}let p=u;return p!==void 0?p:{TAG:"Error",_0:Wm(x(c,{code:void 0,signal:void 0,capturedOutput:""}))}}var PR=3e4;function NH(e){let t=ke(e);return t!==void 0?zv(t):{TAG:"ResultReply",_0:null}}function RR(e,t){let r={contents:void 0},n=[],i=(m,h)=>{try{return m(h)}catch(_){let g=ee(_);return t("codex.close_callback_failed",Object.fromEntries([["purpose","codex.app_server"],["message",Ne(g).message]]))}};return{client:{request:(m,h)=>e.request(m,k(h,ke)).then(_=>wt(_,NH)),notify:(m,h)=>{e.notify(m,k(h,ke))},onNotification:m=>e.onNotification(h=>{let _=ke(h);if(_===void 0)return;let g=_.method;if(typeof g=="string")return m({method:g,params:_.params})}),onRequest:m=>e.onRequest(async h=>{let _=ke(h);if(_===void 0)return{TAG:"Ok",_0:void 0};let g=_.method;if(g===void 0)return{TAG:"Ok",_0:void 0};if(typeof g!="string")return{TAG:"Ok",_0:void 0};let b;try{b=await m({id:x(_.id,null),method:g,params:_.params})}catch(y){let v=ee(y);return{TAG:"Error",_0:Ne(v).message}}return b!==void 0?{TAG:"Ok",_0:b}:{TAG:"Ok",_0:void 0}}),onClose:m=>{let h=r.contents;if(h!==void 0)return i(m,h);n.push(m)},isClosed:()=>Dt(r.contents)?!0:e.isClosed(),close:()=>e.close()},signalClosed:m=>{if(r.contents!==void 0)return;r.contents=m;let _=n.slice();n.splice(0,n.length),_.forEach(g=>i(g,m))}}}function IR(e){let t={contents:1};return{request:(r,n)=>{let i=t.contents;return t.contents=i+1,e.request(r,G(n,o=>o)).then(o=>wt(o,a=>a.TAG==="ResultReply"?Object.fromEntries([["id",i],["result",a._0]]):Object.fromEntries([["id",i],["error",Object.fromEntries([["code",a.code],["message",a.message]])]])))},notify:(r,n)=>e.notify(r,G(n,i=>i)),onNotification:r=>e.onNotification(n=>{let i={};i.method=n.method;let o=n.params;o!==void 0&&(i.params=o),r(i)}),onRequest:r=>e.onRequest(async n=>{let i={};i.id=n.id,i.method=n.method;let o=n.params;o!==void 0&&(i.params=o);let a=await r(i);if(a.TAG==="Ok")return a._0})}}function GH(e,t){try{return e.send(t),{TAG:"Ok",_0:void 0}}catch(r){let n=ee(r);return{TAG:"Error",_0:Ne(n).message}}}function Tu(e,t){try{e.kill(t);return}catch{return}}function FH(e){try{e.disconnect();return}catch{return}}function DH(e,t,r,n,i){return new Promise((o,a)=>{let s=Hv.spawn(process.execPath,e,{cwd:t,env:r,stdio:["inherit","pipe","pipe","ipc"]}),l=Zm({stop:()=>Tu(s,"SIGTERM"),pid:Rr(s.pid),ownProcessGroup:!1,kind:"thread-worker"});s.once("exit",(_,g)=>l.unregister()),i(s);let d={contents:""},u={contents:!0},c={contents:!1},f=_=>{if(!c.contents)return c.contents=!0,u.contents=!1,o(_)},p=(_,g)=>{if(_!=null){_.on("data",b=>{let y=b.toString("utf8");u.contents&&(d.contents=wR(d.contents+y)),g.write(y)});return}};p(s.stdout,process.stdout),p(s.stderr,process.stderr);let m=_=>{let g=tR(_,n);if(g.TAG==="Ok"){let b=g._0;return b!==void 0?(s.off("message",m),s.off("exit",h),f({TAG:"WorkerReady",worker:s,ports:b.commanderManagedPorts})):void 0}Tu(s,"SIGKILL"),f({TAG:"WorkerInvalidReady",_0:g._0})},h=(_,g)=>f({TAG:"WorkerExitedBeforeReady",_0:{code:_==null?void 0:We(_),signal:g==null?void 0:We(g),capturedOutput:d.contents}});s.on("message",m),s.once("exit",h),s.on("error",_=>f({TAG:"WorkerExitedBeforeReady",_0:{code:void 0,signal:void 0,capturedOutput:_.message}}))})}async function MR(e,t){let r=yR(process.argv[1],process.cwd());if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=r._0,i=xR(void 0);if(i.TAG!=="Ok")return{TAG:"Error",_0:i._0};let o=i._0,a=["run"].concat(bR(e)),s=Wv(n,a,process.execArgv),l=e.codexModelProvider,d;if(l!==void 0&&l.provider==="openai-proxy"){let _=G(process.env.OPENAI_API_KEY,g=>g.trim());d=_!==void 0&&_!==""?_:void 0}else d=void 0;let u=Object.fromEntries(Object.entries(process.env));SR(e,process.pid,d).forEach(_=>{u[_[0]]=_[1]}),t("process.spawn",Object.fromEntries([["command",process.execPath],["args",Wv(n,vR(a),process.execArgv).map(_=>_)],["cwd",e.cwd],["purpose",Zv]]));let c={contents:void 0},f={contents:!1},p=(async()=>{let _=await ER(b=>DH(s,e.cwd,u,e.kandanThreadId,y=>{c.contents=We(y)}).then(y=>{switch(y.TAG){case"WorkerExitedBeforeReady":return{TAG:"ExitedBeforeReady",_0:y._0};case"WorkerReady":case"WorkerInvalidReady":return{TAG:"Ready",_0:y}}}),void 0,void 0,void 0,void 0,t);if(_.TAG!=="Ok")return{TAG:"Error",_0:_._0};let g=_._0;switch(g.TAG){case"WorkerReady":return{TAG:"Ok",_0:g};case"WorkerExitedBeforeReady":return{TAG:"Error",_0:Wm(g._0)};case"WorkerInvalidReady":return{TAG:"Error",_0:g._0}}})();p.then(_=>{if(!f.contents||_.TAG!=="Ok")return;let b=_._0;switch(b.TAG){case"WorkerReady":return Tu(b.worker,"SIGKILL");case"WorkerExitedBeforeReady":case"WorkerInvalidReady":return}});let m=await Promise.race([p,new Promise((_,g)=>{setTimeout(()=>{f.contents=!0;let b=c.contents;b!==void 0&&Tu(ue(b),"SIGKILL"),_({TAG:"Error",_0:kR(e.kandanThreadId,o)})},o)})]);if(m.TAG!=="Ok")return{TAG:"Error",_0:m._0};let h=m._0;switch(h.TAG){case"WorkerReady":let _=h.worker,g=[],Z=oR({send:B=>GH(_,B),isConnected:()=>nn(Rr(_.connected),!1),onMessage:B=>{_.on("message",B);let oe=()=>{_.off("message",B)};return g.push(oe),oe},onceExit:B=>{let oe=(W,V)=>B();return _.once("exit",oe),()=>{_.off("exit",oe)}},onceDisconnect:B=>{let oe=()=>B();return _.once("disconnect",oe),()=>{_.off("disconnect",oe)}}},t),L=RR(Z,t);_.on("message",B=>{let oe=eR(B);if(oe!==void 0)return t("runner.thread_codex_worker_session_closed",Object.fromEntries([["kandanThreadId",oe[0]],["reason",oe[1]]]))});let ae=[],U={contents:!1};return _.once("exit",(B,oe)=>{U.contents=!0,L.signalClosed("codex thread worker exited");let W=ae.slice();ae.splice(0,ae.length),W.forEach(V=>V())}),{TAG:"Ok",_0:{client:L.client,pid:Rr(_.pid),commanderManagedPorts:h.ports,onExit:B=>{if(U.contents)return B();ae.push(B)},close:()=>{Z.close(),g.forEach(B=>B()),FH(_),Tu(_,"SIGTERM")}}};case"WorkerExitedBeforeReady":return{TAG:"Error",_0:Wm(h._0)};case"WorkerInvalidReady":return{TAG:"Error",_0:h._0}}}function jR(e,t){return new Promise((r,n)=>{let i;try{i={TAG:"Ok",_0:Hv.spawn(e,["login","status"],{cwd:t,env:process.env,stdio:["ignore","pipe","pipe"]})}}catch(l){let d=ee(l);i={TAG:"Error",_0:Ne(d).message}}if(i.TAG!=="Ok")return r();let o=i._0,a={contents:!1},s=()=>{if(!a.contents)return a.contents=!0,r()};setTimeout(()=>{Tl(o,"SIGTERM"),s()},3e3),o.once("exit",(l,d)=>s()),o.on("error",l=>s())})}function Bv(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 Vm(e,t,r){return wt(Bv(e,t,r),n=>n==="on-failure"?"on-request":n)}function zR(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}}}var NR="kandan-local-runner",GR="pragmatic";import*as DR from"node:os";import*as Vo from"node:path";function Kv(e){let t=oa(e,"LINZUMI_CONTROL_CURSOR_DIR");return t!==void 0&&t.trim()!==""?t.trim():Vo.join(DR.homedir(),".linzumi","control-cursors")}var LH=new RegExp("[^A-Za-z0-9._-]+","g"),UH=new RegExp("^[-.]+|[-.]+$","g");function Jv(e){let t=e.replace(LH,"-").replace(UH,"").slice(0,80),r=qn(e).slice(0,8);return(t===""?"runner":t)+"."+r}function qR(e,t){return Vo.join(Kv(t),Jv(e)+".json")}function LR(e,t){return Vo.join(Kv(t),Jv(e)+".start-turn.json")}function UR(e,t){return Vo.join(Kv(t),Jv(e)+".source-seq.json")}function ZR(e,t){return e+" "+t}function WR(e,t,r){return e+" "+t+" "+r}var VR="__control_epoch";function ZH(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],a=i[0];if(a===VR)if(typeof o=="string"&&o!==""){n.contents=o;return}else return;else if(typeof o=="number"&&Ot(o)&&o>=0){r[a]=o;return}else return}),{TAG:"Ok",_0:{cursors:r,epoch:n.contents}}}function WH(e,t){let r=Xt(e);if(r.TAG==="Ok"){let i=ZH(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 si(n,"ENOENT")||t("control_cursor_store.read_failed",Object.fromEntries([["path",e],["message",n.message]])),{cursors:{},epoch:void 0}}function VH(e,t){let r={};return t!==void 0&&(r[VR]=t),Object.entries(e).forEach(n=>{r[n[0]]=n[1]}),JSON.stringify(r)+`
329
- `}function Hm(e,t,r,n){let i=r!==void 0?r:!1,o=n!==void 0?n:!1,a=WH(e,t),s=a.cursors,l={contents:a.epoch},d={contents:!1},u={contents:void 0},c=()=>{if(!d.contents)return;d.contents=!1;let m=VH(s,l.contents),h=e+".tmp",_=he(qt(Vo.dirname(e)),()=>o?jw(h,e,Vo.dirname(e),m):he(Ti(h,m),()=>li(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=We(h)},p=()=>{let m=u.contents;m!==void 0&&(clearTimeout(ue(m)),u.contents=void 0),c()};return{initial:m=>s[m],onAdvance:(m,h)=>{let _=s[m];_!==void 0&&h<=_||(s[m]=h,f())},reset:(m,h)=>{if(!de(s[m],h))return s[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(s).length!==0;return l.contents=m,(h||_)&&(_&&t("control_cursor_store.pre_epoch_seqs_discarded",Object.fromEntries([["path",e],["epoch",m],["discardedSeqs",Object.entries(s).length]])),Object.entries(s).forEach(g=>cr(s,g[0]))),f(),(h||_)&&p(),h}}}function HR(e,t,r,n,i){return{current:()=>e.epoch(),adopt:(o,a)=>{let s=e.epoch(),l=e.adoptEpoch(a),d=t.adoptEpoch(a),u=l||d;return u&&r("kandan.control_epoch_changed",Object.fromEntries([["runnerId",n],["kandanUrl",i],["topic",o],["previousEpoch",s!==void 0?s:null],["epoch",a],["controlCursorCleared",l],["startTurnWatermarksCleared",d]])),u}}}var $re=1800*1e3;var Mre=new RegExp("[^A-Za-z0-9._-]+","g"),jre=new RegExp("^[-.]+|[-.]+$","g");function BR(e){return{initial:t=>e.initial(t),onAdvance:(t,r)=>e.onAdvance(t,r),flush:()=>e.flush()}}function Bm(e,t){return e!==void 0?t>e:!0}function Au(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 KR(e){return e!==void 0?Array.isArray(e)?ze(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,a=o!==void 0&&typeof o=="number"&&Ot(o)?o:void 0,s=t.leaseEpoch,l=s!==void 0&&typeof s=="number"&&Ot(s)?s:void 0;return{channelId:i,threadId:r,highestProcessedSourceSeq:a,leaseEpoch:l}}):[]:[]}function YR(){let e=new Map;return{current:t=>e.get(t),adopt:(t,r)=>{if(!Ot(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 Km(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function YH(e,t){let r=e[t];if(typeof r=="string")return r}function Ho(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&isFinite(r)&&Math.round(r)===r)return r}function Yv(e){return G(Km(e,"usage"),t=>({inputTokens:Ho(t,"input_tokens"),outputTokens:Ho(t,"output_tokens"),cacheCreationInputTokens:Ho(t,"cache_creation_input_tokens"),cacheReadInputTokens:Ho(t,"cache_read_input_tokens")}))}function eI(){return{completed:{inputTokens:0,outputTokens:0,cacheCreationInputTokens:0,cacheReadInputTokens:0},current:void 0,lastEmittedKey:void 0}}function XR(e,t){let r=n=>t!==void 0?n(t):0;return{inputTokens:x(Ho(e,"input_tokens"),r(n=>n.inputTokens)),outputTokens:x(Ho(e,"output_tokens"),r(n=>n.outputTokens)),cacheCreationInputTokens:x(Ho(e,"cache_creation_input_tokens"),r(n=>n.cacheCreationInputTokens)),cacheReadInputTokens:x(Ho(e,"cache_read_input_tokens"),r(n=>n.cacheReadInputTokens))}}function QR(e){let t=(s,l)=>{let d=e.current;return s+(d!==void 0?l(d):0)},r=t(e.completed.inputTokens,s=>s.inputTokens),n=t(e.completed.outputTokens,s=>s.outputTokens),i=t(e.completed.cacheCreationInputTokens,s=>s.cacheCreationInputTokens),o=t(e.completed.cacheReadInputTokens,s=>s.cacheReadInputTokens),a=r.toString()+":"+n.toString()+":"+(i.toString()+":"+o.toString());if(!de(e.lastEmittedKey,a))return e.lastEmittedKey=a,{inputTokens:r,outputTokens:n,cacheCreationInputTokens:i,cacheReadInputTokens:o}}function tI(e,t){let r=k(t,n=>YH(n,"type"));if(r!==void 0)switch(r){case"message_delta":let n=k(t,a=>Km(a,"usage"));return n!==void 0?(e.current=XR(n,e.current),QR(e)):void 0;case"message_start":let i=k(k(t,a=>Km(a,"message")),a=>Km(a,"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=XR(i,void 0),QR(e);default:return}}function Ou(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 Qv(e){return e==="Text"?"text":"thinking"}function iI(){return{activeMessageId:void 0,syntheticMessageCounter:0,completedMessageIds:[],consumedAssistantMessageIds:new Set,blocksByMessageId:{}}}function Xv(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function Bo(e,t){let r=e[t];if(typeof r=="string")return r}function nI(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&isFinite(r)&&Math.round(r)===r)return r|0}function eS(e,t){return e.syntheticMessageCounter=e.syntheticMessageCounter+1|0,"synthetic-claude-message:"+t+":"+e.syntheticMessageCounter.toString()}function QH(e,t){let r=e.activeMessageId;if(r!==void 0)return r;let n=eS(e,t);return e.activeMessageId=n,n}function tS(e,t){return"claude-message:"+e+":content-block:"+t.toString()}function Jm(e,t,r,n){if(r===void 0)return;let i=QH(e,"orphan-stream-event"),o=e.blocksByMessageId[i],a;if(o!==void 0)a=o;else{let l=[];e.blocksByMessageId[i]=l,a=l}let s=a.find(l=>l.index===r);s!==void 0?s.content=s.content+x(n,""):a.push({kind:t,index:r,content:x(n,"")})}function oI(e,t){let r=k(t,n=>Bo(n,"type"));if(r!==void 0)switch(r){case"content_block_delta":let n=k(t,c=>Xv(c,"delta")),i=k(t,c=>nI(c,"index")),o=k(n,c=>Bo(c,"type"));if(o!==void 0)switch(o){case"text_delta":Jm(e,"Text",i,k(n,c=>Bo(c,"text")));break;case"thinking_delta":Jm(e,"Thinking",i,k(n,c=>Bo(c,"thinking")));break}return e.activeMessageId;case"content_block_start":let a=k(t,c=>Xv(c,"content_block")),s=k(t,c=>nI(c,"index")),l=k(a,c=>Bo(c,"type"));if(l!==void 0)switch(l){case"text":Jm(e,"Text",s,k(a,c=>Bo(c,"text")));break;case"thinking":Jm(e,"Thinking",s,k(a,c=>Bo(c,"thinking")));break}return e.activeMessageId;case"message_start":let d=k(k(t,c=>Xv(c,"message")),c=>Bo(c,"id"));e.activeMessageId=d!==void 0?d:eS(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 aI(e,t){if(t!==void 0){e.consumedAssistantMessageIds.add(t);let n=ia(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):eS(e,"missing-assistant-frame-id")}function sI(e,t){let r=e.blocksByMessageId[t];return r!==void 0?(cr(e.blocksByMessageId,t),r.toSorted((n,i)=>Xu(n.index,i.index))):[]}function lI(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function rS(e,t){let r=e[t];if(typeof r=="string")return r}function nS(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&isFinite(r))return r}function t3(e){if(e===void 0||e<0)return;let t=e<=1?e*100:e;return Math.min(100,Math.round(t))}function r3(e){if(e!==void 0&&e>0)return e>1e12?Math.round(e):Math.round(e*1e3)}function iS(e){let t=rS(e,"status"),r=rS(e,"rateLimitType"),n=r!==void 0?r:rS(e,"rate_limit_type"),i=t3(nS(e,"utilization")),o=nS(e,"resetsAt"),a=r3(o!==void 0?o:nS(e,"resets_at"));if(!(t===void 0&&i===void 0&&a===void 0))return{status:t,windowLabel:n,utilizationPercent:i,resetsAtMs:a}}function dI(e){let t=lI(e,"rate_limit_info");if(t!==void 0)return iS(t);let r=lI(e,"rate_limit");return iS(r!==void 0?r:e)}var i3="edge_blocked";function o3(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 cI(e,t){let r=e.exec(t);if(r==null)return;let n=r.slice(1)[0];if(n===void 0)return;let i=ue(n);if(i!==void 0)return i}var a3=[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")],s3=[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")],l3=new RegExp('"error"\\s*:\\s*\\{[^{}]*?"message"\\s*:\\s*"((?:[^"\\\\]|\\\\.){1,500})"');function uI(e,t){return Ve(e,void 0,(r,n)=>r!==void 0?r:cI(n,t))}function d3(e){let t;try{t=JSON.parse('"'+e+'"')}catch{return e}return typeof t=="string"?t:e}function u3(e){let t=cI(l3,e),n=(t!==void 0?d3(t):e).trim();return n.length<=200?n:n.slice(0,199)+"\u2026"}function fI(e){return{status:k(uI(a3,e),t=>ga(t,void 0)),requestId:uI(s3,e),edgeBlocked:o3(e),message:u3(e)}}function oS(e){return Dt(e.status)||Dt(e.requestId)?!0:e.edgeBlocked}function mI(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="+i3+"]")),r.length!==0?e+" ("+r.join(", ")+")":e}function pI(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 gI(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:eI(),identity:iI()}}function Al(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function Rt(e,t){let r=e[t];if(typeof r=="string")return r}function hI(e,t){let r=e[t];if(typeof r=="boolean")return r}function aS(e,t){let r=e[t];if(Array.isArray(r))return r}function Ko(e){if(e===void 0)return;let t=e.trim();if(t!=="")return t}function f3(e){let t=Rt(e,"session_id"),r=t!==void 0?t:Rt(e,"sessionId");if(r!==void 0)return r;let n=Al(e,"message");if(n===void 0)return;let i=Rt(n,"session_id");return i!==void 0?i:Rt(n,"sessionId")}function m3(e,t){if(e.sessionAnnounced)return!1;let r=f3(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 Cu(e,t){return e.startedTurns.has(t)?!e.terminalTurns.has(t):!1}var yI=Cu;function bI(e){let t=e.activeTurnId;return t!==void 0?Cu(e,t):!1}function vI(e,t){e.mintedTurnCount=e.mintedTurnCount+1|0;let r="claude:"+t+":turn:"+e.mintedTurnCount.toString();return e.pendingTurnIds.push(r),r}function Ol(e){let t=e.activeTurnId;if(t!==void 0&&Cu(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 sS(e,t){if(e.terminalTurns.add(t),de(e.activeTurnId,t)){e.activeTurnId=void 0;return}}function _I(e){return e.turnId+"/"+e.itemId+"/"+e.streamKind}function lS(e,t){if(!e.startedItems.has(_I(t)))return e.startedItems.add(_I(t)),e.emitEvent({TAG:"ItemStarted",item:t})}function dS(e,t,r){lS(e,t),e.emitEvent({TAG:"ItemCompleted",item:t,content:r})}function p3(e,t,r){lS(e,t),e.emitEvent({TAG:"ItemDelta",item:t,delta:r})}function es(e,t){let r=e.activeTurnId;if(x(G(r,n=>Cu(e,n)),!0))return e.emitEvent({TAG:"ActivityPulse",turnId:r,signalKind:t})}function h3(e,t){let r=ze(x(aS(e,"errors"),[]),a=>{if(typeof a=="string")return Ko(a)}).join("; "),n=Ko(r);if(n!==void 0)return n;let i=Ko(Rt(e,"result"));if(i!==void 0)return i;let o=Ko(Rt(e,"error"));return o!==void 0?o:x(t,"error")}function _3(e){let t=Rt(e,"subtype"),r=x(hI(e,"is_error"),!1),n=de(t,"interrupt")||de(t,"error_interrupted")||x(hI(e,"is_interrupt"),!1),i=r||de(t,"error_max_turns")||de(t,"error_during_execution");return n?"Interrupted":i?{TAG:"Errored",reason:h3(e,t)}:"Success"}function g3(e,t){let r=fI(t),n=r.status;return{fate:e!==void 0?e==="error_max_turns"?"deterministic":n!==void 0?Ou(n):"transient_upstream":n!==void 0?Ou(n):"transient_upstream",reason:oS(r)?mI("Claude Code failed: "+t,r):"Claude Code failed: "+t,providerDetail:oS(r)?pI(r):void 0}}function y3(e,t){let r=Rt(e,"id");if(r!==void 0)return r;let n=Rt(e,"tool_use_id");return n!==void 0?n:"content-block-"+t.toString()}function b3(e){return e==="Text"?"assistant":"reasoning"}function v3(e){let t={};t.type=Qv(e.kind);let r=e.kind,n;return n=r==="Text"?"text":"thinking",t[n]=e.content,t}function S3(e,t){let r=Ol(e),n=Al(t,"message"),i=x(k(n,y=>aS(y,"content")),[]),o=aI(e.identity,k(n,y=>Rt(y,"id"))),s=sI(e.identity,o).filter(y=>y.content.trim()!==""),l={};s.forEach(y=>{let v=Qv(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)?Rt(y,"type"):void 0,S===void 0)return;switch(S){case"text":case"thinking":break;default:return}let A=x(S,""),R=d[A];R!==void 0?R.push(v):d[A]=[v]});let u=new Set;s.forEach(y=>{u.add(y.index)});let c=(y,v)=>{let S=x(d[y],[]),A=ia(S,v);A!==void 0&&S.splice(A,1);let R=x(l[y],[]),Z=R[0];if(Z!==void 0&&v<Z)return R.shift(),!0;let L=ia(R,v);if(L!==void 0)return R.splice(L,1),!0;let ae=ec(R,U=>!S.includes(U));return ae!==void 0?(R.splice(ae,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:tS(o,y),streamKind:v}),m=[];s.forEach(y=>{m.push({index:y.index,events:[[p(y.index,b3(y.kind)),v3(y)]]})}),i.forEach((y,v)=>{if(typeof y!="object"||y===null||Array.isArray(y))return;let S=Rt(y,"type");if(S!==void 0)switch(S){case"text":if(c("text",v))return;if(Ko(Rt(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(Ko(Rt(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:y3(y,v),streamKind:"command_output"},y]]});return;default:return}});let h=i.some(y=>typeof y=="object"&&y!==null&&!Array.isArray(y)?de(Rt(y,"type"),"text"):!1),_=s.some(y=>y.kind==="Text"),g=h||_,b=Ko(Rt(t,"text"));return g||b===void 0||m.push({index:i.length,events:[[p(f(i.length),"assistant"),b]]}),m.toSorted((y,v)=>Xu(y.index,v.index)).flatMap(y=>y.events)}function w3(e){if(e!==void 0&&e!=="")return e}function k3(e,t){let r=Al(t,"event"),n=tI(e.usage,r),i=oI(e.identity,r),o={contents:!1};if(n!==void 0){let d=Ol(e);e.emitEvent({TAG:"UsageUpdated",turnId:d,usage:n}),o.contents=!0}let a=(d,u)=>G(i,c=>({turnId:Ol(e),itemId:tS(c,d),streamKind:u})),s=d=>{let u=d.index;if(u!==void 0&&typeof u=="number"&&isFinite(u)&&Math.round(u)===u)return u|0},l=k(r,d=>Rt(d,"type"));if(l!==void 0)switch(l){case"content_block_delta":let d=k(r,b=>Al(b,"delta")),u=k(r,s),c=(b,y)=>{let v=w3(y);if(u===void 0||v===void 0)return;let S=a(u,b);if(S!==void 0){p3(e,S,v),o.contents=!0;return}},f=k(d,b=>Rt(b,"type")),p=0;f==="thinking_delta"?c("reasoning",k(d,b=>Rt(b,"thinking"))):p=1,p===1&&c("assistant",k(d,b=>Rt(b,"text")));break;case"content_block_start":let m=k(r,b=>Al(b,"content_block")),h=k(r,s),_=(b,y,v)=>{let S=Ko(y);if(h===void 0||S===void 0)return;let A=a(h,b);if(A!==void 0){dS(e,A,v),o.contents=!0;return}},g=k(m,b=>Rt(b,"type"));if(g!==void 0)switch(g){case"text":_("assistant",k(m,b=>Rt(b,"text")),x(G(m,b=>b),null));break;case"thinking":_("reasoning",k(m,b=>Rt(b,"thinking")),x(G(m,b=>b),null));break}break}if(!o.contents)return es(e,"stream_event")}function x3(e,t){let r=Al(t,"message"),n=x(k(r,o=>aS(o,"content")),[]),i={contents:!1};if(n.forEach((o,a)=>{if(typeof o!="object"||o===null||Array.isArray(o)||!de(Rt(o,"type"),"tool_result"))return;let s=Ol(e),l=Rt(o,"tool_use_id"),d;if(l!==void 0)d=l;else{let u=Rt(o,"id");d=u!==void 0?u:"content-block-"+a.toString()}dS(e,{turnId:s,itemId:d,streamKind:"command_output"},o),i.contents=!0}),!i.contents)return es(e,"user")}function T3(e,t){sS(e,t),e.emitEvent({TAG:"TurnCompleted",turnId:t})}function A3(e,t,r){sS(e,t),e.emitEvent({TAG:"TurnInterrupted",turnId:t,reason:r})}function O3(e,t,r){sS(e,t),e.emitEvent({TAG:"TurnFailed",turnId:t,failure:r})}function C3(e,t){let r=_3(t);if(typeof r!="object"){if(r==="Success"){let i=Ol(e),o=Yv(t);return o!==void 0&&e.emitEvent({TAG:"UsageUpdated",turnId:i,usage:o}),T3(e,i)}let n=e.activeTurnId;return n!==void 0&&Cu(e,n)?A3(e,n,void 0):void 0}else{let n=Ol(e),i=Yv(t);return i!==void 0&&e.emitEvent({TAG:"UsageUpdated",turnId:n,usage:i}),O3(e,n,g3(Rt(t,"subtype"),r.reason))}}function SI(e,t){if(typeof t!="object"||t===null||Array.isArray(t))return;let r=m3(e,t),n=Rt(t,"type");if(n!==void 0)switch(n){case"assistant":S3(e,t).forEach(a=>{let s=a[0];return s.streamKind==="command_output"?lS(e,s):dS(e,s,a[1])});return;case"rate_limit_event":let i=dI(t);return i!==void 0?e.emitEvent({TAG:"RateLimitUpdated",rateLimit:i}):es(e,"rate_limit_event");case"result":return C3(e,t);case"stream_event":return k3(e,t);case"system":let o=Rt(t,"subtype");return o!==void 0?o==="init"?r?void 0:es(e,"system:init"):es(e,"system:"+o):es(e,"system");case"user":return x3(e,t);default:return es(e,n)}}var P3=["liveModelSwitch","liveEffortSwitch","sessionHistoryListing","slashCommandCatalog"];function Cl(e){let t=vr(e);return t!==void 0?x(Cr(ue(t)),"unknown error"):"unknown error"}function wI(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 AI(e){let t=G(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 kI(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 R3(e,t,r){let n={};return n.tool_name=e,n.input=t,r!==void 0&&(n.suggestions=r),n}function I3(e,t){let r={};return r.behavior="allow",r.toolUseID=e,r.updatedInput=t,r}function OI(e,t){let r={};return r.behavior="deny",r.message=x(t,"denied by the approval bridge"),r.toolUseID=e,r}function xI(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(l){let d=ee(l);r={TAG:"Error",_0:{fate:"transient_local",reason:"setModel failed: "+Cl(d),providerDetail:void 0}}}if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=AI(t.reasoningEffort),i;if(typeof n!="object")if(n==="ClearEffort"&&Dt(e.currentEffort))try{let l={};l.effortLevel=null,await e.connection.applyFlagSettings(l),e.currentEffort=void 0,i={TAG:"Ok",_0:void 0}}catch(l){let d=ee(l);i={TAG:"Error",_0:{fate:"transient_local",reason:"applyFlagSettings failed: "+Cl(d),providerDetail:void 0}}}else i={TAG:"Ok",_0:void 0};else{let l=n._0;if(nn(l,e.currentEffort))try{let d={};d.effortLevel=l,await e.connection.applyFlagSettings(d),e.currentEffort=l,i={TAG:"Ok",_0:void 0}}catch(d){let u=ee(d);i={TAG:"Error",_0:{fate:"transient_local",reason:"applyFlagSettings failed: "+Cl(u),providerDetail:void 0}}}else i={TAG:"Ok",_0:void 0}}if(i.TAG!=="Ok")return{TAG:"Error",_0:i._0};let o=()=>({turnId:vI(e.projector,e.harnessSessionId)});if(e.harnessSessionId===""){if(!e.input.push(kI(t.input)))return{TAG:"Error",_0:{fate:"transient_local",reason:"the streaming input is closed; no turn can be dispatched",providerDetail:void 0}};let l=await e.adoption;return l.TAG!=="Ok"?{TAG:"Error",_0:l._0}:(e.harnessSessionId=l._0,{TAG:"Ok",_0:o()})}let a=o();if(e.input.push(kI(t.input)))return{TAG:"Ok",_0:a};let s=ia(e.projector.pendingTurnIds,a.turnId);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(!yI(e.projector,t))return{TAG:"Ok",_0:void 0};try{return await e.connection.interrupt(),{TAG:"Ok",_0:void 0}}catch(r){let n=ee(r);return{TAG:"Error",_0:{fate:"transient_local",reason:"interrupt failed: "+Cl(n),providerDetail:void 0}}}},respondToApproval:(t,r)=>{let n=ec(e.pendingApprovals,a=>a.requestId===t),i=k(n,a=>e.pendingApprovals[a]);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 a=r.updatedInput;o=I3(t,a!==void 0?a:i.toolInput)}else o=OI(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 TI(e,t,r,n,i){let o=xP(),a={contents:void 0},s=U=>{let B=a.contents;if(!(B!==void 0&&B.stopped))return i(U)},l={contents:void 0},d=new Promise((U,B)=>{l.contents=U}),u=U=>{let B=l.contents;if(B!==void 0)return l.contents=void 0,B(U)},c=gI(n,U=>u({TAG:"Ok",_0:U}),s),f=(U,B,oe)=>new Promise((W,V)=>{let M=oe.toolUseID,N=a.contents;return N!==void 0?(N.pendingApprovals.push({requestId:M,toolInput:B,resolveDecision:W}),s({TAG:"ApprovalRequested",request:{requestId:M,turnId:c.activeTurnId,kind:"canUseTool",summary:U,payload:R3(U,B,Rr(oe.suggestions))}})):W(OI(M,"approval bridge not ready"))}),p=AI(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 U={};h!==void 0?Object.entries(h).forEach(B=>{U[B[0]]=B[1]}):Object.entries(process.env).forEach(B=>{U[B[0]]=B[1]}),Object.entries(t.environment).forEach(B=>{U[B[0]]=B[1]}),g=U}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 R=e.sdk.query({prompt:o.iterable,options:{cwd:t.cwd,model:t.model,persistSession:!0,includePartialMessages:!0,includeHookEvents:!0,tools:y,settingSources:["user","project","local"],systemPrompt:v,mcpServers:t.mcpServers,resume:n,permissionMode:r,allowDangerouslySkipPermissions:A,effort:m,env:g,canUseTool:f}}),Z={harnessSessionId:x(n,""),currentModel:t.model,currentEffort:m,input:o,connection:R,projector:c,pendingApprovals:[],stopped:!1,diedReported:!1,adoption:d};a.contents=Z;let L=U=>{if(!(Z.stopped||Z.diedReported))return Z.diedReported=!0,e.audit("claude.sdk_stream_died",Object.fromEntries([["reason",U]])),s({TAG:"HarnessDied",failure:{fate:"transient_local",reason:U,providerDetail:void 0}})};return(async()=>{let U=!0;for(;U;){let B;try{B=await Z.connection.next()}catch(oe){let W=ee(oe);U=!1;let V="Claude Code SDK stream threw: "+Cl(W);u({TAG:"Error",_0:{fate:"transient_local",reason:V,providerDetail:void 0}}),L(V),B=void 0}if(B!==void 0)if(B.done){U=!1;let oe=bI(Z.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}}),L(oe)}else SI(Z.projector,B.value)}})(),{state:Z,started:d}}function CI(e){let t=[];return{harness:"claude-code",capabilities:P3,startSession:async(i,o)=>{let a=wI(i.approvalPolicy);if(a.TAG!=="Ok")return{TAG:"Error",_0:{fate:"deterministic",reason:a._0,providerDetail:void 0}};let s=TI(e,i,a._0,void 0,o);return s.started.then(l=>{if(l.TAG==="Ok"){s.state.harnessSessionId=l._0;return}}),t.push(s.state),{TAG:"Ok",_0:xI(s.state)}},attachSession:async(i,o,a)=>{let s=wI(o.approvalPolicy);if(s.TAG!=="Ok")return{TAG:"Error",_0:{fate:"deterministic",reason:s._0,providerDetail:void 0}};let l={};l.dir=o.cwd;let d;try{let c=await e.sdk.getSessionInfo(i,l);d={TAG:"Ok",_0:Dt(c==null?void 0:We(c))}}catch(c){let f=ee(c);d={TAG:"Error",_0:{fate:"transient_local",reason:"getSessionInfo failed: "+Cl(f),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=TI(e,o,s._0,i,a);return t.push(u.state),{TAG:"Ok",_0:xI(u.state)}},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 Ym from"node:path";function uS(e){switch(e){case"rescript":return"Rescript";case"ts":return"Ts";default:return}}function El(e){return e==="Ts"?"ts":"rescript"}function cS(e){return Ym.join(e,".linzumi","commanderImpl")}function EI(e){let t=Xt(e);if(t.TAG==="Ok")return uS(t._0.trim())}function PI(e,t){let r=e+".tmp."+process.pid.toString()+"."+oc(6);return he(qt(Ym.dirname(e)),()=>{let n=he(Ti(r,El(t)+`
330
- `),()=>li(r,e));return n.TAG==="Ok"?{TAG:"Ok",_0:void 0}:(pn(r),{TAG:"Error",_0:n._0})})}import*as Qm from"node:path";function II(e,t){return e.LINZUMI_THREAD_RUNNER_ROLE==="thread"?"ThreadWorkerRole":t&&nn(e.LINZUMI_SUPERVISED,"1")?"SupervisorRole":"CommanderRole"}var j3=[["api-url","ValueFlag"],["linzumi-url","ValueFlag"],["cwd","ValueFlag"],["codex-bin","ValueFlag"],["workspace","ValueFlag"],["log-file","ValueFlag"],["debug-trace-dir","ValueFlag"],["debug-trace-content","ValueFlag"],["fast","BooleanFlag"],["allowed-cwd","ValueFlag"],["forward-port","ValueFlag"],["code-server-bin","ValueFlag"],["model","ValueFlag"],["reasoning-effort","ValueFlag"],["sandbox","ValueFlag"],["approval-policy","ValueFlag"],["model-provider","ValueFlag"],["llm-proxy-base-url","ValueFlag"],["vm-execution","BooleanFlag"],["execution-mode","ValueFlag"],["egress-mode","ValueFlag"],["project-public-id","ValueFlag"],["golden-image-id","ValueFlag"],["allow-port-forwarding-by-default","BooleanFlag"],["no-allow-port-forwarding-by-default","BooleanFlag"],["token","ValueFlag"]];function z3(e){let t={},r,n=0;for(;mn(r)&&n<e.length;){let o=e[n];if(o!==void 0)if(o.startsWith("--")){let a=o.slice(2,o.length),s=j3.find(l=>l[0]===a);if(s!==void 0)if(s[1]==="ValueFlag"){let l=e[n+1|0],d=0;l!==void 0&&!l.startsWith("--")?(t[a]={TAG:"FlagString",_0:l},n=n+2|0):d=1,d===1&&(r="missing value for --"+a)}else t[a]="FlagSet",n=n+1|0;else r="invalid flag: --"+a}else r="invalid argument: "+o;else n=n+1|0}let i=r;return i!==void 0?{TAG:"Error",_0:i}:{TAG:"Ok",_0:t}}function Pr(e,t){let r=e[t];if(r===void 0||typeof r!="object")return;let n=r._0;if(n.trim()!=="")return n}function Xm(e,t){let r=e[t];return r!==void 0?typeof r!="object":!1}var N3="use only one of --api-url or --linzumi-url";function G3(e){let t=Pr(e,"api-url"),r=Pr(e,"linzumi-url");return t!==void 0?r!==void 0&&t!==r?{TAG:"Error",_0:N3}:{TAG:"Ok",_0:t}:{TAG:"Ok",_0:r}}function F3(e){return e!==void 0?e.split(",").map(t=>t.trim()).filter(t=>t!==""):[]}function D3(e){return"invalid --forward-port: "+e+" is not a TCP port"}function q3(e){if(e===void 0)return{TAG:"Ok",_0:[]};let t=[],r={contents:void 0};e.split(",").forEach(i=>{let o=i.trim();if(!(o!==""&&mn(r.contents)))return;let a=x(jn(o),NaN),s=!Ot(a)||a<1||a>65535,l=t.includes(a);if(s){r.contents=D3(o);return}else{if(l)return;t.push(a);return}});let n=r.contents;return n!==void 0?{TAG:"Error",_0:n}:{TAG:"Ok",_0:t.toSorted((i,o)=>i-o)}}function fS(e,t){let r=e==="~",n=e.startsWith("~/");return r?t:n?Qm.resolve(t,e.slice(2,e.length)):e}function L3(e){if(e===void 0)return!1;switch(e){case"ELOOP":case"ENOENT":case"ENOTDIR":return!0;default:return!1}}function U3(e,t){let r=[],n=[];e.forEach(o=>{let a=Qm.resolve(fS(o,t)),s=Dn(a);if(s.TAG!=="Ok"){L3(s._0.code)?n.push(o):r.push(a);return}let l=s._0;(l===a?[l]:[l,a]).forEach(d=>{r.push(d)})});let i=o=>{let a=new Set;return o.filter(s=>a.has(s)?!1:(a.add(s),!0))};return{allowed:i(r),missing:i(n)}}function Z3(e){return"invalid requested cwd: "+e+" does not exist"}function W3(e,t){let r=Qm.resolve(fS(e,t)),n=Dn(r);if(n.TAG!=="Ok")return{TAG:"Error",_0:Z3(e)};let i=n._0;return{TAG:"Ok",_0:i===r?[i]:[i,r]}}function $I(e){return"Warning: ignoring allowed cwd root "+e+`: it does not exist (dropped from this runner's advertised roots)
331
- `}function mS(e){if(e!==void 0)switch(e){case"local_vm":return"local_vm";case"raw":return"raw";default:return}}function pS(e){if(e!==void 0)switch(e){case"hardened":return"hardened";case"open":return"open";default:return}}function RI(e){if(e!==void 0&&e.trim()!=="")return e.trim()}function V3(e){return"invalid --debug-trace-content: expected summary or full, got "+e}function H3(e){if(e===void 0)return{TAG:"Ok",_0:"summary"};switch(e){case"full":return{TAG:"Ok",_0:"full"};case"":case"summary":return{TAG:"Ok",_0:"summary"};default:return{TAG:"Error",_0:V3(e)}}}var B3="thread runner is missing LINZUMI_THREAD_RUNNER_KANDAN_THREAD_ID",K3="thread runner is missing LINZUMI_THREAD_RUNNER_TOKEN";function J3(e){let t=e.LINZUMI_THREAD_RUNNER_KANDAN_THREAD_ID;return t!==void 0&&t.trim()!==""?{TAG:"Ok",_0:t}:{TAG:"Error",_0:B3}}function Y3(e){let t=e.LINZUMI_THREAD_RUNNER_TOKEN;return t!==void 0&&t.trim()!==""?{TAG:"Ok",_0:t}:{TAG:"Error",_0:K3}}function X3(e){let t=e.LINZUMI_THREAD_RUNNER_AGENT_MCP_TOKEN;if(t!==void 0&&t.trim()!=="")return t.trim()}function Q3(e){return"unsupported --model-provider: "+e}function eB(e){return"--model-provider "+e+" requires --llm-proxy-base-url"}function tB(e){return"--model-provider "+e+" requires the LINZUMI_LLM_PROXY_TOKEN env credential"}function rB(e,t){let r=Pr(e,"model-provider");if(r===void 0)return{TAG:"Ok",_0:void 0};if(r!=="wafer"&&r!=="openai-proxy")return{TAG:"Error",_0:Q3(r)};let n=Pr(e,"llm-proxy-base-url");if(n===void 0)return{TAG:"Error",_0:eB(r)};let i=G(t.LINZUMI_LLM_PROXY_TOKEN,o=>o.trim());return i!==void 0&&i!==""?{TAG:"Ok",_0:{provider:r,llmProxyBaseUrl:n,llmProxyToken:i}}:{TAG:"Error",_0:tB(r)}}function MI(e,t){return he(z3(e),r=>{let n=Xm(r,"allow-port-forwarding-by-default"),i=Xm(r,"no-allow-port-forwarding-by-default");return he(n?i?{TAG:"Error",_0:"use only one of --allow-port-forwarding-by-default or --no-allow-port-forwarding-by-default"}:{TAG:"Ok",_0:!0}:i?{TAG:"Ok",_0:!1}:{TAG:"Ok",_0:!0},a=>he(G3(r),s=>{let l=x(s,$s),d=t.resolveBaseCwd(fS(x(Pr(r,"cwd"),t.processCwd()),t.home)),c=r["allowed-cwd"]!==void 0?U3(F3(Pr(r,"allowed-cwd")),t.home):{allowed:[],missing:[]};c.missing.forEach(t.warnStaleRoot);let f=c.allowed,p=f.length!==0?{TAG:"Ok",_0:f}:W3(d,t.home);return he(p,m=>he(J3(t.env),h=>he(Y3(t.env),_=>he(q3(Pr(r,"forward-port")),g=>he(rB(r,t.env),b=>{let y=Pr(r,"debug-trace-dir");return he(y!==void 0?wt(H3(Pr(r,"debug-trace-content")),v=>({dir:y,contentMode:v})):{TAG:"Ok",_0:void 0},v=>{let S=Pr(r,"codex-bin"),A=S!==void 0?{TAG:"Ok",_0:[S,void 0]}:wt(t.fallbackCodexBin(),R=>[R.codexBin,R.source]);return wt(A,R=>({options:{kandanUrl:l,token:_,cwd:d,codexBin:R[0],kandanThreadId:h,workspaceSlug:Pr(r,"workspace"),logFile:Pr(r,"log-file"),debugTrace:v,fast:Xm(r,"fast"),allowedCwds:m,allowedForwardPorts:g,codeServerBin:void 0,runtimeDefaults:{model:Pr(r,"model"),reasoningEffort:Pr(r,"reasoning-effort"),sandbox:Pr(r,"sandbox"),approvalPolicy:Pr(r,"approval-policy"),allowPortForwardingByDefault:a},codexModelProvider:b,vmExecution:Xm(r,"vm-execution"),executionMode:mS(Pr(r,"execution-mode")),egressMode:pS(Pr(r,"egress-mode")),projectPublicId:RI(Pr(r,"project-public-id")),goldenImagePublicId:RI(Pr(r,"golden-image-id")),linzumiAgentMcpToken:X3(t.env)},runnerId:"thread-codex-worker:"+h,missingAllowedCwds:c.missing,codexBinSource:R[1]}))})})))))}))})}var nB="thread Codex worker requires an IPC channel";async function jI(e,t){let r=t.ipc;if(r===void 0)return{TAG:"Error",_0:nB};let n=t.preflightFailure();if(n!==void 0){let l={};return l.kandanThreadId=e,l.reason=n.reason,l.message=n.message,t.log("runner.thread_worker_preflight_failed",l),t.writeStderr(n.message+`
332
- `),{TAG:"Ok",_0:{TAG:"PreflightRefused",reason:n.reason,message:n.message}}}let i=await t.startAppServer();if(i.TAG!=="Ok")return{TAG:"Error",_0:i._0};let o=await t.connectClient();if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let a=iR(o._0,r,t.log);if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};t.onSessionClosed(l=>{let d={};d.kandanThreadId=e,d.reason=l,t.log("runner.thread_codex_worker_session_closed",d);let u=r.send,c=r.isConnected();u!==void 0&&c&&u(QP(e,l)),t.stop()});let s=r.send;return s!==void 0&&s(XP(e,t.commanderManagedPorts())),await t.waitForStop(),t.stop(),{TAG:"Ok",_0:"Stopped"}}function _S(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function ti(e,t){let r=e[t];if(typeof r=="string")return r}function ts(e,t){let r=e[t];if(Array.isArray(r))return r}function Eu(e){return ze(e,t=>{if(typeof t!="object"||t===null||Array.isArray(t))return;if(ti(t,"type")==="text")return ti(t,"text")}).join(`
333
- `)}function gS(e,t,r,n){return e+":"+t+":"+r+":"+n}function Pu(e,t){let r=t.split(":"),n=r[0],i=r[1],o=r[2];if(n===void 0||i===void 0||o===void 0||!(n===e&&i!==""&&o!==""&&r.length>=4))return;let a=r.slice(3,r.length).join(":");if(a!=="")return{keySessionId:i,keyTurnId:o,keyItemId:a}}function yS(e,t){return{threadId:e,threadTitle:void 0,nodes:t,hasMore:!1,cursor:void 0,budget:void 0,session:void 0}}var qre="codex";function zI(e){return Math.ceil(e.length/4)}function tp(e){if(e===void 0||typeof e!="string")return;let t=e.trim();if(t!=="")return t}function iB(e){if(e!==void 0&&typeof e=="number"&&Ot(e))return e}function bS(e){let t=e.structured;if(typeof t=="object"&&t!==null&&!Array.isArray(t))return t}function Pl(e,t){return k(bS(e),r=>tp(r[t]))}function NI(e){return x(e.split(`
334
- `)[0],e)}function GI(e,t){let r=Math.max(1e3,t*4)|0,n=e.body.trim();return n.length<=r?n:`[...truncated...]
335
- `+n.slice(n.length-r|0)}function oB(e,t){return e.length<=t?e:"[...truncated...]"+e.slice(e.length-t|0)}function aB(e){let t=bS(e);if(t===void 0)return[];let r=tp(t.path),n=t.paths,i,o=0;if(Array.isArray(n)?i=n:o=1,o===1){let s=t.files;i=s!==void 0?Array.isArray(s)?s:[]:[]}let a=ze(i,s=>{let l=tp(s);return l!==void 0?l:typeof s=="object"&&s!==null&&!Array.isArray(s)?tp(s.path):void 0});return r!==void 0?[r].concat(a):a}function sB(e){let t=new Set,r=new Set,n={contents:0};return e.forEach(i=>{if(i.kind==="error"&&(n.contents=n.contents+1|0),i.kind==="file_change"&&aB(i).forEach(a=>{t.add(a)}),i.kind!=="command_execution")return;let o=Pl(i,"command");if(o!==void 0){r.add(NI(o));return}}),{filesTouched:t.values().toArray().slice(0,100),commandsRun:r.values().toArray().slice(0,100),errorCount:n.contents}}function lB(e,t){let r=t>0?t:76800,n=e.filter(d=>d.kind!=="reasoning"),i=e.length-n.length|0,o=[],a=0,s=n.length-1|0,l=!1;for(;!l&&s>=0;){let d=n[s];if(d!==void 0){let u=zI(GI(d,r));o.length!==0&&a+u>r?l=!0:(a=a+u,o.unshift(d),s=s-1|0)}else s=s-1|0}return{tail:o,omittedNodeCount:n.length-o.length|0,redactedReasoningCount:i,artifacts:sB(e)}}function Ui(e,t){let r={};r.type="output_text",r.text=e;let n={};return n.type="message",n.role="assistant",n.content=[r],n.phase=t,n}function dB(e){return de(Pl(e,"phase"),"commentary")?"commentary":"final_answer"}function uB(e,t){let r=e.attachments.length;return r!==0?t+`
336
- [`+r.toString()+" attachment(s) in the original message]":t}function FI(e,t){return"linzumi_replay_"+e.seq.toString()+"_"+t.toString()}function cB(e){let t=e.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,64);return t===""?"linzumi_replayed_tool":t}function fB(e,t,r){let n=FI(e,r),i=Pl(e,"command"),o=Pl(e,"cwd"),a=k(bS(e),c=>iB(c.exit_code)),s=x(Pl(e,"output"),t),l={};l.command=x(i,NI(t)),o!==void 0&&(l.cwd=o);let d={};d.type="function_call",d.name="shell",d.call_id=n,d.arguments=JSON.stringify(l);let u={};return u.type="function_call_output",u.call_id=n,u.output=a!==void 0?"exit_code="+a.toString()+`
337
- `+s:s,[d,u]}function mB(e,t,r){let n=FI(e,r),i=cB(x(Pl(e,"title"),"linzumi_replayed_tool")),o={};o.replayed=!0;let a={};a.type="function_call",a.name=i,a.call_id=n,a.arguments=JSON.stringify(o);let s={};return s.type="function_call_output",s.call_id=n,s.output=t===""?"[result not recorded]":t,[a,s]}function pB(e,t){let r={};r.type="input_text",r.text=uB(e,t);let n={};return n.type="message",n.role="user",n.content=[r],n}function hB(e,t,r){let n=GI(e,t),i=e.kind;switch(i){case"agent_status":return[Ui("[status] "+n,"commentary")];case"approval_request":return[Ui("[approval] "+n,"commentary")];case"assistant_message":return[Ui(n,dB(e))];case"command_execution":return fB(e,n,r);case"error":return[Ui("[error] "+n,"commentary")];case"file_change":return[Ui(`[file change]
320
+ ]`;continue}i+=n[l],n[l]==="\\"?o=!0:a&&n[l]==="]"?a=!1:!a&&n[l]==="["&&(a=!0)}try{new RegExp(i)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return i}function Df(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===Q.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,i)=>({...n,[i]:De(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",i]})??cr(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let r={type:"object",additionalProperties:De(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return r;if(e.keyType?._def.typeName===Q.ZodString&&e.keyType._def.checks?.length){let{type:n,...i}=Ff(e.keyType._def,t);return{...r,propertyNames:i}}else{if(e.keyType?._def.typeName===Q.ZodEnum)return{...r,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===Q.ZodBranded&&e.keyType._def.type._def.typeName===Q.ZodString&&e.keyType._def.type._def.checks?.length){let{type:n,...i}=Gf(e.keyType._def,t);return{...r,propertyNames:i}}}return r}function IA(e,t){if(t.mapStrategy==="record")return Df(e,t);let r=De(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||cr(t),n=De(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||cr(t);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function $A(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 MA(e){return e.target==="openAi"?void 0:{not:cr({...e,currentPath:[...e.currentPath,"not"]})}}function jA(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Zd={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function NA(e,t){if(t.target==="openApi3")return zA(e,t);let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in Zd&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((i,o)=>{let a=Zd[o._def.typeName];return a&&!i.includes(a)?[...i,a]:i},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((i,o)=>{let a=typeof o._def.value;switch(a){case"string":case"number":case"boolean":return[...i,a];case"bigint":return[...i,"integer"];case"object":if(o._def.value===null)return[...i,"null"];default:return i}},[]);if(n.length===r.length){let i=n.filter((o,a,s)=>s.indexOf(o)===a);return{type:i.length>1?i:i[0],enum:r.reduce((o,a)=>o.includes(a._def.value)?o:[...o,a._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,i)=>[...n,...i._def.values.filter(o=>!n.includes(o))],[])};return zA(e,t)}var zA=(e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,i)=>De(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 GA(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:Zd[e.innerType._def.typeName],nullable:!0}:{type:[Zd[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let n=De(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=De(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function FA(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",gy(r,"type",n.message,t);break;case"min":t.target==="jsonSchema7"?n.inclusive?yt(r,"minimum",n.value,n.message,t):yt(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),yt(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?yt(r,"maximum",n.value,n.message,t):yt(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),yt(r,"maximum",n.value,n.message,t));break;case"multipleOf":yt(r,"multipleOf",n.value,n.message,t);break}return r}function DA(e,t){let r=t.target==="openAi",n={type:"object",properties:{}},i=[],o=e.shape();for(let s in o){let l=o[s];if(l===void 0||l._def===void 0)continue;let d=Yq(l);d&&r&&(l._def.typeName==="ZodOptional"&&(l=l._def.innerType),l.isNullable()||(l=l.nullable()),d=!1);let u=De(l._def,{...t,currentPath:[...t.currentPath,"properties",s],propertyPath:[...t.currentPath,"properties",s]});u!==void 0&&(n.properties[s]=u,d||i.push(s))}i.length&&(n.required=i);let a=Jq(e,t);return a!==void 0&&(n.additionalProperties=a),n}function Jq(e,t){if(e.catchall._def.typeName!=="ZodNever")return De(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 Yq(e){try{return e.isOptional()}catch{return!0}}var qA=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return De(e.innerType._def,t);let r=De(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:cr(t)},r]}:cr(t)};var LA=(e,t)=>{if(t.pipeStrategy==="input")return De(e.in._def,t);if(t.pipeStrategy==="output")return De(e.out._def,t);let r=De(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=De(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(i=>i!==void 0)}};function UA(e,t){return De(e.type._def,t)}function WA(e,t){let n={type:"array",uniqueItems:!0,items:De(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&yt(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&yt(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function ZA(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>De(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:De(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>De(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function VA(e){return{not:cr(e)}}function HA(e){return cr(e)}var BA=(e,t)=>De(e.innerType._def,t);var KA=(e,t,r)=>{switch(t){case Q.ZodString:return Ff(e,r);case Q.ZodNumber:return FA(e,r);case Q.ZodObject:return DA(e,r);case Q.ZodBigInt:return kA(e,r);case Q.ZodBoolean:return xA();case Q.ZodDate:return yy(e,r);case Q.ZodUndefined:return VA(r);case Q.ZodNull:return jA(r);case Q.ZodArray:return wA(e,r);case Q.ZodUnion:case Q.ZodDiscriminatedUnion:return NA(e,r);case Q.ZodIntersection:return EA(e,r);case Q.ZodTuple:return ZA(e,r);case Q.ZodRecord:return Df(e,r);case Q.ZodLiteral:return PA(e,r);case Q.ZodEnum:return CA(e);case Q.ZodNativeEnum:return $A(e);case Q.ZodNullable:return GA(e,r);case Q.ZodOptional:return qA(e,r);case Q.ZodMap:return IA(e,r);case Q.ZodSet:return WA(e,r);case Q.ZodLazy:return()=>e.getter()._def;case Q.ZodPromise:return UA(e,r);case Q.ZodNaN:case Q.ZodNever:return MA(r);case Q.ZodEffects:return OA(e,r);case Q.ZodAny:return cr(r);case Q.ZodUnknown:return HA(r);case Q.ZodDefault:return AA(e,r);case Q.ZodBranded:return Gf(e,r);case Q.ZodReadonly:return BA(e,r);case Q.ZodCatch:return TA(e,r);case Q.ZodPipeline:return LA(e,r);case Q.ZodFunction:case Q.ZodVoid:case Q.ZodSymbol:return;default:return(n=>{})(t)}};function De(e,t,r=!1){let n=t.seen.get(e);if(t.override){let s=t.override?.(e,t,n,r);if(s!==bA)return s}if(n&&!r){let s=Xq(n,t);if(s!==void 0)return s}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let o=KA(e,e.typeName,t),a=typeof o=="function"?De(o(),t):o;if(a&&Qq(e,t,a),t.postProcess){let s=t.postProcess(a,e,t);return i.jsonSchema=a,s}return i.jsonSchema=a,a}var Xq=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:Nf(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`),cr(t)):t.$refStrategy==="seen"?cr(t):void 0}},Qq=(e,t,r)=>(e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r);var Sy=(e,t)=>{let r=SA(t),n=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((l,[d,u])=>({...l,[d]:De(u._def,{...r,currentPath:[...r.basePath,r.definitionPath,d]},!0)??cr(r)}),{}):void 0,i=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,o=De(e._def,i===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,i]},!1)??cr(r),a=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;a!==void 0&&(o.title=a),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let s=i===void 0?n?{...o,[r.definitionPath]:n}:o:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,i].join("/"),[r.definitionPath]:{...n,[i]:o}};return r.target==="jsonSchema7"?s.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(s.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in s||"oneOf"in s||"allOf"in s||"type"in s&&Array.isArray(s.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),s};function eL(e){return!e||e==="jsonSchema7"||e==="draft-7"?"draft-7":e==="jsonSchema2019-09"||e==="draft-2020-12"?"draft-2020-12":"draft-7"}function wy(e,t){return Jn(e)?Wg(e,{target:eL(t?.target),io:t?.pipeStrategy??"input"}):Sy(e,{strictUnions:t?.strictUnions??!0,pipeStrategy:t?.pipeStrategy??"input"})}function ky(e){let r=Mo(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=zf(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function xy(e,t){let r=$o(e,t);if(!r.success)throw r.error;return r.data}var tL=6e4,qf=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(bf,r=>{this._oncancel(r)}),this.setNotificationHandler(Sf,r=>{this._onprogress(r)}),this.setRequestHandler(vf,r=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(wf,async(r,n)=>{let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new be(Re.InvalidParams,"Failed to retrieve task: Task not found");return{...i}}),this.setRequestHandler(xf,async(r,n)=>{let i=async()=>{let o=r.params.taskId;if(this._taskMessageQueue){let s;for(;s=await this._taskMessageQueue.dequeue(o,n.sessionId);){if(s.type==="response"||s.type==="error"){let l=s.message,d=l.id,u=this._requestResolvers.get(d);if(u)if(this._requestResolvers.delete(d),s.type==="response")u(l);else{let c=l,f=new be(c.error.code,c.error.message,c.error.data);u(f)}else{let c=s.type==="response"?"Response":"Error";this._onerror(new Error(`${c} handler missing for request ${d}`))}continue}await this._transport?.send(s.message,{relatedRequestId:n.requestId})}}let a=await this._taskStore.getTask(o,n.sessionId);if(!a)throw new be(Re.InvalidParams,`Task not found: ${o}`);if(!jo(a.status))return await this._waitForTaskUpdate(o,n.signal),await i();if(jo(a.status)){let s=await this._taskStore.getTaskResult(o,n.sessionId);return this._clearTaskQueue(o),{...s,_meta:{...s._meta,[Io]:{taskId:o}}}}return await i()};return await i()}),this.setRequestHandler(Tf,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 be(Re.InvalidParams,`Failed to list tasks: ${i instanceof Error?i.message:String(i)}`)}}),this.setRequestHandler(Of,async(r,n)=>{try{let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new be(Re.InvalidParams,`Task not found: ${r.params.taskId}`);if(jo(i.status))throw new be(Re.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 be(Re.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...o}}catch(i){throw i instanceof be?i:new be(Re.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),be.fromError(Re.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(t){let r=this._timeoutInfo.get(t);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(t))}async connect(t){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=t;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=o=>{n?.(o),this._onerror(o)};let i=this._transport?.onmessage;this._transport.onmessage=(o,a)=>{i?.(o,a),zd(o)||oA(o)?this._onresponse(o):ry(o)?this._onrequest(o,a):iA(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=be.fromError(Re.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?.[Io]?.taskId;if(n===void 0){let u={jsonrpc:"2.0",id:t.id,error:{code:Re.MethodNotFound,message:"Method not found"}};o&&this._taskMessageQueue?this._enqueueTaskMessage(o,{type:"error",message:u,timestamp:Date.now()},i?.sessionId).catch(c=>this._onerror(new Error(`Failed to enqueue error response: ${c}`))):i?.send(u).catch(c=>this._onerror(new Error(`Failed to send an error response: ${c}`)));return}let a=new AbortController;this._requestHandlerAbortControllers.set(t.id,a);let s=tA(t.params)?t.params.task:void 0,l=this._taskStore?this.requestTaskStore(t,i?.sessionId):void 0,d={signal:a.signal,sessionId:i?.sessionId,_meta:t.params?._meta,sendNotification:async u=>{if(a.signal.aborted)return;let c={relatedRequestId:t.id};o&&(c.relatedTask={taskId:o}),await this.notification(u,c)},sendRequest:async(u,c,f)=>{if(a.signal.aborted)throw new be(Re.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:s?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{s&&this.assertTaskHandlerCapability(t.method)}).then(()=>n(t,d)).then(async u=>{if(a.signal.aborted)return;let c={result:u,jsonrpc:"2.0",id:t.id};o&&this._taskMessageQueue?await this._enqueueTaskMessage(o,{type:"response",message:c,timestamp:Date.now()},i?.sessionId):await i?.send(c)},async u=>{if(a.signal.aborted)return;let c={jsonrpc:"2.0",id:t.id,error:{code:Number.isSafeInteger(u.code)?u.code:Re.InternalError,message:u.message??"Internal error",...u.data!==void 0&&{data:u.data}}};o&&this._taskMessageQueue?await this._enqueueTaskMessage(o,{type:"error",message:c,timestamp:Date.now()},i?.sessionId):await i?.send(c)}).catch(u=>this._onerror(new Error(`Failed to send response: ${u}`))).finally(()=>{this._requestHandlerAbortControllers.get(t.id)===a&&this._requestHandlerAbortControllers.delete(t.id)})}_onprogress(t){let{progressToken:r,...n}=t.params,i=Number(r),o=this._progressHandlers.get(i);if(!o){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(t)}`));return}let a=this._responseHandlers.get(i),s=this._timeoutInfo.get(i);if(s&&a&&s.resetTimeoutOnProgress)try{this._resetTimeout(i)}catch(l){this._responseHandlers.delete(i),this._progressHandlers.delete(i),this._cleanupTimeout(i),a(l);return}o(n)}_onresponse(t){let r=Number(t.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),zd(t))n(t);else{let a=new be(t.error.code,t.error.message,t.error.data);n(a)}return}let i=this._responseHandlers.get(r);if(i===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(t)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let o=!1;if(zd(t)&&t.result&&typeof t.result=="object"){let a=t.result;if(a.task&&typeof a.task=="object"){let s=a.task;typeof s.taskId=="string"&&(o=!0,this._taskProgressTokens.set(s.taskId,r))}}if(o||this._progressHandlers.delete(r),zd(t))i(t);else{let a=be.fromError(t.error.code,t.error.message,t.error.data);i(a)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(t,r,n){let{task:i}=n??{};if(!i){try{yield{type:"result",result:await this.request(t,r,n)}}catch(a){yield{type:"error",error:a instanceof be?a:new be(Re.InternalError,String(a))}}return}let o;try{let a=await this.request(t,Js,n);if(a.task)o=a.task.taskId,yield{type:"taskCreated",task:a.task};else throw new be(Re.InternalError,"Task creation did not return a task");for(;;){let s=await this.getTask({taskId:o},n);if(yield{type:"taskStatus",task:s},jo(s.status)){s.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:o},r,n)}:s.status==="failed"?yield{type:"error",error:new be(Re.InternalError,`Task ${o} failed`)}:s.status==="cancelled"&&(yield{type:"error",error:new be(Re.InternalError,`Task ${o} was cancelled`)});return}if(s.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:o},r,n)};return}let l=s.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(d=>setTimeout(d,l)),n?.signal?.throwIfAborted()}}catch(a){yield{type:"error",error:a instanceof be?a:new be(Re.InternalError,String(a))}}}request(t,r,n){let{relatedRequestId:i,resumptionToken:o,onresumptiontoken:a,task:s,relatedTask:l}=n??{};return new Promise((d,u)=>{let c=b=>{u(b)};if(!this._transport){c(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(t.method),s&&this.assertTaskCapability(t.method)}catch(b){c(b);return}n?.signal?.throwIfAborted();let f=this._requestMessageId++,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}}),s&&(p.params={...p.params,task:s}),l&&(p.params={...p.params,_meta:{...p.params?._meta||{},[Io]:l}});let m=b=>{this._responseHandlers.delete(f),this._progressHandlers.delete(f),this._cleanupTimeout(f),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:f,reason:String(b)}},{relatedRequestId:i,resumptionToken:o,onresumptiontoken:a}).catch(v=>this._onerror(new Error(`Failed to send cancellation: ${v}`)));let y=b instanceof be?b:new be(Re.RequestTimeout,String(b));u(y)};this._responseHandlers.set(f,b=>{if(!n?.signal?.aborted){if(b instanceof Error)return u(b);try{let y=$o(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??tL,_=()=>m(be.fromError(Re.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:a}).catch(b=>{this._cleanupTimeout(f),u(b)})})}async getTask(t,r){return this.request({method:"tasks/get",params:t},kf,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},Af,r)}async cancelTask(t,r){return this.request({method:"tasks/cancel",params:t},lA,r)}async notification(t,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(t.method);let n=r?.relatedTask?.taskId;if(n){let s={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[Io]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:s,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(t.method),!this._transport)return;let s={...t,jsonrpc:"2.0"};r?.relatedTask&&(s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[Io]:r.relatedTask}}}),this._transport?.send(s,r).catch(l=>this._onerror(l))});return}let a={...t,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[Io]:r.relatedTask}}}),await this._transport.send(a,r)}setRequestHandler(t,r){let n=ky(t);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(i,o)=>{let a=xy(t,i);return Promise.resolve(r(a,o))})}removeRequestHandler(t){this._requestHandlers.delete(t)}assertCanSetRequestHandler(t){if(this._requestHandlers.has(t))throw new Error(`A request handler for ${t} already exists, which would be overridden`)}setNotificationHandler(t,r){let n=ky(t);this._notificationHandlers.set(n,i=>{let o=xy(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"&&ry(i.message)){let o=i.message.id,a=this._requestResolvers.get(o);a?(a(new be(Re.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 be(Re.InvalidRequest,"Request cancelled"));return}let a=setTimeout(i,n);r.addEventListener("abort",()=>{clearTimeout(a),o(new be(Re.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 be(Re.InvalidParams,"Failed to retrieve task: Task not found");return o},storeTaskResult:async(i,o,a)=>{await n.storeTaskResult(i,o,a,r);let s=await n.getTask(i,r);if(s){let l=qd.parse({method:"notifications/tasks/status",params:s});await this.notification(l),jo(s.status)&&this._cleanupTaskProgressHandler(i)}},getTaskResult:i=>n.getTaskResult(i,r),updateTaskStatus:async(i,o,a)=>{let s=await n.getTask(i,r);if(!s)throw new be(Re.InvalidParams,`Task "${i}" not found - it may have been cleaned up`);if(jo(s.status))throw new be(Re.InvalidParams,`Cannot update task "${i}" from terminal status "${s.status}" to "${o}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(i,o,a,r);let l=await n.getTask(i,r);if(l){let d=qd.parse({method:"notifications/tasks/status",params:l});await this.notification(d),jo(l.status)&&this._cleanupTaskProgressHandler(i)}},listTasks:i=>n.listTasks(i,r)}}};function JA(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function YA(e,t){let r={...e};for(let n in t){let i=n,o=t[i];if(o===void 0)continue;let a=r[i];JA(a)&&JA(o)?r[i]={...a,...o}:r[i]=o}return r}var NE=Tw(dv(),1),GE=Tw(zE(),1);function ZV(){let e=new NE.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,GE.default)(e),e}var xm=class{constructor(t){this._ajv=t??ZV()}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 Tm=class{constructor(t){this._server=t}requestStream(t,r,n){return this._server.requestStream(t,r,n)}createMessageStream(t,r){let n=this._server.getClientCapabilities();if((t.tools||t.toolChoice)&&!n?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(t.messages.length>0){let i=t.messages[t.messages.length-1],o=Array.isArray(i.content)?i.content:[i.content],a=o.some(u=>u.type==="tool_result"),s=t.messages.length>1?t.messages[t.messages.length-2]:void 0,l=s?Array.isArray(s.content)?s.content:[s.content]:[],d=l.some(u=>u.type==="tool_use");if(a){if(o.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!d)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(d){let u=new Set(l.filter(f=>f.type==="tool_use").map(f=>f.id)),c=new Set(o.filter(f=>f.type==="tool_result").map(f=>f.toolUseId));if(u.size!==c.size||![...u].every(f=>c.has(f)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:t},Wd,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},tl,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 FE(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 DE(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 Am=class extends qf{constructor(t,r){super(r),this._serverInfo=t,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Ud.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 xm,this.setRequestHandler(oy,n=>this._oninitialize(n)),this.setNotificationHandler(ay,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(my,async(n,i)=>{let o=i.sessionId||i.requestInfo?.headers["mcp-session-id"]||void 0,{level:a}=n.params,s=Ud.safeParse(a);return s.success&&this._loggingLevels.set(o,s.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new Tm(this)}),this._experimental}registerCapabilities(t){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=YA(this._capabilities,t)}setRequestHandler(t,r){let i=Mo(t)?.method;if(!i)throw new Error("Schema is missing a method literal");let o;if(Jn(i)){let s=i;o=s._zod?.def?.value??s.value}else{let s=i;o=s._def?.value??s.value}if(typeof o!="string")throw new Error("Schema method literal must be a string");if(o==="tools/call"){let s=async(l,d)=>{let u=$o(el,l);if(!u.success){let m=u.error instanceof Error?u.error.message:String(u.error);throw new be(Re.InvalidParams,`Invalid tools/call request: ${m}`)}let{params:c}=u.data,f=await Promise.resolve(r(l,d));if(c.task){let m=$o(Js,f);if(!m.success){let h=m.error instanceof Error?m.error.message:String(m.error);throw new be(Re.InvalidParams,`Invalid task creation result: ${h}`)}return m.data}let p=$o(If,f);if(!p.success){let m=p.error instanceof Error?p.error.message:String(p.error);throw new be(Re.InvalidParams,`Invalid tools/call result: ${m}`)}return p.data};return super.setRequestHandler(t,s)}return super.setRequestHandler(t,r)}assertCapabilityForMethod(t){switch(t){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${t})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${t})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${t})`);break;case"ping":break}}assertNotificationCapability(t){switch(t){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${t})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${t})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${t})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${t})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(t){if(this._capabilities)switch(t){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${t})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${t})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${t})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${t})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${t})`);break;case"ping":case"initialize":break}}assertTaskCapability(t){DE(this._clientCapabilities?.tasks?.requests,t,"Client")}assertTaskHandlerCapability(t){this._capabilities&&FE(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:XT.includes(r)?r:ey,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"},yf)}async createMessage(t,r){if((t.tools||t.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(t.messages.length>0){let n=t.messages[t.messages.length-1],i=Array.isArray(n.content)?n.content:[n.content],o=i.some(d=>d.type==="tool_result"),a=t.messages.length>1?t.messages[t.messages.length-2]:void 0,s=a?Array.isArray(a.content)?a.content:[a.content]:[],l=s.some(d=>d.type==="tool_use");if(o){if(i.some(d=>d.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!l)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(l){let d=new Set(s.filter(c=>c.type==="tool_use").map(c=>c.id)),u=new Set(i.filter(c=>c.type==="tool_result").map(c=>c.toolUseId));if(d.size!==u.size||![...d].every(c=>u.has(c)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return t.tools?this.request({method:"sampling/createMessage",params:t},py,r):this.request({method:"sampling/createMessage",params:t},Wd,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},tl,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},tl,r);if(o.action==="accept"&&o.content&&i.requestedSchema)try{let s=this._jsonSchemaValidator.getValidator(i.requestedSchema)(o.content);if(!s.valid)throw new be(Re.InvalidParams,`Elicitation response content does not match requested schema: ${s.errorMessage}`)}catch(a){throw a instanceof be?a:new be(Re.InternalError,`Error validating elicitation response: ${a instanceof Error?a.message:String(a)}`)}return o}}}createElicitationCompletionNotifier(t,r){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:t}},r)}async listRoots(t,r){return this.request({method:"roots/list",params:t},hy,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 LE=Symbol.for("mcp.completable");function gv(e){return!!e&&typeof e=="object"&&LE in e}function UE(e){return e[LE]?.complete}var qE;(function(e){e.Completable="McpCompletable"})(qE||(qE={}));var VV=/^[A-Za-z0-9._-]{1,128}$/;function HV(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"),!VV.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 BV(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 yv(e){let t=HV(e);return BV(e,t.warnings),t.isValid}var Om=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 Cm=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 Am(t,r)}get experimental(){return this._experimental||(this._experimental={tasks:new Om(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(Rf)),this.server.assertCanSetRequestHandler(Wo(el)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(Rf,()=>({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=rl(r.inputSchema);return i?wy(i,{strictUnions:!0,pipeStrategy:"input"}):KV})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let i=rl(r.outputSchema);i&&(n.outputSchema=wy(i,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(el,async(t,r)=>{try{let n=this._registeredTools[t.params.name];if(!n)throw new be(Re.InvalidParams,`Tool ${t.params.name} not found`);if(!n.enabled)throw new be(Re.InvalidParams,`Tool ${t.params.name} disabled`);let i=!!t.params.task,o=n.execution?.taskSupport,a="createTask"in n.handler;if((o==="required"||o==="optional")&&!a)throw new be(Re.InternalError,`Tool ${t.params.name} has taskSupport '${o}' but was not registered with registerToolTask`);if(o==="required"&&!i)throw new be(Re.MethodNotFound,`Tool ${t.params.name} requires task augmentation (taskSupport: 'required')`);if(o==="optional"&&!i&&a)return await this.handleAutomaticTaskPolling(n,t,r);let s=await this.validateToolInput(n,t.params.arguments,t.params.name),l=await this.executeToolHandler(n,s,r);return i||await this.validateToolOutput(n,l,t.params.name),l}catch(n){if(n instanceof be&&n.code===Re.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=rl(t.inputSchema)??t.inputSchema,a=await Mf(o,r);if(!a.success){let s="error"in a?a.error:"Unknown error",l=jf(s);throw new be(Re.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${l}`)}return a.data}async validateToolOutput(t,r,n){if(!t.outputSchema||!("content"in r)||r.isError)return;if(!r.structuredContent)throw new be(Re.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let i=rl(t.outputSchema),o=await Mf(i,r.structuredContent);if(!o.success){let a="error"in o?o.error:"Unknown error",s=jf(a);throw new be(Re.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${s}`)}}async executeToolHandler(t,r,n){let i=t.handler;if("createTask"in i){if(!n.taskStore)throw new Error("No task store provided.");let a={...n,taskStore:n.taskStore};if(t.inputSchema){let s=i;return await Promise.resolve(s.createTask(r,a))}else{let s=i;return await Promise.resolve(s.createTask(a))}}if(t.inputSchema){let a=i;return await Promise.resolve(a(r,n))}else{let a=i;return await Promise.resolve(a(n))}}async handleAutomaticTaskPolling(t,r,n){if(!n.taskStore)throw new Error("No task store provided for task-capable tool.");let i=await this.validateToolInput(t,r.params.arguments,r.params.name),o=t.handler,a={...n,taskStore:n.taskStore},s=i?await Promise.resolve(o.createTask(i,a)):await Promise.resolve(o.createTask(a)),l=s.task.taskId,d=s.task,u=d.pollInterval??5e3;for(;d.status!=="completed"&&d.status!=="failed"&&d.status!=="cancelled";){await new Promise(f=>setTimeout(f,u));let c=await n.taskStore.getTask(l);if(!c)throw new be(Re.InternalError,`Task ${l} not found during polling`);d=c}return await n.taskStore.getTaskResult(l)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(Wo($f)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler($f,async t=>{switch(t.params.ref.type){case"ref/prompt":return pA(t),this.handlePromptCompletion(t,t.params.ref);case"ref/resource":return hA(t),this.handleResourceCompletion(t,t.params.ref);default:throw new be(Re.InvalidParams,`Invalid completion reference: ${t.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(t,r){let n=this._registeredPrompts[r.name];if(!n)throw new be(Re.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new be(Re.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return Su;let o=Mo(n.argsSchema)?.[t.params.argument.name];if(!gv(o))return Su;let a=UE(o);if(!a)return Su;let s=await a(t.params.argument.value,t.params.context);return ZE(s)}async handleResourceCompletion(t,r){let n=Object.values(this._registeredResourceTemplates).find(a=>a.resourceTemplate.uriTemplate.toString()===r.uri);if(!n){if(this._registeredResources[r.uri])return Su;throw new be(Re.InvalidParams,`Resource template ${t.params.ref.uri} not found`)}let i=n.resourceTemplate.completeCallback(t.params.argument.name);if(!i)return Su;let o=await i(t.params.argument.value,t.params.context);return ZE(o)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(Wo(Xs)),this.server.assertCanSetRequestHandler(Wo(Qs)),this.server.assertCanSetRequestHandler(Wo(Cf)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(Xs,async(t,r)=>{let n=Object.entries(this._registeredResources).filter(([o,a])=>a.enabled).map(([o,a])=>({uri:o,name:a.name,...a.metadata})),i=[];for(let o of Object.values(this._registeredResourceTemplates)){if(!o.resourceTemplate.listCallback)continue;let a=await o.resourceTemplate.listCallback(r);for(let s of a.resources)i.push({...o.metadata,...s})}return{resources:[...n,...i]}}),this.server.setRequestHandler(Qs,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(Cf,async(t,r)=>{let n=new URL(t.params.uri),i=this._registeredResources[n.toString()];if(i){if(!i.enabled)throw new be(Re.InvalidParams,`Resource ${n} disabled`);return i.readCallback(n,r)}for(let o of Object.values(this._registeredResourceTemplates)){let a=o.resourceTemplate.uriTemplate.match(n.toString());if(a)return o.readCallback(n,a,r)}throw new be(Re.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(Wo(Ef)),this.server.assertCanSetRequestHandler(Wo(Pf)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(Ef,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,t])=>t.enabled).map(([t,r])=>({name:t,title:r.title,description:r.description,arguments:r.argsSchema?JV(r.argsSchema):void 0}))})),this.server.setRequestHandler(Pf,async(t,r)=>{let n=this._registeredPrompts[t.params.name];if(!n)throw new be(Re.InvalidParams,`Prompt ${t.params.name} not found`);if(!n.enabled)throw new be(Re.InvalidParams,`Prompt ${t.params.name} disabled`);if(n.argsSchema){let i=rl(n.argsSchema),o=await Mf(i,t.params.arguments);if(!o.success){let l="error"in o?o.error:"Unknown error",d=jf(l);throw new be(Re.InvalidParams,`Invalid arguments for prompt ${t.params.name}: ${d}`)}let a=o.data,s=n.callback;return await Promise.resolve(s(a,r))}else{let i=n.callback;return await Promise.resolve(i(r))}}),this._promptHandlersInitialized=!0)}resource(t,r,...n){let i;typeof n[0]=="object"&&(i=n.shift());let o=n[0];if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let a=this._createRegisteredResource(t,void 0,r,i,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),a}else{if(this._registeredResourceTemplates[t])throw new Error(`Resource template ${t} is already registered`);let a=this._createRegisteredResourceTemplate(t,void 0,r,i,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),a}}registerResource(t,r,n,i){if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let o=this._createRegisteredResource(t,n.title,r,n,i);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),o}else{if(this._registeredResourceTemplates[t])throw new Error(`Resource template ${t} is already registered`);let o=this._createRegisteredResourceTemplate(t,n.title,r,n,i);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),o}}_createRegisteredResource(t,r,n,i,o){let a={name:t,title:r,metadata:i,readCallback:o,enabled:!0,disable:()=>a.update({enabled:!1}),enable:()=>a.update({enabled:!0}),remove:()=>a.update({uri:null}),update:s=>{typeof s.uri<"u"&&s.uri!==n&&(delete this._registeredResources[n],s.uri&&(this._registeredResources[s.uri]=a)),typeof s.name<"u"&&(a.name=s.name),typeof s.title<"u"&&(a.title=s.title),typeof s.metadata<"u"&&(a.metadata=s.metadata),typeof s.callback<"u"&&(a.readCallback=s.callback),typeof s.enabled<"u"&&(a.enabled=s.enabled),this.sendResourceListChanged()}};return this._registeredResources[n]=a,a}_createRegisteredResourceTemplate(t,r,n,i,o){let a={resourceTemplate:n,title:r,metadata:i,readCallback:o,enabled:!0,disable:()=>a.update({enabled:!1}),enable:()=>a.update({enabled:!0}),remove:()=>a.update({name:null}),update:d=>{typeof d.name<"u"&&d.name!==t&&(delete this._registeredResourceTemplates[t],d.name&&(this._registeredResourceTemplates[d.name]=a)),typeof d.title<"u"&&(a.title=d.title),typeof d.template<"u"&&(a.resourceTemplate=d.template),typeof d.metadata<"u"&&(a.metadata=d.metadata),typeof d.callback<"u"&&(a.readCallback=d.callback),typeof d.enabled<"u"&&(a.enabled=d.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[t]=a;let s=n.uriTemplate.variableNames;return Array.isArray(s)&&s.some(d=>!!n.completeCallback(d))&&this.setCompletionRequestHandler(),a}_createRegisteredPrompt(t,r,n,i,o){let a={title:r,description:n,argsSchema:i===void 0?void 0:Da(i),callback:o,enabled:!0,disable:()=>a.update({enabled:!1}),enable:()=>a.update({enabled:!0}),remove:()=>a.update({name:null}),update:s=>{typeof s.name<"u"&&s.name!==t&&(delete this._registeredPrompts[t],s.name&&(this._registeredPrompts[s.name]=a)),typeof s.title<"u"&&(a.title=s.title),typeof s.description<"u"&&(a.description=s.description),typeof s.argsSchema<"u"&&(a.argsSchema=Da(s.argsSchema)),typeof s.callback<"u"&&(a.callback=s.callback),typeof s.enabled<"u"&&(a.enabled=s.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[t]=a,i&&Object.values(i).some(l=>{let d=l instanceof yn?l._def?.innerType:l;return gv(d)})&&this.setCompletionRequestHandler(),a}_createRegisteredTool(t,r,n,i,o,a,s,l,d){yv(t);let u={title:r,description:n,inputSchema:WE(i),outputSchema:WE(o),annotations:a,execution:s,_meta:l,handler:d,enabled:!0,disable:()=>u.update({enabled:!1}),enable:()=>u.update({enabled:!0}),remove:()=>u.update({name:null}),update:c=>{typeof c.name<"u"&&c.name!==t&&(typeof c.name=="string"&&yv(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=Da(c.paramsSchema)),typeof c.outputSchema<"u"&&(u.outputSchema=Da(c.outputSchema)),typeof c.callback<"u"&&(u.handler=c.callback),typeof c.annotations<"u"&&(u.annotations=c.annotations),typeof c._meta<"u"&&(u._meta=c._meta),typeof c.enabled<"u"&&(u.enabled=c.enabled),this.sendToolListChanged()}};return this._registeredTools[t]=u,this.setToolRequestHandlers(),this.sendToolListChanged(),u}tool(t,...r){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let n,i,o,a;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let l=r[0];if(bv(l))i=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!bv(r[0])&&(a=r.shift());else if(typeof l=="object"&&l!==null){if(Object.values(l).some(d=>typeof d=="object"&&d!==null))throw new Error(`Tool ${t} expected a Zod schema or ToolAnnotations, but received an unrecognized object`);a=r.shift()}}let s=r[0];return this._createRegisteredTool(t,void 0,n,i,o,a,{taskSupport:"forbidden"},void 0,s)}registerTool(t,r,n){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let{title:i,description:o,inputSchema:a,outputSchema:s,annotations:l,_meta:d}=r;return this._createRegisteredTool(t,i,o,a,s,l,{taskSupport:"forbidden"},d,n)}prompt(t,...r){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let i;r.length>1&&(i=r.shift());let o=r[0],a=this._createRegisteredPrompt(t,void 0,n,i,o);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}registerPrompt(t,r,n){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let{title:i,description:o,argsSchema:a}=r,s=this._createRegisteredPrompt(t,i,o,a,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),s}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(t,r){return this.server.sendLoggingMessage(t,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}};var KV={type:"object",properties:{}};function VE(e){return e!==null&&typeof e=="object"&&"parse"in e&&typeof e.parse=="function"&&"safeParse"in e&&typeof e.safeParse=="function"}function HE(e){return"_def"in e||"_zod"in e||VE(e)}function bv(e){return typeof e!="object"||e===null||HE(e)?!1:Object.keys(e).length===0?!0:Object.values(e).some(VE)}function WE(e){if(e){if(bv(e))return Da(e);if(!HE(e))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return e}}function JV(e){let t=Mo(e);return t?Object.entries(t).map(([r,n])=>{let i=_A(n),o=gA(n);return{name:r,description:i,required:!o}}):[]}function Wo(e){let r=Mo(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=zf(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function ZE(e){return{completion:{values:e.slice(0,100),total:e.length,hasMore:e.length>100}}}var Su={completion:{values:[],hasMore:!1}};import KE from"node:process";var Em=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
+ `);if(t===-1)return null;let r=this._buffer.toString("utf8",0,t).replace(/\r$/,"");return this._buffer=this._buffer.subarray(t+1),XV(r)}clear(){this._buffer=void 0}};function XV(e){return aA.parse(JSON.parse(e))}function BE(e){return JSON.stringify(e)+`
322
+ `}var Pm=class{constructor(t=KE.stdin,r=KE.stdout){this._stdin=t,this._stdout=r,this._readBuffer=new Em,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=BE(t);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};function e4(e){let t={};t.listChanged=!1;let r={};r.resources=t,e.server.registerCapabilities(r),e.server.setRequestHandler(Xs,()=>{let n={};return n.resources=[],n}),e.server.setRequestHandler(Qs,()=>{let n={};return n.resourceTemplates=[],n})}function t4(e){return{registerTool:(t,r,n,i)=>{e.tool(t,r,n,i)}}}async function vv(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=V0(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 gk(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 Sv(e,t){let r=wr(e,"token");return{serviceUrl:t,explicitToken:r!==void 0?r:process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:wr(e,"auth-file"),delegationAuthFilePath:wr(e,"delegation-auth-file"),workspaceSlug:wr(e,"workspace"),channelSlug:wr(e,"channel")}}async function r4(e){let t=ac(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0;if(sc(r,"help"))return aa(uc()),{TAG:"Ok",_0:void 0};let n=lc(r,"api-url");if(n.TAG!=="Ok")return{TAG:"Error",_0:n._0};let i=n._0,o=await vv(Sv(r,i));if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let a=o._0,s=dc(wr(r,"mode")),l=Up(wr(r,"tool-scope"));if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0};let d=s._0;if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0};let u=wr(r,"owner-username"),c=u!==void 0?u:process.env.LINZUMI_MCP_OWNER_USERNAME,f=wr(r,"cwd"),p=f!==void 0?f:process.cwd(),m=wr(r,"thread-id"),h=m!==void 0?m:process.env[$k],_=Bh({serviceUrl:i,accessToken:a.accessToken,authMode:a.mode,operatingMode:d});if(_.TAG!=="Ok")return{TAG:"Error",_0:_._0};let g=new Cm({name:"linzumi",version:"0.1.0"});return e4(g),lx(t4(g),{client:_._0,toolScope:l._0,operatingMode:d,cwd:p,serviceUrl:i,defaultThreadId:h,ownerUsername:c,agentSession:sc(r,"agent-session"),devServices:tx(process.env)}),await g.connect(new Pm),{TAG:"Ok",_0:void 0}}async function n4(e){let t=ac(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0,n=lc(r,"api-url");if(n.TAG!=="Ok")return{TAG:"Error",_0:n._0};let i=n._0,o=wr(r,"format"),a=o!==void 0?o:"codex",s=dc(wr(r,"mode"));if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0};let l;if(sc(r,"include-token")){let f=await vv(Sv(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=Up(wr(r,"tool-scope"));if(d.TAG!=="Ok")return{TAG:"Error",_0:d._0};let u=wr(r,"owner-username"),c=Zs({command:wr(r,"command"),serviceUrl:i,accessToken:l._0,delegationAuthFilePath:wr(r,"delegation-auth-file"),ownerUsername:u!==void 0?u:process.env.LINZUMI_MCP_OWNER_USERNAME,operatingMode:s._0,toolScope:d._0});switch(a){case"claude-code":return aa(fx(c)),{TAG:"Ok",_0:void 0};case"codex":return aa(mx(c)),{TAG:"Ok",_0:void 0};default:return{TAG:"Error",_0:"--format must be codex or claude-code"}}}async function i4(e){let t=ac(e);if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t._0,n=lc(r,"api-url");if(n.TAG!=="Ok")return{TAG:"Error",_0:n._0};let i=n._0,o=await vv(Sv(r,i));if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let a=o._0,s=a.mode,l;if(s==="LocalRunner"){let d=await Ms(i,a.accessToken,wr(r,"workspace"),wr(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=dc(wr(r,"mode"));if(d.TAG==="Ok"){let u=Bh({serviceUrl:i,accessToken:a.accessToken,authMode:a.mode,operatingMode:d._0});if(u.TAG==="Ok")try{await u._0.validateAuth(),l={TAG:"Ok",_0:void 0}}catch(c){let f=ee(c);l={TAG:"Error",_0:gs(f)}}else l={TAG:"Error",_0:u._0}}else l={TAG:"Error",_0:d._0}}return l.TAG!=="Ok"?{TAG:"Error",_0:l._0}:(aa(`Linzumi MCP auth OK
323
+ `),{TAG:"Ok",_0:void 0})}async function JE(e){let t=e.slice(1),r=e[0];if(r!==void 0)switch(r){case"--help":case"-h":return aa(uc()),{TAG:"Ok",_0:void 0};case"config":return await n4(t);case"doctor":return await i4(t);case"server":return await r4(t);default:return{TAG:"Error",_0:"unknown linzumi mcp command: "+r}}else return aa(uc()),{TAG:"Ok",_0:void 0}}import*as QE from"node:fs";import*as eP from"node:url";import*as un from"node:path";import*as tP from"node:module";var a4=[["linux","x64",{triple:"x86_64-unknown-linux-musl",packageName:"@openai/codex-linux-x64"}],["linux","arm64",{triple:"aarch64-unknown-linux-musl",packageName:"@openai/codex-linux-arm64"}],["android","x64",{triple:"x86_64-unknown-linux-musl",packageName:"@openai/codex-linux-x64"}],["android","arm64",{triple:"aarch64-unknown-linux-musl",packageName:"@openai/codex-linux-arm64"}],["darwin","x64",{triple:"x86_64-apple-darwin",packageName:"@openai/codex-darwin-x64"}],["darwin","arm64",{triple:"aarch64-apple-darwin",packageName:"@openai/codex-darwin-arm64"}],["win32","x64",{triple:"x86_64-pc-windows-msvc",packageName:"@openai/codex-win32-x64"}],["win32","arm64",{triple:"aarch64-pc-windows-msvc",packageName:"@openai/codex-win32-arm64"}]];function rP(e,t){return G(a4.find(r=>r[0]===e?r[1]===t:!1),r=>r[2])}function s4(e){try{return tP.createRequire(import.meta.url).resolve(e)}catch{return}}function l4(e){let t=hs(e);return t.TAG==="Ok"?t._0:[]}function Rm(){return{platform:process.platform,arch:process.arch,fileExists:e=>QE.existsSync(e),listDirectory:l4,resolveModulePath:s4,moduleDir:un.dirname(eP.fileURLToPath(import.meta.url))}}function nP(e,t,r){let n=t;for(;;){let i=n,o=un.join(...[i,"node_modules"].concat(e.split("/")));if(r(un.join(o,"package.json")))return o;let a=un.dirname(i);if(a===i)return;n=a}}function wv(e,t){let r=t.resolveModulePath(e+"/package.json");return r!==void 0?un.dirname(r):nP(e,t.moduleDir,t.fileExists)}function d4(e,t,r){let i=r.platform==="win32"?"codex.exe":"codex",o=un.join(e,t),s=[un.join(o,"codex",i),un.join(o,"bin",i),un.join(o,i)].find(l=>r.fileExists(l));return s!==void 0?s:r.listDirectory(o).map(l=>un.join(o,l,i)).find(l=>r.fileExists(l))}function u4(e){let t=rP(e.platform,e.arch);if(t===void 0)return;let r=[],n=wv(t.packageName,e);n!==void 0&&r.push(un.join(n,"vendor"));let i=wv("@openai/codex",e);return i!==void 0&&r.push(un.join(i,"vendor")),Ve(r,void 0,(o,a)=>o!==void 0?o:d4(a,t.triple,e))}function c4(e){let t=wv("@openai/codex",e);if(t===void 0)return;let r=Qt(un.join(t,"package.json"));if(r.TAG!=="Ok")return;let n;try{n=JSON.parse(r._0)}catch{n=void 0}if(n===void 0||typeof n!="object"||n===null||Array.isArray(n))return;let i=n.version;if(i!==void 0&&typeof i=="string"&&i.trim()!=="")return i.trim()}var f4=new RegExp("(\\d+\\.\\d+\\.\\d+)");function Im(e){let t=_s(e,["--version"],1e4,1048576);if(t.TAG!=="Ok")return;let r=f4.exec(t._0);if(r!=null)return k(r.slice(1)[0],n=>n)}function m4(e,t){return e!==void 0&&t!==void 0?e===t?{TAG:"Match",version:e}:{TAG:"Mismatch",pathVersion:e,pinnedVersion:t}:{TAG:"Unverified",pathVersion:e,pinnedVersion:t}}function p4(e){switch(e.TAG){case"Match":return"match";case"Mismatch":return"mismatch";case"Unverified":return"unverified"}}var kv="LINZUMI_ALLOW_HARNESS_MISMATCH",YE={contents:!1};var h4="Warning: the Codex engine bundled with @linzumi/cli could not be located in its install (@openai/codex platform binary missing). Falling back to `codex` from PATH - the engine version may not match this CLI release. Pass --codex-bin <path> to pin an engine explicitly.\n";function _4(e){if(!YE.contents)return YE.contents=!0,e(h4)}function XE(e,t){return"the codex engine bundled with @linzumi/cli is missing from this install and the `codex` on PATH is version "+e+", but this CLI release pins engine "+t+". "+("Running a mismatched engine breaks the wire protocol (codex "+t+" vocabulary), so refusing to start. ")+("Fix: reinstall the CLI (a fresh `npx -y @linzumi/cli@latest` restores the bundled engine), pass --codex-bin <path> to pin an engine deliberately, or set "+kv+"=1 to accept the skew.")}function g4(e,t){return"Warning: proceeding with the PATH codex "+e+" despite the CLI pinning engine "+t+" ("+kv+`=1). Engine/CLI version skew can break the wire protocol.
324
+ `}function y4(e,t){}function $m(e,t,r,n,i,o){let a=o!==void 0?o:y4;if(e!==void 0)return{TAG:"Ok",_0:{codexBin:e,source:"ExplicitFlag"}};let s=u4(t);if(s!==void 0){let f={};return f.codex_bin_path=s,f.codex_bin_source="bundled",a("codex.binary.resolved",f),{TAG:"Ok",_0:{codexBin:s,source:"Bundled"}}}_4(r);let l=c4(t),d=l!==void 0?n("codex"):void 0,u=m4(d,l),c={};switch(c.codex_bin_path="codex",c.codex_bin_source="path-fallback",c.harness_version_check=p4(u),u.TAG){case"Match":c.harness_version=u.version;break;case"Mismatch":c.path_harness_version=u.pathVersion,c.pinned_harness_version=u.pinnedVersion;break;case"Unverified":c.path_harness_version=rn(u.pathVersion,null,f=>f),c.pinned_harness_version=rn(u.pinnedVersion,null,f=>f);break}switch(a("codex.binary.resolved",c),u.TAG){case"Mismatch":let f=u.pinnedVersion,p=u.pathVersion,m=i[kv];return m===void 0?{TAG:"Error",_0:XE(p,f)}:m!=="1"?{TAG:"Error",_0:XE(p,f)}:(r(g4(p,f)),{TAG:"Ok",_0:{codexBin:"codex",source:"PathFallback"}});case"Match":case"Unverified":return{TAG:"Ok",_0:{codexBin:"codex",source:"PathFallback"}}}}function iP(e){if(typeof e=="number"&&e%1===0)return e}function b4(e){if(typeof e=="string")return e}function v4(e){let t=e.replaceAll("-","+").replaceAll("_","/");switch(t.length&3){case 2:return t+"==";case 3:return t+"=";default:return t}}function oP(e){let t=e.split(".")[1];if(t===void 0)return;let r=Buffer.from(v4(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 wu(e){let t=oP(e);if(t===void 0)return{actorUserId:void 0,actorUsername:void 0};let r=iP(t.actor_id);return{actorUserId:r!==void 0?r:iP(t.sub),actorUsername:b4(t.actor_username)}}function aP(e){let t=k(oP(e),n=>n.workspace_scope),r=t!==void 0?Array.isArray(t)?$e(t,n=>{if(typeof n=="string"&&n.trim()!=="")return n}):[]:[];if(r.length===1)return r[0]}var Av=[["codex.agent_turn_narration_only_no_reply","harness.agent_turn_narration_only_no_reply"],["codex.cost_cap_402_seen","harness.cost_cap_402_seen"],["codex.edge_blocked_captured","harness.edge_blocked_captured"],["codex.empty_turn_auto_retry_suppressed_cost_cap","harness.empty_turn_auto_retry_suppressed_cost_cap"],["codex.empty_turn_loop_guard_tripped","harness.empty_turn_loop_guard_tripped"],["codex.error_without_http_status_captured","harness.error_without_http_status_captured"],["codex.mid_stream_stall_auto_resume_flagged","harness.mid_stream_stall_auto_resume_flagged"],["codex.mid_stream_stall_resume_suppressed_rate_limit","harness.mid_stream_stall_resume_suppressed_rate_limit"],["codex.mid_stream_stall_second_stall_after_resume","harness.mid_stream_stall_second_stall_after_resume"],["codex.pre_first_byte_stall_auto_retry_flagged","harness.pre_first_byte_stall_auto_retry_flagged"],["codex.pre_first_byte_stall_retry_suppressed_cost_cap","harness.pre_first_byte_stall_retry_suppressed_cost_cap"],["codex.provider_outage_flagged_captured","harness.provider_outage_flagged_captured"],["codex.reasoning_loop_breaker_tripped","harness.reasoning_loop_breaker_tripped"],["codex.tool_fatal_captured","harness.tool_fatal_captured"],["codex.turn_completed","job.turn_completed"],["codex.turn_completed_with_protocol_failure","job.turn_completed_with_protocol_failure"],["codex.turn_completed_with_unsupported_tool_call_ignored","job.turn_completed_with_unsupported_tool_call_ignored"],["codex.turn_completed_without_assistant_output","job.turn_completed_without_assistant_output"],["codex.turn_forward_failed","job.turn_forward_failed"],["codex.upstream_error_captured","harness.upstream_error_captured"],["codex.upstream_rejection_captured","harness.upstream_rejection_captured"],["codex.upstream_turn_error_captured","harness.upstream_turn_error_captured"],["kandan.chat_event","linzumi.chat_event"],["kandan.chat_event_abandoned","linzumi.chat_event_abandoned"],["kandan.chat_event_failed","linzumi.chat_event_failed"],["kandan.chat_event_failure_cleared","linzumi.chat_event_failure_cleared"],["kandan.claude_code_interrupt_state_push_failed","linzumi.claude_code_interrupt_state_push_failed"],["kandan.claude_code_stop_state_push_failed","linzumi.claude_code_stop_state_push_failed"],["kandan.claude_code_typing_heartbeat_failed","linzumi.claude_code_typing_heartbeat_failed"],["kandan.claude_code_typing_start_wait_timeout","linzumi.claude_code_typing_start_wait_timeout"],["kandan.claude_code_typing_stop_failed","linzumi.claude_code_typing_stop_failed"],["kandan.claude_code_user_input_abort_publish_failed","linzumi.claude_code_user_input_abort_publish_failed"],["kandan.claude_code_user_question_completed_publish_failed","linzumi.claude_code_user_question_completed_publish_failed"],["kandan.codex_command_output_forwarded","linzumi.codex_command_output_forwarded"],["kandan.codex_delta_forwarded","linzumi.codex_delta_forwarded"],["kandan.codex_file_change_forwarded","linzumi.codex_file_change_forwarded"],["kandan.codex_notification_push_failed","linzumi.codex_notification_push_failed"],["kandan.codex_output_forwarded","linzumi.codex_output_forwarded"],["kandan.codex_reasoning_delta_forwarded","linzumi.codex_reasoning_delta_forwarded"],["kandan.codex_web_search_progress_forwarded","linzumi.codex_web_search_progress_forwarded"],["kandan.connection_force_reconnect","linzumi.connection_force_reconnect"],["kandan.connection_force_reconnect_dispatched","linzumi.connection_force_reconnect_dispatched"],["kandan.connection_hard_reset","linzumi.connection_hard_reset"],["kandan.connection_hard_reset_exhausted","linzumi.connection_hard_reset_exhausted"],["kandan.connection_recovered","linzumi.connection_recovered"],["kandan.connection_stale","linzumi.connection_stale"],["kandan.connection_unrecoverable","linzumi.connection_unrecoverable"],["kandan.control","linzumi.control"],["kandan.control_ack_withheld_on_failure","linzumi.control_ack_withheld_on_failure"],["kandan.control_epoch_changed","linzumi.control_epoch_changed"],["kandan.control_handler_threw","linzumi.control_handler_threw"],["kandan.control_ignored","linzumi.control_ignored"],["kandan.control_response_push_failed","linzumi.control_response_push_failed"],["kandan.failed_seq_overflow","linzumi.failed_seq_overflow"],["kandan.forward_port_revoked_push_failed","linzumi.forward_port_revoked_push_failed"],["kandan.forward_response","linzumi.forward_response"],["kandan.forward_response_push_failed","linzumi.forward_response_push_failed"],["kandan.forward_tunnel_error","linzumi.forward_tunnel_error"],["kandan.forward_tunnel_open_failed","linzumi.forward_tunnel_open_failed"],["kandan.heartbeat_push_failed","linzumi.heartbeat_push_failed"],["kandan.local_editor_initial_status_failed","linzumi.local_editor_initial_status_failed"],["kandan.local_editor_status_push_failed","linzumi.local_editor_status_push_failed"],["kandan.message_duplicate_ignored","linzumi.message_duplicate_ignored"],["kandan.message_ignored","linzumi.message_ignored"],["kandan.message_queued","linzumi.message_queued"],["kandan.message_spawn_on_miss","linzumi.message_spawn_on_miss"],["kandan.message_spawn_on_miss_failed","linzumi.message_spawn_on_miss_failed"],["kandan.message_state_refresh_failed","linzumi.message_state_refresh_failed"],["kandan.optional_push_failed","linzumi.optional_push_failed"],["kandan.post_stop_queue_drain_failed","linzumi.post_stop_queue_drain_failed"],["kandan.queue_drain_blocked","linzumi.queue_drain_blocked"],["kandan.queue_drain_dead_worker_fail_publish_failed","linzumi.queue_drain_dead_worker_fail_publish_failed"],["kandan.queue_drain_dead_worker_rebuild","linzumi.queue_drain_dead_worker_rebuild"],["kandan.queue_drain_dead_worker_rebuild_exhausted","linzumi.queue_drain_dead_worker_rebuild_exhausted"],["kandan.queue_drain_dead_worker_rebuild_failed","linzumi.queue_drain_dead_worker_rebuild_failed"],["kandan.reconnect_handling_failed","linzumi.reconnect_handling_failed"],["kandan.reconnect_thread_context_fetch_failed","linzumi.reconnect_thread_context_fetch_failed"],["kandan.reconnect_thread_cwd_failed_state_push_failed","linzumi.reconnect_thread_cwd_failed_state_push_failed"],["kandan.reconnect_thread_failed","linzumi.reconnect_thread_failed"],["kandan.reconnect_thread_processing_state_push_failed","linzumi.reconnect_thread_processing_state_push_failed"],["kandan.reconnect_thread_queue_closed_state_push_failed","linzumi.reconnect_thread_queue_closed_state_push_failed"],["kandan.reconnect_thread_queue_failed_state_push_failed","linzumi.reconnect_thread_queue_failed_state_push_failed"],["kandan.reconnect_thread_queue_state_push_failed","linzumi.reconnect_thread_queue_state_push_failed"],["kandan.reconnect_thread_rehydrate_forced","linzumi.reconnect_thread_rehydrate_forced"],["kandan.reconnect_thread_rehydrated","linzumi.reconnect_thread_rehydrated"],["kandan.reconnect_thread_rehydrated_state_push_failed","linzumi.reconnect_thread_rehydrated_state_push_failed"],["kandan.reconnect_thread_rehydration_failed","linzumi.reconnect_thread_rehydration_failed"],["kandan.reconnect_thread_rehydration_ir_emitted","linzumi.reconnect_thread_rehydration_ir_emitted"],["kandan.reconnect_thread_rehydration_items_failed","linzumi.reconnect_thread_rehydration_items_failed"],["kandan.reconnect_thread_resume_failed","linzumi.reconnect_thread_resume_failed"],["kandan.reconnect_thread_seq_already_applied","linzumi.reconnect_thread_seq_already_applied"],["kandan.reconnect_thread_transcript_fetch_failed","linzumi.reconnect_thread_transcript_fetch_failed"],["kandan.reconnect_thread_unarchive_failed","linzumi.reconnect_thread_unarchive_failed"],["kandan.reconnect_thread_unarchive_resumed","linzumi.reconnect_thread_unarchive_resumed"],["kandan.reconnect_thread_unarchive_started","linzumi.reconnect_thread_unarchive_started"],["kandan.reconnect_thread_unavailable_state_push_failed","linzumi.reconnect_thread_unavailable_state_push_failed"],["kandan.reconnected","linzumi.reconnected"],["kandan.roster_seeded","linzumi.roster_seeded"],["kandan.session_app_server_lost_push_failed","linzumi.session_app_server_lost_push_failed"],["kandan.session_settings_publish_failed","linzumi.session_settings_publish_failed"],["kandan.start_instance_claude_code_attachment_failed_state_push_failed","linzumi.start_instance_claude_code_attachment_failed_state_push_failed"],["kandan.start_instance_codex_app_server_unavailable","linzumi.start_instance_codex_app_server_unavailable"],["kandan.start_instance_cwd_failed_state_push_failed","linzumi.start_instance_cwd_failed_state_push_failed"],["kandan.start_instance_cwd_rejected","linzumi.start_instance_cwd_rejected"],["kandan.start_instance_failed","linzumi.start_instance_failed"],["kandan.start_instance_processing_state_push_failed","linzumi.start_instance_processing_state_push_failed"],["kandan.start_instance_skipped_known_session","linzumi.start_instance_skipped_known_session"],["kandan.start_instance_stale_skipped","linzumi.start_instance_stale_skipped"],["kandan.start_instance_unavailable_state_push_failed","linzumi.start_instance_unavailable_state_push_failed"],["kandan.start_instance_wafer_state_push_failed","linzumi.start_instance_wafer_state_push_failed"],["kandan.start_turn_replay_skipped","linzumi.start_turn_replay_skipped"],["kandan.steer_duplicate_ignored","linzumi.steer_duplicate_ignored"],["kandan.steer_parked_as_own_turn","linzumi.steer_parked_as_own_turn"],["kandan.thread_bind_from_historical_reply_failed","linzumi.thread_bind_from_historical_reply_failed"],["kandan.thread_bound_from_historical_reply","linzumi.thread_bound_from_historical_reply"],["kandan.thread_sessions_reannounce_failed","linzumi.thread_sessions_reannounce_failed"],["kandan.thread_sessions_reannounced","linzumi.thread_sessions_reannounced"],["kandan.tui_input_mirrored","linzumi.tui_input_mirrored"],["kandan.typing_heartbeat_failed","linzumi.typing_heartbeat_failed"],["kandan.typing_stop_after_completion_failed","linzumi.typing_stop_after_completion_failed"]],sP=[["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"]],Mm=[["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"]],Ov=[["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 ku(){return x("1.0.146","0.0.0-unbundled")}function Ev(){return"linzumi "+x("1.0.146","0.0.0-unbundled")}function bl(e,t){let r=e.indexOf(t);if(r!==-1)return r}function Pv(){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 Rv(e){let t={};return e.forEach(r=>{t[r[0]]=r[1]}),t}function S4(e){let t={};return e.forEach(r=>{t[r[1]]=r[0]}),t}var uP=Rv(sP),cP=Rv(Mm),w4=Rv(Ov),k4=S4(Ov);function x4(e){return e.endsWith("_canonical")?!0:e.endsWith("_legacy")}function fP(e,t){return t>=32?e:Array.isArray(e)?e.map(r=>fP(r,t+1|0)):e===null?e:typeof e==="object"?mP(e,t):e}function mP(e,t){let r=Object.keys(e),n={};return r.forEach(i=>{let o=e[i];if(o!==void 0){n[i]=fP(o,t+1|0);return}}),r.forEach(i=>{if(x4(i))return;let o=n[i];if(o===void 0)return;let a=uP[i];if(a!==void 0)n[a]=o;else{let c=cP[i];c!==void 0&&(n[c]!==void 0||(n[c]=o))}let s=n[i];if(s===void 0||typeof s!="string")return;let l=w4[s];if(l!==void 0){if(n[i+"_canonical"]!==void 0)return;n[i+"_canonical"]=l;return}let d=k4[s];if(!(d===void 0||n[i+"_legacy"]!==void 0)){n[i+"_legacy"]=d;return}}),n}function jm(e){return Pv()?mP(e,0):e}function pP(e){let t=e.slice();return e.forEach(r=>{let n=uP[r];n!==void 0&&!t.includes(n)&&t.push(n);let i=cP[r];if(i!==void 0&&!t.includes(i)){t.push(i);return}}),t}var vl="<SENSITIVE_DATA>",T4=pP(["access_token","authorization","code","cookie","kandan_preview_ticket","refresh_token","token"]),A4=["--access-token","--api-key","--authorization","--cookie","--oauth-code","--password","--refresh-token","--secret","--token"],O4=new RegExp("^(authorization|cookie|set-cookie|password)$","i"),C4=new RegExp("(^|[_-])(access[_-]?token|api[_-]?key|auth[_-]?token|oauth[_-]?code|refresh[_-]?token|secret|token)$","i"),E4=new RegExp("\\beyJ[A-Za-z0-9_-]*\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\b","g");function P4(e){return e!==void 0?O4.test(e)?!0:C4.test(e):!1}function hP(e){let t={contents:!1};return Gw(e).forEach(r=>{if(T4.includes(r.toLowerCase())){e.set(r,vl),t.contents=!0;return}}),t.contents}function R4(e){let t=bl(e,"?"),r=bl(e,"#");if(t===void 0||r!==void 0&&r<t)return e;let n=e.slice(0,t),i=r!==void 0?e.slice(t+1|0,r):e.slice(t+1|0),o=r!==void 0?e.slice(r):"",a=new URLSearchParams(i);return hP(a)?n+"?"+a.toString()+o:e}function I4(e){let t=Ln(e);if(t===void 0)return R4(e);let r=ue(t);return hP(r.searchParams),r.toString()}function _P(e){return I4(e).replace(E4,vl)}function $4(e){let t=bl(e,"=");return t!==void 0?[e.slice(0,t),e.slice(t+1|0)]:[e,void 0]}function $v(e,t){if(P4(t))return vl;if(Array.isArray(e))return t==="args"?M4(e):e.map(r=>$v(r,void 0));if(e===null)return e;switch(typeof e){case"string":return _P(e);case"object":return gP(e);default:return e}}function M4(e){let t={contents:!1};return e.map(r=>{if(typeof r=="string"){if(t.contents)return t.contents=!1,vl;let n=$4(r),i=n[0];return A4.includes(i)?n[1]!==void 0?i+"="+vl:(t.contents=!0,r):_P(r)}return t.contents=!1,$v(r,void 0)})}function gP(e){let t=e.name,r=typeof t=="string"?t.toLowerCase():void 0,n;if(r!==void 0)switch(r){case"authorization":case"cookie":case"set-cookie":n=!0;break;default:n=!1}else n=!1;let i={};return Object.entries(e).forEach(o=>{let a=o[0];if(a!=="runner_console"){i[a]=n&&a==="value"?vl:$v(o[1],a);return}}),i}var zm=gP;import*as ta from"node:os";import*as jp from"node:path";import*as gw from"node:crypto";function jn(e){let t=parseFloat(e);if(!Number.isNaN(t))return t}function bP(e){return"local_runner:"+e}var j4="kandan-local-codex-runner",z4="rescript";function vP(e){let t={};t.clientName=j4,t.clientId=e.clientId;let r=e.machineFingerprint;t.machineFingerprint=r!==void 0?r:null,Object.entries(ck(e.machineFingerprintV2)).forEach(a=>{t[a[0]]=a[1]}),t.runnerPid=e.runnerPid,t.version=e.version,t.hostname=e.hostname,t.cwd=e.cwd;let n=e.workspace;t.workspace=n!==void 0?n:null;let i=e.channel;t.channel=i!==void 0?i:null,t.capabilities=e.capabilities;let o=e.generationOverlapEpoch;if(o!==void 0){let a={};a.epoch=o,a.overlap=!0,t.generation=a}return t.commander_impl=z4,t}function SP(e,t,r){let n={};return n.last_seq=r,t!==void 0&&(n.runner_id=e,n.thread_id=t),n}function zn(e,t){return e.catch(r=>t(ee(r)))}function kP(){let e=[],t=[],r={contents:!1},n=()=>{let a=e.shift();return a!==void 0?Promise.resolve({done:!1,value:a}):r.contents?Promise.resolve({done:!0}):new Promise((s,l)=>{t.push(s)})},i=()=>(r.contents=!0,Promise.resolve({done:!0})),o={};return o[Symbol.asyncIterator]=()=>({next:n,return:i}),{iterable:o,push:a=>{if(r.contents)return!1;let s=t.shift();return s!==void 0?(s({done:!1,value:a}),!0):(e.push(a),!0)},close:()=>{r.contents=!0,(()=>{for(;;){let s=t.shift();if(s===void 0)return;s({done:!0})}})()}}}function xP(e){return import(e)}var G4="@anthropic-ai/claude-agent-sdk";function TP(e){return kP()}function F4(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 AP(){let e=await xP(G4);return{query:t=>F4(e.query(t)),getSessionInfo:(t,r)=>e.getSessionInfo(t,r),listSessions:t=>e.listSessions(t),getSessionMessages:(t,r)=>e.getSessionMessages(t,r)}}var Mv=["codex","claude-code","pi","opencode"];function Ya(e){return e}function Nm(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 D4(e){switch(e){case"SocketOpen":return"open";case"SocketMessage":return"message";case"SocketClose":return"close";case"SocketError":return"error"}}function q4(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,a;return a=o==null||typeof o!="string"?void 0:o,{data:r,code:i,reason:a}}function L4(e){return{readyState:()=>e.readyState,send:t=>{e.send(t)},close:()=>{e.close()},on:(t,r)=>{e.addEventListener(D4(t),n=>r(q4(n)),{})}}}function Gm(e,t){return L4(new WebSocket(e,t))}var CP=0,Xa=1;var jv="file",zv=["mcp_oauth_credentials_store","cli_auth_credentials_store"],U4=zv.flatMap(e=>["-c",e+'="'+jv+'"']),W4=["-c","features.apps=false"];function po(e){return JSON.stringify(e)}function Z4(e){let t=(r,n)=>r!==void 0?Object.entries(r).flatMap(i=>["-c","model_providers."+e.id+"."+n+"."+i[0]+"="+po(i[1])]):[];return[["-c","model_providers."+e.id+".name="+po(e.name),"-c","model_providers."+e.id+".base_url="+po(e.baseUrl),"-c","model_providers."+e.id+".env_key="+po(e.envKey),"-c","model_providers."+e.id+".wire_api="+po(e.wireApi)],t(e.httpHeaders,"http_headers"),t(e.envHttpHeaders,"env_http_headers"),["-c","model_provider="+po(e.id)]].flat()}function V4(e){let t=e.model,r=e.reasoningEffort,n=e.modelProvider;return[W4,U4,t!==void 0?["-c","model="+po(t)]:[],r!==void 0?["-c","model_reasoning_effort="+po(r)]:[],e.fast?["-c","service_tier="+po("fast")]:[],e.mcpConfigArgs.flat(),n!==void 0?Z4(n):[]].flat()}function PP(e,t){return[["app-server"],V4(t),["--listen",e]].flat()}var H4=["LINZUMI_MCP_ACCESS_TOKEN","LINZUMI_MCP_OWNER_USERNAME"];function RP(e,t,r){let n=r?Object.fromEntries(Object.entries(e)):{};return H4.forEach(i=>fr(n,i)),t.forEach(i=>{let o=i[1],a=i[0];if(o!==void 0){n[a]=o;return}else return fr(n,a)}),n}var IP=["ignore","pipe","pipe"];function $P(e){let t=e.length;return t>12e3?e.slice(t-12e3|0,t):e}function MP(e,t,r){return r<3&&e.includes("codex app-server exited before readyz")&&t.includes("EADDRINUSE")?t.includes("listen"):!1}function jP(e){let t=Ln(e);if(t===void 0)return;let r=ue(t),i=r.protocol==="wss:"?"https:":"http:";return r.protocol=i,r.pathname="/readyz",r.search="",r.hash="",r.toString()}var B4="kandan-local-codex-runner",K4="0.0.1";function zP(){return Object.fromEntries([["clientInfo",Object.fromEntries([["name",B4],["version",K4]])],["capabilities",Object.fromEntries([["experimentalApi",!0]])]])}var J4=new RegExp("\\bsession\\b.+\\bis archived\\b","i");function NP(e){return J4.test(e)}var Y4=new RegExp("^thread not found(?:\\s*:|\\b)","i");function GP(e){return Y4.test(e.trim())}var FP=2e3;function X4(e){try{e.unref();return}catch{return}}var DP="codex app-server websocket closed",Q4="codex app-server websocket is not open";function eH(e){let t=e.method;if(typeof t=="string")return t}function Nv(e){let t=e.error;if(t===void 0)return{TAG:"ResultReply",_0:x(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 Dm(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 a=ee(o);return{TAG:"Error",_0:Ne(a).message}}}function WP(e,t,r){try{return t(r)}catch(n){let i=ee(n);return e("codex.notification_callback_failed",Object.fromEntries([["purpose","codex.app_server"],["method",r.method],["message",Ne(i).message]]))}}function qP(e,t,r){try{return t(r)}catch(n){let i=ee(n);return e("codex.close_callback_failed",Object.fromEntries([["purpose","codex.app_server"],["message",Ne(i).message]]))}}function tH(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 rH(e,t,r,n){let i={TAG:"Error",_0:[-32601,"unhandled Codex app-server request: "+n.method]},o=e.requestCallbacks.slice(),a,s=0;for(;mn(a)&&s<o.length;){let d=o[s];if(d!==void 0){let u=0,c;try{c=await d(n),u=1}catch(f){let p=ee(f);a={TAG:"Error",_0:[-32e3,Ne(p).message]}}u===1&&c!==void 0&&(a={TAG:"Ok",_0:c})}s=s+1|0}let l=x(a,i);Dm(t,r,"outgoing",tH(n.id,l))}function nH(e,t,r,n,i){let o;try{o=JSON.parse(i)}catch(p){let m=ee(p);r("codex.app_server_frame_malformed",Object.fromEntries([["purpose","codex.app_server"],["message",Ne(m).message],["payload",i.slice(0,512)],["payloadChars",i.length]])),o=void 0}let a;if(o!==void 0){let p=0;typeof o=="object"&&o!==null&&!Array.isArray(o)?a=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]])),a=void 0)}else a=void 0;if(a===void 0)return;let s=Dt(a.id),l=s&&(Dt(a.result)||Dt(a.error)),d=eH(a);if(l){let p=x(a.id,null),m=JSON.stringify(p),h=e.pending[m];return h!==void 0?(fr(e.pending,m),h.resolvePending({TAG:"Ok",_0:Nv(a)})):void 0}if(s)if(d!==void 0){zn(rH(e,t,n,{id:x(a.id,null),method:d,params:a.params}),p=>Promise.resolve());return}else return;if(d===void 0)return;let u=a.params,c={method:d,params:u};e.notificationCallbacks.length!==0?e.notificationCallbacks.forEach(p=>WP(r,p,c)):e.pendingNotifications.push(c)}function iH(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 LP(e,t){return Object.fromEntries(t!==void 0?[["jsonrpc","2.0"],["method",e],["params",t]]:[["jsonrpc","2.0"],["method",e]])}function UP(e,t,r,n,i,o){return t.socket.readyState()===Xa?new Promise((a,s)=>{e.pending[JSON.stringify(n)]={resolvePending:a};let l=Dm(t,r,"request",iH(n,i,o));l.TAG!=="Ok"&&(fr(e.pending,JSON.stringify(n)),a({TAG:"Error",_0:l._0}))}):Promise.resolve({TAG:"Error",_0:Q4})}async function qm(e,t,r,n){let i=t!==void 0?t:u=>({socket:Gm(u,[]),ping:void 0}),o=r!==void 0?r:2e3,a=n!==void 0?n:()=>Date.now(),s=a()+o,l,d="websocket open failed";for(;mn(l);){let u;try{u={TAG:"Ok",_0:i(e)}}catch(c){let f=ee(c);u={TAG:"Error",_0:Ne(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{}a()>s&&(l={TAG:"Error",_0:d})}}else d=u._0,a()>s&&(l={TAG:"Error",_0:d})}return x(l,{TAG:"Error",_0:d})}async function Lm(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()===Xa)try{return d()}catch{return}},t.keepaliveIntervalMs);X4(o);let a=d=>{clearInterval(o);let u=Object.entries(r.pending);if(Object.entries(r.pending).forEach(p=>fr(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=>qP(n,p,d))};e.socket.on("SocketClose",d=>a(DP)),e.socket.on("SocketError",d=>a(DP)),e.socket.on("SocketMessage",d=>{let u=d.data;if(u!==void 0)return i("incoming",u),nH(r,e,n,i,u)});let s=await UP(r,e,i,"initialize","initialize",zP());if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0};let l=s._0;return l.TAG!=="ResultReply"?{TAG:"Error",_0:"codex initialize failed: "+l.message}:(Dm(e,i,"outgoing",LP("initialized",void 0)),{TAG:"Ok",_0:{request:(d,u)=>{let c=r.nextId;return r.nextId=r.nextId+1|0,UP(r,e,i,c,d,u)},notify:(d,u)=>{Dm(e,i,"outgoing",LP(d,u))},onNotification:d=>{r.notificationCallbacks.push(d);let u=r.pendingNotifications.slice();r.pendingNotifications.splice(0,r.pendingNotifications.length),u.forEach(c=>WP(n,d,c))},onRequest:d=>{r.requestCallbacks.push(d)},onClose:d=>{let u=r.closeError;if(u!==void 0)return qP(n,d,u);r.closeCallbacks.push(d)},isClosed:()=>Dt(r.closeError),close:()=>{clearInterval(o);try{return e.socket.close()}catch{return}}}})}function xl(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function Li(e){if(e!==void 0&&typeof e=="string"&&e.trim()!=="")return e.trim()}function kl(e){if(e!==void 0&&typeof e=="number"&&Ot(e))return e}function ZP(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}var VP="linzumi_thread_codex_worker_ready",HP="linzumi_thread_codex_worker_session_closed",BP="linzumi_thread_codex_worker_request",KP="linzumi_thread_codex_worker_notify",qv="linzumi_thread_codex_worker_response",JP="linzumi_thread_codex_worker_notification",YP="linzumi_thread_codex_worker_server_request",XP="linzumi_thread_codex_worker_server_request_response";function QP(e,t){let r={};return r.type=VP,r.kandanThreadId=e,r.commanderManagedPorts=t.map(n=>{let i={};i.port=n.port;let o=n.pid;o!==void 0&&(i.pid=o);let a=n.processName;a!==void 0&&(i.processName=a);let s=n.processIconKey;s!==void 0&&(i.processIconKey=s);let l=n.agentProvider;return l!==void 0&&(i.agentProvider=l),i}),r}function eR(e,t){let r={};return r.type=HP,r.kandanThreadId=e,r.reason=t,r}function oH(e,t,r){let n={};return n.type=BP,n.id=e,n.method=t,r!==void 0&&(n.params=r),n}function aH(e,t){let r={};return r.type=KP,r.method=e,t!==void 0&&(r.params=t),r}function sH(e,t){let r={};return r.type=qv,r.id=e,r.response=t,r}function lH(e,t){let r={};return r.type=qv,r.id=e,r.error=t,r}function dH(e){let t={};return t.type=JP,t.notification=e,t}function uH(e,t){let r={};return r.type=YP,r.id=e,r.request=t,r}function Fv(e,t,r){let n={};return n.type=XP,n.id=e,t!==void 0&&(n.result=t),r!==void 0&&(n.error=r),n}function cH(e){if(e===void 0||typeof e!="object"||e===null||Array.isArray(e)||e.id===void 0)return;let r=e.result,n=e.error;if(r!==void 0||n!==void 0)return e}function fH(e){if(e===void 0||typeof e!="object"||e===null||Array.isArray(e))return;let t=e.id,r=e.method;if(!(t!==void 0||typeof r!="string"))return e}function mH(e){if(e===void 0||typeof e!="object"||e===null||Array.isArray(e))return;let t=e.id,r=e.method;if(t!==void 0&&typeof r=="string")return e}function pH(e){let t=xl(e);if(t===void 0)return;let r=t.type;if(r===void 0||typeof r!="string")return;if(r===BP){let i=kl(t.id),o=Li(t.method);return i!==void 0&&o!==void 0?{TAG:"ParentRequest",id:i,method_:o,params:ZP(t.params)}:void 0}if(r===KP){let i=Li(t.method);return i!==void 0?{TAG:"ParentNotify",method_:i,params:ZP(t.params)}:void 0}if(r!==XP)return;let n=kl(t.id);if(n!==void 0)return{TAG:"ParentServerRequestResponse",id:n,result:t.result,error:Li(t.error)}}function hH(e){let t=xl(e);if(t===void 0)return;let r=t.type;if(r===void 0||typeof r!="string")return;if(r===qv){let o=kl(t.id);return o!==void 0?{TAG:"ChildResponse",id:o,response:cH(t.response),error:Li(t.error)}:void 0}if(r===JP){let o=fH(t.notification);return o!==void 0?{TAG:"ChildNotification",notification:o}:void 0}if(r!==YP)return;let n=kl(t.id),i=mH(t.request);if(n!==void 0&&i!==void 0)return{TAG:"ChildServerRequest",id:n,request:i}}function tR(e){let t=xl(e);if(t===void 0)return;let r=t.type;if(typeof r=="string"&&r===HP)return[x(Li(t.kandanThreadId),""),x(Li(t.reason),"")]}var _H="thread Codex worker reported invalid ready payload";function gH(e){let t=Li(e);if(t!==void 0)switch(t){case"claude-code":return"claude-code";case"codex":return"codex";default:return}}function yH(e){return e!==void 0?Array.isArray(e)?$e(e,t=>{let r=xl(t);if(r===void 0)return;let n=kl(r.port);if(n!==void 0&&n>=1&&n<=65535)return{port:n,pid:kl(r.pid),processName:Li(r.processName),processIconKey:Li(r.processIconKey),agentProvider:gH(r.agentProvider)}}):[]:[]}function rR(e,t){let r=xl(e);if(r===void 0)return{TAG:"Ok",_0:void 0};let n=r.type;if(n===void 0)return{TAG:"Ok",_0:void 0};if(typeof n!="string")return{TAG:"Ok",_0:void 0};if(n!==VP)return{TAG:"Ok",_0:void 0};let i=Li(r.kandanThreadId);return i!==void 0&&i===t?{TAG:"Ok",_0:{kandanThreadId:i,commanderManagedPorts:yH(r.commanderManagedPorts)}}:{TAG:"Error",_0:_H}}function nR(e,t){}var iR="linzumi.thread_runner",bH="thread Codex worker requires a codex client with onRequest",Dv="thread Codex worker IPC channel closed";function oR(e,t,r){let n=r!==void 0?r:nR,i=e.onRequest;if(i===void 0)return{TAG:"Error",_0:bH};let o=new Map,a={contents:1},s={contents:!1},l=u=>{if(s.contents)return;s.contents=!0;let c={};c.purpose=iR,c.reason=u,n("thread_codex_worker.ipc_send_dropped",c)},d=u=>{let c=t.send,f=t.isConnected();if(c===void 0||!f)return l("ipc_channel_closed");let p=c(u);if(p.TAG!=="Ok")return l(p._0)};return t.onMessage(u=>{let c=pH(u);if(c!==void 0)switch(c.TAG){case"ParentRequest":let f=c.id;e.request(c.method_,c.params).then(_=>_.TAG==="Ok"?d(sH(f,_._0)):d(lH(f,_._0)));return;case"ParentNotify":return e.notify(c.method_,c.params);case"ParentServerRequestResponse":let p=c.error,m=c.id,h=o.get(m);return h!==void 0?(o.delete(m),h(p!==void 0?{TAG:"Error",_0:p}:{TAG:"Ok",_0:c.result})):void 0}}),e.onNotification(u=>d(dH(u))),i(u=>new Promise((c,f)=>{let p=a.contents;a.contents=p+1,o.set(p,c),d(uH(p,u))})),t.onceDisconnect(()=>{o.forEach(u=>u({TAG:"Error",_0:Dv})),o.clear()}),{TAG:"Ok",_0:void 0}}var vH="thread Codex worker IPC client is closed",SH="thread Codex worker response missing body",wH="thread Codex worker IPC client closed";async function kH(e,t,r,n,i,o){let a=d=>{let u=e(d);if(u.TAG==="Ok")return;let c={};c.purpose=iR,c.requestMethod=n,c.message=u._0,o("thread_codex_worker.ipc_response_dropped",c)},s=!1,l=0;for(;!s&&l<i.length;){let d=i[l];if(d!==void 0){let u=await d(r);if(u.TAG==="Ok"){let c=u._0;c!==void 0&&(s=!0,a(Fv(t,c,void 0)))}else s=!0,a(Fv(t,void 0,u._0))}l=l+1|0}if(!s)return a(Fv(t,void 0,"unhandled Codex app-server request: "+n))}function xH(e){let t=xl(e);if(t===void 0)return"";let r=t.method;return typeof r=="string"?r:""}function aR(e,t){let r=t!==void 0?t:nR,n=new Map,i=[],o=[],a=[],s={contents:1},l={contents:!1},d=_=>{n.forEach(g=>g({TAG:"Error",_0:_})),n.clear()},u=_=>{if(l.contents)return{TAG:"Error",_0:vH};let g=e.send,b=e.isConnected();return g!==void 0&&b?g(_):{TAG:"Error",_0:Dv}},c=_=>{let g=hH(_);if(g!==void 0)switch(g.TAG){case"ChildResponse":let b=g.error,y=g.response,v=g.id,S=n.get(v);return S!==void 0?(n.delete(v),S(b!==void 0?{TAG:"Error",_0:b}:y!==void 0?{TAG:"Ok",_0:y}:{TAG:"Error",_0:SH})):void 0;case"ChildNotification":let A=g.notification;i.length!==0?i.forEach(L=>L(A)):a.push(A);return;case"ChildServerRequest":let W=g.request;kH(u,g.id,W,xH(W),o,r);return}},f=e.onMessage(c),p=()=>{l.contents=!0,d(Dv)},m=e.onceExit(p),h=e.onceDisconnect(p);return{request:(_,g)=>new Promise((b,y)=>{let v=s.contents;s.contents=v+1,n.set(v,b);let S=u(oH(v,_,g));S.TAG!=="Ok"&&(n.delete(v),b({TAG:"Error",_0:S._0}))}),notify:(_,g)=>u(aH(_,g)),onNotification:_=>{i.push(_);let g=a.slice();a.splice(0,a.length),g.forEach(b=>_(b))},onRequest:_=>{o.push(_)},isClosed:()=>l.contents?!0:!e.isConnected(),close:()=>{l.contents=!0,f(),m(),h(),d(wH)}}}import*as Bv from"node:child_process";import*as lR from"node:os";import*as dR from"node:path";function uR(){return dR.join(lR.homedir(),".linzumi","protected-dev-listeners")}var TH=new RegExp("^(\\d+)\\s+(\\d+)$");function AH(e){return $e(e.split(`
325
+ `),t=>{let r=TH.exec(t.trim());if(r==null)return;let n=r.slice(1);if(n.length!==2)return;let i=n[0];if(i===void 0)return;let o=n[1];if(o===void 0)return;let a=jn(i),s=jn(o);if(a!==void 0&&s!==void 0)return{pid:a,pgid:s}})}function OH(e){let t=_s("ps",["-axo","pid=,pgid="],5e3,16e6);if(t.TAG==="Ok")return AH(t._0).filter(r=>r.pgid===e).map(r=>r.pid)}function Um(e,t,r,n,i){let o=n!==void 0?n:OH,a;if(i.size>0){let l=o(e);if(l!==void 0){let d=l.filter(u=>i.has(u));if(d.length!==0){let u=[],c=new Set(l.filter(f=>!i.has(f)));c.add(e),Array.from(c).forEach(f=>{let p=r(f|0,t);if(p.TAG==="Ok")return;let m=p._0;if(!de(m.code,"ESRCH")){u.push({pid:f,code:m.code,message:m.message});return}}),a={mode:"IndividualSignals",sparedPids:d,failures:u,groupSignalError:void 0}}else a=void 0}else a=void 0}else a=void 0;if(a!==void 0)return a;let s=r(-e|0,t);return s.TAG==="Ok"?{mode:"GroupSignal",sparedPids:[],failures:[],groupSignalError:void 0}:{mode:"GroupSignal",sparedPids:[],failures:[],groupSignalError:s._0}}var mR={contents:(e,t)=>{}};var Lv="SIGKILL",Qa={children:new Set,handlersInstalled:!1,removeHandlers:void 0};function xu(e,t,r,n,i){let o=e.pid;mR.contents("process.reap_failed",Object.fromEntries([["purpose",e.kind],["pid",o!==void 0?o:null],["ownProcessGroup",e.ownProcessGroup],["reason",t],["stage",r],["code",n!==void 0?n:null],["message",i]]))}function CH(e,t,r,n){let i;try{e.stop(),i={TAG:"Ok",_0:void 0}}catch(l){i={TAG:"Error",_0:ee(l)}}if(i.TAG!=="Ok"){let l=Ne(i._0);xu(e,n,"stop",l.code,l.message)}let o=e.pid;if(o===void 0)return;if(e.ownProcessGroup){let l=Um(o,Lv,t,void 0,r);l.sparedPids.length!==0&&mR.contents("process.reap_spared_listeners",Object.fromEntries([["purpose",e.kind],["pid",o],["reason",n],["sparedPids",l.sparedPids.map(f=>f)]])),l.failures.forEach(f=>xu(e,n,"member_kill:"+f.pid.toString(),f.code,f.message));let d=l.groupSignalError;if(d===void 0||de(d.code,"ESRCH"))return;xu(e,n,"group_kill",d.code,d.message);let u=t(o,Lv);if(u.TAG==="Ok")return;let c=u._0;return de(c.code,"ESRCH")?void 0:xu(e,n,"pid_kill",c.code,c.message)}let a=t(o,Lv);if(a.TAG==="Ok")return;let s=a._0;if(!de(s.code,"ESRCH"))return xu(e,n,"pid_kill",s.code,s.message)}function Uv(e,t,r){let n=e!==void 0?e:Vi,i=t!==void 0?t:new Set,o=r!==void 0?r:"exit",a=Array.from(Qa.children);return Qa.children.clear(),a.forEach(s=>CH(s,n,i,o)),a.length}function fR(e,t){let r;return r=typeof t=="string"?t:JSON.stringify(t),"linzumi commander "+e+": "+r+`
326
+ `}function EH(){if(Qa.handlersInstalled)return;Qa.handlersInstalled=!0;let e=o=>{Uv(void 0,void 0,"process_exit")};process.on("exit",e);let t=process.listenerCount("uncaughtException")===0,r=process.listenerCount("unhandledRejection")===0,n=o=>{Uv(void 0,void 0,"uncaught_exception"),mr(fR("uncaughtException",o)),process.exit(1)},i=o=>{Uv(void 0,void 0,"unhandled_rejection"),mr(fR("unhandledRejection",o)),process.exit(1)};t&&process.on("uncaughtException",n),r&&process.on("unhandledRejection",i),Qa.removeHandlers=()=>{if(process.off("exit",e),t&&process.off("uncaughtException",n),r){process.off("unhandledRejection",i);return}}}function Wm(e){return Qa.children.add(e),EH(),{unregister:()=>{Qa.children.delete(e)}}}import*as Zo from"node:path";import*as hR from"node:net";function Tl(e,t){try{return e.kill(t)}catch{return!1}}function _R(){return new Promise((e,t)=>{let r=hR.createServer();r.on("error",n=>e({TAG:"Error",_0:n.message})),r.listen(0,"127.0.0.1",()=>{let n=r.address();if(n==null)return r.close(o=>{}),e({TAG:"Error",_0:"failed to allocate loopback port"});let i=n.port;r.close(o=>o==null?e({TAG:"Ok",_0:i}):e({TAG:"Error",_0:o.message}))})})}var xre=new RegExp("[^0-9A-Za-z._-]","g");var Mre=new RegExp("[\\\\/]");var gR="cannot fork thread runner without current CLI script path";var jre=15*6e4,zre=120*6e4,Nre=1440*6e4,Gre=2*6e4;var IH="this computer is updating its Linzumi runner",Fre=IH+" to a new version - nothing was started. Retry in a few minutes once the update finishes.";var Dre=15*6e4;var yR="this computer restarted its Linzumi runner for an update",qre=yR+" after waiting for this job past the drain timeout - the job was interrupted. Send your message again to continue.",Lre=yR+" while this job was waiting on your approval - the approval prompt was interrupted. Send your message again and answer the approval prompt to continue.";function MH(e,t){}var Zv="linzumi.thread_runner";function bR(e,t){return e!==void 0&&e.trim()!==""?{TAG:"Ok",_0:Zo.isAbsolute(e)?e:Zo.resolve(t,e)}:{TAG:"Error",_0:gR}}function jH(e){return["--require","-r","--import","--loader","--experimental-loader"].includes(e)}function zH(e){return["--require=","-r=","--import=","--loader=","--experimental-loader="].some(t=>e.startsWith(t))}function NH(e){let t=[],r=0;for(;r<e.length;){let n=e[r];if(n!==void 0){let i=jH(n),o=zH(n);if(i){let a=e[r+1|0];a!==void 0&&(t.push(n),t.push(a)),r=r+2|0}else o&&t.push(n),r=r+1|0}else r=r+1|0}return t}function Vv(e,t,r){return NH(r).concat([e].concat(t))}function cn(e,t){return t!==void 0?t!==""?[e,t]:[]:[]}function vR(e){let t=i=>{let o=i.join(",");if(o!=="")return o},r=e.codexModelProvider,n=e.runtimeDefaults;return[["--api-url",e.kandanUrl],["--cwd",e.cwd],["--codex-bin",e.codexBin],cn("--workspace",e.workspaceSlug),cn("--log-file",e.logFile),cn("--debug-trace-dir",G(e.debugTrace,i=>i.dir)),cn("--debug-trace-content",k(e.debugTrace,i=>i.contentMode)),e.fast?["--fast"]:[],cn("--allowed-cwd",t(e.allowedCwds)),cn("--forward-port",t(e.allowedForwardPorts.map(i=>i.toString()))),cn("--code-server-bin",e.codeServerBin),cn("--model",k(e.runtimeDefaults,i=>i.model)),cn("--reasoning-effort",k(e.runtimeDefaults,i=>i.reasoningEffort)),cn("--sandbox",k(e.runtimeDefaults,i=>i.sandbox)),cn("--approval-policy",k(e.runtimeDefaults,i=>i.approvalPolicy)),r!==void 0?["--model-provider",r.provider,"--llm-proxy-base-url",r.llmProxyBaseUrl]:[],e.vmExecution?["--vm-execution"]:[],cn("--execution-mode",e.executionMode),cn("--egress-mode",e.egressMode),cn("--project-public-id",e.projectPublicId),cn("--golden-image-id",e.goldenImagePublicId),n!==void 0?n.allowPortForwardingByDefault?["--allow-port-forwarding-by-default"]:["--no-allow-port-forwarding-by-default"]:[]].flat()}function SR(e){let t=[],r=0;for(;r<e.length;){let n=e[r];n!==void 0?n==="--token"?(t.push("--token"),t.push("<redacted>"),r=r+2|0):(t.push(n),r=r+1|0):r=r+1|0}return t}function wR(e,t,r){let n=[["LINZUMI_THREAD_RUNNER_ROLE","thread"],["LINZUMI_THREAD_RUNNER_KANDAN_THREAD_ID",e.kandanThreadId],["LINZUMI_THREAD_RUNNER_TOKEN",e.token],["LINZUMI_DEV_SERVICES_PARENT_PID",t.toString()]],i=e.codexModelProvider;return i!==void 0&&n.push(["LINZUMI_LLM_PROXY_TOKEN",i.llmProxyToken]),n.push(["LINZUMI_THREAD_RUNNER_AGENT_MCP_TOKEN",x(e.linzumiAgentMcpToken,"")]),r!==void 0&&n.push(["OPENAI_API_KEY",r]),n}function kR(e){let t=e.length;return t>12e3?e.slice(t-12e3|0,t):e}function Zm(e){let t=rn(e.code,"null",o=>o.toString()),r=x(e.signal,"null"),n="thread Codex worker exited before ready: code="+t+" signal="+r,i=e.capturedOutput.trim();return i===""?n:n+`
327
+ worker output: `+i}function xR(e,t){return"thread Codex worker did not report ready within "+t.toString()+"ms for Kandan thread "+e}var GH="thread runner ready timeout must be a non-negative number";function TR(e){let t=x(e,3e4);return isFinite(t)&&t>=0?{TAG:"Ok",_0:t}:{TAG:"Error",_0:GH}}var AR="thread worker start preflight failed";function FH(e){return Zo.isAbsolute(e)||new RegExp("^[A-Za-z]:[\\\\/]").test(e)?!0:e.startsWith("\\\\")}function DH(e){return e===""?!0:!FH(e)&&e!==".."&&!e.startsWith("../")&&!e.startsWith("..\\")&&!e.includes("/../")?!e.includes("\\..\\"):!1}function OR(e,t,r){if(e===void 0)return{TAG:"CwdRefused",reason:"missing_cwd"};if(e.trim()==="")return{TAG:"CwdRefused",reason:"missing_cwd"};if(t.length===0)return{TAG:"CwdRefused",reason:"no_allowed_cwd"};let i=Dn(Zo.resolve(e));if(i.TAG!=="Ok")return{TAG:"CwdRefused",reason:"cwd_not_found"};let o=i._0,a=t.find(s=>DH(Zo.relative(s,o)));return a!==void 0?r(o)?{TAG:"CwdRefused",reason:"cwd_dangerous"}:{TAG:"CwdAllowed",cwd:o,matchedRoot:a}:{TAG:"CwdRefused",reason:"cwd_not_allowed"}}function CR(e,t,r){if(r.TAG==="CwdAllowed")return;let n=r.reason,o=t.length!==0?t.join(", "):"none";return{reason:n,message:AR+" ("+n+"): working directory "+e+" cannot start a coding session on this runner (allowed roots: "+o+")"}}function qH(e){return e.split(`
328
+ `).map(t=>t.trim()).find(t=>t.startsWith(AR))}var Wre=new RegExp("worker exited before ready|worker did not report ready within","i");function ER(e,t){let r=e.trim(),n=r.length,i=" ... ",o=i.length,a=n<=t,s=t<(o+2|0);if(a)return r;if(s)return r.slice(n-Math.max(1,t)|0,n);let l=Math.max(1,Math.floor((t-o|0)/3)|0),d=Math.max(1,(t-o|0)-l|0);return r.slice(0,l)+i+r.slice(n-d|0,n)}function LH(e){return new Promise((t,r)=>{setTimeout(()=>t(),e)})}async function PR(e,t,r,n,i,o){let a=o!==void 0?o:MH,s=Math.max(1,x(t,2)),l=x(r,250),d=x(n,LH),u,c,f=1;for(;mn(u)&&f<=s;){let m=f,h=await e(m);if(h.TAG==="Ready")u={TAG:"Ok",_0:h._0};else{let _=h._0;c=_;let g=qH(_.capturedOutput),b=m<s&&mn(g),y={};y.purpose=Zv,y.attempt=m,y.maxAttempts=s,y.code=rn(_.code,null,v=>v),y.signal=rn(_.signal,null,v=>v),y.capturedOutput=_.capturedOutput,y.willRespawn=b,g!==void 0&&(y.deterministicPreflightFailure=g),a("runner.thread_runner_exited_before_ready",y),g!==void 0?u={TAG:"Error",_0:g}:(b&&(i!==void 0&&i({attemptNumber:m+1|0,previous:_}),l>0&&await d(l)),f=m+1|0)}}let p=u;return p!==void 0?p:{TAG:"Error",_0:Zm(x(c,{code:void 0,signal:void 0,capturedOutput:""}))}}var RR=3e4;function UH(e){let t=ke(e);return t!==void 0?Nv(t):{TAG:"ResultReply",_0:null}}function IR(e,t){let r={contents:void 0},n=[],i=(m,h)=>{try{return m(h)}catch(_){let g=ee(_);return t("codex.close_callback_failed",Object.fromEntries([["purpose","codex.app_server"],["message",Ne(g).message]]))}};return{client:{request:(m,h)=>e.request(m,k(h,ke)).then(_=>wt(_,UH)),notify:(m,h)=>{e.notify(m,k(h,ke))},onNotification:m=>e.onNotification(h=>{let _=ke(h);if(_===void 0)return;let g=_.method;if(typeof g=="string")return m({method:g,params:_.params})}),onRequest:m=>e.onRequest(async h=>{let _=ke(h);if(_===void 0)return{TAG:"Ok",_0:void 0};let g=_.method;if(g===void 0)return{TAG:"Ok",_0:void 0};if(typeof g!="string")return{TAG:"Ok",_0:void 0};let b;try{b=await m({id:x(_.id,null),method:g,params:_.params})}catch(y){let v=ee(y);return{TAG:"Error",_0:Ne(v).message}}return b!==void 0?{TAG:"Ok",_0:b}:{TAG:"Ok",_0:void 0}}),onClose:m=>{let h=r.contents;if(h!==void 0)return i(m,h);n.push(m)},isClosed:()=>Dt(r.contents)?!0:e.isClosed(),close:()=>e.close()},signalClosed:m=>{if(r.contents!==void 0)return;r.contents=m;let _=n.slice();n.splice(0,n.length),_.forEach(g=>i(g,m))}}}function $R(e){let t={contents:1};return{request:(r,n)=>{let i=t.contents;return t.contents=i+1,e.request(r,G(n,o=>o)).then(o=>wt(o,a=>a.TAG==="ResultReply"?Object.fromEntries([["id",i],["result",a._0]]):Object.fromEntries([["id",i],["error",Object.fromEntries([["code",a.code],["message",a.message]])]])))},notify:(r,n)=>e.notify(r,G(n,i=>i)),onNotification:r=>e.onNotification(n=>{let i={};i.method=n.method;let o=n.params;o!==void 0&&(i.params=o),r(i)}),onRequest:r=>e.onRequest(async n=>{let i={};i.id=n.id,i.method=n.method;let o=n.params;o!==void 0&&(i.params=o);let a=await r(i);if(a.TAG==="Ok")return a._0})}}function WH(e,t){try{return e.send(t),{TAG:"Ok",_0:void 0}}catch(r){let n=ee(r);return{TAG:"Error",_0:Ne(n).message}}}function Tu(e,t){try{e.kill(t);return}catch{return}}function ZH(e){try{e.disconnect();return}catch{return}}function VH(e,t,r,n,i){return new Promise((o,a)=>{let s=Bv.spawn(process.execPath,e,{cwd:t,env:r,stdio:["inherit","pipe","pipe","ipc"]}),l=Wm({stop:()=>Tu(s,"SIGTERM"),pid:Yt(s.pid),ownProcessGroup:!1,kind:"thread-worker"});s.once("exit",(_,g)=>l.unregister()),i(s);let d={contents:""},u={contents:!0},c={contents:!1},f=_=>{if(!c.contents)return c.contents=!0,u.contents=!1,o(_)},p=(_,g)=>{if(_!=null){_.on("data",b=>{let y=b.toString("utf8");u.contents&&(d.contents=kR(d.contents+y)),g.write(y)});return}};p(s.stdout,process.stdout),p(s.stderr,process.stderr);let m=_=>{let g=rR(_,n);if(g.TAG==="Ok"){let b=g._0;return b!==void 0?(s.off("message",m),s.off("exit",h),f({TAG:"WorkerReady",worker:s,ports:b.commanderManagedPorts})):void 0}Tu(s,"SIGKILL"),f({TAG:"WorkerInvalidReady",_0:g._0})},h=(_,g)=>f({TAG:"WorkerExitedBeforeReady",_0:{code:_==null?void 0:Ze(_),signal:g==null?void 0:Ze(g),capturedOutput:d.contents}});s.on("message",m),s.once("exit",h),s.on("error",_=>f({TAG:"WorkerExitedBeforeReady",_0:{code:void 0,signal:void 0,capturedOutput:_.message}}))})}async function jR(e,t){let r=bR(process.argv[1],process.cwd());if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=r._0,i=TR(void 0);if(i.TAG!=="Ok")return{TAG:"Error",_0:i._0};let o=i._0,a=["run"].concat(vR(e)),s=Vv(n,a,process.execArgv),l=e.codexModelProvider,d;if(l!==void 0&&l.provider==="openai-proxy"){let _=G(process.env.OPENAI_API_KEY,g=>g.trim());d=_!==void 0&&_!==""?_:void 0}else d=void 0;let u=Object.fromEntries(Object.entries(process.env));wR(e,process.pid,d).forEach(_=>{u[_[0]]=_[1]}),t("process.spawn",Object.fromEntries([["command",process.execPath],["args",Vv(n,SR(a),process.execArgv).map(_=>_)],["cwd",e.cwd],["purpose",Zv]]));let c={contents:void 0},f={contents:!1},p=(async()=>{let _=await PR(b=>VH(s,e.cwd,u,e.kandanThreadId,y=>{c.contents=Ze(y)}).then(y=>{switch(y.TAG){case"WorkerExitedBeforeReady":return{TAG:"ExitedBeforeReady",_0:y._0};case"WorkerReady":case"WorkerInvalidReady":return{TAG:"Ready",_0:y}}}),void 0,void 0,void 0,void 0,t);if(_.TAG!=="Ok")return{TAG:"Error",_0:_._0};let g=_._0;switch(g.TAG){case"WorkerReady":return{TAG:"Ok",_0:g};case"WorkerExitedBeforeReady":return{TAG:"Error",_0:Zm(g._0)};case"WorkerInvalidReady":return{TAG:"Error",_0:g._0}}})();p.then(_=>{if(!f.contents||_.TAG!=="Ok")return;let b=_._0;switch(b.TAG){case"WorkerReady":return Tu(b.worker,"SIGKILL");case"WorkerExitedBeforeReady":case"WorkerInvalidReady":return}});let m=await Promise.race([p,new Promise((_,g)=>{setTimeout(()=>{f.contents=!0;let b=c.contents;b!==void 0&&Tu(ue(b),"SIGKILL"),_({TAG:"Error",_0:xR(e.kandanThreadId,o)})},o)})]);if(m.TAG!=="Ok")return{TAG:"Error",_0:m._0};let h=m._0;switch(h.TAG){case"WorkerReady":let _=h.worker,g=[],W=aR({send:B=>WH(_,B),isConnected:()=>nn(Yt(_.connected),!1),onMessage:B=>{_.on("message",B);let oe=()=>{_.off("message",B)};return g.push(oe),oe},onceExit:B=>{let oe=(Z,V)=>B();return _.once("exit",oe),()=>{_.off("exit",oe)}},onceDisconnect:B=>{let oe=()=>B();return _.once("disconnect",oe),()=>{_.off("disconnect",oe)}}},t),L=IR(W,t);_.on("message",B=>{let oe=tR(B);if(oe!==void 0)return t("runner.thread_codex_worker_session_closed",Object.fromEntries([["kandanThreadId",oe[0]],["reason",oe[1]]]))});let ae=[],U={contents:!1};return _.once("exit",(B,oe)=>{U.contents=!0,L.signalClosed("codex thread worker exited");let Z=ae.slice();ae.splice(0,ae.length),Z.forEach(V=>V())}),{TAG:"Ok",_0:{client:L.client,pid:Yt(_.pid),commanderManagedPorts:h.ports,onExit:B=>{if(U.contents)return B();ae.push(B)},close:()=>{W.close(),g.forEach(B=>B()),ZH(_),Tu(_,"SIGTERM")}}};case"WorkerExitedBeforeReady":return{TAG:"Error",_0:Zm(h._0)};case"WorkerInvalidReady":return{TAG:"Error",_0:h._0}}}function zR(e,t){return new Promise((r,n)=>{let i;try{i={TAG:"Ok",_0:Bv.spawn(e,["login","status"],{cwd:t,env:process.env,stdio:["ignore","pipe","pipe"]})}}catch(l){let d=ee(l);i={TAG:"Error",_0:Ne(d).message}}if(i.TAG!=="Ok")return r();let o=i._0,a={contents:!1},s=()=>{if(!a.contents)return a.contents=!0,r()};setTimeout(()=>{Tl(o,"SIGTERM"),s()},3e3),o.once("exit",(l,d)=>s()),o.on("error",l=>s())})}function Kv(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 Vm(e,t,r){return wt(Kv(e,t,r),n=>n==="on-failure"?"on-request":n)}function NR(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}}}var GR="kandan-local-runner",FR="pragmatic";import*as qR from"node:os";import*as Vo from"node:path";function Jv(e){let t=oa(e,"LINZUMI_CONTROL_CURSOR_DIR");return t!==void 0&&t.trim()!==""?t.trim():Vo.join(qR.homedir(),".linzumi","control-cursors")}var BH=new RegExp("[^A-Za-z0-9._-]+","g"),KH=new RegExp("^[-.]+|[-.]+$","g");function Yv(e){let t=e.replace(BH,"-").replace(KH,"").slice(0,80),r=qn(e).slice(0,8);return(t===""?"runner":t)+"."+r}function LR(e,t){return Vo.join(Jv(t),Yv(e)+".json")}function UR(e,t){return Vo.join(Jv(t),Yv(e)+".start-turn.json")}function WR(e,t){return Vo.join(Jv(t),Yv(e)+".source-seq.json")}function ZR(e,t){return e+" "+t}function VR(e,t,r){return e+" "+t+" "+r}var HR="__control_epoch";function JH(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],a=i[0];if(a===HR)if(typeof o=="string"&&o!==""){n.contents=o;return}else return;else if(typeof o=="number"&&Ot(o)&&o>=0){r[a]=o;return}else return}),{TAG:"Ok",_0:{cursors:r,epoch:n.contents}}}function YH(e,t){let r=Qt(e);if(r.TAG==="Ok"){let i=JH(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 si(n,"ENOENT")||t("control_cursor_store.read_failed",Object.fromEntries([["path",e],["message",n.message]])),{cursors:{},epoch:void 0}}function XH(e,t){let r={};return t!==void 0&&(r[HR]=t),Object.entries(e).forEach(n=>{r[n[0]]=n[1]}),JSON.stringify(r)+`
329
+ `}function Hm(e,t,r,n){let i=r!==void 0?r:!1,o=n!==void 0?n:!1,a=YH(e,t),s=a.cursors,l={contents:a.epoch},d={contents:!1},u={contents:void 0},c=()=>{if(!d.contents)return;d.contents=!1;let m=XH(s,l.contents),h=e+".tmp",_=he(qt(Vo.dirname(e)),()=>o?zw(h,e,Vo.dirname(e),m):he(Ti(h,m),()=>li(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=Ze(h)},p=()=>{let m=u.contents;m!==void 0&&(clearTimeout(ue(m)),u.contents=void 0),c()};return{initial:m=>s[m],onAdvance:(m,h)=>{let _=s[m];_!==void 0&&h<=_||(s[m]=h,f())},reset:(m,h)=>{if(!de(s[m],h))return s[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(s).length!==0;return l.contents=m,(h||_)&&(_&&t("control_cursor_store.pre_epoch_seqs_discarded",Object.fromEntries([["path",e],["epoch",m],["discardedSeqs",Object.entries(s).length]])),Object.entries(s).forEach(g=>fr(s,g[0]))),f(),(h||_)&&p(),h}}}function BR(e,t,r,n,i){return{current:()=>e.epoch(),adopt:(o,a)=>{let s=e.epoch(),l=e.adoptEpoch(a),d=t.adoptEpoch(a),u=l||d;return u&&r("kandan.control_epoch_changed",Object.fromEntries([["runnerId",n],["kandanUrl",i],["topic",o],["previousEpoch",s!==void 0?s:null],["epoch",a],["controlCursorCleared",l],["startTurnWatermarksCleared",d]])),u}}}var Zre=1800*1e3;var Vre=new RegExp("[^A-Za-z0-9._-]+","g"),Hre=new RegExp("^[-.]+|[-.]+$","g");function KR(e){return{initial:t=>e.initial(t),onAdvance:(t,r)=>e.onAdvance(t,r),flush:()=>e.flush()}}function Bm(e,t){return e!==void 0?t>e:!0}function Au(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 JR(e){return e!==void 0?Array.isArray(e)?$e(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,a=o!==void 0&&typeof o=="number"&&Ot(o)?o:void 0,s=t.leaseEpoch,l=s!==void 0&&typeof s=="number"&&Ot(s)?s:void 0;return{channelId:i,threadId:r,highestProcessedSourceSeq:a,leaseEpoch:l}}):[]:[]}function XR(){let e=new Map;return{current:t=>e.get(t),adopt:(t,r)=>{if(!Ot(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 Km(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function n3(e,t){let r=e[t];if(typeof r=="string")return r}function Ho(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&isFinite(r)&&Math.round(r)===r)return r}function Xv(e){return G(Km(e,"usage"),t=>({inputTokens:Ho(t,"input_tokens"),outputTokens:Ho(t,"output_tokens"),cacheCreationInputTokens:Ho(t,"cache_creation_input_tokens"),cacheReadInputTokens:Ho(t,"cache_read_input_tokens")}))}function tI(){return{completed:{inputTokens:0,outputTokens:0,cacheCreationInputTokens:0,cacheReadInputTokens:0},current:void 0,lastEmittedKey:void 0}}function QR(e,t){let r=n=>t!==void 0?n(t):0;return{inputTokens:x(Ho(e,"input_tokens"),r(n=>n.inputTokens)),outputTokens:x(Ho(e,"output_tokens"),r(n=>n.outputTokens)),cacheCreationInputTokens:x(Ho(e,"cache_creation_input_tokens"),r(n=>n.cacheCreationInputTokens)),cacheReadInputTokens:x(Ho(e,"cache_read_input_tokens"),r(n=>n.cacheReadInputTokens))}}function eI(e){let t=(s,l)=>{let d=e.current;return s+(d!==void 0?l(d):0)},r=t(e.completed.inputTokens,s=>s.inputTokens),n=t(e.completed.outputTokens,s=>s.outputTokens),i=t(e.completed.cacheCreationInputTokens,s=>s.cacheCreationInputTokens),o=t(e.completed.cacheReadInputTokens,s=>s.cacheReadInputTokens),a=r.toString()+":"+n.toString()+":"+(i.toString()+":"+o.toString());if(!de(e.lastEmittedKey,a))return e.lastEmittedKey=a,{inputTokens:r,outputTokens:n,cacheCreationInputTokens:i,cacheReadInputTokens:o}}function rI(e,t){let r=k(t,n=>n3(n,"type"));if(r!==void 0)switch(r){case"message_delta":let n=k(t,a=>Km(a,"usage"));return n!==void 0?(e.current=QR(n,e.current),eI(e)):void 0;case"message_start":let i=k(k(t,a=>Km(a,"message")),a=>Km(a,"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=QR(i,void 0),eI(e);default:return}}function Ou(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 eS(e){return e==="Text"?"text":"thinking"}function oI(){return{activeMessageId:void 0,syntheticMessageCounter:0,completedMessageIds:[],consumedAssistantMessageIds:new Set,blocksByMessageId:{}}}function Qv(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function Bo(e,t){let r=e[t];if(typeof r=="string")return r}function iI(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&isFinite(r)&&Math.round(r)===r)return r|0}function tS(e,t){return e.syntheticMessageCounter=e.syntheticMessageCounter+1|0,"synthetic-claude-message:"+t+":"+e.syntheticMessageCounter.toString()}function o3(e,t){let r=e.activeMessageId;if(r!==void 0)return r;let n=tS(e,t);return e.activeMessageId=n,n}function rS(e,t){return"claude-message:"+e+":content-block:"+t.toString()}function Jm(e,t,r,n){if(r===void 0)return;let i=o3(e,"orphan-stream-event"),o=e.blocksByMessageId[i],a;if(o!==void 0)a=o;else{let l=[];e.blocksByMessageId[i]=l,a=l}let s=a.find(l=>l.index===r);s!==void 0?s.content=s.content+x(n,""):a.push({kind:t,index:r,content:x(n,"")})}function aI(e,t){let r=k(t,n=>Bo(n,"type"));if(r!==void 0)switch(r){case"content_block_delta":let n=k(t,c=>Qv(c,"delta")),i=k(t,c=>iI(c,"index")),o=k(n,c=>Bo(c,"type"));if(o!==void 0)switch(o){case"text_delta":Jm(e,"Text",i,k(n,c=>Bo(c,"text")));break;case"thinking_delta":Jm(e,"Thinking",i,k(n,c=>Bo(c,"thinking")));break}return e.activeMessageId;case"content_block_start":let a=k(t,c=>Qv(c,"content_block")),s=k(t,c=>iI(c,"index")),l=k(a,c=>Bo(c,"type"));if(l!==void 0)switch(l){case"text":Jm(e,"Text",s,k(a,c=>Bo(c,"text")));break;case"thinking":Jm(e,"Thinking",s,k(a,c=>Bo(c,"thinking")));break}return e.activeMessageId;case"message_start":let d=k(k(t,c=>Qv(c,"message")),c=>Bo(c,"id"));e.activeMessageId=d!==void 0?d:tS(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 sI(e,t){if(t!==void 0){e.consumedAssistantMessageIds.add(t);let n=ia(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):tS(e,"missing-assistant-frame-id")}function lI(e,t){let r=e.blocksByMessageId[t];return r!==void 0?(fr(e.blocksByMessageId,t),r.toSorted((n,i)=>Xu(n.index,i.index))):[]}function dI(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function nS(e,t){let r=e[t];if(typeof r=="string")return r}function iS(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&isFinite(r))return r}function s3(e){if(e===void 0||e<0)return;let t=e<=1?e*100:e;return Math.min(100,Math.round(t))}function l3(e){if(e!==void 0&&e>0)return e>1e12?Math.round(e):Math.round(e*1e3)}function oS(e){let t=nS(e,"status"),r=nS(e,"rateLimitType"),n=r!==void 0?r:nS(e,"rate_limit_type"),i=s3(iS(e,"utilization")),o=iS(e,"resetsAt"),a=l3(o!==void 0?o:iS(e,"resets_at"));if(!(t===void 0&&i===void 0&&a===void 0))return{status:t,windowLabel:n,utilizationPercent:i,resetsAtMs:a}}function uI(e){let t=dI(e,"rate_limit_info");if(t!==void 0)return oS(t);let r=dI(e,"rate_limit");return oS(r!==void 0?r:e)}var u3="edge_blocked";function c3(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 fI(e,t){let r=e.exec(t);if(r==null)return;let n=r.slice(1)[0];if(n===void 0)return;let i=ue(n);if(i!==void 0)return i}var f3=[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")],m3=[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")],p3=new RegExp('"error"\\s*:\\s*\\{[^{}]*?"message"\\s*:\\s*"((?:[^"\\\\]|\\\\.){1,500})"');function cI(e,t){return Ve(e,void 0,(r,n)=>r!==void 0?r:fI(n,t))}function h3(e){let t;try{t=JSON.parse('"'+e+'"')}catch{return e}return typeof t=="string"?t:e}function _3(e){let t=fI(p3,e),n=(t!==void 0?h3(t):e).trim();return n.length<=200?n:n.slice(0,199)+"\u2026"}function mI(e){return{status:k(cI(f3,e),t=>ga(t,void 0)),requestId:cI(m3,e),edgeBlocked:c3(e),message:_3(e)}}function aS(e){return Dt(e.status)||Dt(e.requestId)?!0:e.edgeBlocked}function pI(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="+u3+"]")),r.length!==0?e+" ("+r.join(", ")+")":e}function hI(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 yI(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:tI(),identity:oI()}}function Al(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function Rt(e,t){let r=e[t];if(typeof r=="string")return r}function _I(e,t){let r=e[t];if(typeof r=="boolean")return r}function sS(e,t){let r=e[t];if(Array.isArray(r))return r}function Ko(e){if(e===void 0)return;let t=e.trim();if(t!=="")return t}function y3(e){let t=Rt(e,"session_id"),r=t!==void 0?t:Rt(e,"sessionId");if(r!==void 0)return r;let n=Al(e,"message");if(n===void 0)return;let i=Rt(n,"session_id");return i!==void 0?i:Rt(n,"sessionId")}function b3(e,t){if(e.sessionAnnounced)return!1;let r=y3(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 Cu(e,t){return e.startedTurns.has(t)?!e.terminalTurns.has(t):!1}var bI=Cu;function vI(e){let t=e.activeTurnId;return t!==void 0?Cu(e,t):!1}function SI(e,t){e.mintedTurnCount=e.mintedTurnCount+1|0;let r="claude:"+t+":turn:"+e.mintedTurnCount.toString();return e.pendingTurnIds.push(r),r}function Ol(e){let t=e.activeTurnId;if(t!==void 0&&Cu(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 lS(e,t){if(e.terminalTurns.add(t),de(e.activeTurnId,t)){e.activeTurnId=void 0;return}}function gI(e){return e.turnId+"/"+e.itemId+"/"+e.streamKind}function dS(e,t){if(!e.startedItems.has(gI(t)))return e.startedItems.add(gI(t)),e.emitEvent({TAG:"ItemStarted",item:t})}function uS(e,t,r){dS(e,t),e.emitEvent({TAG:"ItemCompleted",item:t,content:r})}function v3(e,t,r){dS(e,t),e.emitEvent({TAG:"ItemDelta",item:t,delta:r})}function es(e,t){let r=e.activeTurnId;if(x(G(r,n=>Cu(e,n)),!0))return e.emitEvent({TAG:"ActivityPulse",turnId:r,signalKind:t})}function S3(e,t){let r=$e(x(sS(e,"errors"),[]),a=>{if(typeof a=="string")return Ko(a)}).join("; "),n=Ko(r);if(n!==void 0)return n;let i=Ko(Rt(e,"result"));if(i!==void 0)return i;let o=Ko(Rt(e,"error"));return o!==void 0?o:x(t,"error")}function w3(e){let t=Rt(e,"subtype"),r=x(_I(e,"is_error"),!1),n=de(t,"interrupt")||de(t,"error_interrupted")||x(_I(e,"is_interrupt"),!1),i=r||de(t,"error_max_turns")||de(t,"error_during_execution");return n?"Interrupted":i?{TAG:"Errored",reason:S3(e,t)}:"Success"}function k3(e,t){let r=mI(t),n=r.status;return{fate:e!==void 0?e==="error_max_turns"?"deterministic":n!==void 0?Ou(n):"transient_upstream":n!==void 0?Ou(n):"transient_upstream",reason:aS(r)?pI("Claude Code failed: "+t,r):"Claude Code failed: "+t,providerDetail:aS(r)?hI(r):void 0}}function x3(e,t){let r=Rt(e,"id");if(r!==void 0)return r;let n=Rt(e,"tool_use_id");return n!==void 0?n:"content-block-"+t.toString()}function T3(e){return e==="Text"?"assistant":"reasoning"}function A3(e){let t={};t.type=eS(e.kind);let r=e.kind,n;return n=r==="Text"?"text":"thinking",t[n]=e.content,t}function O3(e,t){let r=Ol(e),n=Al(t,"message"),i=x(k(n,y=>sS(y,"content")),[]),o=sI(e.identity,k(n,y=>Rt(y,"id"))),s=lI(e.identity,o).filter(y=>y.content.trim()!==""),l={};s.forEach(y=>{let v=eS(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)?Rt(y,"type"):void 0,S===void 0)return;switch(S){case"text":case"thinking":break;default:return}let A=x(S,""),R=d[A];R!==void 0?R.push(v):d[A]=[v]});let u=new Set;s.forEach(y=>{u.add(y.index)});let c=(y,v)=>{let S=x(d[y],[]),A=ia(S,v);A!==void 0&&S.splice(A,1);let R=x(l[y],[]),W=R[0];if(W!==void 0&&v<W)return R.shift(),!0;let L=ia(R,v);if(L!==void 0)return R.splice(L,1),!0;let ae=ec(R,U=>!S.includes(U));return ae!==void 0?(R.splice(ae,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:rS(o,y),streamKind:v}),m=[];s.forEach(y=>{m.push({index:y.index,events:[[p(y.index,T3(y.kind)),A3(y)]]})}),i.forEach((y,v)=>{if(typeof y!="object"||y===null||Array.isArray(y))return;let S=Rt(y,"type");if(S!==void 0)switch(S){case"text":if(c("text",v))return;if(Ko(Rt(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(Ko(Rt(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:x3(y,v),streamKind:"command_output"},y]]});return;default:return}});let h=i.some(y=>typeof y=="object"&&y!==null&&!Array.isArray(y)?de(Rt(y,"type"),"text"):!1),_=s.some(y=>y.kind==="Text"),g=h||_,b=Ko(Rt(t,"text"));return g||b===void 0||m.push({index:i.length,events:[[p(f(i.length),"assistant"),b]]}),m.toSorted((y,v)=>Xu(y.index,v.index)).flatMap(y=>y.events)}function C3(e){if(e!==void 0&&e!=="")return e}function E3(e,t){let r=Al(t,"event"),n=rI(e.usage,r),i=aI(e.identity,r),o={contents:!1};if(n!==void 0){let d=Ol(e);e.emitEvent({TAG:"UsageUpdated",turnId:d,usage:n}),o.contents=!0}let a=(d,u)=>G(i,c=>({turnId:Ol(e),itemId:rS(c,d),streamKind:u})),s=d=>{let u=d.index;if(u!==void 0&&typeof u=="number"&&isFinite(u)&&Math.round(u)===u)return u|0},l=k(r,d=>Rt(d,"type"));if(l!==void 0)switch(l){case"content_block_delta":let d=k(r,b=>Al(b,"delta")),u=k(r,s),c=(b,y)=>{let v=C3(y);if(u===void 0||v===void 0)return;let S=a(u,b);if(S!==void 0){v3(e,S,v),o.contents=!0;return}},f=k(d,b=>Rt(b,"type")),p=0;f==="thinking_delta"?c("reasoning",k(d,b=>Rt(b,"thinking"))):p=1,p===1&&c("assistant",k(d,b=>Rt(b,"text")));break;case"content_block_start":let m=k(r,b=>Al(b,"content_block")),h=k(r,s),_=(b,y,v)=>{let S=Ko(y);if(h===void 0||S===void 0)return;let A=a(h,b);if(A!==void 0){uS(e,A,v),o.contents=!0;return}},g=k(m,b=>Rt(b,"type"));if(g!==void 0)switch(g){case"text":_("assistant",k(m,b=>Rt(b,"text")),x(G(m,b=>b),null));break;case"thinking":_("reasoning",k(m,b=>Rt(b,"thinking")),x(G(m,b=>b),null));break}break}if(!o.contents)return es(e,"stream_event")}function P3(e,t){let r=Al(t,"message"),n=x(k(r,o=>sS(o,"content")),[]),i={contents:!1};if(n.forEach((o,a)=>{if(typeof o!="object"||o===null||Array.isArray(o)||!de(Rt(o,"type"),"tool_result"))return;let s=Ol(e),l=Rt(o,"tool_use_id"),d;if(l!==void 0)d=l;else{let u=Rt(o,"id");d=u!==void 0?u:"content-block-"+a.toString()}uS(e,{turnId:s,itemId:d,streamKind:"command_output"},o),i.contents=!0}),!i.contents)return es(e,"user")}function R3(e,t){lS(e,t),e.emitEvent({TAG:"TurnCompleted",turnId:t})}function I3(e,t,r){lS(e,t),e.emitEvent({TAG:"TurnInterrupted",turnId:t,reason:r})}function $3(e,t,r){lS(e,t),e.emitEvent({TAG:"TurnFailed",turnId:t,failure:r})}function M3(e,t){let r=w3(t);if(typeof r!="object"){if(r==="Success"){let i=Ol(e),o=Xv(t);return o!==void 0&&e.emitEvent({TAG:"UsageUpdated",turnId:i,usage:o}),R3(e,i)}let n=e.activeTurnId;return n!==void 0&&Cu(e,n)?I3(e,n,void 0):void 0}else{let n=Ol(e),i=Xv(t);return i!==void 0&&e.emitEvent({TAG:"UsageUpdated",turnId:n,usage:i}),$3(e,n,k3(Rt(t,"subtype"),r.reason))}}function wI(e,t){if(typeof t!="object"||t===null||Array.isArray(t))return;let r=b3(e,t),n=Rt(t,"type");if(n!==void 0)switch(n){case"assistant":O3(e,t).forEach(a=>{let s=a[0];return s.streamKind==="command_output"?dS(e,s):uS(e,s,a[1])});return;case"rate_limit_event":let i=uI(t);return i!==void 0?e.emitEvent({TAG:"RateLimitUpdated",rateLimit:i}):es(e,"rate_limit_event");case"result":return M3(e,t);case"stream_event":return E3(e,t);case"system":let o=Rt(t,"subtype");return o!==void 0?o==="init"?r?void 0:es(e,"system:init"):es(e,"system:"+o):es(e,"system");case"user":return P3(e,t);default:return es(e,n)}}var z3=["liveModelSwitch","liveEffortSwitch","sessionHistoryListing","slashCommandCatalog"];function Cl(e){let t=Sr(e);return t!==void 0?x(Er(ue(t)),"unknown error"):"unknown error"}function kI(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 OI(e){let t=G(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 xI(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 N3(e,t,r){let n={};return n.tool_name=e,n.input=t,r!==void 0&&(n.suggestions=r),n}function G3(e,t){let r={};return r.behavior="allow",r.toolUseID=e,r.updatedInput=t,r}function CI(e,t){let r={};return r.behavior="deny",r.message=x(t,"denied by the approval bridge"),r.toolUseID=e,r}function TI(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(l){let d=ee(l);r={TAG:"Error",_0:{fate:"transient_local",reason:"setModel failed: "+Cl(d),providerDetail:void 0}}}if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=OI(t.reasoningEffort),i;if(typeof n!="object")if(n==="ClearEffort"&&Dt(e.currentEffort))try{let l={};l.effortLevel=null,await e.connection.applyFlagSettings(l),e.currentEffort=void 0,i={TAG:"Ok",_0:void 0}}catch(l){let d=ee(l);i={TAG:"Error",_0:{fate:"transient_local",reason:"applyFlagSettings failed: "+Cl(d),providerDetail:void 0}}}else i={TAG:"Ok",_0:void 0};else{let l=n._0;if(nn(l,e.currentEffort))try{let d={};d.effortLevel=l,await e.connection.applyFlagSettings(d),e.currentEffort=l,i={TAG:"Ok",_0:void 0}}catch(d){let u=ee(d);i={TAG:"Error",_0:{fate:"transient_local",reason:"applyFlagSettings failed: "+Cl(u),providerDetail:void 0}}}else i={TAG:"Ok",_0:void 0}}if(i.TAG!=="Ok")return{TAG:"Error",_0:i._0};let o=()=>({turnId:SI(e.projector,e.harnessSessionId)});if(e.harnessSessionId===""){if(!e.input.push(xI(t.input)))return{TAG:"Error",_0:{fate:"transient_local",reason:"the streaming input is closed; no turn can be dispatched",providerDetail:void 0}};let l=await e.adoption;return l.TAG!=="Ok"?{TAG:"Error",_0:l._0}:(e.harnessSessionId=l._0,{TAG:"Ok",_0:o()})}let a=o();if(e.input.push(xI(t.input)))return{TAG:"Ok",_0:a};let s=ia(e.projector.pendingTurnIds,a.turnId);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(!bI(e.projector,t))return{TAG:"Ok",_0:void 0};try{return await e.connection.interrupt(),{TAG:"Ok",_0:void 0}}catch(r){let n=ee(r);return{TAG:"Error",_0:{fate:"transient_local",reason:"interrupt failed: "+Cl(n),providerDetail:void 0}}}},respondToApproval:(t,r)=>{let n=ec(e.pendingApprovals,a=>a.requestId===t),i=k(n,a=>e.pendingApprovals[a]);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 a=r.updatedInput;o=G3(t,a!==void 0?a:i.toolInput)}else o=CI(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 AI(e,t,r,n,i){let o=TP(),a={contents:void 0},s=U=>{let B=a.contents;if(!(B!==void 0&&B.stopped))return i(U)},l={contents:void 0},d=new Promise((U,B)=>{l.contents=U}),u=U=>{let B=l.contents;if(B!==void 0)return l.contents=void 0,B(U)},c=yI(n,U=>u({TAG:"Ok",_0:U}),s),f=(U,B,oe)=>new Promise((Z,V)=>{let M=oe.toolUseID,N=a.contents;return N!==void 0?(N.pendingApprovals.push({requestId:M,toolInput:B,resolveDecision:Z}),s({TAG:"ApprovalRequested",request:{requestId:M,turnId:c.activeTurnId,kind:"canUseTool",summary:U,payload:N3(U,B,Yt(oe.suggestions))}})):Z(CI(M,"approval bridge not ready"))}),p=OI(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 U={};h!==void 0?Object.entries(h).forEach(B=>{U[B[0]]=B[1]}):Object.entries(process.env).forEach(B=>{U[B[0]]=B[1]}),Object.entries(t.environment).forEach(B=>{U[B[0]]=B[1]}),g=U}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 R=e.sdk.query({prompt:o.iterable,options:{cwd:t.cwd,model:t.model,persistSession:!0,includePartialMessages:!0,includeHookEvents:!0,tools:y,settingSources:["user","project","local"],systemPrompt:v,mcpServers:t.mcpServers,resume:n,permissionMode:r,allowDangerouslySkipPermissions:A,effort:m,env:g,canUseTool:f}}),W={harnessSessionId:x(n,""),currentModel:t.model,currentEffort:m,input:o,connection:R,projector:c,pendingApprovals:[],stopped:!1,diedReported:!1,adoption:d};a.contents=W;let L=U=>{if(!(W.stopped||W.diedReported))return W.diedReported=!0,e.audit("claude.sdk_stream_died",Object.fromEntries([["reason",U]])),s({TAG:"HarnessDied",failure:{fate:"transient_local",reason:U,providerDetail:void 0}})};return(async()=>{let U=!0;for(;U;){let B;try{B=await W.connection.next()}catch(oe){let Z=ee(oe);U=!1;let V="Claude Code SDK stream threw: "+Cl(Z);u({TAG:"Error",_0:{fate:"transient_local",reason:V,providerDetail:void 0}}),L(V),B=void 0}if(B!==void 0)if(B.done){U=!1;let oe=vI(W.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}}),L(oe)}else wI(W.projector,B.value)}})(),{state:W,started:d}}function EI(e){let t=[];return{harness:"claude-code",capabilities:z3,startSession:async(i,o)=>{let a=kI(i.approvalPolicy);if(a.TAG!=="Ok")return{TAG:"Error",_0:{fate:"deterministic",reason:a._0,providerDetail:void 0}};let s=AI(e,i,a._0,void 0,o);return s.started.then(l=>{if(l.TAG==="Ok"){s.state.harnessSessionId=l._0;return}}),t.push(s.state),{TAG:"Ok",_0:TI(s.state)}},attachSession:async(i,o,a)=>{let s=kI(o.approvalPolicy);if(s.TAG!=="Ok")return{TAG:"Error",_0:{fate:"deterministic",reason:s._0,providerDetail:void 0}};let l={};l.dir=o.cwd;let d;try{let c=await e.sdk.getSessionInfo(i,l);d={TAG:"Ok",_0:Dt(c==null?void 0:Ze(c))}}catch(c){let f=ee(c);d={TAG:"Error",_0:{fate:"transient_local",reason:"getSessionInfo failed: "+Cl(f),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=AI(e,o,s._0,i,a);return t.push(u.state),{TAG:"Ok",_0:TI(u.state)}},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 Ym from"node:path";function cS(e){switch(e){case"rescript":return"Rescript";case"ts":return"Ts";default:return}}function El(e){return e==="Ts"?"ts":"rescript"}function fS(e){return Ym.join(e,".linzumi","commanderImpl")}function PI(e){let t=Qt(e);if(t.TAG==="Ok")return cS(t._0.trim())}function RI(e,t){let r=e+".tmp."+process.pid.toString()+"."+oc(6);return he(qt(Ym.dirname(e)),()=>{let n=he(Ti(r,El(t)+`
330
+ `),()=>li(r,e));return n.TAG==="Ok"?{TAG:"Ok",_0:void 0}:(pn(r),{TAG:"Error",_0:n._0})})}import*as Qm from"node:path";function $I(e,t){return e.LINZUMI_THREAD_RUNNER_ROLE==="thread"?"ThreadWorkerRole":t&&nn(e.LINZUMI_SUPERVISED,"1")?"SupervisorRole":"CommanderRole"}var q3=[["api-url","ValueFlag"],["linzumi-url","ValueFlag"],["cwd","ValueFlag"],["codex-bin","ValueFlag"],["workspace","ValueFlag"],["log-file","ValueFlag"],["debug-trace-dir","ValueFlag"],["debug-trace-content","ValueFlag"],["fast","BooleanFlag"],["allowed-cwd","ValueFlag"],["forward-port","ValueFlag"],["code-server-bin","ValueFlag"],["model","ValueFlag"],["reasoning-effort","ValueFlag"],["sandbox","ValueFlag"],["approval-policy","ValueFlag"],["model-provider","ValueFlag"],["llm-proxy-base-url","ValueFlag"],["vm-execution","BooleanFlag"],["execution-mode","ValueFlag"],["egress-mode","ValueFlag"],["project-public-id","ValueFlag"],["golden-image-id","ValueFlag"],["allow-port-forwarding-by-default","BooleanFlag"],["no-allow-port-forwarding-by-default","BooleanFlag"],["token","ValueFlag"]];function L3(e){let t={},r,n=0;for(;mn(r)&&n<e.length;){let o=e[n];if(o!==void 0)if(o.startsWith("--")){let a=o.slice(2,o.length),s=q3.find(l=>l[0]===a);if(s!==void 0)if(s[1]==="ValueFlag"){let l=e[n+1|0],d=0;l!==void 0&&!l.startsWith("--")?(t[a]={TAG:"FlagString",_0:l},n=n+2|0):d=1,d===1&&(r="missing value for --"+a)}else t[a]="FlagSet",n=n+1|0;else r="invalid flag: --"+a}else r="invalid argument: "+o;else n=n+1|0}let i=r;return i!==void 0?{TAG:"Error",_0:i}:{TAG:"Ok",_0:t}}function Rr(e,t){let r=e[t];if(r===void 0||typeof r!="object")return;let n=r._0;if(n.trim()!=="")return n}function Xm(e,t){let r=e[t];return r!==void 0?typeof r!="object":!1}var U3="use only one of --api-url or --linzumi-url";function W3(e){let t=Rr(e,"api-url"),r=Rr(e,"linzumi-url");return t!==void 0?r!==void 0&&t!==r?{TAG:"Error",_0:U3}:{TAG:"Ok",_0:t}:{TAG:"Ok",_0:r}}function Z3(e){return e!==void 0?e.split(",").map(t=>t.trim()).filter(t=>t!==""):[]}function V3(e){return"invalid --forward-port: "+e+" is not a TCP port"}function H3(e){if(e===void 0)return{TAG:"Ok",_0:[]};let t=[],r={contents:void 0};e.split(",").forEach(i=>{let o=i.trim();if(!(o!==""&&mn(r.contents)))return;let a=x(jn(o),NaN),s=!Ot(a)||a<1||a>65535,l=t.includes(a);if(s){r.contents=V3(o);return}else{if(l)return;t.push(a);return}});let n=r.contents;return n!==void 0?{TAG:"Error",_0:n}:{TAG:"Ok",_0:t.toSorted((i,o)=>i-o)}}function mS(e,t){let r=e==="~",n=e.startsWith("~/");return r?t:n?Qm.resolve(t,e.slice(2,e.length)):e}function B3(e){if(e===void 0)return!1;switch(e){case"ELOOP":case"ENOENT":case"ENOTDIR":return!0;default:return!1}}function K3(e,t){let r=[],n=[];e.forEach(o=>{let a=Qm.resolve(mS(o,t)),s=Dn(a);if(s.TAG!=="Ok"){B3(s._0.code)?n.push(o):r.push(a);return}let l=s._0;(l===a?[l]:[l,a]).forEach(d=>{r.push(d)})});let i=o=>{let a=new Set;return o.filter(s=>a.has(s)?!1:(a.add(s),!0))};return{allowed:i(r),missing:i(n)}}function J3(e){return"invalid requested cwd: "+e+" does not exist"}function Y3(e,t){let r=Qm.resolve(mS(e,t)),n=Dn(r);if(n.TAG!=="Ok")return{TAG:"Error",_0:J3(e)};let i=n._0;return{TAG:"Ok",_0:i===r?[i]:[i,r]}}function MI(e){return"Warning: ignoring allowed cwd root "+e+`: it does not exist (dropped from this runner's advertised roots)
331
+ `}function pS(e){if(e!==void 0)switch(e){case"local_vm":return"local_vm";case"raw":return"raw";default:return}}function hS(e){if(e!==void 0)switch(e){case"hardened":return"hardened";case"open":return"open";default:return}}function II(e){if(e!==void 0&&e.trim()!=="")return e.trim()}function X3(e){return"invalid --debug-trace-content: expected summary or full, got "+e}function Q3(e){if(e===void 0)return{TAG:"Ok",_0:"summary"};switch(e){case"full":return{TAG:"Ok",_0:"full"};case"":case"summary":return{TAG:"Ok",_0:"summary"};default:return{TAG:"Error",_0:X3(e)}}}var eB="thread runner is missing LINZUMI_THREAD_RUNNER_KANDAN_THREAD_ID",tB="thread runner is missing LINZUMI_THREAD_RUNNER_TOKEN";function rB(e){let t=e.LINZUMI_THREAD_RUNNER_KANDAN_THREAD_ID;return t!==void 0&&t.trim()!==""?{TAG:"Ok",_0:t}:{TAG:"Error",_0:eB}}function nB(e){let t=e.LINZUMI_THREAD_RUNNER_TOKEN;return t!==void 0&&t.trim()!==""?{TAG:"Ok",_0:t}:{TAG:"Error",_0:tB}}function iB(e){let t=e.LINZUMI_THREAD_RUNNER_AGENT_MCP_TOKEN;if(t!==void 0&&t.trim()!=="")return t.trim()}function oB(e){return"unsupported --model-provider: "+e}function aB(e){return"--model-provider "+e+" requires --llm-proxy-base-url"}function sB(e){return"--model-provider "+e+" requires the LINZUMI_LLM_PROXY_TOKEN env credential"}function lB(e,t){let r=Rr(e,"model-provider");if(r===void 0)return{TAG:"Ok",_0:void 0};if(r!=="wafer"&&r!=="openai-proxy")return{TAG:"Error",_0:oB(r)};let n=Rr(e,"llm-proxy-base-url");if(n===void 0)return{TAG:"Error",_0:aB(r)};let i=G(t.LINZUMI_LLM_PROXY_TOKEN,o=>o.trim());return i!==void 0&&i!==""?{TAG:"Ok",_0:{provider:r,llmProxyBaseUrl:n,llmProxyToken:i}}:{TAG:"Error",_0:sB(r)}}function jI(e,t){return he(L3(e),r=>{let n=Xm(r,"allow-port-forwarding-by-default"),i=Xm(r,"no-allow-port-forwarding-by-default");return he(n?i?{TAG:"Error",_0:"use only one of --allow-port-forwarding-by-default or --no-allow-port-forwarding-by-default"}:{TAG:"Ok",_0:!0}:i?{TAG:"Ok",_0:!1}:{TAG:"Ok",_0:!0},a=>he(W3(r),s=>{let l=x(s,$s),d=t.resolveBaseCwd(mS(x(Rr(r,"cwd"),t.processCwd()),t.home)),c=r["allowed-cwd"]!==void 0?K3(Z3(Rr(r,"allowed-cwd")),t.home):{allowed:[],missing:[]};c.missing.forEach(t.warnStaleRoot);let f=c.allowed,p=f.length!==0?{TAG:"Ok",_0:f}:Y3(d,t.home);return he(p,m=>he(rB(t.env),h=>he(nB(t.env),_=>he(H3(Rr(r,"forward-port")),g=>he(lB(r,t.env),b=>{let y=Rr(r,"debug-trace-dir");return he(y!==void 0?wt(Q3(Rr(r,"debug-trace-content")),v=>({dir:y,contentMode:v})):{TAG:"Ok",_0:void 0},v=>{let S=Rr(r,"codex-bin"),A=S!==void 0?{TAG:"Ok",_0:[S,void 0]}:wt(t.fallbackCodexBin(),R=>[R.codexBin,R.source]);return wt(A,R=>({options:{kandanUrl:l,token:_,cwd:d,codexBin:R[0],kandanThreadId:h,workspaceSlug:Rr(r,"workspace"),logFile:Rr(r,"log-file"),debugTrace:v,fast:Xm(r,"fast"),allowedCwds:m,allowedForwardPorts:g,codeServerBin:void 0,runtimeDefaults:{model:Rr(r,"model"),reasoningEffort:Rr(r,"reasoning-effort"),sandbox:Rr(r,"sandbox"),approvalPolicy:Rr(r,"approval-policy"),allowPortForwardingByDefault:a},codexModelProvider:b,vmExecution:Xm(r,"vm-execution"),executionMode:pS(Rr(r,"execution-mode")),egressMode:hS(Rr(r,"egress-mode")),projectPublicId:II(Rr(r,"project-public-id")),goldenImagePublicId:II(Rr(r,"golden-image-id")),linzumiAgentMcpToken:iB(t.env)},runnerId:"thread-codex-worker:"+h,missingAllowedCwds:c.missing,codexBinSource:R[1]}))})})))))}))})}var dB="thread Codex worker requires an IPC channel";async function zI(e,t){let r=t.ipc;if(r===void 0)return{TAG:"Error",_0:dB};let n=t.preflightFailure();if(n!==void 0){let l={};return l.kandanThreadId=e,l.reason=n.reason,l.message=n.message,t.log("runner.thread_worker_preflight_failed",l),t.writeStderr(n.message+`
332
+ `),{TAG:"Ok",_0:{TAG:"PreflightRefused",reason:n.reason,message:n.message}}}let i=await t.startAppServer();if(i.TAG!=="Ok")return{TAG:"Error",_0:i._0};let o=await t.connectClient();if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let a=oR(o._0,r,t.log);if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};t.onSessionClosed(l=>{let d={};d.kandanThreadId=e,d.reason=l,t.log("runner.thread_codex_worker_session_closed",d);let u=r.send,c=r.isConnected();u!==void 0&&c&&u(eR(e,l)),t.stop()});let s=r.send;return s!==void 0&&s(QP(e,t.commanderManagedPorts())),await t.waitForStop(),t.stop(),{TAG:"Ok",_0:"Stopped"}}function gS(e,t){let r=e[t];if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function ti(e,t){let r=e[t];if(typeof r=="string")return r}function ts(e,t){let r=e[t];if(Array.isArray(r))return r}function Eu(e){return $e(e,t=>{if(typeof t!="object"||t===null||Array.isArray(t))return;if(ti(t,"type")==="text")return ti(t,"text")}).join(`
333
+ `)}function yS(e,t,r,n){return e+":"+t+":"+r+":"+n}function Pu(e,t){let r=t.split(":"),n=r[0],i=r[1],o=r[2];if(n===void 0||i===void 0||o===void 0||!(n===e&&i!==""&&o!==""&&r.length>=4))return;let a=r.slice(3,r.length).join(":");if(a!=="")return{keySessionId:i,keyTurnId:o,keyItemId:a}}function bS(e,t){return{threadId:e,threadTitle:void 0,nodes:t,hasMore:!1,cursor:void 0,budget:void 0,session:void 0}}var Qre="codex";function NI(e){return Math.ceil(e.length/4)}function tp(e){if(e===void 0||typeof e!="string")return;let t=e.trim();if(t!=="")return t}function uB(e){if(e!==void 0&&typeof e=="number"&&Ot(e))return e}function vS(e){let t=e.structured;if(typeof t=="object"&&t!==null&&!Array.isArray(t))return t}function Pl(e,t){return k(vS(e),r=>tp(r[t]))}function GI(e){return x(e.split(`
334
+ `)[0],e)}function FI(e,t){let r=Math.max(1e3,t*4)|0,n=e.body.trim();return n.length<=r?n:`[...truncated...]
335
+ `+n.slice(n.length-r|0)}function cB(e,t){return e.length<=t?e:"[...truncated...]"+e.slice(e.length-t|0)}function fB(e){let t=vS(e);if(t===void 0)return[];let r=tp(t.path),n=t.paths,i,o=0;if(Array.isArray(n)?i=n:o=1,o===1){let s=t.files;i=s!==void 0?Array.isArray(s)?s:[]:[]}let a=$e(i,s=>{let l=tp(s);return l!==void 0?l:typeof s=="object"&&s!==null&&!Array.isArray(s)?tp(s.path):void 0});return r!==void 0?[r].concat(a):a}function mB(e){let t=new Set,r=new Set,n={contents:0};return e.forEach(i=>{if(i.kind==="error"&&(n.contents=n.contents+1|0),i.kind==="file_change"&&fB(i).forEach(a=>{t.add(a)}),i.kind!=="command_execution")return;let o=Pl(i,"command");if(o!==void 0){r.add(GI(o));return}}),{filesTouched:t.values().toArray().slice(0,100),commandsRun:r.values().toArray().slice(0,100),errorCount:n.contents}}function pB(e,t){let r=t>0?t:76800,n=e.filter(d=>d.kind!=="reasoning"),i=e.length-n.length|0,o=[],a=0,s=n.length-1|0,l=!1;for(;!l&&s>=0;){let d=n[s];if(d!==void 0){let u=NI(FI(d,r));o.length!==0&&a+u>r?l=!0:(a=a+u,o.unshift(d),s=s-1|0)}else s=s-1|0}return{tail:o,omittedNodeCount:n.length-o.length|0,redactedReasoningCount:i,artifacts:mB(e)}}function Ui(e,t){let r={};r.type="output_text",r.text=e;let n={};return n.type="message",n.role="assistant",n.content=[r],n.phase=t,n}function hB(e){return de(Pl(e,"phase"),"commentary")?"commentary":"final_answer"}function _B(e,t){let r=e.attachments.length;return r!==0?t+`
336
+ [`+r.toString()+" attachment(s) in the original message]":t}function DI(e,t){return"linzumi_replay_"+e.seq.toString()+"_"+t.toString()}function gB(e){let t=e.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,64);return t===""?"linzumi_replayed_tool":t}function yB(e,t,r){let n=DI(e,r),i=Pl(e,"command"),o=Pl(e,"cwd"),a=k(vS(e),c=>uB(c.exit_code)),s=x(Pl(e,"output"),t),l={};l.command=x(i,GI(t)),o!==void 0&&(l.cwd=o);let d={};d.type="function_call",d.name="shell",d.call_id=n,d.arguments=JSON.stringify(l);let u={};return u.type="function_call_output",u.call_id=n,u.output=a!==void 0?"exit_code="+a.toString()+`
337
+ `+s:s,[d,u]}function bB(e,t,r){let n=DI(e,r),i=gB(x(Pl(e,"title"),"linzumi_replayed_tool")),o={};o.replayed=!0;let a={};a.type="function_call",a.name=i,a.call_id=n,a.arguments=JSON.stringify(o);let s={};return s.type="function_call_output",s.call_id=n,s.output=t===""?"[result not recorded]":t,[a,s]}function vB(e,t){let r={};r.type="input_text",r.text=_B(e,t);let n={};return n.type="message",n.role="user",n.content=[r],n}function SB(e,t,r){let n=FI(e,t),i=e.kind;switch(i){case"agent_status":return[Ui("[status] "+n,"commentary")];case"approval_request":return[Ui("[approval] "+n,"commentary")];case"assistant_message":return[Ui(n,hB(e))];case"command_execution":return yB(e,n,r);case"error":return[Ui("[error] "+n,"commentary")];case"file_change":return[Ui(`[file change]
338
338
  `+n,"commentary")];case"reasoning":return[];case"system_notice":return[Ui("[notice] "+n,"commentary")];case"terminal_input":return[Ui(`[terminal input]
339
- `+n,"commentary")];case"tool_call":return mB(e,n,r);case"tool_result":return[Ui(`[tool result]
340
- `+n,"commentary")];case"user_message":return[pB(e,n)];default:return[Ui("["+i+"] "+n,"commentary")]}}function _B(e,t,r,n){let i=e.trim(),o=r.artifacts,a=G(t,u=>u.trim()),s;s=a!==void 0?a===""?[]:["","Thread: "+a]:[];let l=["Rebuilt Linzumi coding session","","This session was rebuilt after an interrupted durable engine session: the previous engine session for this Linzumi thread could not be resumed"+(i===""?".":" ("+oB(i,400)+")."),n?"The durable server-side transcript could not be fetched or is empty - ask the user for any missing context instead of guessing.":"You are continuing the SAME task in the SAME Linzumi thread. The transcript below is replayed from the durable server-side record. Re-derive any local state (files, branches, running processes) from the workspace itself; do not assume in-memory state survived."].concat(s),d=[r.omittedNodeCount>0?[r.omittedNodeCount.toString()+" older transcript entries were omitted to fit the emission budget."]:[],r.redactedReasoningCount>0?[r.redactedReasoningCount.toString()+" reasoning entries were redacted (provider-private; never replayed)."]:[],o.filesTouched.length!==0?["Files touched: "+o.filesTouched.join(", ")]:[],o.commandsRun.length!==0?["Commands run: "+o.commandsRun.join("; ")]:[],o.errorCount>0?[o.errorCount.toString()+" error entries in the full history."]:[]].flat();return l.concat(d.length===0?[]:[""].concat(d)).join(`
341
- `)}function DI(e,t,r,n){let i=t!==void 0?t.maxEmissionTokens:76800,o=lB(e,i),a=_B(r,n,o,o.tail.length===0),s=[Ui(a,"commentary")],l={contents:0};o.tail.forEach(u=>{l.contents=l.contents+1|0,hB(u,i,l.contents).forEach(c=>{s.push(c)})});let d=Ve(s,0,(u,c)=>u+zI(JSON.stringify(c)));return{items:s,emittedNodeCount:o.tail.length,omittedNodeCount:o.omittedNodeCount,redactedReasoningCount:o.redactedReasoningCount,emittedTokenEstimate:d,maxEmissionTokens:i}}function UI(e,t){return e!==void 0?t<=e:!1}function ZI(e,t,r){e.onAdvance(t,r),e.flush()}function LI(e){let t=vr(e);if(t===void 0)return String(e);let r=ue(t),n=Cr(r);return n!==void 0?n:String(r)}function WI(e,t,r,n,i){let o;try{o={TAG:"Ok",_0:t()}}catch(a){o={TAG:"Error",_0:ee(a)}}if(o.TAG==="Ok"){let a=o._0;if(a.TAG==="Returned")return r();zn(a._0.then(s=>r()),s=>{let l=G(i,u=>u(s)),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",LI(s)]])),Promise.resolve()});return}n("kandan.control_handler_threw",Object.fromEntries([["controlType",e],["message",LI(o._0)]])),r()}function ho(e,t){return k(e[t],xr)}function Jo(e,t){return k(e[t],ha)}function rp(e,t){return k(e[t],ke)}function HI(e,t){return k(e[t],Qi)}function BI(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 yB(e){let t=ke(e);if(t===void 0)return;let r=x(rp(t,"payload"),{}),n=ho(t,"body"),i;if(n!==void 0)i=n;else{let s=k(r.body,xr);i=s!==void 0?s:k(r.text,xr)}let o=Jo(t,"seq");if(o===void 0||i===void 0)return;let a=x(rp(t,"actor"),{});return{seq:o,messageType:x(ho(t,"type"),"thread.message"),actorKind:x(k(a.kind,xr),"unknown"),actorSlug:k(a.slug,xr),actorUserId:Jo(t,"actor_user_id"),body:i,payload:r}}function bB(e){return e!==void 0?Array.isArray(e)?ze(e,yB):[]:[]}async function KI(e,t,r,n){let i=r.workspace,o=r.channel,a=r.threadId;if(i===void 0)return[];if(o===void 0)return[];if(a===void 0)return[];let s=Object.fromEntries([["workspace",i],["channel",o],["thread_id",a]]),l=await e(t,"session:thread_context",s);if(l.TAG==="Ok"){let d=l._0,u=BI(d);return u!==void 0?bB(u.messages):(n("kandan.reconnect_thread_context_fetch_failed",Object.fromEntries([["thread_id",a],["reply",JSON.stringify(d).slice(0,300)]])),[])}return n("kandan.reconnect_thread_context_fetch_failed",Object.fromEntries([["thread_id",a],["message",l._0]])),[]}function VI(e,t){return e.length<=t?e:`[...truncated...]
342
- `+e.slice(e.length-t|0,e.length)}function vB(e){return k(k(k(k(k(k(e.metadata,ke),t=>t.local_codex_runner),ke),t=>t.event_type),xr),t=>{if(t.trim()!=="")return t.trim()})}var SB=[/^Runner port \d+ is open in (Kandan|Linzumi):/,/^.+ on port \d+ is ready in Linzumi\. \[Open\]\(/];function wB(e){let t=e.body.trim();return t.startsWith("Codex reconnected.")||t.startsWith("[codex reconnected")||t.startsWith("Codex is ready.")?!0:SB.some(r=>r.test(t))}function kB(e){return e.filter(t=>{let r=t.body.trim(),n=vB(t.payload);return r!==""&&t.actorKind!=="system"&&(n===void 0||n==="codex_output")?!wB(t):!1})}function xB(e){let t=e.actorSlug,r=t!==void 0&&t.trim()!==""?t:e.actorKind,n=e.actorUserId,i=n!==void 0?n.toString():"unknown";return["Linzumi durable message seq="+e.seq.toString()+" from "+r+" (kind="+e.actorKind+", user_id="+i+"):","",e.body].join(`
343
- `)}function JI(e,t){let r=kB(e),n=Math.max(0,r.length-12|0),i=r.slice(n,r.length),o=r.length-i.length|0,a=VI(t.trim(),400),s=["Rebuilt Linzumi coding session","","This session was rebuilt after an interrupted durable engine session: the previous engine session for this Linzumi thread could not be resumed"+(a===""?".":" ("+a+")."),"You are continuing the SAME task in the SAME Linzumi thread. The durable server-side transcript "+(i.length===0?"could not be fetched, so no prior transcript is included - ask the user for any missing context instead of guessing.":"follows to restore your working context. Re-derive any local state (files, branches, running processes) from the workspace itself; do not assume in-memory state survived."),""].join(`
344
- `);if(i.length===0)return s;let l=o>0?"Prior transcript (last "+i.length.toString()+" user-visible messages verbatim; "+o.toString()+" earlier messages omitted):":"Prior transcript ("+i.length.toString()+" user-visible messages verbatim):",d=Math.max(1e3,(24e3-s.length|0)-l.length|0),u=VI(i.map(xB).join(`
339
+ `+n,"commentary")];case"tool_call":return bB(e,n,r);case"tool_result":return[Ui(`[tool result]
340
+ `+n,"commentary")];case"user_message":return[vB(e,n)];default:return[Ui("["+i+"] "+n,"commentary")]}}function wB(e,t,r,n){let i=e.trim(),o=r.artifacts,a=G(t,u=>u.trim()),s;s=a!==void 0?a===""?[]:["","Thread: "+a]:[];let l=["Rebuilt Linzumi coding session","","This session was rebuilt after an interrupted durable engine session: the previous engine session for this Linzumi thread could not be resumed"+(i===""?".":" ("+cB(i,400)+")."),n?"The durable server-side transcript could not be fetched or is empty - ask the user for any missing context instead of guessing.":"You are continuing the SAME task in the SAME Linzumi thread. The transcript below is replayed from the durable server-side record. Re-derive any local state (files, branches, running processes) from the workspace itself; do not assume in-memory state survived."].concat(s),d=[r.omittedNodeCount>0?[r.omittedNodeCount.toString()+" older transcript entries were omitted to fit the emission budget."]:[],r.redactedReasoningCount>0?[r.redactedReasoningCount.toString()+" reasoning entries were redacted (provider-private; never replayed)."]:[],o.filesTouched.length!==0?["Files touched: "+o.filesTouched.join(", ")]:[],o.commandsRun.length!==0?["Commands run: "+o.commandsRun.join("; ")]:[],o.errorCount>0?[o.errorCount.toString()+" error entries in the full history."]:[]].flat();return l.concat(d.length===0?[]:[""].concat(d)).join(`
341
+ `)}function qI(e,t,r,n){let i=t!==void 0?t.maxEmissionTokens:76800,o=pB(e,i),a=wB(r,n,o,o.tail.length===0),s=[Ui(a,"commentary")],l={contents:0};o.tail.forEach(u=>{l.contents=l.contents+1|0,SB(u,i,l.contents).forEach(c=>{s.push(c)})});let d=Ve(s,0,(u,c)=>u+NI(JSON.stringify(c)));return{items:s,emittedNodeCount:o.tail.length,omittedNodeCount:o.omittedNodeCount,redactedReasoningCount:o.redactedReasoningCount,emittedTokenEstimate:d,maxEmissionTokens:i}}function WI(e,t){return e!==void 0?t<=e:!1}function ZI(e,t,r){e.onAdvance(t,r),e.flush()}function UI(e){let t=Sr(e);if(t===void 0)return String(e);let r=ue(t),n=Er(r);return n!==void 0?n:String(r)}function VI(e,t,r,n,i){let o;try{o={TAG:"Ok",_0:t()}}catch(a){o={TAG:"Error",_0:ee(a)}}if(o.TAG==="Ok"){let a=o._0;if(a.TAG==="Returned")return r();zn(a._0.then(s=>r()),s=>{let l=G(i,u=>u(s)),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",UI(s)]])),Promise.resolve()});return}n("kandan.control_handler_threw",Object.fromEntries([["controlType",e],["message",UI(o._0)]])),r()}function ho(e,t){return k(e[t],Tr)}function Jo(e,t){return k(e[t],ha)}function rp(e,t){return k(e[t],ke)}function BI(e,t){return k(e[t],Qi)}function KI(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 xB(e){let t=ke(e);if(t===void 0)return;let r=x(rp(t,"payload"),{}),n=ho(t,"body"),i;if(n!==void 0)i=n;else{let s=k(r.body,Tr);i=s!==void 0?s:k(r.text,Tr)}let o=Jo(t,"seq");if(o===void 0||i===void 0)return;let a=x(rp(t,"actor"),{});return{seq:o,messageType:x(ho(t,"type"),"thread.message"),actorKind:x(k(a.kind,Tr),"unknown"),actorSlug:k(a.slug,Tr),actorUserId:Jo(t,"actor_user_id"),body:i,payload:r}}function TB(e){return e!==void 0?Array.isArray(e)?$e(e,xB):[]:[]}async function JI(e,t,r,n){let i=r.workspace,o=r.channel,a=r.threadId;if(i===void 0)return[];if(o===void 0)return[];if(a===void 0)return[];let s=Object.fromEntries([["workspace",i],["channel",o],["thread_id",a]]),l=await e(t,"session:thread_context",s);if(l.TAG==="Ok"){let d=l._0,u=KI(d);return u!==void 0?TB(u.messages):(n("kandan.reconnect_thread_context_fetch_failed",Object.fromEntries([["thread_id",a],["reply",JSON.stringify(d).slice(0,300)]])),[])}return n("kandan.reconnect_thread_context_fetch_failed",Object.fromEntries([["thread_id",a],["message",l._0]])),[]}function HI(e,t){return e.length<=t?e:`[...truncated...]
342
+ `+e.slice(e.length-t|0,e.length)}function AB(e){return k(k(k(k(k(k(e.metadata,ke),t=>t.local_codex_runner),ke),t=>t.event_type),Tr),t=>{if(t.trim()!=="")return t.trim()})}var OB=[/^Runner port \d+ is open in (Kandan|Linzumi):/,/^.+ on port \d+ is ready in Linzumi\. \[Open\]\(/];function CB(e){let t=e.body.trim();return t.startsWith("Codex reconnected.")||t.startsWith("[codex reconnected")||t.startsWith("Codex is ready.")?!0:OB.some(r=>r.test(t))}function EB(e){return e.filter(t=>{let r=t.body.trim(),n=AB(t.payload);return r!==""&&t.actorKind!=="system"&&(n===void 0||n==="codex_output")?!CB(t):!1})}function PB(e){let t=e.actorSlug,r=t!==void 0&&t.trim()!==""?t:e.actorKind,n=e.actorUserId,i=n!==void 0?n.toString():"unknown";return["Linzumi durable message seq="+e.seq.toString()+" from "+r+" (kind="+e.actorKind+", user_id="+i+"):","",e.body].join(`
343
+ `)}function YI(e,t){let r=EB(e),n=Math.max(0,r.length-12|0),i=r.slice(n,r.length),o=r.length-i.length|0,a=HI(t.trim(),400),s=["Rebuilt Linzumi coding session","","This session was rebuilt after an interrupted durable engine session: the previous engine session for this Linzumi thread could not be resumed"+(a===""?".":" ("+a+")."),"You are continuing the SAME task in the SAME Linzumi thread. The durable server-side transcript "+(i.length===0?"could not be fetched, so no prior transcript is included - ask the user for any missing context instead of guessing.":"follows to restore your working context. Re-derive any local state (files, branches, running processes) from the workspace itself; do not assume in-memory state survived."),""].join(`
344
+ `);if(i.length===0)return s;let l=o>0?"Prior transcript (last "+i.length.toString()+" user-visible messages verbatim; "+o.toString()+" earlier messages omitted):":"Prior transcript ("+i.length.toString()+" user-visible messages verbatim):",d=Math.max(1e3,(24e3-s.length|0)-l.length|0),u=HI(i.map(PB).join(`
345
345
 
346
346
  ---
347
347
 
348
348
  `),d);return[s,l,u].join(`
349
- `)}function YI(e){return{kind:e.kind,seq:e.seq,at:e.at,harness:e.harness,body:e.body,structured:G(e.structured,t=>t),actor:G(e.actor,t=>t),attachments:e.attachments,sourceSeq:e.sourceSeq,streamKey:e.streamKey}}function XI(e){return{model:e.model,contextWindow:e.contextWindow,maxEmissionTokens:e.maxEmissionTokens}}function TB(e){let t=ke(e);if(t===void 0)return;let r=ho(t,"kind"),n=Jo(t,"seq");if(r!==void 0&&n!==void 0)return{kind:r,seq:n,at:ho(t,"at"),harness:x(ho(t,"engine"),"none"),body:x(ho(t,"body"),""),structured:rp(t,"structured"),actor:rp(t,"actor"),attachments:x(HI(t,"attachments"),[]),sourceSeq:Jo(t,"source_seq"),streamKey:ho(t,"stream_key")}}function AB(e){let t=ke(e);if(t===void 0)return;let r=Jo(t,"context_window"),n=Jo(t,"max_emission_tokens");if(r!==void 0&&n!==void 0&&n>0)return{model:ho(t,"model"),contextWindow:r,maxEmissionTokens:n}}function OB(e){let t=Jo(e,"ir_version"),r=HI(e,"nodes");if(t===void 0||r===void 0)return;let n=e.has_more,i;return i=n===!0,{threadTitle:ho(e,"thread_title"),nodes:ze(r,TB),hasMore:i,cursor:Jo(e,"cursor"),budget:k(e.budget,AB)}}async function QI(e,t,r,n){let i=r.workspace,o=r.channel,a=r.threadId;if(i===void 0||o===void 0||a===void 0)return;let s=[],l,d,u,c=0,f=0,p;for(;mn(p)&&f<20;){let h={};h.workspace=i,h.channel=o,h.thread_id=a;let _=u;_!==void 0&&(h.cursor=_);let b=await e(t,"session:thread_transcript",h);if(b.TAG==="Ok"){let y=b._0,v=BI(y);if(v!==void 0){let S=OB(v);if(S!==void 0){l=cs(l,S.budget),d=cs(d,S.threadTitle),s=S.nodes.concat(s),c=c+Ve(S.nodes,0,(Z,L)=>L.kind==="reasoning"?Z:Z+L.body.length);let A=l,R=A!==void 0?c/4>=A.maxEmissionTokens:!1;!S.hasMore||mn(S.cursor)||R?p=We({nodes:s,budget:l,threadTitle:d}):(u=S.cursor,f=f+1|0)}else p=We(f===0?void 0:{nodes:s,budget:l,threadTitle:d})}else n("kandan.reconnect_thread_transcript_fetch_failed",Object.fromEntries([["thread_id",a],["page",f],["reply",JSON.stringify(y).slice(0,300)]])),p=We(f===0?void 0:{nodes:s,budget:l,threadTitle:d})}else n("kandan.reconnect_thread_transcript_fetch_failed",Object.fromEntries([["thread_id",a],["message",b._0]])),p=We(void 0)}let m=p;return m!==void 0?ue(m):{nodes:s,budget:l,threadTitle:d}}function CB(e,t){return"Codex "+e+" did not reply within "+t.toString()+"ms (start request timed out)"}function SS(e,t,r,n){return t<=0?n:new Promise((i,o)=>{let a=e.setTimer(()=>i({TAG:"Error",_0:CB(r,t)}),t);n.then(s=>(e.clearTimer(a),i(s),Promise.resolve()))})}function vS(e){return e==="ResumeArchived"?"resume_archived":"forced_inject_not_found"}var EB="the server marked the durable engine session dead after an acknowledged-but-unexecuted turn";async function e$(e,t,r,n,i,o){let a={};a.threadId=n,Object.entries(i).forEach(m=>{a[m[0]]=m[1]});let s=a,l=(m,h)=>SS(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",vS(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",s);if(A.TAG!=="Ok")return{TAG:"Error",_0:A._0};let R=A._0;return R.TAG==="ResultReply"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:"thread/resume after unarchive failed: "+R.message}})();if(g.TAG==="Ok")return o.log("kandan.reconnect_thread_unarchive_resumed",Object.fromEntries([["codex_thread_id",n],["discovered_by",vS(m)]])),{TAG:"Ok",_0:"Resumed"};let b=g._0;o.log("kandan.reconnect_thread_unarchive_failed",Object.fromEntries([["codex_thread_id",n],["discovered_by",vS(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 L=await g(m);L.TAG==="Ok"?b=L._0:(o.log("kandan.reconnect_thread_rehydration_items_failed",Object.fromEntries([["codex_thread_id",n],["message",L._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 L=await o.buildRehydrationText(m);y=L.TAG==="Ok"?{TAG:"Ok",_0:[Object.fromEntries([["type","agentMessage"],["text",L._0]])]}:{TAG:"Error",_0:L._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 L=await l("thread/resume",s);if(L.TAG!=="Ok")return{TAG:"Error",_0:L._0};let ae=L._0;return ae.TAG==="ResultReply"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:"rehydrated thread/resume failed: "+ae.message}}let R=A.message;if(!(o.forceRehydrate&&NP(R)))return{TAG:"Error",_0:"thread/inject_items failed: "+R};let Z=await d("ForcedInjectNotFound",R);return Z.TAG==="Ok"?{TAG:"Ok",_0:Z._0}:{TAG:"Error",_0:Z._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(EB);let c=await l("thread/resume",s);if(c.TAG!=="Ok")return{TAG:"Error",_0:{message:c._0}};let f=c._0;if(f.TAG==="ResultReply")return{TAG:"Ok",_0:"Resumed"};let p=f.message;return zP(p)?await d("ResumeArchived",p):await u(p)}var IB=N0(e=>({joinRef:e.item(0,ph(At)),ref:e.item(1,ph(At)),topic:e.item(2,At),event:e.item(3,At),payload:e.item(4,$0)}));function t$(e){return Is(e,IB)}function ip(e){let t=vr(e);return t!==void 0?x(Cr(ue(t)),"unknown error"):"unknown error"}function MB(e){let t=k(vr(e),r=>Aw(r));return t!==void 0?t:null}function ri(e){return e.TAG==="Transport"?e._0.message:e.message}function jB(e,t){return{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"TimeoutReason",message:"phoenix push timed out after "+e.toString()+"ms waiting for connection: "+t}}}function zB(e,t){return{TAG:"Transport",_0:{phase:"Reply",reason:"TimeoutReason",message:"phoenix push timed out after "+e.toString()+"ms: "+t}}}function i$(e){return e.TAG==="Transport"?e._0.phase==="WaitForConnection":!1}function o$(e){return{initial:t=>e.initial(t),onAdvance:(t,r)=>e.onAdvance(t,r),reset:(t,r)=>e.reset(t,r)}}function a$(e){return{current:t=>e.current(),adopt:(t,r)=>e.adopt(t,r)}}var NB="base64url.bearer.phx.";function GB(e){let t;t=typeof e=="object"&&e!==null&&!Array.isArray(e)?zm(e):e;let r=JSON.stringify(t);return r.length<=400?r:r.slice(0,400)+"\u2026"}var FB=new RegExp("/$");function DB(e){let t=Ln(e);if(t===void 0)return{TAG:"Error",_0:"Invalid URL"};let r=ue(t);switch(r.protocol){case"http:":r.protocol="ws:";break;case"https:":r.protocol="wss:";break}return r.pathname=r.pathname.replace(FB,"")+"/socket/websocket",r.searchParams.set("vsn","2.0.0"),{TAG:"Ok",_0:r.toString()}}function qB(e){return[NB+Gw(e),"phoenix"]}var s$="[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?<![\\uD800-\\uDBFF])[\\uDC00-\\uDFFF]",Ru=new RegExp(s$),Iu=new RegExp(s$,"g"),$u="\uFFFD";function wS(e){if(Array.isArray(e))return e.some(wS);if(e===null)return!1;switch(typeof e){case"string":return Ru.test(e);case"object":return Object.entries(e).some(t=>Ru.test(t[0])?!0:wS(t[1]));default:return!1}}function kS(e){if(Array.isArray(e))return e.map(kS);if(e===null)return e;switch(typeof e){case"string":return e.replace(Iu,$u);case"object":return Object.fromEntries(Object.entries(e).map(t=>[t[0].replace(Iu,$u),kS(t[1])]));default:return e}}function LB(e){return Object.entries(e).some(t=>Ru.test(t[0])?!0:wS(t[1]))}function UB(e){return Object.fromEntries(Object.entries(e).map(t=>[t[0].replace(Iu,$u),kS(t[1])]))}function ZB(e,t,r){return Ru.test(e)||Ru.test(t)?!0:LB(r)}function WB(e,t,r){return{frameTopic:e.replace(Iu,$u),frameEvent:t.replace(Iu,$u),framePayload:UB(r)}}function r$(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 VB(e){let t;try{t={TAG:"Ok",_0:JSON.parse(e)}}catch(n){let i=ee(n);t={TAG:"Error",_0:ip(i)}}if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=t$(t._0);return r.TAG==="Ok"?{TAG:"Ok",_0:r._0}:{TAG:"Error",_0:"invalid Phoenix frame"}}function l$(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function ap(e,t){return k(e,r=>{let n=r[t];if(typeof n=="object"&&n!==null&&!Array.isArray(n))return n})}function Rl(e,t){return k(e,r=>{let n=r[t];if(typeof n=="string")return n})}function np(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 HB(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?nn(e.status,"ok"):!1}function BB(e){return typeof e!="object"||e===null||Array.isArray(e)?!1:typeof e.type=="string"}function op(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&Ot(r))return r}function n$(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return op(e,"control_seq")}function KB(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"&&Ot(n)?{event:t,payload:r,controlSeq:n}:void 0:{event:t,payload:r,controlSeq:void 0}}var JB="npm install -g @linzumi/cli@latest",YB=new RegExp("^npm install -g @linzumi\\/cli(@[0-9A-Za-z^~.-]{1,32})?$"),XB=new RegExp("^\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]{1,32})?$");function QB(e){return e!==void 0&&typeof e=="string"&&e.length<=100&&YB.test(e)?e:JB}function eK(e){return e!==void 0&&typeof e=="string"&&e.length<=64&&XB.test(e)?"@linzumi/cli "+e+" or newer":"a newer @linzumi/cli"}function xS(e){let t=l$(e),r=ap(t,"response"),n=Rl(r,"error");if(n!==void 0)return n;let i=Rl(r,"reason");if(i!==void 0)return i;let o=Rl(r,"message");if(o!==void 0)return o;let a=Rl(t,"error");return t!==void 0?a!==void 0?a:"unknown":"invalid reply"}function tK(e){let t=ap(l$(e),"response");if(t===void 0||!de(t.error,"commander_version_too_old"))return xS(e);let r=eK(t.min_version),n=QB(t.upgrade_command);return"commander_version_too_old: this Linzumi server requires "+r+". Update with: "+n}function rK(e){let t=e;if(Rl(t,"agent_provider")==="claude-code")return"claude-code-sdk";let n=ap(t,"metadata"),i=ap(n,"local_codex_runner");return Rl(i,"agent_provider")==="claude-code"?"claude-code-sdk":"codex-app-server"}function nK(e,t){let r;try{r=e.initial(t)}catch{r=void 0}if(r!==void 0&&Ot(r)&&r>=0)return r}function iK(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 d$(e,t,r,n){let i=n!==void 0?n:{},o=r!==void 0?r:Gm,a;a=t.TAG==="Token"?t._0:void 0;let s={contents:a},l=()=>{if(t.TAG==="Token")return{TAG:"Ok",_0:t._0};let w;try{w=t._0()}catch{w=void 0}if(w!==void 0&&w.trim()!=="")return s.contents=w,{TAG:"Ok",_0:w};let C=s.contents;return C!==void 0?{TAG:"Ok",_0:C}:{TAG:"Error",_0:{TAG:"Failed",message:"phoenix token provider returned no usable token"}}},d=i.onOperatorNotice,u=d!==void 0?d:w=>{console.error(w)},c=i.auditEvent,f=c!==void 0?c:(w,C)=>{},p=i.onPushRecorded,m=p!==void 0?p:w=>{},h=x(i.pushTimeoutMs,3e4),_=i.controlCursorStore,g=i.controlEpochStore,b={},y={},v={},S={},A={},R={},Z={},L={},ae=new Set,U={contents:1},B=[],oe=[],W=[],V=[],M={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},N=w=>{let C=Object.entries(b);C.forEach(P=>cr(b,P[0])),C.forEach(P=>{let I=P[1];clearTimeout(I.timer),I.settle({TAG:"Error",_0:w})})},j=()=>{if(M.settleReady!==void 0)return;let C={contents:void 0};M.ready=new Promise((P,I)=>{C.contents=P}),M.settleReady=C.contents},re=()=>{let w=M.settleReady;w!==void 0&&w({TAG:"Ok",_0:void 0}),M.settleReady=void 0},se=w=>{let C=M.settleReady;C!==void 0&&C({TAG:"Error",_0:w}),M.settleReady=void 0},Ae=()=>{let w=M.heartbeatTimer;if(w!==void 0){clearInterval(ue(w)),M.heartbeatTimer=void 0;return}},Ue=()=>{let w=M.backoffResetTimer;if(w!==void 0){clearTimeout(ue(w)),M.backoffResetTimer=void 0;return}},Ge=w=>{M.closed=!0;let C=M.reconnectTimer;C!==void 0&&(clearTimeout(ue(C)),M.reconnectTimer=void 0),Ae(),Ue();let P=M.websocket;P!==void 0&&P.close(),se(w),N({TAG:"Transport",_0:{phase:"Reply",reason:"ClientClosed",message:"phoenix client closed"}})},dt=w=>x(L[w],0),je=w=>{cr(S,w),cr(A,w),cr(R,w),cr(Z,w),L[w]=dt(w)+1|0},pt=(w,C)=>{let P=S[w];if(P!==void 0){if(C===P+1){let D=P+1,ie=A[w];if(ie!==void 0)for(;ie.has(D+1);)D=D+1,ie.delete(D);S[w]=D;return}let I=A[w],F;if(I!==void 0)F=I;else{let D=new Set;A[w]=D,F=D}F.add(C);return}S[w]=C},Ye=(w,C)=>{let P=n$(C);if(P===void 0)return!0;let I=S[w],F=I!==void 0?P<=I:!1,D=A[w],ie=D!==void 0?D.has(P):!1;return F||ie?!1:(pt(w,P),!0)},He=(w,C)=>{if(_!==void 0)try{return _.onAdvance(w,C)}catch{return}},It=(w,C)=>{if(!w.startsWith("local_runner:"))return;let P=op(C,"control_high_water");if(P===void 0)return;let I=S[w];if(I!==void 0&&P<I){je(w);let F=0;if(_===void 0)return;let D=_.reset;if(D===void 0)return;try{return D(w,F)}catch{return}}},Or=(w,C)=>{let P=w.startsWith("local_runner:");if(g===void 0||!P)return!1;let I=C.control_epoch;if(I===void 0||typeof I!="string"||I==="")return!1;let F;try{F=g.adopt(w,I)}catch{F=!1}return F&&je(w),F},Ut=w=>{let C=S[w];if(C!==void 0)return C;if(_===void 0)return;let P=nK(_,w);return P!==void 0?(S[w]=P,P):0},Xe=new Set,q=(w,C,P,I)=>{try{let F=!1;if(w.startsWith("local_runner:")&&C==="control"&&BB(I)){let D;if(Ye(w,I)){let ie=n$(I);if(ie!==void 0){let Se=R[w],Ce;if(Se!==void 0)Ce=Se;else{let Ie=new Set;R[w]=Ie,Ce=Ie}Ce.add(ie)}let pe=dt(w),Fe=ie!==void 0?()=>{if(pe!==dt(w))return;let Se=R[w];Se!==void 0&&Se.delete(ie);let Ce=Z[w];Ce!==void 0&&ie<=Ce||(Z[w]=ie);let Ie=k(Se,Zt=>Ve(Zt.values().toArray(),void 0,(zt,yr)=>zt!==void 0&&zt<=yr?zt:yr)),ct=Ie!==void 0?Ie-1:Z[w];if(ct===void 0)return;let Pe=S[w],Oe=Pe!==void 0&&Pe<ct?Pe:ct;He(w,Oe)}:()=>{};B.forEach(Se=>Se(I,Fe)),D=!1}else D=!0;F=D}if(!F&&P===void 0&&C!=="phx_reply"&&C!=="phx_error"){oe.forEach(D=>D(w,C,I));return}else return}catch(F){let D=ee(F),ie=ip(D);try{f("phoenix.pushed_frame_dispatch_failed",Object.fromEntries([["topic",w],["frame",C],["message",ie],["stack",MB(D)],["payloadSnippet",GB(I)],["dropped",!0]]))}catch{}if(Xe.has(C))return;Xe.add(C);try{return u('linzumi: dropped a pushed "'+C+'" frame on '+w+" whose dispatch failed ("+ie+"); see the CLI audit log for the payload snippet.")}catch{return}}},Ee=(w,C)=>{let P=S[w],I={contents:P!==void 0&&P>=C?P:C},F=A[w];if(F!==void 0)for(F.values().toArray().forEach(D=>{if(D<=I.contents){F.delete(D);return}});F.has(I.contents+1);)I.contents=I.contents+1,F.delete(I.contents);S[w]=I.contents},ve=w=>{let C=S[w];if(C===void 0)return;let P=R[w],I=P!==void 0&&P.size>0?G(Ve(P.values().toArray(),void 0,(F,D)=>F!==void 0&&F<=D?F:D),F=>F-1):void 0;He(w,I!==void 0&&I<C?I:C)},_e=(w,C)=>{if(w.startsWith("chat:")){let P=C.events;return P===void 0?{TAG:"Ok",_0:void 0}:P===null?{TAG:"Ok",_0:void 0}:Array.isArray(P)?(P.forEach(I=>{oe.forEach(F=>F(w,"event",I))}),{TAG:"Ok",_0:void 0}):{TAG:"Error",_0:"phoenix rejoin returned invalid events for "+w}}else{if(!w.startsWith("local_runner:"))return{TAG:"Ok",_0:void 0};let P=C.controls;if(P===void 0)return{TAG:"Ok",_0:void 0};if(P===null)return{TAG:"Ok",_0:void 0};if(!Array.isArray(P))return{TAG:"Error",_0:"phoenix rejoin returned invalid controls for "+w};P.forEach(F=>{let D=KB(F);if(D===void 0)return;let ie={};Object.entries(D.payload).forEach(Fe=>{ie[Fe[0]]=Fe[1]}),ie.replayed=!0;let pe=D.controlSeq;pe!==void 0&&(ie.control_seq=pe),q(w,D.event,void 0,ie)});let I=op(C,"controls_advance_to");if(I!==void 0){let F=C.control_high_water;typeof F=="number"&&I>F||Ee(w,I)}return ve(w),{TAG:"Ok",_0:void 0}}},Be=(w,C,P,I,F)=>{let D=M.websocket;if(D===void 0)return Promise.resolve({TAG:"Error",_0:{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"SocketNotOpen",message:"phoenix websocket is not open"}}});if(D.readyState()!==Xa)return Promise.resolve({TAG:"Error",_0:{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"SocketNotOpen",message:"phoenix websocket is not open"}}});let ie=M.nextRef.toString();M.nextRef=M.nextRef+1|0,C==="phx_join"&&(v[w]=ie);let pe=C==="phx_join"?ie:v[w],Fe=jm(P),Se;if(ZB(w,C,Fe)){let _r=WB(w,C,Fe);f("phoenix.outbound_frame_lone_surrogate_sanitized",Object.fromEntries([["purpose","phoenix.send_totality"],["topic",_r.frameTopic],["frame_event",_r.frameEvent]])),Se=_r}else Se={frameTopic:w,frameEvent:C,framePayload:Fe};let Ce=Se.framePayload,Ie=ie,ct=Se.frameTopic,Pe=Se.frameEvent,zt=r$({joinRef:pe,ref:Ie,topic:ct,event:Pe,payload:Ce}),yr=Math.max(0,Math.ceil(I))|0;return new Promise((_r,ir)=>{let Nt=setTimeout(()=>{if(b[ie]!==void 0)return cr(b,ie),_r({TAG:"Error",_0:zB(yr,C)})},yr);b[ie]={event:C,timer:Nt,settle:_r};try{m({provider:rK(Ce),rawFrameText:zt,topic:w,event:C,payload:Ce})}catch{}let or;try{or={TAG:"Ok",_0:D.send(zt)}}catch(Gt){let Ft=ee(Gt);or={TAG:"Error",_0:ip(Ft)}}return or.TAG==="Ok"?F!==void 0?F():void 0:_r({TAG:"Error",_0:{TAG:"Failed",message:or._0}})})},Jt=(w,C)=>{let P={};if(C.forEach(I=>{Object.entries(I).forEach(F=>{let D=F[1],ie=F[0],pe=ie==="last_seq",Fe=P[ie];if(pe&&typeof Fe=="number"&&typeof D=="number"){P[ie]=D<Fe?D:Fe;return}if(Fe===void 0){P[ie]=D;return}})}),w.startsWith("local_runner:")){let I=Ut(w);I!==void 0&&(P.last_control_seq=I);let F=iK(g,w);F!==void 0&&(P.last_control_epoch=F)}return P},fn=w=>Object.entries(w).map(C=>C[1].payload()),ki=async w=>{let C=0,P=0,I=!0;for(;I;){let F=y[w];if(F!==void 0){let D=Ut(w),ie=await Be(w,"phx_join",Jt(w,fn(F)),h,void 0);if(C=C+1|0,ie.TAG==="Ok"){let pe=np(ie._0);if(pe!==void 0){let Fe=pe.controls,Se=Array.isArray(Fe)?Fe.length:0;P=P+Se|0;let Ce=de(pe.controls_truncated,!0),Ie=Ut(w),ct;if(Ce){let Pe=op(pe,"control_high_water");ct=Pe!==void 0&&Ie!==void 0?Pe-Ie>0?Pe-Ie:0:void 0}else ct=0;if(f("phoenix.control_backlog_fetch_progress",Object.fromEntries([["topic",w],["fetches",C],["fetched",P],["remaining_estimate",ct!==void 0?ct:null],["truncated",Ce]])),Ce)if(de(Ie,D)){let Pe=Ie!==void 0?Ie.toString():"undefined";u("phoenix.control_backlog_fetch_stalled topic="+w+" fetches="+C.toString()+" fetched="+P.toString()+" cursor="+Pe+"; a truncated reply made no cursor progress - stopping this fetch loop (a server paging bug; the next reconnect resumes from the watermark)"),I=!1}else{if(C%20===0){let Oe=ct!==void 0?ct.toString():"unknown";u("phoenix.control_backlog_cap_exceeded topic="+w+" fetches="+C.toString()+" fetched="+P.toString()+" remaining_estimate="+Oe+"; continuing the paginated backlog fetch (a healthy connection never reconnects, so nothing is deferred)")}await new Promise((Oe,Zt)=>{setImmediate(()=>Oe())})}else I=!1}else I=!1}else I=!1}else I=!1}},Fn=w=>{if(!ae.has(w)){ae.add(w),zn(ki(w).then(()=>{ae.delete(w)}),C=>(ae.delete(w),Promise.resolve()));return}},ii={},Vr=async()=>{Object.entries(ii).forEach(F=>cr(ii,F[0]));let w=Object.entries(y),C,P=0;for(;C===void 0&&P<w.length;){let F=w[P];if(F!==void 0){let D=F[0],ie=await Be(D,"phx_join",Jt(D,fn(F[1])),h,void 0);if(ie.TAG==="Ok"){let pe=np(ie._0);pe!==void 0?ii[D]=pe:C={TAG:"Failed",message:"phoenix rejoin failed for "+D}}else C=ie._0}P=P+1|0}let I=C;return I!==void 0?{TAG:"Error",_0:I}:{TAG:"Ok",_0:void 0}},_o={contents:()=>Promise.resolve()},ra=()=>{let w=M.closed,C=M.reconnectTimer;if(w||C!==void 0)return;j();let P=Math.min(1e4,250*2**M.reconnectAttempts);M.reconnectAttempts=M.reconnectAttempts+1|0,M.reconnectTimer=We(setTimeout(()=>{M.reconnectTimer=void 0,_o.contents()},Math.random()*P|0))},tn=(w,C,P)=>{let I=M.connected,F=M.connectedAt;M.connectedAt=void 0,M.connected=!1;let D=M.websocket;if(M.websocket=void 0,Ae(),Ue(),D!==void 0&&(D.readyState()===OP||D.readyState()===Xa))try{D.close()}catch{}if(N(w),ra(),!I)return;let ie;ie=P!==void 0&&P!==""?P:void 0;let pe=G(F,Ce=>Math.max(0,Date.now()-Ce)),Fe=M.reconnectAttempts,Se={closeCode:C,closeReason:ie,previousSessionDurationMs:pe,reconnectCount:Fe};V.forEach(Ce=>{try{return Ce(Se)}catch{return}})},H=()=>{Ae(),M.heartbeatTimer=We(setInterval(()=>{let w=M.websocket;if(w===void 0||w.readyState()!==Xa)return;let C=M.nextRef.toString();M.nextRef=M.nextRef+1|0;let F={joinRef:void 0,ref:C,topic:"phoenix",event:"heartbeat",payload:{}};try{return w.send(r$(F))}catch{return}},3e4))},te=()=>{Ue();let w=setTimeout(()=>{if(M.backoffResetTimer=void 0,M.connected){M.reconnectAttempts=0;return}},3e4);w.unref(),M.backoffResetTimer=We(w)},ne=(w,C)=>new Promise((P,I)=>{let F={contents:void 0},D=ie=>{let pe=F.contents;pe!==void 0&&(clearTimeout(ue(pe)),F.contents=void 0),P(ie)};w.on("SocketOpen",ie=>D({TAG:"Ok",_0:void 0})),w.on("SocketError",ie=>D({TAG:"Error",_0:"websocket open failed"})),w.on("SocketClose",ie=>D({TAG:"Error",_0:"websocket closed before open"})),F.contents=We(setTimeout(()=>{F.contents=void 0,D({TAG:"Error",_0:"websocket open timed out after "+C.toString()+"ms"})},C))}),Ke=async()=>{if(M.closed)return;let w=l(),C=DB(e),P;if(w.TAG==="Ok")if(C.TAG==="Ok"){let D;try{D={TAG:"Ok",_0:o(C._0,qB(w._0))}}catch(ie){let pe=ee(ie);D={TAG:"Error",_0:{TAG:"Failed",message:ip(pe)}}}P=D.TAG==="Ok"?{TAG:"Ok",_0:D._0}:{TAG:"Error",_0:D._0}}else P={TAG:"Error",_0:{TAG:"Failed",message:C._0}};else P={TAG:"Error",_0:w._0};if(P.TAG==="Ok"){let D=P._0;M.websocket=D,D.on("SocketMessage",Pe=>{let Oe=M.websocket;if(Oe!==void 0&&Oe===D){let Zt=VB(x(Pe.data,"undefined"));if(Zt.TAG==="Ok"){let zt=Zt._0,yr=zt.payload,_r=zt.event,ir=zt.topic,Nt=zt.ref;if(Nt!==void 0&&(_r==="phx_reply"||_r==="phx_error")){let Gt=b[Nt];if(Gt!==void 0){cr(b,Nt),clearTimeout(Gt.timer);let Ft=_r==="phx_error",br=HB(yr)&&Gt.event!=="phx_join";if(Ft)Gt.settle({TAG:"Error",_0:{TAG:"Failed",message:"phoenix push failed"}});else if(br)Gt.settle({TAG:"Error",_0:{TAG:"Failed",message:"phoenix push failed: "+xS(yr)}});else{let Hr=y[ir],oi=np(yr),ai;if(Hr!==void 0&&oi!==void 0&&Gt.event==="phx_join"){let Bl=Or(ir,oi);It(ir,oi);let Kl=Bl?{TAG:"Ok",_0:void 0}:_e(ir,oi);Kl.TAG==="Ok"?(ir.startsWith("local_runner:")&&(de(oi.controls_truncated,!0)||Bl)&&Fn(ir),ai=!1):(Gt.settle({TAG:"Error",_0:{TAG:"Failed",message:Kl._0}}),ai=!0)}else ai=!1;ai||Gt.settle({TAG:"Ok",_0:yr})}}}return q(ir,_r,Nt,yr)}else return f("phoenix.frame_decode_failed",Object.fromEntries([["message",Zt._0],["dropped",!0]]))}}),D.on("SocketClose",Pe=>{let Oe=M.websocket;if(Oe!==void 0&&Oe===D)return tn({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},Pe.code,Pe.reason)}),D.on("SocketError",Pe=>{let Oe=M.websocket;if(Oe!==void 0&&Oe===D)return tn({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},void 0,void 0)});let ie=await ne(D,h),pe=()=>{if(M.closed)return!0;let Pe=M.websocket;return Pe!==void 0?Pe!==D:!1},Fe;if(ie.TAG==="Ok")if(pe())Fe={TAG:"Ok",_0:!1};else{M.connectionGeneration=M.connectionGeneration+1|0;let Pe=await Vr();Fe=Pe.TAG==="Ok"?pe()?{TAG:"Ok",_0:!1}:{TAG:"Ok",_0:!0}:{TAG:"Error",_0:Pe._0}}else Fe={TAG:"Error",_0:{TAG:"Failed",message:ie._0}};if(Fe.TAG==="Ok"){if(!Fe._0||(M.connected=!0,M.connectedAt=Date.now(),M.hasEverConnected=!0,te(),H(),re(),M.connectionGeneration<=1))return;let Pe={};Object.entries(ii).forEach(Zt=>{Pe[Zt[0]]=Zt[1]});let Oe={contents:!1};return W.forEach(Zt=>{if(Oe.contents)return;let zt;try{zt={TAG:"Ok",_0:Zt(Pe)}}catch{zt={TAG:"Error",_0:void 0}}if(zt.TAG!=="Ok"){Oe.contents=!0;return}zn(zt._0,yr=>Promise.resolve())}),Oe.contents&&!M.closed?tn({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket reconnect failed"}},void 0,void 0):void 0}let Se=M.websocket,Ce=Se!==void 0?Se!==D:!1,Ie=M.closed||Ce,ct=M.hasEverConnected;return Ie?void 0:ct?tn({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket reconnect failed"}},void 0,void 0):Ge(Fe._0)}let I=M.closed,F=M.hasEverConnected;if(!I)return F?tn({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket reconnect failed"}},void 0,void 0):Ge(P._0)};_o.contents=Ke;let tt=(w,C)=>{let P=M.ready;return new Promise((I,F)=>{let D=setTimeout(()=>I({TAG:"Error",_0:jB(h,w)}),Math.max(0,C-Date.now())|0);P.then(ie=>{clearTimeout(D),I(ie)})})},at=async(w,C,P,I)=>{let F=Date.now()+h,D=await tt(C,F);return D.TAG==="Ok"?await Be(w,C,P,F-Date.now(),I):{TAG:"Error",_0:D._0}},ut=async(w,C,P)=>{let I=P.registrationId,F;if(I!==void 0)F=I;else{let zt="join-registration-"+U.contents.toString();U.contents=U.contents+1|0,F=zt}let D=y[w],ie=D!==void 0?fn(D):[],pe=await at(w,"phx_join",Jt(w,ie.concat([C])),void 0);if(pe.TAG!=="Ok")return{TAG:"Error",_0:pe._0};let Fe=pe._0,Se=np(Fe);if(Se===void 0)return{TAG:"Error",_0:{TAG:"Failed",message:"phoenix join failed: "+tK(Fe)}};let Ce=y[w],Ie=Ce!==void 0?Ce:{},ct=Object.entries(Ie).length===0,Pe=P.rejoinPayload;if(Ie[F]={payload:Pe!==void 0?Pe:()=>C},y[w]=Ie,!(ct&&w.startsWith("local_runner:")))return{TAG:"Ok",_0:Se};let Oe=Or(w,Se);It(w,Se);let Zt=Oe?{TAG:"Ok",_0:void 0}:_e(w,Se);return Zt.TAG!=="Ok"?{TAG:"Error",_0:{TAG:"Failed",message:Zt._0}}:((de(Se.controls_truncated,!0)||Oe)&&Fn(w),{TAG:"Ok",_0:Se})},J={join:(w,C,P)=>ut(w,C,x(P,{rejoinPayload:void 0,registrationId:void 0})),unregisterJoin:(w,C)=>{let P=y[w];if(!(P===void 0||(cr(P,C),Object.entries(P).length!==0)))return cr(y,w),cr(v,w)},push:at,pushIfConnected:(w,C,P)=>M.connected?Be(w,C,P,h,void 0):Promise.resolve({TAG:"Error",_0:{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"NotConnected",message:"phoenix client is not connected"}}}),onControl:w=>{B.push(w)},onEvent:w=>{oe.push(w)},onReconnect:w=>{W.push(w)},onDisconnect:w=>{V.push(w)},forceReconnect:w=>M.closed||!M.connected?!1:(tn({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},void 0,x(w,"forced_stale_reconnect")),!0),hardReset:w=>{if(M.closed)return!1;tn({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},void 0,x(w,"hard_reset"));let C=M.reconnectTimer;return C!==void 0&&(clearTimeout(ue(C)),M.reconnectTimer=void 0),Ke(),!0},close:()=>Ge({TAG:"Transport",_0:{phase:"WaitForConnection",reason:"ClientClosed",message:"phoenix client closed"}})};j(),Ke();let K=await M.ready;return K.TAG==="Ok"?{TAG:"Ok",_0:J}:{TAG:"Error",_0:K._0}}function oK(e){let t=e.toLowerCase();return t.startsWith("gpt-")||t.startsWith("o1")||t.startsWith("o3")||t.startsWith("o4")||t.startsWith("o5")?!0:t.startsWith("codex")}function u$(e){let t=G(e,r=>r.trim());if(t!==void 0)switch(t){case"":case"default":return;case"fable-5":return"claude-fable-5";case"haiku":return"haiku";case"opus":return"opus";case"sonnet":return"sonnet";default:return oK(t)?"sonnet":t}}function Mu(e,t,r,n){let i=e.sourceSeq;if(i===void 0)return Promise.resolve();let o={};return o.workspace=e.workspace,o.channel=e.channel,o.thread_id=e.threadId,o.seq=i,o.status=t,r!==void 0&&(o.reason=r),n!==void 0&&(o.codex_thread_id=n),o.agent_provider="claude-code",e.pushEvent("message_state",o)}function c$(e){return{cwd:e.cwd,model:x(u$(e.model),""),reasoningEffort:void 0,developerInstructions:void 0,approvalPolicy:e.approvalPolicy,sandboxPolicy:e.sandbox,environment:{},mcpServers:G(e.mcp,t=>t.servers)}}var aK=["If you create files that should be attached back to Kandan, end your assistant response with:","Kandan attachments:","- relative/or/absolute/path/to/file","Only attach non-hidden files with common document, image, text, patch, archive, or video extensions."];function f$(e){return[e,""].concat(aK).join(`
350
- `)}function m$(e){return{model:x(u$(e.model),""),reasoningEffort:void 0,input:{text:f$(e.workDescription),attachments:[]}}}var AS={contents:0};function sK(){let e=Date.now()*1e3,t=AS.contents>=e?AS.contents+1:e;return AS.contents=t,t}function sp(e,t,r,n){let i={};i.workspace=e.workspace,i.channel=e.channel,i.thread_id=e.threadId,i.cwd=e.cwd,i.sessionId=t,i.subkey="root",i.sequence=sK(),i.entryType=r,i.payload=n,e.pushEvent("claude_session_store_append",i)}function p$(e,t){return r=>{switch(e.log("claude_code.session_event",Object.fromEntries([["thread_id",e.threadId],["kind",Nm(r)]])),r.TAG){case"SessionStarted":let n=r.harnessSessionId;t.contents=n;let i=e.sourceSeq;return sp(e,n,"session_started",Object.fromEntries([["prompt",f$(e.workDescription)],["threadId",e.threadId],["rootSeq",i!==void 0?i:null]]));case"ItemCompleted":let o=r.item;if(o.streamKind!=="assistant")return;let a=t.contents;return a!==void 0?sp(e,a,"assistant_message",Object.fromEntries([["itemKey",o.itemId],["body",r.content]])):void 0;case"TurnCompleted":let s=t.contents;s!==void 0&&(sp(e,s,"turn_completed",{}),sp(e,s,"session_completed",{})),Mu(e,"processed",void 0,t.contents);return;case"TurnFailed":Mu(e,"failed",r.failure.reason,t.contents);return;case"TurnInterrupted":Mu(e,"interrupted","Claude Code interrupted by Linzumi",t.contents);return;case"HarnessDied":Mu(e,"failed",r.failure.reason,t.contents);return;default:return}}}function h$(e,t){let r={};return r.workspace=e.workspace,r.channel=e.channel,r.thread_id=e.threadId,r.codex_thread_id=t,r.agent_provider="claude-code",e.pushEvent("session:bind",r)}function _$(e,t){return Mu(e,"processing","starting turn",t)}function rs(e){let t=e.mcp;if(t!==void 0)return t.cleanup()}async function g$(e){let t={contents:void 0};e.log("claude_code.turn_starting",Object.fromEntries([["linzumi_thread_id",e.threadId],["claude_session_id",null],["body_preview",e.workDescription.slice(0,120)],["message_received_at_ms",Date.now()]]));let r={contents:void 0},n=new Promise((l,d)=>{r.contents=l}),i=l=>{let d=r.contents;if(d!==void 0)return r.contents=void 0,d(l)},o=p$(e,t),a=l=>{switch(l.TAG){case"SessionStarted":i({TAG:"Ok",_0:l.harnessSessionId});break;case"TurnFailed":i({TAG:"Error",_0:l.failure.reason});break;case"HarnessDied":i({TAG:"Error",_0:l.failure.reason});break}o(l)},s=await e.adapter.startSession(c$(e),a);if(s.TAG==="Ok"){let l=s._0,d=await l.dispatchTurn(m$(e));if(d.TAG==="Ok"){let u=await n;if(u.TAG==="Ok"){let c=u._0;return t.contents=c,await h$(e,c),await _$(e,c),{TAG:"Ok",_0:{harnessSessionId:c,session:l,stop:async()=>(await l.stopSession(),rs(e))}}}return await l.stopSession(),rs(e),{TAG:"Error",_0:u._0}}return await l.stopSession(),rs(e),{TAG:"Error",_0:d._0.reason}}return rs(e),{TAG:"Error",_0:s._0.reason}}async function y$(e,t){let r={contents:t},n=await e.adapter.attachSession(t,c$(e),p$(e,r));if(n.TAG==="Ok"){let i=n._0;await h$(e,i.harnessSessionId);let o=await i.dispatchTurn(m$(e));return o.TAG==="Ok"?(await _$(e,i.harnessSessionId),{TAG:"Ok",_0:{harnessSessionId:i.harnessSessionId,session:i,stop:async()=>(await i.stopSession(),rs(e))}}):(await i.stopSession(),rs(e),{TAG:"Error",_0:o._0.reason})}return rs(e),{TAG:"Error",_0:n._0.reason}}var Lre=10*6e4;function dK(e,t){let r=setTimeout(e,t);return r.unref(),r}function uK(e){clearTimeout(e)}var ju={setTimer:dK,clearTimer:uK};var fK=["deterministic","transient_upstream","transient_local","rate_limited","needs_approval","needs_decision"],b$=Oc(fK);function lp(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 mK(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 CS(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="+x(e.model,"unspecified")+n}function PS(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 v$(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 pK=15*6e4,hK=30*6e4;function OS(e,t){let r=G(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 zu(e){return{maxRecoveryRungs:OS(e.LINZUMI_FATE_LADDER_MAX_RECOVERY_RUNGS,4),maxLadderMs:OS(e.LINZUMI_FATE_LADDER_BUDGET_MS,pK),maxRateLimitHoldMs:OS(e.LINZUMI_FATE_LADDER_MAX_HOLD_MS,hK)}}function _K(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 RS(e,t){return{fate:e,startedAtMs:t,rungCursor:0,cursorAttempts:0,recoveryRungsAttempted:0,holdCommitted:!1,holdDispatched:!1,userSwitchInvoked:!1,entries:[],historyTruncated:!1}}function en(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 gK(e){switch(e){case"budget_rungs_exhausted":case"budget_wall_clock_exhausted":case"rungs_exhausted":case"grant_unavailable":return!0;default:return!1}}function S$(e,t,r){if(e!=="transient_local"||r===void 0||!(r.backendDead&&gK(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 yK(e,t){switch(t){case"in_place_resume":return e.inPlaceResume;case"redispatch":return e.redispatch;case"worker_rebuild":return e.workerRebuild}}function w$(e){let t=e.grants,r=e.breaker,n=e.budgets,i=e.nowMs,o=e.fate;if(o===void 0)return{TAG:"Stand",cause:"no_fate"};let a=v$(o),s=e.run,l=s!==void 0?s:RS(o,i);if(typeof a!="object")switch(a){case"HoldUntilResetPolicy":if(l.holdCommitted)return{TAG:"Red",cause:"hold_already_committed",run:en(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:en(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:en(l,{rung:"HoldStep",outcome:"breaker_held",atMs:i,detail:p,resetAtMs:void 0})}}if(f===2)return{TAG:"HoldUntilReset",resetAtMs:d,run:en({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:en(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:en(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:en({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:en(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:en(l,{rung:"ClassificationStep",outcome:"no_rungs_by_design",atMs:i,detail:"classification: deterministic, no rungs attempted by design",resetAtMs:void 0})};case"NeverLaddersPolicy":return{TAG:"Stand",cause:"never_ladders"}}else{let d=a.rungs;if(l.recoveryRungsAttempted>=n.maxRecoveryRungs){let _=l.recoveryRungsAttempted.toString(),g=n.maxRecoveryRungs.toString();return{TAG:"Red",cause:"budget_rungs_exhausted",run:en(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:en(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?!yK(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:en(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:en(l,{rung:{TAG:"RungStep",_0:m.rung},outcome:"breaker_held",atMs:i,detail:_,resetAtMs:void 0})}}return{TAG:"ExecuteRung",rung:m.rung,run:en({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 k$(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:en({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:CS(r),resetAtMs:void 0,userSwitch:r})}}function IS(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 en(e,{rung:"UserSwitchStep",outcome:o,atMs:r,detail:i!==void 0?CS(n)+" - "+i:CS(n),resetAtMs:void 0,userSwitch:n})}function dp(e,t,r,n){let i=n!==void 0?ue(n):void 0,o=v$(t),a=c=>{let f={};f.rung=_K(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},s=e!==void 0?e.entries.slice(0,16).map(a):[],l={};l.fate=t,l.policy=mK(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=PS(i));let u;if(u=t==="deterministic"?s.length===0:!1,u){let c={};c.rung="classification",c.outcome="no_rungs_by_design",c.at_ms=0,c.detail="classification: deterministic, no rungs attempted by design",l.entries=[c]}else l.entries=s;return l}var x$="switching this job to another harness at the user's request";function vK(e){let t=e.item,n=(typeof t=="object"&&t!==null&&!Array.isArray(t)?t:e).type,i=n!==void 0?xr(n):void 0;if(i!==void 0)switch(i){case"contextCompaction":return"compacting conversation history";case"commandExecution":case"terminalInput":return"running terminal command";case"agentMessage":case"fileChange":case"reasoning":case"webSearch":case"webSearchCall":case"web_search_call":return"streaming response";default:return}}function $S(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":vK(t)}}var wK=En(e=>({decision:e.f("decision",At),label:e.f("label",At),description:e.f("description",pr(At))})),kK=En(e=>({requestId:e.f("requestId",At),kind:e.f("kind",At),summary:e.f("summary",At),reason:e.f("reason",pr(At)),port:e.f("port",pr(Rs)),pid:e.f("pid",pr(Rs)),command:e.f("command",pr(At)),cwd:e.f("cwd",pr(At)),processName:e.f("processName",pr(At)),processIconKey:e.f("processIconKey",pr(At)),processIconPath:e.f("processIconPath",pr(At)),choices:e.f("choices",pr(Ac(wK))),allowedActorSlug:e.f("allowedActorSlug",pr(At)),allowedActorUserId:e.f("allowedActorUserId",pr(Rs))})),xK=Oc(["starting turn","streaming response","running terminal command","interrupt requested","retrying empty turn","model stream stalled - resuming automatically from the last streamed checkpoint","upstream outage detected - recovery paused, resuming automatically","compacting conversation history","awaiting approval"]),Ure=j0([En(e=>(e.tag("status","queued"),{TAG:"Queued",reason:e.f("reason",pr(At))})),En(e=>(e.tag("status","processed"),{TAG:"Processed",reason:e.f("reason",pr(At))})),En(e=>(e.tag("status","processing"),{TAG:"Processing",reason:e.f("reason",xK),approval:e.f("approval",pr(kK))})),En(e=>(e.tag("status","ignored"),{TAG:"Ignored",reason:e.f("reason",At)})),En(e=>(e.tag("status","failed"),{TAG:"Failed",reason:e.f("reason",At),retryable:e.f("retryable",pr(I0)),fate:e.f("fate",pr(b$))})),En(e=>(e.tag("status","interrupted"),{TAG:"Interrupted",reason:e.f("reason",At)}))]);function AK(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(`
351
- `)}function T$(e){let t=e.body.trimStart();return t.startsWith("!")?t:AK(e)}var O$="codex";function EK(e,t,r){return gS(O$,e,t,r)}function PK(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 A$(e){return ze(e,t=>{if(typeof t=="string")return t})}function RK(e){let t=ti(e,"type");if(t===void 0)return"";switch(t){case"collabAgentToolCall":return x(ti(e,"prompt"),"");case"commandExecution":return x(ti(e,"aggregatedOutput"),"");case"dynamicToolCall":return rn(ts(e,"contentItems"),"",Eu);case"fileChange":return rn(ts(e,"changes"),[],i=>ze(i,o=>{if(typeof o=="object"&&o!==null&&!Array.isArray(o))return ti(o,"path")})).join(`
352
- `);case"mcpToolCall":return rn(k(_S(e,"result"),i=>ts(i,"content")),"",Eu);case"reasoning":let r=rn(ts(e,"summary"),[],A$),n=rn(ts(e,"content"),[],A$);return r.concat(n).filter(i=>i!=="").join(`
349
+ `)}function XI(e){return{kind:e.kind,seq:e.seq,at:e.at,harness:e.harness,body:e.body,structured:G(e.structured,t=>t),actor:G(e.actor,t=>t),attachments:e.attachments,sourceSeq:e.sourceSeq,streamKey:e.streamKey}}function QI(e){return{model:e.model,contextWindow:e.contextWindow,maxEmissionTokens:e.maxEmissionTokens}}function RB(e){let t=ke(e);if(t===void 0)return;let r=ho(t,"kind"),n=Jo(t,"seq");if(r!==void 0&&n!==void 0)return{kind:r,seq:n,at:ho(t,"at"),harness:x(ho(t,"engine"),"none"),body:x(ho(t,"body"),""),structured:rp(t,"structured"),actor:rp(t,"actor"),attachments:x(BI(t,"attachments"),[]),sourceSeq:Jo(t,"source_seq"),streamKey:ho(t,"stream_key")}}function IB(e){let t=ke(e);if(t===void 0)return;let r=Jo(t,"context_window"),n=Jo(t,"max_emission_tokens");if(r!==void 0&&n!==void 0&&n>0)return{model:ho(t,"model"),contextWindow:r,maxEmissionTokens:n}}function $B(e){let t=Jo(e,"ir_version"),r=BI(e,"nodes");if(t===void 0||r===void 0)return;let n=e.has_more,i;return i=n===!0,{threadTitle:ho(e,"thread_title"),nodes:$e(r,RB),hasMore:i,cursor:Jo(e,"cursor"),budget:k(e.budget,IB)}}async function e$(e,t,r,n){let i=r.workspace,o=r.channel,a=r.threadId;if(i===void 0||o===void 0||a===void 0)return;let s=[],l,d,u,c=0,f=0,p;for(;mn(p)&&f<20;){let h={};h.workspace=i,h.channel=o,h.thread_id=a;let _=u;_!==void 0&&(h.cursor=_);let b=await e(t,"session:thread_transcript",h);if(b.TAG==="Ok"){let y=b._0,v=KI(y);if(v!==void 0){let S=$B(v);if(S!==void 0){l=cs(l,S.budget),d=cs(d,S.threadTitle),s=S.nodes.concat(s),c=c+Ve(S.nodes,0,(W,L)=>L.kind==="reasoning"?W:W+L.body.length);let A=l,R=A!==void 0?c/4>=A.maxEmissionTokens:!1;!S.hasMore||mn(S.cursor)||R?p=Ze({nodes:s,budget:l,threadTitle:d}):(u=S.cursor,f=f+1|0)}else p=Ze(f===0?void 0:{nodes:s,budget:l,threadTitle:d})}else n("kandan.reconnect_thread_transcript_fetch_failed",Object.fromEntries([["thread_id",a],["page",f],["reply",JSON.stringify(y).slice(0,300)]])),p=Ze(f===0?void 0:{nodes:s,budget:l,threadTitle:d})}else n("kandan.reconnect_thread_transcript_fetch_failed",Object.fromEntries([["thread_id",a],["message",b._0]])),p=Ze(void 0)}let m=p;return m!==void 0?ue(m):{nodes:s,budget:l,threadTitle:d}}function MB(e,t){return"Codex "+e+" did not reply within "+t.toString()+"ms (start request timed out)"}function wS(e,t,r,n){return t<=0?n:new Promise((i,o)=>{let a=e.setTimer(()=>i({TAG:"Error",_0:MB(r,t)}),t);n.then(s=>(e.clearTimer(a),i(s),Promise.resolve()))})}function SS(e){return e==="ResumeArchived"?"resume_archived":"forced_inject_not_found"}var jB="the server marked the durable engine session dead after an acknowledged-but-unexecuted turn";async function t$(e,t,r,n,i,o){let a={};a.threadId=n,Object.entries(i).forEach(m=>{a[m[0]]=m[1]});let s=a,l=(m,h)=>wS(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",SS(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",s);if(A.TAG!=="Ok")return{TAG:"Error",_0:A._0};let R=A._0;return R.TAG==="ResultReply"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:"thread/resume after unarchive failed: "+R.message}})();if(g.TAG==="Ok")return o.log("kandan.reconnect_thread_unarchive_resumed",Object.fromEntries([["codex_thread_id",n],["discovered_by",SS(m)]])),{TAG:"Ok",_0:"Resumed"};let b=g._0;o.log("kandan.reconnect_thread_unarchive_failed",Object.fromEntries([["codex_thread_id",n],["discovered_by",SS(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 L=await g(m);L.TAG==="Ok"?b=L._0:(o.log("kandan.reconnect_thread_rehydration_items_failed",Object.fromEntries([["codex_thread_id",n],["message",L._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 L=await o.buildRehydrationText(m);y=L.TAG==="Ok"?{TAG:"Ok",_0:[Object.fromEntries([["type","agentMessage"],["text",L._0]])]}:{TAG:"Error",_0:L._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 L=await l("thread/resume",s);if(L.TAG!=="Ok")return{TAG:"Error",_0:L._0};let ae=L._0;return ae.TAG==="ResultReply"?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:"rehydrated thread/resume failed: "+ae.message}}let R=A.message;if(!(o.forceRehydrate&&GP(R)))return{TAG:"Error",_0:"thread/inject_items failed: "+R};let W=await d("ForcedInjectNotFound",R);return W.TAG==="Ok"?{TAG:"Ok",_0:W._0}:{TAG:"Error",_0:W._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(jB);let c=await l("thread/resume",s);if(c.TAG!=="Ok")return{TAG:"Error",_0:{message:c._0}};let f=c._0;if(f.TAG==="ResultReply")return{TAG:"Ok",_0:"Resumed"};let p=f.message;return NP(p)?await d("ResumeArchived",p):await u(p)}var GB=G0(e=>({joinRef:e.item(0,hh(At)),ref:e.item(1,hh(At)),topic:e.item(2,At),event:e.item(3,At),payload:e.item(4,M0)}));function r$(e){return Is(e,GB)}function ip(e){let t=Sr(e);return t!==void 0?x(Er(ue(t)),"unknown error"):"unknown error"}function DB(e){let t=k(Sr(e),r=>Ow(r));return t!==void 0?t:null}function ri(e){return e.TAG==="Transport"?e._0.message:e.message}function qB(e,t){return{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"TimeoutReason",message:"phoenix push timed out after "+e.toString()+"ms waiting for connection: "+t}}}function LB(e,t){return{TAG:"Transport",_0:{phase:"Reply",reason:"TimeoutReason",message:"phoenix push timed out after "+e.toString()+"ms: "+t}}}function o$(e){return e.TAG==="Transport"?e._0.phase==="WaitForConnection":!1}function a$(e){return{initial:t=>e.initial(t),onAdvance:(t,r)=>e.onAdvance(t,r),reset:(t,r)=>e.reset(t,r)}}function s$(e){return{current:t=>e.current(),adopt:(t,r)=>e.adopt(t,r)}}var UB="base64url.bearer.phx.";function WB(e){let t;t=typeof e=="object"&&e!==null&&!Array.isArray(e)?zm(e):e;let r=JSON.stringify(t);return r.length<=400?r:r.slice(0,400)+"\u2026"}var ZB=new RegExp("/$");function VB(e){let t=Ln(e);if(t===void 0)return{TAG:"Error",_0:"Invalid URL"};let r=ue(t);switch(r.protocol){case"http:":r.protocol="ws:";break;case"https:":r.protocol="wss:";break}return r.pathname=r.pathname.replace(ZB,"")+"/socket/websocket",r.searchParams.set("vsn","2.0.0"),{TAG:"Ok",_0:r.toString()}}function HB(e){return[UB+Fw(e),"phoenix"]}var l$="[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?<![\\uD800-\\uDBFF])[\\uDC00-\\uDFFF]",Ru=new RegExp(l$),Iu=new RegExp(l$,"g"),$u="\uFFFD";function kS(e){if(Array.isArray(e))return e.some(kS);if(e===null)return!1;switch(typeof e){case"string":return Ru.test(e);case"object":return Object.entries(e).some(t=>Ru.test(t[0])?!0:kS(t[1]));default:return!1}}function xS(e){if(Array.isArray(e))return e.map(xS);if(e===null)return e;switch(typeof e){case"string":return e.replace(Iu,$u);case"object":return Object.fromEntries(Object.entries(e).map(t=>[t[0].replace(Iu,$u),xS(t[1])]));default:return e}}function BB(e){return Object.entries(e).some(t=>Ru.test(t[0])?!0:kS(t[1]))}function KB(e){return Object.fromEntries(Object.entries(e).map(t=>[t[0].replace(Iu,$u),xS(t[1])]))}function JB(e,t,r){return Ru.test(e)||Ru.test(t)?!0:BB(r)}function YB(e,t,r){return{frameTopic:e.replace(Iu,$u),frameEvent:t.replace(Iu,$u),framePayload:KB(r)}}function n$(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 XB(e){let t;try{t={TAG:"Ok",_0:JSON.parse(e)}}catch(n){let i=ee(n);t={TAG:"Error",_0:ip(i)}}if(t.TAG!=="Ok")return{TAG:"Error",_0:t._0};let r=r$(t._0);return r.TAG==="Ok"?{TAG:"Ok",_0:r._0}:{TAG:"Error",_0:"invalid Phoenix frame"}}function d$(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function ap(e,t){return k(e,r=>{let n=r[t];if(typeof n=="object"&&n!==null&&!Array.isArray(n))return n})}function Rl(e,t){return k(e,r=>{let n=r[t];if(typeof n=="string")return n})}function np(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 QB(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?nn(e.status,"ok"):!1}function eK(e){return typeof e!="object"||e===null||Array.isArray(e)?!1:typeof e.type=="string"}function op(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&Ot(r))return r}function i$(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return op(e,"control_seq")}function tK(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"&&Ot(n)?{event:t,payload:r,controlSeq:n}:void 0:{event:t,payload:r,controlSeq:void 0}}var rK="npm install -g @linzumi/cli@latest",nK=new RegExp("^npm install -g @linzumi\\/cli(@[0-9A-Za-z^~.-]{1,32})?$"),iK=new RegExp("^\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]{1,32})?$");function oK(e){return e!==void 0&&typeof e=="string"&&e.length<=100&&nK.test(e)?e:rK}function aK(e){return e!==void 0&&typeof e=="string"&&e.length<=64&&iK.test(e)?"@linzumi/cli "+e+" or newer":"a newer @linzumi/cli"}function TS(e){let t=d$(e),r=ap(t,"response"),n=Rl(r,"error");if(n!==void 0)return n;let i=Rl(r,"reason");if(i!==void 0)return i;let o=Rl(r,"message");if(o!==void 0)return o;let a=Rl(t,"error");return t!==void 0?a!==void 0?a:"unknown":"invalid reply"}function sK(e){let t=ap(d$(e),"response");if(t===void 0||!de(t.error,"commander_version_too_old"))return TS(e);let r=aK(t.min_version),n=oK(t.upgrade_command);return"commander_version_too_old: this Linzumi server requires "+r+". Update with: "+n}function lK(e){let t=e;if(Rl(t,"agent_provider")==="claude-code")return"claude-code-sdk";let n=ap(t,"metadata"),i=ap(n,"local_codex_runner");return Rl(i,"agent_provider")==="claude-code"?"claude-code-sdk":"codex-app-server"}function dK(e,t){let r;try{r=e.initial(t)}catch{r=void 0}if(r!==void 0&&Ot(r)&&r>=0)return r}function uK(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 u$(e,t,r,n){let i=n!==void 0?n:{},o=r!==void 0?r:Gm,a;a=t.TAG==="Token"?t._0:void 0;let s={contents:a},l=()=>{if(t.TAG==="Token")return{TAG:"Ok",_0:t._0};let w;try{w=t._0()}catch{w=void 0}if(w!==void 0&&w.trim()!=="")return s.contents=w,{TAG:"Ok",_0:w};let C=s.contents;return C!==void 0?{TAG:"Ok",_0:C}:{TAG:"Error",_0:{TAG:"Failed",message:"phoenix token provider returned no usable token"}}},d=i.onOperatorNotice,u=d!==void 0?d:w=>{console.error(w)},c=i.auditEvent,f=c!==void 0?c:(w,C)=>{},p=i.onPushRecorded,m=p!==void 0?p:w=>{},h=x(i.pushTimeoutMs,3e4),_=i.controlCursorStore,g=i.controlEpochStore,b={},y={},v={},S={},A={},R={},W={},L={},ae=new Set,U={contents:1},B=[],oe=[],Z=[],V=[],M={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},N=w=>{let C=Object.entries(b);C.forEach(P=>fr(b,P[0])),C.forEach(P=>{let I=P[1];clearTimeout(I.timer),I.settle({TAG:"Error",_0:w})})},j=()=>{if(M.settleReady!==void 0)return;let C={contents:void 0};M.ready=new Promise((P,I)=>{C.contents=P}),M.settleReady=C.contents},re=()=>{let w=M.settleReady;w!==void 0&&w({TAG:"Ok",_0:void 0}),M.settleReady=void 0},se=w=>{let C=M.settleReady;C!==void 0&&C({TAG:"Error",_0:w}),M.settleReady=void 0},Ae=()=>{let w=M.heartbeatTimer;if(w!==void 0){clearInterval(ue(w)),M.heartbeatTimer=void 0;return}},Ue=()=>{let w=M.backoffResetTimer;if(w!==void 0){clearTimeout(ue(w)),M.backoffResetTimer=void 0;return}},Ge=w=>{M.closed=!0;let C=M.reconnectTimer;C!==void 0&&(clearTimeout(ue(C)),M.reconnectTimer=void 0),Ae(),Ue();let P=M.websocket;P!==void 0&&P.close(),se(w),N({TAG:"Transport",_0:{phase:"Reply",reason:"ClientClosed",message:"phoenix client closed"}})},ut=w=>x(L[w],0),ze=w=>{fr(S,w),fr(A,w),fr(R,w),fr(W,w),L[w]=ut(w)+1|0},pt=(w,C)=>{let P=S[w];if(P!==void 0){if(C===P+1){let D=P+1,ie=A[w];if(ie!==void 0)for(;ie.has(D+1);)D=D+1,ie.delete(D);S[w]=D;return}let I=A[w],F;if(I!==void 0)F=I;else{let D=new Set;A[w]=D,F=D}F.add(C);return}S[w]=C},Xe=(w,C)=>{let P=i$(C);if(P===void 0)return!0;let I=S[w],F=I!==void 0?P<=I:!1,D=A[w],ie=D!==void 0?D.has(P):!1;return F||ie?!1:(pt(w,P),!0)},He=(w,C)=>{if(_!==void 0)try{return _.onAdvance(w,C)}catch{return}},It=(w,C)=>{if(!w.startsWith("local_runner:"))return;let P=op(C,"control_high_water");if(P===void 0)return;let I=S[w];if(I!==void 0&&P<I){ze(w);let F=0;if(_===void 0)return;let D=_.reset;if(D===void 0)return;try{return D(w,F)}catch{return}}},Cr=(w,C)=>{let P=w.startsWith("local_runner:");if(g===void 0||!P)return!1;let I=C.control_epoch;if(I===void 0||typeof I!="string"||I==="")return!1;let F;try{F=g.adopt(w,I)}catch{F=!1}return F&&ze(w),F},Ut=w=>{let C=S[w];if(C!==void 0)return C;if(_===void 0)return;let P=dK(_,w);return P!==void 0?(S[w]=P,P):0},Qe=new Set,q=(w,C,P,I)=>{try{let F=!1;if(w.startsWith("local_runner:")&&C==="control"&&eK(I)){let D;if(Xe(w,I)){let ie=i$(I);if(ie!==void 0){let Se=R[w],Ce;if(Se!==void 0)Ce=Se;else{let Ie=new Set;R[w]=Ie,Ce=Ie}Ce.add(ie)}let pe=ut(w),Fe=ie!==void 0?()=>{if(pe!==ut(w))return;let Se=R[w];Se!==void 0&&Se.delete(ie);let Ce=W[w];Ce!==void 0&&ie<=Ce||(W[w]=ie);let Ie=k(Se,Wt=>Ve(Wt.values().toArray(),void 0,(zt,br)=>zt!==void 0&&zt<=br?zt:br)),ft=Ie!==void 0?Ie-1:W[w];if(ft===void 0)return;let Pe=S[w],Oe=Pe!==void 0&&Pe<ft?Pe:ft;He(w,Oe)}:()=>{};B.forEach(Se=>Se(I,Fe)),D=!1}else D=!0;F=D}if(!F&&P===void 0&&C!=="phx_reply"&&C!=="phx_error"){oe.forEach(D=>D(w,C,I));return}else return}catch(F){let D=ee(F),ie=ip(D);try{f("phoenix.pushed_frame_dispatch_failed",Object.fromEntries([["topic",w],["frame",C],["message",ie],["stack",DB(D)],["payloadSnippet",WB(I)],["dropped",!0]]))}catch{}if(Qe.has(C))return;Qe.add(C);try{return u('linzumi: dropped a pushed "'+C+'" frame on '+w+" whose dispatch failed ("+ie+"); see the CLI audit log for the payload snippet.")}catch{return}}},Ee=(w,C)=>{let P=S[w],I={contents:P!==void 0&&P>=C?P:C},F=A[w];if(F!==void 0)for(F.values().toArray().forEach(D=>{if(D<=I.contents){F.delete(D);return}});F.has(I.contents+1);)I.contents=I.contents+1,F.delete(I.contents);S[w]=I.contents},ve=w=>{let C=S[w];if(C===void 0)return;let P=R[w],I=P!==void 0&&P.size>0?G(Ve(P.values().toArray(),void 0,(F,D)=>F!==void 0&&F<=D?F:D),F=>F-1):void 0;He(w,I!==void 0&&I<C?I:C)},_e=(w,C)=>{if(w.startsWith("chat:")){let P=C.events;return P===void 0?{TAG:"Ok",_0:void 0}:P===null?{TAG:"Ok",_0:void 0}:Array.isArray(P)?(P.forEach(I=>{oe.forEach(F=>F(w,"event",I))}),{TAG:"Ok",_0:void 0}):{TAG:"Error",_0:"phoenix rejoin returned invalid events for "+w}}else{if(!w.startsWith("local_runner:"))return{TAG:"Ok",_0:void 0};let P=C.controls;if(P===void 0)return{TAG:"Ok",_0:void 0};if(P===null)return{TAG:"Ok",_0:void 0};if(!Array.isArray(P))return{TAG:"Error",_0:"phoenix rejoin returned invalid controls for "+w};P.forEach(F=>{let D=tK(F);if(D===void 0)return;let ie={};Object.entries(D.payload).forEach(Fe=>{ie[Fe[0]]=Fe[1]}),ie.replayed=!0;let pe=D.controlSeq;pe!==void 0&&(ie.control_seq=pe),q(w,D.event,void 0,ie)});let I=op(C,"controls_advance_to");if(I!==void 0){let F=C.control_high_water;typeof F=="number"&&I>F||Ee(w,I)}return ve(w),{TAG:"Ok",_0:void 0}}},Be=(w,C,P,I,F)=>{let D=M.websocket;if(D===void 0)return Promise.resolve({TAG:"Error",_0:{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"SocketNotOpen",message:"phoenix websocket is not open"}}});if(D.readyState()!==Xa)return Promise.resolve({TAG:"Error",_0:{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"SocketNotOpen",message:"phoenix websocket is not open"}}});let ie=M.nextRef.toString();M.nextRef=M.nextRef+1|0,C==="phx_join"&&(v[w]=ie);let pe=C==="phx_join"?ie:v[w],Fe=jm(P),Se;if(JB(w,C,Fe)){let gr=YB(w,C,Fe);f("phoenix.outbound_frame_lone_surrogate_sanitized",Object.fromEntries([["purpose","phoenix.send_totality"],["topic",gr.frameTopic],["frame_event",gr.frameEvent]])),Se=gr}else Se={frameTopic:w,frameEvent:C,framePayload:Fe};let Ce=Se.framePayload,Ie=ie,ft=Se.frameTopic,Pe=Se.frameEvent,zt=n$({joinRef:pe,ref:Ie,topic:ft,event:Pe,payload:Ce}),br=Math.max(0,Math.ceil(I))|0;return new Promise((gr,or)=>{let Nt=setTimeout(()=>{if(b[ie]!==void 0)return fr(b,ie),gr({TAG:"Error",_0:LB(br,C)})},br);b[ie]={event:C,timer:Nt,settle:gr};try{m({provider:lK(Ce),rawFrameText:zt,topic:w,event:C,payload:Ce})}catch{}let ar;try{ar={TAG:"Ok",_0:D.send(zt)}}catch(Gt){let Ft=ee(Gt);ar={TAG:"Error",_0:ip(Ft)}}return ar.TAG==="Ok"?F!==void 0?F():void 0:gr({TAG:"Error",_0:{TAG:"Failed",message:ar._0}})})},Jt=(w,C)=>{let P={};if(C.forEach(I=>{Object.entries(I).forEach(F=>{let D=F[1],ie=F[0],pe=ie==="last_seq",Fe=P[ie];if(pe&&typeof Fe=="number"&&typeof D=="number"){P[ie]=D<Fe?D:Fe;return}if(Fe===void 0){P[ie]=D;return}})}),w.startsWith("local_runner:")){let I=Ut(w);I!==void 0&&(P.last_control_seq=I);let F=uK(g,w);F!==void 0&&(P.last_control_epoch=F)}return P},fn=w=>Object.entries(w).map(C=>C[1].payload()),ki=async w=>{let C=0,P=0,I=!0;for(;I;){let F=y[w];if(F!==void 0){let D=Ut(w),ie=await Be(w,"phx_join",Jt(w,fn(F)),h,void 0);if(C=C+1|0,ie.TAG==="Ok"){let pe=np(ie._0);if(pe!==void 0){let Fe=pe.controls,Se=Array.isArray(Fe)?Fe.length:0;P=P+Se|0;let Ce=de(pe.controls_truncated,!0),Ie=Ut(w),ft;if(Ce){let Pe=op(pe,"control_high_water");ft=Pe!==void 0&&Ie!==void 0?Pe-Ie>0?Pe-Ie:0:void 0}else ft=0;if(f("phoenix.control_backlog_fetch_progress",Object.fromEntries([["topic",w],["fetches",C],["fetched",P],["remaining_estimate",ft!==void 0?ft:null],["truncated",Ce]])),Ce)if(de(Ie,D)){let Pe=Ie!==void 0?Ie.toString():"undefined";u("phoenix.control_backlog_fetch_stalled topic="+w+" fetches="+C.toString()+" fetched="+P.toString()+" cursor="+Pe+"; a truncated reply made no cursor progress - stopping this fetch loop (a server paging bug; the next reconnect resumes from the watermark)"),I=!1}else{if(C%20===0){let Oe=ft!==void 0?ft.toString():"unknown";u("phoenix.control_backlog_cap_exceeded topic="+w+" fetches="+C.toString()+" fetched="+P.toString()+" remaining_estimate="+Oe+"; continuing the paginated backlog fetch (a healthy connection never reconnects, so nothing is deferred)")}await new Promise((Oe,Wt)=>{setImmediate(()=>Oe())})}else I=!1}else I=!1}else I=!1}else I=!1}},Fn=w=>{if(!ae.has(w)){ae.add(w),zn(ki(w).then(()=>{ae.delete(w)}),C=>(ae.delete(w),Promise.resolve()));return}},ii={},Vr=async()=>{Object.entries(ii).forEach(F=>fr(ii,F[0]));let w=Object.entries(y),C,P=0;for(;C===void 0&&P<w.length;){let F=w[P];if(F!==void 0){let D=F[0],ie=await Be(D,"phx_join",Jt(D,fn(F[1])),h,void 0);if(ie.TAG==="Ok"){let pe=np(ie._0);pe!==void 0?ii[D]=pe:C={TAG:"Failed",message:"phoenix rejoin failed for "+D}}else C=ie._0}P=P+1|0}let I=C;return I!==void 0?{TAG:"Error",_0:I}:{TAG:"Ok",_0:void 0}},_o={contents:()=>Promise.resolve()},ra=()=>{let w=M.closed,C=M.reconnectTimer;if(w||C!==void 0)return;j();let P=Math.min(1e4,250*2**M.reconnectAttempts);M.reconnectAttempts=M.reconnectAttempts+1|0,M.reconnectTimer=Ze(setTimeout(()=>{M.reconnectTimer=void 0,_o.contents()},Math.random()*P|0))},tn=(w,C,P)=>{let I=M.connected,F=M.connectedAt;M.connectedAt=void 0,M.connected=!1;let D=M.websocket;if(M.websocket=void 0,Ae(),Ue(),D!==void 0&&(D.readyState()===CP||D.readyState()===Xa))try{D.close()}catch{}if(N(w),ra(),!I)return;let ie;ie=P!==void 0&&P!==""?P:void 0;let pe=G(F,Ce=>Math.max(0,Date.now()-Ce)),Fe=M.reconnectAttempts,Se={closeCode:C,closeReason:ie,previousSessionDurationMs:pe,reconnectCount:Fe};V.forEach(Ce=>{try{return Ce(Se)}catch{return}})},H=()=>{Ae(),M.heartbeatTimer=Ze(setInterval(()=>{let w=M.websocket;if(w===void 0||w.readyState()!==Xa)return;let C=M.nextRef.toString();M.nextRef=M.nextRef+1|0;let F={joinRef:void 0,ref:C,topic:"phoenix",event:"heartbeat",payload:{}};try{return w.send(n$(F))}catch{return}},3e4))},te=()=>{Ue();let w=setTimeout(()=>{if(M.backoffResetTimer=void 0,M.connected){M.reconnectAttempts=0;return}},3e4);w.unref(),M.backoffResetTimer=Ze(w)},ne=(w,C)=>new Promise((P,I)=>{let F={contents:void 0},D=ie=>{let pe=F.contents;pe!==void 0&&(clearTimeout(ue(pe)),F.contents=void 0),P(ie)};w.on("SocketOpen",ie=>D({TAG:"Ok",_0:void 0})),w.on("SocketError",ie=>D({TAG:"Error",_0:"websocket open failed"})),w.on("SocketClose",ie=>D({TAG:"Error",_0:"websocket closed before open"})),F.contents=Ze(setTimeout(()=>{F.contents=void 0,D({TAG:"Error",_0:"websocket open timed out after "+C.toString()+"ms"})},C))}),Ke=async()=>{if(M.closed)return;let w=l(),C=VB(e),P;if(w.TAG==="Ok")if(C.TAG==="Ok"){let D;try{D={TAG:"Ok",_0:o(C._0,HB(w._0))}}catch(ie){let pe=ee(ie);D={TAG:"Error",_0:{TAG:"Failed",message:ip(pe)}}}P=D.TAG==="Ok"?{TAG:"Ok",_0:D._0}:{TAG:"Error",_0:D._0}}else P={TAG:"Error",_0:{TAG:"Failed",message:C._0}};else P={TAG:"Error",_0:w._0};if(P.TAG==="Ok"){let D=P._0;M.websocket=D,D.on("SocketMessage",Pe=>{let Oe=M.websocket;if(Oe!==void 0&&Oe===D){let Wt=XB(x(Pe.data,"undefined"));if(Wt.TAG==="Ok"){let zt=Wt._0,br=zt.payload,gr=zt.event,or=zt.topic,Nt=zt.ref;if(Nt!==void 0&&(gr==="phx_reply"||gr==="phx_error")){let Gt=b[Nt];if(Gt!==void 0){fr(b,Nt),clearTimeout(Gt.timer);let Ft=gr==="phx_error",vr=QB(br)&&Gt.event!=="phx_join";if(Ft)Gt.settle({TAG:"Error",_0:{TAG:"Failed",message:"phoenix push failed"}});else if(vr)Gt.settle({TAG:"Error",_0:{TAG:"Failed",message:"phoenix push failed: "+TS(br)}});else{let Hr=y[or],oi=np(br),ai;if(Hr!==void 0&&oi!==void 0&&Gt.event==="phx_join"){let Bl=Cr(or,oi);It(or,oi);let Kl=Bl?{TAG:"Ok",_0:void 0}:_e(or,oi);Kl.TAG==="Ok"?(or.startsWith("local_runner:")&&(de(oi.controls_truncated,!0)||Bl)&&Fn(or),ai=!1):(Gt.settle({TAG:"Error",_0:{TAG:"Failed",message:Kl._0}}),ai=!0)}else ai=!1;ai||Gt.settle({TAG:"Ok",_0:br})}}}return q(or,gr,Nt,br)}else return f("phoenix.frame_decode_failed",Object.fromEntries([["message",Wt._0],["dropped",!0]]))}}),D.on("SocketClose",Pe=>{let Oe=M.websocket;if(Oe!==void 0&&Oe===D)return tn({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},Pe.code,Pe.reason)}),D.on("SocketError",Pe=>{let Oe=M.websocket;if(Oe!==void 0&&Oe===D)return tn({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},void 0,void 0)});let ie=await ne(D,h),pe=()=>{if(M.closed)return!0;let Pe=M.websocket;return Pe!==void 0?Pe!==D:!1},Fe;if(ie.TAG==="Ok")if(pe())Fe={TAG:"Ok",_0:!1};else{M.connectionGeneration=M.connectionGeneration+1|0;let Pe=await Vr();Fe=Pe.TAG==="Ok"?pe()?{TAG:"Ok",_0:!1}:{TAG:"Ok",_0:!0}:{TAG:"Error",_0:Pe._0}}else Fe={TAG:"Error",_0:{TAG:"Failed",message:ie._0}};if(Fe.TAG==="Ok"){if(!Fe._0||(M.connected=!0,M.connectedAt=Date.now(),M.hasEverConnected=!0,te(),H(),re(),M.connectionGeneration<=1))return;let Pe={};Object.entries(ii).forEach(Wt=>{Pe[Wt[0]]=Wt[1]});let Oe={contents:!1};return Z.forEach(Wt=>{if(Oe.contents)return;let zt;try{zt={TAG:"Ok",_0:Wt(Pe)}}catch{zt={TAG:"Error",_0:void 0}}if(zt.TAG!=="Ok"){Oe.contents=!0;return}zn(zt._0,br=>Promise.resolve())}),Oe.contents&&!M.closed?tn({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket reconnect failed"}},void 0,void 0):void 0}let Se=M.websocket,Ce=Se!==void 0?Se!==D:!1,Ie=M.closed||Ce,ft=M.hasEverConnected;return Ie?void 0:ft?tn({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket reconnect failed"}},void 0,void 0):Ge(Fe._0)}let I=M.closed,F=M.hasEverConnected;if(!I)return F?tn({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket reconnect failed"}},void 0,void 0):Ge(P._0)};_o.contents=Ke;let tt=(w,C)=>{let P=M.ready;return new Promise((I,F)=>{let D=setTimeout(()=>I({TAG:"Error",_0:qB(h,w)}),Math.max(0,C-Date.now())|0);P.then(ie=>{clearTimeout(D),I(ie)})})},at=async(w,C,P,I)=>{let F=Date.now()+h,D=await tt(C,F);return D.TAG==="Ok"?await Be(w,C,P,F-Date.now(),I):{TAG:"Error",_0:D._0}},ct=async(w,C,P)=>{let I=P.registrationId,F;if(I!==void 0)F=I;else{let zt="join-registration-"+U.contents.toString();U.contents=U.contents+1|0,F=zt}let D=y[w],ie=D!==void 0?fn(D):[],pe=await at(w,"phx_join",Jt(w,ie.concat([C])),void 0);if(pe.TAG!=="Ok")return{TAG:"Error",_0:pe._0};let Fe=pe._0,Se=np(Fe);if(Se===void 0)return{TAG:"Error",_0:{TAG:"Failed",message:"phoenix join failed: "+sK(Fe)}};let Ce=y[w],Ie=Ce!==void 0?Ce:{},ft=Object.entries(Ie).length===0,Pe=P.rejoinPayload;if(Ie[F]={payload:Pe!==void 0?Pe:()=>C},y[w]=Ie,!(ft&&w.startsWith("local_runner:")))return{TAG:"Ok",_0:Se};let Oe=Cr(w,Se);It(w,Se);let Wt=Oe?{TAG:"Ok",_0:void 0}:_e(w,Se);return Wt.TAG!=="Ok"?{TAG:"Error",_0:{TAG:"Failed",message:Wt._0}}:((de(Se.controls_truncated,!0)||Oe)&&Fn(w),{TAG:"Ok",_0:Se})},J={join:(w,C,P)=>ct(w,C,x(P,{rejoinPayload:void 0,registrationId:void 0})),unregisterJoin:(w,C)=>{let P=y[w];if(!(P===void 0||(fr(P,C),Object.entries(P).length!==0)))return fr(y,w),fr(v,w)},push:at,pushIfConnected:(w,C,P)=>M.connected?Be(w,C,P,h,void 0):Promise.resolve({TAG:"Error",_0:{TAG:"Transport",_0:{phase:"WaitForConnection",reason:"NotConnected",message:"phoenix client is not connected"}}}),onControl:w=>{B.push(w)},onEvent:w=>{oe.push(w)},onReconnect:w=>{Z.push(w)},onDisconnect:w=>{V.push(w)},forceReconnect:w=>M.closed||!M.connected?!1:(tn({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},void 0,x(w,"forced_stale_reconnect")),!0),hardReset:w=>{if(M.closed)return!1;tn({TAG:"Transport",_0:{phase:"Reply",reason:"SocketClosedReason",message:"phoenix websocket closed"}},void 0,x(w,"hard_reset"));let C=M.reconnectTimer;return C!==void 0&&(clearTimeout(ue(C)),M.reconnectTimer=void 0),Ke(),!0},close:()=>Ge({TAG:"Transport",_0:{phase:"WaitForConnection",reason:"ClientClosed",message:"phoenix client closed"}})};j(),Ke();let K=await M.ready;return K.TAG==="Ok"?{TAG:"Ok",_0:J}:{TAG:"Error",_0:K._0}}function cK(e){let t=e.toLowerCase();return t.startsWith("gpt-")||t.startsWith("o1")||t.startsWith("o3")||t.startsWith("o4")||t.startsWith("o5")?!0:t.startsWith("codex")}function c$(e){let t=G(e,r=>r.trim());if(t!==void 0)switch(t){case"":case"default":return;case"fable-5":return"claude-fable-5";case"haiku":return"haiku";case"opus":return"opus";case"sonnet":return"sonnet";default:return cK(t)?"sonnet":t}}function Mu(e,t,r,n){let i=e.sourceSeq;if(i===void 0)return Promise.resolve();let o={};return o.workspace=e.workspace,o.channel=e.channel,o.thread_id=e.threadId,o.seq=i,o.status=t,r!==void 0&&(o.reason=r),n!==void 0&&(o.codex_thread_id=n),o.agent_provider="claude-code",e.pushEvent("message_state",o)}function f$(e){return{cwd:e.cwd,model:x(c$(e.model),""),reasoningEffort:void 0,developerInstructions:void 0,approvalPolicy:e.approvalPolicy,sandboxPolicy:e.sandbox,environment:{},mcpServers:G(e.mcp,t=>t.servers)}}var fK=["If you create files that should be attached back to Kandan, end your assistant response with:","Kandan attachments:","- relative/or/absolute/path/to/file","Only attach non-hidden files with common document, image, text, patch, archive, or video extensions."];function m$(e){return[e,""].concat(fK).join(`
350
+ `)}function p$(e){return{model:x(c$(e.model),""),reasoningEffort:void 0,input:{text:m$(e.workDescription),attachments:[]}}}var OS={contents:0};function mK(){let e=Date.now()*1e3,t=OS.contents>=e?OS.contents+1:e;return OS.contents=t,t}function sp(e,t,r,n){let i={};i.workspace=e.workspace,i.channel=e.channel,i.thread_id=e.threadId,i.cwd=e.cwd,i.sessionId=t,i.subkey="root",i.sequence=mK(),i.entryType=r,i.payload=n,e.pushEvent("claude_session_store_append",i)}function h$(e,t){return r=>{switch(e.log("claude_code.session_event",Object.fromEntries([["thread_id",e.threadId],["kind",Nm(r)]])),r.TAG){case"SessionStarted":let n=r.harnessSessionId;t.contents=n;let i=e.sourceSeq;return sp(e,n,"session_started",Object.fromEntries([["prompt",m$(e.workDescription)],["threadId",e.threadId],["rootSeq",i!==void 0?i:null]]));case"ItemCompleted":let o=r.item;if(o.streamKind!=="assistant")return;let a=t.contents;return a!==void 0?sp(e,a,"assistant_message",Object.fromEntries([["itemKey",o.itemId],["body",r.content]])):void 0;case"TurnCompleted":let s=t.contents;s!==void 0&&(sp(e,s,"turn_completed",{}),sp(e,s,"session_completed",{})),Mu(e,"processed",void 0,t.contents);return;case"TurnFailed":Mu(e,"failed",r.failure.reason,t.contents);return;case"TurnInterrupted":Mu(e,"interrupted","Claude Code interrupted by Linzumi",t.contents);return;case"HarnessDied":Mu(e,"failed",r.failure.reason,t.contents);return;default:return}}}function _$(e,t){let r={};return r.workspace=e.workspace,r.channel=e.channel,r.thread_id=e.threadId,r.codex_thread_id=t,r.agent_provider="claude-code",e.pushEvent("session:bind",r)}function g$(e,t){return Mu(e,"processing","starting turn",t)}function rs(e){let t=e.mcp;if(t!==void 0)return t.cleanup()}async function y$(e){let t={contents:void 0};e.log("claude_code.turn_starting",Object.fromEntries([["linzumi_thread_id",e.threadId],["claude_session_id",null],["body_preview",e.workDescription.slice(0,120)],["message_received_at_ms",Date.now()]]));let r={contents:void 0},n=new Promise((l,d)=>{r.contents=l}),i=l=>{let d=r.contents;if(d!==void 0)return r.contents=void 0,d(l)},o=h$(e,t),a=l=>{switch(l.TAG){case"SessionStarted":i({TAG:"Ok",_0:l.harnessSessionId});break;case"TurnFailed":i({TAG:"Error",_0:l.failure.reason});break;case"HarnessDied":i({TAG:"Error",_0:l.failure.reason});break}o(l)},s=await e.adapter.startSession(f$(e),a);if(s.TAG==="Ok"){let l=s._0,d=await l.dispatchTurn(p$(e));if(d.TAG==="Ok"){let u=await n;if(u.TAG==="Ok"){let c=u._0;return t.contents=c,await _$(e,c),await g$(e,c),{TAG:"Ok",_0:{harnessSessionId:c,session:l,stop:async()=>(await l.stopSession(),rs(e))}}}return await l.stopSession(),rs(e),{TAG:"Error",_0:u._0}}return await l.stopSession(),rs(e),{TAG:"Error",_0:d._0.reason}}return rs(e),{TAG:"Error",_0:s._0.reason}}async function b$(e,t){let r={contents:t},n=await e.adapter.attachSession(t,f$(e),h$(e,r));if(n.TAG==="Ok"){let i=n._0;await _$(e,i.harnessSessionId);let o=await i.dispatchTurn(p$(e));return o.TAG==="Ok"?(await g$(e,i.harnessSessionId),{TAG:"Ok",_0:{harnessSessionId:i.harnessSessionId,session:i,stop:async()=>(await i.stopSession(),rs(e))}}):(await i.stopSession(),rs(e),{TAG:"Error",_0:o._0.reason})}return rs(e),{TAG:"Error",_0:n._0.reason}}var ene=10*6e4;function hK(e,t){let r=setTimeout(e,t);return r.unref(),r}function _K(e){clearTimeout(e)}var ju={setTimer:hK,clearTimer:_K};var yK=["deterministic","transient_upstream","transient_local","rate_limited","needs_approval","needs_decision"],v$=Oc(yK);function lp(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 bK(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 ES(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="+x(e.model,"unspecified")+n}function RS(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 S$(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 vK=15*6e4,SK=30*6e4;function CS(e,t){let r=G(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 zu(e){return{maxRecoveryRungs:CS(e.LINZUMI_FATE_LADDER_MAX_RECOVERY_RUNGS,4),maxLadderMs:CS(e.LINZUMI_FATE_LADDER_BUDGET_MS,vK),maxRateLimitHoldMs:CS(e.LINZUMI_FATE_LADDER_MAX_HOLD_MS,SK)}}function wK(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 IS(e,t){return{fate:e,startedAtMs:t,rungCursor:0,cursorAttempts:0,recoveryRungsAttempted:0,holdCommitted:!1,holdDispatched:!1,userSwitchInvoked:!1,entries:[],historyTruncated:!1}}function en(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 kK(e){switch(e){case"budget_rungs_exhausted":case"budget_wall_clock_exhausted":case"rungs_exhausted":case"grant_unavailable":return!0;default:return!1}}function w$(e,t,r){if(e!=="transient_local"||r===void 0||!(r.backendDead&&kK(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 xK(e,t){switch(t){case"in_place_resume":return e.inPlaceResume;case"redispatch":return e.redispatch;case"worker_rebuild":return e.workerRebuild}}function k$(e){let t=e.grants,r=e.breaker,n=e.budgets,i=e.nowMs,o=e.fate;if(o===void 0)return{TAG:"Stand",cause:"no_fate"};let a=S$(o),s=e.run,l=s!==void 0?s:IS(o,i);if(typeof a!="object")switch(a){case"HoldUntilResetPolicy":if(l.holdCommitted)return{TAG:"Red",cause:"hold_already_committed",run:en(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:en(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:en(l,{rung:"HoldStep",outcome:"breaker_held",atMs:i,detail:p,resetAtMs:void 0})}}if(f===2)return{TAG:"HoldUntilReset",resetAtMs:d,run:en({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:en(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:en(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:en({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:en(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:en(l,{rung:"ClassificationStep",outcome:"no_rungs_by_design",atMs:i,detail:"classification: deterministic, no rungs attempted by design",resetAtMs:void 0})};case"NeverLaddersPolicy":return{TAG:"Stand",cause:"never_ladders"}}else{let d=a.rungs;if(l.recoveryRungsAttempted>=n.maxRecoveryRungs){let _=l.recoveryRungsAttempted.toString(),g=n.maxRecoveryRungs.toString();return{TAG:"Red",cause:"budget_rungs_exhausted",run:en(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:en(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?!xK(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:en(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:en(l,{rung:{TAG:"RungStep",_0:m.rung},outcome:"breaker_held",atMs:i,detail:_,resetAtMs:void 0})}}return{TAG:"ExecuteRung",rung:m.rung,run:en({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 x$(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:en({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:ES(r),resetAtMs:void 0,userSwitch:r})}}function $S(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 en(e,{rung:"UserSwitchStep",outcome:o,atMs:r,detail:i!==void 0?ES(n)+" - "+i:ES(n),resetAtMs:void 0,userSwitch:n})}function dp(e,t,r,n){let i=n!==void 0?ue(n):void 0,o=S$(t),a=c=>{let f={};f.rung=wK(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},s=e!==void 0?e.entries.slice(0,16).map(a):[],l={};l.fate=t,l.policy=bK(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=RS(i));let u;if(u=t==="deterministic"?s.length===0:!1,u){let c={};c.rung="classification",c.outcome="no_rungs_by_design",c.at_ms=0,c.detail="classification: deterministic, no rungs attempted by design",l.entries=[c]}else l.entries=s;return l}var T$="switching this job to another harness at the user's request";function AK(e){let t=e.item,n=(typeof t=="object"&&t!==null&&!Array.isArray(t)?t:e).type,i=n!==void 0?Tr(n):void 0;if(i!==void 0)switch(i){case"contextCompaction":return"compacting conversation history";case"commandExecution":case"terminalInput":return"running terminal command";case"agentMessage":case"fileChange":case"reasoning":case"webSearch":case"webSearchCall":case"web_search_call":return"streaming response";default:return}}function MS(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":AK(t)}}var CK=En(e=>({decision:e.f("decision",At),label:e.f("label",At),description:e.f("description",hr(At))})),EK=En(e=>({requestId:e.f("requestId",At),kind:e.f("kind",At),summary:e.f("summary",At),reason:e.f("reason",hr(At)),port:e.f("port",hr(Rs)),pid:e.f("pid",hr(Rs)),command:e.f("command",hr(At)),cwd:e.f("cwd",hr(At)),processName:e.f("processName",hr(At)),processIconKey:e.f("processIconKey",hr(At)),processIconPath:e.f("processIconPath",hr(At)),choices:e.f("choices",hr(Ac(CK))),allowedActorSlug:e.f("allowedActorSlug",hr(At)),allowedActorUserId:e.f("allowedActorUserId",hr(Rs))})),PK=Oc(["starting turn","streaming response","running terminal command","interrupt requested","retrying empty turn","model stream stalled - resuming automatically from the last streamed checkpoint","upstream outage detected - recovery paused, resuming automatically","compacting conversation history","awaiting approval"]),tne=z0([En(e=>(e.tag("status","queued"),{TAG:"Queued",reason:e.f("reason",hr(At))})),En(e=>(e.tag("status","processed"),{TAG:"Processed",reason:e.f("reason",hr(At))})),En(e=>(e.tag("status","processing"),{TAG:"Processing",reason:e.f("reason",PK),approval:e.f("approval",hr(EK))})),En(e=>(e.tag("status","ignored"),{TAG:"Ignored",reason:e.f("reason",At)})),En(e=>(e.tag("status","failed"),{TAG:"Failed",reason:e.f("reason",At),retryable:e.f("retryable",hr($0)),fate:e.f("fate",hr(v$))})),En(e=>(e.tag("status","interrupted"),{TAG:"Interrupted",reason:e.f("reason",At)}))]);function IK(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(`
351
+ `)}function A$(e){let t=e.body.trimStart();return t.startsWith("!")?t:IK(e)}var C$="codex";function jK(e,t,r){return yS(C$,e,t,r)}function zK(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 O$(e){return $e(e,t=>{if(typeof t=="string")return t})}function NK(e){let t=ti(e,"type");if(t===void 0)return"";switch(t){case"collabAgentToolCall":return x(ti(e,"prompt"),"");case"commandExecution":return x(ti(e,"aggregatedOutput"),"");case"dynamicToolCall":return rn(ts(e,"contentItems"),"",Eu);case"fileChange":return rn(ts(e,"changes"),[],i=>$e(i,o=>{if(typeof o=="object"&&o!==null&&!Array.isArray(o))return ti(o,"path")})).join(`
352
+ `);case"mcpToolCall":return rn(k(gS(e,"result"),i=>ts(i,"content")),"",Eu);case"reasoning":let r=rn(ts(e,"summary"),[],O$),n=rn(ts(e,"content"),[],O$);return r.concat(n).filter(i=>i!=="").join(`
353
353
 
354
- `);case"subAgentActivity":return x(ti(e,"agentPath"),"");case"agentMessage":case"plan":case"terminalInput":return x(ti(e,"text"),"");case"userMessage":return rn(ts(e,"content"),"",Eu);default:return""}}function IK(e){return new Date(e).toISOString()}function C$(e,t){let r=[];return t.turns.forEach(n=>{n.items.forEach(i=>{let o=i.item,a;a=typeof o=="object"&&o!==null&&!Array.isArray(o)?o:{};let s=x(ti(a,"id"),"");r.push({kind:PK(ti(a,"type")),seq:r.length+1|0,at:G(i.completedAtMs,IK),harness:O$,body:RK(a),structured:i.item,actor:void 0,attachments:[],sourceSeq:void 0,streamKey:EK(t.harnessSessionId,n.turnId,s)})})}),yS(e,r)}var Wre="claude-code";var jK="claude-code";function zK(e){return"rehydrated-"+e.toString()}var NK="rehydrated-marker";function GK(e,t){switch(e){case"agent_status":return"[status] "+t;case"approval_request":return"[approval] "+t;case"command_execution":return`[command]
354
+ `);case"subAgentActivity":return x(ti(e,"agentPath"),"");case"agentMessage":case"plan":case"terminalInput":return x(ti(e,"text"),"");case"userMessage":return rn(ts(e,"content"),"",Eu);default:return""}}function GK(e){return new Date(e).toISOString()}function E$(e,t){let r=[];return t.turns.forEach(n=>{n.items.forEach(i=>{let o=i.item,a;a=typeof o=="object"&&o!==null&&!Array.isArray(o)?o:{};let s=x(ti(a,"id"),"");r.push({kind:zK(ti(a,"type")),seq:r.length+1|0,at:G(i.completedAtMs,GK),harness:C$,body:NK(a),structured:i.item,actor:void 0,attachments:[],sourceSeq:void 0,streamKey:jK(t.harnessSessionId,n.turnId,s)})})}),bS(e,r)}var nne="claude-code";var qK="claude-code";function LK(e){return"rehydrated-"+e.toString()}var UK="rehydrated-marker";function WK(e,t){switch(e){case"agent_status":return"[status] "+t;case"approval_request":return"[approval] "+t;case"command_execution":return`[command]
355
355
  `+t;case"error":return"[error] "+t;case"file_change":return`[file change]
356
356
  `+t;case"system_notice":return"[notice] "+t;case"terminal_input":return`[terminal input]
357
357
  `+t;case"tool_call":return`[tool call]
358
358
  `+t;case"tool_result":return`[tool result]
359
- `+t;default:return"["+e+"] "+t}}function E$(e,t,r,n){let i={};i.type="text",i.text=n;let o={};o.role=e,o.content=[i];let a={};return a.type=e,a.session_id=t,a.uuid=r,a.message=o,a}function FK(e,t,r,n,i){return"[linzumi cross-harness resume] This session continues linzumi thread "+r+", "+("imported from the "+e+" session "+t+". ")+(n.toString()+" activity records follow verbatim; ")+(i.toString()+" reasoning records were redacted ")+"(provider-private reasoning is never forged across harnesses)."}function P$(e,t){let r={contents:void 0},n=h=>{if(r.contents===void 0){r.contents=h;return}};e===""?n("the caller-bound target session identity must be non-empty"):e.includes(":")&&n("the caller-bound target session identity must be colon-free"),r.contents===void 0&&t.nodes.length===0&&n("an empty page rehydrates nothing - the source session must carry content");let i={contents:void 0},o={contents:void 0};t.nodes.forEach(h=>{if(r.contents===void 0){let g=o.contents;g!==void 0&&h.seq<=g?n("page nodes must ascend by seq"):o.contents=h.seq}if(r.contents===void 0){let g=ze($v.map(Ya),b=>G(k(h.streamKey,y=>Pu(b,y)),y=>[b,y.keySessionId]))[0];if(g!==void 0){let b=g[1],y=g[0];if(y===jK)n("the page was minted by the claude harness - same-harness resume rides the native session store, never rehydration");else{let v=i.contents;v!==void 0&&(v[0]!==y||v[1]!==b)?n("page mixes two harness session identities"):i.contents=[y,b]}}else n("node carries no parseable minted stream_key identity of a catalog harness")}if(r.contents!==void 0)return;let _=h.structured;if(!(typeof _=="object"&&_!==null&&!Array.isArray(_)))return n("node carries no verbatim native passthrough")});let a=r.contents,s=i.contents;if(a!==void 0)return{TAG:"Error",_0:a};if(s===void 0)return{TAG:"Error",_0:"page carries no source harness identity"};let l=s[1];if(l===e)return{TAG:"Error",_0:"the caller-bound target session identity must be distinct from the source session identity"};let d=s[0],u=[],c=[],f={contents:0};t.nodes.forEach(h=>{let _=h.kind;if(_==="reasoning"){f.contents=f.contents+1|0;return}let g;switch(_){case"assistant_message":g=["assistant",h.body];break;case"user_message":g=["user",h.body];break;default:g=["assistant",GK(_,h.body)]}let b=g[0],y=zK(h.seq);u.push({sourceSeq:h.seq,sourceKind:_,uuid:y,role:b}),c.push(E$(b,e,y,g[1]))});let m=[E$("user",e,NK,FK(d,l,t.threadId,c.length,f.contents))].concat(c);return{TAG:"Ok",_0:{session:{harnessSessionId:e,messages:m},report:{sourceHarness:d,sourceSessionId:l,sessionMessageCount:m.length,redactedReasoningCount:f.contents,emissions:u}}}}import*as MS from"node:path";function qK(e){return e.replace(/[^a-zA-Z0-9]/g,"-")}function LK(e,t){return MS.join(e,".claude","projects",qK(t))}var UK="0.0.0-linzumi-cross-harness-switch";function R$(e,t,r,n,i){let o=Dn(t);if(o.TAG!=="Ok")return{TAG:"Error",_0:"the thread's working directory is not resolvable: "+t};let a=o._0,s=LK(e,a),l=qt(s);if(l.TAG!=="Ok")return{TAG:"Error",_0:"session store dir creation failed: "+l._0.message};let d=MS.join(s,r+".jsonl"),u={contents:null},c=n.messages.map((m,h)=>{let _;_=typeof m=="object"&&m!==null&&!Array.isArray(m)?m:{};let g={};g.parentUuid=u.contents,g.isSidechain=!1,g.userType="external",g.cwd=a,g.sessionId=r,g.version=UK,g.type=x(_.type,null),g.message=x(_.message,null);let b=x(_.uuid,null);return g.uuid=b,g.timestamp=new Date(i+h).toISOString(),b!==null&&(u.contents=b),g}),f=c.map(m=>JSON.stringify(m)).join(`
359
+ `+t;default:return"["+e+"] "+t}}function P$(e,t,r,n){let i={};i.type="text",i.text=n;let o={};o.role=e,o.content=[i];let a={};return a.type=e,a.session_id=t,a.uuid=r,a.message=o,a}function ZK(e,t,r,n,i){return"[linzumi cross-harness resume] This session continues linzumi thread "+r+", "+("imported from the "+e+" session "+t+". ")+(n.toString()+" activity records follow verbatim; ")+(i.toString()+" reasoning records were redacted ")+"(provider-private reasoning is never forged across harnesses)."}function R$(e,t){let r={contents:void 0},n=h=>{if(r.contents===void 0){r.contents=h;return}};e===""?n("the caller-bound target session identity must be non-empty"):e.includes(":")&&n("the caller-bound target session identity must be colon-free"),r.contents===void 0&&t.nodes.length===0&&n("an empty page rehydrates nothing - the source session must carry content");let i={contents:void 0},o={contents:void 0};t.nodes.forEach(h=>{if(r.contents===void 0){let g=o.contents;g!==void 0&&h.seq<=g?n("page nodes must ascend by seq"):o.contents=h.seq}if(r.contents===void 0){let g=$e(Mv.map(Ya),b=>G(k(h.streamKey,y=>Pu(b,y)),y=>[b,y.keySessionId]))[0];if(g!==void 0){let b=g[1],y=g[0];if(y===qK)n("the page was minted by the claude harness - same-harness resume rides the native session store, never rehydration");else{let v=i.contents;v!==void 0&&(v[0]!==y||v[1]!==b)?n("page mixes two harness session identities"):i.contents=[y,b]}}else n("node carries no parseable minted stream_key identity of a catalog harness")}if(r.contents!==void 0)return;let _=h.structured;if(!(typeof _=="object"&&_!==null&&!Array.isArray(_)))return n("node carries no verbatim native passthrough")});let a=r.contents,s=i.contents;if(a!==void 0)return{TAG:"Error",_0:a};if(s===void 0)return{TAG:"Error",_0:"page carries no source harness identity"};let l=s[1];if(l===e)return{TAG:"Error",_0:"the caller-bound target session identity must be distinct from the source session identity"};let d=s[0],u=[],c=[],f={contents:0};t.nodes.forEach(h=>{let _=h.kind;if(_==="reasoning"){f.contents=f.contents+1|0;return}let g;switch(_){case"assistant_message":g=["assistant",h.body];break;case"user_message":g=["user",h.body];break;default:g=["assistant",WK(_,h.body)]}let b=g[0],y=LK(h.seq);u.push({sourceSeq:h.seq,sourceKind:_,uuid:y,role:b}),c.push(P$(b,e,y,g[1]))});let m=[P$("user",e,UK,ZK(d,l,t.threadId,c.length,f.contents))].concat(c);return{TAG:"Ok",_0:{session:{harnessSessionId:e,messages:m},report:{sourceHarness:d,sourceSessionId:l,sessionMessageCount:m.length,redactedReasoningCount:f.contents,emissions:u}}}}import*as jS from"node:path";function HK(e){return e.replace(/[^a-zA-Z0-9]/g,"-")}function BK(e,t){return jS.join(e,".claude","projects",HK(t))}var KK="0.0.0-linzumi-cross-harness-switch";function I$(e,t,r,n,i){let o=Dn(t);if(o.TAG!=="Ok")return{TAG:"Error",_0:"the thread's working directory is not resolvable: "+t};let a=o._0,s=BK(e,a),l=qt(s);if(l.TAG!=="Ok")return{TAG:"Error",_0:"session store dir creation failed: "+l._0.message};let d=jS.join(s,r+".jsonl"),u={contents:null},c=n.messages.map((m,h)=>{let _;_=typeof m=="object"&&m!==null&&!Array.isArray(m)?m:{};let g={};g.parentUuid=u.contents,g.isSidechain=!1,g.userType="external",g.cwd=a,g.sessionId=r,g.version=KK,g.type=x(_.type,null),g.message=x(_.message,null);let b=x(_.uuid,null);return g.uuid=b,g.timestamp=new Date(i+h).toISOString(),b!==null&&(u.contents=b),g}),f=c.map(m=>JSON.stringify(m)).join(`
360
360
  `)+`
361
- `,p=Ti(d,f);return p.TAG==="Ok"?{TAG:"Ok",_0:{sessionFile:d,entryCount:c.length}}:{TAG:"Error",_0:"session store write failed: "+p._0.message}}function I$(e){switch(e.TAG){case"NothingToCarryOver":return"nothing_to_carry_over";case"TranspileRefused":return"transpile_refused";case"TargetUnavailable":return"target_unavailable";case"SeedFailed":return"seed_failed";case"DispatchFailed":return"dispatch_failed"}}function $$(e){return e.reason}function M$(e){switch(e.TAG){case"SeedFailed":case"DispatchFailed":return!1;default:return!0}}async function j$(e,t,r,n,i,o,a,s,l,d){if(a===void 0)return{TAG:"Error",_0:{TAG:"TargetUnavailable",reason:"the claude-code harness is not available on this machine"}};let u=e.turns.filter(y=>y.items.length!==0);if(Ve(u,0,(y,v)=>y+v.items.length|0)===0)return{TAG:"Error",_0:{TAG:"NothingToCarryOver",reason:"no recorded harness activity to carry over (the switch journal is empty)"}};let f=C$(t,{harnessSessionId:e.harnessSessionId,turns:u}),p=P$(r,f);if(p.TAG!=="Ok")return{TAG:"Error",_0:{TAG:"TranspileRefused",reason:p._0}};let m=p._0,h=R$(i,n,r,m.session,o);if(h.TAG!=="Ok")return{TAG:"Error",_0:{TAG:"SeedFailed",reason:h._0}};let _=await a.attachSession(r,s,d);if(_.TAG!=="Ok")return{TAG:"Error",_0:{TAG:"DispatchFailed",reason:_._0.reason}};let g=_._0,b=await g.dispatchTurn(l);return b.TAG==="Ok"?{TAG:"Ok",_0:{targetSessionId:g.harnessSessionId,sessionFile:h._0.sessionFile,turnId:b._0.turnId,transpiledItemCount:m.report.emissions.length,redactedReasoningCount:m.report.redactedReasoningCount,session:g}}:(await g.stopSession(),{TAG:"Error",_0:{TAG:"DispatchFailed",reason:b._0.reason}})}import*as B$ from"node:url";import*as Nu from"node:path";function N$(e){return e==="MustAck"?"must_ack":"best_effort"}function zS(e,t){let r=t.replace(new RegExp("[^A-Za-z0-9._-]+","g"),"-").replace(new RegExp("^[-.]+|[-.]+$","g"),"").slice(0,80),n=qn(t).slice(0,8);return Nu.join(e,(r===""?"thread":r)+"."+n+".outbox.jsonl")}function ns(e){return JSON.stringify(e)+`
362
- `}function z$(e,t){let r=Object.fromEntries([["t",e],["seq",t.entrySeq],["kind",t.kind],["data",t.data]]),n=t.coalesceKey;return n!==void 0&&(r.coalesceKey=n),r.resolution=N$(t.resolution),r.atMs=t.enqueuedAtMs,ns(r)}function up(e,t){return ns(Object.fromEntries([["t",e],["seq",t]]))}function jS(e){if(typeof e=="string")return e}function $l(e,t){return e!==void 0&&typeof e=="number"&&Ot(e)?e:t}function VK(e){let t=e.seq,r=t!==void 0&&typeof t=="number"&&Ot(t)?t:void 0,n=jS(e.kind),i=e.data,o=typeof i=="object"&&i!==null&&!Array.isArray(i)?i:void 0,a=e.resolution,s;if(typeof a=="string")switch(a){case"best_effort":s="BestEffort";break;case"must_ack":s="MustAck";break;default:s=void 0}else s=void 0;let l=e.atMs,d=l!==void 0&&typeof l=="number"&&isFinite(l)?l:0;if(r!==void 0&&n!==void 0&&o!==void 0&&s!==void 0)return{entrySeq:r,kind:n,data:o,coalesceKey:jS(e.coalesceKey),resolution:s,attempts:0,enqueuedAtMs:d}}function HK(e,t,r,n,i){let o=r.counters,a=d=>{if(d>o.lastEntrySeq){o.lastEntrySeq=d;return}},s=e.t,l=0;if(typeof s=="string")switch(s){case"coalesce":o.totalEnqueued=o.totalEnqueued+1|0;let d=e.seq,u=d!==void 0&&typeof d=="number"&&Ot(d)?d:void 0,c=e.data,f=typeof c=="object"&&c!==null&&!Array.isArray(c)?c:void 0;if(u===void 0||f===void 0)return;let p=t.get(u);return p!==void 0&&(p.data=f),a(u);case"context":r.kv=new Map;let m=e.kv;if(m===void 0||typeof m!="object"||m===null||Array.isArray(m))return;Object.entries(m).forEach(g=>{r.kv.set(g[0],g[1])});return;case"counters":return o.totalEnqueued=$l(e.enqueued,0)|0,o.totalAcked=$l(e.acked,0)|0,o.totalDroppedBestEffort=$l(e.dropped,0)|0,o.totalPermanentFailures=$l(e.failed,0)|0,o.totalExpiredOnRecovery=$l(e.expired,0)|0,a($l(e.lastSeq,0));case"item_seq":return;case"kv":let h=jS(e.key),_=e.value;if(h!==void 0&&_!==void 0){r.kv.set(h,_);return}else return;case"enqueue":case"pending":l=2;break;case"ack":case"drop":case"expired":case"fail":case"skip":l=3;break;default:l=1}else l=1;switch(l){case 1:return n("outbox_journal_unknown_record",Object.fromEntries([["path",i],["recordType",x(e.t,null)]]));case 2:let d=VK(e);if(d===void 0)return n("outbox_journal_line_discarded",Object.fromEntries([["path",i],["recordType",x(e.t,null)]]));if(t.set(d.entrySeq,d),a(d.entrySeq),e.t==="enqueue"){o.totalEnqueued=o.totalEnqueued+1|0;return}else return;case 3:let c=e.seq;if(c===void 0||typeof c!="number"||!Ot(c))return;t.delete(c),a(c);let f=e.t;if(f===void 0||typeof f!="string")return;switch(f){case"ack":o.totalAcked=o.totalAcked+1|0;return;case"drop":o.totalDroppedBestEffort=o.totalDroppedBestEffort+1|0;return;case"expired":o.totalExpiredOnRecovery=o.totalExpiredOnRecovery+1|0;return;case"fail":o.totalPermanentFailures=o.totalPermanentFailures+1|0;return;default:return}}}function G$(e,t){let r={pendingEntries:[],kv:new Map,counters:{totalEnqueued:0,totalAcked:0,totalDroppedBestEffort:0,totalPermanentFailures:0,totalExpiredOnRecovery:0,lastEntrySeq:0}},n=Xt(e);if(n.TAG==="Ok"){let o=new Map,a=n._0.split(`
363
- `),s={contents:-1};return a.forEach((l,d)=>{if(l.trim()!==""){s.contents=d;return}}),a.forEach((l,d)=>{if(!(d<=s.contents&&l.trim()!==""))return;let u;try{u=JSON.parse(l)}catch{u=void 0}if(typeof u=="object"&&u!==null&&!Array.isArray(u))return HK(u,o,r,t,e);t("outbox_journal_line_discarded",Object.fromEntries([["path",e],["line",d+1|0],["trailing",d===s.contents]]))}),r.pendingEntries=o.values().toArray(),r}let i=n._0;return si(i,"ENOENT")||t("outbox_journal_read_failed",Object.fromEntries([["path",e],["error",i.message]])),r}function BK(e){return Ve(e,0,(t,r)=>(t+r.split(`
364
- `).length|0)-1|0)}function F$(e,t,r,n,i){let o=n!==void 0?n:256,a=i!==void 0?i:3,s={contents:e};qt(Nu.dirname(e));let l={contents:[]},d={contents:Promise.resolve()},u={contents:!1},c={contents:0},f={contents:!1},p={contents:0},m={contents:0},h={contents:!1},_=A=>{if(m.contents=m.contents+1|0,p.contents=p.contents+1|0,r("outbox_journal_write_failed",Object.fromEntries([["path",s.contents],["error",A]])),!h.contents&&p.contents>=a&&(h.contents=!0,r("outbox_journal_degraded",Object.fromEntries([["level","error"],["path",s.contents],["consecutiveWriteFailures",p.contents],["totalWriteFailures",m.contents]]))),!(h.contents&&l.contents.length!==0))return;let R=BK(l.contents);l.contents=[],r("outbox_journal_buffered_records_dropped",Object.fromEntries([["level","error"],["path",s.contents],["droppedRecords",R],["consecutiveWriteFailures",p.contents],["totalWriteFailures",m.contents]]))},g=()=>{if(p.contents=0,h.contents)return h.contents=!1,r("outbox_journal_recovered",Object.fromEntries([["level","warn"],["path",s.contents],["totalWriteFailures",m.contents]]))},b=async()=>{c.contents=0;let A=t(),R=l.contents;l.contents=[];let Z={};A.kv.forEach((oe,W)=>{Z[W]=oe});let L=[ns(Object.fromEntries([["t","counters"],["enqueued",A.counters.totalEnqueued],["acked",A.counters.totalAcked],["dropped",A.counters.totalDroppedBestEffort],["failed",A.counters.totalPermanentFailures],["expired",A.counters.totalExpiredOnRecovery],["lastSeq",A.counters.lastEntrySeq]])),ns(Object.fromEntries([["t","context"],["kv",Z]]))].concat(A.pendingEntries.map(oe=>z$("pending",oe))),ae=s.contents+".tmp",U=await zw(ae,L.join("")),B;return B=U.TAG==="Ok"?await qp(ae,s.contents):{TAG:"Error",_0:U._0},B.TAG==="Ok"?(r("outbox_journal_compacted",Object.fromEntries([["path",s.contents],["pendingEntries",A.pendingEntries.length]])),{TAG:"Ok",_0:void 0}):(l.contents=R.concat(l.contents),c.contents=o,{TAG:"Error",_0:B._0.message})},y=async()=>{u.contents=!1;let A;if(l.contents.length!==0){let R=l.contents.join("");l.contents=[];let Z=await Dp(s.contents,R);Z.TAG==="Ok"?A={TAG:"Ok",_0:void 0}:(l.contents=[R].concat(l.contents),A={TAG:"Error",_0:Z._0.message})}else A={TAG:"Ok",_0:void 0};return A.TAG==="Ok"?c.contents>=o?await b():{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:A._0}},v=()=>{if(!u.contents){u.contents=!0,d.contents=d.contents.then(()=>y().then(A=>A.TAG==="Ok"?g():_(A._0)));return}},S=(A,R)=>f.contents?r("outbox_journal_append_after_close",Object.fromEntries([["path",s.contents]])):(l.contents.push(A),R&&(c.contents=c.contents+1|0),v());return{appendEnqueue:A=>S(z$("enqueue",A),!1),appendCoalesce:(A,R)=>S(ns(Object.fromEntries([["t","coalesce"],["seq",A],["data",R]])),!1),appendAck:A=>S(up("ack",A),!0),appendSkip:(A,R)=>S(ns(Object.fromEntries([["t","skip"],["seq",A],["reason",R]])),!0),appendDrop:A=>S(up("drop",A),!0),appendFail:A=>S(up("fail",A),!0),appendExpired:A=>S(up("expired",A),!0),appendKv:(A,R)=>S(ns(Object.fromEntries([["t","kv"],["key",A],["value",R]])),!1),settled:()=>d.contents.then(()=>{}),status:()=>({totalWriteFailures:m.contents,degraded:h.contents}),rekey:A=>{if(f.contents)return r("outbox_journal_rekey_after_close",Object.fromEntries([["path",A]]));d.contents=d.contents.then(async()=>{if(A===s.contents)return;let R=s.contents,Z=qt(Nu.dirname(A)),L;if(L=Z.TAG==="Ok"?await qp(R,A):{TAG:"Error",_0:Z._0},L.TAG==="Ok")return s.contents=A,r("outbox_journal_rekeyed",Object.fromEntries([["from",R],["to",A]]));let ae=L._0;return si(ae,"ENOENT")?(s.contents=A,r("outbox_journal_rekeyed",Object.fromEntries([["from",R],["to",A]]))):r("outbox_journal_rekey_failed",Object.fromEntries([["level","error"],["from",R],["to",A],["error",ae.message]]))})},close:async()=>{if(f.contents=!0,await d.contents,l.contents.length===0)return;let A=l.contents.join(""),R=await Dp(s.contents,A);return R.TAG!=="Ok"?_(R._0.message):(l.contents=[],g())}}}function q$(e){let t=e.itemId,r=t!==void 0?t:"index:"+e.itemIndex.toString();return e.turnId+":"+e.streamKind+":"+r}function Ml(e){switch(e.TAG){case"HarnessNotification":return"codex";case"CompletionSnapshot":return"snapshot";case"Lifecycle":return"lifecycle"}}function L$(e){return e}function NS(e){return e!==void 0?e!=="streaming":!1}var Gu="pipeline.post_streamed_row",Fu="pipeline.stream_snapshot",is="pipeline.finalize_row",Du="pipeline.post_completed_row",jl="pipeline.message_state";function KK(e){return e}function Ar(e,t){return e[t]}function E(e,t){return k(e[t],xr)}function qe(e,t){return k(e[t],ke)}function pp(e,t){return k(e[t],Qi)}function os(e,t){return k(e[t],ha)}function cp(e,t){let r=e[t];return r!==void 0?Rc(r):[]}function FS(e){if(typeof e=="string"&&e.trim()!=="")return e}function _t(e,t){return k(e[t],FS)}var JK="phoenix_insert_body_limit",fp="\0",mp="\uFFFD";function K$(e){return e>=55296?e<=56319:!1}function J$(e){return e>=56320?e<=57343:!1}function zl(e,t){let r=e.length,n=Math.min(Math.max(0,t),r),i=n>0&&n<r&&K$(e.charCodeAt(n-1|0))&&J$(e.charCodeAt(n))?n-1|0:n;return e.slice(0,i)}function Y$(e,t){let r=e.length,n=Math.max(0,r-Math.max(0,t)|0),i=n>0&&n<r&&K$(e.charCodeAt(n-1|0))&&J$(e.charCodeAt(n))?n+1|0:n;return e.slice(i,r)}function YK(e,t,r){if(e.length<=t)return{text:e,truncated:!1};let n="[Linzumi truncated "+r+"]",i=Math.max(0,(t-n.length|0)-1|0);return{text:zl(zl(e,i)+" "+n,t),truncated:!0}}var U$=`
361
+ `,p=Ti(d,f);return p.TAG==="Ok"?{TAG:"Ok",_0:{sessionFile:d,entryCount:c.length}}:{TAG:"Error",_0:"session store write failed: "+p._0.message}}function $$(e){switch(e.TAG){case"NothingToCarryOver":return"nothing_to_carry_over";case"TranspileRefused":return"transpile_refused";case"TargetUnavailable":return"target_unavailable";case"SeedFailed":return"seed_failed";case"DispatchFailed":return"dispatch_failed"}}function M$(e){return e.reason}function j$(e){switch(e.TAG){case"SeedFailed":case"DispatchFailed":return!1;default:return!0}}async function z$(e,t,r,n,i,o,a,s,l,d){if(a===void 0)return{TAG:"Error",_0:{TAG:"TargetUnavailable",reason:"the claude-code harness is not available on this machine"}};let u=e.turns.filter(y=>y.items.length!==0);if(Ve(u,0,(y,v)=>y+v.items.length|0)===0)return{TAG:"Error",_0:{TAG:"NothingToCarryOver",reason:"no recorded harness activity to carry over (the switch journal is empty)"}};let f=E$(t,{harnessSessionId:e.harnessSessionId,turns:u}),p=R$(r,f);if(p.TAG!=="Ok")return{TAG:"Error",_0:{TAG:"TranspileRefused",reason:p._0}};let m=p._0,h=I$(i,n,r,m.session,o);if(h.TAG!=="Ok")return{TAG:"Error",_0:{TAG:"SeedFailed",reason:h._0}};let _=await a.attachSession(r,s,d);if(_.TAG!=="Ok")return{TAG:"Error",_0:{TAG:"DispatchFailed",reason:_._0.reason}};let g=_._0,b=await g.dispatchTurn(l);return b.TAG==="Ok"?{TAG:"Ok",_0:{targetSessionId:g.harnessSessionId,sessionFile:h._0.sessionFile,turnId:b._0.turnId,transpiledItemCount:m.report.emissions.length,redactedReasoningCount:m.report.redactedReasoningCount,session:g}}:(await g.stopSession(),{TAG:"Error",_0:{TAG:"DispatchFailed",reason:b._0.reason}})}import*as K$ from"node:url";import*as Nu from"node:path";function G$(e){return e==="MustAck"?"must_ack":"best_effort"}function NS(e,t){let r=t.replace(new RegExp("[^A-Za-z0-9._-]+","g"),"-").replace(new RegExp("^[-.]+|[-.]+$","g"),"").slice(0,80),n=qn(t).slice(0,8);return Nu.join(e,(r===""?"thread":r)+"."+n+".outbox.jsonl")}function ns(e){return JSON.stringify(e)+`
362
+ `}function N$(e,t){let r=Object.fromEntries([["t",e],["seq",t.entrySeq],["kind",t.kind],["data",t.data]]),n=t.coalesceKey;return n!==void 0&&(r.coalesceKey=n),r.resolution=G$(t.resolution),r.atMs=t.enqueuedAtMs,ns(r)}function up(e,t){return ns(Object.fromEntries([["t",e],["seq",t]]))}function zS(e){if(typeof e=="string")return e}function $l(e,t){return e!==void 0&&typeof e=="number"&&Ot(e)?e:t}function XK(e){let t=e.seq,r=t!==void 0&&typeof t=="number"&&Ot(t)?t:void 0,n=zS(e.kind),i=e.data,o=typeof i=="object"&&i!==null&&!Array.isArray(i)?i:void 0,a=e.resolution,s;if(typeof a=="string")switch(a){case"best_effort":s="BestEffort";break;case"must_ack":s="MustAck";break;default:s=void 0}else s=void 0;let l=e.atMs,d=l!==void 0&&typeof l=="number"&&isFinite(l)?l:0;if(r!==void 0&&n!==void 0&&o!==void 0&&s!==void 0)return{entrySeq:r,kind:n,data:o,coalesceKey:zS(e.coalesceKey),resolution:s,attempts:0,enqueuedAtMs:d}}function QK(e,t,r,n,i){let o=r.counters,a=d=>{if(d>o.lastEntrySeq){o.lastEntrySeq=d;return}},s=e.t,l=0;if(typeof s=="string")switch(s){case"coalesce":o.totalEnqueued=o.totalEnqueued+1|0;let d=e.seq,u=d!==void 0&&typeof d=="number"&&Ot(d)?d:void 0,c=e.data,f=typeof c=="object"&&c!==null&&!Array.isArray(c)?c:void 0;if(u===void 0||f===void 0)return;let p=t.get(u);return p!==void 0&&(p.data=f),a(u);case"context":r.kv=new Map;let m=e.kv;if(m===void 0||typeof m!="object"||m===null||Array.isArray(m))return;Object.entries(m).forEach(g=>{r.kv.set(g[0],g[1])});return;case"counters":return o.totalEnqueued=$l(e.enqueued,0)|0,o.totalAcked=$l(e.acked,0)|0,o.totalDroppedBestEffort=$l(e.dropped,0)|0,o.totalPermanentFailures=$l(e.failed,0)|0,o.totalExpiredOnRecovery=$l(e.expired,0)|0,a($l(e.lastSeq,0));case"item_seq":return;case"kv":let h=zS(e.key),_=e.value;if(h!==void 0&&_!==void 0){r.kv.set(h,_);return}else return;case"enqueue":case"pending":l=2;break;case"ack":case"drop":case"expired":case"fail":case"skip":l=3;break;default:l=1}else l=1;switch(l){case 1:return n("outbox_journal_unknown_record",Object.fromEntries([["path",i],["recordType",x(e.t,null)]]));case 2:let d=XK(e);if(d===void 0)return n("outbox_journal_line_discarded",Object.fromEntries([["path",i],["recordType",x(e.t,null)]]));if(t.set(d.entrySeq,d),a(d.entrySeq),e.t==="enqueue"){o.totalEnqueued=o.totalEnqueued+1|0;return}else return;case 3:let c=e.seq;if(c===void 0||typeof c!="number"||!Ot(c))return;t.delete(c),a(c);let f=e.t;if(f===void 0||typeof f!="string")return;switch(f){case"ack":o.totalAcked=o.totalAcked+1|0;return;case"drop":o.totalDroppedBestEffort=o.totalDroppedBestEffort+1|0;return;case"expired":o.totalExpiredOnRecovery=o.totalExpiredOnRecovery+1|0;return;case"fail":o.totalPermanentFailures=o.totalPermanentFailures+1|0;return;default:return}}}function F$(e,t){let r={pendingEntries:[],kv:new Map,counters:{totalEnqueued:0,totalAcked:0,totalDroppedBestEffort:0,totalPermanentFailures:0,totalExpiredOnRecovery:0,lastEntrySeq:0}},n=Qt(e);if(n.TAG==="Ok"){let o=new Map,a=n._0.split(`
363
+ `),s={contents:-1};return a.forEach((l,d)=>{if(l.trim()!==""){s.contents=d;return}}),a.forEach((l,d)=>{if(!(d<=s.contents&&l.trim()!==""))return;let u;try{u=JSON.parse(l)}catch{u=void 0}if(typeof u=="object"&&u!==null&&!Array.isArray(u))return QK(u,o,r,t,e);t("outbox_journal_line_discarded",Object.fromEntries([["path",e],["line",d+1|0],["trailing",d===s.contents]]))}),r.pendingEntries=o.values().toArray(),r}let i=n._0;return si(i,"ENOENT")||t("outbox_journal_read_failed",Object.fromEntries([["path",e],["error",i.message]])),r}function e9(e){return Ve(e,0,(t,r)=>(t+r.split(`
364
+ `).length|0)-1|0)}function D$(e,t,r,n,i){let o=n!==void 0?n:256,a=i!==void 0?i:3,s={contents:e};qt(Nu.dirname(e));let l={contents:[]},d={contents:Promise.resolve()},u={contents:!1},c={contents:0},f={contents:!1},p={contents:0},m={contents:0},h={contents:!1},_=A=>{if(m.contents=m.contents+1|0,p.contents=p.contents+1|0,r("outbox_journal_write_failed",Object.fromEntries([["path",s.contents],["error",A]])),!h.contents&&p.contents>=a&&(h.contents=!0,r("outbox_journal_degraded",Object.fromEntries([["level","error"],["path",s.contents],["consecutiveWriteFailures",p.contents],["totalWriteFailures",m.contents]]))),!(h.contents&&l.contents.length!==0))return;let R=e9(l.contents);l.contents=[],r("outbox_journal_buffered_records_dropped",Object.fromEntries([["level","error"],["path",s.contents],["droppedRecords",R],["consecutiveWriteFailures",p.contents],["totalWriteFailures",m.contents]]))},g=()=>{if(p.contents=0,h.contents)return h.contents=!1,r("outbox_journal_recovered",Object.fromEntries([["level","warn"],["path",s.contents],["totalWriteFailures",m.contents]]))},b=async()=>{c.contents=0;let A=t(),R=l.contents;l.contents=[];let W={};A.kv.forEach((oe,Z)=>{W[Z]=oe});let L=[ns(Object.fromEntries([["t","counters"],["enqueued",A.counters.totalEnqueued],["acked",A.counters.totalAcked],["dropped",A.counters.totalDroppedBestEffort],["failed",A.counters.totalPermanentFailures],["expired",A.counters.totalExpiredOnRecovery],["lastSeq",A.counters.lastEntrySeq]])),ns(Object.fromEntries([["t","context"],["kv",W]]))].concat(A.pendingEntries.map(oe=>N$("pending",oe))),ae=s.contents+".tmp",U=await Nw(ae,L.join("")),B;return B=U.TAG==="Ok"?await Lp(ae,s.contents):{TAG:"Error",_0:U._0},B.TAG==="Ok"?(r("outbox_journal_compacted",Object.fromEntries([["path",s.contents],["pendingEntries",A.pendingEntries.length]])),{TAG:"Ok",_0:void 0}):(l.contents=R.concat(l.contents),c.contents=o,{TAG:"Error",_0:B._0.message})},y=async()=>{u.contents=!1;let A;if(l.contents.length!==0){let R=l.contents.join("");l.contents=[];let W=await qp(s.contents,R);W.TAG==="Ok"?A={TAG:"Ok",_0:void 0}:(l.contents=[R].concat(l.contents),A={TAG:"Error",_0:W._0.message})}else A={TAG:"Ok",_0:void 0};return A.TAG==="Ok"?c.contents>=o?await b():{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:A._0}},v=()=>{if(!u.contents){u.contents=!0,d.contents=d.contents.then(()=>y().then(A=>A.TAG==="Ok"?g():_(A._0)));return}},S=(A,R)=>f.contents?r("outbox_journal_append_after_close",Object.fromEntries([["path",s.contents]])):(l.contents.push(A),R&&(c.contents=c.contents+1|0),v());return{appendEnqueue:A=>S(N$("enqueue",A),!1),appendCoalesce:(A,R)=>S(ns(Object.fromEntries([["t","coalesce"],["seq",A],["data",R]])),!1),appendAck:A=>S(up("ack",A),!0),appendSkip:(A,R)=>S(ns(Object.fromEntries([["t","skip"],["seq",A],["reason",R]])),!0),appendDrop:A=>S(up("drop",A),!0),appendFail:A=>S(up("fail",A),!0),appendExpired:A=>S(up("expired",A),!0),appendKv:(A,R)=>S(ns(Object.fromEntries([["t","kv"],["key",A],["value",R]])),!1),settled:()=>d.contents.then(()=>{}),status:()=>({totalWriteFailures:m.contents,degraded:h.contents}),rekey:A=>{if(f.contents)return r("outbox_journal_rekey_after_close",Object.fromEntries([["path",A]]));d.contents=d.contents.then(async()=>{if(A===s.contents)return;let R=s.contents,W=qt(Nu.dirname(A)),L;if(L=W.TAG==="Ok"?await Lp(R,A):{TAG:"Error",_0:W._0},L.TAG==="Ok")return s.contents=A,r("outbox_journal_rekeyed",Object.fromEntries([["from",R],["to",A]]));let ae=L._0;return si(ae,"ENOENT")?(s.contents=A,r("outbox_journal_rekeyed",Object.fromEntries([["from",R],["to",A]]))):r("outbox_journal_rekey_failed",Object.fromEntries([["level","error"],["from",R],["to",A],["error",ae.message]]))})},close:async()=>{if(f.contents=!0,await d.contents,l.contents.length===0)return;let A=l.contents.join(""),R=await qp(s.contents,A);return R.TAG!=="Ok"?_(R._0.message):(l.contents=[],g())}}}function L$(e){let t=e.itemId,r=t!==void 0?t:"index:"+e.itemIndex.toString();return e.turnId+":"+e.streamKind+":"+r}function Ml(e){switch(e.TAG){case"HarnessNotification":return"codex";case"CompletionSnapshot":return"snapshot";case"Lifecycle":return"lifecycle"}}function U$(e){return e}function GS(e){return e!==void 0?e!=="streaming":!1}var Gu="pipeline.post_streamed_row",Fu="pipeline.stream_snapshot",is="pipeline.finalize_row",Du="pipeline.post_completed_row",jl="pipeline.message_state";function t9(e){return e}function Or(e,t){return e[t]}function E(e,t){return k(e[t],Tr)}function qe(e,t){return k(e[t],ke)}function pp(e,t){return k(e[t],Qi)}function os(e,t){return k(e[t],ha)}function cp(e,t){let r=e[t];return r!==void 0?Rc(r):[]}function DS(e){if(typeof e=="string"&&e.trim()!=="")return e}function _t(e,t){return k(e[t],DS)}var r9="phoenix_insert_body_limit",fp="\0",mp="\uFFFD";function J$(e){return e>=55296?e<=56319:!1}function Y$(e){return e>=56320?e<=57343:!1}function zl(e,t){let r=e.length,n=Math.min(Math.max(0,t),r),i=n>0&&n<r&&J$(e.charCodeAt(n-1|0))&&Y$(e.charCodeAt(n))?n-1|0:n;return e.slice(0,i)}function X$(e,t){let r=e.length,n=Math.max(0,r-Math.max(0,t)|0),i=n>0&&n<r&&J$(e.charCodeAt(n-1|0))&&Y$(e.charCodeAt(n))?n+1|0:n;return e.slice(i,r)}function n9(e,t,r){if(e.length<=t)return{text:e,truncated:!1};let n="[Linzumi truncated "+r+"]",i=Math.max(0,(t-n.length|0)-1|0);return{text:zl(zl(e,i)+" "+n,t),truncated:!0}}var W$=`
365
365
 
366
366
  [Linzumi truncated command output: output was too large to persist fully. Owners should search runner logs for codex.command_output_truncated failure_class=phoenix_insert_body_limit.]
367
367
 
368
- `;function XK(e){if(e.length<=48e3)return{text:e,truncated:!1};let t=Math.max(0,48e3-U$.length|0),r=Math.min(2e3,Math.floor(t/3)|0),n=t-r|0,i=zl(e,r),o=Y$(e,n);return{text:zl(i+U$+o,48e3),truncated:!0}}var Z$=`
368
+ `;function i9(e){if(e.length<=48e3)return{text:e,truncated:!1};let t=Math.max(0,48e3-W$.length|0),r=Math.min(2e3,Math.floor(t/3)|0),n=t-r|0,i=zl(e,r),o=X$(e,n);return{text:zl(i+W$+o,48e3),truncated:!0}}var Z$=`
369
369
 
370
370
  [Linzumi truncated agent timeline body: body was too large to persist fully. Owners should search runner logs for agent_timeline_body_truncated failure_class=phoenix_insert_body_limit.]
371
371
 
372
- `;function X$(e){if(e.length<=48e3)return e;let t=Math.max(0,48e3-Z$.length|0),r=Math.min(2e3,Math.floor(t/3)|0),n=t-r|0,i=zl(e,r),o=Y$(e,n);return zl(i+Z$+o,48e3)}function Uu(e,t){let r=t!==void 0?e+`
372
+ `;function Q$(e){if(e.length<=48e3)return e;let t=Math.max(0,48e3-Z$.length|0),r=Math.min(2e3,Math.floor(t/3)|0),n=t-r|0,i=zl(e,r),o=X$(e,n);return zl(i+Z$+o,48e3)}function Uu(e,t){let r=t!==void 0?e+`
373
373
 
374
- `+t:e;return X$(r.replaceAll(fp,mp))}function Zu(e){return G(e,t=>X$(t.replaceAll(fp,mp)))}function DS(e){let t=k(e,xr);if(t===void 0)return"info";switch(t){case"error":return"error";case"warning":return"warning";default:return"info"}}function qS(e){let t=k(e,xr);if(t===void 0)return"unknown";switch(t){case"blocked":return"blocked";case"canceled":case"cancelled":return"cancelled";case"error":case"failed":case"failure":return"failed";case"queued":return"queued";case"in_progress":case"running":return"running";case"completed":case"succeeded":case"success":return"succeeded";default:return"unknown"}}function W$(e){let t=qe(e,"rawProviderMetadata");return t!==void 0?t:qe(e,"raw_provider_metadata")}function LS(e,t){return["$ "+e,t].filter(r=>r.trim()!=="").join(`
374
+ `+t:e;return Q$(r.replaceAll(fp,mp))}function Wu(e){return G(e,t=>Q$(t.replaceAll(fp,mp)))}function qS(e){let t=k(e,Tr);if(t===void 0)return"info";switch(t){case"error":return"error";case"warning":return"warning";default:return"info"}}function LS(e){let t=k(e,Tr);if(t===void 0)return"unknown";switch(t){case"blocked":return"blocked";case"canceled":case"cancelled":return"cancelled";case"error":case"failed":case"failure":return"failed";case"queued":return"queued";case"in_progress":case"running":return"running";case"completed":case"succeeded":case"success":return"succeeded";default:return"unknown"}}function V$(e){let t=qe(e,"rawProviderMetadata");return t!==void 0?t:qe(e,"raw_provider_metadata")}function US(e,t){return["$ "+e,t].filter(r=>r.trim()!=="").join(`
375
375
 
376
- `)}function US(e,t){let r=YK(e.replaceAll(fp,mp),512,"command label"),n=XK(t.replaceAll(fp,mp));return{command:r.text,output:n.text,body:LS(r.text,n.text),truncated:r.truncated||n.truncated,originalLength:t.length}}function Q$(e){return e.truncated?[["output_truncated",!0],["output_original_length",e.originalLength],["output_max_chars",48e3],["output_truncation_reason",JK]]:[]}function eM(e,t,r){return Object.fromEntries([["kind","codex_assistant_message"],["item_id",e],["transcript_unit_id","codex_assistant_message:"+e],["stream_state",r],["content",t],["phase","final_answer"]])}function tM(e,t,r){return Object.fromEntries([["kind","codex_reasoning"],["item_id",e],["transcript_unit_id","codex_reasoning:"+e],["stream_state",r],["content",t],["summary_parts",[]]])}function rM(e,t,r,n){let i=t.durationMs,o=t.exitCode;return Object.fromEntries([["kind","codex_command_execution"],["item_id",e],["transcript_unit_id","codex_command_execution:"+e],["stream_state",r],["command",n.command],["cwd",x(t.cwd,"")],["status",x(t.status,r)],["process_id",x(t.processId,"")],["duration_ms",i!==void 0?i:null],["exit_code",o!==void 0?o:null],["stream",x(t.stream,"")],["output",n.output]].concat(Q$(n)))}function ZS(e,t,r,n,i){return rM(e,n,i,US(t,r))}function QK(e){let t="*** Update File: ",r="*** Add File: ",n="*** Delete File: ",i=e.startsWith(t),o=e.startsWith(r),a=e.startsWith(n);return i?{headerPath:e.slice(t.length).trim(),headerKind:"update"}:o?{headerPath:e.slice(r.length).trim(),headerKind:"add"}:a?{headerPath:e.slice(n.length).trim(),headerKind:"delete"}:void 0}function V$(e,t){return t!==void 0&&t.path.trim()!==""?e.concat([t]):e}function e9(e){let t=e.findIndex(i=>i.trim()!=="");if(t<0)return"";let r=e.toReversed().findIndex(i=>i.trim()!==""),n=r<0?e.length:e.length-r|0;return e.slice(t,n).join(`
377
- `)}function t9(e){let t={contents:[]},r={contents:void 0};return e.split(`
378
- `).forEach(n=>{let i=QK(n);if(i!==void 0){t.contents=V$(t.contents,r.contents),r.contents={path:i.headerPath,kind:i.headerKind,movePath:"",diffLines:[]};return}else if(n.startsWith("*** Move to: ")){r.contents=G(r.contents,o=>({path:o.path,kind:o.kind,movePath:n.slice(13).trim(),diffLines:o.diffLines}));return}else{if(n==="*** Begin Patch"||n==="*** End Patch"||n.startsWith("*** "))return;r.contents=G(r.contents,o=>({path:o.path,kind:o.kind,movePath:o.movePath,diffLines:o.diffLines.concat([n])}));return}}),V$(t.contents,r.contents).map(n=>Object.fromEntries([["path",n.path],["diff",e9(n.diffLines)],["kind",n.kind],["move_path",n.movePath]]))}function WS(e,t,r,n){return Object.fromEntries([["kind","codex_file_change"],["item_id",e],["transcript_unit_id","codex_file_change:"+e],["stream_state",r],["status",n],["patch_text",t],["changes",t9(t)]])}function nM(e){return Ve(e,[],(t,r)=>r!==void 0&&r.trim()!==""&&!t.includes(r)?t.concat([r]):t)}function VS(e){let t=nM(e.map(i=>i)),r=t.slice(0,6),n=t.length-r.length|0;return["Searches"].concat(r.map(i=>"- "+i)).concat(n>0?["- +"+n.toString()+" more"]:[]).join(`
379
- `)}function iM(e,t,r){return Object.fromEntries([["kind","codex_reasoning"],["item_id",e],["transcript_unit_id","codex_reasoning:"+e],["stream_state",r],["content",VS(t)],["summary_parts",[]]])}function r9(e){let t=qe(e,"action");return nM([E(e,"query"),k(t,r=>E(r,"query"))].concat(cp(e,"queries").map(r=>r).concat(t!==void 0?cp(t,"queries").map(r=>r):[])))}function HS(e,t,r){let n=t.body,i=t.provider,o=t.occurredAtMs,a=t.rawProviderMetadata;return Object.fromEntries([["kind","agent_status_event"],["item_id",e],["transcript_unit_id","agent_status_event:"+e],["stream_state",r],["event_kind","status"],["title",t.title],["body",n!==void 0?n:null],["severity",t.severity],["agent_provider",i!==void 0?i:null],["occurred_at_ms",o!==void 0?o:null],["raw_provider_metadata",a!==void 0?a:{}]])}function BS(e,t,r){let n=t.body,i=t.progressLabel,o=t.provider,a=t.occurredAtMs,s=t.rawProviderMetadata;return Object.fromEntries([["kind","agent_task_update_event"],["item_id",e],["transcript_unit_id","agent_task_update_event:"+e],["stream_state",r],["event_kind","task_update"],["title",t.title],["body",n!==void 0?n:null],["state",t.state],["progress_label",i!==void 0?i:null],["agent_provider",o!==void 0?o:null],["occurred_at_ms",a!==void 0?a:null],["raw_provider_metadata",s!==void 0?s:{}]])}function oM(e){let t=e.delta;if(t!==void 0&&!(t===null||Array.isArray(t)))switch(typeof t){case"string":return t;case"object":let i=E(t,"text");if(i!==void 0)return i;let o=E(t,"content");if(o!==void 0)return o;let a=E(t,"delta");return a!==void 0?a:E(t,"message")}let r=E(e,"text");if(r!==void 0)return r;let n=E(e,"content");return n!==void 0?n:E(e,"message")}function hp(e){let t=oM(e);if(t!==void 0&&t!=="")return t}function aM(e){let t=_t(e,"deltaBase64"),r=t!==void 0?Buffer.from(t,"base64").toString("utf8"):oM(e);if(r===void 0||r==="")return;let n=qe(e,"item"),i=_t(e,"command"),o;if(i!==void 0)o=i;else{let s=_t(e,"cmd");if(s!==void 0)o=s;else{let l=k(n,d=>_t(d,"command"));o=l!==void 0?l:k(n,d=>_t(d,"cmd"))}}let a=E(e,"processId");return{commandProcessId:a!==void 0?a:E(e,"process_id"),command:o,stream:x(E(e,"stream"),"stdout"),commandDelta:r}}function sM(e){let t=_t(e,"stdin"),r;if(t!==void 0)r=t;else{let n=_t(e,"inputText");if(n!==void 0)r=n;else{let i=_t(e,"input");r=i!==void 0?i:_t(e,"text")}}return G(r,n=>{let i=E(e,"processId");return{terminalProcessId:i!==void 0?i:E(e,"process_id"),inputText:n}})}var lM=hp;function GS(e){let t=k(e,FS);if(t!==void 0){let o=_a(t);if(o===void 0)return t;let a=_t(o,"patch");if(a!==void 0)return a;let s=_t(o,"input");if(s!==void 0)return s;let l=_t(o,"text");return l!==void 0?l:t}let r=k(e,ke);if(r===void 0)return;let n=_t(r,"patch");if(n!==void 0)return n;let i=_t(r,"input");return i!==void 0?i:_t(r,"text")}function dM(e){return ze(e,ke).map(t=>{let r=t.kind,n=k(r,ke),i=n!==void 0?x(E(n,"type"),""):x(k(r,xr),""),o=k(k(r,ke),l=>{let d=E(l,"move_path");return d!==void 0?d:E(l,"movePath")}),a=E(t,"move_path"),s;if(a!==void 0)s=a;else{let l=E(t,"movePath");s=l!==void 0?l:x(o,"")}return Object.fromEntries([["path",x(E(t,"path"),"")],["diff",x(_t(t,"diff"),"")],["kind",i],["move_path",s]])})}function n9(e){let t=E(e,"type");if(t===void 0)return!1;switch(t){case"fileChange":case"file_change":return!0;default:return!1}}function i9(e){if(e.length===0)return;let t=e.flatMap(r=>{let n=E(r,"path");if(n===void 0)return[];if(n.trim()==="")return[];let i=E(r,"kind"),o;if(i!==void 0)switch(i){case"add":o="*** Add File: "+n;break;case"delete":o="*** Delete File: "+n;break;default:o="*** Update File: "+n}else o="*** Update File: "+n;let a=_t(r,"diff");return a!==void 0?[o,a]:[o]}).join(`
376
+ `)}function WS(e,t){let r=n9(e.replaceAll(fp,mp),512,"command label"),n=i9(t.replaceAll(fp,mp));return{command:r.text,output:n.text,body:US(r.text,n.text),truncated:r.truncated||n.truncated,originalLength:t.length}}function eM(e){return e.truncated?[["output_truncated",!0],["output_original_length",e.originalLength],["output_max_chars",48e3],["output_truncation_reason",r9]]:[]}function tM(e,t,r){return Object.fromEntries([["kind","codex_assistant_message"],["item_id",e],["transcript_unit_id","codex_assistant_message:"+e],["stream_state",r],["content",t],["phase","final_answer"]])}function rM(e,t,r){return Object.fromEntries([["kind","codex_reasoning"],["item_id",e],["transcript_unit_id","codex_reasoning:"+e],["stream_state",r],["content",t],["summary_parts",[]]])}function nM(e,t,r,n){let i=t.durationMs,o=t.exitCode;return Object.fromEntries([["kind","codex_command_execution"],["item_id",e],["transcript_unit_id","codex_command_execution:"+e],["stream_state",r],["command",n.command],["cwd",x(t.cwd,"")],["status",x(t.status,r)],["process_id",x(t.processId,"")],["duration_ms",i!==void 0?i:null],["exit_code",o!==void 0?o:null],["stream",x(t.stream,"")],["output",n.output]].concat(eM(n)))}function ZS(e,t,r,n,i){return nM(e,n,i,WS(t,r))}function o9(e){let t="*** Update File: ",r="*** Add File: ",n="*** Delete File: ",i=e.startsWith(t),o=e.startsWith(r),a=e.startsWith(n);return i?{headerPath:e.slice(t.length).trim(),headerKind:"update"}:o?{headerPath:e.slice(r.length).trim(),headerKind:"add"}:a?{headerPath:e.slice(n.length).trim(),headerKind:"delete"}:void 0}function H$(e,t){return t!==void 0&&t.path.trim()!==""?e.concat([t]):e}function a9(e){let t=e.findIndex(i=>i.trim()!=="");if(t<0)return"";let r=e.toReversed().findIndex(i=>i.trim()!==""),n=r<0?e.length:e.length-r|0;return e.slice(t,n).join(`
377
+ `)}function s9(e){let t={contents:[]},r={contents:void 0};return e.split(`
378
+ `).forEach(n=>{let i=o9(n);if(i!==void 0){t.contents=H$(t.contents,r.contents),r.contents={path:i.headerPath,kind:i.headerKind,movePath:"",diffLines:[]};return}else if(n.startsWith("*** Move to: ")){r.contents=G(r.contents,o=>({path:o.path,kind:o.kind,movePath:n.slice(13).trim(),diffLines:o.diffLines}));return}else{if(n==="*** Begin Patch"||n==="*** End Patch"||n.startsWith("*** "))return;r.contents=G(r.contents,o=>({path:o.path,kind:o.kind,movePath:o.movePath,diffLines:o.diffLines.concat([n])}));return}}),H$(t.contents,r.contents).map(n=>Object.fromEntries([["path",n.path],["diff",a9(n.diffLines)],["kind",n.kind],["move_path",n.movePath]]))}function VS(e,t,r,n){return Object.fromEntries([["kind","codex_file_change"],["item_id",e],["transcript_unit_id","codex_file_change:"+e],["stream_state",r],["status",n],["patch_text",t],["changes",s9(t)]])}function iM(e){return Ve(e,[],(t,r)=>r!==void 0&&r.trim()!==""&&!t.includes(r)?t.concat([r]):t)}function HS(e){let t=iM(e.map(i=>i)),r=t.slice(0,6),n=t.length-r.length|0;return["Searches"].concat(r.map(i=>"- "+i)).concat(n>0?["- +"+n.toString()+" more"]:[]).join(`
379
+ `)}function oM(e,t,r){return Object.fromEntries([["kind","codex_reasoning"],["item_id",e],["transcript_unit_id","codex_reasoning:"+e],["stream_state",r],["content",HS(t)],["summary_parts",[]]])}function l9(e){let t=qe(e,"action");return iM([E(e,"query"),k(t,r=>E(r,"query"))].concat(cp(e,"queries").map(r=>r).concat(t!==void 0?cp(t,"queries").map(r=>r):[])))}function BS(e,t,r){let n=t.body,i=t.provider,o=t.occurredAtMs,a=t.rawProviderMetadata;return Object.fromEntries([["kind","agent_status_event"],["item_id",e],["transcript_unit_id","agent_status_event:"+e],["stream_state",r],["event_kind","status"],["title",t.title],["body",n!==void 0?n:null],["severity",t.severity],["agent_provider",i!==void 0?i:null],["occurred_at_ms",o!==void 0?o:null],["raw_provider_metadata",a!==void 0?a:{}]])}function KS(e,t,r){let n=t.body,i=t.progressLabel,o=t.provider,a=t.occurredAtMs,s=t.rawProviderMetadata;return Object.fromEntries([["kind","agent_task_update_event"],["item_id",e],["transcript_unit_id","agent_task_update_event:"+e],["stream_state",r],["event_kind","task_update"],["title",t.title],["body",n!==void 0?n:null],["state",t.state],["progress_label",i!==void 0?i:null],["agent_provider",o!==void 0?o:null],["occurred_at_ms",a!==void 0?a:null],["raw_provider_metadata",s!==void 0?s:{}]])}function aM(e){let t=e.delta;if(t!==void 0&&!(t===null||Array.isArray(t)))switch(typeof t){case"string":return t;case"object":let i=E(t,"text");if(i!==void 0)return i;let o=E(t,"content");if(o!==void 0)return o;let a=E(t,"delta");return a!==void 0?a:E(t,"message")}let r=E(e,"text");if(r!==void 0)return r;let n=E(e,"content");return n!==void 0?n:E(e,"message")}function hp(e){let t=aM(e);if(t!==void 0&&t!=="")return t}function sM(e){let t=_t(e,"deltaBase64"),r=t!==void 0?Buffer.from(t,"base64").toString("utf8"):aM(e);if(r===void 0||r==="")return;let n=qe(e,"item"),i=_t(e,"command"),o;if(i!==void 0)o=i;else{let s=_t(e,"cmd");if(s!==void 0)o=s;else{let l=k(n,d=>_t(d,"command"));o=l!==void 0?l:k(n,d=>_t(d,"cmd"))}}let a=E(e,"processId");return{commandProcessId:a!==void 0?a:E(e,"process_id"),command:o,stream:x(E(e,"stream"),"stdout"),commandDelta:r}}function lM(e){let t=_t(e,"stdin"),r;if(t!==void 0)r=t;else{let n=_t(e,"inputText");if(n!==void 0)r=n;else{let i=_t(e,"input");r=i!==void 0?i:_t(e,"text")}}return G(r,n=>{let i=E(e,"processId");return{terminalProcessId:i!==void 0?i:E(e,"process_id"),inputText:n}})}var dM=hp;function FS(e){let t=k(e,DS);if(t!==void 0){let o=_a(t);if(o===void 0)return t;let a=_t(o,"patch");if(a!==void 0)return a;let s=_t(o,"input");if(s!==void 0)return s;let l=_t(o,"text");return l!==void 0?l:t}let r=k(e,ke);if(r===void 0)return;let n=_t(r,"patch");if(n!==void 0)return n;let i=_t(r,"input");return i!==void 0?i:_t(r,"text")}function uM(e){return $e(e,ke).map(t=>{let r=t.kind,n=k(r,ke),i=n!==void 0?x(E(n,"type"),""):x(k(r,Tr),""),o=k(k(r,ke),l=>{let d=E(l,"move_path");return d!==void 0?d:E(l,"movePath")}),a=E(t,"move_path"),s;if(a!==void 0)s=a;else{let l=E(t,"movePath");s=l!==void 0?l:x(o,"")}return Object.fromEntries([["path",x(E(t,"path"),"")],["diff",x(_t(t,"diff"),"")],["kind",i],["move_path",s]])})}function d9(e){let t=E(e,"type");if(t===void 0)return!1;switch(t){case"fileChange":case"file_change":return!0;default:return!1}}function u9(e){if(e.length===0)return;let t=e.flatMap(r=>{let n=E(r,"path");if(n===void 0)return[];if(n.trim()==="")return[];let i=E(r,"kind"),o;if(i!==void 0)switch(i){case"add":o="*** Add File: "+n;break;case"delete":o="*** Delete File: "+n;break;default:o="*** Update File: "+n}else o="*** Update File: "+n;let a=_t(r,"diff");return a!==void 0?[o,a]:[o]}).join(`
380
380
  `);if(t!=="")return`*** Begin Patch
381
381
  `+t+`
382
382
  *** End Patch
383
- `}function uM(e){let t=qe(e,"item"),r;if(t!==void 0)r=t;else{let o=qe(e,"payload");r=o!==void 0?o:e}let n=E(r,"status");if(n9(r)&&(n===void 0||de(n,"completed"))){let o=dM(x(pp(r,"changes"),[])),a=_t(r,"patchText");if(a!==void 0)return a;let s=_t(r,"patch");return s!==void 0?s:i9(o)}if(!(de(E(r,"type"),"custom_tool_call")&&de(E(r,"name"),"apply_patch")&&(n===void 0||de(n,"completed"))))return;let i=GS(r.input);return i!==void 0?i:GS(r.arguments)}function KS(e){let t=x(qe(e,"item"),e),r=E(t,"type");if(r===void 0)return;switch(r){case"webSearch":case"webSearchCall":case"web_search_call":break;default:return}let n=r9(t);if(n.length!==0)return{queries:n}}function Lu(e,t,r){return Object.fromEntries([["kind",e],["item_id",t],["transcript_unit_id",e+":"+t],["stream_state","completed"]].concat(r))}function o9(e){return ze(x(pp(e,"content"),[]),ke).flatMap(t=>{let r=E(t,"type");if(r===void 0)return[];switch(r){case"input_text":case"output_text":case"text":break;default:return[]}let n=_t(t,"text");if(n!==void 0)return[n];let i=_t(t,"content");if(i!==void 0)return[i];let o=_t(t,"output_text");return o!==void 0?[o]:[]}).join(`
383
+ `}function cM(e){let t=qe(e,"item"),r;if(t!==void 0)r=t;else{let o=qe(e,"payload");r=o!==void 0?o:e}let n=E(r,"status");if(d9(r)&&(n===void 0||de(n,"completed"))){let o=uM(x(pp(r,"changes"),[])),a=_t(r,"patchText");if(a!==void 0)return a;let s=_t(r,"patch");return s!==void 0?s:u9(o)}if(!(de(E(r,"type"),"custom_tool_call")&&de(E(r,"name"),"apply_patch")&&(n===void 0||de(n,"completed"))))return;let i=FS(r.input);return i!==void 0?i:FS(r.arguments)}function JS(e){let t=x(qe(e,"item"),e),r=E(t,"type");if(r===void 0)return;switch(r){case"webSearch":case"webSearchCall":case"web_search_call":break;default:return}let n=l9(t);if(n.length!==0)return{queries:n}}function Lu(e,t,r){return Object.fromEntries([["kind",e],["item_id",t],["transcript_unit_id",e+":"+t],["stream_state","completed"]].concat(r))}function c9(e){return $e(x(pp(e,"content"),[]),ke).flatMap(t=>{let r=E(t,"type");if(r===void 0)return[];switch(r){case"input_text":case"output_text":case"text":break;default:return[]}let n=_t(t,"text");if(n!==void 0)return[n];let i=_t(t,"content");if(i!==void 0)return[i];let o=_t(t,"output_text");return o!==void 0?[o]:[]}).join(`
384
384
 
385
- `)}function a9(e){let t=o9(e);if(t!=="")return t;let r=E(e,"reply"),n;if(r!==void 0)n=r;else{let d=E(e,"summary");if(d!==void 0)n=d;else{let u=E(e,"content");n=u!==void 0?u:x(E(e,"text"),"")}}let i=_a(n);if(i===void 0)return n;let o=E(i,"reply");if(o!==void 0)return o;let a=E(i,"summary");if(a!==void 0)return a;let s=E(i,"content");if(s!==void 0)return s;let l=E(i,"message");return l!==void 0?l:x(E(i,"output_text"),n)}var s9=new RegExp("^https?:\\/\\/","i"),l9=new RegExp("^data:","i"),d9=new RegExp("^file:\\/\\/","i");function u9(e){if(!(s9.test(e)||l9.test(e))){if(!d9.test(e))return e;try{return B$.fileURLToPath(e)}catch{return}}}function c9(e){return ze(x(pp(e,"content"),[]),ke).flatMap(t=>{let r=G(E(t,"type"),a=>a.toLowerCase());if(r===void 0)return[];switch(r){case"image":case"input_image":case"output_image":break;default:return[]}let n=E(t,"path"),i;if(n!==void 0)i=n;else{let a=E(t,"file_path");if(a!==void 0)i=a;else{let s=E(t,"filePath");if(s!==void 0)i=s;else{let l=E(t,"image_url");if(l!==void 0)i=l;else{let d=E(t,"imageUrl");i=d!==void 0?d:E(t,"url")}}}}let o=k(i,u9);return o!==void 0?[o]:[]})}function f9(e,t){let r=new Set(t).values().toArray();if(r.length===0)return e;let n=["Kandan attachments:"].concat(r.map(o=>"- "+o)).join(`
385
+ `)}function f9(e){let t=c9(e);if(t!=="")return t;let r=E(e,"reply"),n;if(r!==void 0)n=r;else{let d=E(e,"summary");if(d!==void 0)n=d;else{let u=E(e,"content");n=u!==void 0?u:x(E(e,"text"),"")}}let i=_a(n);if(i===void 0)return n;let o=E(i,"reply");if(o!==void 0)return o;let a=E(i,"summary");if(a!==void 0)return a;let s=E(i,"content");if(s!==void 0)return s;let l=E(i,"message");return l!==void 0?l:x(E(i,"output_text"),n)}var m9=new RegExp("^https?:\\/\\/","i"),p9=new RegExp("^data:","i"),h9=new RegExp("^file:\\/\\/","i");function _9(e){if(!(m9.test(e)||p9.test(e))){if(!h9.test(e))return e;try{return K$.fileURLToPath(e)}catch{return}}}function g9(e){return $e(x(pp(e,"content"),[]),ke).flatMap(t=>{let r=G(E(t,"type"),a=>a.toLowerCase());if(r===void 0)return[];switch(r){case"image":case"input_image":case"output_image":break;default:return[]}let n=E(t,"path"),i;if(n!==void 0)i=n;else{let a=E(t,"file_path");if(a!==void 0)i=a;else{let s=E(t,"filePath");if(s!==void 0)i=s;else{let l=E(t,"image_url");if(l!==void 0)i=l;else{let d=E(t,"imageUrl");i=d!==void 0?d:E(t,"url")}}}}let o=k(i,_9);return o!==void 0?[o]:[]})}function y9(e,t){let r=new Set(t).values().toArray();if(r.length===0)return e;let n=["Kandan attachments:"].concat(r.map(o=>"- "+o)).join(`
386
386
  `);return e.trim()===""?n:[e,"",n].join(`
387
- `)}function H$(e,t){let r=a9(e),n=c9(e);return[{body:f9(r,n),structured:Lu("codex_assistant_message",t,[["content",r],["phase",x(E(e,"phase"),"final_answer")]])}]}function _p(e,t){let r=x(E(e,"id"),"item-"+t.toString()),n=E(e,"type");if(n===void 0)return[];switch(n){case"agentMessage":return H$(e,r);case"agentStatus":let i=x(_t(e,"title"),"Agent status"),o=Zu(_t(e,"body")),a=DS(e.severity),s=_t(e,"provider"),l=os(e,"occurredAtMs"),d=W$(e),u={title:i,body:o,severity:a,provider:s,occurredAtMs:l,rawProviderMetadata:d};return[{body:Uu(i,o),structured:HS(r,u,"completed")}];case"agentTaskUpdate":let c=x(_t(e,"title"),"Agent task"),f=Zu(_t(e,"body")),p=_t(e,"progressLabel"),m=qS(e.state),h=_t(e,"provider"),_=os(e,"occurredAtMs"),g=W$(e),b={title:c,body:f,state:m,progressLabel:p,provider:h,occurredAtMs:_,rawProviderMetadata:g};return[{body:Uu(c,f!==void 0?f:p),structured:BS(r,b,"completed")}];case"commandExecution":let y=x(E(e,"command"),"command"),v=x(_t(e,"aggregatedOutput"),""),S=US(y,v),A=E(e,"toolName"),R=os(e,"durationMs"),Z=os(e,"exitCode");return[{body:S.body,structured:Lu("codex_command_execution",r,[["command",S.command],["tool_name",A!==void 0?A:null],["cwd",x(E(e,"cwd"),"")],["status",x(E(e,"status"),"")],["process_id",x(E(e,"processId"),"")],["duration_ms",R!==void 0?R:null],["exit_code",Z!==void 0?Z:null],["output",S.output]].concat(Q$(S)))}];case"fileChange":let L=dM(x(pp(e,"changes"),[])),ae=_t(e,"patchText"),U=ae!==void 0?ae:x(_t(e,"patch"),"");return[{body:U.trim()!==""?U:L.map(re=>x(E(re,"path"),"")).join(`
388
- `),structured:Lu("codex_file_change",r,[["status",x(E(e,"status"),"")],["patch_text",U],["changes",L.map(re=>re)]])}];case"message":let oe=E(e,"role");return oe!==void 0?oe==="assistant"?H$(e,r):[]:[];case"reasoning":let W=cp(e,"content").join(`
389
- `),V=cp(e,"summary");return[{body:W.trim()!==""?W:V.join(`
390
- `),structured:Lu("codex_reasoning",r,[["content",W],["summary_parts",V.map(KK)]])}];case"terminalInput":let N=_t(e,"inputText"),j;if(N!==void 0)j=N;else{let re=_t(e,"input");j=re!==void 0?re:x(_t(e,"text"),"")}return[{body:j,structured:Lu("codex_terminal_input",r,[["process_id",x(E(e,"processId"),"")],["input_text",j]])}];default:return[]}}var cM=L$;var Nl={cwd:void 0,status:void 0,processId:void 0,durationMs:void 0,exitCode:void 0,stream:void 0};function as(e){let t=e!==void 0?e:"";return t===""?{parts:[],cached:"",joinedCount:0}:{parts:[t],cached:t,joinedCount:1}}function JS(e,t){t!==""&&e.parts.push(t)}function YS(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 m9(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 Gl(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 fM(e){return e.itemId}function yp(e){let t=E(e,"itemId");if(t!==void 0)return t;let r=E(e,"item_id");return r!==void 0?r:k(qe(e,"item"),n=>E(n,"id"))}function mM(e,t){let r=yp(t);switch(e){case"item/agentMessage/delta":return G(hp(t),n=>({TAG:"AssistantDelta",itemId:r,text:n}));case"command/exec/outputDelta":case"item/commandExecution/outputDelta":break;case"item/commandExecution/terminalInteraction":return G(sM(t),n=>({TAG:"TerminalInputDelta",itemId:r,processId:n.terminalProcessId,inputText:n.inputText}));case"item/fileChange/outputDelta":return G(lM(t),n=>({TAG:"FileChangeDelta",itemId:r,patchText:n}));case"item/reasoning/textDelta":return G(hp(t),n=>({TAG:"ReasoningDelta",itemId:r,text:n}));case"item/started":return G(KS(t),n=>({TAG:"WebSearchDelta",itemId:r,queries:n.queries}));default:return}return G(aM(t),n=>({TAG:"CommandOutputDelta",itemId:r,processId:n.commandProcessId,command:n.command,stream:n.stream,text:n.commandDelta}))}function pM(e){switch(e){case"assistant":return{TAG:"AssistantContent",text:as(void 0)};case"reasoning":return{TAG:"ReasoningContent",text:as(void 0)};case"commandOutput":return{TAG:"CommandOutputContent",command:"",processId:void 0,chunks:[]};case"fileChange":return{TAG:"FileChangeContent",patchText:as(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 p9(e,t){return Ve(t,e.slice(),(r,n)=>r.includes(n)?r:r.concat([n]))}function hM(e,t){if(m9(e)!==Gl(t))return e;switch(e.TAG){case"AssistantContent":return t.TAG!=="AssistantDelta"||JS(e.text,t.text),e;case"ReasoningContent":return t.TAG!=="ReasoningDelta"||JS(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"||JS(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:p9(e.queries,t.queries)}:e;case"AgentStatusContent":case"AgentTaskUpdateContent":return e}}function h9(e){return e.map(t=>t.text).join("")}function _M(e){let t=E(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 E(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 gM(e){let t=KS(e);if(t!==void 0)return{completedStreamKind:"webSearch",completedItemId:yp(e),completedContent:{TAG:"WebSearchContent",queries:t.queries}};let r=x(qe(e,"item"),e),n=uM(e);if(n!==void 0){let s=E(r,"call_id");return{completedStreamKind:"fileChange",completedItemId:s!==void 0?s:E(r,"id"),completedContent:{TAG:"FileChangeContent",patchText:as(n),status:"completed"}}}let i=_M(r);if(i===void 0)return;let o=_p(r,0)[0];if(o===void 0)return;let a=E(r,"id");switch(i){case"assistant":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"AssistantContent",text:as(x(E(o.structured,"content"),o.body))}};case"reasoning":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"ReasoningContent",text:as(x(E(o.structured,"content"),o.body))}};case"commandOutput":let s=Ar(o.structured,"output"),l;return l=typeof s=="string"?s:"",{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"CommandOutputContent",command:x(E(o.structured,"command"),""),processId:E(o.structured,"process_id"),chunks:[{stream:"",text:l}]}};case"fileChange":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"FileChangeContent",patchText:as(x(E(o.structured,"patch_text"),o.body)),status:"completed"}};case"terminalInput":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"TerminalInputContent",processId:E(o.structured,"process_id"),inputText:x(E(o.structured,"input_text"),o.body)}};case"webSearch":return;case"agentStatus":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"AgentStatusContent",_0:{title:x(E(o.structured,"title"),o.body),body:E(o.structured,"body"),severity:DS(Ar(o.structured,"severity")),provider:E(o.structured,"agent_provider"),occurredAtMs:os(o.structured,"occurred_at_ms"),rawProviderMetadata:qe(o.structured,"raw_provider_metadata")}}};case"agentTaskUpdate":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"AgentTaskUpdateContent",_0:{title:x(E(o.structured,"title"),o.body),body:E(o.structured,"body"),state:qS(Ar(o.structured,"state")),progressLabel:E(o.structured,"progress_label"),provider:E(o.structured,"agent_provider"),occurredAtMs:os(o.structured,"occurred_at_ms"),rawProviderMetadata:qe(o.structured,"raw_provider_metadata")}}}}}function Fl(e,t,r){switch(t.TAG){case"AssistantContent":let n=YS(t.text);return{renderedBody:n,renderedStructured:eM(e,n,r)};case"ReasoningContent":let i=YS(t.text);return{renderedBody:i,renderedStructured:tM(e,i,r)};case"CommandOutputContent":let o=t.chunks,a=o[o.length-1|0],s=ZS(e,t.command,h9(o),{cwd:Nl.cwd,status:Nl.status,processId:t.processId,durationMs:Nl.durationMs,exitCode:Nl.exitCode,stream:x(G(a,y=>y.stream),"")},r),l=x(E(s,"command"),""),d=Ar(s,"output");return{renderedBody:LS(l,typeof d=="string"?d:""),renderedStructured:s};case"FileChangeContent":let c=YS(t.patchText),f;return f=r==="completed"||t.status!=="started"?"completed":"started",{renderedBody:c,renderedStructured:WS(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",cM(r)],["process_id",x(t.processId,"")],["input_text",p]])};case"WebSearchContent":let m=t.queries;return{renderedBody:VS(m),renderedStructured:iM(e,m,r)};case"AgentStatusContent":let h=t._0,_=Zu(h.body);return{renderedBody:Uu(h.title,_),renderedStructured:HS(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=Zu(g.body);return{renderedBody:Uu(g.title,b!==void 0?b:g.progressLabel),renderedStructured:BS(e,{title:g.title,body:b,state:g.state,progressLabel:g.progressLabel,provider:g.provider,occurredAtMs:g.occurredAtMs,rawProviderMetadata:g.rawProviderMetadata},r)}}}function yM(e){return e.flatMap((t,r)=>{let n=ke(t);if(n===void 0)return[];let i=_M(n);return i!==void 0?i==="webSearch"?[]:_p(n,r).filter(o=>o.body.trim()!=="").map(o=>({snapshotIndex:r,projItemId:E(n,"id"),projStreamKind:i,projBody:o.body,projStructured:o.structured})):[]})}function XS(e,t){let r=x(E(e,"kind"),"codex_output"),n=Object.assign({},e);return n.item_id=t,n.transcript_unit_id=r+":"+t,n}function QS(e,t,r,n){if(r==="webSearch")return"local-codex-search-"+qn(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-"+qn(e+":"+t+":"+i+n).slice(0,32)}function Wu(e){let t=qe(e,"turn"),r=qe(e,"item"),n=k(r,d=>qe(d,"turn")),i=k(t,d=>E(d,"id"));if(i!==void 0)return i;let o=E(e,"turnId");if(o!==void 0)return o;let a=E(e,"turn_id");if(a!==void 0)return a;let s=k(r,d=>E(d,"turnId"));if(s!==void 0)return s;let l=k(r,d=>E(d,"turn_id"));return l!==void 0?l:k(n,d=>E(d,"id"))}function wi(e){return e!==void 0?e:null}var Hu="pipeline/turnMappingReady",ql="pipeline/turnMappingFailed",vM="Codex completed without producing a response.",_9="linzumi_agent_reply",g9="The agent ended its turn after narrating an intent without posting a reply or taking any action.",y9="agent narrated intent but posted no reply and took no action",b9="Stopped after repeated empty responses in a row";function v9(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 TM="Codex emitted unsupported tool call";function S9(e){return e!==void 0?e.startsWith(TM):!1}function SM(e){switch(e){case"assistant":case"reasoning":case"webSearch":return!1;default:return!0}}function w9(e){if(e===void 0)return;let t=E(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(E(e,"status"),"completed"))return;let n=Ar(e,"error"),i=0;if(n!==void 0){if(n!==null)return;i=2}else i=2;if(i===2){let o=Ar(e,"success"),a=0;if(typeof o=="boolean"){if(!o)return;a=3}else a=3;if(a===3){let s=x(E(e,"tool"),""),l=s.split("__");return x(l[l.length-1|0],s)===_9?"ReplyEvidence":"ActionEvidence"}}}}}function AM(e,t){let r=w9(t);if(r!==void 0){r==="ReplyEvidence"?e.agentReplyToolCallSeen=!0:e.agentActionToolCallSeen=!0;return}}function k9(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 OM(e){if(e===void 0)return;let t=E(e,"codex_protocol_failure_reason"),r=t!==void 0?t:E(e,"protocolFailureReason");if(r!==void 0)return r;let n=E(e,"type");if(n===void 0)return;switch(n){case"custom_tool_call_output":case"function_call_output":break;default:return}let i=E(e,"output"),o;if(i!==void 0)o=i;else{let a=E(e,"result");if(a!==void 0)o=a;else{let s=E(e,"text");o=s!==void 0?s:E(e,"content")}}return G(k9(o),a=>TM+": "+a)}function x9(e){return Ve(e,void 0,(t,r)=>t!==void 0?t:OM(ke(r)))}function CM(){return{phase:"running",turns:new Map,terminalTurnIds:new Set,bufferedTurns:new Map,consecutiveEmptyTurns:0,lastUpstreamErrorSummary:void 0,consecutiveIsolatedRejections:0,costCap402Seen:!1}}function T9(e){switch(e){case"turn/aborted":case"turn/canceled":case"turn/cancelled":return"interrupted";case"turn/failed":return"failed";default:return}}function A9(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 O9(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 C9=new RegExp("<[^>]*>","g"),E9=new RegExp(`data:[^"' )]+`,"g"),P9=new RegExp("\\s+","g");function Xo(e){if(e===void 0)return;let t=e.replace(C9," ").replace(E9,"").replace(P9," ").trim().slice(0,180);if(t!=="")return t}function Yo(e){if(e!==void 0&&typeof e=="number"&&isFinite(e))return e}function kp(e){let t=k(qe(e,"diagnostic_payload"),o=>qe(o,"error")),r=k(t,o=>qe(o,"codexErrorInfo")),n=k(r,o=>qe(o,"responseStreamDisconnected")),i=[Yo(k(n,o=>Ar(o,"httpStatusCode"))),Yo(k(r,o=>Ar(o,"httpStatusCode"))),Yo(k(r,o=>Ar(o,"statusCode"))),Yo(k(r,o=>Ar(o,"status"))),Yo(k(t,o=>Ar(o,"httpStatusCode"))),Yo(k(t,o=>Ar(o,"statusCode"))),Yo(k(t,o=>Ar(o,"status")))];return Ve(i,void 0,(o,a)=>o!==void 0?o:a)}function R9(e){let t=E(e,"diagnostic_summary"),r=t!==void 0?t:k(k(qe(e,"diagnostic_payload"),o=>qe(o,"error")),o=>E(o,"message")),n=k(r,o=>Xo(o));if(n===void 0)return;let i=kp(e);return i!==void 0?"Model gateway error (HTTP "+i.toString()+"): "+n:"Model gateway error: "+n}var I9=new RegExp("(?:<!doctype\\s+html|<html(?:\\s|>))","i"),$9=new RegExp("cloudflare|cf-ray|\\bblocked\\b|access denied|\\bchallenge\\b|attention required","i"),M9=new RegExp("cloudflare|cf-ray","i"),j9=new RegExp("\\bblocked\\b|access denied","i"),z9=new RegExp("attention required","i");function N9(e){let t=kp(e);if(t===void 0||t!==401&&t!==403)return;let r=k(qe(e,"diagnostic_payload"),i=>qe(i,"error")),n=Ve([E(e,"diagnostic_summary"),k(r,i=>E(i,"message")),E(e,"message")],void 0,(i,o)=>i!==void 0?i:o!==void 0&&I9.test(o)&&$9.test(o)?o:void 0);return G(n,i=>{let o=M9.test(i),a=j9.test(i),s=z9.test(i);return{edgeStatus:t,edgeSignature:o?"cloudflare":a?"blocked":s?"attention_required":"challenge"}})}function G9(e){return e!==void 0?e===402||e===408||e===425||e===429?!0:e>=500?e<=599:!1:!1}function F9(e){return e!==void 0&&e>=400&&e<=499&&e!==402&&e!==408&&e!==425?e!==429:!1}function D9(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=x(G(t,o=>o.trim()),"");return i===""?n:n+" Upstream said: "+i}function q9(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 L9(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=x(G(e,n=>n.trim()),"");return r===""?"Tool execution failed: "+t:"Tool execution failed ("+r+"): "+t}function Bu(e){let t=k(qe(e,"diagnostic_payload"),i=>qe(i,"error")),r=E(e,"message"),n;if(r!==void 0)n=r;else{let i=E(e,"reason");if(i!==void 0)n=i;else{let o=k(qe(e,"error"),a=>E(a,"message"));if(o!==void 0)n=o;else{let a=E(e,"error");if(a!==void 0)n=a;else{let s=E(e,"diagnostic");if(s!==void 0)n=s;else{let l=k(t,d=>E(d,"message"));n=l!==void 0?l:k(k(t,d=>qe(d,"error")),d=>E(d,"message"))}}}}}return Xo(n)}var U9=new RegExp("^(?:model_request_rejected|invalid_request_error|invalid_request|request_rejected|content_policy_violation|content_filter|input_validation_error)$","i"),Z9=new RegExp("\\bmodel request was rejected\\b|\\bmodel_request_rejected\\b","i");function W9(e){let t=k(qe(e,"diagnostic_payload"),o=>qe(o,"error")),r=k(t,o=>qe(o,"error")),n=qe(e,"error"),i=[[k(t,o=>E(o,"code")),k(t,o=>E(o,"message"))],[k(t,o=>E(o,"type")),k(t,o=>E(o,"message"))],[k(r,o=>E(o,"code")),k(r,o=>E(o,"message"))],[k(r,o=>E(o,"type")),k(r,o=>E(o,"message"))],[k(n,o=>E(o,"code")),k(n,o=>E(o,"message"))],[k(n,o=>E(o,"type")),k(n,o=>E(o,"message"))],[E(e,"code"),E(e,"message")],[E(e,"type"),E(e,"message")]];return Ve(i,void 0,(o,a)=>{if(o!==void 0)return o;let s=G(a[0],l=>l.trim());if(s!==void 0&&s!==""&&U9.test(s))return{colocatedMessage:a[1]}})}function V9(e){let t=W9(e),r=Bu(e),n=r!==void 0?Z9.test(r):!1;if(t===void 0&&!n)return;let i=Xo(k(t,o=>o.colocatedMessage));return i!==void 0?i:r!==void 0?r:""}function H9(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=x(G(e,n=>n.trim()),"");return r===""?"The model request was rejected: "+t:"The model request was rejected ("+r+"): "+t}var B9=new RegExp("^provider_outage$","i"),K9=new RegExp("rejecting requests|experiencing an outage|provider outage","i");function J9(e){let t=k(qe(e,"diagnostic_payload"),d=>qe(d,"error")),r=k(t,d=>qe(d,"error")),n=qe(e,"error");if(![k(t,d=>E(d,"code")),k(t,d=>E(d,"type")),k(r,d=>E(d,"code")),k(r,d=>E(d,"type")),k(n,d=>E(d,"code")),k(n,d=>E(d,"type")),E(e,"code"),E(e,"type")].some(d=>{let u=G(d,c=>c.trim());return u!==void 0&&u!==""?B9.test(u):!1}))return;let a=[k(t,d=>E(d,"message")),k(r,d=>E(d,"message")),k(n,d=>E(d,"message")),E(e,"message"),E(e,"reason")],s=Ve(a,void 0,(d,u)=>{if(d!==void 0)return d;let c=Xo(u);if(c!==void 0&&K9.test(c))return c});if(s!==void 0)return s;let l=Bu(e);return l!==void 0?l:""}function Y9(e){let t=x(G(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 X9(e){let t="the model provider rejected this request and produced no response (a one-off retry did not help).",r=x(G(e,n=>n.trim()),"");return r===""?"The model request was rejected: "+t:"The model request was rejected ("+r+"): "+t}function Q9(e,t,r,n){return e?{dispositionKind:"storm",dispositionRetryable:!1,dispositionReason:Y9(r)}:t<1?{dispositionKind:"isolated_retry",dispositionRetryable:!0,dispositionReason:H9(n)}:{dispositionKind:"isolated_terminal",dispositionRetryable:!1,dispositionReason:X9(n)}}var eJ=new RegExp("\\bapply_patch\\b[^]*\\bincompatible\\b|\\bin-flight tool future\\b[^]*\\bfail","i"),tJ=new RegExp("\\btools::router\\b[^]*\\bfatal\\b|\\bresponse\\.failed\\b","i"),rJ=new RegExp("(tool.*fatal|fatal.*tool|response[._]failed|tool_failure)","i");function nJ(e){return eJ.test(e)?!0:tJ.test(e)}function iJ(e){let t=E(e,"kind"),r;if(t!==void 0)r=t;else{let a=E(e,"type");if(a!==void 0)r=a;else{let s=k(qe(e,"error"),l=>E(l,"kind"));r=s!==void 0?s:k(qe(e,"error"),l=>E(l,"type"))}}let n=r!==void 0?rJ.test(r):!1,i=Bu(e),o=i!==void 0?nJ(i):!1;if(n||o)return i!==void 0?i:""}function wM(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 oJ(e){if(e===void 0)return;let t=bl(e,"{");if(t===void 0)return;let r=_a(e.slice(t)),n=r!==void 0?r:_a(e.slice(t,e.lastIndexOf("}")+1|0));if(n===void 0||!de(E(n,"type"),"error"))return;let i=qe(n,"error");if(i===void 0)return;let o=E(i,"type");return{envelopeStatus:Yo(Ar(n,"status")),envelopeErrorType:o!==void 0?o:E(i,"code"),envelopeMessage:E(i,"message")}}function aJ(e){let t=qe(e,"error"),r=k(qe(e,"diagnostic_payload"),h=>qe(h,"error")),n=k(r,h=>qe(h,"error")),i=kp(e),o=k(t,h=>E(h,"type")),a;if(o!==void 0)a=o;else{let h=k(t,_=>E(_,"code"));if(h!==void 0)a=h;else{let _=k(r,g=>E(g,"type"));if(_!==void 0)a=_;else{let g=k(r,b=>E(b,"code"));if(g!==void 0)a=g;else{let b=k(n,y=>E(y,"type"));if(b!==void 0)a=b;else{let y=k(n,v=>E(v,"code"));if(y!==void 0)a=y;else{let v=wM(k(t,S=>Ar(S,"codexErrorInfo")));a=v!==void 0?v:wM(k(r,S=>Ar(S,"codexErrorInfo")))}}}}}}let s=Xo(k(t,h=>E(h,"message"))),l;if(s!==void 0)l=s;else{let h=Xo(k(n,_=>E(_,"message")));if(h!==void 0)l=h;else{let _=Xo(k(r,g=>E(g,"message")));l=_!==void 0?_:Bu(e)}}if(i===void 0&&a===void 0){let h=Ve([k(t,_=>E(_,"message")),k(n,_=>E(_,"message")),k(r,_=>E(_,"message")),E(e,"message"),E(e,"reason"),E(e,"error"),E(e,"diagnostic"),E(e,"diagnostic_summary")],void 0,(_,g)=>_!==void 0?_:oJ(g));if(h!==void 0){i=h.envelopeStatus,a=h.envelopeErrorType;let _=Xo(h.envelopeMessage);l=_!==void 0?_:l}}let c=G(a,h=>h.trim()),f;f=c!==void 0&&c!==""?c:void 0;let p=ze([G(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 kM(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 EM(e){return e===429||e>=500&&e<=599?"TransientRetryClass":"DeterministicRetryClass"}var sJ=new RegExp("upstream model stream stalled","i"),lJ=new RegExp("\\(HTTP (\\d{3})\\)");function PM(e){let t=lJ.exec(e);if(t!=null)return k(k(t.slice(1)[0],r=>r),jn)}function dJ(e){let t=PM(e);return t!==void 0?EM(t):sJ.test(e)?"TransientRetryClass":"DeterministicRetryClass"}function ew(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,EM(i)==="TransientRetryClass"?t.contents=!0:r.contents=!0),[e.swLastUpstreamErrorReason,e.swLastErrorDiagnosticText].forEach(s=>{if(s===void 0)return;n.contents=n.contents+1|0,dJ(s)==="TransientRetryClass"?t.contents=!0:r.contents=!0}),e.swErrorNotificationCount>(n.contents+e.swUnattributedErrorNotificationCount|0)&&!e.swUpstreamRejectedSeen&&!e.swProviderOutageFlaggedSeen&&!e.swToolFatalSeen&&(r.contents=!0);let o=r.contents,a=t.contents;return o?"deterministic":a?"transient":"none"}function xM(e){return e.swLastUpstreamErrorHttpStatus===429?!0:[e.swLastUpstreamErrorReason,e.swLastErrorDiagnosticText].some(r=>r!==void 0?de(PM(r),429):!1)}var uJ=" (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 cJ(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 fJ(e){return" (An automatic resume was attempted at "+new Date(e).toISOString()+" after the stream stalled; it did not complete.)"}var RM=" (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 IM(e){return e>0?" ("+e.toString()+" automatic "+(e===1?"retry":"retries")+" did not help.)":""}var tw={autoRetryPreFirstByteStall:!1,messageStateRetryable:!1,costCapAutoRetrySuppressed:!1,messageStateFate:void 0,autoResumeMidStreamStall:!1,midStreamResumeRateLimitSuppressed:!1,midStreamResumeAttemptBurnedAtMs:void 0};function bp(e,t){return Ar(e,t)===!0}function mJ(e){let t=Ar(e,"fate");if(typeof t=="string")return lp(t)}function pJ(e,t,r,n){let i=e==="turn/failed"&&de(k(qe(t,"error"),y=>E(y,"code")),"idle_stream_timeout"),o=e==="turn/failed"&&bp(t,"retryable"),a=e==="turn/failed"?mJ(t):void 0;if(!i)return{autoRetryPreFirstByteStall:!1,messageStateRetryable:o,costCapAutoRetrySuppressed:!1,messageStateFate:a,autoResumeMidStreamStall:!1,midStreamResumeRateLimitSuppressed:!1,midStreamResumeAttemptBurnedAtMs:void 0};let s=n.sessionMidStreamResumeAttemptAtMs,l=s!==void 0,d=ew(r)!=="deterministic",u=bp(t,"preFirstByteStall")&&d,c=bp(t,"midStreamResumableStall"),f=c&&xM(r),p=ew({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:a!==void 0?a:xM(r)?"rate_limited":"transient_upstream",autoResumeMidStreamStall:g,midStreamResumeRateLimitSuppressed:b,midStreamResumeAttemptBurnedAtMs:l?s:void 0}}function hJ(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 xp(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 Tp(e){let t=e.turns.values().toArray().filter(n=>n.phase==="ActiveTurnPhase");return t.length!==1?void 0:t[0].turnId}function Sp(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 Vu(e){let t=e.nextStreamSnapshotIndex;return e.nextStreamSnapshotIndex=e.nextStreamSnapshotIndex+1|0,t}function Dl(e){let t=E(e,"reason");if(t!==void 0)return t;let r=E(e,"message");if(r!==void 0)return r;let n=k(qe(e,"error"),i=>E(i,"message"));return n!==void 0?n:x(E(e,"error"),"codex_turn_aborted")}function _J(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 gJ(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 wp(e,t,r,n,i,o,a,s){let l;if(s.autoRetryPreFirstByteStall||s.costCapAutoRetrySuppressed){let _=o.autoRetryAttemptsForSeq;l=n+IM(_!==void 0?_(t.sourceSeq):0)+(s.costCapAutoRetrySuppressed?RM:"")}else l=n;if(s.midStreamResumeRateLimitSuppressed&&(l=l+uJ),r==="failed"){let _=s.midStreamResumeAttemptBurnedAtMs;if(_!==void 0)l=l+cJ(_);else{let g=k(o.midStreamResumeAttemptAtMsForSeq,b=>b(t.sourceSeq));g!==void 0&&(l=l+fJ(g))}}t.items.forEach(_=>{if(!_.posted||NS(_.emittedStreamState))return;let g=Fl(_.wireItemKey,_.content,a),b=Object.fromEntries(Sp(o,t,_,g).concat([["stream_snapshot_index",Vu(_)],["terminal_outcome",r],["reason",n]])),y={TAG:"Enqueue",kind:is,data:b,coalesceKey:void 0,resolution:"MustAck"};i.push(y),_.emittedStreamState=a,_.lastEmittedBody=g.renderedBody});let d=s.messageStateFate,u=s.messageStateFate,c;if(u!==void 0){let _=k(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((s.messageStateRetryable?[["retryable",!0]]:[]).concat(d!==void 0?[["fate",d]]:[])).concat(c.concat(p))),h={TAG:"Enqueue",kind:jl,data:m,coalesceKey:void 0,resolution:"MustAck"};i.push(h),i.push({TAG:"TurnTerminal",turnId:t.turnId,outcome:r,reason:l,retryableEmptyTurn:s.autoRetryPreFirstByteStall,autoResumeMidStreamStall:s.autoResumeMidStreamStall,fate:s.messageStateFate}),e.turns.delete(t.turnId),xp(e,t.turnId)}function $M(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=q$(c),p=x(l,f),m={identity:c,itemKey:f,wireItemKey:p,clientMessageId:QS(n.instanceId,e.turnId,t,p),content:pM(t),posted:!1,completed:!1,emittedStreamState:void 0,lastEmittedBody:void 0,nextDeltaIndex:0,nextStreamSnapshotIndex:1};return e.items.push(m),m};if(t==="webSearch"){let l=e.items.find(d=>d.identity.streamKind==="webSearch");return l!==void 0?l:o("web-search:"+e.turnId)}let a=r!==void 0?e.items.find(l=>l.identity.streamKind===t?de(l.identity.itemId,r):!1):void 0;if(a!==void 0)return a;let s=e.items.find(l=>l.identity.streamKind===t&&l.identity.itemId===void 0?!l.completed:!1);return r!==void 0?s!==void 0&&i?s:o(r):s!==void 0?s:o(r)}function MM(e,t,r,n,i,o){let a=Fl(t.wireItemKey,t.content,n);if(t.posted){let u=Object.fromEntries(Sp(i,e,t,a).concat([["delta_index",r],["stream_snapshot_index",Vu(t)]])),c=t.itemKey,f={TAG:"Enqueue",kind:Fu,data:u,coalesceKey:c,resolution:"MustAck"};o.push(f),t.emittedStreamState=n,t.lastEmittedBody=a.renderedBody;return}if(a.renderedBody.trim()==="")return;let l=Object.fromEntries(Sp(i,e,t,a).concat([["delta_index",r],["stream_snapshot_index",Vu(t)]])),d={TAG:"Enqueue",kind:Gu,data:l,coalesceKey:void 0,resolution:"MustAck"};if(o.push(d),t.posted=!0,t.emittedStreamState=n,t.lastEmittedBody=a.renderedBody,n==="completed"){t.completed=!0;return}}function vp(e,t,r,n){if(e.phase==="ActiveTurnPhase"){let l=$M(e,Gl(t),fM(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=hM(l.content,t);let d=l.nextDeltaIndex;l.nextDeltaIndex=l.nextDeltaIndex+1|0;let u=Gl(t),c;return c=u==="terminalInput"?"completed":"streaming",MM(e,l,d,c,r,n)}let o=[["turn_id",e.turnId],["stream_kind",Gl(t)]],s={TAG:"Log",event:"pipeline.loop.delta_for_completing_turn",fields:Object.fromEntries(o)};n.push(s)}function yJ(e,t,r,n){t.errorNotificationCount=t.errorNotificationCount+1|0;let i=iJ(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=V9(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 a=J9(r);if(a!==void 0){t.providerOutageFlaggedSeen=!0,t.providerOutageDetail===void 0&&a!==""&&(t.providerOutageDetail=a);let h={TAG:"Log",event:"codex.provider_outage_flagged_captured",fields:Object.fromEntries([["turn_id",t.turnId],["detail",a===""?null:a]])};n.push(h)}let s=kp(r),l=N9(r);if(l!==void 0&&(t.edgeBlockEvidence=l),s!==void 0){let m=t.lastUpstreamErrorHttpStatus;m!==void 0&&s<=m||(t.lastUpstreamErrorHttpStatus=s)}if(de(s,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=R9(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=Bu(r);if(m!==void 0){t.lastErrorDiagnosticText=m,u=!0;let _={TAG:"Log",event:"codex.error_without_http_status_captured",fields:Object.fromEntries([["turn_id",t.turnId],["diagnostic_text",m]])};n.push(_)}}i===void 0&&o===void 0&&a===void 0&&s===void 0&&d===void 0&&!u&&(t.unattributedErrorNotificationCount=t.unattributedErrorNotificationCount+1|0);let c=aJ(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 bJ(e,t,r,n){let i=e.bufferedTurns.get(t);if(i!==void 0){i.push(r);return}e.bufferedTurns.set(t,[r]);let a={TAG:"Log",event:"pipeline.loop.turn_events_buffered",fields:Object.fromEntries([["turn_id",t]])};n.push(a)}function vJ(e,t,r,n){let i=qe(t,"item");i!==void 0&&e.protocolFailureReason===void 0&&(e.protocolFailureReason=OM(i)),AM(e,i!==void 0?i:t);let o=gM(t);if(o===void 0)return;if(o.completedStreamKind==="webSearch"){let c=o.completedContent,f;return f=c.TAG==="WebSearchContent"?c.queries:[],vp(e,{TAG:"WebSearchDelta",itemId:o.completedItemId,queries:f},r,n)}if(e.phase==="ActiveTurnPhase"){let c=$M(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=Fl(c.wireItemKey,c.content,"streaming");return c.posted&&de(p.renderedBody,c.lastEmittedBody)?void 0:MM(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 SJ(e,t,r,n){let i=E(t,"turnId"),o=x(E(t,"reason"),"turn source-seq mapping failed");if(i===void 0||e.terminalTurnIds.has(i))return;let a=e.turns.get(i);if(a!==void 0)return wp(e,a,"failed",o,n,r,"failed",tw);let s=e.bufferedTurns.get(i);e.bufferedTurns.delete(i);let l=[["level","warn"],["turn_id",i],["buffered_event_count",x(G(s,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}),xp(e,i)}function wJ(e,t,r,n,i){let o=Ar(r,"items"),a=o!==void 0?Array.isArray(o)?o:[]:[];t.protocolFailureReason===void 0&&(t.protocolFailureReason=x9(a)),a.forEach(q=>AM(t,ke(q)));let s=yM(a),l=new Set,d=new Map;s.forEach((q,Ee)=>{let ve=q.projItemId;if(ve===void 0)return;let _e=t.items.find(Be=>Be.posted&&!l.has(Be.itemKey)&&Be.identity.streamKind===q.projStreamKind?de(Be.identity.itemId,ve):!1);if(_e!==void 0){l.add(_e.itemKey),d.set(Ee,_e);return}});let u=new Map;t.items.forEach(q=>{if(!(q.posted&&!l.has(q.itemKey)&&q.identity.itemId===void 0))return;let Ee=q.identity.streamKind;u.set(Ee,x(u.get(Ee),0)+1|0)});let c=new Map;s.forEach((q,Ee)=>{if(d.has(Ee))return;let ve=q.projStreamKind;c.set(ve,x(c.get(ve),0)+1|0)});let f=(q,Ee)=>{let ve=Fl(q.wireItemKey,q.content,"completed").renderedBody.trim(),_e=Ee.projBody.trim();return _e.startsWith(ve)?!0:ve.startsWith(_e)};s.forEach((q,Ee)=>{if(d.has(Ee))return;let ve=q.projStreamKind,_e=de(c.get(ve),u.get(ve));if(q.projItemId!==void 0&&!_e)return;let Be=t.items.find(Jt=>Jt.posted&&!l.has(Jt.itemKey)&&Jt.identity.streamKind===q.projStreamKind?Jt.identity.itemId===void 0:!1);if(Be!==void 0&&(q.projItemId===void 0||f(Be,q))){l.add(Be.itemKey),d.set(Ee,Be);return}});let p=d.entries().toArray();t.items.forEach(q=>{let Ee=p.find(Jt=>Jt[1].itemKey===q.itemKey);if(Ee!==void 0){let Jt=s[Ee[0]];if(Jt===void 0)return;let fn=Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["item_key",q.itemKey],["item_id",q.wireItemKey],["stream_kind",q.identity.streamKind],["item_index",q.identity.itemIndex],["source_seq",t.sourceSeq],["client_message_id",q.clientMessageId],["body",Jt.projBody],["structured",XS(Jt.projStructured,q.wireItemKey)],["stream_snapshot_index",Vu(q)],["terminal_outcome","completed"]]),ki={TAG:"Enqueue",kind:is,data:fn,coalesceKey:void 0,resolution:"MustAck"};i.push(ki),q.emittedStreamState="completed",q.lastEmittedBody=Jt.projBody;return}if(!q.posted||NS(q.emittedStreamState))return;let ve=Fl(q.wireItemKey,q.content,"completed"),_e=Object.fromEntries(Sp(n,t,q,ve).concat([["stream_snapshot_index",Vu(q)],["terminal_outcome","completed"]])),Be={TAG:"Enqueue",kind:is,data:_e,coalesceKey:void 0,resolution:"MustAck"};i.push(Be),q.emittedStreamState="completed",q.lastEmittedBody=ve.renderedBody}),s.forEach((q,Ee)=>{if(d.has(Ee))return;let ve=q.projItemId,_e=ve!==void 0?ve:t.turnId+":"+q.projStreamKind+":snapshot:"+q.snapshotIndex.toString(),Be=q.projItemId,Jt=Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["item_key",t.turnId+":"+q.projStreamKind+":"+(Be!==void 0?Be:"snapshot:"+q.snapshotIndex.toString())],["item_id",_e],["stream_kind",q.projStreamKind],["snapshot_index",q.snapshotIndex],["source_seq",t.sourceSeq],["client_message_id",QS(n.instanceId,t.turnId,q.projStreamKind,_e)],["body",q.projBody],["structured",XS(q.projStructured,_e)],["stream_snapshot_index",1]]),fn={TAG:"Enqueue",kind:Du,data:Jt,coalesceKey:void 0,resolution:"MustAck"};i.push(fn)});let m=t.items.some(q=>q.identity.streamKind==="assistant"?q.posted:!1)||s.some(q=>q.projStreamKind==="assistant"),h=t.agentActionToolCallSeen||t.items.some(q=>q.posted?SM(q.identity.streamKind):!1)||s.some(q=>SM(q.projStreamKind)),_=n.linzumiAgentSession&&m&&!t.agentReplyToolCallSeen&&!h,g=m&&!_,b=t.protocolFailureReason,y=S9(b)&&g,v=y?void 0:b,S;if(!g&&b===void 0&&t.lastUpstreamErrorReason===void 0){let q;if(_)q={cause:y9};else{let Ee=t.lastUpstreamErrorSummary;q=hJ(t,s.length,Ee!==void 0?Ee:e.lastUpstreamErrorSummary)}S=q}else S=void 0;let A=!g&&v===void 0&&t.upstreamRejectedSeen,R=!g&&v===void 0&&t.providerOutageFlaggedSeen,Z=F9(t.lastUpstreamErrorHttpStatus),L=!g&&v===void 0&&t.edgeBlockEvidence!==void 0,ae=A&&!R&&!Z,U=R||ae?Q9(R,e.consecutiveIsolatedRejections,t.providerOutageDetail,t.upstreamRejectedDetail):void 0,B;if(U!==void 0)switch(U.dispositionKind){case"isolated_retry":B=!0;break;case"storm":case"isolated_terminal":B=!1;break}else B=!1;ae?e.consecutiveIsolatedRejections=e.consecutiveIsolatedRejections+1|0:e.consecutiveIsolatedRejections=0;let oe=!g&&v===void 0&&t.lastUpstreamErrorReason===void 0&&t.lastErrorDiagnosticText===void 0&&!A&&G9(t.lastUpstreamErrorHttpStatus),W=!g&&v===void 0&&t.lastUpstreamErrorReason===void 0&&Z,V=!g&&v===void 0&&t.lastUpstreamErrorReason===void 0&&!A&&!oe&&!W&&t.toolFatalSeen,M;if(U!==void 0)M=U.dispositionReason;else if(W){let q=t.upstreamRejectedDetail;M=D9(t.lastUpstreamErrorHttpStatus,q!==void 0?q:t.lastErrorDiagnosticText)}else if(oe)M=q9(t.lastUpstreamErrorHttpStatus);else if(V)M=L9(t.toolFatalDetail);else{let q=t.lastUpstreamErrorReason;M=q!==void 0?q:_?g9:S!==void 0?vM+" ["+S.cause+"]":vM}let N=S!==void 0&&v===void 0&&t.modelInteractionSeen&&t.lastErrorDiagnosticText===void 0&&!A&&!oe&&!W&&!V;N?e.consecutiveEmptyTurns=e.consecutiveEmptyTurns+1|0:e.consecutiveEmptyTurns=0;let j=N&&e.consecutiveEmptyTurns>3,re=N&&!j||B,se=n.autoRetryAttemptsForSeq,Ae=se!==void 0?se(t.sourceSeq):0,Ue=re&&e.costCap402Seen&&Ae<2,Ge=re&&!Ue;if(L){let q=t.edgeBlockEvidence,Ee=t.edgeBlockEvidence,_e={TAG:"Log",event:"codex.edge_blocked_captured",fields:Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["http_status",q!==void 0?q.edgeStatus:null],["signature",Ee!==void 0?Ee.edgeSignature:null]])};i.push(_e)}let dt=j?b9+" ("+e.consecutiveEmptyTurns.toString()+" in a row"+(S!==void 0?": "+S.cause:"")+").":void 0,je=v!==void 0?v:g?void 0:dt!==void 0?dt:M,pt=N&&!j?Ae:0,Ye=G(je,q=>q+IM(pt)+(Ue?RM:"")),He=S!==void 0&&!j&&!A&&!oe&&!W&&!V||B||L,It;if(He||R)It="transient_upstream";else if(oe){let q=t.lastUpstreamErrorHttpStatus;It=q!==void 0?Ou(q):"transient_upstream"}else It="deterministic";if(Ue){let q=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["reason",wi(je)],["isolated_rejection_retry_suppressed",B]],ve={TAG:"Log",event:"codex.empty_turn_auto_retry_suppressed_cost_cap",fields:Object.fromEntries(q)};i.push(ve)}if(j){let q=t.lastUpstreamErrorSummary,Ee=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["consecutive_empty_turns",e.consecutiveEmptyTurns],["max_consecutive_empty_turns",3],["cause",wi(G(S,Be=>Be.cause))],["last_upstream_error",wi(q!==void 0?q:e.lastUpstreamErrorSummary)]],_e={TAG:"Log",event:"codex.empty_turn_loop_guard_tripped",fields:Object.fromEntries(Ee)};i.push(_e)}if(y){let q=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["reason",wi(b)]],ve={TAG:"Log",event:"codex.turn_completed_with_unsupported_tool_call_ignored",fields:Object.fromEntries(q)};i.push(ve)}else if(b!==void 0){let q=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["reason",wi(b)]],ve={TAG:"Log",event:"codex.turn_completed_with_protocol_failure",fields:Object.fromEntries(q)};i.push(ve)}if(_){let Ee={TAG:"Log",event:"codex.agent_turn_narration_only_no_reply",fields:Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["streamed_item_count",t.items.length],["snapshot_item_count",s.length],["agent_reply_tool_call_seen",t.agentReplyToolCallSeen],["agent_action_tool_call_seen",t.agentActionToolCallSeen],["retryable_empty_turn",He],["empty_turn_loop_guard_tripped",j]])};i.push(Ee)}if(!m){let q=t.lastUpstreamErrorHttpStatus,Ee=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["streamed_item_count",t.items.length],["snapshot_item_count",s.length],["notification_count",t.notificationCount],["error_notification_count",t.errorNotificationCount],["model_interaction_seen",t.modelInteractionSeen],["last_error_diagnostic_text",wi(t.lastErrorDiagnosticText)],["last_upstream_error_reason",wi(t.lastUpstreamErrorReason)],["last_upstream_error_summary",wi(t.lastUpstreamErrorSummary)],["empty_turn_cause",wi(G(S,Be=>Be.cause))],["tool_fatal_seen",V],["tool_fatal_detail",wi(t.toolFatalDetail)],["upstream_rejected_seen",A],["upstream_rejected_detail",wi(t.upstreamRejectedDetail)],["upstream_terminal_4xx",W],["last_upstream_error_http_status",q!==void 0?q:null],["provider_outage_flagged",R],["isolated_rejection_retry_granted",B],["rejection_disposition",U!==void 0?U.dispositionKind:null],["consecutive_isolated_rejections",e.consecutiveIsolatedRejections],["retryable_empty_turn",He],["empty_turn_loop_guard_tripped",j],["cost_cap_auto_retry_suppressed",Ue]],_e={TAG:"Log",event:"codex.turn_completed_without_assistant_output",fields:Object.fromEntries(Ee)};i.push(_e)}let Or;if(Ye!==void 0){let q=k(n.ladderHistoryForSeq,_e=>_e(t.sourceSeq,It)),Ee=t.lastUpstreamErrorSummary,ve;if(Ee!==void 0)ve=[["upstream_error",Ee]];else{let _e=e.lastUpstreamErrorSummary;ve=_e!==void 0?[["upstream_error",_e]]:[]}Or=[["status","failed"],["reason",Ye]].concat((He?[["retryable",!0]]:[]).concat([["fate",It]])).concat((q!==void 0?[["ladder",q]]:[]).concat(L?[["failure_class","edge_blocked"]]:[]).concat(ve))}else Or=[["status","processed"]];let Ut=Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["seq",t.sourceSeq]].concat(Or)),Xe={TAG:"Enqueue",kind:jl,data:Ut,coalesceKey:void 0,resolution:"MustAck"};i.push(Xe),Ye===void 0&&(e.lastUpstreamErrorSummary=void 0),i.push(Ye!==void 0?{TAG:"TurnTerminal",turnId:t.turnId,outcome:"failed",reason:Ye,retryableEmptyTurn:Ge,autoResumeMidStreamStall:!1,fate:It}:{TAG:"TurnTerminal",turnId:t.turnId,outcome:"completed",reason:void 0,retryableEmptyTurn:!1,autoResumeMidStreamStall:!1,fate:void 0}),e.turns.delete(t.turnId),xp(e,t.turnId)}function kJ(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 wJ(e,o,r,n,i);let u={TAG:"Log",event:"pipeline.loop.snapshot_for_active_turn",fields:Object.fromEntries([["turn_id",t]])};i.push(u);return}let s={TAG:"Log",event:"pipeline.loop.snapshot_for_unknown_turn",fields:Object.fromEntries([["turn_id",t]])};i.push(s)}function xJ(e,t,r,n){let i=t.method,o=x(t.params,{});if(i===Hu)return;if(i===ql)return SJ(e,o,r,n);if(!A9(i))return;let a=Wu(o),s=a!==void 0?a:Tp(e);if(s!==void 0){if(e.terminalTurnIds.has(s)){let y={TAG:"Log",event:"pipeline.loop.notification_for_terminal_turn",fields:Object.fromEntries([["method",i],["turn_id",s]])};n.push(y);return}let u=e.turns.get(s),c;if(u!==void 0)c=u;else{let b=r.sourceSeqForTurn(s);c=b!==void 0?_J(e,s,b):void 0}if(c===void 0)return bJ(e,s,{TAG:"HarnessNotification",_0:t},n);if(c.notificationCount=c.notificationCount+1|0,O9(i)&&(c.modelInteractionSeen=!0),i==="turn/started")return;if(i==="turn/completed")return gJ(c,n);let f=T9(i);if(f!==void 0){let b=pJ(i,o,kM(c),{sessionCostCap402Seen:e.costCap402Seen,sessionMidStreamResumeAttemptAtMs:k(r.midStreamResumeAttemptAtMsForSeq,v=>v(c.sourceSeq))});if(b.autoResumeMidStreamStall){let v=[["thread_key",r.threadKey],["turn_id",c.turnId],["source_seq",c.sourceSeq],["reason",Dl(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",Dl(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",Dl(o)]],R={TAG:"Log",event:"codex.mid_stream_stall_second_stall_after_resume",fields:Object.fromEntries(S)};n.push(R)}}if(b.autoRetryPreFirstByteStall){let v=[["thread_key",r.threadKey],["turn_id",c.turnId],["source_seq",c.sourceSeq],["reason",Dl(o)],["evidence_class",ew(kM(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",Dl(o)],["flavor",bp(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 wp(e,c,f,Dl(o),n,r,y,b)}if(i==="error")return yJ(e,c,o,n);if(i==="item/completed"||i==="response_item")return vJ(c,o,r,n);let p=mM(i,o);if(p===void 0)return;if(c.phase!=="ActiveTurnPhase")return vp(c,p,r,n);if(Gl(p)!=="reasoning")return c.reasoningStepsWithoutProgress=0,vp(c,p,r,n);if(c.reasoningStepsWithoutProgress=c.reasoningStepsWithoutProgress+1|0,c.reasoningStepsWithoutProgress<=64)return vp(c,p,r,n);let h=v9(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),wp(e,c,"failed",h,n,r,"interrupted",tw)}let d={TAG:"Log",event:"pipeline.loop.notification_without_turn",fields:Object.fromEntries([["method",i]])};n.push(d)}function TJ(e,t,r,n,i){switch(t){case"codexDied":let a=e.phase,s=0;switch(a){case"running":case"closing":s=2;break;case"dead":return}if(s===2){e.turns.values().toArray().forEach(u=>wp(e,u,"failed",r,i,n,"interrupted",tw)),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}),xp(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 a=[["kind",t],["reason",r]],l={TAG:"Log",event:"pipeline.loop.closing",fields:Object.fromEntries(a)};i.push(l);return;case"closing":case"dead":return}}function jM(e,t,r,n){switch(t.TAG){case"HarnessNotification":case"CompletionSnapshot":break;case"Lifecycle":return TJ(e,t.kind,t.reason,r,n)}switch(e.phase){case"running":switch(t.TAG){case"HarnessNotification":return xJ(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 kJ(e,c,t.snapshot,r,n);case"Lifecycle":return}case"closing":let o=[["source",Ml(t)]],s={TAG:"Log",event:"pipeline.loop.event_after_close",fields:Object.fromEntries(o)};n.push(s);return;case"dead":let l=[["source",Ml(t)]],u={TAG:"Log",event:"pipeline.loop.event_after_death",fields:Object.fromEntries(l)};n.push(u);return}}function AJ(e,t,r){e.bufferedTurns.keys().toArray().forEach(n=>{if(t.sourceSeqForTurn(n)===void 0)return;let o=x(e.bufferedTurns.get(n),[]);e.bufferedTurns.delete(n);let s={TAG:"Log",event:"pipeline.loop.buffered_turn_drained",fields:Object.fromEntries([["turn_id",n],["buffered_event_count",o.length]])};r.push(s),o.forEach(l=>jM(e,l,t,r))})}function zM(e,t,r){let n=[];return e.phase==="running"&&AJ(e,r,n),jM(e,t,r,n),n}var rw=2;var OJ=[500,1e3,2500,5e3,1e4,3e4],CJ=1440*60*1e3;function Ap(e,t){return e+"\0"+t}function NM(e,t){let r=Math.max(1,Math.ceil(t*e.length)|0);return x(e[r-1|0],0)}function EJ(e){if(e.length===0)return;let t=e.toSorted((r,n)=>r-n);return{p50Ms:NM(t,.5),p95Ms:NM(t,.95),maxMs:x(t[t.length-1|0],0),ackedInWindow:t.length}}function PJ(e){return new Promise((t,r)=>{setTimeout(()=>t(),e)})}function GM(e){let t=e.log,r=e.onPermanentFailure,n=e.builders,i={contents:e.threadKey},o=x(e.now,()=>Date.now()),a=x(e.retryDelaysMs,OJ.slice()),s={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},R={contents:!1},Z={contents:void 0},L={contents:void 0},ae=Math.max(1,x(e.maxInFlightPushes,1)),U={contents:0},B={contents:[]},oe={contents:Promise.resolve()},W=()=>s.contents[l.contents],V=()=>({totalEnqueued:p.contents,totalAcked:m.contents,totalDroppedBestEffort:_.contents,totalPermanentFailures:g.contents,totalExpiredOnRecovery:b.contents,lastEntrySeq:f.contents-1}),M=e.persistDir;if(M!==void 0){let H=zS(M,i.contents),te=G$(H,t),ne=x(e.journalRecoveryMaxAgeMs,CJ),Ke=o(),tt=[];te.pendingEntries.forEach(ut=>{if(Ke-ut.enqueuedAtMs>ne){tt.push(ut);return}let Pt={entry:ut,state:"EntryQueued",outcome:void 0,retryTimer:void 0};s.contents.push(Pt);let vt=ut.coalesceKey;if(vt!==void 0){d.set(Ap(ut.kind,vt),Pt);return}}),u.contents=te.kv,p.contents=te.counters.totalEnqueued,m.contents=te.counters.totalAcked,_.contents=te.counters.totalDroppedBestEffort,g.contents=te.counters.totalPermanentFailures,b.contents=te.counters.totalExpiredOnRecovery+tt.length|0,f.contents=te.counters.lastEntrySeq+1;let at=F$(H,()=>({pendingEntries:s.contents.slice(l.contents).map(ut=>ut.entry),kv:u.contents,counters:V()}),t,e.journalCompactionThreshold,void 0);if(L.contents=at,tt.length!==0){tt.forEach(vt=>at.appendExpired(vt.entrySeq));let ut=tt.map(vt=>Math.max(0,Ke-vt.enqueuedAtMs)),Pt=new Set(tt.map(vt=>vt.kind));t("outbox_recovery_expired",Object.fromEntries([["level","warn"],["threadKey",i.contents],["expiredEntries",tt.length],["survivingEntries",s.contents.length-l.contents|0],["maxAgeMs",ne],["oldestAgeMs",Ve(ut,0,(vt,Ct)=>Math.max(vt,Ct))],["newestAgeMs",Ve(ut,Number.POSITIVE_INFINITY,(vt,Ct)=>Math.min(vt,Ct))],["kinds",Pt.values().toArray().map(vt=>vt)]]))}(s.contents.length-l.contents|0)>0&&t("outbox_recovered",Object.fromEntries([["threadKey",i.contents],["pendingEntries",s.contents.length-l.contents|0],["nextEntrySeq",f.contents]]))}let re={remember:(H,te)=>{u.contents.set(H,te);let ne=L.contents;if(ne!==void 0)return ne.appendKv(H,te)},recall:H=>u.contents.get(H)},se=()=>{if(l.contents=l.contents+1|0,l.contents>=64&&l.contents<<1>=s.contents.length){s.contents=s.contents.slice(l.contents),l.contents=0;return}},Ae=()=>{let H=W(),te=c.length-1|0;for(;te>=0;){let ne=c[te];if(ne!==void 0&&(H!==void 0?H.entry.entrySeq>ne.upToSeq:!0)){c.splice(te,1);let tt=ne.timer;tt!==void 0&&clearTimeout(ue(tt)),ne.resolve({TAG:"Ok",_0:void 0})}te=te-1|0}},Ue=H=>{let te=H.entry.coalesceKey;if(te===void 0)return;let ne=Ap(H.entry.kind,te),Ke=d.get(ne);if(Ke!==void 0&&Ke===H){d.delete(ne);return}},Ge=(H,te)=>{let ne=H.entry;switch(te.TAG){case"OutcomeAck":let Ke=n[ne.kind];if(Ke!==void 0){let vt=Ke.onReply;if(vt!==void 0){let Ct;try{vt(ne.data,te._0,re),Ct={TAG:"Ok",_0:void 0}}catch(go){let na=ee(go);Ct={TAG:"Error",_0:Ne(na)}}Ct.TAG!=="Ok"&&t("outbox_on_reply_failed",Object.fromEntries([["threadKey",i.contents],["entrySeq",ne.entrySeq],["kind",ne.kind],["error",Ct._0.message]]))}}let tt=L.contents;tt!==void 0&&tt.appendAck(ne.entrySeq);break;case"OutcomeSkip":let at=te._0;t("outbox_entry_skipped",Object.fromEntries([["threadKey",i.contents],["entrySeq",ne.entrySeq],["kind",ne.kind],["reason",at]]));let ut=L.contents;ut!==void 0&&ut.appendSkip(ne.entrySeq,at);break;case"OutcomeFail":if(ne.resolution==="MustAck"){let vt=L.contents;vt!==void 0&&vt.appendFail(ne.entrySeq);let Ct;try{r(ne,te._0),Ct={TAG:"Ok",_0:void 0}}catch(go){let na=ee(go);Ct={TAG:"Error",_0:Ne(na)}}Ct.TAG!=="Ok"&&t("outbox_permanent_failure_callback_failed",Object.fromEntries([["threadKey",i.contents],["entrySeq",ne.entrySeq],["error",Ct._0.message]]))}else{let vt=L.contents;vt!==void 0&&vt.appendDrop(ne.entrySeq)}break}Ue(H),se(),Ae()},dt=()=>{let H=!0;for(;H;){let te=W();if(te!==void 0){let ne=te.outcome;ne!==void 0?Ge(te,ne):H=!1}else H=!1}},je=(H,te)=>{let ne=H.entry;switch(te.TAG){case"OutcomeAck":case"OutcomeSkip":break;case"OutcomeFail":let Ke=te._0;ne.resolution==="MustAck"?(g.contents=g.contents+1|0,t("outbox_permanent_failure",Object.fromEntries([["threadKey",i.contents],["entrySeq",ne.entrySeq],["kind",ne.kind],["attempts",ne.attempts],["error",Ke]]))):(_.contents=_.contents+1|0,t("outbox_dropped_best_effort",Object.fromEntries([["threadKey",i.contents],["entrySeq",ne.entrySeq],["kind",ne.kind],["attempts",ne.attempts],["error",Ke]])));break}H.outcome=te,H.state="EntryQueued"},pt=H=>{y.length<256?y.push(H):y[v.contents]=H;let te=v.contents+1|0;v.contents=te>=256?0:te},Ye=H=>{let te=H.retryTimer;if(te!==void 0){clearTimeout(ue(te)),H.retryTimer=void 0;return}},He=()=>{if(U.contents>0)return;let H=B.contents;B.contents=[],H.forEach(te=>te())},It=()=>{let H=W();return H===void 0||H.state!=="EntryQueued"||H.outcome!==void 0?!1:H.retryTimer!==void 0},Or={contents:()=>{}},Ut=(H,te)=>{Ye(H);let ne=setTimeout(()=>{if(H.retryTimer=void 0,!(R.contents||S.contents||H.outcome!==void 0))return Or.contents()},te|0);ne.unref(),H.retryTimer=We(ne)},Xe=async(H,te,ne)=>{let Ke=H.entry,tt=o(),at;try{at=await e.push(te[0],te[1],te[2],ne)}catch(vt){let Ct=ee(vt);at={TAG:"PushFailed",message:Ne(Ct).message,budgetExempt:!1}}if(at.TAG==="Acked")return ne(),pt(Math.max(0,o()-tt)),m.contents=m.contents+1|0,je(H,{TAG:"OutcomeAck",_0:at._0});let ut=at.message;if(ne(),H.state="EntryQueued",at.budgetExempt)return Ke.attempts=Ke.attempts-1|0,h.contents=h.contents+1|0,t("outbox_push_connection_wait",Object.fromEntries([["threadKey",i.contents],["entrySeq",Ke.entrySeq],["kind",Ke.kind],["error",ut]])),!R.contents&&!S.contents?Ut(H,1e3):void 0;let Pt=a[Ke.attempts-1|0];return Pt!==void 0?(h.contents=h.contents+1|0,t("outbox_push_retry",Object.fromEntries([["threadKey",i.contents],["entrySeq",Ke.entrySeq],["kind",Ke.kind],["attempt",Ke.attempts],["delayMs",Pt],["error",ut]])),!R.contents&&!S.contents?Ut(H,Pt):void 0):je(H,{TAG:"OutcomeFail",_0:ut})},q=async H=>{let te=H.entry,ne=oe.contents,Ke={contents:()=>{}};oe.contents=new Promise((Pt,vt)=>{Ke.contents=Pt});let tt={contents:!1},at=()=>{if(!tt.contents)return tt.contents=!0,Ke.contents()};if(H.state="EntryPushing",U.contents=U.contents+1|0,await ne,R.contents||S.contents||H.outcome!==void 0){H.state="EntryQueued",at(),U.contents=U.contents-1|0;return}let ut=n[te.kind];if(ut!==void 0){let Pt;try{Pt=ut.build(te.data,re)}catch(vt){let Ct=ee(vt);Pt={TAG:"BuildFailed",_0:Ne(Ct).message}}switch(Pt.TAG){case"BuildPush":te.attempts=te.attempts+1|0,await Xe(H,[Pt.event,Pt.payload,Pt.timeoutMs],at),U.contents=U.contents-1|0;return;case"BuildSkip":at(),je(H,{TAG:"OutcomeSkip",_0:Pt._0}),U.contents=U.contents-1|0;return;case"BuildFailed":at(),je(H,{TAG:"OutcomeFail",_0:Pt._0}),U.contents=U.contents-1|0;return}}else{at(),je(H,{TAG:"OutcomeFail",_0:"no outbox builder registered for kind "+te.kind}),U.contents=U.contents-1|0;return}},Ee=()=>{if(dt(),R.contents||S.contents||It())return He();let H=l.contents;for(;H<s.contents.length&&U.contents<ae;){let te=s.contents[H];te!==void 0&&te.state==="EntryQueued"&&te.outcome===void 0&&(te.retryTimer!==void 0||zn(q(te).then(()=>Ee()),at=>(t("outbox_drain_loop_error",Object.fromEntries([["threadKey",i.contents]])),Ee(),Promise.resolve()))),H=H+1|0}He()};Or.contents=Ee;let ve=()=>{if(S.contents||R.contents)return;if(W()!==void 0){Promise.resolve().then(()=>{if(!R.contents&&!S.contents)return Ee()});return}},_e=H=>{let te=f.contents-1,ne=W();return(ne!==void 0?ne.entry.entrySeq>te:!0)?Promise.resolve({TAG:"Ok",_0:void 0}):new Promise((tt,at)=>{let ut={upToSeq:te,resolve:tt,timer:void 0};H!==void 0&&(ut.timer=We(setTimeout(()=>{let Pt=c.indexOf(ut);Pt===-1||c.splice(Pt,1),tt({TAG:"Error",_0:"outbox flush for "+i.contents+" timed out after "+H.toString()+"ms with "+(s.contents.length-l.contents|0).toString()+" entries pending"})},H|0))),c.push(ut)})},Be=async H=>{A.contents=!1;let te=await _e(H);te.TAG!=="Ok"&&t("outbox_close_flush_timeout",Object.fromEntries([["threadKey",i.contents],["depth",s.contents.length-l.contents|0],["error",te._0]])),R.contents=!0;let ne=l.contents;for(;ne<s.contents.length;){let at=s.contents[ne];at!==void 0&&Ye(at),ne=ne+1|0}U.contents>0&&await Promise.race([new Promise((at,ut)=>{B.contents.push(()=>at())}),PJ(1e3)]);let Ke=c.slice();c.splice(0,c.length),Ke.forEach(at=>{let ut=at.timer;ut!==void 0&&clearTimeout(ue(ut)),at.resolve({TAG:"Error",_0:"outbox for "+i.contents+" closed"})});let tt=L.contents;if(tt!==void 0)return await tt.close()},Jt=(H,te,ne)=>{if(H===void 0)return ne;let Ke=H.coalesce;if(Ke===void 0)return ne;let tt;try{tt={TAG:"Ok",_0:Ke(te.data,ne)}}catch(at){let ut=ee(at);tt={TAG:"Error",_0:Ne(ut)}}return tt.TAG==="Ok"?tt._0:(t("outbox_coalesce_failed",Object.fromEntries([["threadKey",i.contents],["entrySeq",te.entrySeq],["kind",te.kind],["error",tt._0.message]])),ne)},tn={enqueue:H=>{if(!A.contents)return{TAG:"Error",_0:"outbox for "+i.contents+" is closed"};p.contents=p.contents+1|0;let te=H.coalesceKey,ne;if(te!==void 0){let vt=Ap(H.kind,te),Ct=d.get(vt);if(Ct!==void 0)if(Ct.state==="EntryQueued")if(Ct.outcome!==void 0)ne=void 0;else{Ct.entry.data=Jt(n[H.kind],Ct.entry,H.data);let Hl=L.contents;Hl!==void 0&&Hl.appendCoalesce(Ct.entry.entrySeq,Ct.entry.data),ne=Ct.entry.entrySeq}else ne=void 0;else ne=void 0}else ne=void 0;if(ne!==void 0)return{TAG:"Ok",_0:ne};let Ke=f.contents;f.contents=f.contents+1;let tt={entrySeq:Ke,kind:H.kind,data:H.data,coalesceKey:H.coalesceKey,resolution:H.resolution,attempts:0,enqueuedAtMs:o()},at={entry:tt,state:"EntryQueued",outcome:void 0,retryTimer:void 0};s.contents.push(at);let ut=H.coalesceKey;ut!==void 0&&d.set(Ap(H.kind,ut),at);let Pt=L.contents;return Pt!==void 0&&Pt.appendEnqueue(tt),ve(),{TAG:"Ok",_0:Ke}},flush:_e,pause:()=>{S.contents=!0},resume:()=>{if(!S.contents)return;S.contents=!1;let H=l.contents;for(;H<s.contents.length;){let te=s.contents[H];te!==void 0&&(te.entry.attempts=0,Ye(te)),H=H+1|0}ve()},metrics:()=>{let H=W(),te=G(L.contents,ne=>ne.status());return{depth:s.contents.length-l.contents|0,oldestEntryAgeMs:G(H,ne=>Math.max(0,o()-ne.entry.enqueuedAtMs)),totalEnqueued:p.contents,totalAcked:m.contents,totalRetried:h.contents,totalDroppedBestEffort:_.contents,totalPermanentFailures:g.contents,totalExpiredOnRecovery:b.contents,totalJournalWriteFailures:x(G(te,ne=>ne.totalWriteFailures),0),journalDegraded:x(G(te,ne=>ne.degraded),!1),paused:S.contents,pushLatency:EJ(y)}},close:H=>{let te=Z.contents;if(te!==void 0)return te;let ne=Be(x(H,3e4));return Z.contents=ne,ne},journalSettled:()=>{let H=L.contents;return H!==void 0?H.settled():Promise.resolve()},rekeyJournal:H=>{if(H===i.contents)return;i.contents=H;let te=e.persistDir,ne=L.contents;if(te!==void 0&&ne!==void 0)return ne.rekey(zS(te,H))}};return ve(),tn}var IJ=10*6e4;function $J(e){switch(e){case"collabAgentToolCall":case"commandExecution":case"contextCompaction":case"dynamicToolCall":case"mcpToolCall":case"terminalInput":return!0;default:return!1}}function ss(e){let t=vr(e);return t!==void 0?x(Cr(ue(t)),"unknown error"):"unknown error"}function FM(e){let t=CM(),r=e.threadKey,n=e.instanceId,i=e.sourceSeqForTurn,o=e.autoRetryAttemptsForSeq,a=e.midStreamResumeAttemptAtMsForSeq,s=e.ladderHistoryForSeq,l=e.linzumiAgentSession,d={threadKey:r,instanceId:n,sourceSeqForTurn:i,autoRetryAttemptsForSeq:o,midStreamResumeAttemptAtMsForSeq:a,ladderHistoryForSeq:s,linzumiAgentSession:l},u=[],c=x(e.now,()=>Date.now()),f=new Map,p=new Map,m=new Map,h=new Map,_=new Set,g=x(e.bufferedTurnMaxAgeMs,IJ),b=x(e.bufferedTurnMaxEvents,1e4),y=x(e.bufferedTurnSweepIntervalMs,3e4),v={contents:!1},S={contents:!0},A={contents:void 0},R=(N,j)=>{try{return e.log(N,Object.fromEntries(j))}catch{return}},Z=N=>t.turns.has(N)?!0:t.bufferedTurns.has(N),L=()=>{t.turns.keys().toArray().forEach(N=>{if(!f.has(N)){f.set(N,c());return}}),f.keys().toArray().forEach(N=>{if(!t.turns.has(N)){f.delete(N);return}}),t.bufferedTurns.keys().toArray().forEach(N=>{if(!p.has(N)){p.set(N,c());return}}),p.keys().toArray().forEach(N=>{if(!t.bufferedTurns.has(N)){p.delete(N),_.delete(N);return}}),m.keys().toArray().forEach(N=>{if(!Z(N)){m.delete(N);return}}),h.keys().toArray().forEach(N=>{if(!Z(N)){h.delete(N);return}})},ae=(N,j)=>{if(Z(N)){m.set(N,{atMs:c(),activityKind:j});return}},U=N=>{switch(N.TAG){case"HarnessNotification":let j=N._0,re=j.method;if(re===Hu||re===ql)return;let se=Wu(x(j.params,{})),Ae=se!==void 0?se:Tp(t);return Ae!==void 0?ae(Ae,re):void 0;case"CompletionSnapshot":case"Lifecycle":return}},B=N=>{switch(N.TAG){case"HarnessNotification":let j=N._0,re=j.method;if(re!=="item/started"&&re!=="item/completed"&&re!=="response_item")return;let se=x(j.params,{}),Ae=Wu(se),Ue=Ae!==void 0?Ae:Tp(t);if(Ue===void 0||!Z(Ue))return;let Ge=yp(se);if(Ge===void 0||Ge==="")return;if(re==="item/started"){let je=k(qe(se,"item"),He=>E(He,"type"));if(je===void 0||!$J(je))return;let pt=h.get(Ue),Ye;if(pt!==void 0)Ye=pt;else{let He=new Map;h.set(Ue,He),Ye=He}Ye.set(Ge,{kind:je,startedAtMs:c()});return}let dt=h.get(Ue);if(dt!==void 0){dt.delete(Ge);return}else return;case"CompletionSnapshot":case"Lifecycle":return}},oe=()=>{if(!S.contents||t.phase!=="running")return!1;let N=c(),j={contents:!1};return t.bufferedTurns.entries().toArray().forEach(re=>{let se=re[0];if(_.has(se))return;let Ae=re[1],Ue=N-x(p.get(se),N),Ge=Ue>g,dt=Ae.length>b;if(Ge||dt){_.add(se),R("pipeline.loop.buffered_turn_overdue",[["level","warn"],["thread_key",e.threadKey],["turn_id",se],["buffered_event_count",Ae.length],["age_ms",Ue],["max_age_ms",g],["max_events",b]]),u.push({TAG:"HarnessNotification",_0:{method:ql,params:Object.fromEntries([["turnId",se],["reason",dt?"turn source mapping never arrived ("+Ae.length.toString()+" buffered events exceeded the "+b.toString()+" cap)":"turn source mapping never arrived within "+g.toString()+"ms"]])}}),j.contents=!0;return}}),j.contents},W=()=>{if(v.contents)return;v.contents=!0;let N=!0;for(;N;){let j=u.shift();if(j!==void 0){let re;try{re=zM(t,j,d)}catch(se){let Ae=ee(se);R("pipeline.loop.event_processing_failed",[["thread_key",e.threadKey],["source",Ml(j)],["message",ss(Ae)]]),re=void 0}re!==void 0&&(L(),U(j),B(j),re.forEach(se=>{try{switch(se.TAG){case"Enqueue":return e.outboxEnqueue({kind:se.kind,data:se.data,coalesceKey:se.coalesceKey,resolution:se.resolution});case"RequestSnapshot":return e.requestSnapshot(se.turnId);case"TurnTerminal":return e.onTurnTerminal(se.turnId,se.outcome,se.reason,se.retryableEmptyTurn,se.autoResumeMidStreamStall,se.fate);case"Log":try{return e.log(se.event,se.fields)}catch{return}}}catch(Ae){let Ue=ee(Ae),Ge;switch(se.TAG){case"Enqueue":Ge="enqueue";break;case"RequestSnapshot":Ge="requestSnapshot";break;case"TurnTerminal":Ge="turnTerminal";break;case"Log":Ge="log";break}return R("pipeline.loop.effect_failed",[["thread_key",e.threadKey],["effect",Ge],["message",ss(Ue)]])}}),oe())}else N=!1}v.contents=!1},V;if(y>0){let N=setInterval(()=>{if(oe())return W()},y);N.unref(),V=We(N)}else V=void 0;let M=N=>{let j=h.get(N);return j!==void 0?j.values().toArray().map(re=>({kind:re.kind,startedAtMs:re.startedAtMs})):[]};return{submit:N=>{try{return S.contents?(u.push(N),W()):R("pipeline.loop.event_after_drain",[["thread_key",e.threadKey],["source",Ml(N)]])}catch(j){let re=ee(j);return R("pipeline.loop.submit_failed",[["thread_key",e.threadKey],["message",ss(re)]])}},metrics:()=>({queueDepth:u.length,phase:t.phase,activeTurns:t.turns.values().toArray().map(N=>({turnId:N.turnId,sourceSeq:N.sourceSeq,startedAtMs:x(f.get(N.turnId),c()),lastActivityAtMs:G(m.get(N.turnId),j=>j.atMs),lastActivityKind:G(m.get(N.turnId),j=>j.activityKind),openItems:M(N.turnId)})),bufferedTurns:t.bufferedTurns.entries().toArray().map(N=>{let j=N[0];return{turnId:j,bufferedEventCount:N[1].length,firstBufferedAtMs:x(p.get(j),c()),lastActivityAtMs:G(m.get(j),re=>re.atMs),lastActivityKind:G(m.get(j),re=>re.activityKind),openItems:M(j)}})}),noteTurnActivity:(N,j)=>{try{return ae(N,j)}catch(re){let se=ee(re);return R("pipeline.loop.note_activity_failed",[["thread_key",e.threadKey],["message",ss(se)]])}},drainAndClose:N=>{let j=A.contents;if(j!==void 0)return j;let re=(async()=>{S.contents=!1,V!==void 0&&clearInterval(ue(V)),await Promise.resolve(),W();let se;try{se=await e.outboxFlush(N)}catch(Ae){let Ue=ee(Ae);return R("pipeline.loop.drain_flush_failed",[["thread_key",e.threadKey],["message",ss(Ue)]])}if(se.TAG!=="Ok")return R("pipeline.loop.drain_flush_failed",[["thread_key",e.threadKey],["message",se._0]])})();return A.contents=re,re}}}var MJ=10*6e4,jJ={emittedTotalEnqueued:0,emittedTotalAcked:0,emittedTotalRetried:0,emittedTotalDroppedBestEffort:0,emittedTotalPermanentFailures:0,emittedTotalExpiredOnRecovery:0,emittedTotalJournalWriteFailures:0,emittedJournalDegraded:!1};function zJ(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 NJ(e){return Ve(e,void 0,(t,r)=>t!==void 0&&t<=r.startedAtMs?t:r.startedAtMs)}function GJ(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 FJ(e){return Ve(e,void 0,(t,r)=>t!==void 0&&t.startedAtMs<=r.startedAtMs?t:r)}function iw(e){return e}function ow(e){return new Set(e).values().toArray().toSorted(fs)}function qM(e){let t=x(e.now,()=>Date.now()),r=x(e.intervalMs,3e4),n=x(e.turnStalledThresholdMs,MJ),i={contents:jJ},o=new Set,a=new Set,s={contents:!1},l=(c,f,p,m)=>{let h=new Set(c.map(_=>_.candidateTurnId));o.values().toArray().forEach(_=>{if(!h.has(_)){o.delete(_);return}}),a.values().toArray().forEach(_=>{if(!h.has(_)){a.delete(_);return}}),c.forEach(_=>{let g=Math.max(0,m-_.sinceMs),b=Math.max(_.sinceMs,x(_.candidateLastActivityAtMs,_.sinceMs)),y=Math.max(0,m-b),v=ow(p.filter(Z=>Z.waitTurnId===_.candidateTurnId).map(Z=>Z.waitKind));if(v.length===0){a.delete(_.candidateTurnId);let Z=_.candidateOpenItems.length!==0?n*2:n;if(!(y>=Z&&!o.has(_.candidateTurnId)))return;let L=NJ(_.candidateOpenItems);o.add(_.candidateTurnId);let ae=_.candidateSourceSeq,U=_.candidateLastActivityKind,B=_.candidateLastActivityAtMs,oe=f.oldestEntryAgeMs;return e.log("pipeline.turn_stalled",Object.fromEntries([["level","warn"],["thread_key",e.threadKey],["turn_id",_.candidateTurnId],["source_seq",ae!==void 0?ae:null],["buffered",_.buffered],["turn_age_ms",g],["quiet_ms",y],["last_activity_kind",U!==void 0?U:null],["last_activity_age_ms",B!==void 0?Math.max(0,m-B):null],["threshold_ms",n],["effective_threshold_ms",Z],["open_item_count",_.candidateOpenItems.length],["open_item_kinds",ow(_.candidateOpenItems.map(W=>W.kind)).map(iw)],["open_item_oldest_age_ms",L!==void 0?Math.max(0,m-L):null],["outbox_depth",f.depth],["oldest_entry_age_ms",oe!==void 0?oe:null],["paused",f.paused]]))}if(!(y>=n&&!a.has(_.candidateTurnId)))return;a.add(_.candidateTurnId);let S=_.candidateSourceSeq,A=_.candidateLastActivityKind,R=_.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",R!==void 0?Math.max(0,m-R):null],["threshold_ms",n],["wait_kinds",v.map(iw)],["open_item_count",_.candidateOpenItems.length],["open_item_kinds",ow(_.candidateOpenItems.map(Z=>Z.kind)).map(iw)]]))})},d=()=>{if(s.contents)return;let c;try{let v=e.turnWaitStates;c=[e.outboxMetrics(),e.loopMetrics(),v!==void 0?v():[]]}catch(v){let S=ee(v);e.log("pipeline.stats_sample_failed",Object.fromEntries([["thread_key",e.threadKey],["message",ss(S)]])),c=void 0}if(c===void 0)return;let f=c[1],p=c[0],m=t();if(l(zJ(f),p,c[2],m),!GJ(p,f,i.contents))return;let h=FJ(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",x(G(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=We(c)}else u=void 0;return{sample:d,stop:()=>{if(s.contents=!0,u!==void 0){clearInterval(ue(u));return}}}}var qJ=[1e3,5e3];function ni(e,t){return k(e[t],xr)}function Ju(e,t){return k(e[t],ha)}function Ll(e,t){return k(e[t],ke)}function aw(e,t){Object.entries(t).forEach(r=>{e[r[0]]=r[1]})}function Ku(e){let t={};return aw(t,e),t}function LJ(e){let t=e.body;return typeof t=="string"?t:""}function UJ(e){return x(Ll(e,"structured"),{})}function ZJ(e){return e===Gu||e===Fu||e===is?!0:e===Du}function WJ(e,t){let r=ni(t,"turn_id");r!==void 0&&(e.turn_id=r);let n=ni(t,"item_key");n!==void 0&&(e.item_key=n);let i=Ju(t,"delta_index");i!==void 0&&(e.delta_index=i);let o=Ju(t,"stream_snapshot_index");if(o!==void 0){e.stream_snapshot_index=o;return}}function ZM(e,t,r){let n=t.traceparentForThread(r);if(n!==void 0){e.traceparent=n;return}}function VJ(e){return{build:(t,r)=>{let n=e.wire(),i=n.threadId,o=n.harnessSessionId;if(i===void 0)return{TAG:"BuildSkip",_0:"session_thread_unbound"};if(o===void 0)return{TAG:"BuildSkip",_0:"session_thread_unbound"};let a=ni(t,"client_message_id");if(a===void 0)return{TAG:"BuildSkip",_0:"missing_client_message_id"};let s=ni(t,"turn_id"),l=Ju(t,"source_seq"),d={};s!==void 0&&(d.turn_id=s),d.stream_key=a;let u=Ku(d),c=Ll(t,"local_runner_runtime_metadata");c!==void 0&&aw(u,c);let f=Ku(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),aw(f,d);let m=Ku(UJ(t));m.stream_key=a,f.structured=m;let h={};h.workspace=n.workspaceSlug,h.channel=n.channelSlug,h.thread_id=i,h.stream_key=a;let _=n.leaseEpoch;return _!==void 0&&(h.lease_epoch=_),h.body=LJ(t),h.payload=f,h.client_message_id=a,WJ(h,t),ZM(h,e,i),{TAG:"BuildPush",event:"session:stream_thread_message",payload:h,timeoutMs:void 0}},onReply:void 0,coalesce:void 0}}function HJ(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=Ju(t,"seq"),a=ni(t,"status");if(o===void 0)return{TAG:"BuildSkip",_0:"malformed_message_state_entry"};if(a===void 0)return{TAG:"BuildSkip",_0:"malformed_message_state_entry"};let s=de(t.suppress_terminal_for_recovered_turn,!0),l=ni(t,"turn_id"),d=e.isRecoveredTurn,u=l!==void 0&&d!==void 0?d(l)===!0:!1;if(s||u)return{TAG:"BuildSkip",_0:"terminal_for_recovered_turn"};let c={};c.workspace=n.workspaceSlug,c.channel=n.channelSlug,c.thread_id=i,c.instance_id=e.instanceId;let f=n.harnessSessionId;f!==void 0&&(c.codex_thread_id=f),c.seq=o,c.status=a;let p=ni(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"&&Dt(lp(h))&&(c.fate=h);let _=Ll(t,"ladder");_!==void 0&&(c.ladder=_),t.failure_class==="edge_blocked"&&(c.failure_class="edge_blocked");let b=ni(t,"upstream_error");b!==void 0&&(c.upstream_error=b);let y=ni(t,"turn_id");y!==void 0&&(c.turn_id=y);let v=n.leaseEpoch;return v!==void 0&&(c.lease_epoch=v),ZM(c,e,i),{TAG:"BuildPush",event:"message_state",payload:c,timeoutMs:void 0}},onReply:void 0,coalesce:void 0}}function BJ(e){let t=VJ(e);return Object.fromEntries([[Gu,t],[Fu,t],[is,t],[Du,t],[jl,HJ(e)]])}function WM(e,t){if(e.error!==void 0)return[];let n=k(Ll(e,"result"),a=>Ll(a,"thread")),i=x(k(k(n,a=>a.turns),Qi),[]),o=ze(i,ke).find(a=>{let s=a.id;return typeof s=="string"?s===t:!1});return ze(x(k(k(o,a=>a.items),Qi),[]),ke)}var ene=new RegExp("^item-\\d+$");var VM=i$;function KJ(e){return new Promise((t,r)=>{setTimeout(()=>t(),e|0)})}function LM(e){let t=vr(e);return t!==void 0?x(Cr(ue(t)),"unknown error"):"unknown error"}function UM(e){return e!==void 0?e:null}function HM(e){let t=BJ({instanceId:e.instanceId,wire:e.wire,rowEnvelope:e.rowEnvelope,isRecoveredTurn:e.isRecoveredTurn,traceparentForThread:e.traceparentForThread}),r=GM({threadKey:e.threadKey,push:e.push,builders:t,persistDir:e.persistDir,retryDelaysMs:G(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",UM(ni(f.data,"item_key"))],["turn_id",UM(ni(f.data,"turn_id"))],["message",p]])),log:e.log,now:void 0,maxInFlightPushes:x(e.outboxMaxInFlightPushes,16),journalCompactionThreshold:void 0,journalRecoveryMaxAgeMs:e.journalRecoveryMaxAgeMs}),n=f=>{let p=!1;if(f.kind===jl){let b=ni(f.data,"turn_id"),y=e.isRecoveredTurn;p=b!==void 0&&y!==void 0?y(b)===!0:!1}if(p){let b=Ku(f.data);return b.suppress_terminal_for_recovered_turn=!0,{kind:f.kind,data:b,coalesceKey:f.coalesceKey,resolution:f.resolution}}if(!ZJ(f.kind))return f;let m=Ju(f.data,"source_seq"),h=Ll(f.data,"local_runner_runtime_metadata"),_=h!==void 0?h:k(e.runtimeMetadataForSourceSeq,b=>b(m));if(_===void 0)return f;let g=Ku(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},a=f=>{let p=o.contents;if(p!==void 0)return p.submit(f)},s=x(e.sleep,KJ),l=async f=>{let p=x(e.snapshotRetryDelaysMs,qJ),m=0,h=!1;for(;!h;){let _;try{_=await e.resolveSnapshot(f)}catch(g){let b=ee(g);_={TAG:"Error",_0:LM(b)}}if(_.TAG==="Ok")a({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 s(b),m=m+1|0):(a({TAG:"HarnessNotification",_0:{method:"turn/failed",params:Object.fromEntries([["turnId",f],["reason","completion snapshot resolution failed: "+g]])}}),h=!0)}}},d=FM({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=>{zn(l(f),p=>(e.log("pipeline.snapshot_request_failed",Object.fromEntries([["thread_key",e.threadKey],["turn_id",f],["message",LM(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=qM({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:Hu,params:Object.fromEntries([["turnId",f]])}}),notifyTurnMappingFailed:(f,p)=>d.submit({TAG:"HarnessNotification",_0:{method:ql,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 Op(e){return e.split("_").map((t,r)=>r!==0?t.slice(0,1).toUpperCase()+t.slice(1,t.length):t).join("")}function Yu(e){return x(G(Mm.find(t=>t[0]===e),t=>t[1]),e)}var Nn=Yu("harness_session_id"),ls=Op(Nn);function Zi(e,t){let r=e[t];if(typeof r=="string")return r}function sw(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 YJ(e,t){let r=k(t.error,ke),n=k(t.item,ke),i=d=>Ve(d,void 0,(u,c)=>u!==void 0?u:c),o=i([sw(t,"code"),k(r,d=>sw(d,"code")),sw(t,"status")]),a=i([Zi(t,"message"),Zi(t,"detail"),Zi(t,"reason"),k(r,d=>Zi(d,"message")),k(r,d=>Zi(d,"detail")),k(r,d=>Zi(d,"reason"))]),s=o!==void 0?e+" "+o:e,l=a!==void 0?a:G(k(n,d=>Zi(d,"type")),d=>"item.type="+d);return G(l,d=>s+": "+d)}function XJ(e,t){switch(e){case"error":case"warning":break;default:return t}let r=YJ(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(fs).map(i=>i),n}var QJ=["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 BM(e){let t=T$(e);return t.trimStart().startsWith("!")?t:[t,""].concat(QJ).join(`
391
- `)}var e6={sandboxedNeverDefault:!1};function KM(e){let t=Vm(e.approvalPolicy,e.sandbox,e6);return t.TAG==="Ok"?t._0:"on-request"}function JM(e){let t={};t.approvalPolicy=KM(e);let r=e.sandbox;return r!==void 0&&(t.sandbox=r),t}function t6(e,t,r,n){let i={};i.threadId=e,i.input=[Object.fromEntries([["type","text"],["text",t]])],i.cwd=r;let o=n.model;o!==void 0&&(i.model=o);let a=n.reasoningEffort;a!==void 0&&(i.effort=a),i.approvalPolicy=KM(n);let s=n.sandbox;if(s!==void 0){let l=zR(s,r);l.TAG==="Ok"&&(i.sandboxPolicy=l._0)}return i}async function Ul(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[Nn]=i.harnessSessionId,o.seq=t,o.status=r,n!==void 0&&(o.reason=n);let a=i.actorSlug;a!==void 0&&(o.actor_slug=a);let s=i.actorUserId;s!==void 0&&(o.actor_user_id=s);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",ri(l._0)]]))}async function Qo(e,t,r){return e.processingReason=r,e.processingSeq=t,await Ul(e,t,"processing",r)}function r6(e){let t=G(e.LINZUMI_TYPING_HEARTBEAT_MS,n=>n.trim());if(t===void 0||t==="")return 5e3;let r=jn(t);return r!==void 0&&isFinite(r)&&r>0?Math.trunc(r):5e3}function YM(e){let t={};return t.workspace=e.workspaceSlug,t.channel=e.channelSlug,t.thread_id=e.threadId,t.instance_id=e.instanceId,t[Nn]=e.harnessSessionId,t}async function n6(e){let t=e.processingSeq,r=e.processingReason;if(t!==void 0&&r!==void 0)return await Ul(e,t,"processing",r)}function XM(e,t){if(e.typingHeartbeatInFlight)return;e.typingHeartbeatInFlight=!0;let r=e.deps;(async()=>{try{let i=await r.transport.push(r.commanderTopic,"session:typing_start",YM(r),void 0);i.TAG!=="Ok"&&r.log("kandan.optional_push_failed",Object.fromEntries([["event","session:typing_start"],["message",ri(i._0)]])),t&&await n6(e)}catch(i){let o=ee(i);r.log("kandan.typing_heartbeat_failed",Object.fromEntries([["message",Ne(o).message]]))}e.typingHeartbeatInFlight=!1})()}function QM(e,t){e.typingHeartbeatTimer=We(e.deps.timers.setTimer(()=>{if(e.typingActive)return XM(e,!0),QM(e,t)},t))}function i6(e){if(e.typingActive=!0,XM(e,!1),e.typingHeartbeatTimer===void 0)return QM(e,r6(e.deps.env))}function ej(e){let t=e.typingHeartbeatTimer;if(t!==void 0){e.deps.timers.clearTimer(ue(t)),e.typingHeartbeatTimer=void 0;return}}function o6(e,t){if(ej(e),!e.typingActive)return;e.typingActive=!1;let r=e.deps;(async()=>{let i=await r.transport.push(r.commanderTopic,"session:typing_stop",YM(r),void 0);if(i.TAG!=="Ok")return r.log("kandan.typing_stop_after_completion_failed",Object.fromEntries([["turn_id",t],["message",ri(i._0)]]))})()}function a6(e,t,r){switch(t){case"item/completed":let n=k(r.item,ke);if(n===void 0||!Dt(Zi(n,"id")))return;let i=e.activityJournalTurns[e.activityJournalTurns.length-1|0];if(i===void 0)return;let o=r.completedAtMs,a=typeof o=="number"?o:void 0;for(i.items.push({item:n,completedAtMs:a}),e.activityJournalItemCount=e.activityJournalItemCount+1|0;e.activityJournalItemCount>2e3&&e.activityJournalTurns.length>1;){let l=e.activityJournalTurns.shift();l!==void 0&&(e.activityJournalItemCount=e.activityJournalItemCount-l.items.length|0)}return;case"turn/started":let s=k(k(r.turn,ke),l=>Zi(l,"id"));if(s!==void 0){e.activityJournalTurns.push({turnId:s,items:[]});return}else return;default:return}}function s6(e){if(e.TAG==="ResultReply")return k(k(k(ke(e._0),t=>t.turn),ke),t=>Zi(t,"id"))}async function tj(e,t){let r=e.deps;r.log("codex.turn_starting",Object.fromEntries([["queued_seq",t.seq],["thread_id",r.threadId],[Nn,r.harnessSessionId]])),await Qo(e,t.seq,"starting turn"),await Qo(e,t.seq,"starting turn"),i6(e),e.dispatchingTurnStart=!0,e.pendingStartingPaints=[];let n,i=0,o;try{o=await r.harness.request("turn/start",t6(r.harnessSessionId,BM(t),r.cwd,r.defaults)),i=1}catch(a){let s=ee(a);e.pendingStartingPaints=[],n={TAG:"Error",_0:"turn/start failed: "+Ne(s).message}}if(i===1)if(o.TAG==="Ok"){let a=o._0;if(a.TAG==="ResultReply"){let s=s6(a);if(s!==void 0){e.turnSeqs.set(s,t.seq),e.active={turnId:s,sourceSeq:t.seq};let l=e.pendingStartingPaints;e.pendingStartingPaints=[],l.forEach(u=>{if(u.paintTurnId===s&&nn(e.processingReason,u.reason)){Qo(e,t.seq,u.reason);return}}),r.log("codex.turn_started",Object.fromEntries([["turn_id",s]]));let d=e.pipeline;d!==void 0&&d.notifyTurnMappingReady(s),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: "+a.message}}else n={TAG:"Error",_0:"turn/start failed: "+o._0};return e.dispatchingTurnStart=!1,n}function l6(e,t){let r=e.deps,n=e.retryCandidates.get(t);if(n===void 0)return;let i=x(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",rw]])),r.timers.setTimer(()=>{(async()=>{await Qo(e,t,"retrying empty turn");let o=await tj(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 d6(e,t,r,n,i,o){let a=e.deps,s=e.turnSeqs.get(t),l=e.active;switch(l!==void 0&&l.turnId===t&&(e.active=void 0),e.processingReason=void 0,e.processingSeq=void 0,o6(e,t),r){case"completed":if(s!==void 0){a.commitAppliedSourceSeq(s),e.autoRetryAttempts.delete(s),e.retryCandidates.delete(s),e.fateLadderRuns.delete(s);return}else return;case"failed":if(s===void 0||o===void 0)return;let u=x(e.autoRetryAttempts.get(s),0)<rw,c=i&&u,f=u&&!a.harness.isClosed(),p={inPlaceResume:c,redispatch:f,workerRebuild:!1},m=w$({fate:o,run:e.fateLadderRuns.get(s),nowMs:Date.now(),budgets:zu(a.env),breaker:(R,Z)=>"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(s,g);let R={};R.turn_id=t,R.queued_seq=s,R.fate=o,R.decision=h[0],_!==void 0&&(R.rung=_),R.recovery_rungs_attempted=g.recoveryRungsAttempted,a.log("codex.fate_ladder_step",R)}if(m.TAG==="ExecuteRung")switch(m.rung){case"in_place_resume":l6(e,s);break;case"redispatch":case"worker_rebuild":break}let b=a.switchProbe;if(m.TAG!=="Red"||b===void 0)return;let y=S$(o,m.cause,{sourceHarness:"codex",targetHarness:b.targetHarness,model:b.model,backendDead:a.harness.isClosed(),exportable:e.activityJournalItemCount>0,targetAdapterAvailable:b.targetAdapterAvailable()});if(y===void 0)return;e.failoverOffers.set(s,y),a.log("codex.fate_ladder_failover_offer",Object.fromEntries([["queued_seq",s],["offer",PS(y)]]));let v={};v.workspace=a.workspaceSlug,v.channel=a.channelSlug,v.thread_id=a.threadId,v.instance_id=a.instanceId,v[Nn]=a.harnessSessionId,v.seq=s,v.status="failed",n!==void 0&&(v.reason=n),v.fate=o,v.ladder=dp(e.fateLadderRuns.get(s),o,zu(a.env),We(y));let S=a.actorSlug;S!==void 0&&(v.actor_slug=S);let A=a.actorUserId;A!==void 0&&(v.actor_user_id=A),a.transport.push(a.commanderTopic,"message_state",v,void 0).then(R=>{});return;case"interrupted":return}}async function lw(e){let t="chat:"+e.workspaceSlug+":"+e.channelSlug,r=await e.transport.join(t,vP(e.commanderId,e.threadId,0),{rejoinPayload:void 0,registrationId:void 0});if(r.TAG!=="Ok")return{TAG:"Error",_0:"chat join failed: "+ri(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[Nn]=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",ri(o._0)]]));let a={deps:e,turnSeqs:new Map,pipeline:void 0,active:void 0,processingReason:void 0,processingSeq:void 0,typingActive:!1,typingHeartbeatInFlight:!1,typingHeartbeatTimer:void 0,dispatchingTurnStart:!1,pendingStartingPaints:[],autoRetryAttempts:new Map,retryCandidates:new Map,fateLadderRuns:new Map,activityJournalTurns:[],activityJournalItemCount:0,failoverOffers:new Map,switchedTargetSession:void 0},s=e.workspaceSlug+":"+e.channelSlug+":"+e.threadId,l=HM({instanceId:e.instanceId,threadKey:s,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:ri(g),budgetExempt:VM(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,_[Nn]=p,m!==void 0&&(_.source_message_seq=m),h!==void 0&&(_.metadata=h),_},runtimeMetadataForSourceSeq:void 0,sourceSeqForTurn:f=>a.turnSeqs.get(f),autoRetryAttemptsForSeq:f=>x(a.autoRetryAttempts.get(f),0),midStreamResumeAttemptAtMsForSeq:void 0,ladderHistoryForSeq:(f,p)=>ke(dp(a.fateLadderRuns.get(f),p,zu(e.env),We(a.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:WM(h,f).map(_=>_)}},onTurnTerminal:(f,p,m,h,_,g)=>d6(a,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 a.pipeline=l,{TAG:"Ok",_0:{routeNotification:(f,p)=>{a6(a,f,p);let m=a.active;if(m!==void 0){let h=k(p.turnId,xr);if(h!==void 0?h===m.turnId:!0){let g=$S(f,p);if(g!==void 0){let b=g;nn(a.processingReason,b)&&Qo(a,m.sourceSeq,b)}}}else{let h=a.dispatchingTurnStart,_=k(p.turnId,xr),g=$S(f,p);if(h&&_!==void 0&&g!==void 0){let b=g,y=a.pendingStartingPaints.at(-1);y!==void 0&&y.paintTurnId===_&&y.reason===b||a.pendingStartingPaints.push({paintTurnId:_,reason:b})}}l.submitNotification(f,XJ(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 a.retryCandidates.set(f,b),e.log("kandan.message_queued",Object.fromEntries([["seq",f],["thread_id",e.threadId],[Nn,e.harnessSessionId]])),await Ul(a,f,"queued",void 0),await tj(a,b)},publishRebuilt:async f=>await Qo(a,f,"rebuilt the coding session from durable thread history after an unresumable engine session"),failOnHarnessDeath:f=>{let p=a.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?a.failoverOffers.has(f)?f:void 0:Ve(a.failoverOffers.keys().toArray(),void 0,(Xe,q)=>q),b=k(g,Xe=>G(a.failoverOffers.get(Xe),q=>[Xe,q]));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=a.fateLadderRuns.get(v),A=S!==void 0?S:RS("transient_local",Date.now()),R=y.sourceHarness,Z=y.targetHarness,ae={sourceHarness:R,targetHarness:Z,model:p},U=k$(A,Date.now(),ae);if(U.TAG!=="Ok")return{TAG:"Error",_0:U._0};let B=U._0;a.fateLadderRuns.set(v,B),e.log("codex.user_cross_harness_switch_invoked",Object.fromEntries([["queued_seq",v],["source_harness",R],["target_harness",Z],["model",p]])),await Qo(a,v,x$);let oe=e.harnessSessionId,W=a.activityJournalTurns,V={harnessSessionId:oe,turns:W},M=e.cwd,N=e.defaults.approvalPolicy,re={cwd:M,model:p,reasoningEffort:void 0,developerInstructions:void 0,approvalPolicy:N,sandboxPolicy:void 0,environment:{}},se=a.retryCandidates.get(v),Ue={text:se!==void 0?BM(se):"Continue where the previous harness session left off.",attachments:[]},Ge={model:p,reasoningEffort:void 0,input:Ue},dt=await j$(V,e.threadId,m,e.cwd,_,Date.now(),h,re,Ge,Xe=>{switch(e.log("kandan.switch_target_event",Object.fromEntries([["queued_seq",v],["kind",Nm(Xe)]])),Xe.TAG){case"TurnCompleted":Ul(a,v,"processed",void 0);return;case"TurnFailed":Ul(a,v,"failed",Xe.failure.reason);return;default:return}}),je=zu(e.env),pt=Xe=>dp(Xe,"transient_local",je,We(y));if(dt.TAG==="Ok"){let Xe=dt._0;a.switchedTargetSession=Xe.session;let q={...ae},Ee=IS(B,"switch_dispatched",Date.now(),(q.redactedReasoningCount=Xe.redactedReasoningCount,q.transpiledItemCount=Xe.transpiledItemCount,q),void 0);a.fateLadderRuns.set(v,Ee),e.log("codex.user_cross_harness_switch_dispatched",Object.fromEntries([["queued_seq",v],["source_harness",R],["target_harness",Z],["model",p],["target_session_id",Xe.targetSessionId],["transpiled_item_count",Xe.transpiledItemCount],["redacted_reasoning_count",Xe.redactedReasoningCount]])),await Qo(a,v,"continuing this job on the "+y.targetHarness+" harness after a user-invoked switch");let ve={};ve.ok=!0,ve.target_session_id=Xe.targetSessionId,ve.turn_id=Xe.turnId;let _e=Xe.sessionFile;return _e!==void 0&&(ve.session_file=_e),ve.transpiled_item_count=Xe.transpiledItemCount,ve.redacted_reasoning_count=Xe.redactedReasoningCount,ve.ladder=pt(Ee),{TAG:"Ok",_0:ve}}let Ye=dt._0,He=I$(Ye),It=$$(Ye),Or=IS(B,M$(Ye)?"switch_refused":"switch_failed",Date.now(),ae,He+": "+It);a.fateLadderRuns.set(v,Or),e.log("codex.user_cross_harness_switch_not_dispatched",Object.fromEntries([["queued_seq",v],["refusal",He],["reason",It]])),await Ul(a,v,"failed","cross-harness switch "+He+": "+It);let Ut={};return Ut.ok=!1,Ut.refusal=He,Ut.reason=It,Ut.ladder=pt(Or),{TAG:"Ok",_0:Ut}},close:async()=>{ej(a),a.typingActive=!1;let f=a.switchedTargetSession;f!==void 0&&(a.switchedTargetSession=void 0,await f.stopSession());let p=a.pipeline;if(p!==void 0)return await p.close(5e3)}}}}import*as mj from"node:os";import*as pj from"node:path";import*as uw from"node:os";import*as Zl from"node:path";var c6="LINZUMI_CODEX_HOME";function f6(e){let t=G(e[c6],r=>r.trim());return t!==void 0&&t!==""?t:Zl.join(uw.homedir(),".linzumi","codex-home")}function m6(e){let t=G(e.CODEX_HOME,r=>r.trim());return t!==void 0&&t!==""?t:Zl.join(uw.homedir(),".codex")}var p6=["# Managed by Linzumi - do not edit by hand.","# This isolated CODEX_HOME keeps Linzumi-spawned codex processes off the","# user's ~/.codex config and the macOS Keychain. See codexHome.ts."].concat(jv.map(e=>e+' = "'+Mv+'"')).concat([""]).join(`
392
- `);function rj(e){let t=f6(e),r=qt(t);if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=yo(Zl.join(t,"config.toml"),p6,{encoding:"utf8",flag:"wx"});if(n.TAG==="Ok")return{TAG:"Ok",_0:t};let i=n._0;return si(i,"EEXIST")?{TAG:"Ok",_0:t}:{TAG:"Error",_0:i}}var h6={beforeCommit:()=>Promise.resolve()},dw={contents:0},Cp={contents:0};async function nj(e,t,r){let n=r!==void 0?r:h6,i=m6(t);if(i===e)return"SkippedSelfCopy";dw.contents=dw.contents+1|0;let o=dw.contents,a=Zl.join(i,"auth.json"),s=Zl.join(e,"auth.json"),l=s+".tmp-"+o.toString(),d=Xt(a);if(d.TAG==="Ok"){let c=qt(e);if(c.TAG!=="Ok")return{TAG:"InstallFailed",stage:"mkdir",code:c._0.code};let f=pn(l);if(f.TAG!=="Ok")return{TAG:"InstallFailed",stage:"clear_tmp",code:f._0.code};let p=yo(l,d._0,{encoding:"utf8",mode:384,flag:"wx"});if(p.TAG!=="Ok")return{TAG:"InstallFailed",stage:"write_tmp",code:p._0.code};if(await n.beforeCommit(),Cp.contents>o)return pn(l),{TAG:"SkippedStale",generation:o,committedGeneration:Cp.contents};let m=li(l,s);return m.TAG==="Ok"?(Cp.contents<o&&(Cp.contents=o),{TAG:"Installed",generation:o}):(pn(l),{TAG:"InstallFailed",stage:"rename",code:m._0.code})}let u=d._0;return si(u,"ENOENT")?"SkippedLoggedOut":{TAG:"InstallFailed",stage:"read_source",code:u.code}}import*as aj from"node:child_process";function g6(e){let t=Object.fromEntries([["command",e.command],["args",e.args.map(n=>n)],["pollIntervalMs",e.pollIntervalMs]]),r=e.protectedPidsDir;return r!==void 0&&r!==""&&(t.protectedPidsDir=r),JSON.stringify(t)}var y6=["const { spawn, spawnSync } = require('node:child_process');","const fs = require('node:fs');","const config = JSON.parse(process.argv[process.argv.length - 1]);","const originalParentPid = process.ppid;","const child = spawn(config.command, config.args, { stdio: 'inherit' });","let done = false;","// Dev-server exemption (keep in sync with devServerReapExemption.ts","// readProtectedPidsFromDir - the freshness bound is textually substituted","// from protectedListenerFreshnessMs at program build): union of every FRESH","// mirror file's pids. Any failure returns an empty set, restoring the","// classic whole-group kill.","function protectedPids() {"," const out = new Set();"," const dir = config.protectedPidsDir;"," if (typeof dir !== 'string' || dir === '') return out;"," let names;"," try { names = fs.readdirSync(dir); } catch (_e) { return out; }"," const now = Date.now();"," for (const name of names) {"," if (!name.endsWith('.json')) continue;"," try {"," const parsed = JSON.parse(fs.readFileSync(dir + '/' + name, 'utf8'));"," if (!parsed || typeof parsed.updatedAtMs !== 'number' || !Array.isArray(parsed.pids)) continue;"," if (now - parsed.updatedAtMs > 300000) continue;"," for (const pid of parsed.pids) {"," if (Number.isInteger(pid) && pid > 1) out.add(pid);"," }"," } catch (_e) {}"," }"," return out;","}","// Group kill that spares protected listener pids: enumerate this group's","// members (the wrapper leads its own group) and signal each one except the","// spared listeners and the wrapper itself (the wrapper exits via its own","// child-exit/parent-death paths). Any enumeration failure, or no protected","// member in the group, falls back to the atomic kill(-pgid).","function groupKillExcept(signal) {"," const spare = protectedPids();"," if (spare.size > 0) {"," try {"," const result = spawnSync('ps', ['-axo', 'pid=,pgid='], { encoding: 'utf8', timeout: 5000, killSignal: 'SIGKILL' });"," if (result.error === undefined && result.status === 0) {"," const members = [];"," let sparedAny = false;"," for (const line of result.stdout.split('\\n')) {"," const match = line.trim().match(/^(\\d+)\\s+(\\d+)$/);"," if (!match || Number(match[2]) !== process.pid) continue;"," const pid = Number(match[1]);"," if (pid === process.pid) continue;"," if (spare.has(pid)) { sparedAny = true; continue; }"," members.push(pid);"," }"," if (sparedAny) {"," for (const pid of members) { try { process.kill(pid, signal); } catch (_e) {} }"," return;"," }"," }"," } catch (_e) {}"," }"," process.kill(-process.pid, signal);","}","function shutdown(signal) {"," if (done) return;"," done = true;"," try { groupKillExcept(signal); }"," catch (_e) { try { child.kill(signal); } catch (_e2) {} }","}","process.on('SIGINT', () => shutdown('SIGINT'));","process.on('SIGTERM', () => shutdown('SIGTERM'));","process.on('SIGHUP', () => shutdown('SIGTERM'));","child.on('exit', (code, signal) => {"," clearInterval(watchdog);"," // The child is gone; the wrapper must follow it down rather than linger as an"," // orphan. On the forwarded-signal path (shutdown() above caught SIGINT/SIGTERM"," // /SIGHUP and propagated it to the child), the wrapper still has its own"," // handler installed for that signal, so a bare process.kill(self, signal)"," // would just re-enter shutdown() - a no-op once done is set - and the wrapper"," // would never exit. Remove the handlers first so the signal's DEFAULT"," // disposition (terminate) applies, re-raise to mirror the child's death"," // signal, then exit() as a belt-and-suspenders fallback in case re-raising"," // does not terminate (e.g. a signal with no default-terminate disposition)."," process.removeAllListeners('SIGINT');"," process.removeAllListeners('SIGTERM');"," process.removeAllListeners('SIGHUP');"," if (signal) { try { process.kill(process.pid, signal); } catch (_e) {} }"," process.exit(signal ? 1 : code == null ? 0 : code);","});","child.on('error', (err) => {"," process.stderr.write('engine watchdog spawn failed: ' + (err && err.message) + '\\n');"," process.exit(1);","});","const watchdog = setInterval(() => {"," // Inlined parentDeathWatchdogShouldReap (keep in sync): reap PURELY on a ppid"," // change from boot - covers reparent-to-subreaper AND reparent-to-init. NO"," // `=== 1` arm: a runner that is PID 1 captures originalParentPid === 1, so"," // such an arm would false-fire on the first poll and kill a healthy codex."," if (process.ppid !== originalParentPid) {"," try { child.kill('SIGKILL'); } catch (_e) {}"," try { groupKillExcept('SIGKILL'); } catch (_e) {}"," process.exit(0);"," }","}, config.pollIntervalMs);"];function ij(e,t){return{command:e,args:["-e",y6.join(`
393
- `),g6(t)]}}async function v6(e){let t=await pa(e,{});if(t.TAG!=="Ok")return!1;let r=t._0.status;return r>=200?r<=299:!1}function sj(e,t){return{audit:e,env:t,protectedPids:()=>new Set,fetchOk:v6,now:()=>Date.now(),readyzTimeoutMs:1e4,readyzPollMs:50}}function S6(e){return e}function cw(e,t,r,n,i,o){e.audit(t,Object.fromEntries([["command",r],["args",n.map(S6)],["cwd",i]].concat(o.concat([["purpose","codex.app_server"]]))))}function oj(e,t){let r=t.pid;if(r==null){Tl(t,"SIGINT");return}let n=Um(r,"SIGINT",Vi,void 0,e.protectedPids());n.sparedPids.length!==0&&e.audit("process.group_signal_spared_listeners",Object.fromEntries([["pid",r],["signal","SIGINT"],["sparedPids",n.sparedPids.map(d=>d)],["purpose","codex.app_server"]]));let i=n.groupSignalError;if(i===void 0)return;let o=i.code,a;if(o!==void 0)switch(o){case"EPERM":a="process.group_signal_denied";break;case"ESRCH":a="process.group_signal_missing";break;default:a="process.group_signal_failed"}else a="process.group_signal_failed";let s=i.code;e.audit(a,Object.fromEntries([["pid",r],["signal","SIGINT"],["code",s!==void 0?s:null],["message",i.message],["fallback","child_signal"],["purpose","codex.app_server"]])),i.code==="EPERM"&&fr("codex app-server process-group SIGINT denied for pid "+r.toString()+`; falling back to direct child SIGINT
394
- `),Tl(t,"SIGINT")}function w6(e){return new Promise((t,r)=>{setTimeout(()=>t(),e)})}async function k6(e,t,r){let n=MP(t),i=n!==void 0?n:t,o=e.now()+e.readyzTimeoutMs,a;for(;mn(a);){let s=r();s!==void 0?a={TAG:"Error",_0:"codex app-server exited before readyz: "+s}:await e.fetchOk(i)?a={TAG:"Ok",_0:void 0}:e.now()>o?a={TAG:"Error",_0:"timed out waiting for codex app-server readyz"}:await w6(e.readyzPollMs)}return x(a,{TAG:"Error",_0:"timed out waiting for codex app-server readyz"})}async function lj(e,t,r,n,i,o,a){let s=await hR();if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0};let l="ws://127.0.0.1:"+s._0.toString(),d=EP(l,n),u={contents:""},c=ij(process.execPath,{command:t,args:d,pollIntervalMs:GP,protectedPidsDir:dR()});cw(e,"process.spawn",t,d,r,[]);let f=aj.spawn(c.command,c.args,{cwd:r,env:PP(e.env,i,o),stdio:RP,detached:!0}),p={contents:void 0},m=[],h=(S,A,R)=>{if(S!=null){S.on("data",Z=>{let L=Z.toString("utf8");R!==void 0&&R(L);let ae=f.pid;e.audit("process.output",Object.fromEntries([["pid",ae??null],["purpose","codex.app_server"],["stream",A],["chars",L.length],["output",L]]))});return}};h(f.stdout,"stdout",void 0),h(f.stderr,"stderr",S=>{u.contents=IP(u.contents+S)});let _=Zm({stop:()=>oj(e,f),pid:Rr(f.pid),ownProcessGroup:!0,kind:"codex.app_server"});f.once("exit",(S,A)=>{let R=S==null?A??"unknown":S.toString();p.contents=R,_.unregister();let Z=f.pid;cw(e,"process.exit",t,d,r,[["pid",Z??null],["code",S??null],["signal",A??null]]);let L=m.slice();m.splice(0,m.length),L.forEach(ae=>ae())}),f.on("error",S=>{p.contents=S.message,_.unregister()});let g=f.pid;cw(e,"process.spawned",t,d,r,[["pid",g??null]]);let b=()=>{_.unregister(),oj(e,f)},y=await k6(e,l,()=>p.contents);if(y.TAG==="Ok")return{TAG:"Ok",_0:{url:l,pid:Rr(f.pid),stop:b,onExit:S=>{if(p.contents!==void 0)return S();m.push(S)}}};let v=y._0;return b(),$P(v,u.contents,a)?(e.audit("process.spawn.retry",Object.fromEntries([["command",t],["cwd",r],["attempt",a],["reason","loopback_bind_in_use"],["purpose","codex.app_server"]])),await lj(e,t,r,n,i,o,a+1|0)):{TAG:"Error",_0:v}}function dj(e,t,r,n,i,o){return lj(e,t,r,n,i!==void 0?i:[],o!==void 0?o:!0,1)}function fw(e,t){let r=e[t];if(typeof r=="string")return r}function Ep(e){let t=G(e,r=>r.trim());if(t!==void 0&&t!=="")return t}function Wl(e){let t=Ep(fw(e,"modelProvider")),r=k(e.llmProxy,ke),n=k(r,a=>Ep(fw(a,"baseUrl"))),i=k(r,a=>Ep(fw(a,"token"))),o=n!==void 0&&i!==void 0?[n,i]:void 0;return t!==void 0?t!=="wafer"?{TAG:"ProviderError",_0:"model_provider_unsupported:"+t}:o!==void 0?{TAG:"Provider",_0:{provider:"wafer",llmProxyBaseUrl:o[0],llmProxyToken:o[1]}}:{TAG:"ProviderError",_0:"wafer_model_provider_missing_llm_proxy"}:o!==void 0?{TAG:"Provider",_0:{provider:"openai-proxy",llmProxyBaseUrl:o[0],llmProxyToken:o[1]}}:"NoProvider"}function T6(e){let t=e.length;for(;t>0&&e.slice(t-1|0,t)==="/";)t=t-1|0;return e.slice(0,t)}function uj(e){let t=T6(e.llmProxyBaseUrl)+"/v1";return e.provider==="openai-proxy"?{id:"linzumi",name:"Linzumi Proxy",baseUrl:t,envKey:"OPENAI_API_KEY",wireApi:"responses",httpHeaders:void 0,envHttpHeaders:Object.fromEntries([["x-linzumi-llm-proxy-token","LINZUMI_LLM_PROXY_TOKEN"]])}:{id:"linzumi",name:"Linzumi Proxy",baseUrl:t,envKey:"LINZUMI_LLM_PROXY_TOKEN",wireApi:"responses",httpHeaders:void 0,envHttpHeaders:void 0}}function cj(e,t){if(e.provider!=="openai-proxy")return{TAG:"Ok",_0:[["LINZUMI_LLM_PROXY_TOKEN",e.llmProxyToken]]};let n=Ep(t.OPENAI_API_KEY);return n!==void 0?{TAG:"Ok",_0:[["LINZUMI_LLM_PROXY_TOKEN",e.llmProxyToken],["OPENAI_API_KEY",n]]}:{TAG:"Error",_0:"codex llm proxy requires API-key auth (OPENAI_API_KEY in the environment or $CODEX_HOME/auth.json); ChatGPT OAuth credentials cannot be forwarded"}}function A6(e){if(process.send==null)return{TAG:"Error",_0:"no IPC channel"};try{return process.send(e),{TAG:"Ok",_0:void 0}}catch(r){let n=ee(r);return{TAG:"Error",_0:Ne(n).message}}}function O6(e,t){fr(JSON.stringify(Object.fromEntries([["worker_event",e],["payload",t]]))+`
395
- `)}function C6(e){let t=k(e.LINZUMI_DEV_SERVICES_PARENT_PID,r=>ga(r.trim(),void 0));return t!==void 0&&t>0?t:process.ppid}function E6(e){return rc(k(e.split(":").at(-1),jn),t=>isFinite(t)&&t>=1?t<=65535:!1)}async function mw(e,t,r){let n=sj(t,e),i=rj(e);if(i.TAG!=="Ok")return{TAG:"Error",_0:i._0.message};let o=i._0;r.provider!==void 0||await nj(o,e,void 0);let s=Gc(r.serviceUrl,r.token,r.agentMcpToken,new Date);if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0.summary};let l=s._0,d=Vc(process.execPath,process.argv[1],process.execArgv),u=wu(r.token),c=Ws({command:d.command,argsPrefix:d.argsPrefix,serviceUrl:r.serviceUrl,authFilePath:l.path,ownerUsername:u.actorUsername,operatingMode:"Text",cwd:r.cwd,threadId:r.threadId,agentSession:Dt(r.agentMcpToken),devServices:{scope:r.devServicesScope,ownerPid:r.devServicesOwnerPid}}),f=r.provider,p=f!==void 0?cj(f,e):{TAG:"Ok",_0:[]};if(p.TAG==="Ok"){let m=await dj(n,r.codexBin,r.cwd,{model:r.model,reasoningEffort:r.reasoningEffort,fast:r.fast,mcpConfigArgs:[dx(c)],modelProvider:G(r.provider,uj)},[["CODEX_HOME",o]].concat(p._0),void 0);if(m.TAG==="Ok"){let h=m._0;return h.onExit(()=>l.cleanup()),{TAG:"Ok",_0:h}}return l.cleanup(),{TAG:"Error",_0:m._0}}return l.cleanup(),{TAG:"Error",_0:p._0}}async function hj(e){let t=process.env,r=mj.homedir(),l=MI(e,{env:t,processCwd:()=>process.cwd(),home:r,resolveBaseCwd:d=>d!==void 0?pj.resolve(d):process.cwd(),fallbackCodexBin:()=>$m(void 0,Rm(),d=>{fr(d)},Im,t,void 0),warnStaleRoot:d=>{fr($I(d))}});if(l.TAG==="Ok"){let d=l._0,u=d.options,c=O6,f={contents:void 0},p={contents:void 0},m={contents:!1},h=()=>{if(m.contents)return;m.contents=!0;let U=p.contents;U!==void 0&&U.close();let B=f.contents;if(B!==void 0)return B.stop()},_=async()=>{let U=await mw(t,c,{codexBin:u.codexBin,cwd:u.cwd,serviceUrl:u.kandanUrl,token:u.token,agentMcpToken:u.linzumiAgentMcpToken,devServicesScope:d.runnerId,devServicesOwnerPid:C6(t),threadId:u.kandanThreadId,model:k(u.runtimeDefaults,B=>B.model),reasoningEffort:k(u.runtimeDefaults,B=>B.reasoningEffort),fast:u.fast,provider:u.codexModelProvider});return U.TAG!=="Ok"?{TAG:"Error",_0:U._0}:(f.contents=U._0,{TAG:"Ok",_0:void 0})},g=async()=>{let U=f.contents;if(U===void 0)return{TAG:"Error",_0:"codex app-server was not started"};let B=await qm(U.url,void 0,void 0,void 0);if(B.TAG!=="Ok")return{TAG:"Error",_0:"codex app-server connect failed: "+B._0};let oe=await Lm(B._0,{audit:c,onWire:(V,M)=>{},keepaliveIntervalMs:3e4});if(oe.TAG!=="Ok")return{TAG:"Error",_0:"codex app-server handshake failed: "+oe._0};let W=oe._0;return p.contents=W,{TAG:"Ok",_0:IR(W)}},y=process.send!=null?{send:A6,isConnected:()=>nn(Rr(process.connected),!1),onMessage:U=>{process.on("message",U)},onceDisconnect:U=>{process.once("disconnect",U)}}:void 0,L={preflightFailure:()=>OR(u.cwd,u.allowedCwds,AR(u.cwd,u.allowedCwds,U=>!1)),startAppServer:_,connectClient:g,onSessionClosed:U=>{let B=p.contents;if(B!==void 0)return B.onClose(U)},ipc:y,commanderManagedPorts:()=>{let U=f.contents;if(U===void 0)return[];let B=E6(U.url);return B!==void 0?[{port:B,pid:G(U.pid,oe=>oe),processName:"Codex app-server",processIconKey:"codex",agentProvider:"codex"}]:[]},log:c,writeStderr:U=>{fr(U)},waitForStop:()=>new Promise((U,B)=>{let oe={contents:!1},W=()=>{if(!oe.contents)return oe.contents=!0,U()};process.once("disconnect",W),process.once("SIGTERM",W),process.once("SIGINT",W);let V=f.contents;if(V!==void 0)return V.onExit(W)}),stop:h},ae=await jI(u.kandanThreadId,L);return ae.TAG==="Ok"?typeof ae._0!="object"?0:1:(fr(ae._0+`
396
- `),h(),1)}return fr(l._0+`
397
- `),1}var P6=`<linzumi_markdown_media_guidance>
387
+ `)}function B$(e,t){let r=f9(e),n=g9(e);return[{body:y9(r,n),structured:Lu("codex_assistant_message",t,[["content",r],["phase",x(E(e,"phase"),"final_answer")]])}]}function _p(e,t){let r=x(E(e,"id"),"item-"+t.toString()),n=E(e,"type");if(n===void 0)return[];switch(n){case"agentMessage":return B$(e,r);case"agentStatus":let i=x(_t(e,"title"),"Agent status"),o=Wu(_t(e,"body")),a=qS(e.severity),s=_t(e,"provider"),l=os(e,"occurredAtMs"),d=V$(e),u={title:i,body:o,severity:a,provider:s,occurredAtMs:l,rawProviderMetadata:d};return[{body:Uu(i,o),structured:BS(r,u,"completed")}];case"agentTaskUpdate":let c=x(_t(e,"title"),"Agent task"),f=Wu(_t(e,"body")),p=_t(e,"progressLabel"),m=LS(e.state),h=_t(e,"provider"),_=os(e,"occurredAtMs"),g=V$(e),b={title:c,body:f,state:m,progressLabel:p,provider:h,occurredAtMs:_,rawProviderMetadata:g};return[{body:Uu(c,f!==void 0?f:p),structured:KS(r,b,"completed")}];case"commandExecution":let y=x(E(e,"command"),"command"),v=x(_t(e,"aggregatedOutput"),""),S=WS(y,v),A=E(e,"toolName"),R=os(e,"durationMs"),W=os(e,"exitCode");return[{body:S.body,structured:Lu("codex_command_execution",r,[["command",S.command],["tool_name",A!==void 0?A:null],["cwd",x(E(e,"cwd"),"")],["status",x(E(e,"status"),"")],["process_id",x(E(e,"processId"),"")],["duration_ms",R!==void 0?R:null],["exit_code",W!==void 0?W:null],["output",S.output]].concat(eM(S)))}];case"fileChange":let L=uM(x(pp(e,"changes"),[])),ae=_t(e,"patchText"),U=ae!==void 0?ae:x(_t(e,"patch"),"");return[{body:U.trim()!==""?U:L.map(re=>x(E(re,"path"),"")).join(`
388
+ `),structured:Lu("codex_file_change",r,[["status",x(E(e,"status"),"")],["patch_text",U],["changes",L.map(re=>re)]])}];case"message":let oe=E(e,"role");return oe!==void 0?oe==="assistant"?B$(e,r):[]:[];case"reasoning":let Z=cp(e,"content").join(`
389
+ `),V=cp(e,"summary");return[{body:Z.trim()!==""?Z:V.join(`
390
+ `),structured:Lu("codex_reasoning",r,[["content",Z],["summary_parts",V.map(t9)]])}];case"terminalInput":let N=_t(e,"inputText"),j;if(N!==void 0)j=N;else{let re=_t(e,"input");j=re!==void 0?re:x(_t(e,"text"),"")}return[{body:j,structured:Lu("codex_terminal_input",r,[["process_id",x(E(e,"processId"),"")],["input_text",j]])}];default:return[]}}var fM=U$;var Nl={cwd:void 0,status:void 0,processId:void 0,durationMs:void 0,exitCode:void 0,stream:void 0};function as(e){let t=e!==void 0?e:"";return t===""?{parts:[],cached:"",joinedCount:0}:{parts:[t],cached:t,joinedCount:1}}function YS(e,t){t!==""&&e.parts.push(t)}function XS(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 b9(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 Gl(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 mM(e){return e.itemId}function yp(e){let t=E(e,"itemId");if(t!==void 0)return t;let r=E(e,"item_id");return r!==void 0?r:k(qe(e,"item"),n=>E(n,"id"))}function pM(e,t){let r=yp(t);switch(e){case"item/agentMessage/delta":return G(hp(t),n=>({TAG:"AssistantDelta",itemId:r,text:n}));case"command/exec/outputDelta":case"item/commandExecution/outputDelta":break;case"item/commandExecution/terminalInteraction":return G(lM(t),n=>({TAG:"TerminalInputDelta",itemId:r,processId:n.terminalProcessId,inputText:n.inputText}));case"item/fileChange/outputDelta":return G(dM(t),n=>({TAG:"FileChangeDelta",itemId:r,patchText:n}));case"item/reasoning/textDelta":return G(hp(t),n=>({TAG:"ReasoningDelta",itemId:r,text:n}));case"item/started":return G(JS(t),n=>({TAG:"WebSearchDelta",itemId:r,queries:n.queries}));default:return}return G(sM(t),n=>({TAG:"CommandOutputDelta",itemId:r,processId:n.commandProcessId,command:n.command,stream:n.stream,text:n.commandDelta}))}function hM(e){switch(e){case"assistant":return{TAG:"AssistantContent",text:as(void 0)};case"reasoning":return{TAG:"ReasoningContent",text:as(void 0)};case"commandOutput":return{TAG:"CommandOutputContent",command:"",processId:void 0,chunks:[]};case"fileChange":return{TAG:"FileChangeContent",patchText:as(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 v9(e,t){return Ve(t,e.slice(),(r,n)=>r.includes(n)?r:r.concat([n]))}function _M(e,t){if(b9(e)!==Gl(t))return e;switch(e.TAG){case"AssistantContent":return t.TAG!=="AssistantDelta"||YS(e.text,t.text),e;case"ReasoningContent":return t.TAG!=="ReasoningDelta"||YS(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"||YS(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:v9(e.queries,t.queries)}:e;case"AgentStatusContent":case"AgentTaskUpdateContent":return e}}function S9(e){return e.map(t=>t.text).join("")}function gM(e){let t=E(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 E(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 yM(e){let t=JS(e);if(t!==void 0)return{completedStreamKind:"webSearch",completedItemId:yp(e),completedContent:{TAG:"WebSearchContent",queries:t.queries}};let r=x(qe(e,"item"),e),n=cM(e);if(n!==void 0){let s=E(r,"call_id");return{completedStreamKind:"fileChange",completedItemId:s!==void 0?s:E(r,"id"),completedContent:{TAG:"FileChangeContent",patchText:as(n),status:"completed"}}}let i=gM(r);if(i===void 0)return;let o=_p(r,0)[0];if(o===void 0)return;let a=E(r,"id");switch(i){case"assistant":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"AssistantContent",text:as(x(E(o.structured,"content"),o.body))}};case"reasoning":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"ReasoningContent",text:as(x(E(o.structured,"content"),o.body))}};case"commandOutput":let s=Or(o.structured,"output"),l;return l=typeof s=="string"?s:"",{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"CommandOutputContent",command:x(E(o.structured,"command"),""),processId:E(o.structured,"process_id"),chunks:[{stream:"",text:l}]}};case"fileChange":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"FileChangeContent",patchText:as(x(E(o.structured,"patch_text"),o.body)),status:"completed"}};case"terminalInput":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"TerminalInputContent",processId:E(o.structured,"process_id"),inputText:x(E(o.structured,"input_text"),o.body)}};case"webSearch":return;case"agentStatus":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"AgentStatusContent",_0:{title:x(E(o.structured,"title"),o.body),body:E(o.structured,"body"),severity:qS(Or(o.structured,"severity")),provider:E(o.structured,"agent_provider"),occurredAtMs:os(o.structured,"occurred_at_ms"),rawProviderMetadata:qe(o.structured,"raw_provider_metadata")}}};case"agentTaskUpdate":return{completedStreamKind:i,completedItemId:a,completedContent:{TAG:"AgentTaskUpdateContent",_0:{title:x(E(o.structured,"title"),o.body),body:E(o.structured,"body"),state:LS(Or(o.structured,"state")),progressLabel:E(o.structured,"progress_label"),provider:E(o.structured,"agent_provider"),occurredAtMs:os(o.structured,"occurred_at_ms"),rawProviderMetadata:qe(o.structured,"raw_provider_metadata")}}}}}function Fl(e,t,r){switch(t.TAG){case"AssistantContent":let n=XS(t.text);return{renderedBody:n,renderedStructured:tM(e,n,r)};case"ReasoningContent":let i=XS(t.text);return{renderedBody:i,renderedStructured:rM(e,i,r)};case"CommandOutputContent":let o=t.chunks,a=o[o.length-1|0],s=ZS(e,t.command,S9(o),{cwd:Nl.cwd,status:Nl.status,processId:t.processId,durationMs:Nl.durationMs,exitCode:Nl.exitCode,stream:x(G(a,y=>y.stream),"")},r),l=x(E(s,"command"),""),d=Or(s,"output");return{renderedBody:US(l,typeof d=="string"?d:""),renderedStructured:s};case"FileChangeContent":let c=XS(t.patchText),f;return f=r==="completed"||t.status!=="started"?"completed":"started",{renderedBody:c,renderedStructured:VS(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",fM(r)],["process_id",x(t.processId,"")],["input_text",p]])};case"WebSearchContent":let m=t.queries;return{renderedBody:HS(m),renderedStructured:oM(e,m,r)};case"AgentStatusContent":let h=t._0,_=Wu(h.body);return{renderedBody:Uu(h.title,_),renderedStructured:BS(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=Wu(g.body);return{renderedBody:Uu(g.title,b!==void 0?b:g.progressLabel),renderedStructured:KS(e,{title:g.title,body:b,state:g.state,progressLabel:g.progressLabel,provider:g.provider,occurredAtMs:g.occurredAtMs,rawProviderMetadata:g.rawProviderMetadata},r)}}}function bM(e){return e.flatMap((t,r)=>{let n=ke(t);if(n===void 0)return[];let i=gM(n);return i!==void 0?i==="webSearch"?[]:_p(n,r).filter(o=>o.body.trim()!=="").map(o=>({snapshotIndex:r,projItemId:E(n,"id"),projStreamKind:i,projBody:o.body,projStructured:o.structured})):[]})}function QS(e,t){let r=x(E(e,"kind"),"codex_output"),n=Object.assign({},e);return n.item_id=t,n.transcript_unit_id=r+":"+t,n}function ew(e,t,r,n){if(r==="webSearch")return"local-codex-search-"+qn(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-"+qn(e+":"+t+":"+i+n).slice(0,32)}function Zu(e){let t=qe(e,"turn"),r=qe(e,"item"),n=k(r,d=>qe(d,"turn")),i=k(t,d=>E(d,"id"));if(i!==void 0)return i;let o=E(e,"turnId");if(o!==void 0)return o;let a=E(e,"turn_id");if(a!==void 0)return a;let s=k(r,d=>E(d,"turnId"));if(s!==void 0)return s;let l=k(r,d=>E(d,"turn_id"));return l!==void 0?l:k(n,d=>E(d,"id"))}function wi(e){return e!==void 0?e:null}var Hu="pipeline/turnMappingReady",ql="pipeline/turnMappingFailed",SM="Codex completed without producing a response.",w9="linzumi_agent_reply",k9="The agent ended its turn after narrating an intent without posting a reply or taking any action.",x9="agent narrated intent but posted no reply and took no action",T9="Stopped after repeated empty responses in a row";function A9(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 AM="Codex emitted unsupported tool call";function O9(e){return e!==void 0?e.startsWith(AM):!1}function wM(e){switch(e){case"assistant":case"reasoning":case"webSearch":return!1;default:return!0}}function C9(e){if(e===void 0)return;let t=E(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(E(e,"status"),"completed"))return;let n=Or(e,"error"),i=0;if(n!==void 0){if(n!==null)return;i=2}else i=2;if(i===2){let o=Or(e,"success"),a=0;if(typeof o=="boolean"){if(!o)return;a=3}else a=3;if(a===3){let s=x(E(e,"tool"),""),l=s.split("__");return x(l[l.length-1|0],s)===w9?"ReplyEvidence":"ActionEvidence"}}}}}function OM(e,t){let r=C9(t);if(r!==void 0){r==="ReplyEvidence"?e.agentReplyToolCallSeen=!0:e.agentActionToolCallSeen=!0;return}}function E9(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 CM(e){if(e===void 0)return;let t=E(e,"codex_protocol_failure_reason"),r=t!==void 0?t:E(e,"protocolFailureReason");if(r!==void 0)return r;let n=E(e,"type");if(n===void 0)return;switch(n){case"custom_tool_call_output":case"function_call_output":break;default:return}let i=E(e,"output"),o;if(i!==void 0)o=i;else{let a=E(e,"result");if(a!==void 0)o=a;else{let s=E(e,"text");o=s!==void 0?s:E(e,"content")}}return G(E9(o),a=>AM+": "+a)}function P9(e){return Ve(e,void 0,(t,r)=>t!==void 0?t:CM(ke(r)))}function EM(){return{phase:"running",turns:new Map,terminalTurnIds:new Set,bufferedTurns:new Map,consecutiveEmptyTurns:0,lastUpstreamErrorSummary:void 0,consecutiveIsolatedRejections:0,costCap402Seen:!1}}function R9(e){switch(e){case"turn/aborted":case"turn/canceled":case"turn/cancelled":return"interrupted";case"turn/failed":return"failed";default:return}}function I9(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 $9(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 M9=new RegExp("<[^>]*>","g"),j9=new RegExp(`data:[^"' )]+`,"g"),z9=new RegExp("\\s+","g");function Xo(e){if(e===void 0)return;let t=e.replace(M9," ").replace(j9,"").replace(z9," ").trim().slice(0,180);if(t!=="")return t}function Yo(e){if(e!==void 0&&typeof e=="number"&&isFinite(e))return e}function kp(e){let t=k(qe(e,"diagnostic_payload"),o=>qe(o,"error")),r=k(t,o=>qe(o,"codexErrorInfo")),n=k(r,o=>qe(o,"responseStreamDisconnected")),i=[Yo(k(n,o=>Or(o,"httpStatusCode"))),Yo(k(r,o=>Or(o,"httpStatusCode"))),Yo(k(r,o=>Or(o,"statusCode"))),Yo(k(r,o=>Or(o,"status"))),Yo(k(t,o=>Or(o,"httpStatusCode"))),Yo(k(t,o=>Or(o,"statusCode"))),Yo(k(t,o=>Or(o,"status")))];return Ve(i,void 0,(o,a)=>o!==void 0?o:a)}function N9(e){let t=E(e,"diagnostic_summary"),r=t!==void 0?t:k(k(qe(e,"diagnostic_payload"),o=>qe(o,"error")),o=>E(o,"message")),n=k(r,o=>Xo(o));if(n===void 0)return;let i=kp(e);return i!==void 0?"Model gateway error (HTTP "+i.toString()+"): "+n:"Model gateway error: "+n}var G9=new RegExp("(?:<!doctype\\s+html|<html(?:\\s|>))","i"),F9=new RegExp("cloudflare|cf-ray|\\bblocked\\b|access denied|\\bchallenge\\b|attention required","i"),D9=new RegExp("cloudflare|cf-ray","i"),q9=new RegExp("\\bblocked\\b|access denied","i"),L9=new RegExp("attention required","i");function U9(e){let t=kp(e);if(t===void 0||t!==401&&t!==403)return;let r=k(qe(e,"diagnostic_payload"),i=>qe(i,"error")),n=Ve([E(e,"diagnostic_summary"),k(r,i=>E(i,"message")),E(e,"message")],void 0,(i,o)=>i!==void 0?i:o!==void 0&&G9.test(o)&&F9.test(o)?o:void 0);return G(n,i=>{let o=D9.test(i),a=q9.test(i),s=L9.test(i);return{edgeStatus:t,edgeSignature:o?"cloudflare":a?"blocked":s?"attention_required":"challenge"}})}function W9(e){return e!==void 0?e===402||e===408||e===425||e===429?!0:e>=500?e<=599:!1:!1}function Z9(e){return e!==void 0&&e>=400&&e<=499&&e!==402&&e!==408&&e!==425?e!==429:!1}function V9(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=x(G(t,o=>o.trim()),"");return i===""?n:n+" Upstream said: "+i}function H9(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 B9(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=x(G(e,n=>n.trim()),"");return r===""?"Tool execution failed: "+t:"Tool execution failed ("+r+"): "+t}function Bu(e){let t=k(qe(e,"diagnostic_payload"),i=>qe(i,"error")),r=E(e,"message"),n;if(r!==void 0)n=r;else{let i=E(e,"reason");if(i!==void 0)n=i;else{let o=k(qe(e,"error"),a=>E(a,"message"));if(o!==void 0)n=o;else{let a=E(e,"error");if(a!==void 0)n=a;else{let s=E(e,"diagnostic");if(s!==void 0)n=s;else{let l=k(t,d=>E(d,"message"));n=l!==void 0?l:k(k(t,d=>qe(d,"error")),d=>E(d,"message"))}}}}}return Xo(n)}var K9=new RegExp("^(?:model_request_rejected|invalid_request_error|invalid_request|request_rejected|content_policy_violation|content_filter|input_validation_error)$","i"),J9=new RegExp("\\bmodel request was rejected\\b|\\bmodel_request_rejected\\b","i");function Y9(e){let t=k(qe(e,"diagnostic_payload"),o=>qe(o,"error")),r=k(t,o=>qe(o,"error")),n=qe(e,"error"),i=[[k(t,o=>E(o,"code")),k(t,o=>E(o,"message"))],[k(t,o=>E(o,"type")),k(t,o=>E(o,"message"))],[k(r,o=>E(o,"code")),k(r,o=>E(o,"message"))],[k(r,o=>E(o,"type")),k(r,o=>E(o,"message"))],[k(n,o=>E(o,"code")),k(n,o=>E(o,"message"))],[k(n,o=>E(o,"type")),k(n,o=>E(o,"message"))],[E(e,"code"),E(e,"message")],[E(e,"type"),E(e,"message")]];return Ve(i,void 0,(o,a)=>{if(o!==void 0)return o;let s=G(a[0],l=>l.trim());if(s!==void 0&&s!==""&&K9.test(s))return{colocatedMessage:a[1]}})}function X9(e){let t=Y9(e),r=Bu(e),n=r!==void 0?J9.test(r):!1;if(t===void 0&&!n)return;let i=Xo(k(t,o=>o.colocatedMessage));return i!==void 0?i:r!==void 0?r:""}function Q9(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=x(G(e,n=>n.trim()),"");return r===""?"The model request was rejected: "+t:"The model request was rejected ("+r+"): "+t}var eJ=new RegExp("^provider_outage$","i"),tJ=new RegExp("rejecting requests|experiencing an outage|provider outage","i");function rJ(e){let t=k(qe(e,"diagnostic_payload"),d=>qe(d,"error")),r=k(t,d=>qe(d,"error")),n=qe(e,"error");if(![k(t,d=>E(d,"code")),k(t,d=>E(d,"type")),k(r,d=>E(d,"code")),k(r,d=>E(d,"type")),k(n,d=>E(d,"code")),k(n,d=>E(d,"type")),E(e,"code"),E(e,"type")].some(d=>{let u=G(d,c=>c.trim());return u!==void 0&&u!==""?eJ.test(u):!1}))return;let a=[k(t,d=>E(d,"message")),k(r,d=>E(d,"message")),k(n,d=>E(d,"message")),E(e,"message"),E(e,"reason")],s=Ve(a,void 0,(d,u)=>{if(d!==void 0)return d;let c=Xo(u);if(c!==void 0&&tJ.test(c))return c});if(s!==void 0)return s;let l=Bu(e);return l!==void 0?l:""}function nJ(e){let t=x(G(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 iJ(e){let t="the model provider rejected this request and produced no response (a one-off retry did not help).",r=x(G(e,n=>n.trim()),"");return r===""?"The model request was rejected: "+t:"The model request was rejected ("+r+"): "+t}function oJ(e,t,r,n){return e?{dispositionKind:"storm",dispositionRetryable:!1,dispositionReason:nJ(r)}:t<1?{dispositionKind:"isolated_retry",dispositionRetryable:!0,dispositionReason:Q9(n)}:{dispositionKind:"isolated_terminal",dispositionRetryable:!1,dispositionReason:iJ(n)}}var aJ=new RegExp("\\bapply_patch\\b[^]*\\bincompatible\\b|\\bin-flight tool future\\b[^]*\\bfail","i"),sJ=new RegExp("\\btools::router\\b[^]*\\bfatal\\b|\\bresponse\\.failed\\b","i"),lJ=new RegExp("(tool.*fatal|fatal.*tool|response[._]failed|tool_failure)","i");function dJ(e){return aJ.test(e)?!0:sJ.test(e)}function uJ(e){let t=E(e,"kind"),r;if(t!==void 0)r=t;else{let a=E(e,"type");if(a!==void 0)r=a;else{let s=k(qe(e,"error"),l=>E(l,"kind"));r=s!==void 0?s:k(qe(e,"error"),l=>E(l,"type"))}}let n=r!==void 0?lJ.test(r):!1,i=Bu(e),o=i!==void 0?dJ(i):!1;if(n||o)return i!==void 0?i:""}function kM(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 cJ(e){if(e===void 0)return;let t=bl(e,"{");if(t===void 0)return;let r=_a(e.slice(t)),n=r!==void 0?r:_a(e.slice(t,e.lastIndexOf("}")+1|0));if(n===void 0||!de(E(n,"type"),"error"))return;let i=qe(n,"error");if(i===void 0)return;let o=E(i,"type");return{envelopeStatus:Yo(Or(n,"status")),envelopeErrorType:o!==void 0?o:E(i,"code"),envelopeMessage:E(i,"message")}}function fJ(e){let t=qe(e,"error"),r=k(qe(e,"diagnostic_payload"),h=>qe(h,"error")),n=k(r,h=>qe(h,"error")),i=kp(e),o=k(t,h=>E(h,"type")),a;if(o!==void 0)a=o;else{let h=k(t,_=>E(_,"code"));if(h!==void 0)a=h;else{let _=k(r,g=>E(g,"type"));if(_!==void 0)a=_;else{let g=k(r,b=>E(b,"code"));if(g!==void 0)a=g;else{let b=k(n,y=>E(y,"type"));if(b!==void 0)a=b;else{let y=k(n,v=>E(v,"code"));if(y!==void 0)a=y;else{let v=kM(k(t,S=>Or(S,"codexErrorInfo")));a=v!==void 0?v:kM(k(r,S=>Or(S,"codexErrorInfo")))}}}}}}let s=Xo(k(t,h=>E(h,"message"))),l;if(s!==void 0)l=s;else{let h=Xo(k(n,_=>E(_,"message")));if(h!==void 0)l=h;else{let _=Xo(k(r,g=>E(g,"message")));l=_!==void 0?_:Bu(e)}}if(i===void 0&&a===void 0){let h=Ve([k(t,_=>E(_,"message")),k(n,_=>E(_,"message")),k(r,_=>E(_,"message")),E(e,"message"),E(e,"reason"),E(e,"error"),E(e,"diagnostic"),E(e,"diagnostic_summary")],void 0,(_,g)=>_!==void 0?_:cJ(g));if(h!==void 0){i=h.envelopeStatus,a=h.envelopeErrorType;let _=Xo(h.envelopeMessage);l=_!==void 0?_:l}}let c=G(a,h=>h.trim()),f;f=c!==void 0&&c!==""?c:void 0;let p=$e([G(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 xM(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 PM(e){return e===429||e>=500&&e<=599?"TransientRetryClass":"DeterministicRetryClass"}var mJ=new RegExp("upstream model stream stalled","i"),pJ=new RegExp("\\(HTTP (\\d{3})\\)");function RM(e){let t=pJ.exec(e);if(t!=null)return k(k(t.slice(1)[0],r=>r),jn)}function hJ(e){let t=RM(e);return t!==void 0?PM(t):mJ.test(e)?"TransientRetryClass":"DeterministicRetryClass"}function tw(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,PM(i)==="TransientRetryClass"?t.contents=!0:r.contents=!0),[e.swLastUpstreamErrorReason,e.swLastErrorDiagnosticText].forEach(s=>{if(s===void 0)return;n.contents=n.contents+1|0,hJ(s)==="TransientRetryClass"?t.contents=!0:r.contents=!0}),e.swErrorNotificationCount>(n.contents+e.swUnattributedErrorNotificationCount|0)&&!e.swUpstreamRejectedSeen&&!e.swProviderOutageFlaggedSeen&&!e.swToolFatalSeen&&(r.contents=!0);let o=r.contents,a=t.contents;return o?"deterministic":a?"transient":"none"}function TM(e){return e.swLastUpstreamErrorHttpStatus===429?!0:[e.swLastUpstreamErrorReason,e.swLastErrorDiagnosticText].some(r=>r!==void 0?de(RM(r),429):!1)}var _J=" (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 gJ(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 yJ(e){return" (An automatic resume was attempted at "+new Date(e).toISOString()+" after the stream stalled; it did not complete.)"}var IM=" (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 $M(e){return e>0?" ("+e.toString()+" automatic "+(e===1?"retry":"retries")+" did not help.)":""}var rw={autoRetryPreFirstByteStall:!1,messageStateRetryable:!1,costCapAutoRetrySuppressed:!1,messageStateFate:void 0,autoResumeMidStreamStall:!1,midStreamResumeRateLimitSuppressed:!1,midStreamResumeAttemptBurnedAtMs:void 0};function bp(e,t){return Or(e,t)===!0}function bJ(e){let t=Or(e,"fate");if(typeof t=="string")return lp(t)}function vJ(e,t,r,n){let i=e==="turn/failed"&&de(k(qe(t,"error"),y=>E(y,"code")),"idle_stream_timeout"),o=e==="turn/failed"&&bp(t,"retryable"),a=e==="turn/failed"?bJ(t):void 0;if(!i)return{autoRetryPreFirstByteStall:!1,messageStateRetryable:o,costCapAutoRetrySuppressed:!1,messageStateFate:a,autoResumeMidStreamStall:!1,midStreamResumeRateLimitSuppressed:!1,midStreamResumeAttemptBurnedAtMs:void 0};let s=n.sessionMidStreamResumeAttemptAtMs,l=s!==void 0,d=tw(r)!=="deterministic",u=bp(t,"preFirstByteStall")&&d,c=bp(t,"midStreamResumableStall"),f=c&&TM(r),p=tw({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:a!==void 0?a:TM(r)?"rate_limited":"transient_upstream",autoResumeMidStreamStall:g,midStreamResumeRateLimitSuppressed:b,midStreamResumeAttemptBurnedAtMs:l?s:void 0}}function SJ(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 xp(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 Tp(e){let t=e.turns.values().toArray().filter(n=>n.phase==="ActiveTurnPhase");return t.length!==1?void 0:t[0].turnId}function Sp(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 Vu(e){let t=e.nextStreamSnapshotIndex;return e.nextStreamSnapshotIndex=e.nextStreamSnapshotIndex+1|0,t}function Dl(e){let t=E(e,"reason");if(t!==void 0)return t;let r=E(e,"message");if(r!==void 0)return r;let n=k(qe(e,"error"),i=>E(i,"message"));return n!==void 0?n:x(E(e,"error"),"codex_turn_aborted")}function wJ(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 kJ(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 wp(e,t,r,n,i,o,a,s){let l;if(s.autoRetryPreFirstByteStall||s.costCapAutoRetrySuppressed){let _=o.autoRetryAttemptsForSeq;l=n+$M(_!==void 0?_(t.sourceSeq):0)+(s.costCapAutoRetrySuppressed?IM:"")}else l=n;if(s.midStreamResumeRateLimitSuppressed&&(l=l+_J),r==="failed"){let _=s.midStreamResumeAttemptBurnedAtMs;if(_!==void 0)l=l+gJ(_);else{let g=k(o.midStreamResumeAttemptAtMsForSeq,b=>b(t.sourceSeq));g!==void 0&&(l=l+yJ(g))}}t.items.forEach(_=>{if(!_.posted||GS(_.emittedStreamState))return;let g=Fl(_.wireItemKey,_.content,a),b=Object.fromEntries(Sp(o,t,_,g).concat([["stream_snapshot_index",Vu(_)],["terminal_outcome",r],["reason",n]])),y={TAG:"Enqueue",kind:is,data:b,coalesceKey:void 0,resolution:"MustAck"};i.push(y),_.emittedStreamState=a,_.lastEmittedBody=g.renderedBody});let d=s.messageStateFate,u=s.messageStateFate,c;if(u!==void 0){let _=k(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((s.messageStateRetryable?[["retryable",!0]]:[]).concat(d!==void 0?[["fate",d]]:[])).concat(c.concat(p))),h={TAG:"Enqueue",kind:jl,data:m,coalesceKey:void 0,resolution:"MustAck"};i.push(h),i.push({TAG:"TurnTerminal",turnId:t.turnId,outcome:r,reason:l,retryableEmptyTurn:s.autoRetryPreFirstByteStall,autoResumeMidStreamStall:s.autoResumeMidStreamStall,fate:s.messageStateFate}),e.turns.delete(t.turnId),xp(e,t.turnId)}function MM(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=L$(c),p=x(l,f),m={identity:c,itemKey:f,wireItemKey:p,clientMessageId:ew(n.instanceId,e.turnId,t,p),content:hM(t),posted:!1,completed:!1,emittedStreamState:void 0,lastEmittedBody:void 0,nextDeltaIndex:0,nextStreamSnapshotIndex:1};return e.items.push(m),m};if(t==="webSearch"){let l=e.items.find(d=>d.identity.streamKind==="webSearch");return l!==void 0?l:o("web-search:"+e.turnId)}let a=r!==void 0?e.items.find(l=>l.identity.streamKind===t?de(l.identity.itemId,r):!1):void 0;if(a!==void 0)return a;let s=e.items.find(l=>l.identity.streamKind===t&&l.identity.itemId===void 0?!l.completed:!1);return r!==void 0?s!==void 0&&i?s:o(r):s!==void 0?s:o(r)}function jM(e,t,r,n,i,o){let a=Fl(t.wireItemKey,t.content,n);if(t.posted){let u=Object.fromEntries(Sp(i,e,t,a).concat([["delta_index",r],["stream_snapshot_index",Vu(t)]])),c=t.itemKey,f={TAG:"Enqueue",kind:Fu,data:u,coalesceKey:c,resolution:"MustAck"};o.push(f),t.emittedStreamState=n,t.lastEmittedBody=a.renderedBody;return}if(a.renderedBody.trim()==="")return;let l=Object.fromEntries(Sp(i,e,t,a).concat([["delta_index",r],["stream_snapshot_index",Vu(t)]])),d={TAG:"Enqueue",kind:Gu,data:l,coalesceKey:void 0,resolution:"MustAck"};if(o.push(d),t.posted=!0,t.emittedStreamState=n,t.lastEmittedBody=a.renderedBody,n==="completed"){t.completed=!0;return}}function vp(e,t,r,n){if(e.phase==="ActiveTurnPhase"){let l=MM(e,Gl(t),mM(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=_M(l.content,t);let d=l.nextDeltaIndex;l.nextDeltaIndex=l.nextDeltaIndex+1|0;let u=Gl(t),c;return c=u==="terminalInput"?"completed":"streaming",jM(e,l,d,c,r,n)}let o=[["turn_id",e.turnId],["stream_kind",Gl(t)]],s={TAG:"Log",event:"pipeline.loop.delta_for_completing_turn",fields:Object.fromEntries(o)};n.push(s)}function xJ(e,t,r,n){t.errorNotificationCount=t.errorNotificationCount+1|0;let i=uJ(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=X9(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 a=rJ(r);if(a!==void 0){t.providerOutageFlaggedSeen=!0,t.providerOutageDetail===void 0&&a!==""&&(t.providerOutageDetail=a);let h={TAG:"Log",event:"codex.provider_outage_flagged_captured",fields:Object.fromEntries([["turn_id",t.turnId],["detail",a===""?null:a]])};n.push(h)}let s=kp(r),l=U9(r);if(l!==void 0&&(t.edgeBlockEvidence=l),s!==void 0){let m=t.lastUpstreamErrorHttpStatus;m!==void 0&&s<=m||(t.lastUpstreamErrorHttpStatus=s)}if(de(s,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=N9(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=Bu(r);if(m!==void 0){t.lastErrorDiagnosticText=m,u=!0;let _={TAG:"Log",event:"codex.error_without_http_status_captured",fields:Object.fromEntries([["turn_id",t.turnId],["diagnostic_text",m]])};n.push(_)}}i===void 0&&o===void 0&&a===void 0&&s===void 0&&d===void 0&&!u&&(t.unattributedErrorNotificationCount=t.unattributedErrorNotificationCount+1|0);let c=fJ(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 TJ(e,t,r,n){let i=e.bufferedTurns.get(t);if(i!==void 0){i.push(r);return}e.bufferedTurns.set(t,[r]);let a={TAG:"Log",event:"pipeline.loop.turn_events_buffered",fields:Object.fromEntries([["turn_id",t]])};n.push(a)}function AJ(e,t,r,n){let i=qe(t,"item");i!==void 0&&e.protocolFailureReason===void 0&&(e.protocolFailureReason=CM(i)),OM(e,i!==void 0?i:t);let o=yM(t);if(o===void 0)return;if(o.completedStreamKind==="webSearch"){let c=o.completedContent,f;return f=c.TAG==="WebSearchContent"?c.queries:[],vp(e,{TAG:"WebSearchDelta",itemId:o.completedItemId,queries:f},r,n)}if(e.phase==="ActiveTurnPhase"){let c=MM(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=Fl(c.wireItemKey,c.content,"streaming");return c.posted&&de(p.renderedBody,c.lastEmittedBody)?void 0:jM(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 OJ(e,t,r,n){let i=E(t,"turnId"),o=x(E(t,"reason"),"turn source-seq mapping failed");if(i===void 0||e.terminalTurnIds.has(i))return;let a=e.turns.get(i);if(a!==void 0)return wp(e,a,"failed",o,n,r,"failed",rw);let s=e.bufferedTurns.get(i);e.bufferedTurns.delete(i);let l=[["level","warn"],["turn_id",i],["buffered_event_count",x(G(s,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}),xp(e,i)}function CJ(e,t,r,n,i){let o=Or(r,"items"),a=o!==void 0?Array.isArray(o)?o:[]:[];t.protocolFailureReason===void 0&&(t.protocolFailureReason=P9(a)),a.forEach(q=>OM(t,ke(q)));let s=bM(a),l=new Set,d=new Map;s.forEach((q,Ee)=>{let ve=q.projItemId;if(ve===void 0)return;let _e=t.items.find(Be=>Be.posted&&!l.has(Be.itemKey)&&Be.identity.streamKind===q.projStreamKind?de(Be.identity.itemId,ve):!1);if(_e!==void 0){l.add(_e.itemKey),d.set(Ee,_e);return}});let u=new Map;t.items.forEach(q=>{if(!(q.posted&&!l.has(q.itemKey)&&q.identity.itemId===void 0))return;let Ee=q.identity.streamKind;u.set(Ee,x(u.get(Ee),0)+1|0)});let c=new Map;s.forEach((q,Ee)=>{if(d.has(Ee))return;let ve=q.projStreamKind;c.set(ve,x(c.get(ve),0)+1|0)});let f=(q,Ee)=>{let ve=Fl(q.wireItemKey,q.content,"completed").renderedBody.trim(),_e=Ee.projBody.trim();return _e.startsWith(ve)?!0:ve.startsWith(_e)};s.forEach((q,Ee)=>{if(d.has(Ee))return;let ve=q.projStreamKind,_e=de(c.get(ve),u.get(ve));if(q.projItemId!==void 0&&!_e)return;let Be=t.items.find(Jt=>Jt.posted&&!l.has(Jt.itemKey)&&Jt.identity.streamKind===q.projStreamKind?Jt.identity.itemId===void 0:!1);if(Be!==void 0&&(q.projItemId===void 0||f(Be,q))){l.add(Be.itemKey),d.set(Ee,Be);return}});let p=d.entries().toArray();t.items.forEach(q=>{let Ee=p.find(Jt=>Jt[1].itemKey===q.itemKey);if(Ee!==void 0){let Jt=s[Ee[0]];if(Jt===void 0)return;let fn=Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["item_key",q.itemKey],["item_id",q.wireItemKey],["stream_kind",q.identity.streamKind],["item_index",q.identity.itemIndex],["source_seq",t.sourceSeq],["client_message_id",q.clientMessageId],["body",Jt.projBody],["structured",QS(Jt.projStructured,q.wireItemKey)],["stream_snapshot_index",Vu(q)],["terminal_outcome","completed"]]),ki={TAG:"Enqueue",kind:is,data:fn,coalesceKey:void 0,resolution:"MustAck"};i.push(ki),q.emittedStreamState="completed",q.lastEmittedBody=Jt.projBody;return}if(!q.posted||GS(q.emittedStreamState))return;let ve=Fl(q.wireItemKey,q.content,"completed"),_e=Object.fromEntries(Sp(n,t,q,ve).concat([["stream_snapshot_index",Vu(q)],["terminal_outcome","completed"]])),Be={TAG:"Enqueue",kind:is,data:_e,coalesceKey:void 0,resolution:"MustAck"};i.push(Be),q.emittedStreamState="completed",q.lastEmittedBody=ve.renderedBody}),s.forEach((q,Ee)=>{if(d.has(Ee))return;let ve=q.projItemId,_e=ve!==void 0?ve:t.turnId+":"+q.projStreamKind+":snapshot:"+q.snapshotIndex.toString(),Be=q.projItemId,Jt=Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["item_key",t.turnId+":"+q.projStreamKind+":"+(Be!==void 0?Be:"snapshot:"+q.snapshotIndex.toString())],["item_id",_e],["stream_kind",q.projStreamKind],["snapshot_index",q.snapshotIndex],["source_seq",t.sourceSeq],["client_message_id",ew(n.instanceId,t.turnId,q.projStreamKind,_e)],["body",q.projBody],["structured",QS(q.projStructured,_e)],["stream_snapshot_index",1]]),fn={TAG:"Enqueue",kind:Du,data:Jt,coalesceKey:void 0,resolution:"MustAck"};i.push(fn)});let m=t.items.some(q=>q.identity.streamKind==="assistant"?q.posted:!1)||s.some(q=>q.projStreamKind==="assistant"),h=t.agentActionToolCallSeen||t.items.some(q=>q.posted?wM(q.identity.streamKind):!1)||s.some(q=>wM(q.projStreamKind)),_=n.linzumiAgentSession&&m&&!t.agentReplyToolCallSeen&&!h,g=m&&!_,b=t.protocolFailureReason,y=O9(b)&&g,v=y?void 0:b,S;if(!g&&b===void 0&&t.lastUpstreamErrorReason===void 0){let q;if(_)q={cause:x9};else{let Ee=t.lastUpstreamErrorSummary;q=SJ(t,s.length,Ee!==void 0?Ee:e.lastUpstreamErrorSummary)}S=q}else S=void 0;let A=!g&&v===void 0&&t.upstreamRejectedSeen,R=!g&&v===void 0&&t.providerOutageFlaggedSeen,W=Z9(t.lastUpstreamErrorHttpStatus),L=!g&&v===void 0&&t.edgeBlockEvidence!==void 0,ae=A&&!R&&!W,U=R||ae?oJ(R,e.consecutiveIsolatedRejections,t.providerOutageDetail,t.upstreamRejectedDetail):void 0,B;if(U!==void 0)switch(U.dispositionKind){case"isolated_retry":B=!0;break;case"storm":case"isolated_terminal":B=!1;break}else B=!1;ae?e.consecutiveIsolatedRejections=e.consecutiveIsolatedRejections+1|0:e.consecutiveIsolatedRejections=0;let oe=!g&&v===void 0&&t.lastUpstreamErrorReason===void 0&&t.lastErrorDiagnosticText===void 0&&!A&&W9(t.lastUpstreamErrorHttpStatus),Z=!g&&v===void 0&&t.lastUpstreamErrorReason===void 0&&W,V=!g&&v===void 0&&t.lastUpstreamErrorReason===void 0&&!A&&!oe&&!Z&&t.toolFatalSeen,M;if(U!==void 0)M=U.dispositionReason;else if(Z){let q=t.upstreamRejectedDetail;M=V9(t.lastUpstreamErrorHttpStatus,q!==void 0?q:t.lastErrorDiagnosticText)}else if(oe)M=H9(t.lastUpstreamErrorHttpStatus);else if(V)M=B9(t.toolFatalDetail);else{let q=t.lastUpstreamErrorReason;M=q!==void 0?q:_?k9:S!==void 0?SM+" ["+S.cause+"]":SM}let N=S!==void 0&&v===void 0&&t.modelInteractionSeen&&t.lastErrorDiagnosticText===void 0&&!A&&!oe&&!Z&&!V;N?e.consecutiveEmptyTurns=e.consecutiveEmptyTurns+1|0:e.consecutiveEmptyTurns=0;let j=N&&e.consecutiveEmptyTurns>3,re=N&&!j||B,se=n.autoRetryAttemptsForSeq,Ae=se!==void 0?se(t.sourceSeq):0,Ue=re&&e.costCap402Seen&&Ae<2,Ge=re&&!Ue;if(L){let q=t.edgeBlockEvidence,Ee=t.edgeBlockEvidence,_e={TAG:"Log",event:"codex.edge_blocked_captured",fields:Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["http_status",q!==void 0?q.edgeStatus:null],["signature",Ee!==void 0?Ee.edgeSignature:null]])};i.push(_e)}let ut=j?T9+" ("+e.consecutiveEmptyTurns.toString()+" in a row"+(S!==void 0?": "+S.cause:"")+").":void 0,ze=v!==void 0?v:g?void 0:ut!==void 0?ut:M,pt=N&&!j?Ae:0,Xe=G(ze,q=>q+$M(pt)+(Ue?IM:"")),He=S!==void 0&&!j&&!A&&!oe&&!Z&&!V||B||L,It;if(He||R)It="transient_upstream";else if(oe){let q=t.lastUpstreamErrorHttpStatus;It=q!==void 0?Ou(q):"transient_upstream"}else It="deterministic";if(Ue){let q=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["reason",wi(ze)],["isolated_rejection_retry_suppressed",B]],ve={TAG:"Log",event:"codex.empty_turn_auto_retry_suppressed_cost_cap",fields:Object.fromEntries(q)};i.push(ve)}if(j){let q=t.lastUpstreamErrorSummary,Ee=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["consecutive_empty_turns",e.consecutiveEmptyTurns],["max_consecutive_empty_turns",3],["cause",wi(G(S,Be=>Be.cause))],["last_upstream_error",wi(q!==void 0?q:e.lastUpstreamErrorSummary)]],_e={TAG:"Log",event:"codex.empty_turn_loop_guard_tripped",fields:Object.fromEntries(Ee)};i.push(_e)}if(y){let q=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["reason",wi(b)]],ve={TAG:"Log",event:"codex.turn_completed_with_unsupported_tool_call_ignored",fields:Object.fromEntries(q)};i.push(ve)}else if(b!==void 0){let q=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["reason",wi(b)]],ve={TAG:"Log",event:"codex.turn_completed_with_protocol_failure",fields:Object.fromEntries(q)};i.push(ve)}if(_){let Ee={TAG:"Log",event:"codex.agent_turn_narration_only_no_reply",fields:Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["streamed_item_count",t.items.length],["snapshot_item_count",s.length],["agent_reply_tool_call_seen",t.agentReplyToolCallSeen],["agent_action_tool_call_seen",t.agentActionToolCallSeen],["retryable_empty_turn",He],["empty_turn_loop_guard_tripped",j]])};i.push(Ee)}if(!m){let q=t.lastUpstreamErrorHttpStatus,Ee=[["thread_key",n.threadKey],["turn_id",t.turnId],["source_seq",t.sourceSeq],["streamed_item_count",t.items.length],["snapshot_item_count",s.length],["notification_count",t.notificationCount],["error_notification_count",t.errorNotificationCount],["model_interaction_seen",t.modelInteractionSeen],["last_error_diagnostic_text",wi(t.lastErrorDiagnosticText)],["last_upstream_error_reason",wi(t.lastUpstreamErrorReason)],["last_upstream_error_summary",wi(t.lastUpstreamErrorSummary)],["empty_turn_cause",wi(G(S,Be=>Be.cause))],["tool_fatal_seen",V],["tool_fatal_detail",wi(t.toolFatalDetail)],["upstream_rejected_seen",A],["upstream_rejected_detail",wi(t.upstreamRejectedDetail)],["upstream_terminal_4xx",Z],["last_upstream_error_http_status",q!==void 0?q:null],["provider_outage_flagged",R],["isolated_rejection_retry_granted",B],["rejection_disposition",U!==void 0?U.dispositionKind:null],["consecutive_isolated_rejections",e.consecutiveIsolatedRejections],["retryable_empty_turn",He],["empty_turn_loop_guard_tripped",j],["cost_cap_auto_retry_suppressed",Ue]],_e={TAG:"Log",event:"codex.turn_completed_without_assistant_output",fields:Object.fromEntries(Ee)};i.push(_e)}let Cr;if(Xe!==void 0){let q=k(n.ladderHistoryForSeq,_e=>_e(t.sourceSeq,It)),Ee=t.lastUpstreamErrorSummary,ve;if(Ee!==void 0)ve=[["upstream_error",Ee]];else{let _e=e.lastUpstreamErrorSummary;ve=_e!==void 0?[["upstream_error",_e]]:[]}Cr=[["status","failed"],["reason",Xe]].concat((He?[["retryable",!0]]:[]).concat([["fate",It]])).concat((q!==void 0?[["ladder",q]]:[]).concat(L?[["failure_class","edge_blocked"]]:[]).concat(ve))}else Cr=[["status","processed"]];let Ut=Object.fromEntries([["thread_key",n.threadKey],["turn_id",t.turnId],["seq",t.sourceSeq]].concat(Cr)),Qe={TAG:"Enqueue",kind:jl,data:Ut,coalesceKey:void 0,resolution:"MustAck"};i.push(Qe),Xe===void 0&&(e.lastUpstreamErrorSummary=void 0),i.push(Xe!==void 0?{TAG:"TurnTerminal",turnId:t.turnId,outcome:"failed",reason:Xe,retryableEmptyTurn:Ge,autoResumeMidStreamStall:!1,fate:It}:{TAG:"TurnTerminal",turnId:t.turnId,outcome:"completed",reason:void 0,retryableEmptyTurn:!1,autoResumeMidStreamStall:!1,fate:void 0}),e.turns.delete(t.turnId),xp(e,t.turnId)}function EJ(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 CJ(e,o,r,n,i);let u={TAG:"Log",event:"pipeline.loop.snapshot_for_active_turn",fields:Object.fromEntries([["turn_id",t]])};i.push(u);return}let s={TAG:"Log",event:"pipeline.loop.snapshot_for_unknown_turn",fields:Object.fromEntries([["turn_id",t]])};i.push(s)}function PJ(e,t,r,n){let i=t.method,o=x(t.params,{});if(i===Hu)return;if(i===ql)return OJ(e,o,r,n);if(!I9(i))return;let a=Zu(o),s=a!==void 0?a:Tp(e);if(s!==void 0){if(e.terminalTurnIds.has(s)){let y={TAG:"Log",event:"pipeline.loop.notification_for_terminal_turn",fields:Object.fromEntries([["method",i],["turn_id",s]])};n.push(y);return}let u=e.turns.get(s),c;if(u!==void 0)c=u;else{let b=r.sourceSeqForTurn(s);c=b!==void 0?wJ(e,s,b):void 0}if(c===void 0)return TJ(e,s,{TAG:"HarnessNotification",_0:t},n);if(c.notificationCount=c.notificationCount+1|0,$9(i)&&(c.modelInteractionSeen=!0),i==="turn/started")return;if(i==="turn/completed")return kJ(c,n);let f=R9(i);if(f!==void 0){let b=vJ(i,o,xM(c),{sessionCostCap402Seen:e.costCap402Seen,sessionMidStreamResumeAttemptAtMs:k(r.midStreamResumeAttemptAtMsForSeq,v=>v(c.sourceSeq))});if(b.autoResumeMidStreamStall){let v=[["thread_key",r.threadKey],["turn_id",c.turnId],["source_seq",c.sourceSeq],["reason",Dl(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",Dl(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",Dl(o)]],R={TAG:"Log",event:"codex.mid_stream_stall_second_stall_after_resume",fields:Object.fromEntries(S)};n.push(R)}}if(b.autoRetryPreFirstByteStall){let v=[["thread_key",r.threadKey],["turn_id",c.turnId],["source_seq",c.sourceSeq],["reason",Dl(o)],["evidence_class",tw(xM(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",Dl(o)],["flavor",bp(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 wp(e,c,f,Dl(o),n,r,y,b)}if(i==="error")return xJ(e,c,o,n);if(i==="item/completed"||i==="response_item")return AJ(c,o,r,n);let p=pM(i,o);if(p===void 0)return;if(c.phase!=="ActiveTurnPhase")return vp(c,p,r,n);if(Gl(p)!=="reasoning")return c.reasoningStepsWithoutProgress=0,vp(c,p,r,n);if(c.reasoningStepsWithoutProgress=c.reasoningStepsWithoutProgress+1|0,c.reasoningStepsWithoutProgress<=64)return vp(c,p,r,n);let h=A9(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),wp(e,c,"failed",h,n,r,"interrupted",rw)}let d={TAG:"Log",event:"pipeline.loop.notification_without_turn",fields:Object.fromEntries([["method",i]])};n.push(d)}function RJ(e,t,r,n,i){switch(t){case"codexDied":let a=e.phase,s=0;switch(a){case"running":case"closing":s=2;break;case"dead":return}if(s===2){e.turns.values().toArray().forEach(u=>wp(e,u,"failed",r,i,n,"interrupted",rw)),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}),xp(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 a=[["kind",t],["reason",r]],l={TAG:"Log",event:"pipeline.loop.closing",fields:Object.fromEntries(a)};i.push(l);return;case"closing":case"dead":return}}function zM(e,t,r,n){switch(t.TAG){case"HarnessNotification":case"CompletionSnapshot":break;case"Lifecycle":return RJ(e,t.kind,t.reason,r,n)}switch(e.phase){case"running":switch(t.TAG){case"HarnessNotification":return PJ(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 EJ(e,c,t.snapshot,r,n);case"Lifecycle":return}case"closing":let o=[["source",Ml(t)]],s={TAG:"Log",event:"pipeline.loop.event_after_close",fields:Object.fromEntries(o)};n.push(s);return;case"dead":let l=[["source",Ml(t)]],u={TAG:"Log",event:"pipeline.loop.event_after_death",fields:Object.fromEntries(l)};n.push(u);return}}function IJ(e,t,r){e.bufferedTurns.keys().toArray().forEach(n=>{if(t.sourceSeqForTurn(n)===void 0)return;let o=x(e.bufferedTurns.get(n),[]);e.bufferedTurns.delete(n);let s={TAG:"Log",event:"pipeline.loop.buffered_turn_drained",fields:Object.fromEntries([["turn_id",n],["buffered_event_count",o.length]])};r.push(s),o.forEach(l=>zM(e,l,t,r))})}function NM(e,t,r){let n=[];return e.phase==="running"&&IJ(e,r,n),zM(e,t,r,n),n}var nw=2;var $J=[500,1e3,2500,5e3,1e4,3e4],MJ=1440*60*1e3;function Ap(e,t){return e+"\0"+t}function GM(e,t){let r=Math.max(1,Math.ceil(t*e.length)|0);return x(e[r-1|0],0)}function jJ(e){if(e.length===0)return;let t=e.toSorted((r,n)=>r-n);return{p50Ms:GM(t,.5),p95Ms:GM(t,.95),maxMs:x(t[t.length-1|0],0),ackedInWindow:t.length}}function zJ(e){return new Promise((t,r)=>{setTimeout(()=>t(),e)})}function FM(e){let t=e.log,r=e.onPermanentFailure,n=e.builders,i={contents:e.threadKey},o=x(e.now,()=>Date.now()),a=x(e.retryDelaysMs,$J.slice()),s={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},R={contents:!1},W={contents:void 0},L={contents:void 0},ae=Math.max(1,x(e.maxInFlightPushes,1)),U={contents:0},B={contents:[]},oe={contents:Promise.resolve()},Z=()=>s.contents[l.contents],V=()=>({totalEnqueued:p.contents,totalAcked:m.contents,totalDroppedBestEffort:_.contents,totalPermanentFailures:g.contents,totalExpiredOnRecovery:b.contents,lastEntrySeq:f.contents-1}),M=e.persistDir;if(M!==void 0){let H=NS(M,i.contents),te=F$(H,t),ne=x(e.journalRecoveryMaxAgeMs,MJ),Ke=o(),tt=[];te.pendingEntries.forEach(ct=>{if(Ke-ct.enqueuedAtMs>ne){tt.push(ct);return}let Pt={entry:ct,state:"EntryQueued",outcome:void 0,retryTimer:void 0};s.contents.push(Pt);let vt=ct.coalesceKey;if(vt!==void 0){d.set(Ap(ct.kind,vt),Pt);return}}),u.contents=te.kv,p.contents=te.counters.totalEnqueued,m.contents=te.counters.totalAcked,_.contents=te.counters.totalDroppedBestEffort,g.contents=te.counters.totalPermanentFailures,b.contents=te.counters.totalExpiredOnRecovery+tt.length|0,f.contents=te.counters.lastEntrySeq+1;let at=D$(H,()=>({pendingEntries:s.contents.slice(l.contents).map(ct=>ct.entry),kv:u.contents,counters:V()}),t,e.journalCompactionThreshold,void 0);if(L.contents=at,tt.length!==0){tt.forEach(vt=>at.appendExpired(vt.entrySeq));let ct=tt.map(vt=>Math.max(0,Ke-vt.enqueuedAtMs)),Pt=new Set(tt.map(vt=>vt.kind));t("outbox_recovery_expired",Object.fromEntries([["level","warn"],["threadKey",i.contents],["expiredEntries",tt.length],["survivingEntries",s.contents.length-l.contents|0],["maxAgeMs",ne],["oldestAgeMs",Ve(ct,0,(vt,Ct)=>Math.max(vt,Ct))],["newestAgeMs",Ve(ct,Number.POSITIVE_INFINITY,(vt,Ct)=>Math.min(vt,Ct))],["kinds",Pt.values().toArray().map(vt=>vt)]]))}(s.contents.length-l.contents|0)>0&&t("outbox_recovered",Object.fromEntries([["threadKey",i.contents],["pendingEntries",s.contents.length-l.contents|0],["nextEntrySeq",f.contents]]))}let re={remember:(H,te)=>{u.contents.set(H,te);let ne=L.contents;if(ne!==void 0)return ne.appendKv(H,te)},recall:H=>u.contents.get(H)},se=()=>{if(l.contents=l.contents+1|0,l.contents>=64&&l.contents<<1>=s.contents.length){s.contents=s.contents.slice(l.contents),l.contents=0;return}},Ae=()=>{let H=Z(),te=c.length-1|0;for(;te>=0;){let ne=c[te];if(ne!==void 0&&(H!==void 0?H.entry.entrySeq>ne.upToSeq:!0)){c.splice(te,1);let tt=ne.timer;tt!==void 0&&clearTimeout(ue(tt)),ne.resolve({TAG:"Ok",_0:void 0})}te=te-1|0}},Ue=H=>{let te=H.entry.coalesceKey;if(te===void 0)return;let ne=Ap(H.entry.kind,te),Ke=d.get(ne);if(Ke!==void 0&&Ke===H){d.delete(ne);return}},Ge=(H,te)=>{let ne=H.entry;switch(te.TAG){case"OutcomeAck":let Ke=n[ne.kind];if(Ke!==void 0){let vt=Ke.onReply;if(vt!==void 0){let Ct;try{vt(ne.data,te._0,re),Ct={TAG:"Ok",_0:void 0}}catch(go){let na=ee(go);Ct={TAG:"Error",_0:Ne(na)}}Ct.TAG!=="Ok"&&t("outbox_on_reply_failed",Object.fromEntries([["threadKey",i.contents],["entrySeq",ne.entrySeq],["kind",ne.kind],["error",Ct._0.message]]))}}let tt=L.contents;tt!==void 0&&tt.appendAck(ne.entrySeq);break;case"OutcomeSkip":let at=te._0;t("outbox_entry_skipped",Object.fromEntries([["threadKey",i.contents],["entrySeq",ne.entrySeq],["kind",ne.kind],["reason",at]]));let ct=L.contents;ct!==void 0&&ct.appendSkip(ne.entrySeq,at);break;case"OutcomeFail":if(ne.resolution==="MustAck"){let vt=L.contents;vt!==void 0&&vt.appendFail(ne.entrySeq);let Ct;try{r(ne,te._0),Ct={TAG:"Ok",_0:void 0}}catch(go){let na=ee(go);Ct={TAG:"Error",_0:Ne(na)}}Ct.TAG!=="Ok"&&t("outbox_permanent_failure_callback_failed",Object.fromEntries([["threadKey",i.contents],["entrySeq",ne.entrySeq],["error",Ct._0.message]]))}else{let vt=L.contents;vt!==void 0&&vt.appendDrop(ne.entrySeq)}break}Ue(H),se(),Ae()},ut=()=>{let H=!0;for(;H;){let te=Z();if(te!==void 0){let ne=te.outcome;ne!==void 0?Ge(te,ne):H=!1}else H=!1}},ze=(H,te)=>{let ne=H.entry;switch(te.TAG){case"OutcomeAck":case"OutcomeSkip":break;case"OutcomeFail":let Ke=te._0;ne.resolution==="MustAck"?(g.contents=g.contents+1|0,t("outbox_permanent_failure",Object.fromEntries([["threadKey",i.contents],["entrySeq",ne.entrySeq],["kind",ne.kind],["attempts",ne.attempts],["error",Ke]]))):(_.contents=_.contents+1|0,t("outbox_dropped_best_effort",Object.fromEntries([["threadKey",i.contents],["entrySeq",ne.entrySeq],["kind",ne.kind],["attempts",ne.attempts],["error",Ke]])));break}H.outcome=te,H.state="EntryQueued"},pt=H=>{y.length<256?y.push(H):y[v.contents]=H;let te=v.contents+1|0;v.contents=te>=256?0:te},Xe=H=>{let te=H.retryTimer;if(te!==void 0){clearTimeout(ue(te)),H.retryTimer=void 0;return}},He=()=>{if(U.contents>0)return;let H=B.contents;B.contents=[],H.forEach(te=>te())},It=()=>{let H=Z();return H===void 0||H.state!=="EntryQueued"||H.outcome!==void 0?!1:H.retryTimer!==void 0},Cr={contents:()=>{}},Ut=(H,te)=>{Xe(H);let ne=setTimeout(()=>{if(H.retryTimer=void 0,!(R.contents||S.contents||H.outcome!==void 0))return Cr.contents()},te|0);ne.unref(),H.retryTimer=Ze(ne)},Qe=async(H,te,ne)=>{let Ke=H.entry,tt=o(),at;try{at=await e.push(te[0],te[1],te[2],ne)}catch(vt){let Ct=ee(vt);at={TAG:"PushFailed",message:Ne(Ct).message,budgetExempt:!1}}if(at.TAG==="Acked")return ne(),pt(Math.max(0,o()-tt)),m.contents=m.contents+1|0,ze(H,{TAG:"OutcomeAck",_0:at._0});let ct=at.message;if(ne(),H.state="EntryQueued",at.budgetExempt)return Ke.attempts=Ke.attempts-1|0,h.contents=h.contents+1|0,t("outbox_push_connection_wait",Object.fromEntries([["threadKey",i.contents],["entrySeq",Ke.entrySeq],["kind",Ke.kind],["error",ct]])),!R.contents&&!S.contents?Ut(H,1e3):void 0;let Pt=a[Ke.attempts-1|0];return Pt!==void 0?(h.contents=h.contents+1|0,t("outbox_push_retry",Object.fromEntries([["threadKey",i.contents],["entrySeq",Ke.entrySeq],["kind",Ke.kind],["attempt",Ke.attempts],["delayMs",Pt],["error",ct]])),!R.contents&&!S.contents?Ut(H,Pt):void 0):ze(H,{TAG:"OutcomeFail",_0:ct})},q=async H=>{let te=H.entry,ne=oe.contents,Ke={contents:()=>{}};oe.contents=new Promise((Pt,vt)=>{Ke.contents=Pt});let tt={contents:!1},at=()=>{if(!tt.contents)return tt.contents=!0,Ke.contents()};if(H.state="EntryPushing",U.contents=U.contents+1|0,await ne,R.contents||S.contents||H.outcome!==void 0){H.state="EntryQueued",at(),U.contents=U.contents-1|0;return}let ct=n[te.kind];if(ct!==void 0){let Pt;try{Pt=ct.build(te.data,re)}catch(vt){let Ct=ee(vt);Pt={TAG:"BuildFailed",_0:Ne(Ct).message}}switch(Pt.TAG){case"BuildPush":te.attempts=te.attempts+1|0,await Qe(H,[Pt.event,Pt.payload,Pt.timeoutMs],at),U.contents=U.contents-1|0;return;case"BuildSkip":at(),ze(H,{TAG:"OutcomeSkip",_0:Pt._0}),U.contents=U.contents-1|0;return;case"BuildFailed":at(),ze(H,{TAG:"OutcomeFail",_0:Pt._0}),U.contents=U.contents-1|0;return}}else{at(),ze(H,{TAG:"OutcomeFail",_0:"no outbox builder registered for kind "+te.kind}),U.contents=U.contents-1|0;return}},Ee=()=>{if(ut(),R.contents||S.contents||It())return He();let H=l.contents;for(;H<s.contents.length&&U.contents<ae;){let te=s.contents[H];te!==void 0&&te.state==="EntryQueued"&&te.outcome===void 0&&(te.retryTimer!==void 0||zn(q(te).then(()=>Ee()),at=>(t("outbox_drain_loop_error",Object.fromEntries([["threadKey",i.contents]])),Ee(),Promise.resolve()))),H=H+1|0}He()};Cr.contents=Ee;let ve=()=>{if(S.contents||R.contents)return;if(Z()!==void 0){Promise.resolve().then(()=>{if(!R.contents&&!S.contents)return Ee()});return}},_e=H=>{let te=f.contents-1,ne=Z();return(ne!==void 0?ne.entry.entrySeq>te:!0)?Promise.resolve({TAG:"Ok",_0:void 0}):new Promise((tt,at)=>{let ct={upToSeq:te,resolve:tt,timer:void 0};H!==void 0&&(ct.timer=Ze(setTimeout(()=>{let Pt=c.indexOf(ct);Pt===-1||c.splice(Pt,1),tt({TAG:"Error",_0:"outbox flush for "+i.contents+" timed out after "+H.toString()+"ms with "+(s.contents.length-l.contents|0).toString()+" entries pending"})},H|0))),c.push(ct)})},Be=async H=>{A.contents=!1;let te=await _e(H);te.TAG!=="Ok"&&t("outbox_close_flush_timeout",Object.fromEntries([["threadKey",i.contents],["depth",s.contents.length-l.contents|0],["error",te._0]])),R.contents=!0;let ne=l.contents;for(;ne<s.contents.length;){let at=s.contents[ne];at!==void 0&&Xe(at),ne=ne+1|0}U.contents>0&&await Promise.race([new Promise((at,ct)=>{B.contents.push(()=>at())}),zJ(1e3)]);let Ke=c.slice();c.splice(0,c.length),Ke.forEach(at=>{let ct=at.timer;ct!==void 0&&clearTimeout(ue(ct)),at.resolve({TAG:"Error",_0:"outbox for "+i.contents+" closed"})});let tt=L.contents;if(tt!==void 0)return await tt.close()},Jt=(H,te,ne)=>{if(H===void 0)return ne;let Ke=H.coalesce;if(Ke===void 0)return ne;let tt;try{tt={TAG:"Ok",_0:Ke(te.data,ne)}}catch(at){let ct=ee(at);tt={TAG:"Error",_0:Ne(ct)}}return tt.TAG==="Ok"?tt._0:(t("outbox_coalesce_failed",Object.fromEntries([["threadKey",i.contents],["entrySeq",te.entrySeq],["kind",te.kind],["error",tt._0.message]])),ne)},tn={enqueue:H=>{if(!A.contents)return{TAG:"Error",_0:"outbox for "+i.contents+" is closed"};p.contents=p.contents+1|0;let te=H.coalesceKey,ne;if(te!==void 0){let vt=Ap(H.kind,te),Ct=d.get(vt);if(Ct!==void 0)if(Ct.state==="EntryQueued")if(Ct.outcome!==void 0)ne=void 0;else{Ct.entry.data=Jt(n[H.kind],Ct.entry,H.data);let Hl=L.contents;Hl!==void 0&&Hl.appendCoalesce(Ct.entry.entrySeq,Ct.entry.data),ne=Ct.entry.entrySeq}else ne=void 0;else ne=void 0}else ne=void 0;if(ne!==void 0)return{TAG:"Ok",_0:ne};let Ke=f.contents;f.contents=f.contents+1;let tt={entrySeq:Ke,kind:H.kind,data:H.data,coalesceKey:H.coalesceKey,resolution:H.resolution,attempts:0,enqueuedAtMs:o()},at={entry:tt,state:"EntryQueued",outcome:void 0,retryTimer:void 0};s.contents.push(at);let ct=H.coalesceKey;ct!==void 0&&d.set(Ap(H.kind,ct),at);let Pt=L.contents;return Pt!==void 0&&Pt.appendEnqueue(tt),ve(),{TAG:"Ok",_0:Ke}},flush:_e,pause:()=>{S.contents=!0},resume:()=>{if(!S.contents)return;S.contents=!1;let H=l.contents;for(;H<s.contents.length;){let te=s.contents[H];te!==void 0&&(te.entry.attempts=0,Xe(te)),H=H+1|0}ve()},metrics:()=>{let H=Z(),te=G(L.contents,ne=>ne.status());return{depth:s.contents.length-l.contents|0,oldestEntryAgeMs:G(H,ne=>Math.max(0,o()-ne.entry.enqueuedAtMs)),totalEnqueued:p.contents,totalAcked:m.contents,totalRetried:h.contents,totalDroppedBestEffort:_.contents,totalPermanentFailures:g.contents,totalExpiredOnRecovery:b.contents,totalJournalWriteFailures:x(G(te,ne=>ne.totalWriteFailures),0),journalDegraded:x(G(te,ne=>ne.degraded),!1),paused:S.contents,pushLatency:jJ(y)}},close:H=>{let te=W.contents;if(te!==void 0)return te;let ne=Be(x(H,3e4));return W.contents=ne,ne},journalSettled:()=>{let H=L.contents;return H!==void 0?H.settled():Promise.resolve()},rekeyJournal:H=>{if(H===i.contents)return;i.contents=H;let te=e.persistDir,ne=L.contents;if(te!==void 0&&ne!==void 0)return ne.rekey(NS(te,H))}};return ve(),tn}var GJ=10*6e4;function FJ(e){switch(e){case"collabAgentToolCall":case"commandExecution":case"contextCompaction":case"dynamicToolCall":case"mcpToolCall":case"terminalInput":return!0;default:return!1}}function ss(e){let t=Sr(e);return t!==void 0?x(Er(ue(t)),"unknown error"):"unknown error"}function DM(e){let t=EM(),r=e.threadKey,n=e.instanceId,i=e.sourceSeqForTurn,o=e.autoRetryAttemptsForSeq,a=e.midStreamResumeAttemptAtMsForSeq,s=e.ladderHistoryForSeq,l=e.linzumiAgentSession,d={threadKey:r,instanceId:n,sourceSeqForTurn:i,autoRetryAttemptsForSeq:o,midStreamResumeAttemptAtMsForSeq:a,ladderHistoryForSeq:s,linzumiAgentSession:l},u=[],c=x(e.now,()=>Date.now()),f=new Map,p=new Map,m=new Map,h=new Map,_=new Set,g=x(e.bufferedTurnMaxAgeMs,GJ),b=x(e.bufferedTurnMaxEvents,1e4),y=x(e.bufferedTurnSweepIntervalMs,3e4),v={contents:!1},S={contents:!0},A={contents:void 0},R=(N,j)=>{try{return e.log(N,Object.fromEntries(j))}catch{return}},W=N=>t.turns.has(N)?!0:t.bufferedTurns.has(N),L=()=>{t.turns.keys().toArray().forEach(N=>{if(!f.has(N)){f.set(N,c());return}}),f.keys().toArray().forEach(N=>{if(!t.turns.has(N)){f.delete(N);return}}),t.bufferedTurns.keys().toArray().forEach(N=>{if(!p.has(N)){p.set(N,c());return}}),p.keys().toArray().forEach(N=>{if(!t.bufferedTurns.has(N)){p.delete(N),_.delete(N);return}}),m.keys().toArray().forEach(N=>{if(!W(N)){m.delete(N);return}}),h.keys().toArray().forEach(N=>{if(!W(N)){h.delete(N);return}})},ae=(N,j)=>{if(W(N)){m.set(N,{atMs:c(),activityKind:j});return}},U=N=>{switch(N.TAG){case"HarnessNotification":let j=N._0,re=j.method;if(re===Hu||re===ql)return;let se=Zu(x(j.params,{})),Ae=se!==void 0?se:Tp(t);return Ae!==void 0?ae(Ae,re):void 0;case"CompletionSnapshot":case"Lifecycle":return}},B=N=>{switch(N.TAG){case"HarnessNotification":let j=N._0,re=j.method;if(re!=="item/started"&&re!=="item/completed"&&re!=="response_item")return;let se=x(j.params,{}),Ae=Zu(se),Ue=Ae!==void 0?Ae:Tp(t);if(Ue===void 0||!W(Ue))return;let Ge=yp(se);if(Ge===void 0||Ge==="")return;if(re==="item/started"){let ze=k(qe(se,"item"),He=>E(He,"type"));if(ze===void 0||!FJ(ze))return;let pt=h.get(Ue),Xe;if(pt!==void 0)Xe=pt;else{let He=new Map;h.set(Ue,He),Xe=He}Xe.set(Ge,{kind:ze,startedAtMs:c()});return}let ut=h.get(Ue);if(ut!==void 0){ut.delete(Ge);return}else return;case"CompletionSnapshot":case"Lifecycle":return}},oe=()=>{if(!S.contents||t.phase!=="running")return!1;let N=c(),j={contents:!1};return t.bufferedTurns.entries().toArray().forEach(re=>{let se=re[0];if(_.has(se))return;let Ae=re[1],Ue=N-x(p.get(se),N),Ge=Ue>g,ut=Ae.length>b;if(Ge||ut){_.add(se),R("pipeline.loop.buffered_turn_overdue",[["level","warn"],["thread_key",e.threadKey],["turn_id",se],["buffered_event_count",Ae.length],["age_ms",Ue],["max_age_ms",g],["max_events",b]]),u.push({TAG:"HarnessNotification",_0:{method:ql,params:Object.fromEntries([["turnId",se],["reason",ut?"turn source mapping never arrived ("+Ae.length.toString()+" buffered events exceeded the "+b.toString()+" cap)":"turn source mapping never arrived within "+g.toString()+"ms"]])}}),j.contents=!0;return}}),j.contents},Z=()=>{if(v.contents)return;v.contents=!0;let N=!0;for(;N;){let j=u.shift();if(j!==void 0){let re;try{re=NM(t,j,d)}catch(se){let Ae=ee(se);R("pipeline.loop.event_processing_failed",[["thread_key",e.threadKey],["source",Ml(j)],["message",ss(Ae)]]),re=void 0}re!==void 0&&(L(),U(j),B(j),re.forEach(se=>{try{switch(se.TAG){case"Enqueue":return e.outboxEnqueue({kind:se.kind,data:se.data,coalesceKey:se.coalesceKey,resolution:se.resolution});case"RequestSnapshot":return e.requestSnapshot(se.turnId);case"TurnTerminal":return e.onTurnTerminal(se.turnId,se.outcome,se.reason,se.retryableEmptyTurn,se.autoResumeMidStreamStall,se.fate);case"Log":try{return e.log(se.event,se.fields)}catch{return}}}catch(Ae){let Ue=ee(Ae),Ge;switch(se.TAG){case"Enqueue":Ge="enqueue";break;case"RequestSnapshot":Ge="requestSnapshot";break;case"TurnTerminal":Ge="turnTerminal";break;case"Log":Ge="log";break}return R("pipeline.loop.effect_failed",[["thread_key",e.threadKey],["effect",Ge],["message",ss(Ue)]])}}),oe())}else N=!1}v.contents=!1},V;if(y>0){let N=setInterval(()=>{if(oe())return Z()},y);N.unref(),V=Ze(N)}else V=void 0;let M=N=>{let j=h.get(N);return j!==void 0?j.values().toArray().map(re=>({kind:re.kind,startedAtMs:re.startedAtMs})):[]};return{submit:N=>{try{return S.contents?(u.push(N),Z()):R("pipeline.loop.event_after_drain",[["thread_key",e.threadKey],["source",Ml(N)]])}catch(j){let re=ee(j);return R("pipeline.loop.submit_failed",[["thread_key",e.threadKey],["message",ss(re)]])}},metrics:()=>({queueDepth:u.length,phase:t.phase,activeTurns:t.turns.values().toArray().map(N=>({turnId:N.turnId,sourceSeq:N.sourceSeq,startedAtMs:x(f.get(N.turnId),c()),lastActivityAtMs:G(m.get(N.turnId),j=>j.atMs),lastActivityKind:G(m.get(N.turnId),j=>j.activityKind),openItems:M(N.turnId)})),bufferedTurns:t.bufferedTurns.entries().toArray().map(N=>{let j=N[0];return{turnId:j,bufferedEventCount:N[1].length,firstBufferedAtMs:x(p.get(j),c()),lastActivityAtMs:G(m.get(j),re=>re.atMs),lastActivityKind:G(m.get(j),re=>re.activityKind),openItems:M(j)}})}),noteTurnActivity:(N,j)=>{try{return ae(N,j)}catch(re){let se=ee(re);return R("pipeline.loop.note_activity_failed",[["thread_key",e.threadKey],["message",ss(se)]])}},drainAndClose:N=>{let j=A.contents;if(j!==void 0)return j;let re=(async()=>{S.contents=!1,V!==void 0&&clearInterval(ue(V)),await Promise.resolve(),Z();let se;try{se=await e.outboxFlush(N)}catch(Ae){let Ue=ee(Ae);return R("pipeline.loop.drain_flush_failed",[["thread_key",e.threadKey],["message",ss(Ue)]])}if(se.TAG!=="Ok")return R("pipeline.loop.drain_flush_failed",[["thread_key",e.threadKey],["message",se._0]])})();return A.contents=re,re}}}var DJ=10*6e4,qJ={emittedTotalEnqueued:0,emittedTotalAcked:0,emittedTotalRetried:0,emittedTotalDroppedBestEffort:0,emittedTotalPermanentFailures:0,emittedTotalExpiredOnRecovery:0,emittedTotalJournalWriteFailures:0,emittedJournalDegraded:!1};function LJ(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 UJ(e){return Ve(e,void 0,(t,r)=>t!==void 0&&t<=r.startedAtMs?t:r.startedAtMs)}function WJ(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 ZJ(e){return Ve(e,void 0,(t,r)=>t!==void 0&&t.startedAtMs<=r.startedAtMs?t:r)}function ow(e){return e}function aw(e){return new Set(e).values().toArray().toSorted(fs)}function LM(e){let t=x(e.now,()=>Date.now()),r=x(e.intervalMs,3e4),n=x(e.turnStalledThresholdMs,DJ),i={contents:qJ},o=new Set,a=new Set,s={contents:!1},l=(c,f,p,m)=>{let h=new Set(c.map(_=>_.candidateTurnId));o.values().toArray().forEach(_=>{if(!h.has(_)){o.delete(_);return}}),a.values().toArray().forEach(_=>{if(!h.has(_)){a.delete(_);return}}),c.forEach(_=>{let g=Math.max(0,m-_.sinceMs),b=Math.max(_.sinceMs,x(_.candidateLastActivityAtMs,_.sinceMs)),y=Math.max(0,m-b),v=aw(p.filter(W=>W.waitTurnId===_.candidateTurnId).map(W=>W.waitKind));if(v.length===0){a.delete(_.candidateTurnId);let W=_.candidateOpenItems.length!==0?n*2:n;if(!(y>=W&&!o.has(_.candidateTurnId)))return;let L=UJ(_.candidateOpenItems);o.add(_.candidateTurnId);let ae=_.candidateSourceSeq,U=_.candidateLastActivityKind,B=_.candidateLastActivityAtMs,oe=f.oldestEntryAgeMs;return e.log("pipeline.turn_stalled",Object.fromEntries([["level","warn"],["thread_key",e.threadKey],["turn_id",_.candidateTurnId],["source_seq",ae!==void 0?ae:null],["buffered",_.buffered],["turn_age_ms",g],["quiet_ms",y],["last_activity_kind",U!==void 0?U:null],["last_activity_age_ms",B!==void 0?Math.max(0,m-B):null],["threshold_ms",n],["effective_threshold_ms",W],["open_item_count",_.candidateOpenItems.length],["open_item_kinds",aw(_.candidateOpenItems.map(Z=>Z.kind)).map(ow)],["open_item_oldest_age_ms",L!==void 0?Math.max(0,m-L):null],["outbox_depth",f.depth],["oldest_entry_age_ms",oe!==void 0?oe:null],["paused",f.paused]]))}if(!(y>=n&&!a.has(_.candidateTurnId)))return;a.add(_.candidateTurnId);let S=_.candidateSourceSeq,A=_.candidateLastActivityKind,R=_.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",R!==void 0?Math.max(0,m-R):null],["threshold_ms",n],["wait_kinds",v.map(ow)],["open_item_count",_.candidateOpenItems.length],["open_item_kinds",aw(_.candidateOpenItems.map(W=>W.kind)).map(ow)]]))})},d=()=>{if(s.contents)return;let c;try{let v=e.turnWaitStates;c=[e.outboxMetrics(),e.loopMetrics(),v!==void 0?v():[]]}catch(v){let S=ee(v);e.log("pipeline.stats_sample_failed",Object.fromEntries([["thread_key",e.threadKey],["message",ss(S)]])),c=void 0}if(c===void 0)return;let f=c[1],p=c[0],m=t();if(l(LJ(f),p,c[2],m),!WJ(p,f,i.contents))return;let h=ZJ(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",x(G(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=Ze(c)}else u=void 0;return{sample:d,stop:()=>{if(s.contents=!0,u!==void 0){clearInterval(ue(u));return}}}}var HJ=[1e3,5e3];function ni(e,t){return k(e[t],Tr)}function Ju(e,t){return k(e[t],ha)}function Ll(e,t){return k(e[t],ke)}function sw(e,t){Object.entries(t).forEach(r=>{e[r[0]]=r[1]})}function Ku(e){let t={};return sw(t,e),t}function BJ(e){let t=e.body;return typeof t=="string"?t:""}function KJ(e){return x(Ll(e,"structured"),{})}function JJ(e){return e===Gu||e===Fu||e===is?!0:e===Du}function YJ(e,t){let r=ni(t,"turn_id");r!==void 0&&(e.turn_id=r);let n=ni(t,"item_key");n!==void 0&&(e.item_key=n);let i=Ju(t,"delta_index");i!==void 0&&(e.delta_index=i);let o=Ju(t,"stream_snapshot_index");if(o!==void 0){e.stream_snapshot_index=o;return}}function ZM(e,t,r){let n=t.traceparentForThread(r);if(n!==void 0){e.traceparent=n;return}}function XJ(e){return{build:(t,r)=>{let n=e.wire(),i=n.threadId,o=n.harnessSessionId;if(i===void 0)return{TAG:"BuildSkip",_0:"session_thread_unbound"};if(o===void 0)return{TAG:"BuildSkip",_0:"session_thread_unbound"};let a=ni(t,"client_message_id");if(a===void 0)return{TAG:"BuildSkip",_0:"missing_client_message_id"};let s=ni(t,"turn_id"),l=Ju(t,"source_seq"),d={};s!==void 0&&(d.turn_id=s),d.stream_key=a;let u=Ku(d),c=Ll(t,"local_runner_runtime_metadata");c!==void 0&&sw(u,c);let f=Ku(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),sw(f,d);let m=Ku(KJ(t));m.stream_key=a,f.structured=m;let h={};h.workspace=n.workspaceSlug,h.channel=n.channelSlug,h.thread_id=i,h.stream_key=a;let _=n.leaseEpoch;return _!==void 0&&(h.lease_epoch=_),h.body=BJ(t),h.payload=f,h.client_message_id=a,YJ(h,t),ZM(h,e,i),{TAG:"BuildPush",event:"session:stream_thread_message",payload:h,timeoutMs:void 0}},onReply:void 0,coalesce:void 0}}function QJ(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=Ju(t,"seq"),a=ni(t,"status");if(o===void 0)return{TAG:"BuildSkip",_0:"malformed_message_state_entry"};if(a===void 0)return{TAG:"BuildSkip",_0:"malformed_message_state_entry"};let s=de(t.suppress_terminal_for_recovered_turn,!0),l=ni(t,"turn_id"),d=e.isRecoveredTurn,u=l!==void 0&&d!==void 0?d(l)===!0:!1;if(s||u)return{TAG:"BuildSkip",_0:"terminal_for_recovered_turn"};let c={};c.workspace=n.workspaceSlug,c.channel=n.channelSlug,c.thread_id=i,c.instance_id=e.instanceId;let f=n.harnessSessionId;f!==void 0&&(c.codex_thread_id=f),c.seq=o,c.status=a;let p=ni(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"&&Dt(lp(h))&&(c.fate=h);let _=Ll(t,"ladder");_!==void 0&&(c.ladder=_),t.failure_class==="edge_blocked"&&(c.failure_class="edge_blocked");let b=ni(t,"upstream_error");b!==void 0&&(c.upstream_error=b);let y=ni(t,"turn_id");y!==void 0&&(c.turn_id=y);let v=n.leaseEpoch;return v!==void 0&&(c.lease_epoch=v),ZM(c,e,i),{TAG:"BuildPush",event:"message_state",payload:c,timeoutMs:void 0}},onReply:void 0,coalesce:void 0}}function e6(e){let t=XJ(e);return Object.fromEntries([[Gu,t],[Fu,t],[is,t],[Du,t],[jl,QJ(e)]])}function VM(e,t){if(e.error!==void 0)return[];let n=k(Ll(e,"result"),a=>Ll(a,"thread")),i=x(k(k(n,a=>a.turns),Qi),[]),o=$e(i,ke).find(a=>{let s=a.id;return typeof s=="string"?s===t:!1});return $e(x(k(k(o,a=>a.items),Qi),[]),ke)}var fne=new RegExp("^item-\\d+$");var HM=o$;function t6(e){return new Promise((t,r)=>{setTimeout(()=>t(),e|0)})}function UM(e){let t=Sr(e);return t!==void 0?x(Er(ue(t)),"unknown error"):"unknown error"}function WM(e){return e!==void 0?e:null}function BM(e){let t=e6({instanceId:e.instanceId,wire:e.wire,rowEnvelope:e.rowEnvelope,isRecoveredTurn:e.isRecoveredTurn,traceparentForThread:e.traceparentForThread}),r=FM({threadKey:e.threadKey,push:e.push,builders:t,persistDir:e.persistDir,retryDelaysMs:G(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",WM(ni(f.data,"item_key"))],["turn_id",WM(ni(f.data,"turn_id"))],["message",p]])),log:e.log,now:void 0,maxInFlightPushes:x(e.outboxMaxInFlightPushes,16),journalCompactionThreshold:void 0,journalRecoveryMaxAgeMs:e.journalRecoveryMaxAgeMs}),n=f=>{let p=!1;if(f.kind===jl){let b=ni(f.data,"turn_id"),y=e.isRecoveredTurn;p=b!==void 0&&y!==void 0?y(b)===!0:!1}if(p){let b=Ku(f.data);return b.suppress_terminal_for_recovered_turn=!0,{kind:f.kind,data:b,coalesceKey:f.coalesceKey,resolution:f.resolution}}if(!JJ(f.kind))return f;let m=Ju(f.data,"source_seq"),h=Ll(f.data,"local_runner_runtime_metadata"),_=h!==void 0?h:k(e.runtimeMetadataForSourceSeq,b=>b(m));if(_===void 0)return f;let g=Ku(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},a=f=>{let p=o.contents;if(p!==void 0)return p.submit(f)},s=x(e.sleep,t6),l=async f=>{let p=x(e.snapshotRetryDelaysMs,HJ),m=0,h=!1;for(;!h;){let _;try{_=await e.resolveSnapshot(f)}catch(g){let b=ee(g);_={TAG:"Error",_0:UM(b)}}if(_.TAG==="Ok")a({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 s(b),m=m+1|0):(a({TAG:"HarnessNotification",_0:{method:"turn/failed",params:Object.fromEntries([["turnId",f],["reason","completion snapshot resolution failed: "+g]])}}),h=!0)}}},d=DM({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=>{zn(l(f),p=>(e.log("pipeline.snapshot_request_failed",Object.fromEntries([["thread_key",e.threadKey],["turn_id",f],["message",UM(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=LM({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:Hu,params:Object.fromEntries([["turnId",f]])}}),notifyTurnMappingFailed:(f,p)=>d.submit({TAG:"HarnessNotification",_0:{method:ql,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 Op(e){return e.split("_").map((t,r)=>r!==0?t.slice(0,1).toUpperCase()+t.slice(1,t.length):t).join("")}function Yu(e){return x(G(Mm.find(t=>t[0]===e),t=>t[1]),e)}var Nn=Yu("harness_session_id"),ls=Op(Nn);function Wi(e,t){let r=e[t];if(typeof r=="string")return r}function lw(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 n6(e,t){let r=k(t.error,ke),n=k(t.item,ke),i=d=>Ve(d,void 0,(u,c)=>u!==void 0?u:c),o=i([lw(t,"code"),k(r,d=>lw(d,"code")),lw(t,"status")]),a=i([Wi(t,"message"),Wi(t,"detail"),Wi(t,"reason"),k(r,d=>Wi(d,"message")),k(r,d=>Wi(d,"detail")),k(r,d=>Wi(d,"reason"))]),s=o!==void 0?e+" "+o:e,l=a!==void 0?a:G(k(n,d=>Wi(d,"type")),d=>"item.type="+d);return G(l,d=>s+": "+d)}function i6(e,t){switch(e){case"error":case"warning":break;default:return t}let r=n6(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(fs).map(i=>i),n}var o6=["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 KM(e){let t=A$(e);return t.trimStart().startsWith("!")?t:[t,""].concat(o6).join(`
391
+ `)}var a6={sandboxedNeverDefault:!1};function JM(e){let t=Vm(e.approvalPolicy,e.sandbox,a6);return t.TAG==="Ok"?t._0:"on-request"}function YM(e){let t={};t.approvalPolicy=JM(e);let r=e.sandbox;return r!==void 0&&(t.sandbox=r),t}function s6(e,t,r,n){let i={};i.threadId=e,i.input=[Object.fromEntries([["type","text"],["text",t]])],i.cwd=r;let o=n.model;o!==void 0&&(i.model=o);let a=n.reasoningEffort;a!==void 0&&(i.effort=a),i.approvalPolicy=JM(n);let s=n.sandbox;if(s!==void 0){let l=NR(s,r);l.TAG==="Ok"&&(i.sandboxPolicy=l._0)}return i}async function Ul(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[Nn]=i.harnessSessionId,o.seq=t,o.status=r,n!==void 0&&(o.reason=n);let a=i.actorSlug;a!==void 0&&(o.actor_slug=a);let s=i.actorUserId;s!==void 0&&(o.actor_user_id=s);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",ri(l._0)]]))}async function Qo(e,t,r){return e.processingReason=r,e.processingSeq=t,await Ul(e,t,"processing",r)}function l6(e){let t=G(e.LINZUMI_TYPING_HEARTBEAT_MS,n=>n.trim());if(t===void 0||t==="")return 5e3;let r=jn(t);return r!==void 0&&isFinite(r)&&r>0?Math.trunc(r):5e3}function XM(e){let t={};return t.workspace=e.workspaceSlug,t.channel=e.channelSlug,t.thread_id=e.threadId,t.instance_id=e.instanceId,t[Nn]=e.harnessSessionId,t}async function d6(e){let t=e.processingSeq,r=e.processingReason;if(t!==void 0&&r!==void 0)return await Ul(e,t,"processing",r)}function QM(e,t){if(e.typingHeartbeatInFlight)return;e.typingHeartbeatInFlight=!0;let r=e.deps;(async()=>{try{let i=await r.transport.push(r.commanderTopic,"session:typing_start",XM(r),void 0);i.TAG!=="Ok"&&r.log("kandan.optional_push_failed",Object.fromEntries([["event","session:typing_start"],["message",ri(i._0)]])),t&&await d6(e)}catch(i){let o=ee(i);r.log("kandan.typing_heartbeat_failed",Object.fromEntries([["message",Ne(o).message]]))}e.typingHeartbeatInFlight=!1})()}function ej(e,t){e.typingHeartbeatTimer=Ze(e.deps.timers.setTimer(()=>{if(e.typingActive)return QM(e,!0),ej(e,t)},t))}function u6(e){if(e.typingActive=!0,QM(e,!1),e.typingHeartbeatTimer===void 0)return ej(e,l6(e.deps.env))}function tj(e){let t=e.typingHeartbeatTimer;if(t!==void 0){e.deps.timers.clearTimer(ue(t)),e.typingHeartbeatTimer=void 0;return}}function c6(e,t){if(tj(e),!e.typingActive)return;e.typingActive=!1;let r=e.deps;(async()=>{let i=await r.transport.push(r.commanderTopic,"session:typing_stop",XM(r),void 0);if(i.TAG!=="Ok")return r.log("kandan.typing_stop_after_completion_failed",Object.fromEntries([["turn_id",t],["message",ri(i._0)]]))})()}function f6(e,t,r){switch(t){case"item/completed":let n=k(r.item,ke);if(n===void 0||!Dt(Wi(n,"id")))return;let i=e.activityJournalTurns[e.activityJournalTurns.length-1|0];if(i===void 0)return;let o=r.completedAtMs,a=typeof o=="number"?o:void 0;for(i.items.push({item:n,completedAtMs:a}),e.activityJournalItemCount=e.activityJournalItemCount+1|0;e.activityJournalItemCount>2e3&&e.activityJournalTurns.length>1;){let l=e.activityJournalTurns.shift();l!==void 0&&(e.activityJournalItemCount=e.activityJournalItemCount-l.items.length|0)}return;case"turn/started":let s=k(k(r.turn,ke),l=>Wi(l,"id"));if(s!==void 0){e.activityJournalTurns.push({turnId:s,items:[]});return}else return;default:return}}function m6(e){if(e.TAG==="ResultReply")return k(k(k(ke(e._0),t=>t.turn),ke),t=>Wi(t,"id"))}async function rj(e,t){let r=e.deps;r.log("codex.turn_starting",Object.fromEntries([["queued_seq",t.seq],["thread_id",r.threadId],[Nn,r.harnessSessionId]])),await Qo(e,t.seq,"starting turn"),await Qo(e,t.seq,"starting turn"),u6(e),e.dispatchingTurnStart=!0,e.pendingStartingPaints=[];let n,i=0,o;try{o=await r.harness.request("turn/start",s6(r.harnessSessionId,KM(t),r.cwd,r.defaults)),i=1}catch(a){let s=ee(a);e.pendingStartingPaints=[],n={TAG:"Error",_0:"turn/start failed: "+Ne(s).message}}if(i===1)if(o.TAG==="Ok"){let a=o._0;if(a.TAG==="ResultReply"){let s=m6(a);if(s!==void 0){e.turnSeqs.set(s,t.seq),e.active={turnId:s,sourceSeq:t.seq};let l=e.pendingStartingPaints;e.pendingStartingPaints=[],l.forEach(u=>{if(u.paintTurnId===s&&nn(e.processingReason,u.reason)){Qo(e,t.seq,u.reason);return}}),r.log("codex.turn_started",Object.fromEntries([["turn_id",s]]));let d=e.pipeline;d!==void 0&&d.notifyTurnMappingReady(s),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: "+a.message}}else n={TAG:"Error",_0:"turn/start failed: "+o._0};return e.dispatchingTurnStart=!1,n}function p6(e,t){let r=e.deps,n=e.retryCandidates.get(t);if(n===void 0)return;let i=x(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",nw]])),r.timers.setTimer(()=>{(async()=>{await Qo(e,t,"retrying empty turn");let o=await rj(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 h6(e,t,r,n,i,o){let a=e.deps,s=e.turnSeqs.get(t),l=e.active;switch(l!==void 0&&l.turnId===t&&(e.active=void 0),e.processingReason=void 0,e.processingSeq=void 0,c6(e,t),r){case"completed":if(s!==void 0){a.commitAppliedSourceSeq(s),e.autoRetryAttempts.delete(s),e.retryCandidates.delete(s),e.fateLadderRuns.delete(s);return}else return;case"failed":if(s===void 0||o===void 0)return;let u=x(e.autoRetryAttempts.get(s),0)<nw,c=i&&u,f=u&&!a.harness.isClosed(),p={inPlaceResume:c,redispatch:f,workerRebuild:!1},m=k$({fate:o,run:e.fateLadderRuns.get(s),nowMs:Date.now(),budgets:zu(a.env),breaker:(R,W)=>"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(s,g);let R={};R.turn_id=t,R.queued_seq=s,R.fate=o,R.decision=h[0],_!==void 0&&(R.rung=_),R.recovery_rungs_attempted=g.recoveryRungsAttempted,a.log("codex.fate_ladder_step",R)}if(m.TAG==="ExecuteRung")switch(m.rung){case"in_place_resume":p6(e,s);break;case"redispatch":case"worker_rebuild":break}let b=a.switchProbe;if(m.TAG!=="Red"||b===void 0)return;let y=w$(o,m.cause,{sourceHarness:"codex",targetHarness:b.targetHarness,model:b.model,backendDead:a.harness.isClosed(),exportable:e.activityJournalItemCount>0,targetAdapterAvailable:b.targetAdapterAvailable()});if(y===void 0)return;e.failoverOffers.set(s,y),a.log("codex.fate_ladder_failover_offer",Object.fromEntries([["queued_seq",s],["offer",RS(y)]]));let v={};v.workspace=a.workspaceSlug,v.channel=a.channelSlug,v.thread_id=a.threadId,v.instance_id=a.instanceId,v[Nn]=a.harnessSessionId,v.seq=s,v.status="failed",n!==void 0&&(v.reason=n),v.fate=o,v.ladder=dp(e.fateLadderRuns.get(s),o,zu(a.env),Ze(y));let S=a.actorSlug;S!==void 0&&(v.actor_slug=S);let A=a.actorUserId;A!==void 0&&(v.actor_user_id=A),a.transport.push(a.commanderTopic,"message_state",v,void 0).then(R=>{});return;case"interrupted":return}}async function dw(e){let t="chat:"+e.workspaceSlug+":"+e.channelSlug,r=await e.transport.join(t,SP(e.commanderId,e.threadId,0),{rejoinPayload:void 0,registrationId:void 0});if(r.TAG!=="Ok")return{TAG:"Error",_0:"chat join failed: "+ri(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[Nn]=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",ri(o._0)]]));let a={deps:e,turnSeqs:new Map,pipeline:void 0,active:void 0,processingReason:void 0,processingSeq:void 0,typingActive:!1,typingHeartbeatInFlight:!1,typingHeartbeatTimer:void 0,dispatchingTurnStart:!1,pendingStartingPaints:[],autoRetryAttempts:new Map,retryCandidates:new Map,fateLadderRuns:new Map,activityJournalTurns:[],activityJournalItemCount:0,failoverOffers:new Map,switchedTargetSession:void 0},s=e.workspaceSlug+":"+e.channelSlug+":"+e.threadId,l=BM({instanceId:e.instanceId,threadKey:s,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:ri(g),budgetExempt:HM(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,_[Nn]=p,m!==void 0&&(_.source_message_seq=m),h!==void 0&&(_.metadata=h),_},runtimeMetadataForSourceSeq:void 0,sourceSeqForTurn:f=>a.turnSeqs.get(f),autoRetryAttemptsForSeq:f=>x(a.autoRetryAttempts.get(f),0),midStreamResumeAttemptAtMsForSeq:void 0,ladderHistoryForSeq:(f,p)=>ke(dp(a.fateLadderRuns.get(f),p,zu(e.env),Ze(a.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:VM(h,f).map(_=>_)}},onTurnTerminal:(f,p,m,h,_,g)=>h6(a,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 a.pipeline=l,{TAG:"Ok",_0:{routeNotification:(f,p)=>{f6(a,f,p);let m=a.active;if(m!==void 0){let h=k(p.turnId,Tr);if(h!==void 0?h===m.turnId:!0){let g=MS(f,p);if(g!==void 0){let b=g;nn(a.processingReason,b)&&Qo(a,m.sourceSeq,b)}}}else{let h=a.dispatchingTurnStart,_=k(p.turnId,Tr),g=MS(f,p);if(h&&_!==void 0&&g!==void 0){let b=g,y=a.pendingStartingPaints.at(-1);y!==void 0&&y.paintTurnId===_&&y.reason===b||a.pendingStartingPaints.push({paintTurnId:_,reason:b})}}l.submitNotification(f,i6(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 a.retryCandidates.set(f,b),e.log("kandan.message_queued",Object.fromEntries([["seq",f],["thread_id",e.threadId],[Nn,e.harnessSessionId]])),await Ul(a,f,"queued",void 0),await rj(a,b)},publishRebuilt:async f=>await Qo(a,f,"rebuilt the coding session from durable thread history after an unresumable engine session"),failOnHarnessDeath:f=>{let p=a.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?a.failoverOffers.has(f)?f:void 0:Ve(a.failoverOffers.keys().toArray(),void 0,(Qe,q)=>q),b=k(g,Qe=>G(a.failoverOffers.get(Qe),q=>[Qe,q]));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=a.fateLadderRuns.get(v),A=S!==void 0?S:IS("transient_local",Date.now()),R=y.sourceHarness,W=y.targetHarness,ae={sourceHarness:R,targetHarness:W,model:p},U=x$(A,Date.now(),ae);if(U.TAG!=="Ok")return{TAG:"Error",_0:U._0};let B=U._0;a.fateLadderRuns.set(v,B),e.log("codex.user_cross_harness_switch_invoked",Object.fromEntries([["queued_seq",v],["source_harness",R],["target_harness",W],["model",p]])),await Qo(a,v,T$);let oe=e.harnessSessionId,Z=a.activityJournalTurns,V={harnessSessionId:oe,turns:Z},M=e.cwd,N=e.defaults.approvalPolicy,re={cwd:M,model:p,reasoningEffort:void 0,developerInstructions:void 0,approvalPolicy:N,sandboxPolicy:void 0,environment:{}},se=a.retryCandidates.get(v),Ue={text:se!==void 0?KM(se):"Continue where the previous harness session left off.",attachments:[]},Ge={model:p,reasoningEffort:void 0,input:Ue},ut=await z$(V,e.threadId,m,e.cwd,_,Date.now(),h,re,Ge,Qe=>{switch(e.log("kandan.switch_target_event",Object.fromEntries([["queued_seq",v],["kind",Nm(Qe)]])),Qe.TAG){case"TurnCompleted":Ul(a,v,"processed",void 0);return;case"TurnFailed":Ul(a,v,"failed",Qe.failure.reason);return;default:return}}),ze=zu(e.env),pt=Qe=>dp(Qe,"transient_local",ze,Ze(y));if(ut.TAG==="Ok"){let Qe=ut._0;a.switchedTargetSession=Qe.session;let q={...ae},Ee=$S(B,"switch_dispatched",Date.now(),(q.redactedReasoningCount=Qe.redactedReasoningCount,q.transpiledItemCount=Qe.transpiledItemCount,q),void 0);a.fateLadderRuns.set(v,Ee),e.log("codex.user_cross_harness_switch_dispatched",Object.fromEntries([["queued_seq",v],["source_harness",R],["target_harness",W],["model",p],["target_session_id",Qe.targetSessionId],["transpiled_item_count",Qe.transpiledItemCount],["redacted_reasoning_count",Qe.redactedReasoningCount]])),await Qo(a,v,"continuing this job on the "+y.targetHarness+" harness after a user-invoked switch");let ve={};ve.ok=!0,ve.target_session_id=Qe.targetSessionId,ve.turn_id=Qe.turnId;let _e=Qe.sessionFile;return _e!==void 0&&(ve.session_file=_e),ve.transpiled_item_count=Qe.transpiledItemCount,ve.redacted_reasoning_count=Qe.redactedReasoningCount,ve.ladder=pt(Ee),{TAG:"Ok",_0:ve}}let Xe=ut._0,He=$$(Xe),It=M$(Xe),Cr=$S(B,j$(Xe)?"switch_refused":"switch_failed",Date.now(),ae,He+": "+It);a.fateLadderRuns.set(v,Cr),e.log("codex.user_cross_harness_switch_not_dispatched",Object.fromEntries([["queued_seq",v],["refusal",He],["reason",It]])),await Ul(a,v,"failed","cross-harness switch "+He+": "+It);let Ut={};return Ut.ok=!1,Ut.refusal=He,Ut.reason=It,Ut.ladder=pt(Cr),{TAG:"Ok",_0:Ut}},close:async()=>{tj(a),a.typingActive=!1;let f=a.switchedTargetSession;f!==void 0&&(a.switchedTargetSession=void 0,await f.stopSession());let p=a.pipeline;if(p!==void 0)return await p.close(5e3)}}}}import*as yj from"node:os";import*as bj from"node:path";import*as cw from"node:os";import*as Wl from"node:path";var g6="LINZUMI_CODEX_HOME";function y6(e){let t=G(e[g6],r=>r.trim());return t!==void 0&&t!==""?t:Wl.join(cw.homedir(),".linzumi","codex-home")}function b6(e){let t=G(e.CODEX_HOME,r=>r.trim());return t!==void 0&&t!==""?t:Wl.join(cw.homedir(),".codex")}var v6=["# Managed by Linzumi - do not edit by hand.","# This isolated CODEX_HOME keeps Linzumi-spawned codex processes off the","# user's ~/.codex config and the macOS Keychain. See codexHome.ts."].concat(zv.map(e=>e+' = "'+jv+'"')).concat([""]).join(`
392
+ `);function nj(e){let t=y6(e),r=qt(t);if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=yo(Wl.join(t,"config.toml"),v6,{encoding:"utf8",flag:"wx"});if(n.TAG==="Ok")return{TAG:"Ok",_0:t};let i=n._0;return si(i,"EEXIST")?{TAG:"Ok",_0:t}:{TAG:"Error",_0:i}}var S6={beforeCommit:()=>Promise.resolve()},uw={contents:0},Cp={contents:0};async function ij(e,t,r){let n=r!==void 0?r:S6,i=b6(t);if(i===e)return"SkippedSelfCopy";uw.contents=uw.contents+1|0;let o=uw.contents,a=Wl.join(i,"auth.json"),s=Wl.join(e,"auth.json"),l=s+".tmp-"+o.toString(),d=Qt(a);if(d.TAG==="Ok"){let c=qt(e);if(c.TAG!=="Ok")return{TAG:"InstallFailed",stage:"mkdir",code:c._0.code};let f=pn(l);if(f.TAG!=="Ok")return{TAG:"InstallFailed",stage:"clear_tmp",code:f._0.code};let p=yo(l,d._0,{encoding:"utf8",mode:384,flag:"wx"});if(p.TAG!=="Ok")return{TAG:"InstallFailed",stage:"write_tmp",code:p._0.code};if(await n.beforeCommit(),Cp.contents>o)return pn(l),{TAG:"SkippedStale",generation:o,committedGeneration:Cp.contents};let m=li(l,s);return m.TAG==="Ok"?(Cp.contents<o&&(Cp.contents=o),{TAG:"Installed",generation:o}):(pn(l),{TAG:"InstallFailed",stage:"rename",code:m._0.code})}let u=d._0;return si(u,"ENOENT")?"SkippedLoggedOut":{TAG:"InstallFailed",stage:"read_source",code:u.code}}import*as sj from"node:child_process";function k6(e){let t=Object.fromEntries([["command",e.command],["args",e.args.map(n=>n)],["pollIntervalMs",e.pollIntervalMs]]),r=e.protectedPidsDir;return r!==void 0&&r!==""&&(t.protectedPidsDir=r),JSON.stringify(t)}var x6=["const { spawn, spawnSync } = require('node:child_process');","const fs = require('node:fs');","const config = JSON.parse(process.argv[process.argv.length - 1]);","const originalParentPid = process.ppid;","const child = spawn(config.command, config.args, { stdio: 'inherit' });","let done = false;","// Dev-server exemption (keep in sync with devServerReapExemption.ts","// readProtectedPidsFromDir - the freshness bound is textually substituted","// from protectedListenerFreshnessMs at program build): union of every FRESH","// mirror file's pids. Any failure returns an empty set, restoring the","// classic whole-group kill.","function protectedPids() {"," const out = new Set();"," const dir = config.protectedPidsDir;"," if (typeof dir !== 'string' || dir === '') return out;"," let names;"," try { names = fs.readdirSync(dir); } catch (_e) { return out; }"," const now = Date.now();"," for (const name of names) {"," if (!name.endsWith('.json')) continue;"," try {"," const parsed = JSON.parse(fs.readFileSync(dir + '/' + name, 'utf8'));"," if (!parsed || typeof parsed.updatedAtMs !== 'number' || !Array.isArray(parsed.pids)) continue;"," if (now - parsed.updatedAtMs > 300000) continue;"," for (const pid of parsed.pids) {"," if (Number.isInteger(pid) && pid > 1) out.add(pid);"," }"," } catch (_e) {}"," }"," return out;","}","// Group kill that spares protected listener pids: enumerate this group's","// members (the wrapper leads its own group) and signal each one except the","// spared listeners and the wrapper itself (the wrapper exits via its own","// child-exit/parent-death paths). Any enumeration failure, or no protected","// member in the group, falls back to the atomic kill(-pgid).","function groupKillExcept(signal) {"," const spare = protectedPids();"," if (spare.size > 0) {"," try {"," const result = spawnSync('ps', ['-axo', 'pid=,pgid='], { encoding: 'utf8', timeout: 5000, killSignal: 'SIGKILL' });"," if (result.error === undefined && result.status === 0) {"," const members = [];"," let sparedAny = false;"," for (const line of result.stdout.split('\\n')) {"," const match = line.trim().match(/^(\\d+)\\s+(\\d+)$/);"," if (!match || Number(match[2]) !== process.pid) continue;"," const pid = Number(match[1]);"," if (pid === process.pid) continue;"," if (spare.has(pid)) { sparedAny = true; continue; }"," members.push(pid);"," }"," if (sparedAny) {"," for (const pid of members) { try { process.kill(pid, signal); } catch (_e) {} }"," return;"," }"," }"," } catch (_e) {}"," }"," process.kill(-process.pid, signal);","}","function shutdown(signal) {"," if (done) return;"," done = true;"," try { groupKillExcept(signal); }"," catch (_e) { try { child.kill(signal); } catch (_e2) {} }","}","process.on('SIGINT', () => shutdown('SIGINT'));","process.on('SIGTERM', () => shutdown('SIGTERM'));","process.on('SIGHUP', () => shutdown('SIGTERM'));","child.on('exit', (code, signal) => {"," clearInterval(watchdog);"," // The child is gone; the wrapper must follow it down rather than linger as an"," // orphan. On the forwarded-signal path (shutdown() above caught SIGINT/SIGTERM"," // /SIGHUP and propagated it to the child), the wrapper still has its own"," // handler installed for that signal, so a bare process.kill(self, signal)"," // would just re-enter shutdown() - a no-op once done is set - and the wrapper"," // would never exit. Remove the handlers first so the signal's DEFAULT"," // disposition (terminate) applies, re-raise to mirror the child's death"," // signal, then exit() as a belt-and-suspenders fallback in case re-raising"," // does not terminate (e.g. a signal with no default-terminate disposition)."," process.removeAllListeners('SIGINT');"," process.removeAllListeners('SIGTERM');"," process.removeAllListeners('SIGHUP');"," if (signal) { try { process.kill(process.pid, signal); } catch (_e) {} }"," process.exit(signal ? 1 : code == null ? 0 : code);","});","child.on('error', (err) => {"," process.stderr.write('engine watchdog spawn failed: ' + (err && err.message) + '\\n');"," process.exit(1);","});","const watchdog = setInterval(() => {"," // Inlined parentDeathWatchdogShouldReap (keep in sync): reap PURELY on a ppid"," // change from boot - covers reparent-to-subreaper AND reparent-to-init. NO"," // `=== 1` arm: a runner that is PID 1 captures originalParentPid === 1, so"," // such an arm would false-fire on the first poll and kill a healthy codex."," if (process.ppid !== originalParentPid) {"," try { child.kill('SIGKILL'); } catch (_e) {}"," try { groupKillExcept('SIGKILL'); } catch (_e) {}"," process.exit(0);"," }","}, config.pollIntervalMs);"];function oj(e,t){return{command:e,args:["-e",x6.join(`
393
+ `),k6(t)]}}async function A6(e){let t=await pa(e,{});if(t.TAG!=="Ok")return!1;let r=t._0.status;return r>=200?r<=299:!1}function lj(e,t){return{audit:e,env:t,protectedPids:()=>new Set,fetchOk:A6,now:()=>Date.now(),readyzTimeoutMs:1e4,readyzPollMs:50}}function O6(e){return e}function fw(e,t,r,n,i,o){e.audit(t,Object.fromEntries([["command",r],["args",n.map(O6)],["cwd",i]].concat(o.concat([["purpose","codex.app_server"]]))))}function aj(e,t){let r=t.pid;if(r==null){Tl(t,"SIGINT");return}let n=Um(r,"SIGINT",Vi,void 0,e.protectedPids());n.sparedPids.length!==0&&e.audit("process.group_signal_spared_listeners",Object.fromEntries([["pid",r],["signal","SIGINT"],["sparedPids",n.sparedPids.map(d=>d)],["purpose","codex.app_server"]]));let i=n.groupSignalError;if(i===void 0)return;let o=i.code,a;if(o!==void 0)switch(o){case"EPERM":a="process.group_signal_denied";break;case"ESRCH":a="process.group_signal_missing";break;default:a="process.group_signal_failed"}else a="process.group_signal_failed";let s=i.code;e.audit(a,Object.fromEntries([["pid",r],["signal","SIGINT"],["code",s!==void 0?s:null],["message",i.message],["fallback","child_signal"],["purpose","codex.app_server"]])),i.code==="EPERM"&&mr("codex app-server process-group SIGINT denied for pid "+r.toString()+`; falling back to direct child SIGINT
394
+ `),Tl(t,"SIGINT")}function C6(e){return new Promise((t,r)=>{setTimeout(()=>t(),e)})}async function E6(e,t,r){let n=jP(t),i=n!==void 0?n:t,o=e.now()+e.readyzTimeoutMs,a;for(;mn(a);){let s=r();s!==void 0?a={TAG:"Error",_0:"codex app-server exited before readyz: "+s}:await e.fetchOk(i)?a={TAG:"Ok",_0:void 0}:e.now()>o?a={TAG:"Error",_0:"timed out waiting for codex app-server readyz"}:await C6(e.readyzPollMs)}return x(a,{TAG:"Error",_0:"timed out waiting for codex app-server readyz"})}async function dj(e,t,r,n,i,o,a){let s=await _R();if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0};let l="ws://127.0.0.1:"+s._0.toString(),d=PP(l,n),u={contents:""},c=oj(process.execPath,{command:t,args:d,pollIntervalMs:FP,protectedPidsDir:uR()});fw(e,"process.spawn",t,d,r,[]);let f=sj.spawn(c.command,c.args,{cwd:r,env:RP(e.env,i,o),stdio:IP,detached:!0}),p={contents:void 0},m=[],h=(S,A,R)=>{if(S!=null){S.on("data",W=>{let L=W.toString("utf8");R!==void 0&&R(L);let ae=f.pid;e.audit("process.output",Object.fromEntries([["pid",ae??null],["purpose","codex.app_server"],["stream",A],["chars",L.length],["output",L]]))});return}};h(f.stdout,"stdout",void 0),h(f.stderr,"stderr",S=>{u.contents=$P(u.contents+S)});let _=Wm({stop:()=>aj(e,f),pid:Yt(f.pid),ownProcessGroup:!0,kind:"codex.app_server"});f.once("exit",(S,A)=>{let R=S==null?A??"unknown":S.toString();p.contents=R,_.unregister();let W=f.pid;fw(e,"process.exit",t,d,r,[["pid",W??null],["code",S??null],["signal",A??null]]);let L=m.slice();m.splice(0,m.length),L.forEach(ae=>ae())}),f.on("error",S=>{p.contents=S.message,_.unregister()});let g=f.pid;fw(e,"process.spawned",t,d,r,[["pid",g??null]]);let b=()=>{_.unregister(),aj(e,f)},y=await E6(e,l,()=>p.contents);if(y.TAG==="Ok")return{TAG:"Ok",_0:{url:l,pid:Yt(f.pid),stop:b,onExit:S=>{if(p.contents!==void 0)return S();m.push(S)}}};let v=y._0;return b(),MP(v,u.contents,a)?(e.audit("process.spawn.retry",Object.fromEntries([["command",t],["cwd",r],["attempt",a],["reason","loopback_bind_in_use"],["purpose","codex.app_server"]])),await dj(e,t,r,n,i,o,a+1|0)):{TAG:"Error",_0:v}}function uj(e,t,r,n,i,o){return dj(e,t,r,n,i!==void 0?i:[],o!==void 0?o:!0,1)}import*as Ep from"node:http";import*as fj from"node:https";import*as mj from"node:crypto";var cj="x-linzumi-llm-proxy-token",R6="x-linzumi-debug-trace-id",I6=["host","connection","keep-alive","proxy-authenticate","proxy-authorization","te","trailer","transfer-encoding","upgrade","content-length"],$6=["connection","keep-alive","transfer-encoding","trailer","upgrade","content-length"];function M6(e){let t=e.length;for(;t>0&&e.slice(t-1|0,t)==="/";)t=t-1|0;return e.slice(0,t)}var j6='{"error":"not_found"}';function z6(e,t,r,n,i){let o=x(Yt(n.url),"");if(o===t||o.startsWith(t+"/")){let a=o===t?"/":o.slice(t.length,o.length),s=e+a,l={};Object.entries(n.headers).forEach(f=>{let p=f[1],m=f[0].toLowerCase();if(!(I6.includes(m)||m===cj||m===R6)){if(Array.isArray(p)){l[m]=$e(p,_=>{if(typeof _=="string")return _}).join(", ");return}if(typeof p==="string"){l[m]=p;return}else return}}),l[cj]=r;let d=x(Yt(n.method),"GET").toUpperCase(),u={method:d,headers:l},c=s.startsWith("https:")?fj.request(s,u):Ep.request(s,u);c.on("response",f=>{let p={};Object.entries(f.headers).forEach(m=>{let h=m[0];if(!$6.includes(h.toLowerCase())){p[h]=m[1];return}}),i.writeHead(x(Yt(f.statusCode),502),p),f.on("error",m=>{i.destroy()}),i.once("close",()=>{if(!i.writableEnded){f.destroy();return}}),f.pipe(i)}),c.on("error",f=>{let p=x(Yt(f.message),"upstream request error");i.headersSent?i.destroy():(i.writeHead(502,Object.fromEntries([["content-type","application/json"]])),i.end(JSON.stringify(Object.fromEntries([["error","llm_proxy_relay_upstream_error"],["message",p]]))))}),d==="GET"||d==="HEAD"?c.end():n.pipe(c);return}i.writeHead(404,Object.fromEntries([["content-type","application/json"]])),i.end(j6)}function pj(e,t){return new Promise((r,n)=>{let i=M6(e),o="/llm-proxy-session/"+mj.randomBytes(16).toString("hex"),a=Ep.createServer((d,u)=>{try{return z6(i,o,t,d,u)}catch{u.headersSent?u.destroy():(u.writeHead(502,{}),u.end(""));return}}),s=[];a.on("connection",d=>{s.push(d),d.once("close",()=>{let u=s.indexOf(d);if(u!==-1){s.splice(u,1);return}})});let l={contents:!1};a.once("error",d=>{if(!l.contents)return l.contents=!0,r({TAG:"Error",_0:x(Yt(d.message),"llm proxy credential relay failed to bind a loopback port")})}),a.listen(0,"127.0.0.1",()=>{let d=a.address();return d==null?l.contents?void 0:(l.contents=!0,a.close(()=>{}),r({TAG:"Error",_0:"llm proxy credential relay failed to bind a loopback port"})):l.contents?void 0:(l.contents=!0,r({TAG:"Ok",_0:{baseUrl:"http://127.0.0.1:"+d.port.toString()+o,close:()=>{a.close(()=>{}),s.forEach(u=>{u.destroy()})}}}))})})}function mw(e,t){let r=e[t];if(typeof r=="string")return r}function Pp(e){let t=G(e,r=>r.trim());if(t!==void 0&&t!=="")return t}function Zl(e){let t=Pp(mw(e,"modelProvider")),r=k(e.llmProxy,ke),n=k(r,a=>Pp(mw(a,"baseUrl"))),i=k(r,a=>Pp(mw(a,"token"))),o=n!==void 0&&i!==void 0?[n,i]:void 0;return t!==void 0?t!=="wafer"?{TAG:"ProviderError",_0:"model_provider_unsupported:"+t}:o!==void 0?{TAG:"Provider",_0:{provider:"wafer",llmProxyBaseUrl:o[0],llmProxyToken:o[1]}}:{TAG:"ProviderError",_0:"wafer_model_provider_missing_llm_proxy"}:o!==void 0?{TAG:"Provider",_0:{provider:"openai-proxy",llmProxyBaseUrl:o[0],llmProxyToken:o[1]}}:"NoProvider"}function G6(e){let t=e.length;for(;t>0&&e.slice(t-1|0,t)==="/";)t=t-1|0;return e.slice(0,t)}function hj(e){let t=G6(e.llmProxyBaseUrl)+"/v1";return e.provider==="openai-proxy"?{id:"linzumi",name:"Linzumi Proxy",baseUrl:t,envKey:"OPENAI_API_KEY",wireApi:"responses",httpHeaders:void 0,envHttpHeaders:Object.fromEntries([["x-linzumi-llm-proxy-token","LINZUMI_LLM_PROXY_TOKEN"]])}:{id:"linzumi",name:"Linzumi Proxy",baseUrl:t,envKey:"LINZUMI_LLM_PROXY_TOKEN",wireApi:"responses",httpHeaders:void 0,envHttpHeaders:void 0}}function _j(e,t){if(e.provider!=="openai-proxy")return{TAG:"Ok",_0:[["LINZUMI_LLM_PROXY_TOKEN",e.llmProxyToken]]};let n=Pp(t.OPENAI_API_KEY);return n!==void 0?{TAG:"Ok",_0:[["LINZUMI_LLM_PROXY_TOKEN",e.llmProxyToken],["OPENAI_API_KEY",n]]}:{TAG:"Error",_0:"codex llm proxy requires API-key auth (OPENAI_API_KEY in the environment or $CODEX_HOME/auth.json); ChatGPT OAuth credentials cannot be forwarded"}}function F6(e){if(process.send==null)return{TAG:"Error",_0:"no IPC channel"};try{return process.send(e),{TAG:"Ok",_0:void 0}}catch(r){let n=ee(r);return{TAG:"Error",_0:Ne(n).message}}}function vj(e,t){mr(JSON.stringify(Object.fromEntries([["worker_event",e],["payload",t]]))+`
395
+ `)}function D6(e){let t=k(e.LINZUMI_DEV_SERVICES_PARENT_PID,r=>ga(r.trim(),void 0));return t!==void 0&&t>0?t:process.ppid}function q6(e){return rc(k(e.split(":").at(-1),jn),t=>isFinite(t)&&t>=1?t<=65535:!1)}async function pw(e,t,r){let n=lj(t,e),i=nj(e);if(i.TAG!=="Ok")return{TAG:"Error",_0:i._0.message};let o=i._0;r.provider!==void 0||await ij(o,e,void 0);let s=Gc(r.serviceUrl,r.token,r.agentMcpToken,new Date);if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0.summary};let l=s._0,d=Vc(process.execPath,process.argv[1],process.execArgv),u=wu(r.token),c=Zs({command:d.command,argsPrefix:d.argsPrefix,serviceUrl:r.serviceUrl,authFilePath:l.path,ownerUsername:u.actorUsername,operatingMode:"Text",cwd:r.cwd,threadId:r.threadId,agentSession:Dt(r.agentMcpToken),devServices:{scope:r.devServicesScope,ownerPid:r.devServicesOwnerPid}}),f=r.provider,p=f!==void 0?_j(f,e):{TAG:"Ok",_0:[]};if(p.TAG==="Ok"){let m=r.provider,h;if(m!==void 0){let v=await pj(m.llmProxyBaseUrl,m.llmProxyToken);v.TAG==="Ok"?h=v._0:(vj("llm_proxy_relay.worker_start_failed_fallback_to_env_token",Object.fromEntries([["message",v._0]])),h=void 0)}else h=void 0;let _=r.provider,g=_!==void 0&&h!==void 0?{provider:_.provider,llmProxyBaseUrl:h.baseUrl,llmProxyToken:_.llmProxyToken}:_,b=()=>{if(h!==void 0)return h.close()},y=await uj(n,r.codexBin,r.cwd,{model:r.model,reasoningEffort:r.reasoningEffort,fast:r.fast,mcpConfigArgs:[ux(c)],modelProvider:G(g,hj)},[["CODEX_HOME",o]].concat(p._0),void 0);if(y.TAG==="Ok"){let v=y._0;return v.onExit(()=>{b(),l.cleanup()}),{TAG:"Ok",_0:v}}return b(),l.cleanup(),{TAG:"Error",_0:y._0}}return l.cleanup(),{TAG:"Error",_0:p._0}}async function Sj(e){let t=process.env,r=yj.homedir(),l=jI(e,{env:t,processCwd:()=>process.cwd(),home:r,resolveBaseCwd:d=>d!==void 0?bj.resolve(d):process.cwd(),fallbackCodexBin:()=>$m(void 0,Rm(),d=>{mr(d)},Im,t,void 0),warnStaleRoot:d=>{mr(MI(d))}});if(l.TAG==="Ok"){let d=l._0,u=d.options,c=vj,f={contents:void 0},p={contents:void 0},m={contents:!1},h=()=>{if(m.contents)return;m.contents=!0;let U=p.contents;U!==void 0&&U.close();let B=f.contents;if(B!==void 0)return B.stop()},_=async()=>{let U=await pw(t,c,{codexBin:u.codexBin,cwd:u.cwd,serviceUrl:u.kandanUrl,token:u.token,agentMcpToken:u.linzumiAgentMcpToken,devServicesScope:d.runnerId,devServicesOwnerPid:D6(t),threadId:u.kandanThreadId,model:k(u.runtimeDefaults,B=>B.model),reasoningEffort:k(u.runtimeDefaults,B=>B.reasoningEffort),fast:u.fast,provider:u.codexModelProvider});return U.TAG!=="Ok"?{TAG:"Error",_0:U._0}:(f.contents=U._0,{TAG:"Ok",_0:void 0})},g=async()=>{let U=f.contents;if(U===void 0)return{TAG:"Error",_0:"codex app-server was not started"};let B=await qm(U.url,void 0,void 0,void 0);if(B.TAG!=="Ok")return{TAG:"Error",_0:"codex app-server connect failed: "+B._0};let oe=await Lm(B._0,{audit:c,onWire:(V,M)=>{},keepaliveIntervalMs:3e4});if(oe.TAG!=="Ok")return{TAG:"Error",_0:"codex app-server handshake failed: "+oe._0};let Z=oe._0;return p.contents=Z,{TAG:"Ok",_0:$R(Z)}},y=process.send!=null?{send:F6,isConnected:()=>nn(Yt(process.connected),!1),onMessage:U=>{process.on("message",U)},onceDisconnect:U=>{process.once("disconnect",U)}}:void 0,L={preflightFailure:()=>CR(u.cwd,u.allowedCwds,OR(u.cwd,u.allowedCwds,U=>!1)),startAppServer:_,connectClient:g,onSessionClosed:U=>{let B=p.contents;if(B!==void 0)return B.onClose(U)},ipc:y,commanderManagedPorts:()=>{let U=f.contents;if(U===void 0)return[];let B=q6(U.url);return B!==void 0?[{port:B,pid:G(U.pid,oe=>oe),processName:"Codex app-server",processIconKey:"codex",agentProvider:"codex"}]:[]},log:c,writeStderr:U=>{mr(U)},waitForStop:()=>new Promise((U,B)=>{let oe={contents:!1},Z=()=>{if(!oe.contents)return oe.contents=!0,U()};process.once("disconnect",Z),process.once("SIGTERM",Z),process.once("SIGINT",Z);let V=f.contents;if(V!==void 0)return V.onExit(Z)}),stop:h},ae=await zI(u.kandanThreadId,L);return ae.TAG==="Ok"?typeof ae._0!="object"?0:1:(mr(ae._0+`
396
+ `),h(),1)}return mr(l._0+`
397
+ `),1}var L6=`<linzumi_markdown_media_guidance>
398
398
  Some Linzumi users have opted into rich Markdown media rendering. When you are
399
399
  writing a visible Linzumi message, channel message, or thread reply, you may use
400
400
  these Markdown-compatible media directives:
@@ -497,7 +497,7 @@ Why bad: External image hosts are intentionally not auto-rendered; attach the im
497
497
  Use media directives only after upload/attach returns a Linzumi download URL.
498
498
  Keep "src" required, all other fields optional, and never exceed 10 embeds in one message.
499
499
  </media_reminder>
500
- </linzumi_markdown_media_guidance>`,R6=`
500
+ </linzumi_markdown_media_guidance>`,U6=`
501
501
  <linzumi_markdown_media_guidance>
502
502
  Linzumi messages can embed rich media (::audio / ::video / ::image directives
503
503
  and Markdown images) - but ONLY with a Linzumi attachment download URL
@@ -505,16 +505,16 @@ returned by upload/attach, never external or local paths. BEFORE writing any
505
505
  media directive, call the linzumi_media_guide tool once and follow the full
506
506
  contract it returns.
507
507
  </linzumi_markdown_media_guidance>
508
- `;function Pp(e,t){let r=e[t];if(r!==void 0&&typeof r=="string"&&r.trim()!=="")return r.trim()}function I6(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&Ot(r))return r.toString()}function gj(e,t){if(e===void 0)return;let r=ke(e);if(r!==void 0){let n=Pp(r,"threadId"),i=Pp(r,"creatorUserId"),o=i!==void 0?i:I6(r,"creatorUserId"),a=Pp(r,"creatorUsername"),s=Pp(r,"conversationUrl");if(n!==void 0&&o!==void 0&&a!==void 0&&s!==void 0)return{threadId:n,creatorUserId:o,creatorUsername:a,conversationUrl:s};t("Ignoring invalid linzumiContext: linzumiContext must include threadId, creatorUserId, creatorUsername, and conversationUrl");return}t("Ignoring invalid linzumiContext: linzumiContext must be an object")}function Rp(e){return e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;")}function $6(e){return`<linzumi_context>
509
- <linzumi_thread_id>`+Rp(e.threadId)+`</linzumi_thread_id>
510
- <linzumi_creator_user_id>`+Rp(e.creatorUserId)+`</linzumi_creator_user_id>
511
- <linzumi_creator_username>`+Rp(e.creatorUsername)+`</linzumi_creator_username>
512
- <linzumi_conversation_url>`+Rp(e.conversationUrl)+`</linzumi_conversation_url>
508
+ `;function Rp(e,t){let r=e[t];if(r!==void 0&&typeof r=="string"&&r.trim()!=="")return r.trim()}function W6(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&Ot(r))return r.toString()}function kj(e,t){if(e===void 0)return;let r=ke(e);if(r!==void 0){let n=Rp(r,"threadId"),i=Rp(r,"creatorUserId"),o=i!==void 0?i:W6(r,"creatorUserId"),a=Rp(r,"creatorUsername"),s=Rp(r,"conversationUrl");if(n!==void 0&&o!==void 0&&a!==void 0&&s!==void 0)return{threadId:n,creatorUserId:o,creatorUsername:a,conversationUrl:s};t("Ignoring invalid linzumiContext: linzumiContext must include threadId, creatorUserId, creatorUsername, and conversationUrl");return}t("Ignoring invalid linzumiContext: linzumiContext must be an object")}function Ip(e){return e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;")}function Z6(e){return`<linzumi_context>
509
+ <linzumi_thread_id>`+Ip(e.threadId)+`</linzumi_thread_id>
510
+ <linzumi_creator_user_id>`+Ip(e.creatorUserId)+`</linzumi_creator_user_id>
511
+ <linzumi_creator_username>`+Ip(e.creatorUsername)+`</linzumi_creator_username>
512
+ <linzumi_conversation_url>`+Ip(e.conversationUrl)+`</linzumi_conversation_url>
513
513
  </linzumi_context>
514
514
 
515
515
  <linzumi_pr_footer_instruction>
516
516
  For any GitHub pull request you open from this session, include this Markdown footer link in the PR description: [Continue this on Linzumi](`+e.conversationUrl+`)
517
- </linzumi_pr_footer_instruction>`}function yj(e){let t=x(e.agentLabel,"Codex"),r=e.mcpAvailable,n=`For any job with several distinct steps - or where the
517
+ </linzumi_pr_footer_instruction>`}function xj(e){let t=x(e.agentLabel,"Codex"),r=e.mcpAvailable,n=`For any job with several distinct steps - or where the
518
518
  user benefits from watching progress - record the goal and a short plan with
519
519
  linzumi_upsert_coding_job_plan BEFORE starting work, and keep it accurate as
520
520
  you go: whenever you discover steps to add, steps that are no longer needed,
@@ -534,7 +534,7 @@ for the plan steps.`:"",l=e.developerPrompt,d=l!==void 0?`
534
534
  <invoker_developer_prompt>
535
535
  `+l+`
536
536
  </invoker_developer_prompt>
537
- `:"",u=ze([G(e.projectSharedInstructions,oe=>`Shared guidance for everyone working in this project:
537
+ `:"",u=$e([G(e.projectSharedInstructions,oe=>`Shared guidance for everyone working in this project:
538
538
  `+oe),G(e.projectPersonalInstructions,oe=>`Personal guidance from the invoking user for their jobs in this project:
539
539
  `+oe)],oe=>oe),f=u.length!==0?`
540
540
  <project_instructions>
@@ -548,7 +548,7 @@ Recent work in this project:
548
548
  `+p+`
549
549
  </project_memory>
550
550
  `:"",h=e.linzumiContext,_=h!==void 0?`
551
- `+$6(h)+`
551
+ `+Z6(h)+`
552
552
  `:"",g=e.devServicesAvailable?`
553
553
  Managed dev services: to run a long-lived local dev server (npm run dev, vite,
554
554
  storybook, docker compose up, a database), ALWAYS use linzumi_dev_service_start
@@ -620,7 +620,7 @@ linzumi_start_coding_job - pass its project_task_id so the task links to its
620
620
  job and flips to active, write the work_description from the task's title and
621
621
  description, and omit channel, runner_key, and cwd to reuse this job's own
622
622
  channel, computer, and folder. Then report which tasks started and which
623
- stayed blocked or could not start.`:"",Z=y?`
623
+ stayed blocked or could not start.`:"",W=y?`
624
624
  Before creating or reorganizing project tasks, you MUST review the current
625
625
  project state with linzumi_get_project_tasks.
626
626
  You MUST update existing project tasks in place instead of deleting and
@@ -670,7 +670,7 @@ user's decision; the agent only offers and acts on a clear yes.`:"",ae=y?`
670
670
  Land accepted plans in the project task DAG, update existing tasks in place,
671
671
  and never delete tasks you are not very confident are obsolete. After a
672
672
  transfer, offer to start the ready tasks; launch them only on the user's
673
- clear yes.`:"",U=r?R6:P6,B=r?`Use the Linzumi MCP server named "linzumi" when you need authenticated
673
+ clear yes.`:"",U=r?U6:L6,B=r?`Use the Linzumi MCP server named "linzumi" when you need authenticated
674
674
  workspace context or coding-job metadata tools.
675
675
  `+o+`
676
676
  When the coding-job scope changes materially, call linzumi_rename_coding_job
@@ -793,7 +793,7 @@ user's clear yes. Updating a PR the job is already driving is always fine.
793
793
  When several Linzumi Codex sessions work in the same repository, create or use
794
794
  a separate checkout or git worktree for this task before making changes, unless
795
795
  the human explicitly asks you to share the current checkout. Do not overwrite or
796
- revert another session's work or the user's own uncommitted work.`+Z+`
796
+ revert another session's work or the user's own uncommitted work.`+W+`
797
797
  </rules>
798
798
 
799
799
  <examples>
@@ -872,17 +872,17 @@ call an MCP message-posting tool to deliver that reply. When the task requires
872
872
  files, code, commits, pull requests, previews, or verification output, report
873
873
  the concrete artifact, command, result, and any exact blocker. Do not emit
874
874
  machine-only JSON unless the user or tool explicitly requests it.
875
- </output_format>`}var pw="rescript";function j6(){return new Promise((e,t)=>{setTimeout(()=>e(),0)})}function Gn(e){return e!==void 0?e:null}function Ip(e,t){return k(e[t],ke)}function jr(e,t){let r=e[t];if(typeof r=="string")return r}function Vl(e,t){let r=e[t];if(typeof r=="number")return r}function Le(e,t){let r=G(jr(e,t),n=>n.trim());if(r!==void 0&&r!=="")return r}function bj(e){let t=Dn(e);return t.TAG==="Ok"?t._0:e}function vj(e,t){let r=G(e,o=>o.trim());if(r===void 0)return{TAG:"RefusedCwd",reason:"missing_cwd"};if(r==="")return{TAG:"RefusedCwd",reason:"missing_cwd"};let n=bj(r),i=t.find(o=>{let a=bj(o);return n===a?!0:n.startsWith(a+Mp.sep)});return i!==void 0?{TAG:"AllowedCwd",cwd:n,matchedRoot:i}:{TAG:"RefusedCwd",reason:"cwd_not_allowed"}}function gw(e){let t=e.agentProvider;if(t===void 0||typeof t!="string")return"CodexProvider";let r=t.trim();switch(r){case"claude-code":return"ClaudeCodeProvider";case"":case"codex":return"CodexProvider";default:return{TAG:"UnsupportedProvider",_0:r}}}function Sj(e){return typeof e!="object"&&e!=="CodexProvider"?"claude-code":"codex"}function z6(e){return typeof e!="object"&&e!=="CodexProvider"?"Claude Code":"Codex"}function wj(e){return typeof e!="object"&&e!=="CodexProvider"?"Claude Code is not available on this computer. Reconnect a local runner with Claude Code auth and try again.":"Codex is not available on this computer. Reconnect a local runner with Codex support and try again."}function N6(e,t){let r=CR(t,240);switch(e){case"StartingCodexSession":return"Codex did not create a session. Restart the local runner and try again. Detail: "+r;case"StartingClaudeCodeSession":return"Claude Code did not create a session. Restart the local runner and try again. Detail: "+r;case"BindingThread":return"Codex started, but Linzumi could not attach it to this thread. Try starting the agent again; if it repeats, share this failed message with the runner owner. Detail: "+r;case"StartingFirstTurn":return"Codex started, but the first prompt could not be delivered. Try sending the message again; if it repeats, reconnect the local runner. Detail: "+r}}var G6="start_instance first turn requires a session-owned dispatch (bound Kandan thread session + sourceSeq); the sessionless degraded turn/start fallback was removed (type-2 fallback audit)";function yw(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&Ot(r))return r}function ea(e){let t=yw(e,"sourceSeq");return t!==void 0?t:yw(e,"rootSeq")}function hw(e,t,r,n,i,o){let a=ea(e);if(a===void 0)return{TAG:"Ok",_0:void 0};let s=l=>{let d=e[l];return d!==void 0&&typeof d=="string"&&d.trim()!==""?{TAG:"Ok",_0:d.trim()}:{TAG:"Error",_0:t+" control missing "+l}};return he(s("workspace"),l=>he(s("channel"),d=>wt(s("threadId"),u=>{let c={};c.workspace=l,c.channel=d,c.thread_id=u,c.instance_id=i,c.seq=a,c.status=r,c.reason=n,o!==void 0&&(c[Nn]=o);let f=gw(e);return typeof f!="object"&&f!=="CodexProvider"&&(c.agent_provider="claude-code"),c})))}function $p(e,t,r,n,i){let o=(l,d)=>{let u=e[l];return typeof u=="string"?u:d},a=o("sandbox",r),s=de(e.sandboxedApprovalNeverDefault,!0);return wt(Bv(o("approvalPolicy",t),a,{sandboxedNeverDefault:s}),l=>({settingsModel:o("model",n),settingsReasoningEffort:o("reasoningEffort",i),settingsApprovalPolicy:l,settingsSandbox:a,settingsSandboxedNeverDefault:s,settingsFast:de(e.fast,!0)}))}function F6(e){let t=[],r=e.settingsModel;r!==void 0&&t.push(["model",r]);let n=e.settingsReasoningEffort;n!==void 0&&t.push(["reasoningEffort",n]);let i=e.settingsApprovalPolicy;if(i!==void 0){let a=Vm(i,e.settingsSandbox,{sandboxedNeverDefault:e.settingsSandboxedNeverDefault});a.TAG==="Ok"&&t.push(["approvalPolicy",a._0])}let o=e.settingsSandbox;return o!==void 0&&t.push(["sandbox",o]),e.settingsFast&&t.push(["serviceTier","fast"]),t}function D6(e){return Mp.join(e,".linzumi","commanderImplFallback.json")}function kj(e){let t=ta.homedir(),r=PI(cS(t),e),n;return n=r.TAG==="Ok",n&&e==="Ts"&&pn(D6(t)),n}function q6(e){let t=G(e.LINZUMI_CODEX_START_REQUEST_TIMEOUT_MS,n=>n.trim());if(t===void 0)return 12e4;let r=jn(t);return r!==void 0&&r>0?r:12e4}async function xj(e,t){let r=process.env,n=yP(e.commanderId),i="codex-"+_w.randomUUID(),o=wu(e.token),a=q6(r),s={contents:!1},l=Hm(qR(e.commanderId,r),t,void 0,void 0),d=Hm(LR(e.commanderId,r),t,!0,void 0),u=BR(Hm(UR(e.commanderId,r),t,void 0,!0)),c=HR(l,d,t,e.commanderId,e.serviceUrl),f={contents:e.allowedCwds},p=[],m={contents:(S,A)=>{p.push([S,A])}},h=e.harnessBin;h!==void 0&&await jR(h,e.cwd);let _=await d$(e.serviceUrl,{TAG:"Token",_0:e.token},void 0,{controlCursorStore:o$(l),controlEpochStore:a$(c),onOperatorNotice:S=>{},auditEvent:(S,A)=>t(S,A)});if(_.TAG!=="Ok")return{TAG:"Error",_0:ri(_._0)};let g=_._0;g.onControl((S,A)=>m.contents(S,A));let b=()=>{let S={};return S.codexAppServer=!0,S.commander_pipeline="pipeline",S.startInstance=f.contents.length!==0,S.allowedCwds=f.contents.map(A=>A),S},y=()=>bP({clientId:e.commanderId,machineFingerprint:void 0,machineFingerprintV2:void 0,runnerPid:process.pid,version:ku(),hostname:ta.hostname(),cwd:e.cwd,workspace:e.workspaceSlug,channel:void 0,capabilities:b(),generationOverlapEpoch:void 0}),v=await g.join(n,y(),{rejoinPayload:y,registrationId:void 0});if(v.TAG==="Ok"){let S=x(ke(v._0),{}),A=Ip(S,"runner_config");if(A!==void 0){let V=A.allowedCwds;Array.isArray(V)&&(f.contents=Rc(V),t("runner.config_updated",Object.fromEntries([["source","join"],["configVersion",x(A.configVersion,null)],["allowedCwdCount",f.contents.length]])));let M=jr(A,"commander_impl");if(M!==void 0){let j=M.trim()==="rescript"?"Rescript":"Ts",re=cS(ta.homedir()),se=EI(re);if(!de(se,j)){let Ae=kj(j);t("runner.commander_impl_assigned",Object.fromEntries([["impl",El(j)],["previousCache",Gn(G(se,El))],["persisted",Ae],["runningImpl",pw]]))}}}let R=Ip(S,"compute_node");if(R!==void 0){let V=Vl(R,"reset_generation");t("runner.compute_node",Object.fromEntries([["id",Gn(jr(R,"id"))],["name",Gn(jr(R,"name"))],["identityQuality",Gn(jr(R,"identity_quality"))],["resetGeneration",V!==void 0?V:null]]))}let Z=Ip(S,"roster");if(Z!==void 0){let V=ze(x(k(Z.threads,Qi),[]),ke),M=Op(Yu("thread_id"));t("kandan.roster_seeded",Object.fromEntries([["source","join"],["thread_count",V.length],["truncated",x(Z.truncated,!1)],["skipped_entries",0],["threads",V.map(N=>{let j={};return j[Yu("thread_id")]=x(N[M],null),j.provider_session_key=x(N.provider_session_key,null),j.channel_id=x(N.channel_id,null),j.title=x(N.title,null),j.channel_slug=x(N.channel_slug,null),j.cwd=x(N.cwd,null),j})]]))}let L=YR();KR(S.resume_reconcile).forEach(V=>{let M=V.leaseEpoch;if(M!==void 0&&L.adopt(V.threadId,M))return t("runner.resume_reconcile_lease_adopted",Object.fromEntries([[Op(Yu("thread_id")),V.threadId],["leaseEpoch",M]]))});let U=globalThis.__linzumiCommanderChooserMarkJoined;if(U!==void 0){let V;try{V=Rr(U())}catch{V=void 0}V!==void 0&&t("commander.chooser.fallback_reported",x(ke(V),{}))}let B=async V=>{let M=await qm(V,void 0,void 0,void 0);if(M.TAG!=="Ok")return{TAG:"Error",_0:"codex app-server connect failed: "+M._0};let N=await Lm(M._0,{audit:(j,re)=>t(j,re),onWire:(j,re)=>{},keepaliveIntervalMs:3e4});return N.TAG==="Ok"?{TAG:"Ok",_0:N._0}:{TAG:"Error",_0:"codex app-server handshake failed: "+N._0}},oe=e.harnessUrl,W;if(oe!==void 0){let V=await B(oe);W=V.TAG==="Ok"?{TAG:"Ok",_0:[V._0,oe,void 0]}:{TAG:"Error",_0:V._0}}else{let V=e.harnessBin;if(V!==void 0){let M=await mw(r,(N,j)=>t(N,j),{codexBin:V,cwd:e.cwd,serviceUrl:e.serviceUrl,token:e.token,agentMcpToken:void 0,devServicesScope:e.commanderId,devServicesOwnerPid:process.pid,threadId:void 0,model:void 0,reasoningEffort:void 0,fast:!1,provider:void 0});if(M.TAG==="Ok"){let N=M._0,j=await B(N.url);j.TAG==="Ok"?W={TAG:"Ok",_0:[j._0,N.url,N]}:(N.stop(),W={TAG:"Error",_0:j._0})}else W={TAG:"Error",_0:M._0}}else W={TAG:"Error",_0:"the differential commander requires codexUrl (no spawned harness binary)"}}if(W.TAG==="Ok"){let V=W._0,M=V[2],N=V[1],j=V[0],re=new Map,se={contents:0},Ae={contents:0},Ue=O=>(Ae.contents=Ae.contents+1|0,zn(O.then(()=>{Ae.contents=Ae.contents-1|0}),X=>(Ae.contents=Ae.contents-1|0,Promise.resolve()))),Ge=(O,X)=>Ue((async()=>{let J=await g.push(n,O,X,void 0);if(J.TAG!=="Ok")return t("kandan.event_push_failed",Object.fromEntries([["event",O],["message",ri(J._0)]]))})()),dt=async O=>{if(de(e.approvalPolicy,"never")&&de(e.sandbox,"danger-full-access")&&(O.method==="item/commandExecution/requestApproval"||O.method==="item/fileChange/requestApproval"))return t("codex.server_request_auto_accepted",Object.fromEntries([["method",O.method],["turn_id",Gn(k(k(O.params,ke),J=>jr(J,"turnId")))]])),Object.fromEntries([["decision","accept"]])};j!==void 0&&(j.onNotification(O=>{se.contents=se.contents+1;let X=x(k(O.params,ke),{}),J={};J.instanceId=i,J.seq=se.contents,J.method=O.method,J.params=X,J.receivedAt=new Date().toISOString(),Ge("codex_notification",J),t("codex.notification",Object.fromEntries([["method",O.method]])),re.values().toArray().forEach(K=>K.routeNotification(O.method,X))}),j.onRequest(dt),j.onClose(O=>{if(!s.contents){t("codex.app_server_connection_lost",Object.fromEntries([["cause",O]])),re.values().toArray().forEach(X=>X.failOnHarnessDeath(O));return}}));let je=()=>{let O={};return O.instanceId=i,O.clientId=e.commanderId,N!==void 0&&(O.codexUrl=N),O.cwd=e.cwd,O.hostname=ta.hostname(),O.workspace=e.workspaceSlug,O.channel=null,O},pt=je();pt.codexThreads=[],pt.tuiLaunched=!1,await Ge("instance_started",pt),t("runner.instance_started",Object.fromEntries([["runnerId",e.commanderId],["hostname",ta.hostname()],["workspace",e.workspaceSlug],["version",ku()],["instanceId",i],["codexUrl",Gn(N)]])),await Ge("heartbeat",je());let Ye=setInterval(()=>{Ge("heartbeat",je())},15e3);Ye.unref(),g.onReconnect(async O=>await Ge("heartbeat",je()));let He={contents:void 0},It=(async()=>{try{let O=await TP();He.contents=CI({sdk:O,audit:(X,J)=>t(X,J),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"]]))}})(),Xe={targetHarness:"claude-code",model:void 0,targetAdapterAvailable:()=>Dt(He.contents)},q=async O=>await Ge("codex_response",O),Ee=async O=>{let X={};return X.instanceId=i,X.message=O,await Ge("codex_error",X)},ve=(O,X)=>WR(e.workspaceSlug,O,X),_e=async(O,X,J,K,w)=>{let C=Le(O,ls);if(C!==void 0){let I=Le(O,"threadId"),F=Le(O,"channel"),D=Le(O,"workspace"),ie=Le(O,"workDescription"),pe=Vl(O,"sourceSeq"),Fe=pe!==void 0?pe:Vl(O,"rootSeq"),Se=re.get(C),Ce;if(Se!==void 0)Ce={TAG:"Ok",_0:Se};else if(D!==void 0&&F!==void 0&&I!==void 0){let Pe=await lw({transport:g,commanderTopic:n,commanderId:e.commanderId,instanceId:i,harness:K,log:t,timers:ju,env:r,workspaceSlug:D,channelSlug:F,threadId:I,harnessSessionId:C,cwd:X,rootSeq:Vl(O,"rootSeq"),defaults:{approvalPolicy:e.approvalPolicy,sandbox:e.sandbox},actorSlug:o.actorUsername,actorUserId:o.actorUserId,leaseEpochFor:Oe=>L.current(Oe),commitAppliedSourceSeq:Oe=>{Au(u,ve(F,I),Oe,void 0),t("runner.live_worker_source_seq_committed",Object.fromEntries([["thread_id",I],["channel",F],["sourceSeq",Oe]]))},switchProbe:Xe});if(Pe.TAG==="Ok"){let Oe=Pe._0;re.set(C,Oe),w&&K.onNotification(Zt=>Oe.routeNotification(Zt.method,x(k(Zt.params,ke),{}))),Ce={TAG:"Ok",_0:Oe}}else Ce={TAG:"Error",_0:Pe._0}}else Ce={TAG:"Error",_0:"cannot reconnect a Kandan thread without a session"};if(Ce.TAG!=="Ok")return{TAG:"Error",_0:Ce._0};let Ie=Ce._0;if(ie!==void 0){if(Fe===void 0)return{TAG:"Error",_0:"cannot reconnect a Kandan thread without a session"};if(F!==void 0&&I!==void 0?!Bm(u.initial(ve(F,I)),Fe):!1){t("kandan.reconnect_thread_seq_already_applied",Object.fromEntries([["source_seq",Fe],[Nn,C]]));let Nt={};return Nt.instanceId=i,Nt.controlType="reconnect_thread",Nt.cwd=X,Nt.matchedRoot=J,Nt[ls]=C,Nt.duplicate=!0,{TAG:"Ok",_0:Nt}}let Oe=(Nt,or,Gt)=>(async()=>{let Ft=await g.push(Nt,or,x(ke(Gt),{}),void 0);return Ft.TAG==="Ok"?{TAG:"Ok",_0:Ft._0}:{TAG:"Error",_0:ri(Ft._0)}})(),Zt={workspace:D,channel:F,threadId:I},zt=await e$((Nt,or)=>K.request(Nt,or),ju,a,C,JM({approvalPolicy:e.approvalPolicy,sandbox:e.sandbox}),{forceRehydrate:de(O.sessionRehydrate,!0),buildRehydrationText:async Nt=>{let or=await KI(Oe,n,Zt,t);return{TAG:"Ok",_0:JI(or,Nt)}},buildRehydrationItems:async Nt=>{let or=await QI(Oe,n,Zt,t);if(or===void 0)return{TAG:"Ok",_0:void 0};if(or.nodes.length===0)return{TAG:"Ok",_0:void 0};let Gt=DI(or.nodes.map(YI),G(or.budget,XI),Nt,or.threadTitle);return t("kandan.reconnect_thread_rehydration_ir_emitted",Object.fromEntries([["linzumi_thread_id",I!==void 0?I:null],["codex_thread_id",C],["emitted_nodes",Gt.emittedNodeCount],["omitted_nodes",Gt.omittedNodeCount],["redacted_reasoning",Gt.redactedReasoningCount],["emitted_token_estimate",Gt.emittedTokenEstimate],["max_emission_tokens",Gt.maxEmissionTokens]])),{TAG:"Ok",_0:Gt.items}},log:t});if(zt.TAG!=="Ok")return{TAG:"Error",_0:zt._0.message};typeof zt._0=="object"&&await Ie.publishRebuilt(Fe);let _r=await Ie.runClaimedTurn(Fe,ie);if(_r.TAG!=="Ok")return{TAG:"Error",_0:_r._0};let ir={};return ir.instanceId=i,ir.controlType="reconnect_thread",ir.cwd=X,ir.matchedRoot=J,ir[ls]=C,{TAG:"Ok",_0:ir}}let ct={};return ct.instanceId=i,ct.controlType="reconnect_thread",ct.cwd=X,ct.matchedRoot=J,ct[ls]=C,{TAG:"Ok",_0:ct}}let P={};return P.instanceId=i,P.controlType="reconnect_thread",P.ok=!1,P.error="missing_codex_thread_id",{TAG:"Ok",_0:P}},Be=new Map,Jt=new Map,fn=async O=>{if(typeof O=="object"||O==="CodexProvider")return!0;let X=e.claudeCodeAvailable;return X!==void 0?X:(await It,Dt(He.contents))},ki=async(O,X,J,K,w)=>{let C=hw(O,X,J,K,i,w);if(C.TAG!=="Ok")return{TAG:"Error",_0:C._0};let P=C._0;return P!==void 0?(await Ge("message_state",P),{TAG:"Ok",_0:void 0}):{TAG:"Ok",_0:void 0}},Fn=async(O,X)=>{let J=ea(O);if(J===void 0)return;let K=Le(O,"workspace"),w=Le(O,"channel"),C=Le(O,"threadId");if(K===void 0||w===void 0||C===void 0)return;let P={};return P.workspace=K,P.channel=w,P.thread_id=C,P.instance_id=i,P.seq=J,P.status="failed",P.reason=X,P.allowed_cwds=f.contents.map(I=>I),await Ge("message_state",P)},ii=O=>{switch(O){case"StartingCodexSession":return"starting_codex_session";case"StartingClaudeCodeSession":return"starting_claude_code_session";case"BindingThread":return["binding_","kandan","_thread"].join("");case"StartingFirstTurn":return"starting_first_turn"}},Vr=async(O,X,J,K,w)=>{let C=X==="reconnect_thread"?"kandan.reconnect_thread_failed":"kandan.start_instance_failed",P=ea(O);return t(C,Object.fromEntries([["stage",ii(J)],["message",K],["thread_id",Gn(Le(O,"threadId"))],["source_seq",P!==void 0?P:null],[Nn,Gn(w)]])),await ki(O,X,"failed",N6(J,K),w),{TAG:"Error",_0:K}},_o=async(O,X,J,K,w,C)=>{let P=e.harnessBin;if(P===void 0)return{TAG:"Error",_0:"shared codex app-server connection is unavailable"};let I=$p(O,e.approvalPolicy,e.sandbox,e.defaultModel,e.defaultReasoningEffort);if(I.TAG!=="Ok")return{TAG:"Error",_0:I._0};let F=I._0,D=new Set,ie=[J].concat(f.contents).filter(Ft=>D.has(Ft)?!1:(D.add(Ft),!0)),pe=X==="start_instance"?mS(jr(O,"executionMode")):void 0,Fe=X==="start_instance"?pS(jr(O,"egressMode")):void 0,Se=X==="start_instance"?Le(O,"projectPublicId"):void 0,Ce=X==="start_instance"?Le(O,"goldenImagePublicId"):void 0,Ie=e.serviceUrl,ct=e.token,Pe=K,Oe=e.logFile,Zt=F.settingsFast,zt=[],yr=e.codeServerBin,_r={model:F.settingsModel,reasoningEffort:F.settingsReasoningEffort,sandbox:F.settingsSandbox,approvalPolicy:F.settingsApprovalPolicy,allowPortForwardingByDefault:!0},ir=k(k(O.linzumiAgent,ke),Ft=>Le(Ft,"mcpToken")),Nt={kandanUrl:Ie,token:ct,cwd:J,codexBin:P,kandanThreadId:w,workspaceSlug:Pe,logFile:Oe,debugTrace:void 0,fast:Zt,allowedCwds:ie,allowedForwardPorts:zt,codeServerBin:yr,runtimeDefaults:_r,codexModelProvider:C,vmExecution:!1,executionMode:pe,egressMode:Fe,projectPublicId:Se,goldenImagePublicId:Ce,linzumiAgentMcpToken:ir};t("runner.thread_process_starting",Object.fromEntries([["kandanThreadId",w],["cwd",J],["readyTimeoutMs",PR]]));let or=await MR(Nt,(Ft,br)=>t(Ft,br));if(or.TAG==="Ok"){let Ft=or._0;Be.set(w,Ft);let br=Ft.pid;return Ft.onExit(()=>{let Hr=Be.get(w);if(Hr!==void 0&&de(Hr.pid,br)){Be.delete(w);return}}),Ft.client.onRequest(dt),t("runner.thread_process_started",Object.fromEntries([["kandanThreadId",w],["cwd",J]])),{TAG:"Ok",_0:Ft}}let Gt=or._0;return t("runner.thread_process_start_failed",Object.fromEntries([["kandanThreadId",w],["cwd",J],["message",Gt]])),{TAG:"Error",_0:Gt}},ra=O=>rc(Be.get(O),X=>!X.client.isClosed()),tn=(O,X,J)=>{let K={};return K.instanceId=i,K.controlType=O,K.ok=!0,K.delegated=!0,K.threadProcess="already_started",K.kandanThreadId=X,K.cwd=J,K},H=async(O,X,J,K,w)=>{let C=Le(O,"developerPrompt"),P=gj(O.linzumiContext,br=>{fr(br+`
876
- `)}),I=$p(O,e.approvalPolicy,e.sandbox,e.defaultModel,e.defaultReasoningEffort);if(I.TAG!=="Ok")return await Vr(O,"start_instance","StartingCodexSession",I._0,void 0);let F=I._0,D=Le(O,"projectSharedInstructions"),ie=Le(O,"projectPersonalInstructions"),pe=Le(O,"projectMemory"),Fe=Dt(O.projectId)||Dt(O.projectPublicId)||Dt(D)||Dt(ie)||Dt(pe),Se=yj({cwd:X,agentLabel:void 0,planTool:"LinzumiMcpPlanTool",mcpAvailable:!0,devServicesAvailable:!0,developerPrompt:C,projectSharedInstructions:D,projectPersonalInstructions:ie,projectMemory:pe,projectBound:Fe,linzumiContext:P}),Ce={};Ce.cwd=X,Ce.serviceName=NR,Ce.personality=GR,Ce.developerInstructions=Se,F6(F).forEach(br=>{Ce[br[0]]=br[1]});let Ie=await SS(ju,a,"thread/start",K.request("thread/start",Ce));if(Ie.TAG!=="Ok")return await Vr(O,"start_instance","StartingCodexSession",Ie._0,void 0);let ct=Ie._0;if(ct.TAG!=="ResultReply")return await Vr(O,"start_instance","StartingCodexSession","thread/start failed: "+ct.message,void 0);let Pe=ct._0,Oe=k(k(ke(Pe),br=>Ip(br,"thread")),br=>Le(br,"id")),Zt=Le(O,"workDescription");if(Oe!==void 0&&C!==void 0){let br=Le(O,"workspace"),Hr=Le(O,"channel"),oi=Le(O,"threadId");if(br!==void 0&&Hr!==void 0&&oi!==void 0){let ai={};ai.event_type="codex_start_instructions",ai[Nn]=Oe,ai.instructions_body=C;let Bl=Le(O,"modelProvider");Bl!==void 0&&(ai.model_provider=Bl);let Kl=Le(O,"model");Kl!==void 0&&(ai.model=Kl);let ds={};ds.workspace=br,ds.channel=Hr,ds.thread_id=oi,ds.body=`Starting a new Codex thread with instructions:
877
-
878
- `+C,ds.payload=Object.fromEntries([["metadata",Object.fromEntries([["local_codex_runner",ai]])]]),await Ge("session:post_thread_message",ds)}}let zt=Le(O,"workspace"),yr=Le(O,"channel"),_r=Le(O,"threadId"),ir;if(Oe!==void 0&&zt!==void 0&&yr!==void 0&&_r!==void 0){let br=await lw({transport:g,commanderTopic:n,commanderId:e.commanderId,instanceId:i,harness:K,log:t,timers:ju,env:r,workspaceSlug:zt,channelSlug:yr,threadId:_r,harnessSessionId:Oe,cwd:X,rootSeq:yw(O,"rootSeq"),defaults:{approvalPolicy:e.approvalPolicy,sandbox:e.sandbox,model:F.settingsModel,reasoningEffort:F.settingsReasoningEffort},actorSlug:o.actorUsername,actorUserId:o.actorUserId,leaseEpochFor:Hr=>L.current(Hr),commitAppliedSourceSeq:Hr=>{Au(u,ve(yr,_r),Hr,void 0),t("runner.live_worker_source_seq_committed",Object.fromEntries([["thread_id",_r],["channel",yr],["sourceSeq",Hr]]))},switchProbe:Xe});if(br.TAG==="Ok"){let Hr=br._0;re.set(Oe,Hr),w&&K.onNotification(oi=>Hr.routeNotification(oi.method,x(k(oi.params,ke),{}))),ir={TAG:"Ok",_0:Hr}}else ir={TAG:"Error",_0:br._0}}else ir={TAG:"Ok",_0:void 0};if(ir.TAG!=="Ok")return await Vr(O,"start_instance","BindingThread",ir._0,Oe);let Nt=ir._0,or=ea(O),Gt=Oe!==void 0&&Zt!==void 0?Nt!==void 0&&or!==void 0?await Nt.runClaimedTurn(or,Zt):{TAG:"Error",_0:G6}:{TAG:"Ok",_0:void 0};if(Gt.TAG!=="Ok")return await Vr(O,"start_instance","StartingFirstTurn",Gt._0,Oe);let Ft={};return Ft.instanceId=i,Ft.controlType="start_instance",Ft.cwd=X,Ft.matchedRoot=J,Ft.response=Pe,{TAG:"Ok",_0:Ft}},te=(O,X)=>{let J=Gc(e.serviceUrl,e.token,void 0,new Date);if(J.TAG==="Ok"){let K=J._0,w=Vc(process.execPath,process.argv[1],process.execArgv),C=wu(e.token),P=Ws({command:w.command,argsPrefix:w.argsPrefix,serviceUrl:e.serviceUrl,authFilePath:K.path,ownerUsername:C.actorUsername,operatingMode:"Text",cwd:O,threadId:X,devServices:{scope:e.commanderId,ownerPid:process.pid}});return{servers:ux(P),cleanup:K.cleanup}}t("claude_code.mcp_config_failed",Object.fromEntries([["message",J._0.summary],["thread_id",X]]))},ne=(O,X,J,K,w,C,P,I)=>({adapter:I,pushEvent:Ge,log:t,workspace:J,channel:K,threadId:w,cwd:X,sourceSeq:ea(O),model:P.settingsModel,approvalPolicy:P.settingsApprovalPolicy,sandbox:P.settingsSandbox,workDescription:C,mcp:te(X,w)}),Ke=O=>{let X=Le(O,"channel"),J=Le(O,"threadId"),K=ea(O);if(X!==void 0&&J!==void 0&&K!==void 0)return Au(u,ve(X,J),K,void 0),t("runner.live_worker_source_seq_committed",Object.fromEntries([["thread_id",J],["channel",X],["sourceSeq",K]]))},tt=(O,X,J,K)=>{let w={};return w.instanceId=i,w.controlType=O,w.agentProvider="claude-code",w.cwd=X,w.matchedRoot=J,w.response=Object.fromEntries([["session",Object.fromEntries([["id",K]])]]),w},at=async(O,X,J)=>{await It;let K=Fe=>Vr(O,"start_instance","StartingClaudeCodeSession",Fe,void 0),w=He.contents;if(w===void 0)return await K("claude-agent-sdk module not resolvable");let C=Le(O,"workspace"),P=Le(O,"channel"),I=Le(O,"threadId"),F=Le(O,"workDescription");if(C===void 0)return await K("start_instance control missing workspace");if(P===void 0)return await K("start_instance control missing channel");if(I===void 0)return await K("start_instance control missing threadId");if(F===void 0)return await K("start_instance control missing workDescription");let D=$p(O,e.approvalPolicy,e.sandbox,e.defaultModel,e.defaultReasoningEffort);if(D.TAG!=="Ok")return await K(D._0);let ie=await g$(ne(O,X,C,P,I,F,D._0,w));if(ie.TAG!=="Ok")return await K(ie._0);let pe=ie._0;return Jt.set(pe.harnessSessionId,pe),Ke(O),{TAG:"Ok",_0:tt("start_instance",X,J,pe.harnessSessionId)}},ut=async(O,X,J)=>{await It;let K=Le(O,ls);if(K!==void 0){let C=Pe=>Vr(O,"reconnect_thread","StartingClaudeCodeSession",Pe,K),P=He.contents;if(P===void 0)return await C("claude-agent-sdk module not resolvable");let I=Le(O,"workspace"),F=Le(O,"channel"),D=Le(O,"threadId"),ie=Le(O,"workDescription");if(I===void 0)return await C("start_instance control missing workDescription");if(F===void 0)return await C("start_instance control missing workDescription");if(D===void 0)return await C("start_instance control missing workDescription");if(ie===void 0)return await C("start_instance control missing workDescription");let pe=ea(O);if(pe!==void 0?!Bm(u.initial(ve(F,D)),pe):!1){let Pe=ea(O);t("claude_code.replayed_turn_already_applied_ignored",Object.fromEntries([["linzumi_thread_id",D],["claude_session_id",K],["source_seq",Pe!==void 0?Pe:null]]));let Oe={};return Oe.instanceId=i,Oe.controlType="reconnect_thread",Oe.agentProvider="claude-code",Oe.cwd=X,Oe.matchedRoot=J,Oe[ls]=K,Oe.queuedInput=!0,Oe.duplicate=!0,{TAG:"Ok",_0:Oe}}let Se=hw(O,"reconnect_thread","processing","resuming Claude Code session",i,K);if(Se.TAG==="Ok"){let Pe=Se._0;Pe!==void 0&&Ge("message_state",Pe)}let Ce=$p(O,e.approvalPolicy,e.sandbox,e.defaultModel,e.defaultReasoningEffort);if(Ce.TAG!=="Ok")return await C(Ce._0);let Ie=await y$(ne(O,X,I,F,D,ie,Ce._0,P),K);if(Ie.TAG!=="Ok")return await C(Ie._0);let ct=Ie._0;return Jt.set(ct.harnessSessionId,ct),Ke(O),{TAG:"Ok",_0:tt("reconnect_thread",X,J,ct.harnessSessionId)}}let w={};return w.instanceId=i,w.controlType="reconnect_thread",w.ok=!1,w.error="missing_codex_thread_id",{TAG:"Ok",_0:w}},Pt=async O=>{let X=vj(jr(O,"cwd"),f.contents);if(X.TAG==="AllowedCwd"){let J=X.matchedRoot,K=X.cwd,w=gw(O),C=await fn(w),P=0;if(typeof w!="object")P=1;else{let I={};return I.instanceId=i,I.controlType="reconnect_thread",I.ok=!1,I.error="agent_provider_unsupported:"+w._0,{TAG:"Ok",_0:I}}if(P===1)if(C){if(typeof w!="object"){if(w!=="CodexProvider")return await ut(O,K,J);if(e.harnessUrl!==void 0)return j!==void 0?await _e(O,K,J,j,!1):{TAG:"Error",_0:"shared codex app-server connection is unavailable"};let F=Le(O,"workspace"),D=Le(O,"channel"),ie=Le(O,"threadId"),pe=0;if(F!==void 0&&D!==void 0&&ie!==void 0){if(ra(ie)!==void 0)return{TAG:"Ok",_0:tn("reconnect_thread",ie,K)};let Se=Wl(O),Ce=0;if(typeof Se!="object"||Se.TAG==="Provider")Ce=3;else{let Ie={};return Ie.instanceId=i,Ie.controlType="reconnect_thread",Ie.ok=!1,Ie.error=Se._0,Ie.kandanThreadId=ie,Ie.cwd=K,{TAG:"Ok",_0:Ie}}if(Ce===3){let Ie=Wl(O),ct;ct=typeof Ie!="object"||Ie.TAG!=="Provider"?void 0:Ie._0;let Pe=await _o(O,"reconnect_thread",K,F,ie,ct);return Pe.TAG==="Ok"?await _e(O,K,J,Pe._0.client,!0):{TAG:"Error",_0:Pe._0}}}else pe=2;if(pe===2)return j!==void 0?await _e(O,K,J,j,!1):{TAG:"Error",_0:"cannot reconnect a Kandan thread without a session"}}}else{await ki(O,"reconnect_thread","failed",wj(w),void 0);let I={};return I.instanceId=i,I.controlType="reconnect_thread",I.ok=!1,I.error="agent_provider_unavailable:"+Sj(w),{TAG:"Ok",_0:I}}}else{let J=X.reason;await Fn(O,J);let K={};return K.instanceId=i,K.controlType="reconnect_thread",K.requestId=Gn(jr(O,"requestId")),K.ok=!1,K.error=J,K.allowedCwds=f.contents.map(w=>w),{TAG:"Ok",_0:K}}},vt={contents:void 0},Ct=async(O,X,J)=>{let K=async()=>{if(j===void 0)return{TAG:"Error",_0:"shared codex app-server connection is unavailable"};let Se=Wl(O),Ce;if(typeof Se!="object")Ce=void 0;else if(Se.TAG==="Provider")if(Se._0.provider==="wafer")Ce="wafer_model_provider_requires_thread_worker";else{let Pe=G(r.OPENAI_API_KEY,Oe=>Oe.trim());Ce=Pe!==void 0&&Pe!==""?"llm_proxy_model_provider_requires_thread_worker":"codex llm proxy requires API-key auth (OPENAI_API_KEY in the environment or $CODEX_HOME/auth.json); ChatGPT OAuth credentials cannot be forwarded"}else Ce=Se._0;if(Ce===void 0)return await H(O,X,J,j,!1);await ki(O,"start_instance","failed",Ce,void 0);let Ie={};return Ie.instanceId=i,Ie.controlType="start_instance",Ie.ok=!1,Ie.error=Ce,{TAG:"Ok",_0:Ie}};if(e.harnessUrl!==void 0)return await K();let C=Le(O,"workspace"),P=Le(O,"channel"),I=Le(O,"threadId");if(C===void 0)return await K();if(P===void 0)return await K();if(I===void 0)return await K();if(ra(I)!==void 0)return{TAG:"Ok",_0:tn("start_instance",I,X)};let D=Wl(O);if(typeof D=="object"&&D.TAG!=="Provider"){let Se={};return Se.instanceId=i,Se.controlType="start_instance",Se.ok=!1,Se.error=D._0,Se.kandanThreadId=I,Se.cwd=X,{TAG:"Ok",_0:Se}}let ie=Wl(O),pe;pe=typeof ie!="object"||ie.TAG!=="Provider"?void 0:ie._0;let Fe=await _o(O,"start_instance",X,C,I,pe);return Fe.TAG==="Ok"?await H(O,X,X,Fe._0.client,!0):await Vr(O,"start_instance","StartingCodexSession",Fe._0,void 0)},go=()=>{let O=vt.contents;if(O!==void 0)return O;let X=(async()=>{s.contents=!0,clearInterval(Ye);let J=0,K=0;for(;J<3&&K<2e3;)K=K+1|0,J=Ae.contents===0?J+1|0:0,await j6();let w=re.values().toArray();for(let P=0,I=w.length;P<I;++P){let F=w[P];F!==void 0&&await F.close()}let C=Jt.values().toArray();for(let P=0,I=C.length;P<I;++P){let F=C[P];F!==void 0&&await F.stop()}return Be.values().toArray().forEach(P=>P.close()),j!==void 0&&j.close(),M!==void 0&&M.stop(),g.close(),l.flush(),d.flush()})();return vt.contents=X,X},na=async O=>{let X=vj(jr(O,"cwd"),f.contents),J=gw(O);if(typeof J=="object"){let C={};return C.instanceId=i,C.controlType="start_instance",C.ok=!1,C.error="agent_provider_unsupported:"+J._0,{TAG:"Ok",_0:C}}if(X.TAG==="AllowedCwd"){let C=X.matchedRoot,P=X.cwd;if(await fn(J)){let F=hw(O,"start_instance","processing","starting "+z6(J)+" session",i,void 0);if(F.TAG!=="Ok")return{TAG:"Error",_0:F._0};let D=F._0;return D!==void 0&&Ge("message_state",D),typeof J!="object"?J==="CodexProvider"?await Ct(O,P,C):await at(O,P,C):await Ct(O,P,C)}await ki(O,"start_instance","failed",wj(J),void 0);let I={};return I.instanceId=i,I.controlType="start_instance",I.ok=!1,I.error="agent_provider_unavailable:"+Sj(J),{TAG:"Ok",_0:I}}let K=X.reason;t("kandan.start_instance_cwd_rejected",Object.fromEntries([["thread_id",Gn(Le(O,"threadId"))],["reason",K],["allowedCwdCount",f.contents.length]])),await Fn(O,K);let w={};return w.instanceId=i,w.controlType="start_instance",w.requestId=Gn(jr(O,"requestId")),w.ok=!1,w.error=K,w.allowedCwds=f.contents.map(C=>C),{TAG:"Ok",_0:w}},Hl=async O=>{if(j===void 0)return{TAG:"Error",_0:"shared codex app-server connection is unavailable"};let X={},J=jr(O,"threadId");J!==void 0&&(X.threadId=J);let K=O.input;K!==void 0&&(X.input=K);let w=await j.request("turn/start",X);if(w.TAG!=="Ok")return{TAG:"Error",_0:w._0};let C=w._0;if(C.TAG!=="ResultReply")return{TAG:"Error",_0:C.message};let P={};return P.instanceId=i,P.controlType="start_turn",P.response=C._0,{TAG:"Ok",_0:P}},ww=async O=>{let X=Le(O,"harnessSessionId");if(X===void 0)return{TAG:"Error",_0:"invoke_cross_harness_switch requires the source harness session id"};let J=re.get(X);if(J===void 0)return{TAG:"Error",_0:"no attached session for the requested cross-harness switch"};let K=Le(O,"targetHarness");if(K!==void 0&&K!=="claude-code")return{TAG:"Error",_0:"unsupported switch target for this session's harness: "+K};let w=Le(O,"model");if(w===void 0)return{TAG:"Error",_0:"invoke_cross_harness_switch requires an explicit model (D39)"};let C=Le(O,"targetSessionId"),P=C!==void 0?C:_w.randomUUID(),I=await J.invokeCrossHarnessSwitch(Vl(O,"sourceSeq"),w,P,He.contents,ta.homedir());if(I.TAG!=="Ok")return{TAG:"Error",_0:I._0};let F={};return F.instanceId=i,F.controlType="invoke_cross_harness_switch",F.harnessSessionId=X,Object.entries(I._0).forEach(D=>{F[D[0]]=D[1]}),{TAG:"Ok",_0:F}},jp=(O,X)=>WI(x(k(ke(O),J=>jr(J,"type")),"unknown"),()=>{let J=x(ke(O),{});t("kandan.control",Object.fromEntries([["control",O]]));let K=jr(J,"type");if(K===void 0)return{TAG:"Returned",_0:void 0};switch(K){case"replace_runner":return t("runner.replaced",Object.fromEntries([["runnerId",e.commanderId],["reason",x(J.reason,null)],["replacementRunnerId",x(J.replacementRunnerId,null)],["replacementVersion",x(J.replacementVersion,null)]])),go(),{TAG:"Returned",_0:void 0};case"set_commander_impl":let w=jr(J,"impl"),C=k(w,uS);if(C!==void 0){let pe=kj(C),Fe=El(C)!==pw,Se=de(r.LINZUMI_SUPERVISED,"1")&&process.platform!=="win32";return t("runner.commander_impl_persisted",Object.fromEntries([["impl",El(C)],["persisted",pe],["runningImpl",pw],["restart",Fe?Se?"graceful_drain":"deferred_to_next_launch":"not_needed"]])),Fe&&Se&&Vi(process.pid,"SIGUSR2"),{TAG:"Returned",_0:void 0}}return t("runner.commander_impl_control_ignored",Object.fromEntries([["impl",Gn(w)],["reason","unknown_impl_value"]])),{TAG:"Returned",_0:void 0};default:let P=jr(J,"instanceId");if(P!==void 0&&P!==i)return t("kandan.control_ignored",Object.fromEntries([["reason","instance_id_mismatch"],["instanceId",i],["controlInstanceId",Gn(jr(J,"instanceId"))],["controlType",K]])),{TAG:"Returned",_0:void 0};let I=Vl(J,"control_seq"),F;if(K==="start_turn"&&I!==void 0){let pe=ZR(n,x(jr(J,"threadId"),"undefined"));F=UI(d.initial(pe),I)?"SkipReplayedStartTurn":{TAG:"Dispatch",commit:()=>ZI({onAdvance:d.onAdvance,flush:d.flush},pe,I)}}else F={TAG:"Dispatch",commit:void 0};if(typeof F!="object")return t("kandan.start_turn_replay_skipped",Object.fromEntries([["controlType",K],["controlSeq",x(J.control_seq,null)]])),{TAG:"Returned",_0:void 0};let D=F.commit,ie=(async()=>{let pe;switch(K){case"invoke_cross_harness_switch":pe=await ww(J);break;case"reconnect_thread":pe=await Pt(J);break;case"start_instance":pe=await na(J);break;case"start_turn":pe=await Hl(J);break;default:pe={TAG:"Error",_0:"unsupported control type for this commander: "+K}}return pe.TAG==="Ok"?(D!==void 0&&D(),await q(pe._0)):await Ee(pe._0),null})();return Ue(ie.then(pe=>{})),{TAG:"Pending",_0:ie}}},X,t,void 0);m.contents=jp;let kw=p.slice();return p.splice(0,p.length),kw.forEach(O=>jp(O[0],O[1])),{TAG:"Ok",_0:{close:()=>go()}}}return g.close(),{TAG:"Error",_0:W._0}}return g.close(),{TAG:"Error",_0:ri(v._0)}}function Wi(e){fr("linzumi (rescript commander): "+e+`
879
- `),Jl(1)}var U6=["workspace","channel","api-url","linzumi-url","token","auth-file","cwd","allowed-cwd","codex-url","codex-bin","approval-policy","sandbox","code-server-bin","log-file","model","reasoning-effort","model-provider","llm-proxy-base-url"],Z6=["version","help","launch-tui","fast","no-onboarding-discovery","allow-port-forwarding-by-default"];function W6(e){let t={},r={},n=[],i=0;for(;i<e.length;){let o=x(e[i],"");if(o.startsWith("--")){let a=o.slice(2,o.length),s=Z6.includes(a),l=U6.includes(a);if(s)r[a]=!0,i=i+1|0;else if(l){let d=e[i+1|0];d!==void 0?t[a]=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}}var vw={};Tv.forEach(e=>{vw[e[0]]=e[1]});var Sw={};Tv.forEach(e=>{Sw[e[1]]=e[0]});function V6(e,t,r){let n=jm(r),i=zm(n),o={};if(o.ts=new Date().toISOString(),o.event=t,Ev()){let a=vw[t];if(a!==void 0)o.event_canonical=a;else{let s=Sw[t];s!==void 0&&(o.event_legacy=s)}}Tw(i,(a,s)=>{o[s]=a});try{Tj.appendFileSync(e,JSON.stringify(o)+`
880
- `,"utf8");return}catch{return}}function nne(e){return e.summary}async function bw(e){let t=W6(e),r=t.switches.version,n=0;if(r!==void 0){if(r){process.stdout.write(Cv()+`
881
- `);return}n=1}else n=1;if(n===1){let i=t.switches.help,o=0;if(i!==void 0){if(i)return Wi("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 Wi("these connect flags are not yet implemented in the rescript commander: "+t.unknown.join(", "));let a=process.env,s=x(cs(t.values["api-url"],t.values["linzumi-url"]),$s),l=t.values.workspace,d=jc(a),u=zc(d,s,void 0);if(u.TAG!=="Ok")return Wi("could not resolve the commander id: "+u._0.summary);let c=u._0,f=await Nc({serviceUrl:s,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:L=>{fr(mk(L)+`
882
- `)}},void 0);if(f.TAG!=="Ok")return Wi("authentication failed: "+f._0.summary);let p=f._0,m=t.values.cwd,h=m!==void 0?js(a,m):process.cwd(),_=t.values["allowed-cwd"],g;if(_!==void 0)g=_.split(",").map(L=>L.trim()).filter(L=>L!=="").map(L=>js(a,L));else{let L=ek(d,s);g=L.TAG==="Ok"?L._0.allowedCwds:[]}let b=Ve([h].concat(g),[],(L,ae)=>L.includes(ae)?L:L.concat([ae])),y=l!==void 0?l:oP(p);if(y===void 0)return Wi("connect requires a workspace (pass --workspace or use a workspace-scoped token)");let v=(L,ae)=>{process.stdout.write(L+" "+JSON.stringify(ae)+`
883
- `)},S=t.values["log-file"],A;if(S!==void 0){let L=qt(Aj.dirname(S));L.TAG!=="Ok"&&fr("linzumi (rescript commander): could not create the --log-file directory ("+L._0.message+`); log writes will still be attempted
884
- `),A=(ae,U)=>{v(ae,U),V6(S,ae,U)}}else A=v;let R=$m(G(t.values["codex-bin"],L=>js(a,L)),Rm(),L=>{fr(L)},Im,a,void 0);if(R.TAG!=="Ok")return Wi(R._0);let Z=await xj({serviceUrl:s,token:p,commanderId:c,workspaceSlug:y,cwd:h,harnessUrl:t.values["codex-url"],harnessBin:R._0.codexBin,allowedCwds:b,approvalPolicy:t.values["approval-policy"],sandbox:t.values.sandbox,logFile:t.values["log-file"],codeServerBin:t.values["code-server-bin"],defaultModel:t.values.model,defaultReasoningEffort:t.values["reasoning-effort"]},A);if(Z.TAG!=="Ok")return Wi(Z._0);process.stdout.write("Connected to Linzumi (rescript commander "+ku()+") as "+c+`
885
- `);return}}}async function ine(e){let t=e[0];if(t===void 0)return Wi("the first-run guide is not yet implemented in the rescript commander; pass connect arguments or run the ts impl (LINZUMI_COMMANDER_IMPL=ts)");switch(t){case"--version":process.stdout.write(Cv()+`
886
- `);return;case"connect":case"local-codex-runner":break;case"mcp":let r=0,n;try{n=await KE(Fw(e)),r=2}catch(o){let a=ee(o);return fr("linzumi mcp server failed: "+gs(a)+`
887
- `),Jl(1)}if(r===2)return n.TAG==="Ok"?void 0:(fr("linzumi mcp server failed: "+n._0+`
888
- `),Jl(1));break;case"run":switch(II(process.env,!1)){case"ThreadWorkerRole":let o=await hj(e.slice(1,e.length));return o===0?void 0:Jl(o);case"SupervisorRole":case"CommanderRole":return await bw(e.slice(1))}case"start":return await bw(e.slice(1));default:return Wi('the "'+t+'" subcommand is not yet implemented in the rescript commander; run the ts impl (LINZUMI_COMMANDER_IMPL=ts)')}return e.length>1?await bw(e.slice(1)):Wi("the first-run guide is not yet implemented in the rescript commander; pass connect arguments or run the ts impl (LINZUMI_COMMANDER_IMPL=ts)")}var one=vw,ane=Sw;export{V6 as appendDriverLogLine,Z6 as connectSwitchFlags,U6 as connectValueFlags,one as logFileEventCanonicalByLegacy,ane as logFileEventLegacyByCanonical,ine as main,W6 as parseConnectFlags,Wi as refuse,bw as runConnect,nne as schemaFailureMessage};
875
+ </output_format>`}var hw="rescript";function H6(){return new Promise((e,t)=>{setTimeout(()=>e(),0)})}function Gn(e){return e!==void 0?e:null}function $p(e,t){return k(e[t],ke)}function jr(e,t){let r=e[t];if(typeof r=="string")return r}function Vl(e,t){let r=e[t];if(typeof r=="number")return r}function Le(e,t){let r=G(jr(e,t),n=>n.trim());if(r!==void 0&&r!=="")return r}function Tj(e){let t=Dn(e);return t.TAG==="Ok"?t._0:e}function Aj(e,t){let r=G(e,o=>o.trim());if(r===void 0)return{TAG:"RefusedCwd",reason:"missing_cwd"};if(r==="")return{TAG:"RefusedCwd",reason:"missing_cwd"};let n=Tj(r),i=t.find(o=>{let a=Tj(o);return n===a?!0:n.startsWith(a+jp.sep)});return i!==void 0?{TAG:"AllowedCwd",cwd:n,matchedRoot:i}:{TAG:"RefusedCwd",reason:"cwd_not_allowed"}}function yw(e){let t=e.agentProvider;if(t===void 0||typeof t!="string")return"CodexProvider";let r=t.trim();switch(r){case"claude-code":return"ClaudeCodeProvider";case"":case"codex":return"CodexProvider";default:return{TAG:"UnsupportedProvider",_0:r}}}function Oj(e){return typeof e!="object"&&e!=="CodexProvider"?"claude-code":"codex"}function B6(e){return typeof e!="object"&&e!=="CodexProvider"?"Claude Code":"Codex"}function Cj(e){return typeof e!="object"&&e!=="CodexProvider"?"Claude Code is not available on this computer. Reconnect a local runner with Claude Code auth and try again.":"Codex is not available on this computer. Reconnect a local runner with Codex support and try again."}function K6(e,t){let r=ER(t,240);switch(e){case"StartingCodexSession":return"Codex did not create a session. Restart the local runner and try again. Detail: "+r;case"StartingClaudeCodeSession":return"Claude Code did not create a session. Restart the local runner and try again. Detail: "+r;case"BindingThread":return"Codex started, but Linzumi could not attach it to this thread. Try starting the agent again; if it repeats, share this failed message with the runner owner. Detail: "+r;case"StartingFirstTurn":return"Codex started, but the first prompt could not be delivered. Try sending the message again; if it repeats, reconnect the local runner. Detail: "+r}}var J6="start_instance first turn requires a session-owned dispatch (bound Kandan thread session + sourceSeq); the sessionless degraded turn/start fallback was removed (type-2 fallback audit)";function bw(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&Ot(r))return r}function ea(e){let t=bw(e,"sourceSeq");return t!==void 0?t:bw(e,"rootSeq")}function _w(e,t,r,n,i,o){let a=ea(e);if(a===void 0)return{TAG:"Ok",_0:void 0};let s=l=>{let d=e[l];return d!==void 0&&typeof d=="string"&&d.trim()!==""?{TAG:"Ok",_0:d.trim()}:{TAG:"Error",_0:t+" control missing "+l}};return he(s("workspace"),l=>he(s("channel"),d=>wt(s("threadId"),u=>{let c={};c.workspace=l,c.channel=d,c.thread_id=u,c.instance_id=i,c.seq=a,c.status=r,c.reason=n,o!==void 0&&(c[Nn]=o);let f=yw(e);return typeof f!="object"&&f!=="CodexProvider"&&(c.agent_provider="claude-code"),c})))}function Mp(e,t,r,n,i){let o=(l,d)=>{let u=e[l];return typeof u=="string"?u:d},a=o("sandbox",r),s=de(e.sandboxedApprovalNeverDefault,!0);return wt(Kv(o("approvalPolicy",t),a,{sandboxedNeverDefault:s}),l=>({settingsModel:o("model",n),settingsReasoningEffort:o("reasoningEffort",i),settingsApprovalPolicy:l,settingsSandbox:a,settingsSandboxedNeverDefault:s,settingsFast:de(e.fast,!0)}))}function Y6(e){let t=[],r=e.settingsModel;r!==void 0&&t.push(["model",r]);let n=e.settingsReasoningEffort;n!==void 0&&t.push(["reasoningEffort",n]);let i=e.settingsApprovalPolicy;if(i!==void 0){let a=Vm(i,e.settingsSandbox,{sandboxedNeverDefault:e.settingsSandboxedNeverDefault});a.TAG==="Ok"&&t.push(["approvalPolicy",a._0])}let o=e.settingsSandbox;return o!==void 0&&t.push(["sandbox",o]),e.settingsFast&&t.push(["serviceTier","fast"]),t}function X6(e){return jp.join(e,".linzumi","commanderImplFallback.json")}function Ej(e){let t=ta.homedir(),r=RI(fS(t),e),n;return n=r.TAG==="Ok",n&&e==="Ts"&&pn(X6(t)),n}function Q6(e){let t=G(e.LINZUMI_CODEX_START_REQUEST_TIMEOUT_MS,n=>n.trim());if(t===void 0)return 12e4;let r=jn(t);return r!==void 0&&r>0?r:12e4}async function Pj(e,t){let r=process.env,n=bP(e.commanderId),i="codex-"+gw.randomUUID(),o=wu(e.token),a=Q6(r),s={contents:!1},l=Hm(LR(e.commanderId,r),t,void 0,void 0),d=Hm(UR(e.commanderId,r),t,!0,void 0),u=KR(Hm(WR(e.commanderId,r),t,void 0,!0)),c=BR(l,d,t,e.commanderId,e.serviceUrl),f={contents:e.allowedCwds},p=[],m={contents:(S,A)=>{p.push([S,A])}},h=e.harnessBin;h!==void 0&&await zR(h,e.cwd);let _=await u$(e.serviceUrl,{TAG:"Token",_0:e.token},void 0,{controlCursorStore:a$(l),controlEpochStore:s$(c),onOperatorNotice:S=>{},auditEvent:(S,A)=>t(S,A)});if(_.TAG!=="Ok")return{TAG:"Error",_0:ri(_._0)};let g=_._0;g.onControl((S,A)=>m.contents(S,A));let b=()=>{let S={};return S.codexAppServer=!0,S.commander_pipeline="pipeline",S.startInstance=f.contents.length!==0,S.allowedCwds=f.contents.map(A=>A),S},y=()=>vP({clientId:e.commanderId,machineFingerprint:void 0,machineFingerprintV2:void 0,runnerPid:process.pid,version:ku(),hostname:ta.hostname(),cwd:e.cwd,workspace:e.workspaceSlug,channel:void 0,capabilities:b(),generationOverlapEpoch:void 0}),v=await g.join(n,y(),{rejoinPayload:y,registrationId:void 0});if(v.TAG==="Ok"){let S=x(ke(v._0),{}),A=$p(S,"runner_config");if(A!==void 0){let V=A.allowedCwds;Array.isArray(V)&&(f.contents=Rc(V),t("runner.config_updated",Object.fromEntries([["source","join"],["configVersion",x(A.configVersion,null)],["allowedCwdCount",f.contents.length]])));let M=jr(A,"commander_impl");if(M!==void 0){let j=M.trim()==="rescript"?"Rescript":"Ts",re=fS(ta.homedir()),se=PI(re);if(!de(se,j)){let Ae=Ej(j);t("runner.commander_impl_assigned",Object.fromEntries([["impl",El(j)],["previousCache",Gn(G(se,El))],["persisted",Ae],["runningImpl",hw]]))}}}let R=$p(S,"compute_node");if(R!==void 0){let V=Vl(R,"reset_generation");t("runner.compute_node",Object.fromEntries([["id",Gn(jr(R,"id"))],["name",Gn(jr(R,"name"))],["identityQuality",Gn(jr(R,"identity_quality"))],["resetGeneration",V!==void 0?V:null]]))}let W=$p(S,"roster");if(W!==void 0){let V=$e(x(k(W.threads,Qi),[]),ke),M=Op(Yu("thread_id"));t("kandan.roster_seeded",Object.fromEntries([["source","join"],["thread_count",V.length],["truncated",x(W.truncated,!1)],["skipped_entries",0],["threads",V.map(N=>{let j={};return j[Yu("thread_id")]=x(N[M],null),j.provider_session_key=x(N.provider_session_key,null),j.channel_id=x(N.channel_id,null),j.title=x(N.title,null),j.channel_slug=x(N.channel_slug,null),j.cwd=x(N.cwd,null),j})]]))}let L=XR();JR(S.resume_reconcile).forEach(V=>{let M=V.leaseEpoch;if(M!==void 0&&L.adopt(V.threadId,M))return t("runner.resume_reconcile_lease_adopted",Object.fromEntries([[Op(Yu("thread_id")),V.threadId],["leaseEpoch",M]]))});let U=globalThis.__linzumiCommanderChooserMarkJoined;if(U!==void 0){let V;try{V=Yt(U())}catch{V=void 0}V!==void 0&&t("commander.chooser.fallback_reported",x(ke(V),{}))}let B=async V=>{let M=await qm(V,void 0,void 0,void 0);if(M.TAG!=="Ok")return{TAG:"Error",_0:"codex app-server connect failed: "+M._0};let N=await Lm(M._0,{audit:(j,re)=>t(j,re),onWire:(j,re)=>{},keepaliveIntervalMs:3e4});return N.TAG==="Ok"?{TAG:"Ok",_0:N._0}:{TAG:"Error",_0:"codex app-server handshake failed: "+N._0}},oe=e.harnessUrl,Z;if(oe!==void 0){let V=await B(oe);Z=V.TAG==="Ok"?{TAG:"Ok",_0:[V._0,oe,void 0]}:{TAG:"Error",_0:V._0}}else{let V=e.harnessBin;if(V!==void 0){let M=await pw(r,(N,j)=>t(N,j),{codexBin:V,cwd:e.cwd,serviceUrl:e.serviceUrl,token:e.token,agentMcpToken:void 0,devServicesScope:e.commanderId,devServicesOwnerPid:process.pid,threadId:void 0,model:void 0,reasoningEffort:void 0,fast:!1,provider:void 0});if(M.TAG==="Ok"){let N=M._0,j=await B(N.url);j.TAG==="Ok"?Z={TAG:"Ok",_0:[j._0,N.url,N]}:(N.stop(),Z={TAG:"Error",_0:j._0})}else Z={TAG:"Error",_0:M._0}}else Z={TAG:"Error",_0:"the differential commander requires codexUrl (no spawned harness binary)"}}if(Z.TAG==="Ok"){let V=Z._0,M=V[2],N=V[1],j=V[0],re=new Map,se={contents:0},Ae={contents:0},Ue=O=>(Ae.contents=Ae.contents+1|0,zn(O.then(()=>{Ae.contents=Ae.contents-1|0}),X=>(Ae.contents=Ae.contents-1|0,Promise.resolve()))),Ge=(O,X)=>Ue((async()=>{let J=await g.push(n,O,X,void 0);if(J.TAG!=="Ok")return t("kandan.event_push_failed",Object.fromEntries([["event",O],["message",ri(J._0)]]))})()),ut=async O=>{if(de(e.approvalPolicy,"never")&&de(e.sandbox,"danger-full-access")&&(O.method==="item/commandExecution/requestApproval"||O.method==="item/fileChange/requestApproval"))return t("codex.server_request_auto_accepted",Object.fromEntries([["method",O.method],["turn_id",Gn(k(k(O.params,ke),J=>jr(J,"turnId")))]])),Object.fromEntries([["decision","accept"]])};j!==void 0&&(j.onNotification(O=>{se.contents=se.contents+1;let X=x(k(O.params,ke),{}),J={};J.instanceId=i,J.seq=se.contents,J.method=O.method,J.params=X,J.receivedAt=new Date().toISOString(),Ge("codex_notification",J),t("codex.notification",Object.fromEntries([["method",O.method]])),re.values().toArray().forEach(K=>K.routeNotification(O.method,X))}),j.onRequest(ut),j.onClose(O=>{if(!s.contents){t("codex.app_server_connection_lost",Object.fromEntries([["cause",O]])),re.values().toArray().forEach(X=>X.failOnHarnessDeath(O));return}}));let ze=()=>{let O={};return O.instanceId=i,O.clientId=e.commanderId,N!==void 0&&(O.codexUrl=N),O.cwd=e.cwd,O.hostname=ta.hostname(),O.workspace=e.workspaceSlug,O.channel=null,O},pt=ze();pt.codexThreads=[],pt.tuiLaunched=!1,await Ge("instance_started",pt),t("runner.instance_started",Object.fromEntries([["runnerId",e.commanderId],["hostname",ta.hostname()],["workspace",e.workspaceSlug],["version",ku()],["instanceId",i],["codexUrl",Gn(N)]])),await Ge("heartbeat",ze());let Xe=setInterval(()=>{Ge("heartbeat",ze())},15e3);Xe.unref(),g.onReconnect(async O=>await Ge("heartbeat",ze()));let He={contents:void 0},It=(async()=>{try{let O=await AP();He.contents=EI({sdk:O,audit:(X,J)=>t(X,J),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"]]))}})(),Qe={targetHarness:"claude-code",model:void 0,targetAdapterAvailable:()=>Dt(He.contents)},q=async O=>await Ge("codex_response",O),Ee=async O=>{let X={};return X.instanceId=i,X.message=O,await Ge("codex_error",X)},ve=(O,X)=>VR(e.workspaceSlug,O,X),_e=async(O,X,J,K,w)=>{let C=Le(O,ls);if(C!==void 0){let I=Le(O,"threadId"),F=Le(O,"channel"),D=Le(O,"workspace"),ie=Le(O,"workDescription"),pe=Vl(O,"sourceSeq"),Fe=pe!==void 0?pe:Vl(O,"rootSeq"),Se=re.get(C),Ce;if(Se!==void 0)Ce={TAG:"Ok",_0:Se};else if(D!==void 0&&F!==void 0&&I!==void 0){let Pe=await dw({transport:g,commanderTopic:n,commanderId:e.commanderId,instanceId:i,harness:K,log:t,timers:ju,env:r,workspaceSlug:D,channelSlug:F,threadId:I,harnessSessionId:C,cwd:X,rootSeq:Vl(O,"rootSeq"),defaults:{approvalPolicy:e.approvalPolicy,sandbox:e.sandbox},actorSlug:o.actorUsername,actorUserId:o.actorUserId,leaseEpochFor:Oe=>L.current(Oe),commitAppliedSourceSeq:Oe=>{Au(u,ve(F,I),Oe,void 0),t("runner.live_worker_source_seq_committed",Object.fromEntries([["thread_id",I],["channel",F],["sourceSeq",Oe]]))},switchProbe:Qe});if(Pe.TAG==="Ok"){let Oe=Pe._0;re.set(C,Oe),w&&K.onNotification(Wt=>Oe.routeNotification(Wt.method,x(k(Wt.params,ke),{}))),Ce={TAG:"Ok",_0:Oe}}else Ce={TAG:"Error",_0:Pe._0}}else Ce={TAG:"Error",_0:"cannot reconnect a Kandan thread without a session"};if(Ce.TAG!=="Ok")return{TAG:"Error",_0:Ce._0};let Ie=Ce._0;if(ie!==void 0){if(Fe===void 0)return{TAG:"Error",_0:"cannot reconnect a Kandan thread without a session"};if(F!==void 0&&I!==void 0?!Bm(u.initial(ve(F,I)),Fe):!1){t("kandan.reconnect_thread_seq_already_applied",Object.fromEntries([["source_seq",Fe],[Nn,C]]));let Nt={};return Nt.instanceId=i,Nt.controlType="reconnect_thread",Nt.cwd=X,Nt.matchedRoot=J,Nt[ls]=C,Nt.duplicate=!0,{TAG:"Ok",_0:Nt}}let Oe=(Nt,ar,Gt)=>(async()=>{let Ft=await g.push(Nt,ar,x(ke(Gt),{}),void 0);return Ft.TAG==="Ok"?{TAG:"Ok",_0:Ft._0}:{TAG:"Error",_0:ri(Ft._0)}})(),Wt={workspace:D,channel:F,threadId:I},zt=await t$((Nt,ar)=>K.request(Nt,ar),ju,a,C,YM({approvalPolicy:e.approvalPolicy,sandbox:e.sandbox}),{forceRehydrate:de(O.sessionRehydrate,!0),buildRehydrationText:async Nt=>{let ar=await JI(Oe,n,Wt,t);return{TAG:"Ok",_0:YI(ar,Nt)}},buildRehydrationItems:async Nt=>{let ar=await e$(Oe,n,Wt,t);if(ar===void 0)return{TAG:"Ok",_0:void 0};if(ar.nodes.length===0)return{TAG:"Ok",_0:void 0};let Gt=qI(ar.nodes.map(XI),G(ar.budget,QI),Nt,ar.threadTitle);return t("kandan.reconnect_thread_rehydration_ir_emitted",Object.fromEntries([["linzumi_thread_id",I!==void 0?I:null],["codex_thread_id",C],["emitted_nodes",Gt.emittedNodeCount],["omitted_nodes",Gt.omittedNodeCount],["redacted_reasoning",Gt.redactedReasoningCount],["emitted_token_estimate",Gt.emittedTokenEstimate],["max_emission_tokens",Gt.maxEmissionTokens]])),{TAG:"Ok",_0:Gt.items}},log:t});if(zt.TAG!=="Ok")return{TAG:"Error",_0:zt._0.message};typeof zt._0=="object"&&await Ie.publishRebuilt(Fe);let gr=await Ie.runClaimedTurn(Fe,ie);if(gr.TAG!=="Ok")return{TAG:"Error",_0:gr._0};let or={};return or.instanceId=i,or.controlType="reconnect_thread",or.cwd=X,or.matchedRoot=J,or[ls]=C,{TAG:"Ok",_0:or}}let ft={};return ft.instanceId=i,ft.controlType="reconnect_thread",ft.cwd=X,ft.matchedRoot=J,ft[ls]=C,{TAG:"Ok",_0:ft}}let P={};return P.instanceId=i,P.controlType="reconnect_thread",P.ok=!1,P.error="missing_codex_thread_id",{TAG:"Ok",_0:P}},Be=new Map,Jt=new Map,fn=async O=>{if(typeof O=="object"||O==="CodexProvider")return!0;let X=e.claudeCodeAvailable;return X!==void 0?X:(await It,Dt(He.contents))},ki=async(O,X,J,K,w)=>{let C=_w(O,X,J,K,i,w);if(C.TAG!=="Ok")return{TAG:"Error",_0:C._0};let P=C._0;return P!==void 0?(await Ge("message_state",P),{TAG:"Ok",_0:void 0}):{TAG:"Ok",_0:void 0}},Fn=async(O,X)=>{let J=ea(O);if(J===void 0)return;let K=Le(O,"workspace"),w=Le(O,"channel"),C=Le(O,"threadId");if(K===void 0||w===void 0||C===void 0)return;let P={};return P.workspace=K,P.channel=w,P.thread_id=C,P.instance_id=i,P.seq=J,P.status="failed",P.reason=X,P.allowed_cwds=f.contents.map(I=>I),await Ge("message_state",P)},ii=O=>{switch(O){case"StartingCodexSession":return"starting_codex_session";case"StartingClaudeCodeSession":return"starting_claude_code_session";case"BindingThread":return["binding_","kandan","_thread"].join("");case"StartingFirstTurn":return"starting_first_turn"}},Vr=async(O,X,J,K,w)=>{let C=X==="reconnect_thread"?"kandan.reconnect_thread_failed":"kandan.start_instance_failed",P=ea(O);return t(C,Object.fromEntries([["stage",ii(J)],["message",K],["thread_id",Gn(Le(O,"threadId"))],["source_seq",P!==void 0?P:null],[Nn,Gn(w)]])),await ki(O,X,"failed",K6(J,K),w),{TAG:"Error",_0:K}},_o=async(O,X,J,K,w,C)=>{let P=e.harnessBin;if(P===void 0)return{TAG:"Error",_0:"shared codex app-server connection is unavailable"};let I=Mp(O,e.approvalPolicy,e.sandbox,e.defaultModel,e.defaultReasoningEffort);if(I.TAG!=="Ok")return{TAG:"Error",_0:I._0};let F=I._0,D=new Set,ie=[J].concat(f.contents).filter(Ft=>D.has(Ft)?!1:(D.add(Ft),!0)),pe=X==="start_instance"?pS(jr(O,"executionMode")):void 0,Fe=X==="start_instance"?hS(jr(O,"egressMode")):void 0,Se=X==="start_instance"?Le(O,"projectPublicId"):void 0,Ce=X==="start_instance"?Le(O,"goldenImagePublicId"):void 0,Ie=e.serviceUrl,ft=e.token,Pe=K,Oe=e.logFile,Wt=F.settingsFast,zt=[],br=e.codeServerBin,gr={model:F.settingsModel,reasoningEffort:F.settingsReasoningEffort,sandbox:F.settingsSandbox,approvalPolicy:F.settingsApprovalPolicy,allowPortForwardingByDefault:!0},or=k(k(O.linzumiAgent,ke),Ft=>Le(Ft,"mcpToken")),Nt={kandanUrl:Ie,token:ft,cwd:J,codexBin:P,kandanThreadId:w,workspaceSlug:Pe,logFile:Oe,debugTrace:void 0,fast:Wt,allowedCwds:ie,allowedForwardPorts:zt,codeServerBin:br,runtimeDefaults:gr,codexModelProvider:C,vmExecution:!1,executionMode:pe,egressMode:Fe,projectPublicId:Se,goldenImagePublicId:Ce,linzumiAgentMcpToken:or};t("runner.thread_process_starting",Object.fromEntries([["kandanThreadId",w],["cwd",J],["readyTimeoutMs",RR]]));let ar=await jR(Nt,(Ft,vr)=>t(Ft,vr));if(ar.TAG==="Ok"){let Ft=ar._0;Be.set(w,Ft);let vr=Ft.pid;return Ft.onExit(()=>{let Hr=Be.get(w);if(Hr!==void 0&&de(Hr.pid,vr)){Be.delete(w);return}}),Ft.client.onRequest(ut),t("runner.thread_process_started",Object.fromEntries([["kandanThreadId",w],["cwd",J]])),{TAG:"Ok",_0:Ft}}let Gt=ar._0;return t("runner.thread_process_start_failed",Object.fromEntries([["kandanThreadId",w],["cwd",J],["message",Gt]])),{TAG:"Error",_0:Gt}},ra=O=>rc(Be.get(O),X=>!X.client.isClosed()),tn=(O,X,J)=>{let K={};return K.instanceId=i,K.controlType=O,K.ok=!0,K.delegated=!0,K.threadProcess="already_started",K.kandanThreadId=X,K.cwd=J,K},H=async(O,X,J,K,w)=>{let C=Le(O,"developerPrompt"),P=kj(O.linzumiContext,vr=>{mr(vr+`
876
+ `)}),I=Mp(O,e.approvalPolicy,e.sandbox,e.defaultModel,e.defaultReasoningEffort);if(I.TAG!=="Ok")return await Vr(O,"start_instance","StartingCodexSession",I._0,void 0);let F=I._0,D=Le(O,"projectSharedInstructions"),ie=Le(O,"projectPersonalInstructions"),pe=Le(O,"projectMemory"),Fe=Dt(O.projectId)||Dt(O.projectPublicId)||Dt(D)||Dt(ie)||Dt(pe),Se=xj({cwd:X,agentLabel:void 0,planTool:"LinzumiMcpPlanTool",mcpAvailable:!0,devServicesAvailable:!0,developerPrompt:C,projectSharedInstructions:D,projectPersonalInstructions:ie,projectMemory:pe,projectBound:Fe,linzumiContext:P}),Ce={};Ce.cwd=X,Ce.serviceName=GR,Ce.personality=FR,Ce.developerInstructions=Se,Y6(F).forEach(vr=>{Ce[vr[0]]=vr[1]});let Ie=await wS(ju,a,"thread/start",K.request("thread/start",Ce));if(Ie.TAG!=="Ok")return await Vr(O,"start_instance","StartingCodexSession",Ie._0,void 0);let ft=Ie._0;if(ft.TAG!=="ResultReply")return await Vr(O,"start_instance","StartingCodexSession","thread/start failed: "+ft.message,void 0);let Pe=ft._0,Oe=k(k(ke(Pe),vr=>$p(vr,"thread")),vr=>Le(vr,"id")),Wt=Le(O,"workDescription");if(Oe!==void 0&&C!==void 0){let vr=Le(O,"workspace"),Hr=Le(O,"channel"),oi=Le(O,"threadId");if(vr!==void 0&&Hr!==void 0&&oi!==void 0){let ai={};ai.event_type="codex_start_instructions",ai[Nn]=Oe,ai.instructions_body=C;let Bl=Le(O,"modelProvider");Bl!==void 0&&(ai.model_provider=Bl);let Kl=Le(O,"model");Kl!==void 0&&(ai.model=Kl);let ds={};ds.workspace=vr,ds.channel=Hr,ds.thread_id=oi,ds.body=`Starting a new Codex thread with instructions:
877
+
878
+ `+C,ds.payload=Object.fromEntries([["metadata",Object.fromEntries([["local_codex_runner",ai]])]]),await Ge("session:post_thread_message",ds)}}let zt=Le(O,"workspace"),br=Le(O,"channel"),gr=Le(O,"threadId"),or;if(Oe!==void 0&&zt!==void 0&&br!==void 0&&gr!==void 0){let vr=await dw({transport:g,commanderTopic:n,commanderId:e.commanderId,instanceId:i,harness:K,log:t,timers:ju,env:r,workspaceSlug:zt,channelSlug:br,threadId:gr,harnessSessionId:Oe,cwd:X,rootSeq:bw(O,"rootSeq"),defaults:{approvalPolicy:e.approvalPolicy,sandbox:e.sandbox,model:F.settingsModel,reasoningEffort:F.settingsReasoningEffort},actorSlug:o.actorUsername,actorUserId:o.actorUserId,leaseEpochFor:Hr=>L.current(Hr),commitAppliedSourceSeq:Hr=>{Au(u,ve(br,gr),Hr,void 0),t("runner.live_worker_source_seq_committed",Object.fromEntries([["thread_id",gr],["channel",br],["sourceSeq",Hr]]))},switchProbe:Qe});if(vr.TAG==="Ok"){let Hr=vr._0;re.set(Oe,Hr),w&&K.onNotification(oi=>Hr.routeNotification(oi.method,x(k(oi.params,ke),{}))),or={TAG:"Ok",_0:Hr}}else or={TAG:"Error",_0:vr._0}}else or={TAG:"Ok",_0:void 0};if(or.TAG!=="Ok")return await Vr(O,"start_instance","BindingThread",or._0,Oe);let Nt=or._0,ar=ea(O),Gt=Oe!==void 0&&Wt!==void 0?Nt!==void 0&&ar!==void 0?await Nt.runClaimedTurn(ar,Wt):{TAG:"Error",_0:J6}:{TAG:"Ok",_0:void 0};if(Gt.TAG!=="Ok")return await Vr(O,"start_instance","StartingFirstTurn",Gt._0,Oe);let Ft={};return Ft.instanceId=i,Ft.controlType="start_instance",Ft.cwd=X,Ft.matchedRoot=J,Ft.response=Pe,{TAG:"Ok",_0:Ft}},te=(O,X)=>{let J=Gc(e.serviceUrl,e.token,void 0,new Date);if(J.TAG==="Ok"){let K=J._0,w=Vc(process.execPath,process.argv[1],process.execArgv),C=wu(e.token),P=Zs({command:w.command,argsPrefix:w.argsPrefix,serviceUrl:e.serviceUrl,authFilePath:K.path,ownerUsername:C.actorUsername,operatingMode:"Text",cwd:O,threadId:X,devServices:{scope:e.commanderId,ownerPid:process.pid}});return{servers:cx(P),cleanup:K.cleanup}}t("claude_code.mcp_config_failed",Object.fromEntries([["message",J._0.summary],["thread_id",X]]))},ne=(O,X,J,K,w,C,P,I)=>({adapter:I,pushEvent:Ge,log:t,workspace:J,channel:K,threadId:w,cwd:X,sourceSeq:ea(O),model:P.settingsModel,approvalPolicy:P.settingsApprovalPolicy,sandbox:P.settingsSandbox,workDescription:C,mcp:te(X,w)}),Ke=O=>{let X=Le(O,"channel"),J=Le(O,"threadId"),K=ea(O);if(X!==void 0&&J!==void 0&&K!==void 0)return Au(u,ve(X,J),K,void 0),t("runner.live_worker_source_seq_committed",Object.fromEntries([["thread_id",J],["channel",X],["sourceSeq",K]]))},tt=(O,X,J,K)=>{let w={};return w.instanceId=i,w.controlType=O,w.agentProvider="claude-code",w.cwd=X,w.matchedRoot=J,w.response=Object.fromEntries([["session",Object.fromEntries([["id",K]])]]),w},at=async(O,X,J)=>{await It;let K=Fe=>Vr(O,"start_instance","StartingClaudeCodeSession",Fe,void 0),w=He.contents;if(w===void 0)return await K("claude-agent-sdk module not resolvable");let C=Le(O,"workspace"),P=Le(O,"channel"),I=Le(O,"threadId"),F=Le(O,"workDescription");if(C===void 0)return await K("start_instance control missing workspace");if(P===void 0)return await K("start_instance control missing channel");if(I===void 0)return await K("start_instance control missing threadId");if(F===void 0)return await K("start_instance control missing workDescription");let D=Mp(O,e.approvalPolicy,e.sandbox,e.defaultModel,e.defaultReasoningEffort);if(D.TAG!=="Ok")return await K(D._0);let ie=await y$(ne(O,X,C,P,I,F,D._0,w));if(ie.TAG!=="Ok")return await K(ie._0);let pe=ie._0;return Jt.set(pe.harnessSessionId,pe),Ke(O),{TAG:"Ok",_0:tt("start_instance",X,J,pe.harnessSessionId)}},ct=async(O,X,J)=>{await It;let K=Le(O,ls);if(K!==void 0){let C=Pe=>Vr(O,"reconnect_thread","StartingClaudeCodeSession",Pe,K),P=He.contents;if(P===void 0)return await C("claude-agent-sdk module not resolvable");let I=Le(O,"workspace"),F=Le(O,"channel"),D=Le(O,"threadId"),ie=Le(O,"workDescription");if(I===void 0)return await C("start_instance control missing workDescription");if(F===void 0)return await C("start_instance control missing workDescription");if(D===void 0)return await C("start_instance control missing workDescription");if(ie===void 0)return await C("start_instance control missing workDescription");let pe=ea(O);if(pe!==void 0?!Bm(u.initial(ve(F,D)),pe):!1){let Pe=ea(O);t("claude_code.replayed_turn_already_applied_ignored",Object.fromEntries([["linzumi_thread_id",D],["claude_session_id",K],["source_seq",Pe!==void 0?Pe:null]]));let Oe={};return Oe.instanceId=i,Oe.controlType="reconnect_thread",Oe.agentProvider="claude-code",Oe.cwd=X,Oe.matchedRoot=J,Oe[ls]=K,Oe.queuedInput=!0,Oe.duplicate=!0,{TAG:"Ok",_0:Oe}}let Se=_w(O,"reconnect_thread","processing","resuming Claude Code session",i,K);if(Se.TAG==="Ok"){let Pe=Se._0;Pe!==void 0&&Ge("message_state",Pe)}let Ce=Mp(O,e.approvalPolicy,e.sandbox,e.defaultModel,e.defaultReasoningEffort);if(Ce.TAG!=="Ok")return await C(Ce._0);let Ie=await b$(ne(O,X,I,F,D,ie,Ce._0,P),K);if(Ie.TAG!=="Ok")return await C(Ie._0);let ft=Ie._0;return Jt.set(ft.harnessSessionId,ft),Ke(O),{TAG:"Ok",_0:tt("reconnect_thread",X,J,ft.harnessSessionId)}}let w={};return w.instanceId=i,w.controlType="reconnect_thread",w.ok=!1,w.error="missing_codex_thread_id",{TAG:"Ok",_0:w}},Pt=async O=>{let X=Aj(jr(O,"cwd"),f.contents);if(X.TAG==="AllowedCwd"){let J=X.matchedRoot,K=X.cwd,w=yw(O),C=await fn(w),P=0;if(typeof w!="object")P=1;else{let I={};return I.instanceId=i,I.controlType="reconnect_thread",I.ok=!1,I.error="agent_provider_unsupported:"+w._0,{TAG:"Ok",_0:I}}if(P===1)if(C){if(typeof w!="object"){if(w!=="CodexProvider")return await ct(O,K,J);if(e.harnessUrl!==void 0)return j!==void 0?await _e(O,K,J,j,!1):{TAG:"Error",_0:"shared codex app-server connection is unavailable"};let F=Le(O,"workspace"),D=Le(O,"channel"),ie=Le(O,"threadId"),pe=0;if(F!==void 0&&D!==void 0&&ie!==void 0){if(ra(ie)!==void 0)return{TAG:"Ok",_0:tn("reconnect_thread",ie,K)};let Se=Zl(O),Ce=0;if(typeof Se!="object"||Se.TAG==="Provider")Ce=3;else{let Ie={};return Ie.instanceId=i,Ie.controlType="reconnect_thread",Ie.ok=!1,Ie.error=Se._0,Ie.kandanThreadId=ie,Ie.cwd=K,{TAG:"Ok",_0:Ie}}if(Ce===3){let Ie=Zl(O),ft;ft=typeof Ie!="object"||Ie.TAG!=="Provider"?void 0:Ie._0;let Pe=await _o(O,"reconnect_thread",K,F,ie,ft);return Pe.TAG==="Ok"?await _e(O,K,J,Pe._0.client,!0):{TAG:"Error",_0:Pe._0}}}else pe=2;if(pe===2)return j!==void 0?await _e(O,K,J,j,!1):{TAG:"Error",_0:"cannot reconnect a Kandan thread without a session"}}}else{await ki(O,"reconnect_thread","failed",Cj(w),void 0);let I={};return I.instanceId=i,I.controlType="reconnect_thread",I.ok=!1,I.error="agent_provider_unavailable:"+Oj(w),{TAG:"Ok",_0:I}}}else{let J=X.reason;await Fn(O,J);let K={};return K.instanceId=i,K.controlType="reconnect_thread",K.requestId=Gn(jr(O,"requestId")),K.ok=!1,K.error=J,K.allowedCwds=f.contents.map(w=>w),{TAG:"Ok",_0:K}}},vt={contents:void 0},Ct=async(O,X,J)=>{let K=async()=>{if(j===void 0)return{TAG:"Error",_0:"shared codex app-server connection is unavailable"};let Se=Zl(O),Ce;if(typeof Se!="object")Ce=void 0;else if(Se.TAG==="Provider")if(Se._0.provider==="wafer")Ce="wafer_model_provider_requires_thread_worker";else{let Pe=G(r.OPENAI_API_KEY,Oe=>Oe.trim());Ce=Pe!==void 0&&Pe!==""?"llm_proxy_model_provider_requires_thread_worker":"codex llm proxy requires API-key auth (OPENAI_API_KEY in the environment or $CODEX_HOME/auth.json); ChatGPT OAuth credentials cannot be forwarded"}else Ce=Se._0;if(Ce===void 0)return await H(O,X,J,j,!1);await ki(O,"start_instance","failed",Ce,void 0);let Ie={};return Ie.instanceId=i,Ie.controlType="start_instance",Ie.ok=!1,Ie.error=Ce,{TAG:"Ok",_0:Ie}};if(e.harnessUrl!==void 0)return await K();let C=Le(O,"workspace"),P=Le(O,"channel"),I=Le(O,"threadId");if(C===void 0)return await K();if(P===void 0)return await K();if(I===void 0)return await K();if(ra(I)!==void 0)return{TAG:"Ok",_0:tn("start_instance",I,X)};let D=Zl(O);if(typeof D=="object"&&D.TAG!=="Provider"){let Se={};return Se.instanceId=i,Se.controlType="start_instance",Se.ok=!1,Se.error=D._0,Se.kandanThreadId=I,Se.cwd=X,{TAG:"Ok",_0:Se}}let ie=Zl(O),pe;pe=typeof ie!="object"||ie.TAG!=="Provider"?void 0:ie._0;let Fe=await _o(O,"start_instance",X,C,I,pe);return Fe.TAG==="Ok"?await H(O,X,X,Fe._0.client,!0):await Vr(O,"start_instance","StartingCodexSession",Fe._0,void 0)},go=()=>{let O=vt.contents;if(O!==void 0)return O;let X=(async()=>{s.contents=!0,clearInterval(Xe);let J=0,K=0;for(;J<3&&K<2e3;)K=K+1|0,J=Ae.contents===0?J+1|0:0,await H6();let w=re.values().toArray();for(let P=0,I=w.length;P<I;++P){let F=w[P];F!==void 0&&await F.close()}let C=Jt.values().toArray();for(let P=0,I=C.length;P<I;++P){let F=C[P];F!==void 0&&await F.stop()}return Be.values().toArray().forEach(P=>P.close()),j!==void 0&&j.close(),M!==void 0&&M.stop(),g.close(),l.flush(),d.flush()})();return vt.contents=X,X},na=async O=>{let X=Aj(jr(O,"cwd"),f.contents),J=yw(O);if(typeof J=="object"){let C={};return C.instanceId=i,C.controlType="start_instance",C.ok=!1,C.error="agent_provider_unsupported:"+J._0,{TAG:"Ok",_0:C}}if(X.TAG==="AllowedCwd"){let C=X.matchedRoot,P=X.cwd;if(await fn(J)){let F=_w(O,"start_instance","processing","starting "+B6(J)+" session",i,void 0);if(F.TAG!=="Ok")return{TAG:"Error",_0:F._0};let D=F._0;return D!==void 0&&Ge("message_state",D),typeof J!="object"?J==="CodexProvider"?await Ct(O,P,C):await at(O,P,C):await Ct(O,P,C)}await ki(O,"start_instance","failed",Cj(J),void 0);let I={};return I.instanceId=i,I.controlType="start_instance",I.ok=!1,I.error="agent_provider_unavailable:"+Oj(J),{TAG:"Ok",_0:I}}let K=X.reason;t("kandan.start_instance_cwd_rejected",Object.fromEntries([["thread_id",Gn(Le(O,"threadId"))],["reason",K],["allowedCwdCount",f.contents.length]])),await Fn(O,K);let w={};return w.instanceId=i,w.controlType="start_instance",w.requestId=Gn(jr(O,"requestId")),w.ok=!1,w.error=K,w.allowedCwds=f.contents.map(C=>C),{TAG:"Ok",_0:w}},Hl=async O=>{if(j===void 0)return{TAG:"Error",_0:"shared codex app-server connection is unavailable"};let X={},J=jr(O,"threadId");J!==void 0&&(X.threadId=J);let K=O.input;K!==void 0&&(X.input=K);let w=await j.request("turn/start",X);if(w.TAG!=="Ok")return{TAG:"Error",_0:w._0};let C=w._0;if(C.TAG!=="ResultReply")return{TAG:"Error",_0:C.message};let P={};return P.instanceId=i,P.controlType="start_turn",P.response=C._0,{TAG:"Ok",_0:P}},kw=async O=>{let X=Le(O,"harnessSessionId");if(X===void 0)return{TAG:"Error",_0:"invoke_cross_harness_switch requires the source harness session id"};let J=re.get(X);if(J===void 0)return{TAG:"Error",_0:"no attached session for the requested cross-harness switch"};let K=Le(O,"targetHarness");if(K!==void 0&&K!=="claude-code")return{TAG:"Error",_0:"unsupported switch target for this session's harness: "+K};let w=Le(O,"model");if(w===void 0)return{TAG:"Error",_0:"invoke_cross_harness_switch requires an explicit model (D39)"};let C=Le(O,"targetSessionId"),P=C!==void 0?C:gw.randomUUID(),I=await J.invokeCrossHarnessSwitch(Vl(O,"sourceSeq"),w,P,He.contents,ta.homedir());if(I.TAG!=="Ok")return{TAG:"Error",_0:I._0};let F={};return F.instanceId=i,F.controlType="invoke_cross_harness_switch",F.harnessSessionId=X,Object.entries(I._0).forEach(D=>{F[D[0]]=D[1]}),{TAG:"Ok",_0:F}},zp=(O,X)=>VI(x(k(ke(O),J=>jr(J,"type")),"unknown"),()=>{let J=x(ke(O),{});t("kandan.control",Object.fromEntries([["control",O]]));let K=jr(J,"type");if(K===void 0)return{TAG:"Returned",_0:void 0};switch(K){case"replace_runner":return t("runner.replaced",Object.fromEntries([["runnerId",e.commanderId],["reason",x(J.reason,null)],["replacementRunnerId",x(J.replacementRunnerId,null)],["replacementVersion",x(J.replacementVersion,null)]])),go(),{TAG:"Returned",_0:void 0};case"set_commander_impl":let w=jr(J,"impl"),C=k(w,cS);if(C!==void 0){let pe=Ej(C),Fe=El(C)!==hw,Se=de(r.LINZUMI_SUPERVISED,"1")&&process.platform!=="win32";return t("runner.commander_impl_persisted",Object.fromEntries([["impl",El(C)],["persisted",pe],["runningImpl",hw],["restart",Fe?Se?"graceful_drain":"deferred_to_next_launch":"not_needed"]])),Fe&&Se&&Vi(process.pid,"SIGUSR2"),{TAG:"Returned",_0:void 0}}return t("runner.commander_impl_control_ignored",Object.fromEntries([["impl",Gn(w)],["reason","unknown_impl_value"]])),{TAG:"Returned",_0:void 0};default:let P=jr(J,"instanceId");if(P!==void 0&&P!==i)return t("kandan.control_ignored",Object.fromEntries([["reason","instance_id_mismatch"],["instanceId",i],["controlInstanceId",Gn(jr(J,"instanceId"))],["controlType",K]])),{TAG:"Returned",_0:void 0};let I=Vl(J,"control_seq"),F;if(K==="start_turn"&&I!==void 0){let pe=ZR(n,x(jr(J,"threadId"),"undefined"));F=WI(d.initial(pe),I)?"SkipReplayedStartTurn":{TAG:"Dispatch",commit:()=>ZI({onAdvance:d.onAdvance,flush:d.flush},pe,I)}}else F={TAG:"Dispatch",commit:void 0};if(typeof F!="object")return t("kandan.start_turn_replay_skipped",Object.fromEntries([["controlType",K],["controlSeq",x(J.control_seq,null)]])),{TAG:"Returned",_0:void 0};let D=F.commit,ie=(async()=>{let pe;switch(K){case"invoke_cross_harness_switch":pe=await kw(J);break;case"reconnect_thread":pe=await Pt(J);break;case"start_instance":pe=await na(J);break;case"start_turn":pe=await Hl(J);break;default:pe={TAG:"Error",_0:"unsupported control type for this commander: "+K}}return pe.TAG==="Ok"?(D!==void 0&&D(),await q(pe._0)):await Ee(pe._0),null})();return Ue(ie.then(pe=>{})),{TAG:"Pending",_0:ie}}},X,t,void 0);m.contents=zp;let xw=p.slice();return p.splice(0,p.length),xw.forEach(O=>zp(O[0],O[1])),{TAG:"Ok",_0:{close:()=>go()}}}return g.close(),{TAG:"Error",_0:Z._0}}return g.close(),{TAG:"Error",_0:ri(v._0)}}function Zi(e){mr("linzumi (rescript commander): "+e+`
879
+ `),Jl(1)}var t5=["workspace","channel","api-url","linzumi-url","token","auth-file","cwd","allowed-cwd","codex-url","codex-bin","approval-policy","sandbox","code-server-bin","log-file","model","reasoning-effort","model-provider","llm-proxy-base-url"],r5=["version","help","launch-tui","fast","no-onboarding-discovery","allow-port-forwarding-by-default"];function n5(e){let t={},r={},n=[],i=0;for(;i<e.length;){let o=x(e[i],"");if(o.startsWith("--")){let a=o.slice(2,o.length),s=r5.includes(a),l=t5.includes(a);if(s)r[a]=!0,i=i+1|0;else if(l){let d=e[i+1|0];d!==void 0?t[a]=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}}var Sw={};Av.forEach(e=>{Sw[e[0]]=e[1]});var ww={};Av.forEach(e=>{ww[e[1]]=e[0]});function i5(e,t,r){let n=jm(r),i=zm(n),o={};if(o.ts=new Date().toISOString(),o.event=t,Pv()){let a=Sw[t];if(a!==void 0)o.event_canonical=a;else{let s=ww[t];s!==void 0&&(o.event_legacy=s)}}Aw(i,(a,s)=>{o[s]=a});try{Rj.appendFileSync(e,JSON.stringify(o)+`
880
+ `,"utf8");return}catch{return}}function hne(e){return e.summary}async function vw(e){let t=n5(e),r=t.switches.version,n=0;if(r!==void 0){if(r){process.stdout.write(Ev()+`
881
+ `);return}n=1}else n=1;if(n===1){let i=t.switches.help,o=0;if(i!==void 0){if(i)return Zi("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 Zi("these connect flags are not yet implemented in the rescript commander: "+t.unknown.join(", "));let a=process.env,s=x(cs(t.values["api-url"],t.values["linzumi-url"]),$s),l=t.values.workspace,d=jc(a),u=zc(d,s,void 0);if(u.TAG!=="Ok")return Zi("could not resolve the commander id: "+u._0.summary);let c=u._0,f=await Nc({serviceUrl:s,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:L=>{mr(pk(L)+`
882
+ `)}},void 0);if(f.TAG!=="Ok")return Zi("authentication failed: "+f._0.summary);let p=f._0,m=t.values.cwd,h=m!==void 0?js(a,m):process.cwd(),_=t.values["allowed-cwd"],g;if(_!==void 0)g=_.split(",").map(L=>L.trim()).filter(L=>L!=="").map(L=>js(a,L));else{let L=tk(d,s);g=L.TAG==="Ok"?L._0.allowedCwds:[]}let b=Ve([h].concat(g),[],(L,ae)=>L.includes(ae)?L:L.concat([ae])),y=l!==void 0?l:aP(p);if(y===void 0)return Zi("connect requires a workspace (pass --workspace or use a workspace-scoped token)");let v=(L,ae)=>{process.stdout.write(L+" "+JSON.stringify(ae)+`
883
+ `)},S=t.values["log-file"],A;if(S!==void 0){let L=qt(Ij.dirname(S));L.TAG!=="Ok"&&mr("linzumi (rescript commander): could not create the --log-file directory ("+L._0.message+`); log writes will still be attempted
884
+ `),A=(ae,U)=>{v(ae,U),i5(S,ae,U)}}else A=v;let R=$m(G(t.values["codex-bin"],L=>js(a,L)),Rm(),L=>{mr(L)},Im,a,void 0);if(R.TAG!=="Ok")return Zi(R._0);let W=await Pj({serviceUrl:s,token:p,commanderId:c,workspaceSlug:y,cwd:h,harnessUrl:t.values["codex-url"],harnessBin:R._0.codexBin,allowedCwds:b,approvalPolicy:t.values["approval-policy"],sandbox:t.values.sandbox,logFile:t.values["log-file"],codeServerBin:t.values["code-server-bin"],defaultModel:t.values.model,defaultReasoningEffort:t.values["reasoning-effort"]},A);if(W.TAG!=="Ok")return Zi(W._0);process.stdout.write("Connected to Linzumi (rescript commander "+ku()+") as "+c+`
885
+ `);return}}}async function _ne(e){let t=e[0];if(t===void 0)return Zi("the first-run guide is not yet implemented in the rescript commander; pass connect arguments or run the ts impl (LINZUMI_COMMANDER_IMPL=ts)");switch(t){case"--version":process.stdout.write(Ev()+`
886
+ `);return;case"connect":case"local-codex-runner":break;case"mcp":let r=0,n;try{n=await JE(Dw(e)),r=2}catch(o){let a=ee(o);return mr("linzumi mcp server failed: "+gs(a)+`
887
+ `),Jl(1)}if(r===2)return n.TAG==="Ok"?void 0:(mr("linzumi mcp server failed: "+n._0+`
888
+ `),Jl(1));break;case"run":switch($I(process.env,!1)){case"ThreadWorkerRole":let o=await Sj(e.slice(1,e.length));return o===0?void 0:Jl(o);case"SupervisorRole":case"CommanderRole":return await vw(e.slice(1))}case"start":return await vw(e.slice(1));default:return Zi('the "'+t+'" subcommand is not yet implemented in the rescript commander; run the ts impl (LINZUMI_COMMANDER_IMPL=ts)')}return e.length>1?await vw(e.slice(1)):Zi("the first-run guide is not yet implemented in the rescript commander; pass connect arguments or run the ts impl (LINZUMI_COMMANDER_IMPL=ts)")}var gne=Sw,yne=ww;export{i5 as appendDriverLogLine,r5 as connectSwitchFlags,t5 as connectValueFlags,gne as logFileEventCanonicalByLegacy,yne as logFileEventLegacyByCanonical,_ne as main,n5 as parseConnectFlags,Zi as refuse,vw as runConnect,hne as schemaFailureMessage};